admin 发表于 2026-5-3 00:58:11

关于变量的相关解说

变量的类型。
全局代表所有NPC都识别的变量赋值。
个人代表只保存当前玩家的变量赋值
变量清理:
CLEARVAR A B,不带参数为清理全局变量;
A //起始变量,支持所有类型变量
B //清理的范围数量
示例:
#ACT
CLEARVAR S0 299
ClearVar A
ClearVar G


1,引擎变量
变量种类:A 、S、P、D、G、 I、M、个人标记
[全局变量]A,G,I
;====================================================================================
A变量   全局字符型变量,共计A1-A299个。
变量特性:可以记录字符文字,一般会用来记录玩家名字,奖品等等。比如天下第一,竞拍者名字。
变量特性:引擎离线保存,需要开区清理。下线后保存,重启服务器也保存 GlobalVals.XML 文件中
显示变量:<$str(A1)>
操作变量:MOV A1 我是张麻子
;====================================================================================
G变量   全局数字型变量,共计g1-g99个。
变量特性:可以记录整数型数字,一般会用来记录开区分钟,天数等等。
变量特性:引擎离线保存,需要开区清理。下线后保存,重启服务器也保存 GlobalVals.XML 文件中
显示变量:<$str(G1)>
操作变量:MOV G1 1
;====================================================================================
I变量   全局数字型变量,共计g1-g99个。
变量特性:可以记录整数型数字,一般会用来记录活动开启结束等等。
变量特性:引擎重启不保存。NPC通用传递
显示变量:<$str(i1)>
操作变量:MOV i1 1
;====================================================================================
个人变量:S,D,P,M
;====================================================================================
S变量   个人字符型变量,共计S1-S199个。
变量特性:可以记录字符文字,一般会用来临时记录NPC显示,或者文本分割赋值等等。
变量特性:引擎离线不保存。
显示变量:<$str(S1)>
操作变量:MOV S1 星河引擎
;====================================================================================
P变量   个人数字型变量,共计P1-P99个。
变量特性:可以记录整数数字,一般会用来记录变量运算,比如穿戴触发装备的属性运算。
变量特性:该变量只对当前对话NPC内有效果。如果中途点其他NPC则变量归0。
显示变量:<$str(P1)>
操作变量:MOV P1 3<适用于单NPC内加减乘除的运算>
;====================================================================================
D变量   个人数字型变量,共计D1-D99个。
变量特性:可以记录整数数字,一般会用来记录跨NPC的变量运算。
变量特性:个人变量, 全局传递,所有NPC内皆可传递。 临时变量:玩家下线不保存 。
显示变量:<$str(D1)>
操作变量:MOV D1 3
;====================================================================================
M变量   个人数字型变量,共计M1-M99个。
变量特性:可以记录整数数字   [该变量通过任何人的运算均产生效果,只可赋值数字]
变量特性:个人变量 ,全局传递 ,临时变量:下线不保存
变量特性:数值最大0-9支持42亿,支持负数。10-99最大21亿,不支持负数
显示变量:<$str(M1)>
操作变量:MOV M1 3
;====================================================================================
个人标记变量:用于使用于人物的标识。比如一般用于:领取回馈,加群礼包,等级奖励。共计-
变量特性:只有等于0 或者等于1
变量特性:个人标记 ,全局传递 ,下线保存,重启保存。
检测标记:check 0
操作标记:set 1
;====================================================================================
常用变量的操作:
1,大于:large G1 0    支持数字型变量
1,小于:SMALL G1 0    支持数字型变量
1,等于:equal A1 麻子equal G1 0       支持所有变量
1,加   :   INC G1 1      支持数字型变量
1,减   :   DEC G1 1       支持数字型变量
1,乘   :   MULT G1 1    支持数字型变量
1,除   :   DIV G1 1       支持数字型变量

;====================================================================================;====================================================================================
第二节:自定义变量
Global(全局)
Guild(行会)
Human(个人)
Clan(宗族)
使用自定义文本变量:
分为Integer(整数型)和String(字符)
1,声明变量QM表头登录执行

[@GlobalVar]
#CALL [\登陆设置\全局变量.txt] @全局变量
[@GuildVar]
#CALL [\登陆设置\行会变量.txt] @行会变量
[@Initialize] PNEUMA
#CALL [\登陆设置\个人变量.txt] @个人变量
声明和读取变量:操作
[@个人变量]   其他变量一致,记录文本为自定义。可以保存在任何地方,声明,读取,保存都需一致
#IF
RANDOM 1
#ACT
VAR Integer HUMAN 地图时间    ;=========声明
VAR String HUMAN 元宝王       ;=========声明
LOADVAR HUMAN 地图时间 ..\QuestDiary\数据文件\个人变量\个人变量记录.txt       ;=========读取
LOADVAR HUMAN 元宝王 ..\QuestDiary\数据文件\个人变量\个人变量记录.txt       ;=========读取
}
操作和保存变量:
CalcVar Human 地图时间 = 0            ;=========操作      
CalcVar Human 元宝王 = 暂无            ;=========操作
SaveVar Human 地图时间 ..\QuestDiary\数据文件\个人变量\个人变量记录.txt;=========保存   
SaveVar Human 元宝王..\QuestDiary\数据文件\个人变量\个人变量记录.txt    ;=========保存
其他自定义变量用法一致。只需更改Human为Global,Guild,Clan 等等。
缺点在于:合区需手动整理变量记录文本,现在不太适用。增加变量需重启生效。

;====================================================================================;====================================================================================
第三节:自定义数据表
文件保存位置:\DBserver\CustomTableList.txt

;此配置文件为数据库个人自定义数据表
;   表名不得包含字符串 TBL_, 以示与游戏数据表区别,
;   可以支持N个字段,字段不支持中文,字段类型只有三种(Int,Int64,Char(N),Date),
;   Int   有符号整数类型(-2147483648 .. 2147483647)
;   Int64   有符号64位整数类型(-9223372036854775808 .. 9223372036854775807)
;   Char(N) 字符串类型N是字符串长度,(N)可以省略
;   Date    时间类型用于记录日期一般的 每日活动,每日充值使用!
;   保留"CHR_IDX"字段,不能使用。

;表名                字段1:类型        字段2:类型       。。。。
;示列如下:[字段名无限使用,每个字段建议不要超20,修改后需重启保存,注意:合区时如果每个区的字段名不一致,会导致无法合区]
SG_AAA        AAA1:Date   AAA2:Date   AAA3:Date   AAA4:Date   AAA5:Date   AAA6:Date   AAA7:Date         (DATE为记录日期型,每个单字段不得超过20,以免出错!)
SG_BBB        BBB1:Int                BBB2:Int          BBB3:Int              BBB4:Int                BBB5:Int                 BBB6:Int           BBB7:Int               (Int为整数型,每个单字段不得超过20,以免出错!)
SG_CCC        CCC1:Char       CCC2:Char       CCC3:Char       CCC4:Char       CCC5:Char      CCC6:Char       CCC7:Char            (Char为字符型,每个单字段不得超过20,以免出错!)
数据表字段显示:
<$TABLE(SG_AAA).AAA1>   

此变量也支持EQUAL、LARGE、SMALL检测 支持单个或两个变量嵌套!
$Table(SG_Signing).Sign1 默认格式
$Table.SG_Signing.$STR(S11)单个变量嵌套
$Table.$STR(S10).$STR(S11)两个变量嵌套
数据表的操作:
TABLE SG_AAA AAA1 = $DATE
TABLE SG_BBB BBB1 = 100
TABLE SG_CCC CCC1 = 麻子

;====================================================================================;====================================================================================
第四节:引擎个人数字型变量 【自动保存数据库,下线重启均保存】
数量:<$customvalue(1)>-<$customvalue(199)>   共计199个
特性:个人变量记录,最好用的个人变量。缺点:人物离线时不能操作变量。
变量显示:<$customvalue(1)>
变量操作:changecustomvalue 1 = 100   支持:+ - =
一般用于记录玩家的内功心法,境界等!保存到人物数据库中,开区清理数据库自动清空。

显示指定玩家的变量:
<$HUMANINFO.B> A=人物名称 B=变量
比如:
<$HUMANINFO[$USERNAME].$customvalue(1)>
<$HUMANINFO[$STR(s66)].$customvalue(1)>

调整指定玩家的变量:
<$HUMANINFO.B> A=人物名称 B=变量
比如:
$STR(s66).changecustomvalue 1 = 100

获取物品的数据库变量:
<$ITEMINFO.B>   A:物品序列号   B:数据库参数或物品调整属性的参数。

物品序列号:
1,放入物品框
<$PARAM(0)> 物品名字\
<$PARAM(1)>物品序列号\

2,拾取物品
$PARAM(21) -- 物品序列号ID
$PARAM(22) -- 物品名称

3,使用物品
$PARAM(0) 获得物品序列号
$PARAM(1) 获得被操作物品序列号 - 如果没有就为空
$PARAM(2) 获得物品名称
$PARAM(3) 获得被操作物品名称 - 如果没有就为空

3,给予物品
<$PARAM(10)> 物品序列号
<$PARAM(11)> 物品名字
















组外狼人 发表于 2026-9-20 22:32:38

这个可真不错,楼主6666666666
页: [1]
查看完整版本: 关于变量的相关解说