简介
使用 wsmud_Raid 2.x.x 可以简便地自定义一个流程。
相较于 1.x.x 只支持 if 语句,2.x.x 支持 [if]
、[else if]
、[else]
、[while]
、[continue]
、[break]
等更多的控制语句。
wsmud_Raid 2.1.x 中提供的几乎所有的副本的都是通过类似于下方的 (困难移花宫的) 流程实现的:
不要怕,这个流程扫一眼即可,下面会拣其中的几个典型语句解释。
// raid.flow
<---
[if] (:hpPer)<0.8
@liaoshang
--->
jh fb 22 start1;cr huashan/yihua/shandao
go south[7]
go south[7]
@kill 花月奴
go south;go south
@kill 移花宫女弟子,移花宫女弟子
go south
@kill 移花宫女弟子,移花宫女弟子
[if] (_DungeonWaitSkillCD) == 打开
@cd
go southeast
@kill 涟星
[if] (_DungeonWaitSkillCD) == 打开
@cd
go northwest;go southwest
@kill 邀月
look hua
@tip 你数了下大概有($number)朵花
go southeast
look bed;pushstart bed;pushleft bed[(number)]
pushright bed[8]
go down;fire;go west
@kill 花无缺
look xia;open xia
下面先拿其中一条语句来简单看看:
// raid.flow
<---
[if] (:hpPer)<0.8
@liaoshang
--->
- 被
<---
和--->
包围起来的语句是守护语句,它不会立即执行,但是当在其下方的每一条语句执行完毕时,都会执行该条守护语句; [if] (:hpPer)<0.8
是一个条件控制,只有满足该条件才会执行后面语句;- 上面条件控制中
(:hpPer)
是使用了一个预置变量,表示角色的气血剩余百分比; @liaoshang
是一条@语句,它会执行疗伤直至角色气血回满 (,才会执行接下来的语句)。
所以这条语句就实现了角色每次行动后,都会检查气血是否少于 80%;若是,就会自动疗伤,直至回满气血后才会执行接下来的语句。
再来看另外几条语句:
// raid.flow
look hua
@tip 你数了下大概有($number)朵花
...
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 自定义流程功能编写你自己需要的流程。