强制安全区摆摊(推荐方案)
最稳妥的方案是修改脚本,强制玩家必须在安全区才能开启摆摊。在摆摊触发脚本(通常是QFunction-0.txt中的@StartMyShop段)加入位置检测,非安全区直接中断。
GOM引擎脚本示例
[@StartMyShop]
#IF
NOT INSAFEZONE ;检测是否不在安全区
#ACT
ForbidMyShop ;禁止摆摊
MESSAGEBOX 必须在安全区才能摆摊!
BREAK
此方法无需修改引擎底层,直接利用INSAFEZONE检测命令,将摆摊行为限制在无怪区域。
摆摊时附加无敌状态(脚本方案)
若需在任意地图摆摊,需在开启摆摊时给人物附加无敌模式。GOM/GEE引擎可使用ChangeModeEx命令实现。
脚本逻辑
[@BeginStall]
#IF
#ACT
SHOPSTALL ;执行摆摊命令
ChangeModeEx 1 3 ;设置无敌模式,1为无敌标识,3为持续时间(秒),0为永久
SENDMSG 6 摆摊期间进入无敌状态
关键参数说明
• ChangeModeEx 1 X:参数1代表无敌状态,X为持续时间(秒)。若设为0,则持续到取消摆摊或手动解除。
- 关闭无敌:在停止摆摊的脚本段(如@StopMyShop)加入ChangeModeEx 0关闭无敌。
地图安全区属性设置(底层方案)
若希望特定地图(如摆摊区)摆摊即安全,需修改MapInfo.txt文件,将地图标记为SAFE(安全区)。
MapInfo配置示例
[GA0 摆摊专用地图] SAFE NORECALL ALLOWUSEMYSHOP
在该地图内,所有玩家(无论是否摆摊)均不会被怪物攻击。此方法需重启M2生效,适合规划专用摆摊地图。
引擎差异与注意事项
• GOM/GEE引擎:优先使用ChangeModeEx命令,兼容性最佳。
• HGE引擎:部分版本需使用SETINVINCIBLE命令,具体参数参考对应引擎说明书。
• 状态同步:务必在停止摆摊(SHOPSTALL关闭)时同步执行ChangeModeEx 0,否则玩家将永久无敌。
• 怪物仇恨:脚本无敌仅防止掉血,若摆摊前已被怪物锁定,取消无敌后怪物可能继续追击。

