传奇服务端脚本命令大全:基础语法与实战应用

来源: 作者: 点击:
脚本基础结构与逻辑控制

传奇脚本基于条件判断(#IF)与动作执行(#ACT)的双模块结构。脚本自上而下逐行读取,若#IF后的条件成立,则执行对应的#ACT段命令,否则跳过或执行#ELSEACT。

核心指令 功能说明 示例用法

#IF 条件检测起始符 #IF CHECKLEVELEX > 40

#ACT 条件成立执行动作 #ACT GIVE 屠龙 1

#SAY NPC对话框显示文本 #SAY 欢迎来到盟重。

#ELSEACT 条件不成立执行动作 #ELSEACT SENDMSG 6 等级不足

#ELSESAY 条件不成立显示文本 #ELSESAY 你还没完成任务

GOTO 跳转到指定标签段 GOTO @奖励领取

BREAK 终止当前脚本段执行 常用于防止重复领取奖励

基础模板:
[@Main]
#IF
CHECKLEVELEX > 35
#ACT
GIVE 裁决之杖 1
#SAY
恭喜你达到35级,奖励裁决之杖一把。
#ELSESAY
你的等级不足35级,无法领取奖励。


人物属性检测与操作命令

此类命令用于读取玩家状态或修改角色数据,是任务脚本的核心。

命令 功能 参数说明

CHECKLEVELEX 检测人物等级 > 40(大于40级)

CHECKJOB 检测职业 Wizard(法师)

CHECKGOLD 检测金币数量 > 1000000

CHECKITEM 检测背包物品 金条 1(持有1根)

GIVE 给予物品/金币 GIVE 金条 5

TAKE 收回物品/金币 TAKE 回城卷 1

CHANGELEVEL 调整人物等级 = 50(直接设为50级)

CHANGEPERMISSION 调整GM权限 10(设为GM10级)

实战:等级奖励脚本
[@LevelUpReward]
#IF
CHECKLEVELEX = 50
CHECKITEM 50级奖励凭证 1
#ACT
TAKE 50级奖励凭证 1
GIVE 圣战戒指 2
SENDMSG 1 恭喜玩家<$USERNAME>达成50级,领取圣战戒指!


消息发送与界面提示

SENDMSG是脚本交互的关键,不同参数决定消息的显示位置与颜色。

命令格式 显示位置与效果 常用场景

SENDMSG 0 %s消息 全服公告(红字) 全服活动通知

SENDMSG 1 消息 全服滚动公告 系统广播

SENDMSG 5 消息 屏幕中间大字体 重要成就提示

SENDMSG 6 消息 私人聊天框(红) 错误提示、私聊

SENDMSG 7 消息 私人聊天框(蓝) 任务提示

SendCenterMsg 屏幕中央公告 GOM引擎专用

颜色自定义(GOM/GEE):
#ACT
SENDMSG 1 249 255 这是一条自定义颜色公告
; 参数说明:1(公告类型) 249(字体色) 255(背景色)


地图传送与怪物刷怪

控制玩家移动与地图生物生成,用于副本入口或活动脚本。

命令 功能 示例

MAPMOVE 地图传送 MAPMOVE 0 330 330(比奇安全区)

PARAM1 设置地图名 PARAM1 0150(幻境五层)

PARAM2 设置坐标X PARAM2 50

PARAM3 设置坐标Y PARAM3 50

MONCLEAR 清空当前地图怪 常用于重置副本

MOB 刷出一只怪物 MOB 白野猪 10 10

定点传送脚本:
[@GoToBoss]
#ACT
MAPMOVE D515 100 100
SENDMSG 6 已传送至BOSS房间,请小心!


变量与定时器高级应用

实现动态计数与延时功能,用于复杂活动逻辑。

命令 功能 说明

MOV 赋值变量 MOV A1 1(将A1变量设为1)

INC 变量自增 INC A1 1(A1 = A1 + 1)

DEC 变量自减 DEC A1 1(A1 = A1 - 1)

DelayCall 延时执行 DelayCall 5000 @CallBack(5秒后回调)

每日限领脚本:
[@GetDaily]
#IF
CHECKVAR HUMAN 今日领取 = 1
#ACT
SENDMSG 6 今日已领取过,请明天再来!
BREAK
#IF
#ACT
GIVE 金币 1000000
CALCVAR HUMAN 今日领取 = 1
SAVEVAR HUMAN 今日领取 ..\QuestDiary\变量记录.txt
#SAY
每日奖励已发放。


常见报错与调试技巧

1. 语法错误:检查#IF、#ACT是否拼写错误(如写成#LF、#ATC),每行命令后需有空格分隔参数。
2. 逻辑死循环:避免在GOTO跳转中形成@A跳@B,@B又跳回@A的闭环,会导致服务器卡死。
3. 变量未保存:使用HUMAN或GLOBAL变量后,必须用SAVEVAR命令保存至txt文件,否则重启服务器数据丢失。
4. 权限不足:涉及KICK(踢人)、CHANGEPERMISSION等敏感命令,需脚本NPC具有足够GM权限或玩家为管理员身份。