北大侠客行MUD论坛

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

如何加载wait.lua 啊??

[复制链接]
发表于 2012-3-18 18:49:30 | 显示全部楼层 |阅读模式
本帖最后由 sizak 于 2012-3-18 06:57 PM 编辑

已经在行首 加上 require "wait"
还是提示我这个。。。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-18 19:04:42 | 显示全部楼层
什么脚本,脚本代码贴出来看看
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-18 21:25:48 | 显示全部楼层
这个不是很懂,我也想知道。求答案!!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-18 21:39:33 | 显示全部楼层
wait.lua应该加载正常,应该是你调用wait.time的问题,所以需要看看脚本代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-19 10:27:05 | 显示全部楼层
wait不能在主线程调用。 必须在辅线程调用。
用mush,建议上来就开启辅线程, 然后一切代码都放辅线程中。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-19 12:42:34 | 显示全部楼层
回复 5# wgogo


    这个主线程和辅线程不是很明白,是不是可以理解为主线程就是直接调用的文件,辅线程就是主线程中require的文件
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-21 19:15:08 | 显示全部楼层
回复 7# shuigui


    请高手指点,empty 在哪里
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-21 19:17:46 | 显示全部楼层
楼主的引用没有问题。出现这个错误提示,估计还是代码里有问题。
不懂啥是线程。。-----
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-22 12:46:00 | 显示全部楼层
本帖最后由 emyt 于 2012-3-22 11:51 AM 编辑

协同程序(coroutine)与多线程情况下的线程比较类似:有自己的堆栈,自己的局部变量,有自己的指令指针(IPinstructionpointer),但与其它协同程序共享全局变量等很多信息。线程和协同程序的主要不同在于:在多处理器情况下,从概念上来讲多线程程序同时运行多个线程;而协同程序是通过协作来完成,在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只在必要时才会被挂起。
可以看看活鱼的代码
http://www.pkuxkx.com/forum/viewthread.php?tid=3866
引用一段
  1. function diaoyu_start()
  2. wait.make (function ()  --- coroutine below here
  3.                 wait.regexp ("这里是城市的正中心,一个很宽阔的广场,铺着青石地面。一些游手好闲")
  4.                 wait.time (1) -- 等待1秒
  5.                 Note( '回到ct了' ) -- 提示到达目的地
  6.                 diaoyu_cttomatou() -- 从ct走道岸边
  7.         end)  -- end of coroutine
  8.         diaoyu_maiyuer() -- 去买鱼饵
  9. end
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2012-3-31 23:38:42 | 显示全部楼层
多说两句:
比如有个程序:
function abc()
       wait.time(10)      --等待10秒的例子
       l = wait.regexp("触发放这儿", 5)   --等待触发5秒,
       if(l == nil) then return end    -- 没有等到触发
     print("有了触发, 代码写下面")
       --这里写其他代码
end

如果你的机器人就是调用abc, 那么这么调用:
co = coroutine.create(abc)
coroutine.resume(co)

我所有的机器人都是这个结构, 基本用wait.exp, wait.time这两个函数可以搞定所有东西。
希望对大家有点用。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 03:27 PM , Processed in 0.010598 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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