你已经有架设和改版本经验,所谓"制作"不是单纯架现成端,而是拿一个干净的Hero/BLUE/GOM引擎服务端当开发框架,用传奇素材(WIL/WZL地图、怪物、装备图标)重新做地图、剧情、任务、怪物分布、装备数值,搭出一个完全属于你自己故事的版本。本质上还是基于Mir2引擎服务端+客户端运行(单机用127.0.0.1),但内容是100%原创。以下是完整制作流程。
一、准备干净引擎与工具包
引擎选择
• 新手做剧情向单机版推荐 HERO引擎纯净端(1.76/1.80空白版) 或 新BLUE引擎单机版,这两个对脚本、任务、触发支持最成熟,网上空白版指 MirServer 里只有基础NPC没有任务和爆率的那类。
- GOM/GEE 也可以,脚本目录结构略有不同(QuestDiary 下放任务而非直接在 MerChant 旁),自由度更高但配置稍繁琐。
必备辅助工具
• LEMapEditor / WilMapEditor — 绘制或编辑 .map 地图文件,设置障碍、传送点、挖矿点
- WIL/WZL编辑器(如WIL Tool、传奇素材编辑器) — 查看/导入/导出装备图标、怪物形象、地图地表素材
• DBC2000 + BDE Administrator — 编辑 StdItems.DB(物品库)、StdMonsters.DB(怪物库)、Magic.DB(技能库)
- Notepad++ — 编写所有脚本文件,开启关键字高亮避免语法错
• 客户端用1.76或1.80十周年版,Data 目录放素材补丁。
解压引擎端到 D:\MirServer(纯英文无空格),客户端到 D:\Legend,补丁先按普通架设方式覆盖好让能正常进游戏,这是制作基础。
二、规划故事线与拆分工序
动键盘前先纸上定好:
• 主线流程:新手村→第一个城镇→野外→地下城→BOSS房,每步对应地图编号
• 关键NPC:向导、任务发布者、商人、剧情反派,分别放哪张地图什么坐标
- 专属道具:剧情信物(不掉落只由NPC给)、新装备(改Icon/名字/属性)
• 怪物梯度:小怪/Boss各在哪层刷,专属掉落是什么
建议先画个简图标地图号(如 g001 新手村、g002 黑森林、g003 古神殿),后面每一步都照这个编号填。
三、制作与导入新地图
1. 新建或复用地图
打开 LEMapEditor → 文件→新建地图,选尺寸(通常 200×200 或 148×148 格),用地表砖铺底,放建筑/树/障碍,设置"允许行走"和"禁止行走"区域。在地图某格设传送点(门/暗道),属性里填目标地图号和目标XY。
保存为 g001.map 放进 MirServer\Mir200\Map\ 。
2. 注册地图到服务端
打开 MirServer\Mir200\Envir\MapInfo.txt 末尾加:
[g001|新手村] SAFE NORECALL NOPOSITIONMOVE
[g002|黑森林] DAY NORECALL
[g003|古神殿] NORECALL NOPOSITIONMOVE
格式:地图文件名|显示名 [属性],SAFE=安全区不PK,DAY=白天音效,NORECALL禁止回城卷。编号 g001/g002 对应 .map 文件名去掉扩展名。
3. 客户端同步
把 g001.map 同样拷入客户端 Data\Map\ ,并在客户端 MapInfo.txt(如有)或确认登录器读取服务端 MapInfo 即可。若用了自定义地表/物件,用WIL编辑器把新图块导入客户端 Data 下对应 Map.wil/Obj.wil 并记好编号。
四、定制怪物、装备、技能数值
怪物库
打开 DBC2000 加载 HeroDB → StdMonsters.DB(有的叫 Monster.DB):
• 复制近似原版怪(如半兽人)→改名"黑森林强盗"→调 HP/MP/AC/MAC/Damage/视野范围/主动攻击距离。
- 保存后到 Mir200\Envir\MonGen.txt 加刷新点:
g002 黑森林强盗 55 88 30 5 ;地图g002 X55 Y88 每30秒刷 最多5只
g003 古神殿守卫 28 42 60 1 ;BOSS
物品/装备库
StdItems.DB 里复制裁决→改名"断罪之刃"→改 Shape(对应武器外观编号)、Dura、DC/MC/SC、NeedLevel、Price。图标用WIL编辑器从 Wp.wil 提取改色再导回,或指向已有未占用的图标格。
技能(可选)
Magic.DB 可改现有技能名/耗蓝/延迟/伤害公式,传奇引擎不支持很复杂的自定义新技能逻辑,通常做法是复用火球/施毒术改名改数值伪装成新技能。
五、编写NPC对话与任务脚本(核心)
传奇脚本是纯文本,不需编程,按固定标签写。
1. 注册NPC
打开 Mir200\Envir\Merchant.txt 加一行:
剧情向导 0 320 268 剧情向导 0 45 0 0
参数:脚本文件名 地图号 X Y 显示名 方向 外观码 预留 预留。
2. 写NPC脚本(HERO引擎例)
在 Mir200\Envir\Market_Def\ 新建 剧情向导-0.txt:
[@main]
#SAY
欢迎勇士!我是流亡的史官。\ \
你能帮我找回<古神符石/c=253>吗?\ \
<接受任务/@AcceptQuest>\ <离开/@Exit>
[@AcceptQuest]
#IF
#ACT
SET mission_古神符石 1
SENDMSG 6 任务已接受:前往黑森林取得古神符石!
GIVE 任务追踪卷 1
BREAK
[@CheckReward]
#IF
CHECKGOLD 0
CHECKITEM 古神符石 1
#ACT
TAKE 古神符石 1
SET mission_古神符石 2
GIVE 断罪之刃 1
GIVE 金币 50000
SENDMSG 6 恭喜完成主线!获得断罪之刃!
#ELSEACT
#SAY
你还没拿到古神符石,去<黑森林(地图g002)/c=250>找找吧。
脚本逻辑:对话入口→接任务设全局变量→玩家打怪捡"古神符石"(物品库自建,爆率只给黑森林强盗 1/3)→回来点NPC检测物品→给奖励。
GOM/GEE引擎任务写法
在 Mir200\Envir\QuestDiary\主线任务\古神符石.txt 写任务触发条件(OnKillMonster/OnPickUp),NPC脚本里用 #IF CHECKMISSION 古神符石 判断进度,结构更清晰但初学要多看自带范例。
剧情分支/多结局
用 SET 设不同标志位(mission_chose_A / mission_chose_B),NPC对话里 #IF CHECK [mission_chose_A] = 1 跳转不同选项分支即可实现选择分歧。
六、设置怪物爆率与BOSS专属掉落
在 Mir200\Envir\MonItems\ 新建或修改对应怪物文件,如 黑森林强盗.txt:
古神符石 3 1
金币 800 5000
格式:物品名 千分比概率 最大数量(部分引擎为 物品名 数量 概率),BOSS房古神殿守卫单独设掉"断罪之刃 5 1"(万分之五)或提高符石掉率。
七、单机专属调整(去联网化+体验优化)
- 关无关网关:单机只启 DBServer+M2Server+LoginGate(或一键控制器),RunGate可留,不必开网站列表。
• 泡点经验:在 Mir200\Envir\MapQuest_def\QManage.txt 加 OnTimer 检测地图给EXP,或 MapInfo 里加 IncGamePoint(1/10) 让安全区自动涨经验。
- 去摆摊/行会按钮:部分引擎支持隐藏,或不管,单机不影响。
• 初始礼包:在 Mir200\Envir\StartItems.txt 或 QFunction-0.txt 的 [@OnLogin] 段 GIVE 布衣 木剑 药水 剧情信物等。
- 改升级经验曲线:Mir200\!Setup.txt 里 LevelExpRate= 调倍率,或直接在 DBC 的 LevelExp 表逐阶填数值。
八、测试与排错
启动M2→开登录器建号→逐张地图走传送点→和每个NPC对话→接任务→杀指定怪捡道具→交任务→查奖励是否正确给物品和变量。
常见问题:
• 地图黑/花屏 — 客户端没放对应 .map 或 MapInfo 未注册,WIL补丁未覆盖
- NPC不显示 — Merchant.txt 地图号错或坐标在障碍上,外观码填0试,脚本文件名与Market_Def里不一致
• 任务不触发 — 物品名和 StdItems.DB 里不完全一致(含空格括号),CHECKGOLD 条件写错,SET变量名前后不一
- 怪不刷 — MonGen.txt 地图号未注册或坐标不可行走,刷怪上限已满可等或手动清
• M2报脚本行错 — 多用 Notepad++ 看是否有中文引号、少了 #ACT/#SAY、@标签拼写错
九、关于"纯EXE脱离引擎"的说明
市面上有所谓"传奇单机制作大师/Mir2X单机版制作工具"声称可打包成独立EXE,实质仍是封装了一个微型引擎+客户端在一个EXE壳里,并不是真正脱离Mir2架构。你已有改版本经验,直接用干净 Hero/BLUE 端做内容就是最靠谱的做法,做完把 MirServer+客户端+登录器一起打包给别人玩即可,真要做脱离Mir2的ARPG需用 RPG Maker MV(导入传奇素材)或 Unity 重做,那已不属于传奇引擎范畴了。
用传奇引擎从零自制单机传奇版本 新地图剧情任务NPC脚本与素材编辑完整流程
来源:
作者:
点击:

