我讲讲我的解迷机器(zmud5.55版本)的思路吧:
首先每个地图一个文件,里面写着:
fly xxx
e
w
......
这样的走路的动作。
然后可以建立数据库了,里面有这样几个字段:
qName,qID,map,step1,action,npc,step2
建立记录,比如:
^粽子^,zongzi,zz,28,buy,laoban,0
^浣花^,huan hua,xs,61,ask,下山比武,0
^陈妈^,chen,tt,8,ask,捕鱼术,30
然后写动作,当在地图上走路到指定的位置step1的时候,
用“%S这里????的出口”做触发,触发ask 这个 class,
进行ask的动作,等待2秒,如果没有出现表示任务成功的语句,
就认为失败。如果step2 != 0 那么就从step1到step2每走一步触发一次。
如果step1 = 0 那么整个地图找,用灭妖机器的法子吧。
以上是机器雏形。
动作有以下:
ask 拜贤
buy 购物
dummy 找大米要
get 捡
give 送物
hunt 看npc身上有无任务物品并决定是否去杀该npc
kill 杀
want 找npc要
zhuo 用金刚琢拿到怪物兵器(这种怪物没有尸体的)
pawn 去当铺买
rob 杀npc并获得物品
同时设定7个变量:
q_canArmor
q_canAsk
q_canCloth
q_canFood
q_canGive
q_canKill
q_Weapon
当这些变量等于:0表示失败,1表示未做,2表示完成
同时有q_Current表示当前正在做第几个任务。
交任务时要判断云彩:
#7 #if (%pos(%case(%i,红,青,绿,黄,蓝,粉,白),@q_cloud)) {#noop} {q_current=%i
q_solvei}
q_solvei 是当任务完成就显示提交该任务要走的路数,然后去交任务。
机器只做六朵云到七朵云。