好版本不是单纯堆功能,而是把脚本文件按目录分清楚、按触发分责任、按数据做联动。服务端脚本主要落在Mir200\Envir,核心目录包括MerChant.txt、Market_Def、MapInfo.txt、MonGen.txt、MonItems、QuestDiary、MapQuest_Def或MapQuest_def、QFunction、QManage、Robot相关目录。NPC交互、商店、功能菜单走MerChant加Market_Def;地图连接、进入限制、安全区、禁止随机、攻城属性走MapInfo;刷怪种类、坐标、数量、间隔走MonGen;怪物爆率走MonItems;登录、每日重置、升级、下线走QManage;击杀、进入地图、使用物品、魔法触发走QFunction;任务链、活动状态机、泡点、合成、回收走QuestDiary;整点公告、自动刷怪、世界活动、假人控制走Robot。
一、MerChant与Market_Def规范
MerChant.txt每行定义NPC脚本名、地图、X、Y、显示名、方向、外观、是否城堡、是否移动、移动间隔、变色等字段。Market_Def文件名规则为“脚本名-地图号.txt”,例如土城3放传送员写“传送员-3.txt”,脚本名第一个字段与MerChant第一个字段一致,地图号与NPC所在地图一致,否则不加载。
基础传送员示例,MerChant加:
传送员 3 330 330 传送员 0 8 0 0 0
Market_Def\传送员-3.txt:
[@main]
\ \
传送员\
前往各大练级地图与活动图,按等级开放\
\ \
比奇矿区 @ToMine \
沃玛寺庙 @ToWoma \
祖玛阁 @ToZuma \
幻境入口 @ToMirage \
活动总览 @ActList \
[@ToMine]
IF CHECKLEVELEX > 0
CHECKLEVELEX < 21
ACT MAPMOVE 101 100 100
SENDMSG 1 已进入低级矿区练级。
Goto @main
ELSEACT
SENDMSG 1 等级需1到20级进入低级矿区。
Goto @main
[@ToWoma]
IF CHECKLEVELEX > 20
CHECKLEVELEX < 36
ACT MAPMOVE 110 50 50
SENDMSG 1 已进入沃玛寺庙。
Goto @main
ELSEACT
SENDMSG 1 等级需21到35级进入沃玛。
Goto @main
[@ToZuma]
IF CHECKLEVELEX > 35
ACT MAPMOVE 120 30 30
SENDMSG 1 已进入祖玛。
Goto @main
ELSEACT
SENDMSG 1 等级需36级以上进入祖玛。
Goto @main
[@ToMirage]
IF CHECKGAMEGOLD > 1000
ACT GAMEGOLD - 1000
MAPMOVE 200 50 50
SENDMSG 0 扣除1000元宝进入幻境。
Goto @main
ELSEACT
MESSAGEBOX 进入幻境需1000元宝。
Goto @main
菜单跳转用Goto @main,条件分支用#IF、#ACT、#ELSEACT;标签[@main]顶格写,不用缩进,不用//以外注释规则,文本保存ANSI或GBK,UTF-8带BOM容易中文解析失败。
二、MapInfo地图与进入限制
MapInfo.txt控制地图名、宽高、安全、回城、随机、召回、战斗、刷怪。练级图写RUNMON,安全图写SAFE,活动图按防逃课写NORECALL、NOGUILDRECALL、NORANDOMMOVE,攻城图写NORECALL并配合SabukW。
示例:
[101 低级矿区 1 100 100 1 0 0 0 0 RUNMON]
[110 沃玛寺庙 1 80 80 1 0 0 0 0 RUNMON NORECALL NORANDOMMOVE]
[120 祖玛神庙 1 80 80 1 0 0 0 0 RUNMON NORECALL NORECONNECT(3)]
[200 幻境一层 1 60 60 1 0 0 0 0 RUNMON NORANDOMMOVE NORECALL]
[3 盟重省 1 200 200 1 0 0 0 0 SAFE]
双向连接写地图互跳:
3 330 330 -> 101 100 100
101 100 100 -> 3 330 330
3 340 340 -> 110 50 50
110 50 50 -> 3 340 340
新图加入后必须MapInfo重读;黑屏先查地图文件是否在Mir200\Map,地图号是否与MapInfo定义一致,小地图号是否在MiniMap配置。镜像活动图要单独测试创建、进入、回原图坐标,避免黑屏或回错点。
三、MonGen与MonItems刷怪爆率
MonGen格式按引擎写全地图、X、Y、怪物名、范围、数量、间隔。低级图小怪多但单只弱,中级图控精英,BOSS图控数量并拉长间隔。
101 20 20 矿工僵尸 10 20 5
101 40 40 矿区蝙蝠 10 15 5
110 20 20 沃玛战士 8 10 10
110 30 30 沃玛教主 1 1 1800
120 20 20 祖玛弓箭手 8 12 10
120 25 25 祖玛教主 1 1 2400
200 30 30 幻境卫士 6 8 8
200 35 35 幻境教主 1 1 3600
怪物名必须和Monster.DB一致;教主级间隔按分钟或秒看本引擎MonGen说明,过短会同屏卡顿。爆率走MonItems,按怪物名建文件:
MonItems\矿工僵尸.txt:
1/1 金疮药
1/5 强效金疮药
1/20 矿石
1/100 低级技能书
MonItems\沃玛教主.txt:
1/5 沃玛装备
1/10 强效药水
1/20 沃玛号角
1/50 高级技能书
1/100 随机传送卷
MonItems\祖玛教主.txt:
1/3 祖玛装备
1/8 祖玛武器
1/15 祝福油
1/30 高级技能书
1/60 祖玛头像
MonItems\幻境教主.txt:
1/2 赤月装备
1/5 赤月武器
1/10 祝福油
1/20 全系列技能书
1/40 活动积分券
纯数据库爆率适合静态版本;动态活动、首杀、全服进度再用QFunction补发,避免只靠MonItems无法做条件判断。
四、QManage登录与每日重置
QManage处理上线初始化、每日变量、月卡状态、新手礼包、防重复领奖。示例:
[@OnLogin]
IF EQUAL D10 0
ACT MOV D10 1
GIVE 新手礼包 1
SENDMSG 0 首次登录领取新手礼包,包含基础药水和回城卷。
Goto @main
IF EQUAL D11 1
ACT SENDMSG 1 你已开通每日泡点权限,前往泡点图自动获经验。
Goto @main
ELSEACT
SENDMSG 1 输入@每日签到可领基础资源。
Goto @main
[@OnDayReset]
IF
ACT MOV D12 0
MOV D13 0
MOV D14 0
SENDMSG 1 每日任务、泡点、签到已重置。
Goto @main
D变量重启会清,长期进度用H变量或落盘;每日限领用D,登录脚本零点重置。QManage路径在Hero常放QuestDiary或MapQuest相关目录,GOM/GEE按本服放MapQuest_def,文件名必须和引擎调用一致,否则登录不触发。
五、QFunction击杀与地图触发
QFunction做击杀计数、活动积分、首杀公告、进入地图发BUFF、使用特殊物品触发。通用击杀结构:
[@KillMon]
IF CHECKMAP 120
CHECKKILLMONNAME 祖玛教主
ACT INC D20 1
SENDMSG 0 击杀祖玛教主,活动积分+1,全服累计<D20>次。
Goto @main
IF CHECKMAP 200
CHECKKILLMONNAME 幻境教主
ACT INC D21 1
GIVE 活动积分券 5
SENDMSG 0 击杀幻境教主,获得活动积分券5。
Goto @main
IF CHECKKILLMONNAME 全服首杀目标
EQUAL G10 0
ACT SET G10 1
SENDMSG 0 全服首杀达成,所有在线玩家可找活动NPC领首杀礼包。
Goto @main
进入地图触发:
[@EnterMap]
IF CHECKMAP 200
ACT SENDMSG 1 进入幻境,经验倍率提升,死亡回土城安全。
Goto @main
使用物品触发按本引擎UseItem段写,检测物品名后给临时属性、消耗品、任务道具。CHECKMAP、CHECKKILLMONNAME的地图号和怪物名必须和MapInfo、Monster.DB完全一致,拼错不计数。
六、QuestDiary任务与活动状态机
QuestDiary适合做新手链、日常、合成、回收、泡点、活动报名。目录按功能建文件夹,例如QuestDiary\日常任务\除魔.txt、QuestDiary\泡点\泡点.txt、QuestDiary\回收\装备回收.txt。
装备回收示例:
[@main]
\ \
装备回收员\
按品质回收武器衣服首饰,返还金币与锻造材料\
\ \
回收祖玛装备 @RecycleZuma \
回收赤月装备 @RecycleChiyue \
批量回收背包垃圾 @RecycleAll \
回收规则 @RecycleRule \
[@RecycleZuma]
IF CHECKITEM 祖玛装备 1
ACT TAKE 祖玛装备 1
GIVE 锻造材料 2
GAMEGOLD + 50000
SENDMSG 0 回收祖玛装备,获得锻造材料2、金币50000。
Goto @main
ELSEACT
MESSAGEBOX 背包无祖玛装备。
Goto @main
[@RecycleChiyue]
IF CHECKITEM 赤月装备 1
ACT TAKE 赤月装备 1
GIVE 高级锻造材料 2
GIVE 活动积分券 1
GAMEGOLD + 200000
SENDMSG 0 回收赤月装备,获得高级锻造材料2、积分券1、金币200000。
Goto @main
ELSEACT
MESSAGEBOX 背包无赤月装备。
Goto @main
[@RecycleAll]
IF CHECKITEM 木剑 1
ACT TAKE 木剑 1
GAMEGOLD + 1000
IF CHECKITEM 布衣 1
ACT TAKE 布衣 1
GAMEGOLD + 1000
ELSEACT
SENDMSG 1 无可回收垃圾装备。
Goto @main
泡点用QuestDiary配合Robot更稳;纯NPC每秒发经验容易卡,整点进图后由Robot按分钟给经验,NPC只做报名和状态查询。
七、Robot整点与自动活动
Hero常用Robot_def\AutoRunRobot.txt与RobotManage.txt,GOM/GEE新版本也用AutoRunRobot,老版本用Robot.txt或Robot_def,标签必须对应。示例整点开世界BOSS:
AutoRunRobot.txt:
AutoRun NPC MIN 0 @WorldBoss
AutoRun NPC MIN 30 @WorldBoss
AutoRun NPC MIN 55 @CloseBoss
RobotManage.txt:
[@WorldBoss]
IF EQUAL G20 0
ACT SET G20 1
MONGENEX 120 25 25 祖玛教主 1 1
MONGENEX 200 35 35 幻境教主 1 1
SENDMSG 0 世界BOSS开启,祖玛神庙与幻境一层刷新教主,30分钟周期。
Goto @main
[@CloseBoss]
IF EQUAL G20 1
ACT SET G20 0
MONCLEAR 120
MONCLEAR 200
SENDMSG 0 世界BOSS活动结束,地图清场。
Goto @main
MONGENEX参数顺序各引擎不同,部分写“地图 X Y 怪物 范围 数量”,部分写“地图 X1 Y1 X2 Y2 怪物 数量 间隔 颜色 内功”;先单只测试再写多只。Robot不触发先查AutoRun标签、RobotManage标签、M2机器人总开关三项。
八、攻城与沙巴克脚本联动
攻城不止SabukW.txt,还要MapInfo新沙参数、MonGen城墙、NPC报名、Robot攻城预备。MapInfo皇宫写NORECALL、NODEARRECALL、NOGUILDRECALL、NORANDOMMOVE;主城门、左中右墙在MonGen刷城墙怪,名字与SabukW一致。SabukW写CastleMapList、皇宫图、主门坐标、左墙中墙右墙坐标、回城点。NPC报名示例:
[@ApplyCastle]
IF CHECKGUILDNAME 无
ACT SENDMSG 1 需创建行会并携带祖玛头像或按本服申请道具。
Goto @main
IF CHECKITEM 祖玛头像 1
ACT TAKE 祖玛头像 1
SET G30 1
SENDMSG 0 行会已提交攻城申请,等待攻城时间开启。
Goto @main
ELSEACT
MESSAGEBOX 申请攻城需要祖玛头像1个。
Goto @main
Robot攻城前10分钟发预备,攻城开始清非参战NPC,结束按皇宫无人敌方持续判定占领。破墙不显示洞口查SabukW坐标、MonGen城墙名、MapInfo新沙贴图三项;占领无效查CastlePlaceMap与皇宫进入触发。
九、变量与防刷设计
个人进度用D/H,全服活动用G,日限用D加QManage零点,月卡用H或落盘。防刷重点:
1. 领取类加已领变量,EQUAL判断后MOV标记,#ELSEACT拒绝重复。
2. 击杀积分用QFunction计数,不用玩家自行报次数;全服首杀用G锁,发奖一次后置G。
3. 元宝抽奖用RANDOM分支,返利期望按在线人数回测,小奖概率高、大奖概率低,避免经验元宝膨胀。
4. 泡点用Robot按地图发经验,不用NPC逐人GIVE;同图百人每秒发物会卡。
5. 回收价格按装备层级设上限,赤月以下回收金币、赤月以上回收材料与积分,防止小号刷垃圾换高级材料。
6. 活动报名限制等级、行会、每日次数;世界BOSS限制进入人数或用多线地图分流。
7. 外挂加速、封包频率、单IP多号在网关和M2反外挂参数处理,脚本层只做行为限制,例如单位时间内击杀次数超限不重复发奖。
十、GOM/GEE改写要点
NPC仍用MerChant与Market_Def/Npc_Def,触发文件按引擎放MapQuest_def或Market_Def;任务提示放MapQuest_def,NPC交互放Market_Def,GEE部分版本按职业或全局子目录放QuestDiary。变量命令CHECKITEM、CHECKGAMEGOLD、GIVE、TAKE通用;元宝扣费按本服GameGold命令替换,RANDOM按RandomNum或本版随机命令替换。Robot用AutoRunRobot,MONGENEX按GOM参数补颜色、内功、集中;击杀用QFunction KillMon或M2死亡事件。MapInfo连接、SAFE、NORECALL、NORANDOMMOVE规则一致。
十一、Legend改写要点
MerChant按Legend格式,Market标签常用[@MAIN]大写;任务放QuestDiary对应目录,地图触发按本版MapQuest规则。变量D/H/G通用但命令名可能不同,INC/DEC/MOV按Legend帮助替换;CHECKLEVELEX、CHECKITEM、CHECKGAMEGOLD保留近似命令。Robot老版用Robot.txt或Robot_def,新版用AutoRunRobot;MONGENEX参数按Legend文档重排。攻城SabukW与MonGen城墙名必须同MonDB,否则破墙无效。
十二、Blue改写要点
MerChant/NPCDef按Blue规则,变量作用域严格,人物持久进度用Blue持久变量,全服用Global;经济扣费用Blue元宝命令,RANDOM用Rand/Random。任务、合成、回收放Blue Quest目录,Robot走Blue定时模块。MapInfo、MonGen、MonItems规则一致,但MONGENEX列数和内功标记按Blue文档;QFunction击杀、进入、使用物品按Blue触发名替换,避免直接套Hero标签。
十三、脚本排错清单
1. NPC不显示:MerChant无行、Market_Def文件名不是“脚本名-地图号.txt”、坐标不可站立、外观码越界。
2. 点NPC无反应:只加MerChant没写脚本,或只写脚本没加MerChant;M2未重读NPC。
3. 菜单跳转失效:[@标签]拼错、Goto目标不存在、条件全进#ELSEACT。
4. 地图黑屏:Map文件缺失、MapInfo地图号不符、MiniMap小地图号错、镜像图未重读。
5. 刷怪不出来的:MonGen怪物名和Monster.DB不一致、坐标超出地图、间隔单位错、Robot MONGENEX参数顺序错。
6. 击杀不计数:QFunction未挂载、CHECKMAP地图码错、CHECKKILLMONNAME怪物名错、全图测试先去掉CHECKMAP。
7. 爆率不对:MonItems文件名和怪物Name不一致,1/100是按本服分母规则理解,部分引擎写万分之一部分写百分之一。
8. 登录脚本不执行:QManage路径错、引擎调用名错、编码UTF-8带BOM导致中文段解析中断,改ANSI/GBK。
9. Robot不整点:AutoRunRobot标签和RobotManage标签不对应、M2机器人开关未开、老版本目录用Robot.txt而非AutoRunRobot。
10. 变量重启清零:D做临时和日限,H或落盘做长期;QManage登录LOADVAR,下线SAVEVAR,否则大退丢数据。
11. 重复领奖:缺少已领标记,或EQUAL判断后未MOV,机器人发全服奖缺少G锁,活动结束未复位。
12. 回收发未知物品:StdItems无对应Name,GIVE名称全角、多空格、和数据库标准名不一致会未知。
13. 攻城不开门:SabukW主门坐标与MapInfo门点不一致,MonGen城门怪Name不一致,M2攻城时间表未启用。
14. 泡点卡顿:NPC每秒全图发经验发物,改Robot分钟级或M2泡点地图经验;安全图人数过多限制进入。
15. 脚本死循环:Quest状态机A跳B、B跳A无退出,Robot秒级刷怪不清场,MonGen数量过大导致同屏卡。
最小规范版本组合:MerChant注册传送员、回收员、活动员;Market_Def按“名-地图号”写菜单、条件传送、等级限制、回收、日限领奖;MapInfo建低级、中级、BOSS、幻境、泡点、沙城,分别配RUNMON/SAFE/NORECALL/NORANDOMMOVE;MonGen按等级刷小怪、精英、教主,MonItems分矿工、沃玛、祖玛、赤月、幻境爆率;QManage做登录礼包与零点重置;QFunction做击杀积分、首杀、进入地图提示;QuestDiary做日常、合成、回收、泡点状态;Robot整点开世界BOSS、泡点、攻城预备;攻城补SabukW、MonGen城墙、报名NPC。改完按MerChant、MapInfo、MonGen、Market、QFunction、Quest、Robot顺序重读,先单NPC测试传送与回收,再单图测试刷怪爆率,再整点测试Robot,最后开攻城与全服活动,可保证版本脚本结构稳定、功能可维护、后期加玩法只改对应模块不牵动全服。
优质传奇版本必备脚本文件规划教程含MerChant Market MapInfo MonGen Quest QFunction
来源:
作者:
点击:

