mush小白请教一些关于触发器的小白问题
才接触mush,很多东西不懂匹配行里面的东西我现在大概知道了,就是和zmud差不多,\w\s什么的,还有$\n换行----我说的这些没问题吧?
现在下面的我还不太明白
就是发送行都可以输入些什么
一般的方向和吃饭啥的我大概懂了
可以写上n e s w (drink jiudai)-----这个没错吧?
我不懂是是
问题1
比如if qi<100
then exert recover
end
这样的东西是不是可以写进去执行
问题2
抓取数值应该可以吧 比如neili=%1 qi=%2
问题3
赋值是不是可以呢?比如再zmud里面的 #var skills dodge或者skills=dodge是不是可以执行
还有
问题4
是不是所有的触发器都需要选择 “启用”“保持有效性” “正则表达式”这几项
然后
问题5
发送给这里:
发送给 “游戏”,这个我理解了,就是一般的命令比如n e s w (drink jiudai)可以用这个----没问题吧?
那别的几个呢?如果要调用了脚本里面的函数的话是选择“发送到脚本”?
那别的都是干啥的?
问题很多,也很小白,请指点一下。不要说叫我自己去看手册啥的。我太笨了,没看怎么明白所有才问的。
bow
[ 本帖最后由 selfmud 于 2011-8-5 06:38 PM 编辑 ] 客户端问题,请发到技术版
转移一下,楼主以后请注意,谢谢! 啊,这个是客户端问题啊。。。我以为是疑问解答呢 我不懂是是
问题1
比如if qi<100
then exert recover
end
这样的东西是不是可以写进去执行
如果你打算在“发送”窗口写上面的东西的话,你需要在“发送给”这个下拉选项里选上:“发送到脚本解析器”。这样你的判断才能执行,另外选了用脚本运行发送的内容,那么在里面执行mud命令时需要用脚本命令:比如Execute("sleep"),而不能直接用sleep了。
问题2
抓取数值应该可以吧 比如neili=%1 qi=%2
抓取数值得看你的触发是如何写的。如果想去抓内力等状态可以考虑下面的触发形式:^【 气血 】\s*(\d+)\s*/\s*(\d+)\s*\[\s*(\d+)%\]\s*【 内力 】\s*(\d+)\s*/\s*(\d+)\s*\(\s*\+\s*(\d+)\)对应发送内容里:neili=%4,maxleili=%5
问题3
赋值是不是可以呢?比如再zmud里面的 #var skills dodge或者skills=dodge是不是可以执行
还有
只要在脚本解析器里,就可以赋值,这是lua的关系。
问题4
是不是所有的触发器都需要选择 “启用”“保持有效性” “正则表达式”这几项
然后
你若是使用它就必须启用。一般MUSH是用正则表达式的,但是也不完全。
问题5
发送给这里:
发送给 “游戏”,这个我理解了,就是一般的命令比如n e s w (drink jiudai)可以用这个----没问题吧?
那别的几个呢?如果要调用了脚本里面的函数的话是选择“发送到脚本”?
那别的都是干啥的?
只要理解发送给命令解释器是相当于在下面的窗口输入命令。发送给游戏是直接发一个命令。区别是前者可以多发,后者只发一个,很少用。前者的脚本命令是Execute()后者是Send()。 首先
非常感谢
原帖由 littleknife 于 2011-8-5 07:20 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
如果你打算在“发送”窗口写上面的东西的话,你需要在“发送给”这个下拉选项里选上:“发送到脚本解析器”。这样你的判断才能执行,另外选了用脚本运行发送的内容,那么在里面执行mud命令时需要用脚本命令:比如E ...
就是说,我如果要选择了发送到脚本解析器,那么就不能直接输入发送到游戏里面的命令了,比如n e s w (sleep)对吗?
而如果选择了发送到游戏那么就不能用if then之类的东西是吗
那如果是调用mush的函数,比如doafter(1,eat jitui)这样的命令的话发送到哪?游戏还是脚本解析器?
我们常用的就发送到游戏和发送到脚本解析器2种吧 找到了关于发送的内容
发送到的地方有以下几种:
*游戏 (MUD 服务器)
*命令窗口 (显示在命令窗口中)
*输出窗口 (显示在输出窗口中,就像使用 Note 函数显示注释一样)
*状态栏 (显示在状态栏上)
*记事本 - 新建 (创建一个新的记事本窗口并把发送内容添加进去)
*记事本 - 追加 (把发送内容添加到现有记事本窗口的最后面)
*记录文件 (把发送内容直接添加到记录文件中)
*记事本 - 替换 (把现有记事本中窗口的内容用发送内容替换掉)
*游戏 - 命令队列 (把发送内容添加到命令队列中,队列的时间间隔可以在“命令”配置对话框中设置)
*变量 (把发送内容赋值给一个变量,必须在变量框中输入变量的名称)
*命令解析器 - 执行 (通过命令解析器执行,这是发送内容中可以包含别名、快速行走等等)
*快速行走 (把发送内容作为快速行走的路径来执行)
*脚本解析器 (把发送内容作为脚本命令来执行)
*游戏 - 立即发送 (把发送内容立即发送给服务器,不管当前队列中是否有命令) 原帖由 littleknife 于 2011-8-5 07:20 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
如果你打算在“发送”窗口写上面的东西的话,你需要在“发送给”这个下拉选项里选上:“发送到脚本解析器”。这样你的判断才能执行,另外选了用脚本运行发送的内容,那么在里面执行mud命令时需要用脚本命令:比如E ...
这句没看懂
区别是前者可以多发,后者只发一个,很少用。前者的脚本命令是Execute()后者是Send()。
什么东西可以多发,什么东西只能发一个?为什么又变成了脚本命令 O ?咋没人理 了
回复 8楼 的帖子
其实就是发送的内容可以你自己来决定,所有的发送方法都可以归结为脚本解析器的发送方法。所谓前者可以多发命令就是Execute("e;e;n;sleep")这个脚本命令相当于在下面的命令窗口输入e;e;n;sleep,当然前提是你设置了单行多命令允许。而Send("e;e;n;sleep")是不能执行的,因为它只能发一个命令如:Send("sleep"),当然这样的发送必须以脚本解析器方式来发给MUSH。 Execute和send的区别搞懂了
谢谢
他们都是发给脚本解析器的吧?
页:
[1]