jarlyyn 发表于 2024-3-12 17:01:46

个人使用的策略配置变量格式

因为不同时期不同ID有不同的特点/Build/任务目标。

所以机器需要有能改在变量里对很多细节变量(策略)进行配置。

我的机器里策略配置的主要诉求是

1.适合填写在客户端的变量框里
2.简单,易理解
3.便于人工书写和读取
4.便于修改

然后随着不停摸索和机器的开发,逐渐整理了一套比较简单,以行为单位,方便使用和细节调整的格式

正好整理一下,发出来,也算自我总结一下,玩一能对别人有所借鉴那就时意外之喜了。

jarlyyn 发表于 2024-3-12 17:02:20

变量的演化其实是这样的

比如我的战斗设置,一开始只有两个perform,比如

perform sword.chan
perform sword.lian

可以加入条件,比如气势来限制执行,比如

qishi 8>perform sword.lian
qishi 12>perform sword.lian

然后新的需求出现了,我需要加入非直接发送的指令,比如高兵武器再出招

#weapons sword
weapon sword,qishi 8>perform sword.lian
weapon sword,qishi 12>perform sword.lian

然后针对不同的任务有不同的战斗方式。

#weapons sword
weapon sword,qishi 8>perform sword.lian
weapon sword,qishi 12>perform sword.lian
宋元桥:jifa sword none
宋元桥:jifa sword taiji jian

根据需要对指令逐渐展开细化

在几个版本迭代后,最后我的配置是采用了多行指令,每个指令一行。格式如下

场景:条件1 条件1参数,!条件2 条件2参数>#指令.指令参数 指令数据

第一个冒号前的部分为场景
第一个大于号前的部分为,条件,条件之间用逗号分割,代表AND操作。条件前加感叹号代表NOT操作。无OR操作
第一个景号之后,空格之前的部分是指令。指令可以通过小数点分割制定指令参数
剩余部分为指令数据。

看着比较干瘪,接下来我按我机器的设置举例说明。

jarlyyn 发表于 2024-3-12 17:03:27

本帖最后由 jarlyyn 于 2024-3-12 05:09 PM 编辑

战斗指令范例

以我ffqm最后的pfm为例,因为是天地会出明教的,所以这个最复杂

#touxi perform fulong-shou.an $1
!qishi 4>#perform duo
qishi 12>#perform jindou
#perform duo
#perform ningxue
#perform pofuchenzhou
jiali 100

天珠:#before yun shield
天珠:yun qi
天珠:#perform pofuchenzhou
天珠:#perform ningxue
天珠:#perform jiulongbian-suo
天珠:#perform fulong-shou
天珠:jiali 0

jxcf:#before yun shield
jxcf:kill cangyang jiacuo
jxcf:yun qi
jxcf:zhaoshe
jxcf:#perform duo
jxcf:#perform ningxue
jxcf:#perform pofuchenzhou
jxcf:jiali 0


shl:#perform duo
shl:#perform ningxue
shl:#perform jindou
shl:jiali 1cheng

yield:jifa sword none;jifa sword danxin-jian


默认战术是气势不足免费的duo用一下
然后优先筋斗,接着夺 凝血 猴拳循环

天珠的话yun qi,然后pfm各来一套(这个号很久没做过天珠了,是遗留的老策略)

见性成佛会招蛇

圣火令任务只用几个对使者有效的pfm

抱头蹲战术(宋元桥)就是busy自己

其中#perform是gmcp推送技能cd前的老指令,后面会介绍

条件里还有很多乱七八糟的,比如这个桃花出天地会的配置

#touxi perform tanzhi-shengong.tan $1
zhuanzhu $1
qishi 4,ok danxin-jian.feihua>perform danxin-jian.feihua
qishi 12,ok tanzhi-shengong.tan>perform tanzhi-shengong.tan

AOE:#before yun shield
AOE:yun qi
AOE:#touxi perform tanzhi-shengong.tan $1
AOE:zhuanzhu $1
AOE:qishi 4,ok danxin-jian.feihua>perform danxin-jian.feihua
AOE:qishi 12,ok tanzhi-shengong.tan>jiali max
AOE:qishi 12,ok tanzhi-shengong.tan>perform tanzhi-shengong.tan
AOE:qishi 12,ok tanzhi-shengong.tan>jiali 0
AOE:!duration 2>huanying


有#touxi指令,在战斗开始前就偷袭npc
有ok 指令,只gmcp的技能cd
有duration指令,表示 战斗时间,这里时是aoe场景斗第一秒使用huanyin分但火力

再比如这个青龙配置
#toggleon zyhb
perform dagou-bang.tiao
perform dagou-bang.zhuan
!qixue 50>tunyun
qishi 20>perform xianglong-zhang.sanhui



开左右互搏,气血不足吞云,气势太多来三巴掌


jarlyyn 发表于 2024-3-12 17:04:07

本帖最后由 jarlyyn 于 2024-3-12 05:11 PM 编辑

招数定义

招数定义是为了计算cd用的,动态添加技能cd触发,还能根据成功和失败触发不同的冷却。现在推送cd后基本不用了。

为了可读性,把指令用做了pfm的定义,把指令参数作为了实际的指令使用

直接抄我的变量解释吧

对绝招(perform)主要时绝招的冷却进行管理
由于一个心跳只能发出一个绝招,管理后可以避免法送过多指令。
绝招定义后在combat中使用,修改后重启生效
范例:

#lian ^你使用了太极剑连字诀.*$
#lian.cd 6
#lian.use.sword my blade
#lian.send perform sword.lian
#lian.sendon perform sword.lian $1
#lian.use.blade my blade
#lian.group taiji-jian
#lian.trigger ^你使用太极剑连字诀成功.*$
#lian.trigger.15 ^你使用太极剑连字诀失败.*$

基本很直观了。

顺便show一下当时天地会出明教的定义

#feihua ^你微笑弹响手中的
#feihua.cd 6
#feihua.group danxin
#feihua.send perform danxin-jian.feihua

#sancai ^你微微一笑,身形回转,长吸一口气,欲使出“天、地、人”
#sancai.cd 4
#sancai.group danxin
#sancai.send perform danxin-jian.sancai


#ningxue ^你把全身的劲力注入双掌,高高跃起,\*\*凝血神抓\*\*,
#ningxue.cd 6
#ningxue.send jiali max
#ningxue.send perform yunlong-zhua.ningxue

#pofuchenzhou ^你使出独步天下的「猴拳」
#pofuchenzhou.cd 5
#pofuchenzhou.send jiali 100
#pofuchenzhou.send perform houquan.pofuchenzhou


#fulong-shou ^你使出乾坤伏龙手绝技「逆鳞按穴」
#fulong-shou.cd 6
#fulong-shou.send perform fulong-shou.an


#jiulongbian-suo ^你喝道:“接我这招「秋云锁龙」如何!?
#jiulongbian-suo.cd 6
#jiulongbian-suo.send perform jiulong-bian.suo

#meiren ^你动作妩媚,朝.*微微一笑,使出了「美人三招」!
#meiren.group dulong-bi
#meiren.send perform dulong-bi.meiren

#yingxiong ^你大喝一声,「子胥举鼎」!
#yingxiong.group dulong-bi
#yingxiong.cd 3
#yingxiong.send perform dulong-bi.yingxiong

#bujue ^你忽然猛一吸气,双掌一立,向.*轻轻地拍出
#bujue.cd 5
#bujue.trigger.3 ^「绵绵不绝」的作用时间还没过,请过一段时间再施展绝技。
#bujue.send jiali 50
#bujue.send perform huagu-mianzhang.bujue

#jindou ^你直抢而前,脚下一踬,忽然一个筋斗摔了过去。
#jindou.cd 3
#jindou.send perform shenghuo-lingfa.jindou

#duo ^你用.+搭住.+的兵器,试图夺走.+的兵器。
#duo.cd 3
#duo.trigger.5 ^[^【:『]{1,16}手中并无兵刃格架,你中官直进,招式递了上去。
#duo.send perform shenghuo-lingfa.duo

#miaofeng ^你忽然低头,一个头锤向.+撞来,如此打法原是武学中大忌,
#miaofeng.cd 10
#miaofeng.send perform shenghuo-lingfa.miaofeng


由于过于复杂,我在加载脚本后还会输出一段文字解释以供调试

初始化绝招
定义绝招ID[^你微笑弹响手中的]成功。
绝招ID的冷却时间设置为 6秒
绝招ID的冷却组设置为 danxin
绝招ID添加不带目标指令 perform danxin-jian.feihua
定义绝招ID[^你微微一笑,身形回转,长吸一口气,欲使出“天、地、人”]成功。
绝招ID的冷却时间设置为 4秒
绝招ID的冷却组设置为 danxin
绝招ID添加不带目标指令 perform danxin-jian.sancai
定义绝招ID[^你把全身的劲力注入双掌,高高跃起,\*\*凝血神抓\*\*,]成功。
绝招ID的冷却时间设置为 6秒
绝招ID添加不带目标指令 jiali max
绝招ID添加不带目标指令 perform yunlong-zhua.ningxue
定义绝招ID[^你使出独步天下的「猴拳」]成功。
绝招ID的冷却时间设置为 5秒
绝招ID添加不带目标指令 jiali 100
绝招ID添加不带目标指令 perform houquan.pofuchenzhou
定义绝招ID[^你使出乾坤伏龙手绝技「逆鳞按穴」]成功。
绝招ID的冷却时间设置为 6秒
绝招ID添加不带目标指令 perform fulong-shou.an
定义绝招ID[^你喝道:“接我这招「秋云锁龙」如何!?]成功。
绝招ID的冷却时间设置为 6秒
绝招ID添加不带目标指令 perform jiulong-bian.suo
定义绝招ID[^你动作妩媚,朝.*微微一笑,使出了「美人三招」!]成功。
绝招ID的冷却组设置为 dulong-bi
绝招ID添加不带目标指令 perform dulong-bi.meiren
定义绝招ID[^你大喝一声,「子胥举鼎」!]成功。
绝招ID的冷却组设置为 dulong-bi
绝招ID的冷却时间设置为 3秒
绝招ID添加不带目标指令 perform dulong-bi.yingxiong
定义绝招ID[^你忽然猛一吸气,双掌一立,向.*轻轻地拍出]成功。
绝招ID的冷却时间设置为 5秒
绝招ID的触发 [^「绵绵不绝」的作用时间还没过,请过一段时间再施展绝技。]添加成功,冷却时间为3秒
绝招ID添加不带目标指令 jiali 50
绝招ID添加不带目标指令 perform huagu-mianzhang.bujue
定义绝招ID[^你直抢而前,脚下一踬,忽然一个筋斗摔了过去。]成功。
绝招ID的冷却时间设置为 3秒
绝招ID添加不带目标指令 perform shenghuo-lingfa.jindou
定义绝招ID[^你用.+搭住.+的兵器,试图夺走.+的兵器。]成功。
绝招ID的冷却时间设置为 3秒
绝招ID的触发 [^[^【:『]{1,16}手中并无兵刃格架,你中官直进,招式递了上去。]添加成功,冷却时间为5秒
绝招ID添加不带目标指令 perform shenghuo-lingfa.duo
定义绝招ID[^你忽然低头,一个头锤向.+撞来,如此打法原是武学中大忌,]成功。
绝招ID的冷却时间设置为 10秒
绝招ID添加不带目标指令 perform shenghuo-lingfa.miaofeng
绝招初始化完毕


jarlyyn 发表于 2024-3-12 17:04:44

本帖最后由 jarlyyn 于 2024-3-12 05:11 PM 编辑

下一个参考,武器修理
由于我是武士刀党,所以初期默认修理是fix 的。后期加了repair指令修随机兵器

先贴我变量说明

需要维修的装备的列表,回车一行一个,暂时只支持系统道具在发呆室修理


xuantie sword
wushi dao

如果需要修理随机武器,需要指定#repair 指令
比如

#repair my sword
#repair my sword 2
wushi dao

所以指定修理的武器会做wield检测。如有需要做wield检测的不修理的武器,使用#norepair指令


#norepair wushi dao 2

然后实例:

wushi dao
wushi dao 2
#repair my sword
#repair my sword 2


jarlyyn 发表于 2024-3-12 17:05:30

最小内力

内力比这个小会去尝试睡觉或打坐
如果设置为小于1的小数,会进入无内力模式,气血或精神小于neili_min会尝试睡觉。

加入指令式支持,支持的指令包括
#nosleep 设置不去睡觉回复内力
#dazuoroom xxx 设置打坐的房间,不指定房间为就地打坐
#cmd 指定内力不足时执行指定指令。
#cmd. 指定内力不足指定百分比时执行指定指令。
#zhenqi 这是在真气消耗会补满真气。

很明显,一般情况下都是指定一个最小内力的数字就可以了,有特殊情况再特殊指定

ffqm的实际设置

4000
#nosleep
#dazuoroom
同样的,加载脚本会有提示

neili_min:设置最小内力为4000
neili_min:禁用睡眠
neili_min:设置随地打坐


jarlyyn 发表于 2024-3-12 17:06:02

装备指令也使用了这个语法,主要是为了引入高兵。时代的眼泪阿。

抄下我的变量说明

装备武器的指令

比如

wield sword at right;wield sword 2 at right

可以设置

#weapons 1

格式,指定repair_list中指定的武器列表中,少与指定的装备列表直接尝试wield

可以设置

#use.blade my sword 形式使用高兵

为了高兵还做了wield手的判断

现在就是单纯的几个装备指令

dtp 发表于 2024-3-12 17:06:07

这个好,这个好。

jarlyyn 发表于 2024-3-12 17:06:53

蛊设置,用蛊喂蛊的。

有些设置不玩五毒的不懂,练功不用蛊,用蛊不练功。

变量说明

针对蛊的设置,一行一条设置。

单独数字为喂养低于这个等级的蛊。#feedroom和#nofeedroom指定喂蛊和不喂蛊的房间。#yonggu可以指定气血不满150%或战斗时使用的蛊。条件combat和fullmeok可以用来指定战斗用蛊和Fullme(任务)状态用蛊。

9
#feedroom home
#nofeedroom jxj
#yonggu 虫一
combat<#yonggu 虫二
combat>#yonggu 虫三
fullmeok>#yonggu 虫四

ffqm实际设置

20
#nofeedroom jxj
fullmeok>#yonggu 虫甲
fullmeok>#yonggu 虫乙
fullmeok>#yonggu 虫丙
fullmeok>#yonggu 虫丁


jarlyyn 发表于 2024-3-12 17:07:49

卖垃圾配置

卖垃圾配置分为两个部分

第一个是 变量设置

根据给到的策略评估物品并进行自动处理

默认可以使用

auto



auto
#keeper 大米ID@位置

这个就是调用了预设的auto设置。有特殊需要可以前面加入其他语句,比如为大米保留2孔朱雀装。

这个配置十分强调顺序,每个道具会打上标签和类型,然后从上向下按第一条符合条件的语句处理,跳过之后所有的命令

auto预设的正文是

#weight 50
#treasure 职业,随机,套装,技能书,宝石,玉
#store type=套装
#store type=技能书
hole 1,quality 4>#store type=职业
!hole 3>#sell type=随机&type=防具
!hole 2>#sell type=随机
!hole 2>#sell type=职业
#keep puti zi,qiannian dan,long dan,nvwa shi,huolong dan
quit:#sell xuejie dan
quit:#sell chan
relogin:#sell xuejie dan
#sell.5 xuejie dan
#store type=宝石
#sell nen cao,sui rouxie
#sell baicao dan,puti zi
#sell type=垃圾
quit:#sell wushi dao,dulong bian
#drop shi tan,xuan bing,yun tie,huo tong
#drop name=破钟
#store name=青玉残片,黄玉残片,赤玉残片,墨玉残片,独山玉,岫岩玉
#keep type=玉
#keep type=随机
#keep type=职业
#keep type=古董
#drop type=任务物品

逐行翻译:

负重50以上强制整理
有职业装,随机装,套装,技能书,宝石,玉,强制整理
套装存了
技能书存了
1空传奇职业装保留
随机防具小于三孔卖
随机装小与2孔卖
职业装小于2孔卖
内力石头都给大米
退出出时卖学姐蛋
推出时卖chan
重新登陆卖学姐蛋
学姐蛋超过5个卖了
宝石存了
嫩草啥的卖了
百草蛋菩提子卖了
垃圾都卖了
退出时武士刀和毒龙鞭都卖了
石炭啥都丢了
破钟丢了
各种玉存了
其他留下来的玉都给大米
其他留下来的随机装都给大米
其他留下来的股东都给大米
任务道具都丢了

页: [1] 2
查看完整版本: 个人使用的策略配置变量格式