跳转至

脚本变量

脚本变量用于存储和操作游戏中的各种数据,包括玩家属性、服务器状态、临时记录等。

1. 常用游戏变量

这些变量由系统自动维护,可直接在脚本中调用(通常用于显示或检测,部分只读)。

变量代码 说明 示例
<$USERNAME> 角色名称 你的名字是:<$USERNAME>
<$GUILDNAME> 行会名称 所属行会:<$GUILDNAME>
<$GUILDLV> 行会等级 行会等级:<$GUILDLV>
<$CLASS> 角色职业 职业:<$CLASS>
<$LEVEL> 当前等级 等级:<$LEVEL>
<$HP> 当前生命值 HP:<$HP>/<$MAXHP>
<$MAXHP> 生命值上限
<$MP> 当前魔法值 MP:<$MP>/<$MAXMP>
<$MAXMP> 魔法值上限
<$PKPOINT> 当前 PK 值 PK值:<$PKPOINT>
<$GOLD> 玩家金币 金币:<$GOLD>
<$GAMEGOLD> 元宝数量 元宝:<$GAMEGOLD>
<$SILVER> 绑定银币 银币:<$SILVER>
<$DC> / <$MAXDC> 最小/最大物理攻击 攻击:<$DC>-<$MAXDC>
<$MC> / <$MAXMC> 最小/最大魔法攻击 魔法:<$MC>-<$MAXMC>
<$SC> / <$MAXSC> 最小/最大道术攻击 道术:<$SC>-<$MAXSC>
<$AC> / <$MAXAC> 最小/最大物理防御 防御:<$AC>-<$MAXAC>
<$MAC> / <$MAXMAC> 最小/最大魔法防御 魔防:<$MAC>-<$MAXMAC>
<$LUCK> 幸运值 幸运:<$LUCK>
<$HIT> 攻击准确 准确:<$HIT>
<$SPD> 攻击速度 攻速:<$SPD>
<$MAP> 当前地图编号 地图ID:<$MAP>
<$MAPNAME> 当前地图名称 地图名:<$MAPNAME>
<$X_COORD> 当前坐标 X X:<$X_COORD>
<$Y_COORD> 当前坐标 Y Y:<$Y_COORD>
<$USERCOUNT> 当前在线人数 在线:<$USERCOUNT>人
<$DATETIME> 当前系统时间 时间:<$DATETIME>

提示: 更多属性变量(如暴击、抗性等)请参考完整的属性列表。

2. 自定义脚本变量

引擎提供了多种类型的自定义变量,满足不同的存储需求。

变量类型表

变量前缀 类型 范围 归属 存档规则 说明
G 整数 (Int) 0-999 全局 (全服共享) 永久保存 适合保存全服活动状态、开区天数等。
A 字符串 (String) 0-999 全局 (全服共享) 永久保存 适合保存沙巴克老大名字、全服公告等。
U 整数 (Int) 0-999 个人 (玩家独享) 永久保存 适合保存任务进度、领取记录、充值累计等。
T 字符串 (String) 0-999 个人 (玩家独享) 永久保存 适合保存自定义称号、配偶名字等。
J 整数 (Int) 0-999 个人 (玩家独享) 每日清零 每天0点自动重置。适合做每日任务、每日限制。
N 整数 (Int) 0-999 个人 (玩家独享) 下线清零 适合保存本次登录的临时状态、副本杀怪数。
S 字符串 (String) 0-999 个人 (玩家独享) 下线清零 适合保存临时对话选择、临时输入内容。
Q 整数 (Int) 0-999 个人 (玩家独享) 对话框关闭清零 仅在当前 NPC 对话会话中有效。

变量显示

在脚本或对话框中显示变量的值: - <$STR(G0)>:显示全局变量 G0 的值。 - <$STR(S1)>:显示个人字符串变量 S1 的值。 - <$STR(U10)>:显示个人整数变量 U10 的值。

3. 变量操作命令

赋值 (MOV)

将变量设置为指定的值。

MOV N1 100      ; 将变量 N1 设置为 100
MOV S1 屠龙刀   ; 将变量 S1 设置为 "屠龙刀"

运算 (Calc)

对整型变量进行加减乘除运算。 格式:Calc 变量 (+ - * /) 操作数

MOV N1 10       ; N1 = 10
Calc N1 + 5     ; N1 = 10 + 5 = 15
Calc N1 - 2     ; N1 = 15 - 2 = 13
Calc N1 * 10    ; N1 = 13 * 10 = 130
Calc N1 / 2     ; N1 = 130 / 2 = 65

检测 (CheckCalc)

检测变量的值是否满足条件。 格式:CheckCalc 变量 (> < == !=) 比较值

  • > : 大于
  • < : 小于
  • == : 等于
  • != : 不等于
[@Main]
#IF
CheckCalc N1 > 100
#SAY
N1 的值大于 100。
#ELSESAY
N1 的值小于或等于 100。

变量排序 (SortVar)

(高级功能) 对一组变量进行排序,常用于排行榜。 详情请参考排行榜制作教程。