北大侠客行MUD论坛

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

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

[复制链接]
发表于 2010-7-25 20:05:29 | 显示全部楼层 |阅读模式
比如这个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]

如果传递的  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 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 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命令都可以看看。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-25 21:19:56 | 显示全部楼层
http://pkuxkx.net/forum/viewthread.php?tid=5017
这个帖子以及后面的回帖要认真阅读,会给你启发的。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-25 21:21:38 | 显示全部楼层
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-25 21:23:04 | 显示全部楼层
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-25 21:23:47 | 显示全部楼层
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-7-25 21:27:41 | 显示全部楼层
估计你是要做一个天机老人找东西的任务吧?
建议还是先画出整个mud的地图吧,这样子可以得到任意两个房间的路径,能够实现自动行走,比你这样用alias要好很多,不会迷路。
关于画地图可以搜索本论坛。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-25 22:29:30 | 显示全部楼层
好感动mapper 老大。呵呵。这么详细的回复
我先慢慢消化吸收
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-7-26 15:31:00 | 显示全部楼层
感谢maper。真的不错。很好。很强大
现在做个地图吧。估计理论上可以应对很多情况。
现在学了一个addtir。以后不会为触发多了误操作发愁了。
全部放到脚本里面。需要加上。不需要就del掉。很不错。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 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 这样做啊?还是怎么走这个地图?都要重复几次。
如果alias  B E H K L 到了。
比如 E 是中心点,你遍历 E到 L。都要 E-> H-> I-> H-> K-> L 啊?这个还是走了右半面的情况。
不太清楚具体遍历的情况。

[ 本帖最后由 chans 于 2010-7-26 03:39 PM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-28 09:29 PM , Processed in 0.010531 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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