北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: onlinego

高手来帮我批注一下每一句都是啥意思,有点看不明白

[复制链接]
发表于 2011-9-13 09:57:13 | 显示全部楼层
原帖由 onlinego 于 2011-9-13 09:55 AM 发表



的确是lua

语法看着像,但问题是lua不用world.Send的。
还有,那句语句不明白?不可能每条语句都给你解释一下吧?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-13 09:58:08 | 显示全部楼层
原帖由 pizzagoo 于 2011-9-13 09:57 AM 发表

语法看着像,但问题是lua不用world.Send的。
还有,那句语句不明白?不可能每条语句都给你解释一下吧?



为什么不能呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 14:47:15 | 显示全部楼层

我也才学,我按照我的看法说说,不一定对

本人也新学,下面是我自己的想法,很可能不对,希望高手指点

function alias:duhe()       ---我认为这个是做了个函数alias.duhe
   wait.make(function()
---我认为这个是做了个函数wait.make
      world.Send("duhe")
---我认为这个是调用了别处的发送函数,发送的内容是duhe这个alias
       locall,w=wait.regexp("(> |)
你使出「一苇渡江」渡过了.*$|^(>|)你的修为不够!$|(> |)这里的水太深太急,你渡不过去。$|^(>|)什么?$|^(> |)你的内力修为不够,怎能支持!?",5)
---我认为这个是做触发器的描述行,定义了个局部变量lw,其中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发现你的修为不够或者水太深或者内力不够,然后执行selfyellboat,其中这个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 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 19:06:14 | 显示全部楼层
不说话,围观,学习
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-13 19:12:16 | 显示全部楼层
我说的都是对是错,也没人给提醒一下啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-14 09:03:01 | 显示全部楼层
原帖由 selfmud 于 2011-9-13 07:12 PM 发表
我说的都是对是错,也没人给提醒一下啊

景仰。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-14 09:27:45 | 显示全部楼层
lua我不懂,没有发言权
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2011-9-14 12:18:17 | 显示全部楼层
那个能来讲讲面对对象,结合这个列子
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-14 14:51:51 | 显示全部楼层
我也想学习。。。
我学mush才几天时间。。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-9-15 09:39:38 | 显示全部楼层
这里面一个是冒号“:”的理解:其实就是a.name=function()。
另外,就是过程的理解,渡河的过程中考虑等待的问题。
wait.lua的使用必须调用系统的wait.lua函数。前置必须有require wait才可。
其作用是用wait.time来实现系统线程停顿。用wait.make来制作主体。用wait.regexp来制作相关触发。
根据wait.regexp触发的返回值来觉得用什么函数或命令。
wait.regexp返回两个值:l其实作用是有没有出现这个触发;w是出现后的参数。
先判断有没有这个触发,即l是否为空。为空就是没有渡河,不空就是处在渡河状态。
在依次判断渡河过程中是处于什么状态。
轻功,修为,异常等等。。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 05:47 AM , Processed in 0.010165 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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