盘点关于AI写在-2下边会出现的bug跟处理办法

关于 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 && 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]或者-3
呼噜 评论于

关于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自己看吧

根据相关规定,发布评论前必须绑定手机前往绑定
你,确定要这么做吗?
正在处理中...