jass 脚本bug



因为这个bug调试了好长时间才发现问题。


1.经过DEBUG验证,在玩家丢失物品的瞬间,如果之间是判断此事件的触发函数来判断该单位现在是否还拥有这个物品或者拥有物品的属性技能等等,那么答案是:拥有,这非常坑爹,我不知道原因,但实际上确实是这样,那么这个问题怎么解决呢,利用计时器和哈希表来解决,添加一个触发,注册计时器,设定为0秒,保存好触发单位和物品整型值,那么在这个注册时间触发的触发函数中来做判断,那么以上的情况就没有了

2.关于魔法书的东西,其实这都是穿越千年的东西了,老朽现在才发现,不好意思,万一还有人不知道呢,是吧、魔法书我觉得是个隐藏被动技能图标的绝佳技能,毕竟有些暗箱操作的东西玩家不能看见,而且也不美观,那么我发现魔法书利用代码禁用了其功能后(SetPlayerAbilityAvailable),魔法书里的被动技能仍然有用,那么,由此可以得出一个结论,做一个隐藏技能图标的无限可叠加的任意数值的增益效果也不是问题,比如攻速,攻击力,防御力,魔抗,闪避……当然可以负数的那么可以做减防等等函数,不过稍微麻烦点就是算法,这个我不做解释了,自己去想吧。

3.call TriggerRegisterAnyUnitEventBJ(gg_SelectUnitTrigger, EVENT_PLAYER_UNIT_SELECTED)

EVENT_PLAYER_UNIT_SELECTED 玩家选择单位事件,IsUnitSelected函数判断该触发玩家是否选择触发单位,返回的居然是false。

而判断触发玩家与事件发生前选择的单位IsUnitSelected返回的确实true。无语了,不能再EVENT_PLAYER_UNIT_SELECTED 事件触发器里面直接使用IsUnitSelected判断,必须重新开启一个触发器再使用IsUnitSelected判断才能得出正确的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值