当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

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

热度:
脚本基础结构与逻辑控制

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

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

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

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

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

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

#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
CHECKITEM50级奖励凭证1
#ACT
TAKE50级奖励凭证1
GIVE圣战戒指2
SENDMSG1恭喜玩家<$USERNAME>达成50级,领取圣战戒指!


消息发送与界面提示

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

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

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

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

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

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

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

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

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


地图传送与怪物刷怪

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

命令功能示例

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

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

PARAM2设置坐标XPARAM250

PARAM3设置坐标YPARAM350

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

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

定点传送脚本:
[@GoToBoss]
#ACT
MAPMOVED515100100
SENDMSG6已传送至BOSS房间,请小心!


变量与定时器高级应用

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

命令功能说明

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

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

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

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

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


常见报错与调试技巧

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