的确是lua
语法看着像,但问题是lua不用world.Send的。
还有,那句语句不明白?不可能每条语句都给你解释一下吧? 原帖由 pizzagoo 于 2011-9-13 09:57 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
语法看着像,但问题是lua不用world.Send的。
还有,那句语句不明白?不可能每条语句都给你解释一下吧?
为什么不能呢?
我也才学,我按照我的看法说说,不一定对
本人也新学,下面是我自己的想法,很可能不对,希望高手指点function alias:duhe() ---我认为这个是做了个函数alias.duhe
wait.make(function()
---我认为这个是做了个函数wait.make
world.Send("duhe")
---我认为这个是调用了别处的发送函数,发送的内容是duhe这个alias
locall,w=wait.regexp("(> |)你使出「一苇渡江」渡过了.*。$|^(>|)你的修为不够!$|(> |)这里的水太深太急,你渡不过去。$|^(>|)什么?$|^(> |)你的内力修为不够,怎能支持!?",5)
---我认为这个是做触发器的描述行,定义了个局部变量l和w,其中w是那个触发的描述
if l==nil then---我认为这个是:如果l为空值
self:duhe()--我认为这个是:self好像是调用自身的一个什么,好像是调用渡河这个alias吧
return--我认为这个是:返回
end--我认为这个是:结束if语句
if string.find(l,"你使出「一苇渡江」")then--我认为这个是:if语句,如果发现后面括号里面的
local b--我认为这个是:定义局部变量b
b=busy.new()--我认为这个是:定义b是个函数busy.new
b.interval=0.3--我认为这个是:貌似b是个数组,应该有个地方定义了比如b={},其中b.interval是其中的一个数值
b.Next=function()--我认为这个是:和上句一样。Next是数组b中的一个数值,这个数字现在定义成了函数
self:finish()--我认为这个是:b.next定义的函数内容,其中这个self后面加冒号我不太懂,
end--我认为这个是:结束b.next内容
b:check()--我认为这个是:和上上行一样
return--我认为这个是:返回
end--我认为这个是:结束
if string.find(l,"你的修为不够")or string.find(l,"这里的水太深太急,你渡不过去")or string.find(l,"你的内力修为不够,怎能支持")then
self:yellboat()
return
end--我认为这个是:判断语句if发现你的修为不够或者水太深或者内力不够,然后执行self:yellboat,其中这个self;yellboat应该是别处定义的
if string.find(l,"什么")then
print("出现异常")
self:finish()
end--我认为这个是:判断遇见if,如果出现什么等,显示出现异常,然后执行self:finish函数
wait.time(5) --我认为这个是:别处定义的等待函数,估计是等5秒吧
end)
end--我认为这个是:结束
[ 本帖最后由 selfmud 于 2011-9-13 02:54 PM 编辑 ] 不说话,围观,学习 我说的都是对是错,也没人给提醒一下啊 原帖由 selfmud 于 2011-9-13 07:12 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
我说的都是对是错,也没人给提醒一下啊
景仰。。。 lua我不懂,没有发言权 那个能来讲讲面对对象,结合这个列子 我也想学习。。。
我学mush才几天时间。。。 这里面一个是冒号“:”的理解:其实就是a.name=function()。
另外,就是过程的理解,渡河的过程中考虑等待的问题。
wait.lua的使用必须调用系统的wait.lua函数。前置必须有require wait才可。
其作用是用wait.time来实现系统线程停顿。用wait.make来制作主体。用wait.regexp来制作相关触发。
根据wait.regexp触发的返回值来觉得用什么函数或命令。
wait.regexp返回两个值:l其实作用是有没有出现这个触发;w是出现后的参数。
先判断有没有这个触发,即l是否为空。为空就是没有渡河,不空就是处在渡河状态。
在依次判断渡河过程中是处于什么状态。
轻功,修为,异常等等。。