传奇里“随机传送”分三种场景:当前地图内乱跳、指定地图内限定范围乱跳、进图自动随机落点。命令因引擎不同有差异,下面按 GOM/GEE/HERO 通用写法拆开,直接能抄进 NPC 脚本或 QFunction-0.txt。
一、当前地图内随机传送(最常用)
GOM 引擎:
RandomMove
不加参数就是在玩家当前所在地图找一个可站立坐标传过去。
带范围写法(当前地图内 X/Y 各随机多少格):
RandomMove 30
表示在当前地图以玩家为中心 30 格范围内随机。
GEE 引擎对应命令是 RANDOMMAPMOVE,参数要带地图号和坐标范围:
RANDOMMAPMOVE 3 320 340 320 340
意思是传到 3 号地图,X 在 320-340、Y 在 320-340 之间随机。
NPC 脚本示例(消耗随机传送卷):
[@随机卷]
IF
CHECKITEM 随机传送卷 1
ACT
TAKE 随机传送卷 1
RandomMove
SENDMSG 5 已随机传送到当前地图
ELSESAY
背包没有随机传送卷
二、指定地图内限定范围随机
GOM 写法:
RandomMove 地图编号 最小X 最大X 最小Y 最大Y
例:RandomMove 3 200 400 200 400
把玩家传到盟重省(3号图)X200-400、Y200-400 区域内随机点。
GEE 写法:
RANDOMMAPMOVE 3 200 400 200 400
如果想“固定基准+随机偏移”,用 MOVRP 组合:
[@土城随机]
ACT
MOVRP 1 315 345
MOVRP 2 305 335
MAPMOVE 3 STR(R1) STR(R2)
SENDMSG 5 土城安全区随机落点完成
三、进图自动随机落点(防扎堆入口)
打开 Mir200\Envir\QFunction.txt,找或加 [@EnterMap]:
[@EnterMap]
IF
EQUAL S2 3
ACT
RandomMove
BREAK
IF
EQUAL S2 H001
ACT
MOV V0 100
MOV V1 300
CALC V2 = V0 + RANDOM(V1 - V0)
CALC V3 = V0 + RANDOM(V1 - V0)
MOVE H001 V2 V3
BREAK
S2 是进入的地图编号,H001 换成你自定义地图名,MOVE 传指定坐标,RandomMove 传当前图。
四、GM 命令级随机传送
管理员在游戏里敲:
@Ting 把指定人随机传走
@SuperTing 指定范围内全员随机传
@Mapmove 地图号 X Y 定点传(不是随机,但常配套用)
五、防卡位与安全区校验(必须加)
随机传送最容易传进墙里或怪物堆,脚本里补两层判断:
1. 传之前限定安全区坐标(从 SafeMap.txt 抄范围)
2. 传之后检测 CHECKINSAFEZONE,不在安全区就再传回中心点
示例:
[@安全回城]
IF
CHECKITEM 回城石 1
ACT
TAKE 回城石 1
RANDOMMAPMOVE 3 320 340 320 340
IF
CHECKINSAFEZONE
ACT
SENDMSG 5 回城成功
ELSEACT
MAPMOVE 3 330 330
SENDMSG 5 已修正到安全区中心
六、不同引擎命令对照速查
• 当前图随机:GOM 用 RandomMove,GEE 用 RANDOMMAPMOVE 地图 最小X 最大X 最小Y 最大Y
- 定点传:GOM 用 MAPMOVE 地图 X Y,GEE 用 MOVETOMAP 地图 X Y
• 返回上张图:BackMap
• 队伍传:GroupMove 地图 X Y
七、调试时注意三点
1. 地图编号要和 MapList.txt 一致,别用客户端显示名当编号。
2. 坐标范围别超地图边界,超了引擎会传失败或卡原点。
3. 改完脚本在 M2 控制台点 ReloadNpc 或重启 M2Server,别只保存文件。
按上面分类写:当前图用 RandomMove,指定图用 RandomMove 地图 范围,进图自动用 [@EnterMap],安全区落点用 RANDOMMAPMOVE 配 CHECKINSAFEZONE,基本覆盖所有传奇随机传送需求。
传奇地图随机传送常用命令与脚本写法全解
来源:
作者:
点击:

