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

手把手教学:传奇转生后封号消失?一招解决小退丢封号问题

热度:
根本原因:传奇引擎登录脚本中缺失了"重新加载封号"的命令!每次小退重登,系统不会自动恢复转生封号,导致显示为空。

⚙️ 解决方案(三步永久修复)

第一步:添加封号保存变量(关键)

在转生脚本成功触发位置添加变量保存封号数据(以 GEE引擎 为例):
[@转生成功]
IF
检查转生条件...

ACT
记录转生等级到U变量(如:U99)

MOV U99 <$TURNLEVEL>
保存封号内容到S变量(如:S99)

MOV S99 【<$USERNAME>】★九转天尊★
设置封号并保存数据

SETRANKLEVELNAME <$STR(S99)>
SAVE ; ⚠️ 必须保存数据到数据库

✅ 作用:将封号内容永久存储在人物数据库字段中。

第二步:修改登录触发脚本(核心)

打开 QManage.txt(位于服务端路径:\Mir200\Envir\MapQuest_def)
添加以下代码:
[@Login] ; 角色登录触发
IF

CHECKVAR U99 > 0 ; 检查是否有转生等级
ACT
重新加载封号

SETRANKLEVELNAME <$STR(S99)>
SENDMSG 6 [系统]您的转生封号「<$STR(S99)>」已自动恢复!

📌 引擎差异:

- GOM引擎:使用全局变量读取

MOV S99 <$GLOBAL(封号变量)>

- V8引擎:使用自定义属性

SETRANKLEVELNAME <$CUSTOM(封号)>

第三步:配置变量保存(防丢关键)

在 Envir\Market_Def 文件夹中创建 SaveVar.txt,添加:

转生数据自动保存清单

U99
S99

💡 作用:系统自动持久化这些变量到数据库,小退/大退都不丢失。

🛠️ 完整转生脚本示例

[@Main]
<转生需5000元宝/@开始转生>

[@开始转生]
IF

CHECKGOLD 5000
CHECKLEVELEX > 80
ACT

TAKE 金币 5000
CALCVAR U99 + 1 ; 转生等级+1
SAVEVAR U99 转生等级 ; 保存变量
根据转生等级设置封号

IF

EQUAL U99 1
ACT

MOV S99 【<$USERNAME>】★一转修罗★
IF

EQUAL U99 2
ACT

MOV S99 【<$USERNAME>】★二转魔神★
统一设置封号并提示

ACT

SETRANKLEVELNAME <$STR(S99)>
SAVE
SENDMSG 0 【<USERNAME>】成功晋升<STR(S99)>!


⚡ 修复效果验证:
角色转生 → 显示金色封号

小退重登 → 自动恢复封号

服务器重启 → 封号永久保留

💎 注意事项:
变量选择建议

低占用变量:U10~U49(推荐)

字符变量:S0~S99
引擎路径差异

GEE/V8:Mir200\Envir\MapQuest_def\QManage.txt

GOM:MirServer\Mir200\Envir\MapQuest_def\QManage.txt
调试技巧

在脚本中添加调试命令:
SENDMSG 6 "当前封号:<$RANKLEVELNAME>"

---

按照以上步骤操作后,转生封号永久生效问题可彻底解决!如遇引擎兼容问题,可提供脚本引擎类型(如GEE/V8/GOM)进一步定制方案。
[顶部]