北大侠客行MUD论坛

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

带?的触发语句触发报错

[复制链接]
发表于 2016-5-18 22:02:25 | 显示全部楼层 |阅读模式
触发语句:

你向韩寒莲问道:这位姑娘,不知最近有没有听说什么消息?
韩寒莲说道:「前几天我去那家店里买东西的时候总发现一个流浪汉在附近转悠。」

触发器匹配表达式:

^[> ]*你向(.+)问道:这位.+,不知最近有没有听说什么消息.*\n.+说道:「(.+)」$

报错信息:

Compile error
World: pkuxkx
Immediate execution
[string "触发器: "]:1: unexpected symbol near '?

之前调试的时候就报错,把?进行转义\?还是报错,换成.+报错,换成.*终于不报错了,可真实
的服务器信息返回带?时又报如上的错误了,求高人指点迷津

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2016-5-19 09:22:04 | 显示全部楼层
回复 1# whq


    你理解错了,如果这个语句错误是不会报错的,因为根本不能触发。
既然触发了就说明语句正确,产生错误的是你的脚本内容
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2016-5-19 20:42:19 | 显示全部楼层
发送内容如下

if %2==asd then Note("if")
else SetVariable("lrh"..GetVariable("lri"), "%1");SetVariable("lrx"..GetVariable("lri"), "%2");SetVariable("lri", GetVariable("lri")+1)
end
Execute("ask luren "..GetVariable("lri").." about 消息")

没有和?有关的呀
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2016-5-19 21:23:10 | 显示全部楼层
回复 3# whq


1:lua没有智能到那个程度,知道你是"?"出错了,这是提示你第一行有问题
2:%2显然没有加引号
3:asd是变量还是字符串?你这个用法是比较变量内容的。显然不是你的本意吧,字符串必须带引号
4:这么多的Get Set看着不累么,你这是要把所有的描述都写在mcl变量里一条一条阅读的意思?
     男爵会产生信息,使用lua的表格变量比mcl变量更能有效的记录每个路人的信息,以便于脑算或者机算。
     这个任务的辅助机器也是适用的表格变量来运算得。
     这是mush不是zmud,不需要每次都把变量内容写进mcl。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2016-5-19 21:38:18 | 显示全部楼层
回复 4# creat


    其实是想比较两个字串的,我以为%2没有引号所以==后面的也不需要引号。机器人这么写就是没想到好的实现方式才这么弄的,话说mcl变量和表格变量是什么意思
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2016-5-19 21:55:54 | 显示全部楼层
所谓mcl变量就是像zmud一样,写在配置-〉变量里的那种变量,这是存盘后写进配置文件保存在硬盘上的。
表格变量是lua的一种变量形式,也是常用的变量形式。你可以想象成windows的资源管理器
男爵机器人不难,关键是思路,其次是实现方法
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2016-5-19 22:58:55 | 显示全部楼层
回复 6# creat


    这个表格变量是全局的吗,不然一个路人问完了问第二个,上一个的表格变量不就销毁了吗,还是说要把一个最终的表格变量保存在mcl变量里?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2016-5-19 23:09:00 | 显示全部楼层
这就看你的定义了,使用全局变量或者非局部变量理论上可以的,这已经和mush没什么关系了,纯是lua的知识。
mcl只能保存字符串类型的变量。
事实上,我个人从不使用mcl变量。
尽管mcl变量偶尔会有些用处
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2016-5-19 23:42:58 | 显示全部楼层
回复 8# creat


    主要还是对这里面的一些东西不太了解,比如一个触发器里的变量怎么在另一个触发器里使用,除了mcl变量我是不知道lua里怎么去实现的,又懒得去专门学习lua,所以你才会看着写法别扭

话说我刚才看见你做爵位任务了,速度很快啊,这机器人不错
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2016-5-20 00:25:02 | 显示全部楼层
在不声明的情况下lua的变量都是全局变量,在环境里都可以用
这个速度不算快,除了判断部分全程手动
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-28 11:36 PM , Processed in 0.011203 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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