找回密码
 点一下
楼主: yeeboys

单位问题

[复制链接]
 楼主| 发表于 2013-5-2 23:29:45 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-2 23:24
只测试会不会掉线的话……

事件:游戏过去1秒


魔兽双开联机下载过n个,没一个能用,你有可用的多开器吗?
如何播放游戏内置的音乐,我只会播放导入的
还有大师qq多少
回复

使用道具 举报

发表于 2013-5-2 23:46:10 | 显示全部楼层
本帖最后由 chyj4747 于 2013-5-2 23:50 编辑
yeeboys 发表于 2013-5-2 23:29
魔兽双开联机下载过n个,没一个能用,你有可用的多开器吗?
如何播放游戏内置的音乐,我只会播放导入的 ...


要看你系统了。。magic loader在win7某次更新后就不能用了……
如果不能双开的话那就找个朋友什么的两台电脑局域网测吧,或者平台测试
不管是不是内置声音都要在声音编辑器里设置变量的

qq的话还是算了。。你就发论坛吧,论坛人也多

点评

xp的,loader也不能用  详情 回复 发表于 2013-5-2 23:50
回复

使用道具 举报

 楼主| 发表于 2013-5-2 23:50:46 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-2 23:46
要看你系统了。。magic loader在win7某次更新后就不能用了……
如果不能双开的话那就找个朋友什么的两台 ...

xp的,loader也不能用
回复

使用道具 举报

发表于 2013-5-2 23:51:56 | 显示全部楼层
yeeboys 发表于 2013-5-2 23:50
xp的,loader也不能用

xp应该能用吧,version.dll或winmm.dll删掉其中一个试试

点评

根本打不开,删系统文件?  详情 回复 发表于 2013-5-2 23:55
回复

使用道具 举报

 楼主| 发表于 2013-5-2 23:55:47 来自手机 | 显示全部楼层
本帖最后由 yeeboys 于 2013-5-2 23:56 编辑
chyj4747 发表于 2013-5-2 23:51
xp应该能用吧,version.dll或winmm.dll删掉其中一个试试


根本打不开,删系统文件?你用ydwe吗?
回复

使用道具 举报

发表于 2013-5-2 23:59:30 | 显示全部楼层
yeeboys 发表于 2013-5-2 23:55
根本打不开,删系统文件?你用ydwe吗?

哈?……

magic loader跟WE有什么关系……magic loader是自动判断魔兽启动然后自行运作的。。
另外version.dll和winmm.dll不是系统文件……是magic loader的动态库而已

点评

没关系,我只是问问你用什么编辑器,我用yd发现一些问题,想讨论  详情 回复 发表于 2013-5-3 00:05
回复

使用道具 举报

 楼主| 发表于 2013-5-3 00:05:02 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-2 23:59
哈?……

magic loader跟WE有什么关系……magic loader是自动判断魔兽启动然后自行运作的。。

没关系,我只是问问你用什么编辑器,我用yd发现一些问题,想讨论
回复

使用道具 举报

发表于 2013-5-3 00:10:01 | 显示全部楼层
yeeboys 发表于 2013-5-3 00:05
没关系,我只是问问你用什么编辑器,我用yd发现一些问题,想讨论

YD怎么了?……

点评

bug....设置单位捡到物品+物品自定义值*50生命上限 丢掉和抵押则-,我一直测试,发现丢掉会恢复正常生命值,可是抵押几次以后,生命值减少了,以至于死了,然后复活以后的生命值超过42亿多  详情 回复 发表于 2013-5-3 01:51
回复

使用道具 举报

 楼主| 发表于 2013-5-3 01:51:38 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-3 00:10
YD怎么了?……

bug....设置单位捡到物品+物品自定义值*50生命上限
丢掉和抵押则-,我一直测试,发现丢掉会恢复正常生命值,可是抵押几次以后,生命值减少了,以至于死了,然后复活以后的生命值超过42亿多
回复

使用道具 举报

发表于 2013-5-3 08:01:04 | 显示全部楼层
yeeboys 发表于 2013-5-3 01:51
bug....设置单位捡到物品+物品自定义值*50生命上限
丢掉和抵押则-,我一直测试,发现丢掉会恢复正常生命 ...

额。。其实我很想说……这种YD自带的动作出Bug的话去YD官网提意见吧。。。
这里不负责“修”YDWE。。
另外这里也不推荐使用YDWE专用动作……效率问题、占用大小、不知道内部实现乱用出Bug等,总之自己不会做YDWE提供的功能那么用起来问题就会很多

然后关于这个bug么。。你可以看技能区“推荐主题”的技能指南,关于血牌技能的说明里有相关的解说

点评

好像没有血牌解说。。。 有没有让单位把物品卖掉的动作 中立魔方、生命恢复光环技能在物编哪里,找不到  详情 回复 发表于 2013-5-3 22:37
回复

使用道具 举报

 楼主| 发表于 2013-5-3 22:37:38 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-3 08:01
额。。其实我很想说……这种YD自带的动作出Bug的话去YD官网提意见吧。。。
这里不负责“修”YDWE。。
另 ...

好像没有血牌解说。。。
有没有让单位把物品卖掉的动作
中立魔方、生命恢复光环技能在物编哪里,找不到
回复

使用道具 举报

发表于 2013-5-4 02:34:55 | 显示全部楼层
yeeboys 发表于 2013-5-3 22:37
好像没有血牌解说。。。
有没有让单位把物品卖掉的动作
中立魔方、生命恢复光环技能在物编哪里,找不到
AId1, AItg, AIlf, AImb, AIsi, Aamk, AIsr, AIdd, AIas, AIms, Arel, AIrm, AIcs(护甲加成,攻击加成,生命加成,法力加成,视野加成,属性加成,符文护腕,物品防御,攻速加成,速度加成,生命恢复,法力恢复,物品暴击):这些技能可以改变单位的护甲、攻击、生命、法力、视野、敏捷、力量、智力、魔抗、反伤、免伤、攻速、移速、回血、回魔、暴击和闪避的加成数值。幸运的是这些技能的效果都能叠加,因此通过位标识技术,你就可以只靠有限几个技能副本来组合出任意加成值。具体可以参看Weaaddar和Blade两人的加成模板系统。所有的技能都能在负值下奏效,不过视野加成这技能有点例外,如果单位身上拥有能侦测隐形的技能,它就无法减小视野。'AIdd’和'Aegr'(艾露恩的赐福)这两个技能拥有相同的数据域:魔法抵抗、伤害削减、和反弹,可它们的攻击速度因子和移动速度因子两项没有实际效果。一个特殊的bug允许你不添加任何永久技能就能改变一个单位的生命和法力上限。方法很简单:做一个自定义的AIlf(生命加成)或AImb(法力加成)技能,然后将其级数设为1级以上,1级的加成值为0,而2级的加成值设为你目的值的负数。比方说你想加200就设为-200。现在,用UnitAddAbility()添加该技能,再用SetUnitAbilityLevel()将其等级设为2。这些技能存在bug,因此你会发现没有实际加成。然后你立刻用UnitRemoveAbility()删除这个技能。这次war3会试图一并取消这-200的加成(虽然因为bug的存在,这个值之前并没有加上),结果是,单位凭空增加了200的生命/法力上限。至此,你已成功地不添加任何永久技能就改变了单位的生命/法力值。

以上出自技能指南


出售应该在单位动作里


如果你是问“有没有类似这种效果的原技能”那倒还好。。但像你这样直接问一个已知的技能在哪里就有点过了吧……先大致想想这技能常规里哪个分类的单位用的,然后再在那个分类里找
就算你来问,其他人也最多只能回答在哪个分类里,又不可能帮你数出来在第几行,有些简单的问题其实根本不是问题……

点评

为什么有的帖子可以删除,有的不行,怎么才能删除帖子  详情 回复 发表于 2013-5-4 12:57
回复

使用道具 举报

 楼主| 发表于 2013-5-4 12:57:08 来自手机 | 显示全部楼层
chyj4747 发表于 2013-5-4 02:34
以上出自技能指南


出售应该在单位动作里

为什么有的帖子可以删除,有的不行,怎么才能删除帖子

点评

后面得没人回复  发表于 2013-5-4 13:08
回复

使用道具 举报

发表于 2013-5-5 14:12:51 | 显示全部楼层
@chyj4747  
呃印象中set null 的作用是将某个handle变量的地址层数据的引用数减一
当引用数为0时这部分内存会自动释放

handle变量的存储结构本身是 变量 -》 地址层 -》实体层
当局部函数执行完结时变量层会被销毁 ,而直接销毁实体(比如删除单位)处理的是实体层。地址层似乎只是与引用计数有关
当一个变量或者其他指向某个地址时(比如对handle型变量赋值)引用+1,当变量值改变时引用-1.

原话中的内存释放如果说的是实体的内存,当单位删除时内存已经释放了,没释放的只是中间的地址层,其长度大约是2个int
再就是过多的地址层会降低遍历查询效率(头目语)
呃一般来说除非大量泄漏没必要纠结set null

关于全局变量 set null的问题
其实依据上面所说的就好理解了
因为局部变量会随函数销毁,而此时并不会对变量指向的地址层做引用减一处理
导致地址层内存无法释放,而全局变量因为你迟早都会用到,赋值时就会改变引用而释放内存
所以不必set null

此外, 泄露的问题分两种,一种是实体泄露、一种是地址层泄露
比如删除点就是防止地址层泄露,一个点似乎是2个还是三个实数,单位组之类的其他handle型会更大
所以实体泄露需要处理。地址少量直接无视好了,不上W级别数量的泄露可以无视

关于本地玩家导致掉线的问题,实际上这个很好判断
掉线的原因是不同玩家运行jass或者数据所得结果不同
所以如果触发的执行不会导致出现不同的值就不会掉线
这也是异步创建显示效果不会掉线的原因,因为不会同步验证模型地址
所以对不同玩家采用不同的模型地址不会掉线

关于GC(游戏缓存)其实哈希表出现后不做战役基本没用了
当然如果要做1.20、1.24通用图也需要
RB+GC的主要问题是string泄露,过多的string(10W左右,看配置)导致卡机

其实复活那个问题可以用绑定的方法
用单位的handle值做key将相关数据写入对应的哈希表中
死亡事件后根据死亡单位的handle值读取相关数据处理好了
没必要一堆if
回复

使用道具 举报

发表于 2013-5-5 22:31:59 | 显示全部楼层
疯人¢衰人 发表于 2013-5-5 14:12
@chyj4747  
呃印象中set null 的作用是将某个handle变量的地址层数据的引用数减一
当引用数为0时这部分内 ...

原来如此,多谢指教~
另外码字辛苦了~

不过关于复活那个,我的意思是如果每个野怪的复活方式都完全不同的话,就只能写if,并不是单单复活时间长短,特效不同之类的,比如复活时会影响周围单位的设定等等,且每个野怪都有些专属的设定
回复

使用道具 举报

发表于 2013-5-5 22:48:47 | 显示全部楼层
chyj4747 发表于 2013-5-5 22:31
原来如此,多谢指教~
另外码字辛苦了~

其实决定这些的也是一些列参数
从大量数据中找出规律并集成处理
这是好的脚本编写者应该会的技能

实际上我感觉jass的成品系统或者多个系统构成的地图系统中
最主要的部分就是存储及数据结构和依据数据来进行处理

这两个部分采用的方法不同决定了系统的执行效率
特别是存储这个部分
在以前是一个菜鸟和成手的分界点
也就是懂rb+gc和不懂的差别

能够做出的内容是有很大差别的
直到现在哈希表的出现
才降低存储部分的难度

点评

游戏中能改物品、单位名字吗?T或J  详情 回复 发表于 2013-5-7 14:33
回复

使用道具 举报

 楼主| 发表于 2013-5-7 14:33:50 来自手机 | 显示全部楼层
疯人¢衰人 发表于 2013-5-5 22:48
其实决定这些的也是一些列参数
从大量数据中找出规律并集成处理
这是好的脚本编写者应该会的技能

游戏中能改物品、单位名字吗?T或J
回复

使用道具 举报

发表于 2013-5-7 15:57:17 | 显示全部楼层
yeeboys 发表于 2013-5-7 14:33
游戏中能改物品、单位名字吗?T或J

印象中不能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-3 13:37 , Processed in 0.500322 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表