[Mudlet]Z99框架之Swap
关于Swap的用法V0.1
Swap有两种模式
模式A:主动模式
即找人/找东西模式。用户自行设置的触发器找到你的目标之后,可以选择两种处理
- swap.stop = ture, swap.gohome = false
找到目标之后在当地停止 - swap.stop = true, swap.gohome = true
找到目标之后返回原点,swap.path会记录到目标的路径
模式B:反射模式
反射模式只需要设置一个变量:swap.pause = true
Swap在反射模式运行下,在进入“新”房间后会暂停,等待用户完成自己的业务逻辑。完成之后用户需要呼叫swap.countinue(),swap便会继续行走
模式A和模式B并不互斥,可以同时开启。pause以后,再swap.stop = true,接着呼叫swap.countinue()就会完成swap
Swap的相关设置:
- swap.start(层数,每一步延迟)
层数即为离开原点最多走多远,不包括原点
每一步延迟建议不要小于0.1,以控制服务器负担 - swap.badroom = ture 表示当前房间为终点房间,无论设定的层数为多少,在当前房间就返回,不再走入该房间的其他出口。相应的触发器是“危险房间”。该功能可以用于特殊限定的巡逻路线,实现非对称swap,比如在某个方向上最远走到某房间就停止
- “堵门”触发器需要完善。再你使用swap编写相应的业务逻辑时,要去现场走一遍,取得所有堵门提示
- 开门,杀人等等,可以通过反射模式实现
不错