- 打卡等级:魔龙套勇士
- 打卡总天数:103
- 打卡月天数:27
- 打卡总奖励:11843
- 最近打卡:2025-07-27 00:37:47
管理员
本站站长
- 积分
- 7551
|
修改传奇服务端的重要文件需根据具体需求(如调整游戏规则、新增功能、优化性能等)定位目标文件,结合引擎特性(GOM/HERO 等)进行操作。以下是常见需求场景的详细修改指南,包含文件路径、操作步骤、示例代码及生效方法:
一、核心需求:调整游戏基础参数(经验、爆率、最大在线人数)
1. 目标文件:MirServer/Mir200/Envir/!Setup.txt
功能:控制全局基础参数(经验倍率、爆率、地图限制等)。
修改步骤:
用记事本或 Notepad++ 打开文件(建议 UTF-8 无 BOM 编码)。
找到对应配置项,按需求修改:
ini
; 基础参数示例
[Server]
MaxUser=5000 ; 最大在线人数(GOM引擎支持1-10万,HERO引擎建议≤2000)
ExpRate=5.0 ; 全局经验倍率(0.1-100倍,支持小数)
DropRate=3.0 ; 全局爆率倍率(基础爆率×该值)
GoldRate=2.0 ; 金币掉落倍率
[MapLimit]
D717_Level=35 ; 猪洞七层进入等级限制(35级)
生效方法:
非实时生效:修改后保存,重启M2Server.exe(引擎主程序)。
实时生效(GOM 引擎):在 M2 控制台输入命令 @reload setup 并回车。
二、核心需求:修改怪物爆率(指定怪物掉落特定物品)
1. 目标文件:MirServer/Mir200/Envir/MonItems/[怪物名].txt
功能:单独配置每个怪物的掉落规则(物品、概率、数量)。
修改步骤:
找到对应怪物的文件(如白野猪.txt,文件名需与Mir200/Mud2/DB/Monster.DB中的怪物名称一致)。
按格式添加 / 修改掉落规则:
ini
[白野猪]
; 格式:物品名称 概率(1/N) 数量(可选,默认1) 条件(可选)
裁决之杖 1/500 ; 500次掉落中可能出现1次
沃玛号角 1/1000 ; 低概率掉落特殊物品
金币 500-1000 100% ; 必爆500-1000金币(100%概率)
强效太阳水 1/5 3-5 ; 20%概率掉落3-5瓶
; 带条件的掉落(仅VIP玩家触发)
#IF CHECKVIP = 1
金刚石 1/20
#ELSE
铁矿 1/10
#ENDIF
生效方法:
实时生效(GOM 引擎):M2 控制台输入 @reload monitems 白野猪。
批量生效:重启M2Server.exe(会重载所有怪物爆率文件)。
三、核心需求:添加新 NPC 或修改 NPC 功能
1. 目标文件 1:MirServer/Mir200/Envir/Npc_def/[地图编号].txt
功能:定义 NPC 的位置、名称、外观(地图编号对应MapInfo.txt中的编号,如 3 = 盟重省)。
修改步骤:
打开对应地图的 NPC 配置文件(如3.txt= 盟重省),添加 NPC 坐标信息:
ini
; 格式:X坐标 Y坐标 地图编号 NPC名称 外观代码 是否固定(0=固定,1=移动)
329 266 3 新NPC-传送员 73 0
外观代码:73 = 布衣老者,85 = 铁匠(可参考Mir200/Envir/Npc_def/中现有 NPC 的外观代码)。
2. 目标文件 2:MirServer/Mir200/Envir/Market_Def/[NPC名称]-[地图编号].txt
功能:编写 NPC 交互脚本(对话、任务、传送等逻辑)。
修改步骤:
创建脚本文件(如新NPC-传送员-3.txt,3 = 地图编号),编写交互逻辑:
script
@main
#SAY
欢迎来到盟重省!\
<前往猪洞七层/@go_d717>\
<购买药水/@buy_potion>
; 传送功能
@go_d717
#IF
CHECKLEVEL > 35 ; 条件:等级>35级
CHECKGOLD > 1000 ; 条件:金币>1000
#ACT
TAKEGOLD 1000 ; 扣除1000金币
MOVETO 717 128 128 ; 传送到猪洞七层(地图717,坐标128,128)
MESSAGEBOX 传送成功!
#ELSEACT
MESSAGEBOX 等级不足35级或金币不足!
; 购买药水功能
@buy_potion
#SAY
强效太阳水:500金币/瓶\
<购买1瓶/@buy1>\
<购买10瓶/@buy10>
@buy1
#ACT
GIVE 强效太阳水 1
TAKEGOLD 500
生效方法:
实时生效:M2 控制台输入 @reload npc(重载所有 NPC 配置和脚本)。
四、核心需求:调整地图参数(安全区、刷怪数量、进入限制)
1. 目标文件:MirServer/Mir200/Envir/MapInfo.txt
功能:配置地图基础属性(名称、大小、安全区、刷怪规则)。
修改步骤:
找到目标地图的配置行(如猪洞七层 = D717),修改参数:
ini
; 基础格式:地图编号 名称 宽度 高度 地形类型 安全区标识 其他限制
D717 猪洞七层 128 128 3 0 1
; 安全区设置(格式:X1 Y1 X2 Y2 安全区类型)
100 100 150 150 1 ; 坐标100-150区域设为安全区(1=禁止PK)
; 刷怪规则(格式:怪物名 数量 刷新间隔(秒) 范围X1 Y1 X2 Y2)
白野猪 5 300 80 80 120 120 ; 在80-120坐标范围,每300秒刷新5只白野猪
; 进入限制
#IF CHECKGONGJI > 500 ; 要求攻击力>500才能进入
#ACT ALLOWENTER
#ELSEACT DENYENTER 攻击力不足500,无法进入!
生效方法:
实时生效(GOM 引擎):M2 控制台输入 @reload mapinfo。
旧版本引擎:需重启M2Server.exe。
五、核心需求:设置 GM 权限或添加管理员账号
1. 目标文件:MirServer/Mir200/Envir/AdminList.txt
功能:定义 GM 账号及权限等级(1-10 级,10 级为最高权限)。
修改步骤:
打开文件,按格式添加 GM 账号:
ini
; 格式:*角色名 权限等级(*不可省略,区分普通玩家)
*GM_Master 10 ; 10级权限:可使用所有GM命令(如@刷物品、@踢人)
*GM_Assistant 5 ; 5级权限:仅可查看数据、传送玩家(无刷物品权限)
生效方法:
实时生效:M2 控制台输入 @reload admin。
注意:添加后需让 GM 角色重新登录游戏,权限才会生效。
六、核心需求:禁止特定字符注册(防广告 / 违规名称)
1. 目标文件:MirServer/Mir200/Envir/FilterNewHumanNameString.txt
功能:过滤角色注册时的敏感字符(与之前提到的 GOM 引擎字符过滤对应)。
修改步骤:
打开文件,每行添加一个禁止字符 / 字符串:
plaintext
外挂
管理员
@
#
空格
生效方法:
实时生效(GOM 引擎):M2 控制台输入 @reload filter。
验证:创建包含禁止字符的角色,若提示 “名称包含非法字符” 则生效。
七、通用操作原则与注意事项
备份优先:
修改前务必备份目标文件(如复制!Setup.txt为!Setup_backup.txt),避免错误导致服务端崩溃。
编码格式:
所有配置文件建议用UTF-8 无 BOM或ANSI编码保存(不同引擎兼容不同,GOM 推荐 UTF-8,HERO 推荐 ANSI)。
引擎差异:
GOM 引擎:支持实时重载(@reload命令)、正则表达式过滤、多语言脚本。
HERO 引擎:多数修改需重启服务端,脚本语法更简单(无 Lua 支持)。
测试验证:
修改后通过以下方式验证:
基础参数:创建新角色测试经验获取速度、怪物掉落。
NPC / 地图:登录游戏交互 NPC、进入目标地图检查规则。
权限:用 GM 账号执行@version(查看权限等级)、@刷金币 1000(测试功能)。
八、常见问题排查
问题现象 可能原因 解决方法
修改后无效果 文件路径错误或未重载 / 重启 核对文件位置,执行对应@reload命令或重启
服务端启动失败 配置文件格式错误(如少括号、乱码) 恢复备份文件,用工具检查语法(如 Notepad++)
NPC 无反应 脚本文件名与 NPC 名称不匹配 确保Market_Def文件名格式为 “NPC 名 - 地图编号.txt”
爆率异常(全爆 / 不爆) 爆率文件格式错误(如概率写反) 检查是否写成 “500/1”(正确应为 “1/500”)
通过以上方法,可根据需求灵活修改服务端核心文件,实现对游戏规则、功能、安全的自定义控制。操作时需结合具体引擎版本(参考官方文档),优先使用实时重载命令提高效率。
|
|