文字MUD游戏论坛-天下泥潭群英会-水泊梁山

文字MUD游戏论坛-天下泥潭群英会-水泊梁山 (http://www.aolai.org/forums/)
-   『 机器人制作及下载 』 (http://www.aolai.org/forums/f5/)
-   -   报道!再问个问题 (http://www.aolai.org/forums/t3415/)

medu 2003-06-08 15:23

报道!再问个问题
 
经常来这里看,可一直懒的注册,呵呵。
现有一ZMUD4.62的机器人问题不明,望各位高手指教:
当用路径找怪的时候,先碰到的是和自己的怪同名的,这时候路径已经被机器#STOP、#BA了,我想继续把剩下的路径继续走完,该怎么做呢?这时再用#STEP的话,只能走接下来的一步了:(
另:我看了关于灭妖后怎么回来的讨论,我在北京站除了地府的ID,其他要么用将军府大米做的符,要么就用SEASHENTONG,我觉得SEASHENTONG比较好,有人会说水遁的地点不固定,其实我是这样做的:水遁之后先FIND一下自己是在龙宫还是碧波潭,在龙宫的话#RE .LONGGONGBACK,在碧波潭就#RE .BIBOTANBACK,(其中的LONGGONGBACK和BIBOTANBACK是事先做好的两个路径,保证第一步的地方可以飞,覆盖龙宫或碧波潭的绝大部分就行了,碰到象莽林这样的地方过一会重新水遁)。SEASHENTONG在北京站的另一个好处就是可以吃龙

fengyue_xyj 2003-06-09 14:41

snowball medu
welcome medu *hoho
这个问题嘛,以前我都好象没怎么在意,就是直接杀的,因为当时ID还算不弱,一般西游记能出现的怪都能干掉。所以就。。。 *giggle *escape
不过要是怕遇到危险的怪,我想要是给我做这个trigger的话,我会先查一次,如果名字相同但是并非自己的怪的时候就再找一次。这样虽然有点浪费时间,而且可能要一次一次的走,不过改起robot来会比较简单。

灭妖回去的方法这里也曾经讨论过,一般做seal和tudun,shuidu都是很好的方法。
*hoho *cool

medu 2003-06-09 17:43

其实。。。
 
我想问的是QUEST的时候,碰到了象白铜甲这类的任务,如果当铺没有,要去平顶拿,那么多小妖,如果不在第一个的身上,要看第二个,这一步里没有,要下一步,所以就碰上了我如上说的问题。不知ZMUD有没有一个命令来#sl .剩下的路径的?我用的是4.62

fengyue_xyj 2003-06-09 17:56

我倒!*flop
这个不是更简单了嘛!不要用#path,用#trigger。
小妖死了=》拿盔甲=》没有=》看第二个小妖=》
没有小妖=》去第二个房间(去第二个房间的路径由#alias GotoNextRoom {n;ne}完成)
*hoho *hoho

medu 2003-06-10 09:22

这个我也想到了
 
但如果能利用原来的path,就省事多了(我的QUEST和MIEYAO是放在一个机器里的,象胡的灭妖、殷的送物和陈的拜贤,都是利用原来的PATH,我现在想改进的是拿WEAPON、ARMOR、FOOD、CLOTH的那四个任务--因为当铺里有的东西没有的卖)。你想,不光是平顶的小妖,还有其他很多NPC,分布在各个地方,要是每个地方都做上那么多ALIAS,多繁啊*yawn

fengyue_xyj 2003-06-10 09:57

每个地方就一个trigger,我一点都不觉得麻烦啊。
每个地方都是:#trigger (这里没有这个人。) {GotoNextRoom}
GotoNextRoom 由 "#if (@room=1) {#al GotoNextRoom {路径}}" 等几个命令完成,放在同一个trigger中。

如果一定要用#path而又不想增加从一个房间移动到另一个房间path的话,据我所知是只能用#step一步一步走了。不过那些个洞里面的房间距离也不是很远,一般都是只有一两步,一步一步走也很快就到了。

medu 2003-06-10 15:19

#al GotoNextRoom {路径}
 
那这个定义的路径是不是固定的呢?不同的地方到下一步是不同的,机器怎样才能判断下一步是什么,才能用#al GotoNextRoom 正确定义?比如说:在平顶的时候,我的下一步是west,那我就#al GotoNextRoom {w},机器执行了w,到了WEST也没有我要的东西,那我这时候就要根据这里的下一步定义 #al GotoNextRoom {nw;nw;w}了。

fengyue_xyj 2003-06-10 18:45

所以才要用#if啊,先判断你现在哪个ROOM(可以用地名,描述,路径等来判断),room的号码还可以用#add或者#var来变化。正如我所说:
引用:

GotoNextRoom 由 "#if (@room=1) {#al GotoNextRoom {路径}}" 等几个命令完成,放在同一个trigger中。

#if (@room=1) {#al GotoNextRoom {路径->从Room1 到 Room2}};
#if (@room=2) {#al GotoNextRoom {路径->从Room2 到 Room3}};
依次类推。。。

nirvana 2003-06-11 01:35

用#if, #case, #math这3个似乎会简单些

fengyue_xyj 2003-06-11 06:25

of course, if you know more symbols, then the programming will be easier.
hohoho


所有时间均为格林尼治时间 +9, 现在的时间是 00:33.

Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue


Content Relevant URLs by vBSEO 3.6.1