dengtaliyi 发表于 2020-11-26 20:10:17

纯新手求教

本帖最后由 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-26 20:36:01

本帖最后由 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();

tianzaishui 发表于 2020-11-26 22:31:37

唔,脚本的就是为了遍历,也就是说必须隔短时间发送下一个命令,所以直接看程序中有send()或者DoAfterSpecial()之类有发送意义的那段, world.DoAfterSpecial(time_wait, "slow_auto_next();",12);,中调用了slow_auto_next(),直接看这个方法,里面有个if判断,所以想暂停直接不符合if条件就好了,调用function slow_pause()改变slow_state变量的值

tianzaishui 发表于 2020-11-26 22:36:49

大概可以吧,没有运行过,不知道行不行

dengtaliyi 发表于 2020-11-27 10:24:01

已解决,谢谢您{:7_280:}

yyzq 发表于 2020-11-27 10:29:58

你只写了if没写end
if GetVariable("roomid") == GetVariable("sjdd") then
EnableTrigger("walk", false)
end
这样就行了

dengtaliyi 发表于 2020-11-27 11:57:52

谢谢谢谢
页: [1]
查看完整版本: 纯新手求教