我在电脑上看了,两个技能都写得不错只是有一点小细节可以注意一下:特效可以在删除这句话里面新建特效——特殊效果 - 在 5.00 秒后删除 (新建特效并绑定到 (触发单位) 的 overhead 附加点上)。另一个小细节就是两个单位间的距离ydwe有函数——(从(触发单位)到(最后创建的单位)的距离 ) 小于或等于 500.00。
其实这个测试只是抛砖引玉,更想专门聊一聊“逆天之外”这个话题。从小幻幻的技能做法中我们不难总结出要想在逆天计时器触发器之外干预它们的运行或关闭它们,可以在逆天之中增加逆天自定义值、buff有关的判断,在逆天之外操作自定义值或添删buff就可以干预逆天的运行。但是,如果我们再想一想,第一个技能敌人如果在15秒后施放技能是不是运行了多余的触发呢?如何准确地在第15秒关掉或删掉注册的逆天呢?
那么我会这样写:

如果我们把逆天计时器转换成jass,会发现清除逆天计时器变成了两段:call YDTriggerClearTable(YDTriggerH2I(GetExpiredTimer()))和callDestroyTimer(GetExpiredTimer())。这两句话的意思分别是清理哈希表YDHT[计时器整数地址][]的值和摧毁计时器。(简单地把哈希表理解成二维数组吧)这和前面我的写法是不是有相似之处——在1.24的地图里,yd的存储系统和逆天都使用一个叫YDHT的哈希表,如果理解逆天和存储的本质的话就好理解了——要想清理一个逆天计时器触发器,需要清理哈希表和删除计时器触发器两步。
怎么样,是不是有点意思呢?这里我想灌输的一种思维方式就是,解决问题的方法多种多样,没有适应所有局面的方法,要结合实际尝试各种可能~