wsrflove 发表于 2012-4-11 21:04:08

mush 疑问

┃〖 食物 〗1224   /390   [很饱]
<trigger
   enabled="y"
   match="^[>]*\s*┃〖\s+食物\s+〗\s*(?P<nowfood>\d*)\s+\/(?P<shangxianfood>\d*).*$"
   regexp="y"
   send_to="12"
   sequence="100"
>
<send>ceshi()</send>
</trigger>


function ceshi()
local nowfood   = GetVariable ("nowfood")
Note(nowfood)
end

触发应该没啥为题
为什么输出值为nil?    新手求解答

北大侠客行MUD,中国最好的MUD

wsrflove 发表于 2012-4-11 21:47:24

楼上的可以讲清楚一点吗。不是很懂

littleknife 发表于 2012-4-12 06:56:58

GetVariable ("nowfood")
所获取的变量是MUSH变量表中的变量。而楼主的触发存储的变量并未进入变量列表。貌似直接引用即可,无需GetVariable。

pizzagoo 发表于 2012-4-12 09:38:02

如果楼上的mush bt 小胡子说的还没有用,试试用这个
local nowfood = GetTriggerWildcard ("XXX", "nowfood");

XXX为你的trigger的名称,目前你的trigger好像没有名称,命名一个先。

wsrflove 发表于 2012-4-12 10:56:57

谢谢楼上两位。

emyt 发表于 2012-4-12 11:07:12

┃〖 食物 〗1224   /390   [很饱]

ceshi()

function ceshi()
local nowfood   = Get ...

wsrflove 发表于 2012-4-11 01:04 PM http://www.pkuxkx.com/forum/images/common/back.gif
小胡子说的挺清楚啊

function ceshi()
-------- local nowfood= GetVariable ("nowfood")这句去掉就可以了            -------- 这是提取标准的MUSH变量,触发器已经将变量值提取到脚本变量中了
      Note(nowfood)
end                                                                                                      >                                                                                                         

wsrflove 发表于 2012-4-12 11:32:56

如果楼上的mush bt 小胡子说的还没有用,试试用这个
local nowfood = GetTriggerWildcard ("XXX", "nowfoo ...
pizzagoo 发表于 2012-4-12 01:38 AM http://pkuxkx.com/forum/images/common/back.gif
这种方法不错,呵呵。

shuigui 发表于 2012-4-14 09:48:11

也可以先SetVarialbe("nowfood",xxx),先在mush里声明一下nowfood变量
页: [1]
查看完整版本: mush 疑问