要实现转生后上线自动增加血量和蓝量,需在服务端的登录脚本(通常为 QManage.txt)中植入判定逻辑。核心流程为:上线触发 → 检测转生等级 → 执行属性加成。
一、核心脚本命令(通用引擎)
不同引擎命令略有差异,以下是主流引擎的常用命令:
功能 通用/HEMRO引擎 GOM/GEE/V8引擎 说明
增加血量上限 HUMANHP + 数值 AddHpMax 数值 永久增加HP上限
增加蓝量上限 HUMANMP + 数值 AddMpMax 数值 永久增加MP上限
恢复当前血量 H.HUMANHP + 数值 ChangeModeEx 3 65535 数值 瞬间回满血(非上限)
恢复当前蓝量 H.HUMANMP + 数值 ChangeModeEx 4 65535 数值 瞬间回满蓝(非上限)
检测转生等级 CHECKREBORNLEVEL 次数 GetRebornLevel 变量 判定人物转生次数
注意:HUMANHP/HUMANMP 是直接调整基础属性上限的命令,转生系统通常使用此类命令;ChangeModeEx 更多用于临时调整或恢复当前状态。
二、完整脚本设置流程(以HERO引擎为例)
以最常见的“1转+1000血蓝,2转+2000血蓝”为例,脚本需写在 MirServer\Mir200\Envir\MapQuest_def\QManage.txt 文件中。
脚本代码示例:
[@Login]
#IF
CHECKREBORNLEVEL = 1
#ACT
HUMANHP + 1000
HUMANMP + 1000
SENDMSG 6 转生加成:血量+1000,魔法值+1000!
BREAK
#IF
CHECKREBORNLEVEL = 2
#ACT
HUMANHP + 2000
HUMANMP + 2000
SENDMSG 6 转生加成:血量+2000,魔法值+2000!
BREAK
(后续可依此类推添加3转、4转的判定)
三、GOM/GEE引擎适配写法
GOM/GEE引擎通常使用变量存储转生等级,脚本逻辑稍有不同:
[@Login]
#IF
GetRebornLevel > 0
#ACT
CALCVAR HUMAN RebornLevel = <$REBORNLEVEL>
SAVEVAR HUMAN RebornLevel ..\QuestDiary\转生数据.txt
AddHpMax <$STR(N$转生加成HP)>
AddMpMax <$STR(N$转生加成MP)>
SENDMSG 6 转生属性已自动加载!
BREAK
此写法先获取转生等级存入变量,再根据变量值计算加成量,更适合多转生阶段的复杂系统。
四、常见问题与避坑指南
1. 属性叠加BUG:切勿在登录脚本中不加判定直接 HUMANHP + 数值,否则玩家每次上下线都会叠加属性,导致数据异常。必须用 CHECKREBORNLEVEL 或 GetRebornLevel 严格限制触发条件。
2. 命令混淆:HUMANHP + 是增加上限,ChangeModeEx 3 是调整当前值。若只想上线时把血条补满,应用 ChangeModeEx 3 65535 100(100代表百分比)。
3. 数值溢出:单次增加数值不建议超过 65535,否则部分老版本引擎会报错或数据归零。
总结:设置的关键在于找准 QManage.txt 的 [@Login] 段,利用 CHECKREBORNLEVEL 进行条件分支,再使用 HUMANHP/AddHpMax 赋予永久属性。

