一、双内功设置核心原理
HeroM2引擎默认支持单内功系统,双内功设置核心是通过“扩展内功字段+新增内功栏UI+编写切换脚本”,实现两个独立内功(下称主内功、副内功)的并行运行。两大核心要点:一是在数据库与配置文件中新增副内功属性字段,实现数据独立存储;二是通过脚本控制双内功切换与效果叠加,同步适配客户端UI显示,确保双内功互不冲突、正常生效。
设置核心逻辑:先开启引擎内功系统基础功能,再扩展副内功数据字段与显示UI,最后通过脚本实现双内功的激活、切换、升级及效果触发,全程需保证服务端配置与客户端资源同步适配。
二、前期准备(确认适配性与文件路径)
1. 引擎版本适配确认
优先使用HeroM2引擎完整功能版,精简版可能阉割内功扩展模块;确认引擎支持“自定义属性字段”与“多UI面板显示”,老版本需升级至对应支持版本,避免设置后功能缺失。
2. 关键文件路径梳理
核心配置文件集中在服务端Mir200目录下,需提前定位以下文件:
1. 角色数据库:Mir200\DB\HeroDB(存储主/副内功属性数据);
2. 内功配置文件:Mir200\Envir\Option\NeiGong.ini(基础内功参数设置);
3. 全局脚本文件:Mir200\Envir\Market_Def\QFunction-0.txt(编写双内功切换/升级脚本);
4. 客户端UI资源:客户端\DATA\NeiGong2.wzl(副内功栏UI补丁);
5. 引擎参数配置:Mir200\M2Server.exe(开启内功扩展功能)。
3. 前期基础配置
先开启引擎基础内功功能:打开M2主程序,进入“选项-功能设置-角色属性”,勾选“启用内功系统”,设置主内功基础参数(如最大等级、内功值上限),保存配置并重启M2,确保单内功系统可正常运行,为双内功设置铺垫基础。
三、分步设置教程(直接落地可用)
1. 第一步:扩展副内功数据库字段
打开角色数据库HeroDB,找到角色属性表(默认表名Hero),新增以下副内功相关字段,实现与主内功数据独立存储:
// 副内功数据库字段(新增至角色属性表末尾)
NeiGong2Level=0 // 副内功等级(默认0级,未激活)
NeiGong2Exp=0 // 副内功经验值
NeiGong2Value=0 // 副内功当前值(用于抵消伤害)
NeiGong2Max=100 // 副内功最大值(可按需求调整)
NeiGong2Skill=0 // 副内功专属技能(0为无,1为已习得)
NeiGong2Active=0 // 副内功激活状态(0为未激活,1为已激活)
字段说明:所有副内功字段以“NeiGong2”前缀区分主内功(前缀NeiGong),避免数据混淆;新增字段后,保存数据库并关闭,确保字段可正常读取与写入。
2. 第二步:配置副内功基础参数(NeiGong.ini)
打开内功配置文件NeiGong.ini,在原有主内功配置下方新增副内功参数,设置副内功等级上限、升级经验、效果倍率等:
// 主内功基础配置(原有内容,无需修改)
[NeiGong]
MaxLevel=50
UpExp=1000,2000,3000...(各级升级经验)
DefendRate=0.1(每级内功伤害抵消倍率)
// 副内功基础配置(新增内容)
[NeiGong2]
MaxLevel=50 // 副内功等级上限,可与主内功一致或调整
UpExp=1200,2400,3600...(各级升级经验,建议略高于主内功)
DefendRate=0.08(副内功伤害抵消倍率,避免过强)
ActiveNeedLevel=30 // 激活副内功所需角色等级
SkillID=1001 // 副内功专属技能ID(需与技能数据库匹配)
ShowUI=1 // 开启副内功栏UI显示(1为显示,0为隐藏)
保存文件后,重启M2主程序,确保副内功参数被引擎读取生效。
3. 第三步:适配客户端双内功栏UI(显示副内功)
1. 安装副内功栏UI补丁:将提前准备好的NeiGong2.wzl(副内功栏UI补丁)放入客户端\DATA目录下,确保补丁与客户端版本适配,无资源冲突;
2. 配置UI显示位置:打开客户端配置文件Config.ini,新增以下内容,设置副内功栏显示位置(避免与主内功栏重叠):
[NeiGong2UI]
Show=1 // 显示副内功栏
PosX=600 // 副内功栏X轴坐标
PosY=300 // 副内功栏Y轴坐标
Width=120 // 副内功栏宽度
Height=180 // 副内功栏高度
FontSize=12 // 文字显示大小
3. 测试UI显示:重启登录器,进入游戏创建角色,若角色等级达到30级(激活条件),可在界面右侧看到副内功栏,显示默认0级副内功数据,说明UI配置生效。
4. 第四步:编写双内功核心脚本(切换/激活/升级)
打开全局脚本文件QFunction-0.txt,添加以下脚本,实现双内功的激活、切换、升级及效果触发:
// 一、副内功激活脚本(角色30级可激活)
[@激活副内功]
#IF
CheckLevel >= 30 // 满足激活等级
CheckVar NeiGong2Active = 0 // 未激活副内功
#ACT
SetVar NeiGong2Active 1 // 标记为已激活
SetHeroDB NeiGong2Level 1 // 副内功初始1级
SetHeroDB NeiGong2Value 100 // 初始副内功值
SendCenterMsg 250 252 副内功已成功激活,可通过快捷键切换显示 1 30
BREAK
#ELSE
SendCenterMsg 250 252 等级不足30级,或已激活副内功 1 30
BREAK
// 二、双内功切换脚本(快捷键触发,默认快捷键F12)
[@切换内功显示]
#IF
CheckVar NeiGong2Active = 1 // 已激活副内功
#ACT
ToggleVar ShowNeiGong2 // 切换副内功栏显示状态(0隐藏,1显示)
#IF
CheckVar ShowNeiGong2 = 1
SendCenterMsg 250 252 已切换至副内功显示 1 30
#ELSE
SendCenterMsg 250 252 已切换至主内功显示 1 30
#ENDIF
BREAK
#ELSE
SendCenterMsg 250 252 未激活副内功,无法切换 1 30
BREAK
// 三、副内功升级脚本(消耗内功丹升级)
[@副内功升级]
#IF
CheckVar NeiGong2Active = 1 // 已激活副内功
CheckHeroDB NeiGong2Level < 50 // 未达到等级上限
CheckItem 内功丹 1 // 拥有1颗内功丹
#ACT
TakeItem 内功丹 1 // 扣除内功丹
IncHeroDB NeiGong2Exp 1000 // 增加副内功经验
// 判断经验是否满足升级条件(以2级升3级为例,经验需3600)
#IF
CheckHeroDB NeiGong2Exp >= 3600
IncHeroDB NeiGong2Level 1 // 副内功等级+1
IncHeroDB NeiGong2Max 50 // 副内功最大值+50
SetHeroDB NeiGong2Exp 0 // 重置当前等级经验
SendCenterMsg 250 252 副内功升级成功,当前等级:%NeiGong2Level% 1 30
#ELSE
SendCenterMsg 250 252 副内功经验不足,无法升级 1 30
#ENDIF
BREAK
#ELSE
SendCenterMsg 250 252 未激活副内功/等级已上限/缺少内功丹 1 30
BREAK
// 四、双内功效果触发脚本(攻击时叠加副内功效果)
[@攻击触发]
#IF
CheckVar NeiGong2Active = 1 // 已激活副内功
CheckHeroDB NeiGong2Level >= 5 // 副内功等级≥5级
#ACT
// 触发副内功伤害加成(倍率0.08,与配置文件一致)
SetAttackPower + (HeroDB(NeiGong2Level)*0.08)
SendMsg 6 255 0 0 副内功效果触发,伤害提升! // 弹窗提示
BREAK
脚本说明:需根据实际玩法调整副内功升级经验、激活等级、效果倍率等参数;若需添加副内功专属技能触发,可在脚本中补充技能ID判断与释放指令。
5. 第五步:设置双内功快捷键(方便操作)
打开M2主程序,进入“选项-功能设置-快捷键设置”,新增以下快捷键:
1. 切换内功显示:设置快捷键F12,绑定脚本[@切换内功显示];
2. 激活副内功:设置快捷键Ctrl+N,绑定脚本[@激活副内功];
3. 副内功升级:设置快捷键Ctrl+U,绑定脚本[@副内功升级];
保存配置后重启M2,进入游戏即可通过快捷键快速操作双内功。
6. 第六步:测试与微调
重启服务端与登录器,进入游戏测试双内功功能:
1. 激活测试:角色等级达到30级,使用Ctrl+N激活副内功,查看副内功栏是否显示;
2. 切换测试:按F12切换主/副内功,确认数据显示正常,无UI重叠;
3. 升级测试:使用内功丹升级副内功,确认等级、经验、属性值同步变化;
4. 效果测试:攻击怪物,确认副内功等级≥5级时触发伤害加成,提示正常;
5. 微调参数:若副内功效果过强,可降低NeiGong.ini中DefendRate倍率;若升级过快,可提高各级UpExp经验值。
四、不同场景下的双内功适配设置
1. 职业专属双内功(分职业差异化设置)
针对不同职业设置专属副内功效果,在[@攻击触发]脚本中添加职业判断:
[@攻击触发]
#IF
CheckJob 战士 // 判断为战士职业
CheckVar NeiGong2Active = 1
CheckHeroDB NeiGong2Level >= 5
#ACT
SetAttackPower + (HeroDB(NeiGong2Level)*0.1) // 战士副内功伤害倍率0.1
#ELSEIF
CheckJob 法师 // 判断为法师职业
CheckVar NeiGong2Active = 1
CheckHeroDB NeiGong2Level >= 5
#ACT
SetMagicPower + (HeroDB(NeiGong2Level)*0.09) // 法师副内功魔法倍率0.09
#ELSEIF
CheckJob 道士 // 判断为道士职业
CheckVar NeiGong2Active = 1
CheckHeroDB NeiGong2Level >= 5
#ACT
SetPoisonPower + (HeroDB(NeiGong2Level)*0.11) // 道士副内功毒素倍率0.11
#ENDIF
BREAK
2. 副内功解锁限制(需完成任务激活)
若需通过任务激活副内功,修改[@激活副内功]脚本,添加任务完成判断:
[@激活副内功]
#IF
CheckLevel >= 30
CheckVar NeiGong2Active = 0
CheckTask 解锁副内功 = 1 // 已完成解锁任务
#ACT
SetVar NeiGong2Active 1
SetHeroDB NeiGong2Level 1
SendCenterMsg 250 252 完成解锁任务,副内功成功激活 1 30
BREAK
#ELSE
SendCenterMsg 250 252 需完成【解锁副内功】任务,才能激活 1 30
BREAK
五、常见问题排查(设置无效/显示异常/效果失效)
1. 副内功栏不显示
成因:客户端未安装副内功UI补丁(NeiGong2.wzl);NeiGong.ini中ShowUI未设为1;角色未达到激活等级,或未激活副内功。
解决办法:确认NeiGong2.wzl已放入客户端DATA目录;检查NeiGong.ini中[NeiGong2]模块ShowUI=1;升级角色至30级,使用Ctrl+N激活副内功。
2. 副内功升级后属性不变化
成因:数据库字段新增错误(字段名拼写错误,如NeiGong2Leve);脚本中升级指令错误(未使用IncHeroDB);NeiGong.ini中副内功参数未配置。
解决办法:核对数据库字段名,确保与脚本、配置文件一致;检查升级脚本,确认使用IncHeroDB指令提升等级/属性;补充NeiGong.ini中[NeiGong2]模块参数。
3. 双内功切换无反应
成因:未激活副内功;快捷键未绑定脚本;脚本中变量名错误(如ShowNeiGong2写成ShowNeiGong)。
解决办法:先激活副内功;重新检查M2快捷键设置,确认绑定[@切换内功显示]脚本;核对脚本中变量名,确保无拼写错误。
4. 副内功效果不触发
成因:脚本中职业/等级判断条件错误;NeiGong.ini中DefendRate倍率设为0;副内功未激活或等级未达标。
解决办法:修正脚本中判断条件(如职业名称、等级阈值);调整NeiGong.ini中副内功DefendRate倍率(建议0.05-0.1);激活副内功并升级至对应等级。
5. 客户端与服务端数据不同步
成因:客户端UI补丁与服务端配置不匹配;服务端修改后未重启;客户端缓存未清理。
解决办法:更换与服务端适配的副内功UI补丁;重启服务端与登录器;删除客户端Config\Cache文件夹内缓存文件,重新登录游戏。
六、注意事项(避免设置失误导致异常)
1. 备份核心文件:修改数据库与配置文件前,备份HeroDB数据库、NeiGong.ini与QFunction-0.txt,避免设置失误无法恢复;
2. 平衡双内功强度:副内功效果倍率需低于主内功,避免破坏游戏平衡,建议主内功倍率0.1-0.15,副内功0.05-0.1;
3. 同步客户端资源:确保所有玩家客户端都安装副内功UI补丁,否则未安装补丁的玩家无法看到副内功栏;
4. 重启生效:所有配置与脚本修改后,需重启M2主程序与服务端,否则参数与脚本无法生效;
5. 字段一致性:数据库字段名、脚本变量名、配置文件参数名需完全一致(区分大小写),否则会导致数据读取失败。
七、总结
HeroM2引擎双内功设置的核心,在于“字段扩展+UI适配+脚本控制”三大步骤,关键是确保主/副内功数据独立、UI显示正常、效果触发流畅。按本文教程配置,可快速实现双内功系统的激活、切换、升级与效果叠加,适配不同职业与玩法需求。若遇到异常,优先排查数据库字段、UI补丁适配性及脚本变量,基本可快速解决问题。
HeroM2传奇引擎双内功设置教程 双内功栏配置指南
来源:
作者:
点击:

