本文核心提供QFunction-0脚本命令(适配SKYM2、BULEM2引擎),实现道士宝宝名字修改,同时解决召唤仅动作无实体、M2修改名字保存错误问题,附带完整召唤技能添加流程,全程实操落地。
核心逻辑:通过QFunction-0文件添加宝宝命名脚本,绑定召唤技能与宝宝名称,规避M2直接修改的保存限制;同步校准DB数据库与引擎设置,解决召唤无实体问题,确保脚本生效后可正常召唤并显示自定义名字。
一、QFunction-0宝宝名字修改脚本(核心命令)
QFunction-0文件路径固定为D:\mirserver\Mir200\Envir\Market_Def\QFunction-0.txt,添加脚本后无需修改M2宝宝名称,启动服务端自动绑定,可直接召唤出自定义名字的宝宝,适配两大引擎。
通用基础脚本(适用于新增宝宝召唤技能,自定义名字为“幽冥卫士”):
(@OnSummon) ;召唤动作触发时执行,绑定宝宝名字
#IF ;校验条件:召唤技能为目标技能(如“召唤幽冥卫士”)
CheckSkill 召唤幽冥卫士 ;替换为自定义召唤技能名称
#ACT
SetMonName 幽冥卫士 ;设置宝宝显示名字
BindSummon 1 ;绑定宝宝与玩家,防止召唤无实体
#ELSEIF ;适配默认技能(如召唤骷髅/神兽)改名
CheckSkill 召唤骷髅
#ACT
SetMonName 骨刃战士 ;修改默认骷髅名字为自定义名称
脚本说明:SetMonName为核心命名命令,参数为自定义宝宝名字;BindSummon 1用于绑定召唤关系,解决仅动作无实体问题,所有参数可按需替换。
二、引擎差异化适配脚本
1. SKYM2引擎补充脚本:若召唤后名字不显示,在QFunction-0中添加属性同步命令,确保名字与宝宝实体绑定:
(@OnSummonSuccess) ;召唤成功后触发
#IF
CheckMonName 幽冥卫士 ;校验宝宝名称
#ACT
SyncMonAttr ;同步宝宝属性与名称,避免显示异常
2. BULEM2引擎补充脚本:需添加部位绑定命令,兼容引擎召唤机制:
(@OnSummon)
#IF
CheckSkill 召唤幽冥卫士
#ACT
SetMonName 幽冥卫士
BindSummon 1
SetSummonPos 0 2 ;固定召唤位置(相对玩家2格距离)
三、完整召唤技能添加流程(解决召唤无实体问题)
仅添加脚本不够,需同步完成DB数据库与引擎设置,三步确保召唤正常:
第一步:DB数据库添加宝宝与技能数据
打开DBC2000,定位HeroDB数据库,依次操作:
1. 进入MonItems表,添加宝宝数据:填写宝宝名称(与脚本SetMonName一致,如幽冥卫士)、血量、攻击、防御等基础属性,Type设为“0”(怪物类型),Save设为“0”。
2. 进入StdItems表,添加召唤技能书数据:名称设为“召唤幽冥卫士技能书”,Class设为“10”(技能书类型),Shape设为对应技能书外观编号,SkillID填写自定义技能ID(如1234,需唯一)。
3. 进入Skills表,添加技能数据:SkillID与技能书一致,Name设为“召唤幽冥卫士”,Type设为“2”(召唤类技能),Power设为技能等级(如1-3级),Target设为“-1”(无指定目标),召唤参数栏填写宝宝名称(幽冥卫士)。
第二步:引擎技能设置(避免M2保存错误)
启动M2引擎,进入“技能设置-道士技能”栏,找到新增的“召唤幽冥卫士”技能,配置如下:
1. 召唤怪物ID:填写MonItems表中宝宝对应的ID,确保与数据库一致。
2. 召唤数量、等级:按需设置(如1只、7级),无需修改“怪物名称”栏(由脚本控制)。
3. 保存设置:直接点击确定即可,因宝宝名称由脚本绑定,无需修改名称栏,规避保存错误。
第三步:脚本与数据同步
将QFunction-0.txt保存,重启服务端所有进程,确保数据库数据、引擎设置、脚本命令三者一致,进入游戏学习技能后即可召唤出带自定义名字的宝宝。
四、常见问题解决
1. 仅召唤动作无实体:核心为数据库与脚本未绑定,检查BindSummon 1命令是否添加,同时核对MonItems表中宝宝ID与引擎技能设置的召唤怪物ID是否一致,确保无编号错误。
2. M2修改名字保存错误:本质是引擎限制直接修改召唤怪物名称,无需手动修改M2,通过QFunction-0脚本SetMonName命令控制,启动后自动覆盖默认名称,彻底解决保存问题。
3. 宝宝名字不显示:SKYM2引擎添加SyncMonAttr同步命令,BULEM2引擎检查SetSummonPos位置命令,同时确保宝宝名称在数据库与脚本中完全一致(区分大小写)。
4. 技能学习后无法召唤:检查StdItems表技能书Class是否为10,Skills表技能Type是否为2,召唤参数栏是否填写正确宝宝名称,缺失一项会导致技能无效。
五、拓展:默认宝宝改名脚本(无需新增技能)
若无需新增宝宝,仅修改默认召唤骷髅/神兽名字,直接在QFunction-0添加如下脚本:
(@OnSummon)
#IF
CheckSkill 召唤骷髅 ;默认技能名称
#ACT
SetMonName 骨魂卫士 ;修改为自定义名字
#ELSEIF
CheckSkill 召唤神兽
#ACT
SetMonName 烈焰神兽
保存后重启服务端,使用默认技能即可召唤出改名后的宝宝,无需调整数据库。
六、脚本生效注意事项
1. QFunction-0.txt编码格式需为ANSI,避免中文乱码导致脚本失效,保存时选择“另存为”设置编码。
2. 重启服务端时需完全关闭所有进程(包括M2、引擎控制器),再重新启动,确保脚本与数据加载生效。
3. 宝宝名称长度控制在2-8个汉字,避免过长导致显示异常,特殊符号需谨慎使用(部分引擎不兼容)。

