一、制作魔域必备工具清单
制作魔域版本需准备以下5类核心工具,缺一不可:
1. 服务端程序:包含 AccountServer.exe(账号网关)、MsgServer.exe(主逻辑)、NpcServer.exe(NPC与怪物服务)及配套的 Config 配置文件。这是游戏运行的“大脑”。
2. 数据库环境:MySQL 5.7(推荐,兼容性最佳)及管理工具 Navicat。用于存储账号、角色、物品、怪物数据。
3. 客户端资源:官方对应版本的完整客户端(如怀旧版5712或新端),用于提取地图、装备图标、音效等资源文件。
4. 配置与修改工具:
◦ GM全能工具:用于修改角色属性、发放物品、调整爆率。
* 文本编辑器:Notepad++ 或 VS Code,用于编写和修改脚本。
◦ 资源编辑器:如 PCK 解包工具,用于修改客户端界面图片、补丁文件。
5. 登录器配置器:用于生成登录器,配置服务器IP(127.0.0.1为单机,外网需公网IP)和列表文件。
二、工具链运用与架设流程
1. 环境部署与数据库初始化
• MySQL安装:将MySQL安装或解压至 D:\usr 等无中文路径。启动MySQL服务,使用Navicat连接(端口3306,用户root),导入服务端附带的 .sql 数据库文件(如 account.sql, moyu.sql)。
* ODBC配置:在系统DSN(数据源)中添加MySQL ODBC驱动,连接名为 login 或 my_db,确保ACC网关能读取数据库。
2. 服务端启动顺序
严格按以下顺序运行,窗口均不可关闭:
1. 启动 AccountServer.exe,检查状态显示“Listening”。
2. 启动 MsgServer.exe,等待其与ACC连接成功。
3. 启动 NpcServer.exe(负责刷怪和NPC加载)。
4. 将登录器放入客户端根目录,配置IP后登录。
3. GM工具连接
打开GM工具,设置数据库连接参数(IP: 127.0.0.1,库名: moyu),连接成功后即可在“人物管理”中修改等级、魔石,在“物品管理”中刷取装备。
三、脚本制作与核心参数设置
1. NPC脚本制作(对话、商店、传送)
NPC脚本通常位于服务端 Script 目录下的 .lua 或 .txt 文件。
* 基础对话:使用 Say 函数定义NPC对话内容。
• 商店设置:在脚本中调用 OpenShop 指令,并关联 Shop.txt 中的商店ID。Shop.txt 内定义商店出售的物品ID及价格。
* 传送功能:使用 MapMove 或 Goto 指令,参数为地图编号、坐标X、坐标Y。地图编号需查阅 MapInfo.txt。
* 任务脚本:利用 if 条件判断玩家任务进度(CheckQuest),满足条件后执行 AddItem(给物品)或 AddExp(给经验)。
2. 装备与物品设置
• 物品定义:在数据库 cq_itemtype 表或服务端 ItemList.txt 中配置。关键字段:ID(物品唯一码)、Name、Class(类型,如武器、防具)、NeedLevel(需求等级)、AC/DC/MC(防御、攻击、魔法属性)。
* 极品属性:通过 Luck(幸运)、Excellent(卓越属性)字段控制,通常在服务端源码或插件中设置概率。
3. 金钱与经验设置
• 经验倍率:在 MsgServer 的配置文件(如 !setup.ini)中修改 ExpRate 参数。例如 ExpRate=100 表示100倍经验。
* 金钱爆率:在 MonsterDrop.txt 或数据库 cq_monster 表中,设置怪物掉落的金钱数量范围(MoneyMin, MoneyMax)。
4. 地图设置
• 地图文件:客户端 Map 文件夹存放 .map 地图文件,服务端需同步。MapInfo.txt 定义地图名称、大小、是否安全区。
* 刷怪地图:在 MonsterSpawn.txt 中配置,格式为:地图ID 怪物ID 刷怪X 刷怪Y 范围 数量 间隔(秒)。
5. 怪物爆率设置
• 爆率文件:通常是 MonsterDrop.txt 或数据库 cq_drop 表。
* 配置格式:怪物ID 物品ID 几率 数量。几率数值越大爆率越低(如10000表示1/10000概率)。若使用百分比爆率文件(如 DropProb.txt),则数值越大爆率越高。
* BOSS设置:在 Monster.txt 中调整BOSS的 HP(血量)、AC(防御)、DC(攻击),并关联高价值物品的爆率ID。
6. 高级功能:自动脚本
• 刷怪脚本:在 MonsterSpawn.txt 中设置刷怪间隔,或使用Lua脚本的 CreateMonster 函数定时刷怪。
* 活动脚本:利用 OnTimer 定时器事件,在特定时间(如整点)执行 BroadcastMsg(全服公告)并刷出活动BOSS。
四、常见报错与数据备份
• NPC不显示:检查 NpcServer 是否启动,或 Npc.txt 中的坐标是否超出地图边界。
* 爆率不生效:确认修改的是服务端 Data 目录下的文件,修改后需重启 MsgServer 和 NpcServer。
* 数据备份:定期使用Navicat的“转储SQL文件”功能备份数据库,防止版本测试导致数据损坏。
制作魔域版本需准备以下5类核心工具,缺一不可:
1. 服务端程序:包含 AccountServer.exe(账号网关)、MsgServer.exe(主逻辑)、NpcServer.exe(NPC与怪物服务)及配套的 Config 配置文件。这是游戏运行的“大脑”。
2. 数据库环境:MySQL 5.7(推荐,兼容性最佳)及管理工具 Navicat。用于存储账号、角色、物品、怪物数据。
3. 客户端资源:官方对应版本的完整客户端(如怀旧版5712或新端),用于提取地图、装备图标、音效等资源文件。
4. 配置与修改工具:
◦ GM全能工具:用于修改角色属性、发放物品、调整爆率。
* 文本编辑器:Notepad++ 或 VS Code,用于编写和修改脚本。
◦ 资源编辑器:如 PCK 解包工具,用于修改客户端界面图片、补丁文件。
5. 登录器配置器:用于生成登录器,配置服务器IP(127.0.0.1为单机,外网需公网IP)和列表文件。
二、工具链运用与架设流程
1. 环境部署与数据库初始化
• MySQL安装:将MySQL安装或解压至 D:\usr 等无中文路径。启动MySQL服务,使用Navicat连接(端口3306,用户root),导入服务端附带的 .sql 数据库文件(如 account.sql, moyu.sql)。
* ODBC配置:在系统DSN(数据源)中添加MySQL ODBC驱动,连接名为 login 或 my_db,确保ACC网关能读取数据库。
2. 服务端启动顺序
严格按以下顺序运行,窗口均不可关闭:
1. 启动 AccountServer.exe,检查状态显示“Listening”。
2. 启动 MsgServer.exe,等待其与ACC连接成功。
3. 启动 NpcServer.exe(负责刷怪和NPC加载)。
4. 将登录器放入客户端根目录,配置IP后登录。
3. GM工具连接
打开GM工具,设置数据库连接参数(IP: 127.0.0.1,库名: moyu),连接成功后即可在“人物管理”中修改等级、魔石,在“物品管理”中刷取装备。
三、脚本制作与核心参数设置
1. NPC脚本制作(对话、商店、传送)
NPC脚本通常位于服务端 Script 目录下的 .lua 或 .txt 文件。
* 基础对话:使用 Say 函数定义NPC对话内容。
• 商店设置:在脚本中调用 OpenShop 指令,并关联 Shop.txt 中的商店ID。Shop.txt 内定义商店出售的物品ID及价格。
* 传送功能:使用 MapMove 或 Goto 指令,参数为地图编号、坐标X、坐标Y。地图编号需查阅 MapInfo.txt。
* 任务脚本:利用 if 条件判断玩家任务进度(CheckQuest),满足条件后执行 AddItem(给物品)或 AddExp(给经验)。
2. 装备与物品设置
• 物品定义:在数据库 cq_itemtype 表或服务端 ItemList.txt 中配置。关键字段:ID(物品唯一码)、Name、Class(类型,如武器、防具)、NeedLevel(需求等级)、AC/DC/MC(防御、攻击、魔法属性)。
* 极品属性:通过 Luck(幸运)、Excellent(卓越属性)字段控制,通常在服务端源码或插件中设置概率。
3. 金钱与经验设置
• 经验倍率:在 MsgServer 的配置文件(如 !setup.ini)中修改 ExpRate 参数。例如 ExpRate=100 表示100倍经验。
* 金钱爆率:在 MonsterDrop.txt 或数据库 cq_monster 表中,设置怪物掉落的金钱数量范围(MoneyMin, MoneyMax)。
4. 地图设置
• 地图文件:客户端 Map 文件夹存放 .map 地图文件,服务端需同步。MapInfo.txt 定义地图名称、大小、是否安全区。
* 刷怪地图:在 MonsterSpawn.txt 中配置,格式为:地图ID 怪物ID 刷怪X 刷怪Y 范围 数量 间隔(秒)。
5. 怪物爆率设置
• 爆率文件:通常是 MonsterDrop.txt 或数据库 cq_drop 表。
* 配置格式:怪物ID 物品ID 几率 数量。几率数值越大爆率越低(如10000表示1/10000概率)。若使用百分比爆率文件(如 DropProb.txt),则数值越大爆率越高。
* BOSS设置:在 Monster.txt 中调整BOSS的 HP(血量)、AC(防御)、DC(攻击),并关联高价值物品的爆率ID。
6. 高级功能:自动脚本
• 刷怪脚本:在 MonsterSpawn.txt 中设置刷怪间隔,或使用Lua脚本的 CreateMonster 函数定时刷怪。
* 活动脚本:利用 OnTimer 定时器事件,在特定时间(如整点)执行 BroadcastMsg(全服公告)并刷出活动BOSS。
四、常见报错与数据备份
• NPC不显示:检查 NpcServer 是否启动,或 Npc.txt 中的坐标是否超出地图边界。
* 爆率不生效:确认修改的是服务端 Data 目录下的文件,修改后需重启 MsgServer 和 NpcServer。
* 数据备份:定期使用Navicat的“转储SQL文件”功能备份数据库,防止版本测试导致数据损坏。

