本帖最后由 水墨五彩 于 2023-3-17 10:22 AM 编辑
纯新人。
陆陆续续也拿到了一些AM的脚本,包括某天价脚本。其实大同小异,绝大部分都是拿某大佬的PVP脚本修改的。
自己修改后总体有所优化,但是还发现一些问题。
测试下来有几个共性问题,求大佬解惑提供思路。
1、连续上触
木桩测试阶段发现经常出现连续两次上触的情况。
if BeeTargetDeBuffTime("吸血鬼之触")>12 and BeeUnitCastSpellName("player")=="吸血鬼之触" then
BeeRun("/stopcasting");
分析这段代码后我认为可能是在高急速下触的时间小于12秒,导致stopcasting的条件不满足进而连续上触。将12修改为9(其实就是一个常规状态不可能达到的急速条件)后木桩测试连续上触的情况解决。但团本中表现为一个循环打完会发呆。改为9大约发呆1秒,数字越小发呆越久。
raid期间疯狂上触,原因未知。怀疑跟疫病的情况一样。
2、连续上疫病。
分析代码尚未找到原因
if BeeTargetDeBuffTime("噬灵疫病")<=1 and not BeeUnitCastSpellName("player") then
BeeRun("/cast 噬灵疫病","target")
不是上两个那么单纯,就是连续上,狂上。
目前怀疑是否团队状态下目标DEBUFF过多,导致无法读取到。
其他情况。
测试环境有限。总体感觉是只有1个AM的情况下表现相对正常。有两个以上AM的情况下各种出错。
求各位大佬解惑或提供思路。
全本输出模块如下:
if (BeeUnitHealth("player","%")>20 and (BeeTargetDeBuffTime("暗言术:痛")>0 and BeeTargetDeBuffTime("噬灵疫病")>0 and GetUnitSpeed("player")>0)) and BeeSpellCoolDown("暗言术:灭")==0 then
BeeRun("/cast 暗言术:灭")
return true;
end
if BeeTargetDeBuffTime("噬灵疫病")<=1 and not BeeUnitCastSpellName("player") then
BeeRun("/cast 噬灵疫病","target")
return true;
end
if BeeTargetDeBuffTime("暗言术:痛")<=1 and not BeeUnitCastSpellName("player") then
BeeRun("/cast 暗言术:痛","target")
return true;
end
if BeeTargetDeBuffTime("吸血鬼之触")<2 and not BeeUnitCastSpellName("player") then
BeeRun("/use 10");
BeeRun("/cast 吸血鬼之触","target");
BeeUnitCastSpellDelay("吸血鬼之触",0.9);
return true;
end
if BeeTargetDeBuffTime("吸血鬼之触")>12 and BeeUnitCastSpellName("player")=="吸血鬼之触" then
BeeRun("/stopcasting");
return;
end
if BeeSpellCoolDown("心灵震爆")==0 and BeeTargetDeBuffTime("暗言术:痛")>0 and BeeTargetDeBuffTime("噬灵疫病")>0 and BeeTargetDeBuffTime("吸血鬼之触")>0 and not BeeUnitCastSpellName("player") then
BeeRun("/cast 心灵震爆")
return true;
end
if not BeeStringFind("精神鞭笞",Tbl) and BeeTargetDeBuffTime("暗言术:痛")>0 and BeeTargetDeBuffTime("噬灵疫病")>0 and BeeTargetDeBuffTime("吸血鬼之触")>0 and (BeeSpellCD("心灵震爆")>0 or BeeUnitHealth("target","%")<1) then
BeeRun("/cast 精神鞭笞","target")
return true;
end
end
|