北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: xql

机器人求助

[复制链接]
发表于 2008-1-18 10:34:08 | 显示全部楼层
可以这么实现
定义一个task_obj的变量,一个zxp的变量
trigger:
+ (*)在一个有着*的出口的地方。 -> task_obj=%1;say @task_obj;#if (@task_obj==@zxp) {nod} {shake};kick
var:
@zxp                岳不群的紫霞袍

这样就可以,不知道为什么
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2008-1-18 17:52:06 | 显示全部楼层
又出现了个新问题...
>(*)在一个有着*的出口的地方
有>号的时候连">"也抓进来了...有没有什么命令可以忽略">"
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2008-1-18 22:46:59 | 显示全部楼层
考虑这样,写两个触发,设置个变量
一个带>,一个不带。
如果带>的触发了,就变量设置成某某,然后不带>的看一下,如果变量变了,说明带>的触发了,就按带>的来,否则说明没触发,就按不带>的来。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2008-1-19 01:45:24 | 显示全部楼层
资质愚钝,没看明白
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2008-1-19 06:17:29 | 显示全部楼层
在你每次由bot输入locate 某某的时候,都带一句,比如a=0
然后设置一个触发
>(*)在一个有着*的出口的地方。 -> a=1;task_obj=%1;say @task_obj;#if (@task_obj==@zxp) {nod} {shake};kick
比whuan的多个a=1,说明他触发了
再设置个触发
(*)在一个有着*的出口的地方。 -> #wa 100;#if (@a=0) {task_obj=%1;say @task_obj;#if (@task_obj==@zxp) {nod} {shake};kick} {a=0}
如果上一个触发了,说明有>,那后一个就不执行,把a归零,等下一次就好了,否则说明上一个没触发,那这个就触发他,加个延时死为了保证他判断的时候上一个已经判断完了。
我没做过几次task,不熟悉,只是就事论事哈,也许不成立,表笑我,嘿嘿
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2008-1-19 11:11:54 | 显示全部楼层
明白了,谢谢
bow
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2008-1-19 17:40:21 | 显示全部楼层
原帖由 xql 于 2008-1-16 01:40 AM 发表
在做自己用的task机器,遇到个难题:
比如@npc=玄悲大师,那么id here
玄悲大师             = xuanbei dashi, xuanbei, dashi

怎么样才能取到后面的id呢,其他npc可能是@npc   =id1,id2,id3,id4....
我应该怎么做 ...


正解:
#TRIGGER {(*)%s~=%s(*)} {name=%1;id=%2;#var id %word( @id, 1, %char( 44));#var name %word( @name, 1, %char( 32));#ec @name @id}

用id here命令触发。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2008-1-19 17:47:07 | 显示全部楼层
原帖由 whuan 于 2008-1-16 11:08 AM 发表
比如你已经获取到target_id=xuanbei dashi, xuanbei, dashi
#var temp_id;#var temp_pos;temp_pos=%pos(",",target_id);#if (temp_pos == 0) {temp_id=target_id} {temp_id=%left(target_id,temp_pos)}

没有测试 ...


不用这么复杂的,一个%word(@target_id,1,%char(44))即可
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2008-1-19 17:51:18 | 显示全部楼层
task没有搜魂特技太烧钱了,而且在北京或其他bt地点烧了钱都去不了更昏。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2008-1-19 19:40:29 | 显示全部楼层
%word()
%char()
#ec
都不知道作用...

视乎你作task想保持什么速度,如果我要打破一小时20万就必须烧钱了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 07:54 AM , Processed in 0.012250 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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