本帖最后由 ahsin 于 2021-4-24 03:51 编辑
原创自制
第一步,ng.lua顶部第一行添加
- local walkmark = 1--/1方向统计变量
复制代码
第二步,ng.lua msg中添加(如:/5之后添加)(需要把原先的/1去掉,或者注释掉)
- if(msg == "/1" or msg == "、1") then
- local zizou1 = Char.GetData(player,%对象_香步数%);
- if Char.GetData(player,%对象_不遇敌开关%) == 1 then
- NLG.SystemMessage(player,"你正在使用驱魔香水,无法使用步步遇敌");
- elseif zizou1 == 0 then
- Char.SetData(player,%对象_香步数%,999);
- Char.SetData(player,%对象_香上限%,999);
- NLG.SystemMessage(player,"步步遇敌+自动遇敌开始了,每10秒尝试一次。");
- NLG.SystemMessage(player,"注意:如果在地图版边使用可能会掉线。");
- Char.SetLoopEvent(nil,"yd_LoopEvent",player,10000)
- --local dir= math.random(0,7);
- --NLG.SetAction(player,1);
- --NLG.WalkMove(player,dir);
- else
- Char.SetLoopEvent(nil,"yd_LoopEvent",player,nil)
- Char.SetData(player,%对象_香步数%,0);
- Char.SetData(player,%对象_香上限%,0);
- NLG.SystemMessage(player,"步步遇敌+自动遇敌关闭了!");
- end
- end
复制代码
第三步 ng.lua底部最后一行添加
- function yd_LoopEvent(player)
- --local CdKey = Char.GetData(player,%对象_CDK%)
- local CdKey = Char.GetData(player,%对象_CDK%)
- local Name = Char.GetData(player,%对象_名字%)
- --local pluskg = Char.GetData(player,%对象_香步数%);
- local pluskg = Char.GetData(player,%对象_香步数%);
- local dir= math.random(1,19);--生成随机动作,0为战力,去除
- if pluskg == 0 then
- Char.SetLoopEvent(nil,"yd_LoopEvent",player,nil)
- else
- if walkmark == 1 then
- NLG.SystemMessage(player,"步步遇敌+自动遇敌中,每10秒尝试一次。");
- NLG.SystemMessage(player,"注意:如果走到地图版边可能会掉线。");
- --NLG.SetAction(player,3);--走路动作
- NLG.WalkMove(player,2);--方向2走一步
- NLG.SetAction(player,dir);--遇敌了,摆个随机pose
- walkmark = 2
- else
- NLG.SystemMessage(player,"步步遇敌+自动遇敌中,每10秒尝试一次。");
- NLG.SystemMessage(player,"注意:如果走到地图版边可能会掉线。");
- --NLG.SetAction(player,3);--走路动作
- NLG.WalkMove(player,6);--方向6走一步
- NLG.SetAction(player,dir);--遇敌了,摆个随机pose
- walkmark = 1
- end
- end
- end
复制代码
补充内容 (2021-5-2 03:32):
由于全局变量bug,导致部分玩家步伐方向会出错
遂请移步12楼查看使用新版代码。已经测试完毕,没有bug了
补充内容 (2022-1-21 02:33):
代码有更新,请前往12楼
补充内容 (2022-3-20 22:32):
补充一个,
所有Char.SetLoopEvent(nil,"yd_LoopEvent",player,nil)
改成Char.SetLoopEvent(nil,"yd_LoopEvent",player,0) |