ljyinvader 发表于 2010-5-11 09:39:13

原帖由 hba 于 2010-5-11 09:22 AM 发表 http://edu.pkuxkx.com:8082/forum/images/common/back.gif



试试step = step + 1,发送到脚本。
学mush,要慢慢的去体会,这是和zmud很不同的mud客户端,变量就是其一。
变量,分为mush本身的变量,和脚本的变量。此两种变量有不同的优势,不要一味的只运用其中一种。
这个我也试过了。。还是报错。。

hba 发表于 2010-5-11 09:42:38

原帖由 ljyinvader 于 2010-5-11 09:39 AM 发表 http://pkuxkx.com/forum/images/common/back.gif

这个我也试过了。。还是报错。。

那就是你在lua中没定义step为全局变量了。
给你一个例子。
<triggers>
<trigger
   enabled="y"
   match="^[>\s]*劫匪个起纵遁入暗里不见了。"
   omit_from_output="y"
   regexp="y"
   send_to="12"
   sequence="20"
>
<send>hb_robber = hb_robber + 1</send>
</trigger>
</triggers>

ljyinvader 发表于 2010-5-11 09:43:05

原帖由 ddid 于 2010-5-11 09:36 AM 发表 http://edu.pkuxkx.com:8082/forum/images/common/back.gif
这里就要看你怎么理解Variable在MUSH里的概念了。

在ZMUD里变量就是一个数值或字符,而在MUSH里,变量只是一个存储器,它的作用是在LUA(或其它语言)不方便直接使用被调用数值或字符时,暂时存储进去。所以有Set ...
我不是在什么复杂trigger里面碰到这个问题的,是最简单的例子,比如匹配了某字符串abc以后,触发器把已有的一个变量a加一,就这么简单的一个触发。。。我现在是感觉MUSH里面的变量都是字符串,所以干脆还是在lua里面计算好了,谢谢大家的解答~

ddid 发表于 2010-5-11 09:45:26

原帖由 ljyinvader 于 2010-5-11 09:43 发表 http://pkuxkx.com/forum/images/common/back.gif

我不是在什么复杂trigger里面碰到这个问题的,是最简单的例子,比如匹配了某字符串abc以后,触发器把已有的一个变量a加一,就这么简单的一个触发。。。我现在是感觉MUSH里面的变量都是字符串,所以干脆还是在lua里 ...

那是因为用Trigger取下来的,都是字符串。

ljyinvader 发表于 2010-5-11 09:47:45

原帖由 hba 于 2010-5-11 09:42 AM 发表 http://edu.pkuxkx.com:8082/forum/images/common/back.gif


那就是你在lua中没定义step为全局变量了。
给你一个例子。


hb_robber = hb_robber + 1


我程序里面的step是mush里的变量,不是脚本里的变量啊。。这两个能放一起用吗

ddid 发表于 2010-5-11 09:50:51

LZ看东西不仔细呀。

注意hba的“全局变量”。

ljyinvader 发表于 2010-5-11 10:10:41

哦。。我终于搞明白了。。我一直以为脚本的作用就是可以弄个函数计算一下呢,以为每次调用脚本里面的函数都会把变量重置一下呢。。所以我只把数据保存在mush的变量里面。。原来可以保存到全局变量里面,嗯,知道了,谢谢

ddid 发表于 2010-5-11 10:13:39

全局变量,仅仅是方法之一,还有其它办法呢。不过建议LZ先把TRIGGER搞明白,尤其是wilcard

ddid 发表于 2010-5-11 10:14:35

用全局变量,总有杀鸡用牛刀的感觉 ……

lzkd 发表于 2010-5-11 10:19:45

如果可能,尽可能少用,或者不用(这个比较难)全局变量
页: 1 [2] 3 4
查看完整版本: MUSH菜鸟问题