业余选手 发表于 2022-4-24 12:24:54

关于通过检测沙巴克城门状态实现禁止区域传送的分析

[@USERCMD1]
#act
mov s123 <$CASTLEDOORSTATE>
SendMsg 6 当前城门为<$str(s123)>
#if
;判断城门是否开启
Equal s123 开启
#act
;开启状态就跳转传送
SendMsg 6 当前城门为开启状态
goto @传送(<$str(t0)>,<$str(t1)>)
break
#ELSEACT
;关闭状态就跳转坐标判断
SendMsg 6 当前城门为关闭状态
goto @传送坐标判断(<$str(t0)>,<$str(t1)>)
break

[@传送坐标判断]
#if
large <$str(t0)> 549
large <$str(t1)> 198
small <$str(t0)> 717
small <$str(t1)> 372
#act
SendMsg 6 城门关闭期间不能传送到那里
break
#ELSEACT
goto @传送(<$str(t0)>,<$str(t1)>)
break

[@传送]
#if
#act
SendMsg 6 传送到:<$str(t0)>,<$str(t1)>
GMExecute cs<$str(t0)><$str(t1)>

看见有个小伙伴问了好久,写了个大概框架,具体说明我给管理让他传群里了。不影响小地图右键传送


恒盛科技 发表于 2022-4-24 17:29:29

小小的精简了一下状态

[@USERCMD1]
#if
;判断城门是否开启
Equal <$CASTLEDOORSTATE> 开启
#act
;开启状态就跳转传送
mapmove 地图XY
;修改为地图传送而非调用GM命令
SendMsg 6 当前城门为开启状态,可以传送,目标:<$x>,<$y>
break
#ELSEACT
;关闭状态就不执行传送
SendMsg 6 当前城门为关闭状态,城门关闭期间不能传送到那里
break

sz2200 发表于 2022-4-26 11:18:54

卧槽,找了好久了,感谢分享,真的感谢了。。。。

caoye 发表于 2023-1-31 20:28:50


辛苦,谢谢分享
页: [1]
查看完整版本: 关于通过检测沙巴克城门状态实现禁止区域传送的分析