|
一整天折腾的结晶。
这个机器人之所以称之为全是因为它可以根据你定制的列表,自动一项一项地把列表中的技能练到指定等级,中间完全不需要任何操作。
依旧延续MSQUARE的一贯作风,尽力保证精气神使用的最大化。
依旧ZMUD7.21版,其他版本不保证可用。
使用任何MSQUARE编写的机器人,请导入以下状态提取触发器- #CLASS {Status} {enable}
- #VAR exp {0}
- #VAR jingli {0}
- #VAR jingshen {0}
- #VAR neili {0}
- #VAR pot {0}
- #VAR qixue {0}
- #VAR jingli_max {0}
- #VAR jingshen_max {0}
- #VAR neili_max {0}
- #VAR qixue_max {0}
- #VAR qixue_health {0}
- #VAR jingshen_health {0}
- #TRIGGER {【%s潜能%s】%s(%d)} {#var pot %1}
- #TRIGGER {【%s经验%s】%s(%d)} {#var exp %1}
- #TRIGGER {【%s精神%s】%s(%d)%s/%s(%d)%s~[(*)~%~]%s【%s精力%s】%s(%d)%s/%s(%d)} {
- #var jingshen %1
- #var jingshen_max %2
- #var jingshen_health %3
- #var jingli %4
- #var jingli_max %5
- }
- #TRIGGER {【%s气血%s】%s(%d)%s/%s(%d)%s~[(*)~%~]%s【%s内力%s】%s(%d)%s/%s(%d)} {
- #var qixue %1
- #var qixue_max %2
- #var qixue_health %3
- #var neili %4
- #var neili_max %5
- }
- #CLASS 0
复制代码 如出现其它问题,请回帖说明。
使用说明:
开始命令:sleep_transfer
开始前请确认sleep_condi和sleep_lian两个类别被disable,其他3个类别均enable。
不要随便移动别名、变量和触发器的位置,不要随便改子分类名,除非你确认你完全看透了代码。
sleep_accomplish别名会在所有练习完成以后被执行,你可以加一些想要的东西把这个变态的自动链连得更长。
默认运行地点是自己家里,用完了精气神就会睡觉,所以名字机器人叫sleep。
其他可以睡觉的地方理论上也可。但是需要修改断线重连(人物已经离线情况--主要是服务器重启)后的路径,即"客店留言板"触发器的内容。
没有包含断线自动重连(断线但人物未离线)的触发,请把你自己的断线重连触发器指向sleep_recon_cmd别名
这个机器人用到了数据库,想要保持机器人自动运行的话,需要导入数据库文件,并且在机器人运行过程中数据库窗口要保持打开!(可以最小化,我觉得这应该是ZMUD的BUG)
数据库项目说明:
id:武功英文id
name:武功中文名
type:武功的enable类型
wield:练习武功需要装备的武器id(请自行保证身上有该武器)
lian_type:武功分为两种类型:练习时消耗内力的(condi)和练习时不消耗内力的(lian)
qixue_bound:练习武功要求的最低气血值
neili_bound:练习武功要求的最低内力值
注:以上3项(lian_type,qixue_bound,neili_bound)的类型和数据可以通过help menpai-xxxx查到,但是不一定对,最好自己试验确定。例如灵鹫的两种空手功夫都没写会消耗内力,但是实际上都要消耗。
附件里有一个我创建好了的数据库作为例子。依葫芦画瓢填你的武功就行了,数据库武功数据,前面几项都应该是永远固定的,只有aim_lvl是目标等级是需要根据需要每次都要填写的,cur_lvl是当前等级,触发器会自动抓取写入,不用填,填了也没用。
变量sleep_list是需要修炼的武功列表(数据库不是),顺序是由这个变量里的武功顺序决定的,一定要按照需要的顺序填。注意自行理清武功等级限制关系排序,比如太极剑不能超过太极拳等等。填写的是武功的英文id。
sleep_list里的英文id,数据库里的英文id必须和sk出来的英文id完全一致。
中文名必须和武功升级信息中显示的完全一致。
修炼的武功数据数据库里必须有,即sleep_list里的id必须对应一个数据库里的id,并且条目的数据要完备(除了cur_lvl)。
每次使用前把sleep_cnt置零。“每次”的定义为每次修改sleep_list列表之后
或者将
#VAR skill_id %item( @sleep_list, @sleep_cnt)
替换为:
#VAR skill_id %pop(sleep_list)
#IF (@sleep_cnt>%numitems( @sleep_list)) {sleep_accomplish} {sleep_transfer_sign}
替换为:
#IF (%numitems(@sleep_list)==0) {sleep_accomplish} {sleep_transfer_sign}
替换之后与之前的区别在于练完一个技能就会从列表里删一个。替换坏处是如果出问题机器人提前认为技能练完了之后想改回去的话得手动重新写。好处是不用在每次使用时把sleep_cnt置零,这个变量可以删掉。
其他应该没啥了,想起来再补
[ 本帖最后由 msquare 于 2008-5-3 04:12 PM 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|