|)你使出「一苇渡 ... 高手来帮我批注一下每一句都是啥意思,有点看不明白 ,北大侠客行MUD论坛" />

onlinego 发表于 2011-9-13 07:40:35

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

alias 处理特殊房间
一个渡河的alias

function alias:duhe()
   wait.make(function()
       world.Send("duhe")
       local l,w=wait.regexp("(> |)你使出「一苇渡江」渡过了.*。$|^(> |)你的修为不够!$|(> |)这里的水太深太急,你渡不过去。$|^(> |)什么?$|^(> |)你的内力修为不够,怎能支持!?",5)
       if l==nil then
         self:duhe()
         return
       end

       if string.find(l,"你使出「一苇渡江」") then
          local b
          b=busy.new()
          b.interval=0.3
          b.Next=function()
            self:finish()
          end
          b:check()
          return
       end
       if string.find(l,"你的修为不够") or string.find(l,"这里的水太深太急,你渡不过去") or string.find(l,"你的内力修为不够,怎能支持") then
          self:yellboat()
          return
       end
      if string.find(l,"什么") then
         print("出现异常")
         self:finish()
       end
       wait.time(5)
    end)
end

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

pizzagoo 发表于 2011-9-13 09:08:40

这个不难理解吧,不过不太熟悉java。
大概翻译以下:
渡河函数:
发送 duhe,
等待文字反馈。
没有反馈,继续调用渡河函数。

反馈1:
成功渡河,返回。
反馈2:
渡河失败,调用yellboat(),返回。
反馈3:
渡河异常,输出“出现异常”,返回。

mml 发表于 2011-9-13 09:43:58

java?我怎么看着不像啊,是不是lua啊?

onlinego 发表于 2011-9-13 09:46:34

原帖由 pizzagoo 于 2011-9-13 09:08 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
这个不难理解吧,不过不太熟悉java。
大概翻译以下:
渡河函数:
发送 duhe,
等待文字反馈。
没有反馈,继续调用渡河函数。

反馈1:
成功渡河,返回。
反馈2:
渡河失败,调用yellboat(),返回。
反馈3 ...


框架当然看的懂了,这个不需要解释
具体是一些语法是使用方法,意义
最好是一句一句注释下

onlinego 发表于 2011-9-13 09:47:33

这个是lua,不是java

onlinego 发表于 2011-9-13 09:51:49

这里好像使用lua的面向对象,通过这个想学习下,这方面的内容

pizzagoo 发表于 2011-9-13 09:52:38

原帖由 onlinego 于 2011-9-13 09:47 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
这个是lua,不是java
这是是lua吗?你确信?真的确信?

pizzagoo 发表于 2011-9-13 09:53:25

原帖由 mml 于 2011-9-13 09:43 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
java?我怎么看着不像啊,是不是lua啊?
看错了,sigh

[ 本帖最后由 pizzagoo 于 2011-9-13 09:55 AM 编辑 ]

onlinego 发表于 2011-9-13 09:54:04

牵扯到的其他部分

busy={
interval=0.1,
timeout=10,
new=function()
   local b={}
         setmetatable(b,{__index=busy})
         return b
end,
}
function busy:Next() -- 接口函数
end

function busy:check()

         wait.make(function()
          world.Execute("halt;set busy")
      local l,w=wait.regexp("^(> |)你现在不忙。$|^(> |)设定环境变量:busy \\= \\\"YES\\\"$",self.timeout) --超时
      if l==nil then
                print "网络太慢或是发生了一个非预期的错误"
                self:check()
                return
          end
          if string.find(l,"你现在不忙") then
               self:Next()
             return
          end
          if string.find(l,"设定环境变量:busy") then
             local f=function() self:check() end
               f_wait(f,self.interval)
             return
          end
      wait(self.timeout) --timeout
   end)
end

-- 在脚本中调用这个函数来暂停当前的线程
function f_wait(address, seconds)
id = "wait_timer_" .. GetUniqueNumber ()
hours = math.floor(seconds / 3600)
seconds = seconds - (hours * 3600)
minutes = math.floor(seconds / 60)
seconds = seconds - (minutes * 60)
--print("等待",seconds,"s"," ",id)
wait_table =coroutine.create(function()
    -- print("执行")
   address()
end)
status = AddTimer (id, hours, minutes, seconds, "",
            timer_flag.Enabled + timer_flag.OneShot +
            timer_flag.Temporary + timer_flag.Replace,
            "wait_timer_resume")
assert(status == error_code.eOK, error_desc)
end -- function wait

[ 本帖最后由 onlinego 于 2011-9-13 07:12 PM 编辑 ]

onlinego 发表于 2011-9-13 09:55:22

原帖由 pizzagoo 于 2011-9-13 09:53 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif

看错了,怀疑是vbscript


的确是lua
页: [1] 2 3
查看完整版本: 高手来帮我批注一下每一句都是啥意思,有点看不明白