北大侠客行MUD论坛

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

请教一个MUSH中关于变量提取的问题,多谢。

[复制链接]
发表于 2010-11-28 22:52:37 | 显示全部楼层 |阅读模式
有阵子没玩mud,最近有时间又回来玩了,原先用zmud721这次试用了下mush感觉速度和稳定性都好了很多,但是由于两者的语法神马的都很不相同,又不懂lua,所以只能从头开始学了。
初上手准备做个钓鱼机器人学学mush的用法,在变量提取的时候碰到了问题,希望能得到大虾的指点。
我做了个触发,就是钓完一杆鱼之后根据鱼饵的数量来判断下一步的动作,有就继续钓,没有就去买。我新建了个变量yuer_num,然后用“你猛地一拉鱼线啥啥的……”做触发:
if yuer_num >= 1 then Send("gua yuer")
else Simulate("貌似鱼饵不够用了……")
end -- if
保存运行的时候错误提示:[string "触发器: "]:1: attempt to compare number with nil
说我 yuer_num >= 1 是尝试拿数字跟nil比较…… 于是我检查变量列表看yuer_num的值根本不是空值啊,就是我上头的trigger抓取的100……
我就纳了闷了,如果它是把我yuer_num抓取的数值100当成了字串,那也能通过tonumber解决,但是为啥一头在变量列表里显示是100,一头又在脚本里说它是nil捏...nil怎样也转变不成数字啊……
搜了论坛很多帖子和教学贴,没有找到答案,所以只好发帖请教了。
尝试过先 yuer_num = yuer_num + 0 再做if,行不通,提示我在对nil进行数学运算 死活就是说我的yuer_num是空值...
思前想后不得其解,能想到的唯一一个可能是不是我在mush变量列表中定义的变量yuer_num跟脚本中的yuer_num不是同一个?我想在mush中定义的变量应该是全局变量啊,可以随时被脚本提取才对的嘛。。。
这个小问题,烦请大虾指点...在线等,多谢。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-28 23:00:28 | 显示全部楼层
yuer_num=GetVariable("yuer_num")
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-28 23:18:04 | 显示全部楼层

哈哈,多谢小刀大虾!

在if前头加上yuer_num=GetVariable("yuer_num")果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。
如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值...
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-28 23:24:29 | 显示全部楼层
inspector 好长时间不来了,此 littleknife 非小刀,乃是 胡小子 。小刀另有其人。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-28 23:27:41 | 显示全部楼层
原帖由 inspector 于 2010-11-28 23:18 发表

在if前头加上yuer_num=GetVariable("yuer_num"果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。

如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值...

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-28 23:29:44 | 显示全部楼层
原帖由 inspector 于 2010-11-28 23:18 发表

在if前头加上yuer_num=GetVariable("yuer_num"果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。

如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值...



变量也有区别,一种是LUA脚本中定义的变量,在LUA脚本中当然可以直接使用了;另一种是MUSH定义的游戏中的变量,这种变量在LUA中使用时,就需要用 SetVariable() 设置, 用 GetVariable() 取值。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-28 23:31:05 | 显示全部楼层
原帖由 ddid 于 2010-11-28 11:24 PM 发表
inspector 好长时间不来了,此 littleknife 非小刀,乃是 胡小子 。小刀另有其人。

是哇熊猫大侠,好久不见 :)
我晓得这里有两个小刀的,另一个小刀是小刀和晓晓的小刀嘛
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-28 23:34:42 | 显示全部楼层
呵呵,long time no see...

终于由 ZMUD 转向 MUSH 了。恭喜恭喜!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-28 23:38:25 | 显示全部楼层
原帖由 ddid 于 2010-11-28 11:29 PM 发表


变量也有区别,一种是LUA脚本中定义的变量,在LUA脚本中当然可以直接使用了;另一种是MUSH定义的游戏中的变量,这种变量在LUA中使用时,就需要用 SetVariable() 设置, 用 GetVariable() 取值。

受教了,呵呵,原来是这样... 刚开始学mush,以后有疑问还希望能多向胸毛兄请教呀 :)
ps:现在用你做的fullme插件爽歪歪啊,可惜就是以我现在的水平完全看不懂里头的代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-28 23:41:05 | 显示全部楼层
原帖由 ddid 于 2010-11-28 11:34 PM 发表
呵呵,long time no see...

终于由 ZMUD 转向 MUSH 了。恭喜恭喜!

没办法,MUSH确实比ZMUD好了很多…也折衷试用过Cmud,稳定性、速度、中文支持都比不上mush……
从0开始学好了,呵呵
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 07:14 PM , Processed in 0.010177 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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