北大侠客行MUD论坛

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

mush 延时执行命令变通解决方法

[复制链接]
发表于 2011-1-29 22:43:16 | 显示全部楼层 |阅读模式
正好在挂基本功,上来发个帖子。
大致浏览了一下论坛,当然也摆渡了一下,发现MUSH当前使用的4.43版本并没有内置类似于ZMUD的wait函数。官方网站老实说本人看不懂,可能新版本已经有了。
这里想说一下的是通过LUA脚本以及MUSH内置的doafter()来变通实现延时执行命令(MUSH爱好者上有更牛的方法about线程控制,可以实现暂停)。
我的方法只能延时执行,无法暂停,无法结束。如果对你没什么帮助,只能说很遗憾了。
废话说完,正式开始:
建立两个数组,一个存储指令,一个存储延时时间,然后通过循环语句输出一组doafter()
比如:A 1秒,B 2秒,C 3秒
myArray1={A,B,C}
myArray2={1,3,6}
for i=1,3,1 do
  doafter(myArray2,myArray1)
end
为什么是1,3,6呢,因为第二个指令等待时间不是两个指令的间隔时间。所有的doafter()都是从0秒一起开始计时,所以第二个指令要加上第一个指令的等待时间,第三个要加上前两个的,如此类推。
这里只有例子没有现成的函数,实在看不懂或者想要现成的MAN,可以留言或者直接去WIKI上找!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-1-29 22:49:23 | 显示全部楼层
要实现#wait
重点不再doafter上或者现成上,重点在于实现一个指令解释器
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2011-1-30 10:35:21 | 显示全部楼层
wait 是用了lua 的协同程序
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 03:37 PM , Processed in 0.008695 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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