关于statedef -2下边的changestate造成的bug分析案例
[statedef -2]
[state -2];受身
type=changestate
triggerall=!ishelper&&var(59)>0
trigger1=statetype=A
trigger1=movetype=H
trigger1=vel y>0
trigger1=pos y>=-20
value=5200
现在看到这是一个受身AI如果人物不在p2stateno里边也就是说如果人物没有被拉p2攻击那么这个受身是没有问题的如果人物被拉p2攻击也就是如果人物此时在p2stateno里边而恰好条件达成那么进入这个5200是你这边的还是敌人那边的答案是敌人的
为什么?因为[statedef -2]下边的代码不管什么情况下都会执行那么你在p2stateno里边自然也会执行而p2里边执行的changestate进入的是敌人那边的号
所以会造成几个bug
1、你的动画无限循环卡死在一个状态因为敌人的5200没有设置动画所以你还是上次状态号的动画
2、你消失了因为敌人的5200动画转到空动画或者动画安排的图片你刚好没有
3、你的状态为0不过你变傻了不会动了因为敌人的5200转到0站立而敌人的0站立设置了ctrlset归零所以你的控制被关掉了
4、你无限下沉到地底敌人的5200有引力加载但是没有转出
5、你无限上浮上天了敌人的5200有上升力但是没有加载引力也没有转出
6、以及很多未知的bug解决办法:
(1)把-2下边的changestate全换成selfstate
(2)changestate全都写到[statedef -1]或者[statedef -3]
都乱套了,
进群573535107自己看吧
谁会在-2里写AI啊