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

传奇服务端常用脚本命令详解与应用实例

热度:
基础变量与操作命令

传奇脚本通过变量存储和操作数据,核心变量分为三类:个人变量(D、N、S、A)、全局变量(G、M)、机器人变量(P)。所有变量运算必须在#IF或#ACT段落内执行。
;示例:变量赋值与运算
#IF
#ACT
MOVD1100;个人变量D1赋值为100
INCD120;D1增加20,结果D1=120
DECD130;D1减少30,结果D1=90
MOVS1战士;字符串变量S1赋值为“战士”
MOVN$随机数5;自定义个人变量N$随机数赋值为5
CALCVARG1+500;全局变量G1增加500
SAVEVARG1..\QuestDiary\全局变量.txt;保存变量


条件检测命令(#IF)

#IF用于判断条件是否成立,其后可接多个并列条件,只有全部满足才会执行后面的#ACT。
;示例:多条件检测
#IF
CHECKLEVELEX>35;检测等级大于35
CHECKJOBWarrior;检测职业为战士
CHECKITEM金币10000;检测背包有10000金币
CHECKVARD2=1;检测变量D2等于1
#ACT
GIVE屠龙
#ELSEACT
MESSAGEBOX条件不足


物品与货币操作命令

核心命令包括GIVE(给予)、TAKE(扣除)、CHECKITEM(检测)、GAMEGOLD(元宝)、GAMEPOINT(游戏点)。
;示例:装备合成脚本片段
#IF
CHECKITEM金条5;检测5个金条
CHECKITEM黑铁矿10;检测10个黑铁矿
CHECKGAMEGOLD>99;检测元宝大于99
#ACT
TAKE金条5
TAKE黑铁矿10
GAMEGOLD-100
GIVE裁决之杖
SENDMSG6合成裁决之杖成功


地图传送与人物控制命令

地图传送相关命令需与MapInfo.txt中的地图编号对应。
;示例:传送与人物控制
#ACT
MAPMOVE0330330;传送到比奇省安全区(坐标330330)
MAP3;传送到盟重省
GAMEGLORY+1000;增加1000荣誉
KILL;杀死自己
CHANGEPERMISSION10;设置权限为10(GM)
CHANGENAME新名字;修改人物名称


怪物与召唤命令

MonGen命令格式为怪物名刷新数量范围地图X坐标Y坐标。
;示例:召唤怪物与刷怪
#ACT
RECALLMOB神兽70;召唤7级神兽
MOBPLACE触龙神10100;在当前地图放置触龙神
Param10
Param20
MonGen白野猪10203330320;在3号地图(330320)周围20范围内刷10只白野猪


对话与界面命令

;示例:NPC对话框与界面操作
#SAY
欢迎来到沙巴克。\;\为换行符
<加入/@加入><离开/@离开>\;<>内为可点击按钮
#ACT
OpenWebSitewww.xxx.com;打开网页
ADDBATCH加入行会;加入行会
DELBATCH退出行会;退出行会


时间控制与机器人脚本

机器人脚本需放在Robot.txt中自动执行,使用#AutoRun标记。
;示例:机器人脚本(每分钟检测)
#AutoRunNPCRUNONDAY00:01
#IF
CHECKONLINE玩家名字
#ACT
SENDMSG0[%s]在线


核心文件路径与关联

命令类别关联配置文件存放路径

地图传送MapInfo.txtMir200\Envir\

物品检测StdItems.DBMud2\DB\

怪物检测Monster.DBMud2\DB\

NPC对话Market_Def\Mir200\Envir\Market_Def\

机器人脚本Robot.txtMir200\Envir\Robot_def\

脚本编写后需重启M2Server或使用@ReloadManage命令重载。脚本错误日志在Mir200\Envir\下的Log文件夹中,通过查看日志可快速定位语法错误。
[顶部]