纯新手求教
本帖最后由 dengtaliyi 于 2020-11-26 08:32 PM 编辑if GetVariable("roomid") == GetVariable("sjdd") then
EnableTrigger("walk", false)
:3: 'end' expected (to close 'if' at line 2) near '<eof>'
我是用2个变量比较做的if ,不知道怎么回事,老报错
顺便想请教一下遍历找到npc,停止遍历用什么函数哦。 本帖最后由 dengtaliyi 于 2020-11-27 10:24 AM 编辑
这是我用拿来主义学习的代码,请问找到npc怎么停止
function slow_path(path_name, time_wait)
if nil~= path_dir_bianli_table then
fill_slow_path(path_name);
slow_path_thread=coroutine.create(function ()
for i,v in ipairs(temp_slow_path_table) do
world.DoAfterSpecial(time_wait, "slow_auto_next();",12);
coroutine.yield();
world.Send(v);
end
end);
coroutine.resume(slow_path_thread);
else
Note("你有这个搜索路径么");
end
end
slow_state=0;
function slow_pause()
slow_stat=1;
end
function slow_resume()
slow_stat=0;
slow_auto_next();
end
function slow_auto_next()
if slow_state==0 then
coroutine.resume(slow_path_thread);
end
end
function slow_path_Init()
world.AddAlias("al_slow_path","^\\#slow (.*?) (.*?)$",
"slow_path(\"%1\",%2);",
alias_flag.Enabled + alias_flag.Replace + alias_flag.RegularExpression,
"");
world.SetAliasOption("al_slow_path", "send_to", "12");
end
slow_path_Init(); 唔,脚本的就是为了遍历,也就是说必须隔短时间发送下一个命令,所以直接看程序中有send()或者DoAfterSpecial()之类有发送意义的那段, world.DoAfterSpecial(time_wait, "slow_auto_next();",12);,中调用了slow_auto_next(),直接看这个方法,里面有个if判断,所以想暂停直接不符合if条件就好了,调用function slow_pause()改变slow_state变量的值 大概可以吧,没有运行过,不知道行不行 已解决,谢谢您{:7_280:} 你只写了if没写end
if GetVariable("roomid") == GetVariable("sjdd") then
EnableTrigger("walk", false)
end
这样就行了 谢谢谢谢
页:
[1]