chans 发表于 2010-7-25 20:05:29

mush关于遍历难题问题,感谢maper,请在帮下忙

比如这个table
["油辣猪排"] = "d n e (buy ylzp from su)",
["油辣猪排b"] = "(qput ylzp) w s u (qreturn)",


["信"] = "(tj2bf) (bf2qp) 5e n (get all from desk) ",

有这个调用方式
QuestFindAction = _QuestFindTable

如果传递的questitem == 油辣猪排 那么就返回d n e (buy ylzp from su) 字符串,
下面的指令
DoAfterSpeedWalk (0.5,QuestFindAction) ------执行指令去购买
等于执行
DoAfterSpeedWalk (0.5,"d n e (buy ylzp from su) ")
上面这种格式就可以用。都是快速行走,可以正常使用。
现在问题是
如果走的比较远,我想要嵌套 alias 怎么嵌套?
比如第三个
["信"] = "(tj2bf) (bf2qp) 5e n (get all from desk) ",
有两个做好的alias 。这个要怎么解决?用Execute ?
还有些地方,要是去的话,第一要wait,
而且是随机的,不知道怎么处理
现在对游戏的乐趣小了,对编程乐趣大了。

[ 本帖最后由 chans 于 2010-7-26 03:46 PM 编辑 ]

maper 发表于 2010-7-25 21:17:50

比如tj2bf代表的指令是5e;3n
bf2qp代表的指令是3s;4e
把"(tj2bf) (bf2qp) 5e n (get all from desk) "通过字符处理都连接起来变成这样的格式:s;n;e;n;n;e;buy jiudai;get all from desk;n;s;之类的
然后以;为分割,把命令挨个发送出去。
除了DoAfterSpeedWalk,还有doafter,doafterspecial,wait命令都可以看看。

maper 发表于 2010-7-25 21:19:56

http://pkuxkx.com/forum/viewthread.php?tid=5017
这个帖子以及后面的回帖要认真阅读,会给你启发的。

maper 发表于 2010-7-25 21:21:38

http://pkuxkx.com/forum/viewthread.php?tid=5602
这个也可以看看

maper 发表于 2010-7-25 21:23:04

http://pkuxkx.com/forum/viewthread.php?tid=4664
zmud遍历改成mush的

maper 发表于 2010-7-25 21:23:47

http://pkuxkx.com/forum/viewthread.php?tid=8309
一些写法和函数

maper 发表于 2010-7-25 21:27:41

估计你是要做一个天机老人找东西的任务吧?
建议还是先画出整个mud的地图吧,这样子可以得到任意两个房间的路径,能够实现自动行走,比你这样用alias要好很多,不会迷路。
关于画地图可以搜索本论坛。

chans 发表于 2010-7-25 22:29:30

好感动mapper 老大。呵呵。这么详细的回复
我先慢慢消化吸收

chans 发表于 2010-7-26 15:31:00

感谢maper。真的不错。很好。很强大
现在做个地图吧。估计理论上可以应对很多情况。
现在学了一个addtir。以后不会为触发多了误操作发愁了。
全部放到脚本里面。需要加上。不需要就del掉。很不错。

chans 发表于 2010-7-26 15:35:44

不过一个问题是。这个方式走,比alias要效率低。尤其是固定位置NPC
我的地图都是四通八达的。做遍历不好做。比如下面的情况
A-----B -----C         DD      EE
         |                  |          I
D ------E------F-----------AA ----BB
         |                     |      |
G------H-------I         CC    FF
         I
J-------K------L
上面的情况。你做遍历 A B C D E F G H I J K L 这样做啊?还是怎么走这个地图?都要重复几次。
如果aliasB E H K L 到了。
比如 E 是中心点,你遍历 E到 L。都要 E-> H-> I-> H-> K-> L 啊?这个还是走了右半面的情况。
不太清楚具体遍历的情况。

[ 本帖最后由 chans 于 2010-7-26 03:39 PM 编辑 ]
页: [1] 2
查看完整版本: mush关于遍历难题问题,感谢maper,请在帮下忙