北大侠客行MUD论坛

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

漂流任务自动识别明教并定向pfm(Zmud721适用)

[复制链接]
发表于 2018-4-17 11:54:12 | 显示全部楼层 |阅读模式
本帖最后由 eblisade 于 2018-4-17 05:42 AM 编辑

感觉这对各位大佬们来说都是小case,不过我还搞了挺久才搞明白...分享几个关键trigger出来得瑟一下。大佬们肯定有更好的思路,请不吝拍砖。
话说我理解这样应该不违规?bow

思路是这样的:
1. 水贼爬上船=》look
2. 抓取水贼id,分别look各个水贼
3. look到拿着圣火令的水贼则将其名称存为@mingjiao_name,id存为@mingjiao_id
4. 之后就可以定向对着明教水贼发化学pfm了
5. 打退明教水贼后再次look,如果船上还有明教水贼则重复以上2-4步

唯一一个比较特殊的trigger是loop line,zmud官网说这个功能只有6.20以后版本才有,所以462上用不了。
官网对loop lines介绍如下:

Loop Lines

The "Loop Lines" type will fire the trigger whenever the pattern is matched during the next N lines.  Once N lines have been received, the trigger state is automatically incremented.  For example:

#TRIGGER {Zugg} {#CW high,red}
#COND {Hello} {#CW high,blue} {LoopLines|Param=5}

Once the "Zugg" text is received from the MUD, the trigger will then look at the next 5 lines from the MUD.  If any of those lines contains the "Hello" text, it will get colored bright blue.  Once the 5 lines have been received, it increments to the next trigger state, and wraps back to the beginning.


这个功能实际上是多阶段触发的一种。若在trigger第一次被触发并执行第一阶段命令后若干行内出现特定字句,则执行第二阶段命令。若第一次触发后若干行内未出现特定字句,则重置trigger。

我设置的是look水贼之后,出现“^鄱阳??水贼%s(%x)~(%x (%x)~)????战斗中”时,将%1存为@shuizei_name,%2存为@shuizei_id。如果这一行之后5行内出现"圣火令",则mingjiao_name=@shuizei_name;mingjiao_id=@shuizei_id。

几个主要trigger如下:

  1. #TRIGGER {一个鄱阳水贼爬上了你的小船。} {l}
  2. #TRIGGER {%s鄱阳??水贼*~(%x (*)~)????战斗中} {tanz %1;l %1}
  3. #TRIGGER {^鄱阳??水贼%s(%x)~(%x (%x)~)????战斗中} {shuizei_name=%1;shuizei_id=%2}
  4. #COND {圣火令} {mingjiao_name=@shuizei_name;mingjiao_id=@shuizei_id;mingjiao=1;jiali=100;#say 有明教!!;#say 有明教!!;#say 有明教!!;#play knock.wav;uw} {looplines|param=5}
  5. #TRIGGER {{这是一位鄱阳湖|看起来|生得|身上带|的武艺看上去}} {#gag}
  6. #TRIGGER {^??你在攻击中不断积蓄攻势。~(气势:%d~%~)} {yun qimen;#if @mingjiao=1 {jiali max;perform luoying-zhang.pikong @mingjiao_id;jiali @jiali;perform yuxiao-jian.xiaohua @mingjiao_id;perform tanzhi-shengong.tan @mingjiao_id} {perform yuxiao-jian.xiaohua;perform tanzhi-shengong.tan}}
  7. #TRIGGER {你终于打退了(*)的攻击} {#if %1=@mingjiao_name {mingjiao=0;jiali max};l}
复制代码


北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-4-17 13:08:19 | 显示全部楼层
赞我也是721党
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2018-4-17 13:35:14 | 显示全部楼层
回复 2# huajiang


    求花酱大人赏机器
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-4-17 13:39:29 | 显示全部楼层
前排资瓷献花
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-4-18 01:37:02 | 显示全部楼层
火钳刘明~
#cond也是新功能吧~
我也刚做这个,思路一样~我是把抓look描述的触发放到一个class里,找到要打的人的id就把这个class的触发关掉~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2018-4-18 15:07:46 | 显示全部楼层
回复 5# lanbosudoc


#cond不能单独用,得附在trigger后面才行,用来控制多阶段触发里后续阶段的触发条件。貌似5.55版还没这个功能

我感觉你的办法效果是一样的,无非是多建一个class~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2018-4-18 23:20:34 | 显示全部楼层
回复 6# eblisade


    嗯嗯~是的,其实就是一样的~所以这个功能挺好,省事了~
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 07:37 AM , Processed in 0.011006 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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