freeway 发表于 2011-10-24 21:11:51

MUSH 怎么才能让用户输入的命令不输出到MUD里

我们知道 OnPluginSent 能获取用户输入的命令,然后再进行一系列判断。
如果不合法,或者我们不希望用户的这个命令被执行,有什么办法么?

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

glider 发表于 2011-10-25 14:52:48

在Configuration里面找到左边Commands标签

把Echo My Input...前面的钩钩取消就可以了

glider 发表于 2011-10-25 14:54:22

看错了,忽略前面的回复

freeway 发表于 2011-10-25 21:23:29

如果能实现,当角色处于迷宫前,在按下enter进入的时候,可以弹出对话框提示确认进入迷宫,或者调用对应的策略通过迷宫。无视这个过程中角色输入的其他命令。

freeway 发表于 2011-10-25 21:48:51

也可以用于慢速行走,或者遍历搜索NPC时,如果没有确认取消当前任务,输入的任何方向命令都无效,以免影响机器人工作。

littleknife 发表于 2011-10-25 22:09:10

回复 5# freeway

GetQueue();
以一个数组的形式返回命令列表。

DiscardQueue()
停止命令序列,以快速行走的延迟间隔时间发送命令序列,返回被停止的命令的编号。

Queue(BSTR Message, boolean Echo);
以快速行走间隔时间发送队列的命令。

freeway 发表于 2011-10-25 22:16:48

本帖最后由 freeway 于 2011-10-25 10:20 PM 编辑

Queue() 中的队列命令在被执行的时候,可以忽视键盘输入么?我试下

freeway 发表于 2011-10-25 22:30:47

for k,i in pairs (walk_current) do
    Queue(i,true)
end

~~Biu一下,就出去了。

freeway 发表于 2011-10-25 22:36:46

果然是哦 ,谢谢 littleknife

freeway 发表于 2011-10-25 22:47:04

本帖最后由 freeway 于 2011-10-25 11:12 PM 编辑

还是每走一步判断一下吧,
地图线路100%没问题,才敢使用Queue()
Queue() 一旦执行,只能结束,不能暂停。
页: [1] 2
查看完整版本: MUSH 怎么才能让用户输入的命令不输出到MUD里