请教一个MUSH中关于变量提取的问题,多谢。
有阵子没玩mud,最近有时间又回来玩了,原先用zmud721这次试用了下mush感觉速度和稳定性都好了很多,但是由于两者的语法神马的都很不相同,又不懂lua,所以只能从头开始学了。初上手准备做个钓鱼机器人学学mush的用法,在变量提取的时候碰到了问题,希望能得到大虾的指点。
我做了个触发,就是钓完一杆鱼之后根据鱼饵的数量来判断下一步的动作,有就继续钓,没有就去买。我新建了个变量yuer_num,然后用“你猛地一拉鱼线啥啥的……”做触发:
if yuer_num >= 1 then Send("gua yuer")
else Simulate("貌似鱼饵不够用了……")
end -- if
保存运行的时候错误提示::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进行数学运算ttk_09 死活就是说我的yuer_num是空值...
思前想后不得其解,能想到的唯一一个可能是不是我在mush变量列表中定义的变量yuer_num跟脚本中的yuer_num不是同一个?我想在mush中定义的变量应该是全局变量啊,可以随时被脚本提取才对的嘛。。。
这个小问题,烦请大虾指点...在线等,多谢。 yuer_num=GetVariable("yuer_num")
哈哈,多谢小刀大虾!
在if前头加上yuer_num=GetVariable("yuer_num")果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值... inspector 好长时间不来了,此 littleknife 非小刀,乃是 胡小子 。小刀另有其人。 原帖由 <i>inspector</i> 于 2010-11-28 23:18 发表 <a href="http://pkuxkx.net/forum/redirect.php?goto=findpost&pid=208332&ptid=17511" target="_blank"><img src="http://pkuxkx.net/forum/images/common/back.gif" border="0" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" /></a><br />
在if前头加上yuer_num=GetVariable("yuer_num"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。<br />
如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值... <br /> 原帖由 <i>inspector</i> 于 2010-11-28 23:18 发表 <a href="http://pkuxkx.net/forum/redirect.php?goto=findpost&pid=208332&ptid=17511" target="_blank"><img src="http://pkuxkx.net/forum/images/common/back.gif" border="0" alt="" /></a><br />
在if前头加上yuer_num=GetVariable("yuer_num"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />果然成了,虽然提示拿字串跟数字作比较,但是加个tonumber就正常运作了,多谢多谢。<br />
如果有时间的话能否给俺解释下呢?为神马要使用变量还得先从提取变量本身的值...
<br />
变量也有区别,一种是LUA脚本中定义的变量,在LUA脚本中当然可以直接使用了;另一种是MUSH定义的游戏中的变量,这种变量在LUA中使用时,就需要用 SetVariable() 设置, 用 GetVariable() 取值。 原帖由 ddid 于 2010-11-28 11:24 PM 发表 http://www.pkuxkx.net/forum/images/common/back.gif
inspector 好长时间不来了,此 littleknife 非小刀,乃是 胡小子 。小刀另有其人。
是哇熊猫大侠,好久不见 :)
我晓得这里有两个小刀的,另一个小刀是小刀和晓晓的小刀嘛ttk_08 呵呵,long time no see...
终于由 ZMUD 转向 MUSH 了。恭喜恭喜! 原帖由 ddid 于 2010-11-28 11:29 PM 发表 http://www.pkuxkx.net/forum/images/common/back.gif
变量也有区别,一种是LUA脚本中定义的变量,在LUA脚本中当然可以直接使用了;另一种是MUSH定义的游戏中的变量,这种变量在LUA中使用时,就需要用 SetVariable() 设置, 用 GetVariable() 取值。
受教了,呵呵,原来是这样... 刚开始学mush,以后有疑问还希望能多向胸毛兄请教呀 :)
ps:现在用你做的fullme插件爽歪歪啊,可惜就是以我现在的水平完全看不懂里头的代码ttk_09 原帖由 ddid 于 2010-11-28 11:34 PM 发表 http://www.pkuxkx.net/forum/images/common/back.gif
呵呵,long time no see...
终于由 ZMUD 转向 MUSH 了。恭喜恭喜!
没办法,MUSH确实比ZMUD好了很多…也折衷试用过Cmud,稳定性、速度、中文支持都比不上mush……
从0开始学好了,呵呵