当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

HeroM2传奇引擎双内功设置教程双内功栏配置指南

热度:
一、双内功设置核心原理

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=100020003000...(各级升级经验)
DefendRate=0.1(每级内功伤害抵消倍率)

//副内功基础配置(新增内容)
[NeiGong2]
MaxLevel=50//副内功等级上限,可与主内功一致或调整
UpExp=120024003600...(各级升级经验,建议略高于主内功)
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//满足激活等级
CheckVarNeiGong2Active=0//未激活副内功
#ACT
SetVarNeiGong2Active1//标记为已激活
SetHeroDBNeiGong2Level1//副内功初始1级
SetHeroDBNeiGong2Value100//初始副内功值
SendCenterMsg250252副内功已成功激活,可通过快捷键切换显示130
BREAK
#ELSE
SendCenterMsg250252等级不足30级,或已激活副内功130
BREAK

//二、双内功切换脚本(快捷键触发,默认快捷键F12)
[@切换内功显示]
#IF
CheckVarNeiGong2Active=1//已激活副内功
#ACT
ToggleVarShowNeiGong2//切换副内功栏显示状态(0隐藏,1显示)
#IF
CheckVarShowNeiGong2=1
SendCenterMsg250252已切换至副内功显示130
#ELSE
SendCenterMsg250252已切换至主内功显示130
#ENDIF
BREAK
#ELSE
SendCenterMsg250252未激活副内功,无法切换130
BREAK

//三、副内功升级脚本(消耗内功丹升级)
[@副内功升级]
#IF
CheckVarNeiGong2Active=1//已激活副内功
CheckHeroDBNeiGong2Level<50//未达到等级上限
CheckItem内功丹1//拥有1颗内功丹
#ACT
TakeItem内功丹1//扣除内功丹
IncHeroDBNeiGong2Exp1000//增加副内功经验
//判断经验是否满足升级条件(以2级升3级为例,经验需3600)
#IF
CheckHeroDBNeiGong2Exp>=3600
IncHeroDBNeiGong2Level1//副内功等级+1
IncHeroDBNeiGong2Max50//副内功最大值+50
SetHeroDBNeiGong2Exp0//重置当前等级经验
SendCenterMsg250252副内功升级成功,当前等级:%NeiGong2Level%130
#ELSE
SendCenterMsg250252副内功经验不足,无法升级130
#ENDIF
BREAK
#ELSE
SendCenterMsg250252未激活副内功/等级已上限/缺少内功丹130
BREAK

//四、双内功效果触发脚本(攻击时叠加副内功效果)
[@攻击触发]
#IF
CheckVarNeiGong2Active=1//已激活副内功
CheckHeroDBNeiGong2Level>=5//副内功等级≥5级
#ACT
//触发副内功伤害加成(倍率0.08,与配置文件一致)
SetAttackPower+(HeroDB(NeiGong2Level)*0.08)
SendMsg625500副内功效果触发,伤害提升!//弹窗提示
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战士//判断为战士职业
CheckVarNeiGong2Active=1
CheckHeroDBNeiGong2Level>=5
#ACT
SetAttackPower+(HeroDB(NeiGong2Level)*0.1)//战士副内功伤害倍率0.1
#ELSEIF
CheckJob法师//判断为法师职业
CheckVarNeiGong2Active=1
CheckHeroDBNeiGong2Level>=5
#ACT
SetMagicPower+(HeroDB(NeiGong2Level)*0.09)//法师副内功魔法倍率0.09
#ELSEIF
CheckJob道士//判断为道士职业
CheckVarNeiGong2Active=1
CheckHeroDBNeiGong2Level>=5
#ACT
SetPoisonPower+(HeroDB(NeiGong2Level)*0.11)//道士副内功毒素倍率0.11
#ENDIF
BREAK

2.副内功解锁限制(需完成任务激活)

若需通过任务激活副内功,修改[@激活副内功]脚本,添加任务完成判断:

[@激活副内功]
#IF
CheckLevel>=30
CheckVarNeiGong2Active=0
CheckTask解锁副内功=1//已完成解锁任务
#ACT
SetVarNeiGong2Active1
SetHeroDBNeiGong2Level1
SendCenterMsg250252完成解锁任务,副内功成功激活130
BREAK
#ELSE
SendCenterMsg250252需完成【解锁副内功】任务,才能激活130
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补丁适配性及脚本变量,基本可快速解决问题。
[顶部]