传奇道士宝宝改名脚本写法与M2改怪名实操

来源: 作者: 点击:
先说清楚:传奇里“改宝宝名字”有两种做法。
一种是把召唤骷髅/召唤神兽绑成别的怪物,宝宝名字跟着 Monster.DB 走;
另一种是不换怪,只用脚本命令把已召唤的宝宝显示名改掉。
大部分人搜“改名脚本”要的是第二种,下面先给脚本,再给 M2 改原怪名方案。

一、脚本改宝宝显示名(不换怪物原型)

适用:骷髅还是骷髅、神兽还是神兽,只想头上名字变成“道尊守护”“玄门灵犬”这类。

触发位置一般写 QFunction-0.txt,或技能触发、命令脚本里。
不同引擎命令不一定都有,下面写法以部分 M2/教程常见命令为例,自己引擎没有就去查说明书。

1. 固定改名脚本

[@ChangeBabyName]
IF

CHECKSLAVE
ACT

SLAVENAME 道尊守护
SENDMSG 2 0 宝宝名字已改为【道尊守护】
BREAK

CHECKSLAVE 判断当前有宝宝
SLAVENAME 后面跟新名字
名字建议 2~8 个汉字

2. 输入自定义名字

[@BabyRename]
IF

CHECKSLAVE
ACT

SENDMSG 2 0 请输入新名字(1-8字)
INPUTSTR S100 8
GOTO @DoRename
BREAK

[@DoRename]
IF

STRLEN S100 > 0
ACT

SLAVENAME <$STR(S100)>
SENDMSG 2 0 宝宝已改名:<$STR(S100)>
BREAK

INPUTSTR S100 8 限制输入长度,防显示超出
<$STR(S100)> 取变量内容

3. 召唤后自动改名(配合 RECALLMOB)

RECALLMOB 格式:
RECALLMOB 怪物名 等级 叛变时间(分) 自动变色(0/1) 颜色

例子:
IF

CHECKSLAVECOUNT < 5
ACT

RECALLMOB 神兽 7 30 0 -1
SLAVENAME 七彩神兽
SENDMSG 2 0 已召唤并改名

RECALLMOB 本身不是改名命令,只负责召怪;
改名靠后面接 SLAVENAME / ChangeMonName。

部分引擎用 ChangeMonName 怪物ID 新名字,不是所有端都支持,以自己引擎说明书为准。

二、M2里直接改召唤怪名(换原型)

适用:你想让道士召出来本身就是“火焰骷髅”“变异神兽”,不是原版骷髅。

路径:
M2 → 选项 → 功能设置 → 技能魔法 → 道士技能 → 召唤骷髅 / 召唤神兽

操作:
1. 打开 Monster.DB(Mir200\Mud2\DB 或 Envir 下,看引擎)
2. 确认目标怪物已存在,比如“火焰骷髅”
3. 没有就复制一行骷髅数据,改 Name 字段,ID 换一个没占用的
4. Race 保持可召唤类型,别乱填
5. Appr(形象)留原骷髅或填对应模型,不然变空白
6. M2 技能栏“召唤怪物名”填 火焰骷髅,必须一字不差
7. 控制 → 重新加载怪物数据库 + 技能数据库
8. 重启 M2 最稳

技能 ID 参考:
召唤骷髅 38
召唤神兽 39

三、只改显示名不改原型(改 Monster.DB 名字)

最省事但有点脏:
直接把 Monster.DB 里“骷髅战士”NameCN 改成你想要的名字。

缺点:
所有地图刷的骷髅也会跟着改显示名
以后查日志、掉宝配置、脚本判名字都会受影响
部分引擎改 NameEN 会失效,只改中文显示名

步骤:
1. 关 M2、关 DBServer
2. M2AE / DBC2000 打开 Monster.DB
3. 找到骷髅或神兽行
4. NameCN 改成新名,别碰 Idx、Race、Appr、HP
5. 保存
6. 启 M2

只改名字字段,其他全不动,不然容易召不出。

四、Hero / GOM / BLUE 差异

Hero:
多走 Envir\Skill\Taoist.txt 或 M2 技能栏绑怪名

GOM/GEE:
技能栏填召唤怪物名最常用,脚本用 RECALLMOB 也行

LegendM2:
RECALLMOB 参数完整,宝宝叛变用 GetCallMob

BLUE:
部分版本吃 QFunction 触发,SLAVENAME 不一定生效,优先 M2 绑怪

不确定自己引擎就先试 M2 绑怪名,最稳。

五、脚本存放位置

QFunction-0.txt:放召唤后自动改名
机器人脚本 / 命令脚本:放 @改名 入口
技能释放触发:部分端支持在施法后接 SLAVENAME

文件编码存 ANSI,别存 UTF-8,中文会变乱码。

六、常见失效原因

改了 M2 没重载
只改 NameEN 不改 NameCN
怪物名带 @ # & 特殊符号
名字太长,头顶显示截断
Monster.DB 被 M2 占用没保存成功
SLAVENAME 命令引擎不支持
宝宝没真正召唤出来就执行改名

排查顺序:
先手动召骷髅 → 输命令触发脚本 → 看是否提示成功 → 不成功查引擎是否认 SLAVENAME → 不行就改 M2 绑怪名

七、备份哪些文件

改之前复制一份:
Mir200\Mud2\DB\Monster.DB
Mir200\Mud2\DB\Magic.DB
Mir200\Envir
QFunction-0.txt

改崩了直接替回,不用重解压服务端。

八、完整可用模板(抄这个)

QFunction-0.txt 里加:

[@SummonSkeleton]
IF

CHECKSLAVE
ACT

SLAVENAME 噬魂骷髅
SENDMSG 2 0 骷髅已更名为噬魂骷髅

配合 M2 召唤骷髅技能触发,或自己做个 NPC:

[@改名骷髅]
IF

CHECKSLAVE
ACT

SLAVENAME 道尊骨卫
SENDMSG 2 0 改名成功
BREAK
ELSEACT

SENDMSG 2 0 你还没召宝宝
BREAK

想让神兽也改,复制一段把 CHECKSLAVE 后接 SLAVENAME 换内容就行。

九、别踩的坑

别把怪物 ID 改了:会召出别的东西或召不出
别在 Monster.DB 里删原骷髅:技能绑定会空
别用表情符号名字:老引擎客户端直接方块
别指望 SLAVENAME 永久写库:一般是显示层,重召按原怪名来
别同时改 NameCN 又改 M2 绑怪:容易搞混到底哪层生效

十、最简结论

只想头上换字 → 脚本 SLAVENAME / ChangeMonName
想换整个宝宝种类 → M2 道士技能绑新怪名
懒得写脚本 → 直接改 Monster.DB 骷髅/神兽的 NameCN
单机自己玩 → 改 DB 最快
做版本给别人用 → 写 QFunction 脚本,别动原怪名

新手别一上来改 Race、Appr、Idx,只动名字字段最安全。改完重载怪物库,进游戏召一下看头顶,不顺手就回备份。