脚本基础

变量操作

说明 Blue 引擎脚本中最常见的变量赋值和基础算术操作,作为状态记录、流程推进和结果计算的基础。

说明

这一页说明变量改值和基础算术运算的常见写法。

最常见的变量操作命令包括:

  • MOV:赋值
  • MOVR:随机赋值
  • INC:递增
  • DEC:递减
  • MUL:乘法
  • DIV:除法
  • PERCENT:百分比计算

需要对变量做赋值、累加、扣减、乘除或百分比计算时,可直接参考这一页。

如果你要集中管理不会频繁变化的固定值,改看 常量定义,不要继续把这类内容写成普通变量。

需要把一个整数拆成多个开关位来保存状态时,改看“位操作与位标记”页面,不要继续把这类写法混在普通算术操作里。

常见操作总览

这一页最常用的变量操作如下:

命令作用常见用途
MOV直接赋值初始化、重置、记录状态
<$STR(...)>读取变量文本值对话输出、字符串拼接、把变量结果插入文本
MOVR随机赋值随机数、随机奖励、随机结果
INC加 1次数累计、流程递进
DEC减 1扣除次数、倒计时
MUL乘法倍数计算、倍率放大
DIV除法平均分摊、按比例缩小
PERCENT百分比计算计算百分比结果、按比例取值

MOV 赋值

MOV 用于把一个值直接写入变量。

常见写法如下:

#ACT
MOV G变量 1
MOV M变量 10
MOV S变量 字符串内容

使用时需要注意:

  • 数字变量可写入数字
  • 字符变量可写入字符串
  • 原来的值会被新值直接覆盖

例如:

#ACT
MOV M任务次数 3
MOV S任务名称 新手训练

这类写法适用于初始化变量、重置状态、记录当前阶段或保存文字结果。

STR 变量转文本

<$STR(...)> 用于把变量当前结果按文本形式取出来,常见于 #SAY、消息输出和字符串拼接场景。

写法含义说明
<$STR(变量)>获取变量文本值把变量当前结果按文本形式插入到消息、表达式或其它参数里。

常见写法

#SAY
当前积分:<$STR(M0)>
当前名称:<$STR(S10)>

使用说明

  • <$STR(...)> 适合把 M、S、D、装备读取结果或其它变量值直接放进文本里。
  • 这类写法本身不是赋值命令,更像“把当前位置的值取出来再显示”。
  • 如果你已经在字符串环境里拼接变量,优先先判断是否需要 <$STR(...)>,避免把数值变量直接写成固定文本。

MOVR 随机赋值

MOVR 用于给变量写入一个随机结果。

这一类命令适用于:

  • 随机奖励
  • 随机传送点
  • 随机结果分支
  • 随机数值波动

需要从一组可能结果中随机取值时,应优先使用 MOVR,不要改用 MOV 硬写固定结果。

#ACT
MOVR M随机结果 1 10

这类写法会把一个随机结果写入 M随机结果,后续可继续配合判断控制执行分支。

INC 自增

INC 用于把数字变量加 1。

常见写法如下:

#ACT
INC M击杀数

这条命令会在当前值基础上加 1。

常见场景包括:

  • 累计击杀数
  • 累计完成次数
  • 每日签到天数
  • 对话或流程步骤递进

例如:

#ACT
INC M今日杀怪数

如果当前值为 5,执行后通常会变成 6。

DEC 自减

DEC 用于把数字变量减 1。

常见写法如下:

#ACT
DEC M剩余次数

常见场景包括:

  • 扣除剩余挑战次数
  • 扣除剩余领奖次数
  • 倒计时类变量递减

例如:

#ACT
DEC M副本剩余次数

如果当前值为 3,执行后通常会变成 2。

MUL 乘法

MUL 用于把变量按倍数放大。

这类命令适用于:

  • 奖励倍数计算
  • 根据倍率调整伤害、金币或经验
  • 把基础值换算成更大的目标值

例如:

#ACT
MOV M奖励金币 100
MUL M奖励金币 3

执行后,M奖励金币 通常会从 100 变成 300。

DIV 除法

DIV 用于把变量按指定值缩小。

这类命令适用于:

  • 平均分摊数值
  • 按比例缩小结果
  • 把总值换算为单次值

例如:

#ACT
MOV M总金币 300
DIV M总金币 3

执行后,M总金币 通常会变成 100。

PERCENT 百分比计算

PERCENT 用于根据百分比计算变量结果。

这类命令适用于:

  • 计算打折结果
  • 计算提成、加成、减免
  • 按比例取值

例如:

#ACT
MOV M原价 2000
PERCENT M原价 50

这类写法通常用于计算 50% 的结果。

三参数写法(带乘数因子)

INC、DEC、MOV、DIV 还支持三参数写法:第二个参数是基数,第三个参数是乘数,实际运算的是「基数 × 乘数」的乘积。

INC M1 100 3
= M1 + (100 * 3)

DEC M1 100 3
= M1 - (100 * 3)

MOV M1 100 3
= M1 * (100 * 3)

DIV M1 100 3
= M1 / (100 * 3)

要点:

  • 第三参数是在运算前先与第二参数相乘,得到实际参与运算的数值。
  • 上例中 100 * 3 先算出 300,再与 M1 做加、减、乘、除。
  • 只写两个参数时按常规单值运算处理(INC M1 1 即自增 1)。

使用建议

  • 初始化和直接改值优先看 MOV。
  • 需要把变量值插进文本时,看 <$STR(...)>。
  • 需要随机结果时优先看 MOVR。
  • 次数增减优先看 INC、DEC。
  • 数值倍率与缩放优先看 MUL、DIV、PERCENT。
  • 普通算术操作和位操作要分开理解,不要混写。

相关阅读