【求助】如何判定指挥官的生死?
借鉴007大神写了以下一段代码,作用是:收魂使者可以增加%的最终招魂数量。!?FU777715;
*FU777715触发器:x1=胜利方0-1,x2=英雄编号,x3=存储招魂类型的地址,x4=存储招魂个数的地址
!!FU|x1=-1/x2<0/x2>155:E;
!!UN:Cx3/4/?y1;
!!UN:Cx4/4/?y2;
!!COx2:D?y5 E?y6 T?y7 X2/?y8;[收魂使者]
!!VRy8&y5<>1/y6=1/y7=4/y8>0:Sy8 -1 :2 +105;
!!VRy8&y5<>1/y6=1/y7=4/y8>120:S120;
!!VRy2&y5<>1/y6=1/y7=4/y8>100:Sy2 *y8 :100;
!!UN:Cx4/4/y2;
结果这样有个问题:在一场战斗中如果收魂使者死了,那战斗胜利后增加招魂数量的效果还是会有;而如果战斗开始时收魂使者就是死的,那么就不会增加了。
感觉有点不合理,希望能改成:如果战斗中收魂使者死了,就不会增加招魂数量了。
另外,这样写的话没办法解决最终招魂数量可能>100%的问题,感觉也不太合理……但我想不出怎么解决,能同样请教一下么?谢谢。
如果不能大于100%那这个技能就毫无意义,封神无特长6个招魂塔+高级招魂就已经是100%了;kaun; 楼主提的2个问题都很有代表性.
首先,这个属于HOOK范围触发器,按楼主测试的结果来看,指挥官死亡的语法 CO:D 在这里无效.
无效的原因,应该是此阶段比 CO:D判断的标志反映阶段还要早.
换句话说,在战斗后,内存才依照指挥官是否死亡来给予CO:D的标志.
要解决这个问题可能有点麻烦,得考虑指挥官对应的堆栈是否死亡,也就是用BM:N来判断.
可以用2个变量记录左右方战斗开始时的指挥官堆栈号.最简单的方法是先CO:D判断是否存在,再考虑战场上对应的位置是否真有个指挥官.
第二个问题更麻烦了..除非你能依照内部招魂术的计算方式,先计算原始招魂比例(比如考虑招魂塔加成等等).
再在这个比例基础上,考虑加成时会否超过100.
页:
[1]