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

传奇版本修改指南:如何在转身NPC中添加永久攻击倍数功能

热度:
一、功能原理说明

通过以下组合实现转身奖励永久倍数:
数据存储:用 TXT 文件记录玩家转身等级

倍数计算:根据转身等级自动提升攻击倍数

登录加载:通过 QM 登录脚本初始化倍数

二、详细操作步骤

1️⃣ 新建数据存储文件

在服务端 D:\MirServer\Mir200\Envir\QuestDiary 创建 转生倍数记录.txt
内容示例(初始数值):

// 参数1:当前最大转生等级

1.0 // 参数2:基础倍数
0.3 // 参数3:每级增加倍数

2️⃣ 修改转生NPC脚本 (以转生大师NPC为例)

[@main]
欢迎进行转生修炼,当前可领取倍数奖励:\
<领取转生倍数奖励/@getbuff> <当前倍数:{ACBONUSPERCENT|250}%>\

[@getbuff]
IF

CHECKREBIRTHCOUNT > 0 // 检查有转生等级
ACT
读取当前转生等级

GETRANDOMLINETEXT ..\QuestDiary\转生倍数记录.txt 0 S$转生等级
LOADVAR HUMAN 攻击倍数 ..\QuestDiary\转生倍数记录.txt
计算新倍数

CALCVAR HUMAN 攻击倍数 = <HUMAN.攻击倍数> + <STR(S$转生等级)> * 0.3
SAVEVAR HUMAN 攻击倍数 ..\QuestDiary\转生倍数记录.txt
应用倍率(关键命令)

CHANGEDAMAGERATE 100 + <$HUMAN.攻击倍数> * 100 // 转换百分比

MESSAGEBOX 恭喜!获得<$HUMAN.攻击倍数>倍永久攻击!
ELSEACT

MESSAGEBOX 未达到转生条件!

3️⃣ 修改QM登录脚本 (重要步骤!)

路径:D:\MirServer\Mir200\Envir\MapQuest_def\QManage.txt
[@Login]
IF

ACT
初始化变量

LOADVAR HUMAN 攻击倍数 ..\QuestDiary\转生倍数记录.txt
加载玩家倍数(关键!)

CHANGEDAMAGERATE 100 + <$HUMAN.攻击倍数> * 100

三、配置文件参数说明
文件路径 关键参数 作用 示例值

转生倍数记录.txt 基础倍数 初始攻击倍数 1.0

每级增加 每次转生追加 0.3
QManage.txt CHANGEDAMAGERATE 实时应用倍数 100+100*倍数

四、常见问题解决
倍数不生效

检查QM文件是否保存为ANSI编码

确认转生记录.txt路径正确(建议用相对路径)

查看M2控制台是否报错 "HUMAN.攻击倍数 not found"
数据不同步

在NPC脚本最后添加刷新命令

[@getbuff]
...
#SAY
<立即刷新属性/@reload>

[@reload]
#ACT
ReNewLevel // 强制刷新角色属性


五、进阶优化方案
多阶奖励配置(示例):

在转生记录.txt增加

4=1.5 // 4转获得1.5倍
7=2.0 // 7转获得2.0倍
NPC脚本修改

IF

CHECKREBIRTHCOUNT = 4
ACT

MOV S$额外倍率 1.5

添加玩家提示

SAY

{您已完成<$USERNAME>转生/254} \
{当前享受:<$HUMAN.攻击倍数>倍攻击加成/249} \

实际测试建议:先在GM模式测试 @LOADVAR HUMAN 命令返回数值,再用测试号验证倍数生效情况。此方案已在GOM引擎1128版验证通过。
[顶部]