北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 410|回复: 10

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

[复制链接]
发表于 2024-3-12 17:01:46 | 显示全部楼层 |阅读模式
因为不同时期不同ID有不同的特点/Build/任务目标。

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

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

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

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

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

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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操作
第一个景号之后,空格之前的部分是指令。指令可以通过小数点分割制定指令参数
剩余部分为指令数据。

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

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-3-12 17:03:27 | 显示全部楼层
本帖最后由 jarlyyn 于 2024-3-12 05:09 PM 编辑

战斗指令范例

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

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

  8. 天珠:#before yun shield
  9. 天珠:yun qi
  10. 天珠:#perform pofuchenzhou
  11. 天珠:#perform ningxue
  12. 天珠:#perform jiulongbian-suo
  13. 天珠:#perform fulong-shou
  14. 天珠:jiali 0

  15. jxcf:#before yun shield
  16. jxcf:kill cangyang jiacuo
  17. jxcf:yun qi
  18. jxcf:zhaoshe
  19. jxcf:#perform duo
  20. jxcf:#perform ningxue
  21. jxcf:#perform pofuchenzhou
  22. jxcf:jiali 0


  23. shl:#perform duo
  24. shl:#perform ningxue
  25. shl:#perform jindou
  26. shl:jiali 1cheng

  27. yield:jifa sword none;jifa sword danxin-jian
复制代码


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

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

见性成佛会招蛇

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

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

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

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

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

  5. AOE:#before yun shield
  6. AOE:yun qi
  7. AOE:#touxi perform tanzhi-shengong.tan $1
  8. AOE:zhuanzhu $1
  9. AOE:qishi 4,ok danxin-jian.feihua>perform danxin-jian.feihua
  10. AOE:qishi 12,ok tanzhi-shengong.tan>jiali max
  11. AOE:qishi 12,ok tanzhi-shengong.tan>perform tanzhi-shengong.tan
  12. AOE:qishi 12,ok tanzhi-shengong.tan>jiali 0
  13. AOE:!duration 2>huanying
复制代码


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

再比如这个青龙配置
  1. #toggleon zyhb
  2. perform dagou-bang.tiao
  3. perform dagou-bang.zhuan
  4. !qixue 50>tunyun
  5. qishi 20>perform xianglong-zhang.sanhui
复制代码



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


北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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一下当时天地会出明教的定义

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

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


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

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


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


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

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

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

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

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

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

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


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

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


北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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

然后实例:

  1. wushi dao
  2. wushi dao 2
  3. #repair my sword
  4. #repair my sword 2
复制代码


北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-3-12 17:05:30 | 显示全部楼层
最小内力

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

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

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

ffqm的实际设置

  1. 4000
  2. #nosleep
  3. #dazuoroom
复制代码

同样的,加载脚本会有提示

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


北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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手的判断

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

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2024-3-12 17:06:07 | 显示全部楼层
这个好,这个好。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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实际设置

  1. 20
  2. #nofeedroom jxj
  3. fullmeok>#yonggu 虫甲
  4. fullmeok>#yonggu 虫乙
  5. fullmeok>#yonggu 虫丙
  6. fullmeok>#yonggu 虫丁
复制代码



北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-3-12 17:07:49 | 显示全部楼层
卖垃圾配置

卖垃圾配置分为两个部分

第一个是 变量设置

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

默认可以使用

auto



auto
#keeper 大米ID@位置

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

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

auto预设的正文是

  1. #weight 50
  2. #treasure 职业,随机,套装,技能书,宝石,玉
  3. #store type=套装
  4. #store type=技能书
  5. hole 1,quality 4>#store type=职业
  6. !hole 3>#sell type=随机&type=防具
  7. !hole 2>#sell type=随机
  8. !hole 2>#sell type=职业
  9. #keep puti zi,qiannian dan,long dan,nvwa shi,huolong dan
  10. quit:#sell xuejie dan
  11. quit:#sell chan
  12. relogin:#sell xuejie dan
  13. #sell.5 xuejie dan
  14. #store type=宝石
  15. #sell nen cao,sui rouxie
  16. #sell baicao dan,puti zi
  17. #sell type=垃圾
  18. quit:#sell wushi dao,dulong bian
  19. #drop shi tan,xuan bing,yun tie,huo tong
  20. #drop name=破钟
  21. #store name=青玉残片,黄玉残片,赤玉残片,墨玉残片,独山玉,岫岩玉
  22. #keep type=玉
  23. #keep type=随机
  24. #keep type=职业
  25. #keep type=古董
  26. #drop type=任务物品
复制代码


逐行翻译:

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

北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 10:35 PM , Processed in 0.010580 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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