脚本基础
变量操作
说明 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。 - 普通算术操作和位操作要分开理解,不要混写。
