北大侠客行MUD论坛

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

我的插件运行不了,请教一下

[复制链接]
发表于 2012-4-5 21:06:49 | 显示全部楼层 |阅读模式
各位大神,我的插件为何运行不了,这个插件我写得比较难看,但是不知道错误处在哪来,mushclient只是提示我插件错误,无法解析
我的这个是想写个丐帮的打听(dating)任务,通过获取NPC给的任务关键词去相应的城门
另外想请教,我这样写是不是思路是不是非常笨,还有没有更简洁的写法?
  1. require "wait"

  2. require "tprint"

  3. go_quest=function()
  4.         place=GetTriggerInfo("get_quest", 102)---得到做任务的地点信息
  5.         while place=("北门") do
  6.         go_n()                  ---去北门做任务
  7.         end                    
  8.         while place=("东门") do
  9.         go_e()                  
  10.         end                    
  11.         while place=("南门") do
  12.         go_s()                  
  13.         end                    
  14.         while place=("西门") do
  15.         go_w()                  
  16.         end                    
  17. end

  18. go_n=function()
  19.         wait.make (function ()  --- coroutine below here
  20.         wait.time(3)
  21.         Execute( "out;n;n;n;n" ) ---去北门了
  22.         send('l') ---通过看城门进行触发
  23.         end)  -- end of coroutine

  24. end

  25. go_e=function()
  26.         wait.make (function ()  --- coroutine below here
  27.         wait.time(3)
  28.         Execute( "out;e;e;e;e" ) ---去东门了
  29.         send('l') ---通过看城门进行触发
  30.         end)  -- end of coroutine

  31. end

  32. go_s=function()
  33.         wait.make (function ()  --- coroutine below here
  34.         wait.time(3)
  35.         Execute( "out;s;s;s;s" ) ---去南门了
  36.         send('l') ---通过看城门进行触发
  37.         end)  -- end of coroutine

  38. end

  39. go_w=function()
  40.         wait.make (function ()  --- coroutine below here
  41.         wait.time(3)
  42.         Execute( "out;w;w;w;w" ) ---去西门了
  43.         send('l') ---通过看城门进行触发
  44.         end)  -- end of coroutine

  45. end
复制代码


北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2012-4-5 21:08:24 | 显示全部楼层
Mushclient提示:
"go_quest()
Trigger 函数 "dating" 无法被执行 - 脚本已被禁用 或者 解析错误。"
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-4-7 18:35:53 | 显示全部楼层
学习了!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2012-4-8 23:50:53 | 显示全部楼层
本帖最后由 xspe 于 2012-4-8 03:53 PM 编辑

我没有什么编程经验,我按自己的理解把Istillsun大侠的程序翻译一下,不懂的地方请Istillsun和其他大侠指教


  1. require "wait"  ---读取模块"wait"

  2. require "tprint"  ---读取模块"tprint"


  3. path={

  4.   ["西门"]={"out;w;w;w;w", "e;e;e;e;enter shudong"},

  5.   ["东门"]={"out;e;e;e;e", "w;w;w;w;enter shudong"},

  6.   ["北门"]={"out;n;n;n", "s;s;s;enter shudong"},

  7.   ["南门"]={"out;s;s;s;s", "n;n;n;n;enter shudong"},

  8. }   ---创建了一个名字为path的数组,里面包含有四个类似为“西门”的数组,数组含有两组值



  9. go_quest=function()  ---创建了一个名字为go_quest的function函数

  10.   wait.make(function()  ---调用了wait模块里的wait.make函数

  11.     Execute("ask zuo about job")  --在mushclient里命令行里执行"ask zuo about job"

  12.     l,w=wait.regexp("你向左全打听有关『job』的消息。")   ---这句和下面一句我不太懂了,是调用了wait模块里的wait.regexp,同时为何要触发这句呢?

  13.     l,w=wait.regexp("打探消息就靠你们这些跑腿的了,你去(.*)打听")   ---接上面的,这个写法我不太懂,是大概知道需要触发句,同时需要正则来获取变量

  14.     local place=w[1]   ---获取一个局部变量,就是接任务的地点,但是这个写法啥意思?"place=w[1]"这个"[1]"表示获取就是变量吗?为何是1呢?而上句的"l,w"一直没搞懂

  15.     Execute(path[place][1])   ---按获取的变量,来执行path数组对应的值(也就是路径)

  16.     while true do   ---这句不理解,意思是当获取了变量的值,则执行?是这个意思吗?

  17.       Execute("dating")   ---同上

  18.       l,w=wait.regexp("你已经完成了打听消息的任务,可以回去复命了!",3)   ---这个写法不理解,并且触发后还跟了个",3",不明白...

  19.       if l~=nil then   ---这句判断是什么意思?

  20.         print("10s后返回...")   ---输出信息“10s后返回...”

  21.         wait.time(10)   ---等待10秒

  22.         break   ---这个"break"的作用是结束if判断吗?

  23.       end

  24.     end

  25.     Execute(path[place][2])   ---当根据上面的判断,结束任务,按path数组里的place数组的第二个值来执行回去的路径

  26.   end)

  27. end
复制代码


既然LUA是计算机语言,以上就是我能理解的语言,并且给出翻译,各位大神一看就知道我确实是个编程小白,请大神能用通俗易懂的语言来帮我解释一下,谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2012-4-10 00:40:44 | 显示全部楼层
谢谢istillsu大侠,这下明白了,我个人认为使用Mushclient来编程玩MUD也是MUD的乐趣之一
以后请多多指教~
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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