一、传奇脚本变量核心定义
传奇脚本变量是一键端中用于存储、传递数据的核心载体,可理解为脚本的“数据容器”,支持数字、字符等数据类型,通过变量赋值、运算、判断等操作,实现脚本逻辑的灵活执行,是搭建游戏玩法、NPC交互、任务系统的基础。
数字变量是脚本变量的核心分类,仅存储数值数据,支持加减乘除、随机取值等运算,广泛用于计数(杀怪数量、任务次数)、条件判断(等级达标、道具数量)等场景,是传奇一键端中最常用的变量类型。
二、传奇脚本变量分类及核心属性(一键端通用)
脚本变量按“作用范围+保存特性”可分为私人变量、全局变量两大类,包含数字型与字符型,不同变量的存储路径、生效范围存在差异,具体分类及属性如下:
2.1私人变量(绑定单个角色,仅对本人生效)
私人变量仅归属单个角色,其他玩家无法影响其值,按保存特性可分为可保存与不可保存两类,核心类型如下:
1.不可保存私人变量(下线/场景切换重置):
-P0-P999(数字型):仅在当前NPC对话中生效,关闭对话框后自动重置为0,适合临时运算、对话内循环判断,可配合跳转命令实现仿循环效果。
-D0-D999(数字型):人物不下线时全局NPC通用,下线后数据清空,适合临时记录摇骰子结果、临时任务进度等场景。
-M0-M999(数字型):切换地图后数据自动清空,下线不保存,适合地图内临时计数(如单地图杀怪数)。
-N0-N999(数字型):小退(退出游戏再登录)后数据归0,下线不保存,可作为临时数字容器,支持各类运算。
-S0-S999(字符型):与N变量特性一致,仅存储字符数据(如临时输入的文字),小退归0,下线不保存。
2.可保存私人变量(下线后数据留存):
-U0-U254(数字型):数据存储在人物数据库Mir.db中,下线后不丢失,数值范围支持正负21亿,适合记录永久任务进度、累计杀怪数等核心数据。
-T0-T254(字符型):同样存储在Mir.db中,支持存储汉字(1汉字=2字符)和字母,字符长度限制100以内,适合记录角色专属标识、自定义备注等。
-J0-J254(数字型):存储在Mir.db中,每晚0点自动重置数据,合区或关停服务器需避开0点,适合每日任务次数、每日奖励领取记录等场景。
2.2全局变量(全服通用,对所有玩家生效)
全局变量不属于单个角色,全服所有玩家均可触发其运算与判断,数据生效范围覆盖整个服务器,核心类型如下:
-I0-I999(数字型):不可保存,服务器重启后自动重置为0,适合临时记录全服活动进度、实时统计数据等场景。
-G0-G999(数字型):可保存,数据存储在Mir200/GlobalVal.ini文件中,服务器重启后数据留存,适合记录全服活动开启状态、全服累计达成目标等。
-A0-A999(字符型):与G变量存储路径一致,支持保存字符数据,全服通用且可留存,适合记录全服公告、活动规则等固定文本信息。
2.3自定义变量(扩展型变量,按需创建)
一键端支持自定义变量,可突破固定变量的限制,按用途分为私人、全局、行会三类,需先声明再使用,核心规则如下:
1.声明格式:需指定变量类型(整数型/字符型)、作用范围(私人HUMAN/全局GLOBAL/行会GUILD),例如“VARIntegerHUMAN押镖次数”(声明私人整数型变量“押镖次数”)。
2.存储位置:自定义私人/行会变量默认存于数据库,合区时自动合并;全局变量存于服务器配置文件,可通过LOADVAR命令读取文本文件中的变量值。
3.注意事项:自定义变量名称不可以P、D、M、N、S、I、G、A开头,避免与系统固定变量冲突。
三、数字变量核心运算命令(一键端实操常用)
数字变量支持赋值、加减乘除、随机取值等运算,是实现脚本逻辑的核心,常用命令及用法如下:
1.赋值命令(MOV):给变量设置固定数值,格式“MOV变量数值”,示例“MOVN01”(将N0变量赋值为1),适合初始化变量或固定变量值。
2.加法命令(INC):给变量叠加指定数值,格式“INC变量数值”,示例“INCU01”(将U0变量值加1),适合杀怪计数、任务次数累计等场景。
3.减法命令(DEC):给变量减去指定数值,格式“DEC变量数值”,示例“DECN01”(将N0变量值减1),适合扣除次数、消耗计数等操作。
4.乘法命令(MUL):变量与指定数值相乘,格式“MUL变量数值”,示例“MULN02”(将N0变量值乘以2),仅支持数字型变量,不支持字符型变量。
5.除法命令(DIV):变量与指定数值整除,格式“DIV变量数值”,示例“DIVN02”(将N0变量值除以2),同样仅支持数字型变量。
6.求和命令(SUM):需先初始化求和变量为0,再依次累加目标变量,示例“MOVX0”“SUMAB”“SUMC”(实现X=A+B+C),单独使用SUM命令无意义,需配合赋值命令。
7.随机取值命令(MOVR):给变量赋0至指定数值间的随机数,格式“MOVR变量数值”,示例“MOVRN010”(N0变量值随机为0-10中的任意整数),适合摇骰子、随机奖励发放等场景。
四、脚本变量条件判断与显示方法
变量需配合判断命令实现逻辑触发,通过显示命令可在游戏内展示变量值,核心用法如下:
4.1条件判断命令(常用3类)
1.等于判断(EQUAL):判断变量值是否等于指定数值,格式“EQUAL变量数值”,示例“EQUALU010”(判断U0变量值是否为10),满足条件则执行后续脚本。
2.大于判断(LARGE):判断变量值是否大于指定数值,格式“LARGE变量数值”,示例“LARGEU05”(判断U0变量值是否大于5)。
3.小于判断(SMALL):判断变量值是否小于指定数值,格式“SMALL变量数值”,示例“SMALLU03”(判断U0变量值是否小于3),不满足条件则跳过后续脚本。
4.2变量显示方法
通过“<$STR(变量)>”命令可在游戏内显示变量值,通常配合#SAY(NPC对话)、SENDMSG(系统提示)命令使用,示例如下:
1.NPC对话显示:#SAY当前押镖次数:<$STR(U0)>(对话框中显示U0变量对应的押镖次数)。
2.系统提示显示:SENDMSG6今日杀怪总数:<$STR(N$我的杀怪总数)>(发送第6频道提示,显示自定义杀怪计数变量值)。
3.自定义变量显示:查看私人自定义变量用“<$HUMAN(变量名)>”,全局自定义变量用“<$GLOBAL(变量名)>”,示例“<$HUMAN(押镖次数)>”(显示私人押镖次数变量值)。
五、脚本变量实操示例(一键端常用场景)
5.1私人变量:每日押镖次数限制
脚本逻辑:角色每日押镖上限3次,通过J0变量记录次数,0点自动重置,核心脚本如下:
(@押镖触发)
#IF
SMALLJ03(判断J0变量值小于3,即押镖次数未满3次)
#ACT
INCJ01(押镖次数加1)
SENDMSG6押镖成功,今日剩余押镖次数:<$STR(3-$J0)>次
#ELSEACT
SENDMSG6今日押镖次数已耗尽,明日0点重置
5.2全局变量:全服活动开启判断
脚本逻辑:通过G0变量控制全服双倍经验活动,G0=1时开启,G0=0时关闭,核心脚本如下:
(@开启双倍活动)
#ACT
MOVG01(设置G0变量为1,开启活动)
SENDMSG0全服双倍经验活动已开启,持续2小时!(全服广播)
(@关闭双倍活动)
#ACT
MOVG00(设置G0变量为0,关闭活动)
SENDMSG0全服双倍经验活动已结束,感谢参与!
5.3自定义变量:角色杀怪排行榜
脚本逻辑:自定义私人变量“杀怪总数”,记录角色累计杀怪数,通过排序命令生成排行榜,核心脚本如下:
(@登录声明变量)
#IF
CHECKLEVELEX>0
#ACT
VARIntegerHUMAN杀怪总数(声明私人整数型变量)
(@杀怪计数)
#ACT
CALCVARHUMAN杀怪总数+1(杀怪数加1)
SAVEVARHUMAN杀怪总数(保存变量值)
(@查看排行榜)
#ACT
SortHumVar杀怪总数S$排序结果N$排序数值0110(按杀怪数降序取前10名)
SENDMSG0全服杀怪排行榜TOP3:
SENDMSG01.<$STR(S$排序结果1)>:<$STR(N$排序数值1)>只
SENDMSG02.<$STR(S$排序结果2)>:<$STR(N$排序数值2)>只
SENDMSG03.<$STR(S$排序结果3)>:<$STR(N$排序数值3)>只
六、变量使用常见问题排查
6.1变量值不保存/重置异常
1.变量类型错误:误使用不可保存变量(如N、D变量)记录永久数据,需更换可保存变量(U、T、G等)。
2.存储路径异常:检查GlobalVal.ini(全局变量)、Mir.db(私人变量)是否存在,缺失则从备份文件恢复。
3.自定义变量未保存:自定义变量需执行SAVEVAR命令,否则数据不会留存,示例“SavevarHUMAN杀怪总数”。
6.2变量运算报错/逻辑不生效
1.变量格式错误:字符型变量(如S、A变量)不可执行乘法、除法运算,需更换数字型变量。
2.条件判断写法错误:判断命令(EQUAL/LARGE/SMALL)后需空格分隔变量与数值,不可遗漏参数。
3.自定义变量未声明:未执行VAR声明命令直接使用自定义变量,会导致脚本报错,需在登录或服务器启动时声明。
6.3变量值显示乱码/不显示
1.显示命令错误:未使用“<$STR(变量)>”格式,直接输入变量名无法显示,需补充完整显示命令。
2.字符型变量编码异常:字符型变量存储中文时,需确保脚本编码为GBK,避免乱码。
3.变量超出取值范围:U、J变量数值超出正负21亿,会导致显示异常,需控制变量运算范围。
七、核心使用要点总结
1.变量选型:临时场景用不可保存变量(P、N、D等),永久数据用可保存变量(U、T、G等),全服场景用全局变量(G、A等)。
2.自定义变量:需先声明再使用,明确类型与作用范围,避免与系统变量重名(禁用P、D、G等开头名称)。
3.数据留存:可保存变量需确保存储文件(Mir.db、GlobalVal.ini)可写入,避免权限不足导致数据丢失。
4.运算规范:仅数字型变量支持加减乘除运算,字符型变量仅可赋值与显示,不可参与数值运算。
传奇脚本变量是一键端中用于存储、传递数据的核心载体,可理解为脚本的“数据容器”,支持数字、字符等数据类型,通过变量赋值、运算、判断等操作,实现脚本逻辑的灵活执行,是搭建游戏玩法、NPC交互、任务系统的基础。
数字变量是脚本变量的核心分类,仅存储数值数据,支持加减乘除、随机取值等运算,广泛用于计数(杀怪数量、任务次数)、条件判断(等级达标、道具数量)等场景,是传奇一键端中最常用的变量类型。
二、传奇脚本变量分类及核心属性(一键端通用)
脚本变量按“作用范围+保存特性”可分为私人变量、全局变量两大类,包含数字型与字符型,不同变量的存储路径、生效范围存在差异,具体分类及属性如下:
2.1私人变量(绑定单个角色,仅对本人生效)
私人变量仅归属单个角色,其他玩家无法影响其值,按保存特性可分为可保存与不可保存两类,核心类型如下:
1.不可保存私人变量(下线/场景切换重置):
-P0-P999(数字型):仅在当前NPC对话中生效,关闭对话框后自动重置为0,适合临时运算、对话内循环判断,可配合跳转命令实现仿循环效果。
-D0-D999(数字型):人物不下线时全局NPC通用,下线后数据清空,适合临时记录摇骰子结果、临时任务进度等场景。
-M0-M999(数字型):切换地图后数据自动清空,下线不保存,适合地图内临时计数(如单地图杀怪数)。
-N0-N999(数字型):小退(退出游戏再登录)后数据归0,下线不保存,可作为临时数字容器,支持各类运算。
-S0-S999(字符型):与N变量特性一致,仅存储字符数据(如临时输入的文字),小退归0,下线不保存。
2.可保存私人变量(下线后数据留存):
-U0-U254(数字型):数据存储在人物数据库Mir.db中,下线后不丢失,数值范围支持正负21亿,适合记录永久任务进度、累计杀怪数等核心数据。
-T0-T254(字符型):同样存储在Mir.db中,支持存储汉字(1汉字=2字符)和字母,字符长度限制100以内,适合记录角色专属标识、自定义备注等。
-J0-J254(数字型):存储在Mir.db中,每晚0点自动重置数据,合区或关停服务器需避开0点,适合每日任务次数、每日奖励领取记录等场景。
2.2全局变量(全服通用,对所有玩家生效)
全局变量不属于单个角色,全服所有玩家均可触发其运算与判断,数据生效范围覆盖整个服务器,核心类型如下:
-I0-I999(数字型):不可保存,服务器重启后自动重置为0,适合临时记录全服活动进度、实时统计数据等场景。
-G0-G999(数字型):可保存,数据存储在Mir200/GlobalVal.ini文件中,服务器重启后数据留存,适合记录全服活动开启状态、全服累计达成目标等。
-A0-A999(字符型):与G变量存储路径一致,支持保存字符数据,全服通用且可留存,适合记录全服公告、活动规则等固定文本信息。
2.3自定义变量(扩展型变量,按需创建)
一键端支持自定义变量,可突破固定变量的限制,按用途分为私人、全局、行会三类,需先声明再使用,核心规则如下:
1.声明格式:需指定变量类型(整数型/字符型)、作用范围(私人HUMAN/全局GLOBAL/行会GUILD),例如“VARIntegerHUMAN押镖次数”(声明私人整数型变量“押镖次数”)。
2.存储位置:自定义私人/行会变量默认存于数据库,合区时自动合并;全局变量存于服务器配置文件,可通过LOADVAR命令读取文本文件中的变量值。
3.注意事项:自定义变量名称不可以P、D、M、N、S、I、G、A开头,避免与系统固定变量冲突。
三、数字变量核心运算命令(一键端实操常用)
数字变量支持赋值、加减乘除、随机取值等运算,是实现脚本逻辑的核心,常用命令及用法如下:
1.赋值命令(MOV):给变量设置固定数值,格式“MOV变量数值”,示例“MOVN01”(将N0变量赋值为1),适合初始化变量或固定变量值。
2.加法命令(INC):给变量叠加指定数值,格式“INC变量数值”,示例“INCU01”(将U0变量值加1),适合杀怪计数、任务次数累计等场景。
3.减法命令(DEC):给变量减去指定数值,格式“DEC变量数值”,示例“DECN01”(将N0变量值减1),适合扣除次数、消耗计数等操作。
4.乘法命令(MUL):变量与指定数值相乘,格式“MUL变量数值”,示例“MULN02”(将N0变量值乘以2),仅支持数字型变量,不支持字符型变量。
5.除法命令(DIV):变量与指定数值整除,格式“DIV变量数值”,示例“DIVN02”(将N0变量值除以2),同样仅支持数字型变量。
6.求和命令(SUM):需先初始化求和变量为0,再依次累加目标变量,示例“MOVX0”“SUMAB”“SUMC”(实现X=A+B+C),单独使用SUM命令无意义,需配合赋值命令。
7.随机取值命令(MOVR):给变量赋0至指定数值间的随机数,格式“MOVR变量数值”,示例“MOVRN010”(N0变量值随机为0-10中的任意整数),适合摇骰子、随机奖励发放等场景。
四、脚本变量条件判断与显示方法
变量需配合判断命令实现逻辑触发,通过显示命令可在游戏内展示变量值,核心用法如下:
4.1条件判断命令(常用3类)
1.等于判断(EQUAL):判断变量值是否等于指定数值,格式“EQUAL变量数值”,示例“EQUALU010”(判断U0变量值是否为10),满足条件则执行后续脚本。
2.大于判断(LARGE):判断变量值是否大于指定数值,格式“LARGE变量数值”,示例“LARGEU05”(判断U0变量值是否大于5)。
3.小于判断(SMALL):判断变量值是否小于指定数值,格式“SMALL变量数值”,示例“SMALLU03”(判断U0变量值是否小于3),不满足条件则跳过后续脚本。
4.2变量显示方法
通过“<$STR(变量)>”命令可在游戏内显示变量值,通常配合#SAY(NPC对话)、SENDMSG(系统提示)命令使用,示例如下:
1.NPC对话显示:#SAY当前押镖次数:<$STR(U0)>(对话框中显示U0变量对应的押镖次数)。
2.系统提示显示:SENDMSG6今日杀怪总数:<$STR(N$我的杀怪总数)>(发送第6频道提示,显示自定义杀怪计数变量值)。
3.自定义变量显示:查看私人自定义变量用“<$HUMAN(变量名)>”,全局自定义变量用“<$GLOBAL(变量名)>”,示例“<$HUMAN(押镖次数)>”(显示私人押镖次数变量值)。
五、脚本变量实操示例(一键端常用场景)
5.1私人变量:每日押镖次数限制
脚本逻辑:角色每日押镖上限3次,通过J0变量记录次数,0点自动重置,核心脚本如下:
(@押镖触发)
#IF
SMALLJ03(判断J0变量值小于3,即押镖次数未满3次)
#ACT
INCJ01(押镖次数加1)
SENDMSG6押镖成功,今日剩余押镖次数:<$STR(3-$J0)>次
#ELSEACT
SENDMSG6今日押镖次数已耗尽,明日0点重置
5.2全局变量:全服活动开启判断
脚本逻辑:通过G0变量控制全服双倍经验活动,G0=1时开启,G0=0时关闭,核心脚本如下:
(@开启双倍活动)
#ACT
MOVG01(设置G0变量为1,开启活动)
SENDMSG0全服双倍经验活动已开启,持续2小时!(全服广播)
(@关闭双倍活动)
#ACT
MOVG00(设置G0变量为0,关闭活动)
SENDMSG0全服双倍经验活动已结束,感谢参与!
5.3自定义变量:角色杀怪排行榜
脚本逻辑:自定义私人变量“杀怪总数”,记录角色累计杀怪数,通过排序命令生成排行榜,核心脚本如下:
(@登录声明变量)
#IF
CHECKLEVELEX>0
#ACT
VARIntegerHUMAN杀怪总数(声明私人整数型变量)
(@杀怪计数)
#ACT
CALCVARHUMAN杀怪总数+1(杀怪数加1)
SAVEVARHUMAN杀怪总数(保存变量值)
(@查看排行榜)
#ACT
SortHumVar杀怪总数S$排序结果N$排序数值0110(按杀怪数降序取前10名)
SENDMSG0全服杀怪排行榜TOP3:
SENDMSG01.<$STR(S$排序结果1)>:<$STR(N$排序数值1)>只
SENDMSG02.<$STR(S$排序结果2)>:<$STR(N$排序数值2)>只
SENDMSG03.<$STR(S$排序结果3)>:<$STR(N$排序数值3)>只
六、变量使用常见问题排查
6.1变量值不保存/重置异常
1.变量类型错误:误使用不可保存变量(如N、D变量)记录永久数据,需更换可保存变量(U、T、G等)。
2.存储路径异常:检查GlobalVal.ini(全局变量)、Mir.db(私人变量)是否存在,缺失则从备份文件恢复。
3.自定义变量未保存:自定义变量需执行SAVEVAR命令,否则数据不会留存,示例“SavevarHUMAN杀怪总数”。
6.2变量运算报错/逻辑不生效
1.变量格式错误:字符型变量(如S、A变量)不可执行乘法、除法运算,需更换数字型变量。
2.条件判断写法错误:判断命令(EQUAL/LARGE/SMALL)后需空格分隔变量与数值,不可遗漏参数。
3.自定义变量未声明:未执行VAR声明命令直接使用自定义变量,会导致脚本报错,需在登录或服务器启动时声明。
6.3变量值显示乱码/不显示
1.显示命令错误:未使用“<$STR(变量)>”格式,直接输入变量名无法显示,需补充完整显示命令。
2.字符型变量编码异常:字符型变量存储中文时,需确保脚本编码为GBK,避免乱码。
3.变量超出取值范围:U、J变量数值超出正负21亿,会导致显示异常,需控制变量运算范围。
七、核心使用要点总结
1.变量选型:临时场景用不可保存变量(P、N、D等),永久数据用可保存变量(U、T、G等),全服场景用全局变量(G、A等)。
2.自定义变量:需先声明再使用,明确类型与作用范围,避免与系统变量重名(禁用P、D、G等开头名称)。
3.数据留存:可保存变量需确保存储文件(Mir.db、GlobalVal.ini)可写入,避免权限不足导致数据丢失。
4.运算规范:仅数字型变量支持加减乘除运算,字符型变量仅可赋值与显示,不可参与数值运算。

