传奇服务端冲级奖励人数修改与脚本配置

来源: 作者: 点击:
冲级奖励的人数限制通常由全局数字变量(G变量)控制。修改人数本质是调整该变量的初始赋值或判定阈值。具体操作分为直接修改脚本数值、调整初始化段落及修复逻辑错误三类情况。

一、直接修改脚本中的G变量数值

大多数版本在NPC脚本的领取触发段直接使用MOV或LARGE命令控制人数。

1. 修改初始化赋值
在NPC脚本的[@main]或初始化段落中,找到类似MOV G235 500的代码。等号右侧的数字即为可领取总人数。例如将500改为100,即表示该档位仅限前100名玩家领取。
- MOV G235 500 ;原脚本限500人
+ MOV G235 100 ;修改后限100人


2. 修改满额判定条件
部分脚本通过LARGE命令检测已领取人数(通常为另一个G变量)是否超过上限。例如以下脚本限制前3名:
- LARGE G247 2 ;检测G247>2(即第3人之后不可领)
+ LARGE G247 9 ;修改为前10名可领(9+1)


二、初始化脚本与变量重置

若NPC界面显示名额无限或始终为0,需检查脚本开头的初始化触发段。

1. 初始化标志变量
通常以G480或G234作为开关,防止重复初始化。修改MOV G480 1下方的各档位变量赋值即可。
#IF
EQUAL G480 0 ;检测是否已初始化
#ACT
MOV G480 1 ;标记已初始化
MOV G481 5 ;51级档位限5人
MOV G482 10 ;52级档位限10人


2. 开区重置技巧
如需每个新区重置人数,可在开区时通过GM命令或手动执行:

#ACT
MOV G480 0 ;重置初始化开关
MOV G247 0 ;清零领取计数器


三、特殊版本与逻辑修正

1. 递减逻辑修正
部分脚本使用“剩余名额”递减逻辑(DEC Gxxx 1)。若发现名额消耗过快,需检查是否有多处DEC指令或逻辑错误。确保每人仅触发一次递减。

2. 排行榜模式(TOP N)
若为“冲级大赛”类脚本(奖励前N名),人数修改通常在CheckNameList文件判定或G变量的初始化值。例如将“前三名”改为“前五名”:
- LARGE G1 2 ;原逻辑:名次>2则跳出
+ LARGE G1 4 ;修改后:名次>4(即前5名)


四、修改流程与避坑指南

1. 定位文件:在MirServer\Mir200\Envir\Market_Def\找到冲级奖励NPC脚本(如冲级奖励-3.txt)。
2. 备份原文件:修改前务必复制备份。
3. 搜索关键词:在脚本中搜索MOV G、LARGE G、冲级奖励,定位目标档位。
4. 同步修改描述:修改G变量数值后,需同步修改NPC对话中的文字(如“限500名”改为“限100名”),避免误导玩家。
5. 测试验证:修改后重启M2,使用测试账号领取至名额耗尽,验证脚本逻辑是否正常报满。

注意:若脚本中使用了A变量(个人变量)而非G变量,则无法实现全服人数限制,需重写为G变量逻辑。