简介

使用 wsmud_Raid 2.x.x 可以简便地自定义一个流程
相较于 1.x.x 只支持 if 语句,2.x.x 支持 [if][else if][else][while][continue][break] 等更多的控制语句。
wsmud_Raid 2.1.x 中提供的几乎所有的副本的都是通过类似于下方的 (困难移花宫的) 流程实现的:
不要怕,这个流程扫一眼即可,下面会拣其中的几个典型语句解释。

  1. // raid.flow
  2. <---
  3. [if] (:hpPer)<0.8
  4. @liaoshang
  5. --->
  6. jh fb 22 start1;cr huashan/yihua/shandao
  7. go south[7]
  8. go south[7]
  9. @kill 花月奴
  10. go south;go south
  11. @kill 移花宫女弟子,移花宫女弟子
  12. go south
  13. @kill 移花宫女弟子,移花宫女弟子
  14. [if] (_DungeonWaitSkillCD) == 打开
  15. @cd
  16. go southeast
  17. @kill 涟星
  18. [if] (_DungeonWaitSkillCD) == 打开
  19. @cd
  20. go northwest;go southwest
  21. @kill 邀月
  22. look hua
  23. @tip 你数了下大概有($number)朵花
  24. go southeast
  25. look bed;pushstart bed;pushleft bed[(number)]
  26. pushright bed[8]
  27. go down;fire;go west
  28. @kill 花无缺
  29. look xia;open xia

下面先拿其中一条语句来简单看看:

  1. // raid.flow
  2. <---
  3. [if] (:hpPer)<0.8
  4. @liaoshang
  5. --->
  • <------> 包围起来的语句是守护语句,它不会立即执行,但是当在其下方的每一条语句执行完毕时,都会执行该条守护语句;
  • [if] (:hpPer)<0.8 是一个条件控制,只有满足该条件才会执行后面语句;
  • 上面条件控制中 (:hpPer) 是使用了一个预置变量,表示角色的气血剩余百分比;
  • @liaoshang 是一条@语句,它会执行疗伤直至角色气血回满 (,才会执行接下来的语句)。

所以这条语句就实现了角色每次行动后,都会检查气血是否少于 80%;若是,就会自动疗伤,直至回满气血后才会执行接下来的语句。
再来看另外几条语句:

  1. // raid.flow
  2. look hua
  3. @tip 你数了下大概有($number)朵花
  4. ...
  5. pushleft bed[(number)]
  • @tip 你数了下大概有($number)朵花 中我们等待获取包含 ”你数了下大概有?朵花“ 的系统提示,并创建了一个名为 number 的变量来保存花朵数目 (假设为 3);
  • pushleft bed[(number)] 中我们使用了上面创建的变量 number,所以语句会变成 pushleft bed[3]
  • pushleft bed[3] 等价于 pushleft bed;pushleft bed;pushleft bed,即向左推动床 3 次。

于是,就这样,我们实现了观察左侧 Boss 房间的花朵数,并推动床相应次数的需求。
欢迎使用 wsmud_Raid 自定义流程功能编写你自己需要的流程。