北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4116|回复: 6

纯新手求教

[复制链接]
发表于 2020-11-26 20:10:17 | 显示全部楼层 |阅读模式
本帖最后由 dengtaliyi 于 2020-11-26 08:32 PM 编辑

if GetVariable("roomid") == GetVariable("sjdd") then
EnableTrigger("walk", false)

[string "触发器: "]:3: 'end' expected (to close 'if' at line 2) near ''

我是用2个变量比较做的if ,不知道怎么回事,老报错

顺便想请教一下遍历找到npc,停止遍历用什么函数哦。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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[path_name] 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();
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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变量的值
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2020-11-26 22:36:49 | 显示全部楼层
大概可以吧,没有运行过,不知道行不行
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2020-11-27 10:24:01 | 显示全部楼层
已解决,谢谢您
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2020-11-27 10:29:58 | 显示全部楼层
你只写了if没写end
if GetVariable("roomid") == GetVariable("sjdd") then
EnableTrigger("walk", false)
end
这样就行了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2020-11-27 11:57:52 | 显示全部楼层
谢谢  谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-28 01:41 AM , Processed in 0.009642 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表