did 发表于 2009-5-13 20:50:03

关于MUSH的触发问题

var skill = "sword";
function Lian2()
{
ti();
var cmd="(lian "+skill+" 50)";
world.DoAfterSpeedWalk (0.1,cmd);
}


做了一个触发,调用上面这个js函数,设置的time参数是0.1秒,但是实际触发时,却是1秒才触发1次,请问是为什么呢?

ddid 发表于 2009-5-13 20:58:31

DoAfterSpeedWalk(),有没有在commands里设置Delay?

为什么不用DoAfter?

maper 发表于 2009-5-13 21:03:42

global preferences里面的timer要设置为0;不过也可能是walk delay没设置好,还是用doafer或者DoAfterSpecial吧

ddid 发表于 2009-5-13 21:07:00

hoho,maper……

看来有我遗留的问题……

yct54

did 发表于 2009-5-13 21:08:12

doafer和DoAfterSpecial 跟我用的这个有什么区别吗?

还有请问,触发的语句中如果带有"(", 应该怎么写?
比如:
│基本剑法 (sword)                         - 已有小成 191/   0│

这行怎么做触发?
^│(.*) ((.*)) (.*) - (.*) (.*)/
结果不能触发

ddid 发表于 2009-5-13 21:17:29

难的留给maper,我回答简单的。

DoAfter相当于send命令to world,DoAfterSpeekWalk相当于一般只发送行走的命令to speekwalk。

"("、")" 都需要转义符,即 \( 和 \)

关于匹配的正则表达式,推荐你看个帖子 http://bbs.mudbuilder.com/read.php?tid=1654
2楼

maper 发表于 2009-5-13 21:25:37

原帖由 <i>ddid</i> 于 2009-5-13 09:17 PM 发表 <a href="http://pkuxkx.net/forum/redirect.php?goto=findpost&pid=59179&ptid=6135" target="_blank"><img src="http://pkuxkx.net/forum/images/common/back.gif" border="0" onclick="zoom(this)" onload="attachimg(this, 'load')" alt="" /></a><br />
难的留给maper,我回答简单的。<br />
<br />
DoAfter相当于send命令to world,DoAfterSpeekWalk相当于一般只发送行走的命令to speekwalk。<br />
<br />
"("、"<img src="images/smilies/default/wink.gif" smilieid="4" border="0" alt="" />" 都需要转义符,即 \( 和 \)<br />
<br />
关于匹配的正则表达式,推荐你看个帖子 h ... <br />

maper 发表于 2009-5-13 21:29:22

靠,我的回复白打了!sigh
DoAfterSpecial(long Seconds, BSTR SendText, short SendTo);
DoAfterSpecial(延迟, 内容, 发送到);
发送到包括:
0: World
1: Command window
2: Output window
3: Status line
4: Notepad (new)
5: Notepad (append)
6: Log File
7: Notepad (replace)
8: Command queue
9: Send To Variable
10: Execute (re-parse as command)
11: Speedwalk (send text is speedwalk, queue it)
12: Script (send to script engine)
13: Immediate (send to world in front of speedwalk queue)
14: Script - after omit (send to script engine, after lines have been omitted)

world.DoAfterSpecial (10, "4s 3w", 11)和world.DoAfterSpeekWalk (10, "4s 3w", 11)等价

这三者区别还是蛮大的,DoAfterSpecial包含了另外两个。

sure 发表于 2009-5-13 21:33:56

DoAfterSpecial很强大的,我新的朱熹question用到 12: Script (send to script engine)
其实mush太强大了,我们只认识到冰山一角而已。

ddid 发表于 2009-5-13 21:38:51

agree2 sure

昨天看了MUSHClient的官网,MUSHClient 4.40提供了对SQLite的API,太强了!

玩MUD以后不仅要学语言,还要学数据库了!

yct10
页: [1] 2
查看完整版本: 关于MUSH的触发问题