常量与变量
翻译自原文档:https://osdn.net/projects/emuera/wiki/exvar
常量的表示
Emuera 使用的常量符号与 Kirikiri 中可以使用的符号相同,但八进制的符号除外。
例如,以下几行都有相同的含义:
X = 32
X = 0b100000
X = 0x20
X = 1p5
从上到下的顺序是:普通十进制符号、二进制、十六进制、1 x 2到5次方。
当你想获得或设置每一个比特时,像1p5这样的符号在与位操作符的结合中很有用。
例如,如果A的底部第0位或第3位成立,下面的条件语句将为真。
IF (A & 1p0)||(A & 1p3)
你也可以用e代替p来表示n x 10的m次方。
例如,13e3等于13000。
上述符号仅用于常量,不能用于表达式。
诸如以下的记号将导致一个错误:
X = 13e(A + 1)
由于与 Eramaker 的兼容性问题,八进制符号没有被采用。
数字012将被解释为12,而不是10。
指定变量大小
在 Emuera 中,你可以通过在CSV/文件夹中放置一个名为VariableSize.csv的文件来指定一个现有变量的元素数。
如果你为元素数指定-1,你可以禁止在ERB中使用该变量。
如果你试图在ERB中赋值或引用一个被禁止的变量,将会发生错误。如果系统需要一个被禁止的变量,赋值过程将被忽略,其值将始终被视为-1。
(这是当MONEY或NEXTCOM被禁用时出现的情况)。
本地变量
LOCAL & LOCALS
该方法已弃用
请考虑使用#DIM和#DIMS代替。
欲了解更多信息,请参见用户定义的变量。
LOCAL变量是局部变量。
LOCAL是一个整数,LOCALS是一个字符串
LOCAL的基本规模为1000,LOCALS为100。
你也可以通过#LOCALSIZE <要设置的元素数>和#LOCALSSIZE <要设置的元素数>为每个函数分别设置元素数。
允许你单独改变每个函数的元素数量。 (然而,你只能将其设置为一个大于0的整数)。
这是不被保存的。
@EVENTFIRST
LOCAL:10 = 123
CALL FUNC001
PRINTV LOCAL:10
WAIT
@FUNC001
LOCAL:10 = 567
RETURN
在上述代码中,PRINTV的结果是123。
FUNC001中的LOCAL:10被改变,但EVENTFIRST中的LOCAL没有被改变。
与许多语言中的局部变量不同,LOCAL在调用函数时不被初始化。
在内部,我们创建了一个名为LOCAL@函数名的变量。
因此,如果有多个同名的函数,例如事件函数,它们是共享的。 另外,如果函数被递归调用,它将使用同一个变量。
可以调用其他函数的变量,如LOCAL@EVENTFIRST:10 = 567,但不建议这样做(这是一个调试功能)。
(这只是为了调试的目的。)如果你从另一个函数中调用一个变量,而你所调用的函数的名称包含一个运算符,将导致一个错误。
ARG & ARGS
本地变量。
ARG是一个整数,ARGS是一个字符串。
ARG的大小基本上是1000,ARGS是100,可以在VariableSize.csv中改变。
此外,该函数会自动分配足够的元素,以便毫无问题地使用函数参数中定义的数量。 (它永远不会小于VariableSize.csv中指定的数字)。)
@FUNC002, ARG:0, ARG:1, ARG,1100
LOCAL = ARG:0 * ARG:1 / 100
RETURN LOCAL
在这种情况下,ARG中的元素数原本是1000,但在@FUNC002中,ARG中的元素数是1101,从0到1100。
它的目的是用于指定函数中的参数,对于其他用途来说,可读性可能较差。
(用户定义的私有变量)
在特定函数中使用#DIM或#DIMS定义的变量是私有变量,可以用与局部变量相同的方式处理。
更多信息见用户定义的变量。
保存数据之间共享的变量
GLOBAL & GLOBALS
这些是可以在不同保存数据之间共享的变量。
GLOBAL是一个整数,GLOBALS是一个字符串
GLOBAL的基本尺寸是1000,GLOBALS是100,可以在VariableSize.csv中改变。
它们不与其他数据一起保存和加载。
要保存一个全局变量,使用SAVEGLOBAL指令。
当你做SAVEGLOBAL时,GLOBAL和GLOBALS被保存在Global.sav中。
如果Global.sav在编写时已经存在,它将被覆盖。
LOADGLOBAL指令允许你从Global.sav加载GLOBAL和GLOBAL。
LOADGLOBAL被推荐与@EVENTFIRST和@EVENTLOAD一起使用。
可以通过GLOBAL和GLOBAL在不同的保存之间共享数据。
(用户定义的全局变量)
在ERH中使用#DIM GLOBAL或#DIMS GLOBAL定义的变量是全局变量。
另外,通过使用#DIM SAVEDATA GLOBAL,该变量成为一个保存的全局变量。
详情请参考头文件(ERH)。
角色变量
NICKNAME & MASTERNAME
这是一个保存的字符串变量,类似于NAME和CALLNAME。
在CharaXX.csv中,你可以指定为NICKNAME、MASTERNAME、绰号或主人的名字。
CSTR
一个要保存的字符串数组变量。
它是CFLAG的一个字符串版本。
在CharaXX.csv中,它被指定为CSTR。
CUP & CDOWN & DOWNBASE & TCVAR
这些是数字数组变量。
它们旨在分别作为UP、DOWN、LOSEBASE和TFLAG的字符变量版本使用。
因此,它们具有与这些变量相同的初始化时间和保存可用性。
然而,对于CUP和CDOWN,使用CUPCHECK指令而不是UPCHECK指令。
CDFLAG
数值角色的三维阵列变量。
CDFLAG:MASTER:0:2
第一个参数是角色的注册号,就像在传统的角色变量中一样,但第二个和第三个参数是必需的。
(用户定义的角色变量)
在ERH中使用#DIM CHARADATA或#DIMS CHARADATA定义的变量是字符变量,可以自由处理,就像CFLAG。 详见头文件(ERH)。
csv相关
csv变量
这个变量用于参考每个csv中定义的值。
使用方法类似于例如TALENTNAME和Talent.csv之间的关系。
所有这些都是一维数组变量,不能被分配,也不能被保存。
如果它没有在csv中定义,它将返回0或空字符串。
| 变量名 | 文件 | 类型 | 长度 |
|---|---|---|---|
| ITEMPRICE | Item.csv | 整数 | 1000 |
| TRAINNAME | Train.csv | 字符串 | 1000 |
| BASENAME | Base.csv | 字符串 | 100 |
| EQUIPNAME | equip.csv | 字符串 | 100 |
| TEQUIPNAME | tequip.csv | 字符串 | 100 |
| STAINNAME | stain.csv | 字符串 | 1000 |
| EXNAME | ex.csv | 字符串 | 100 |
| SOURCENAME | source.csv | 字符串 | 100 |
| FLAGNAME | flag.csv | 字符串 | 10000 |
| TFLAGNAME | tflag.csv | 字符串 | 1000 |
| CFLAGNAME | cflag.csv | 字符串 | 1000 |
| TCVARNAME | tcvar.csv | 字符串 | 100 |
| STRNAME | strname.csv | 字符串 | 20000 |
| TSTRNAME | tstr.csv | 字符串 | 100 |
| CSTRNAME | cstr.csv | 字符串 | 100 |
| SAVESTRNAME | savestr.csv | 字符串 | 100 |
| CDFLAGNAME1 | cdflag1.csv | 字符串 | 1 |
| CDFLAGNAME2 | cdflag2.csv | 字符串 | 1 |
| GLOBALNAME | global.csv | 字符串 | 100 |
| GLOBALSNAME | globals.csv | 字符串 | 100 |
请不要混淆str.csv和cstr.csv等的作用。
str.csv是决定分配给变量STR的值的文件,而cstr.csv是决定CSTRNAME的文件。
决定STRNAME的文件是strname.csv,所以要注意如何使用str.csv和strname.csv。
GameBase.csv 変数
参考GameBase.csv中定义的数值的变量。
所有的变量都是非数组,不可分配和不可保存的。
| 变量名 | 关键词 | 类型 |
|---|---|---|
| GAMEBASE_AUTHOR | 作者 | 字符串 |
| GAMEBASE_INFO | 追加信息 | 字符串 |
| GAMEBASE_YEAR | 制作年份 | 字符串 |
| GAMEBASE_TITLE | 标题 | 字符串 |
| GAMEBASE_GAMECODE | 游戏代码 | 整数 |
| GAMEBASE_VERSION | 版本 | 整数 |
| GAMEBASE_ALLOWVERSION | 兼容版本 | 整数 |
| GAMEBASE_DEFAULTCHARA | 默认人物 | 整数 |
| GAMEBASE_NOITEM | 无物品模式 | 整数 |
WINDOW_TITLE
这是显示在 Emuera 窗口标题栏的字符串。
它是一个非数组字符串变量。 初始值是GameBase.csv的窗口标题字段中设置的值。
如果没有设置窗口标题,它将由标题和版本生成。
如果标题也没有设置,它将是 Emuera。
与csv有关的其他变量
MONEYLABEL
记录货币单位的一个变量。
它是一个非数组、字符串类型的变量,不能被分配,也不能被保存。
初始值是_Replace.csv中货币单位字段设置的值。
如果没有设置货币单位,它将是$,就像 Eramaker 中一样。
DRAWLINESTR
这是一个变量,其中记录了执行DRAWLINE指令时要显示的字符串。
它是一个非数组字符串类型的变量,不能被分配,也不能被保存。
初始值是在_Replace.csv中为DRAWLINE字符设置的数值的重复。
_Replace.csv中DRAWLINE字符设置的重复值,所以它不包含DRAWLINE字符中设置的准确值。
如果没有设置DRAWLINE字符,结果将与 Eramaker 中一样,例如:
---------------
保存和加载相关
LASTLOAD_*
这是最后一个被加载的变量,用来参考数据信息。
它们可以被引用,但不能被分配到。
所有变量的初始值都是-1或空字符串。
它们在加载时将被更新,并在执行RESETDATA或菜单项返回标题时返回其初始值。
- LASTLOAD_VERSION:最后加载的数据的版本(将在
GameBase.csv中定义的值) - LASTLOAD_NO:最后载入的数据的编号(与
save*.sav中的*相对应的数字) - LASTLOAD_TEXT:文本(将由
PUTFORM添加的文本,SAVEDATA_TEXT)
SAVEDATA_TEXT
这是保存在保存数据中并在保存/加载屏幕上显示的文本。
它也是加载后可以被LASTLOAD_TEXT引用的文本。
它可以被引用或分配。
当@SAVEINFO被调用时,当前时间被分配给这个字符串,可以使用PUTFORM附加到这个字符串上。
你也可以通过直接指定给@SAVEINFO中的这个字符串来定制时间显示。
如果你不使用SAVEGAME和PUTFORM(你使用SAVELOAD.ERB),你就不需要这个。
(用户定义的可保存的广域变量)
使用ERH中#DIM SAVEDATA或#DIMS SAVEDATA定义的变量是可保存的广域变量。
然而,当使用#DIMS SAVEDATA定义一个可保存的多维广域变量时,必须启用以二进制格式保存保存的数据选项。
更多信息请参考头文件(ERH)。
多维数组变量
DITEMTYPE & DA ~ DE
该方法已弃用
请考虑使用#DIM或#DIMS来代替。
更多信息见用户定义的变量。
一个固定长度的二维整数阵列。
调用为DITEMTYPE:1:2。不能省略任何参数。
在 Eramaker 的双数组中,第一个参数是字符注册号,所以数组的大小取决于CHARANUM。
二维数组,如DITEMTYPE,不改变其在VariableSize.csv中指定的大小。
如果它们是VARSIZE指令的主题,元素的数量将分别分配给RESULT:0和RESULT:1。
如果你在VariableSize.csv中使用DITEMTYPE,100,200,你最多可以使用DITEMTYPE:99:199,VARSIZE指令将把100和200分配给RESULT:0和RESULT:1。
TA & TB
该方法已弃用
请考虑使用#DIM或#DIMS来代替。
更多信息见用户定义的变量。
固定长度的整数三维阵列。
它被称为TA:1:2:3。不能省略任何参数。
标准尺寸为100x100x100。 所以你最多可以使用TA:99:99:99。
可以改变VariableSize.csv中的大小,但不可能指定一个大于100万的大小。
当受制于VARSIZE指令时,RESULT:0,RESULT:1和RESULT:2将分别被赋予元素的数量。
(用户定义的多维数组变量)
从1.808版开始,使用#DIM或#DIMS定义的变量可以成为多维变量。
更多信息见用户定义的变量。
调试变量
调试变量是一个为调试目的提供信息的变量。
一个调试变量只有在调试模式下被调用时才会返回一个有意义的值。
当在正常模式下调用时,它们返回一个空字符串或0。
他们的名字前后都有两个下划线_。
__FILE__
一维的只读变量。
返回当前运行的脚本的文件名。
文件名与错误信息的格式相同,包括文件夹结构和扩展名。
如果当前没有脚本在运行,那么这个变量就是空的,例如,在等待系统输入时,从调试命令或变量观察中引用它。
如果当前没有脚本在运行,例如,在等待系统输入时从调试命令或变量观察中引用,则返回一个空字符串。
__LINE__
一维的只读变量。
返回当前执行的脚本的行号。
行号是一个从1开始的数字,像错误信息一样。
如果当前没有运行的脚本,则返回-1。
__FUNCTION__
一维的只读变量。
返回当前执行的函数的名称。
函数名称不包含@和参数列表。
如果当前没有运行的脚本,将返回一个空字符串。
其他
TSTR
一个字符串类型的一维数组。 它是一个一维数组,不被保存。
它与TFLAG同时被初始化。
RANDDATA
一个数组,用于存储随机数的状态。 它是一个数字类型的一维数组,可分配和保存。
它由DUMPRAND记录,由INITRAND读取。
LINECOUNT
该变量返回到目前为止已被PRINT的行数。
每增加一行,LINECOUNT就增加+1(不包括由于窗口宽度造成的换行),并减去启动以来的CLEARLINES数量。
它不会受到由于日志缓冲区溢出而导致的删除的影响(标准5000)。
它是一个非数组的数字变量,不能被分配到或保存。
行数的计算方法与CLEARLINE相同。
ISTIMEOUT
以下是私人修改过的1809+v2版本所附的readme中的内容:
变量ISTIMEOUT的加入是为了检查TINPUT系统是否已经超时。
当TINPUT系统被调用时,这个变量被初始化为0,当它超时时被设置为1。
从ver1815起,这个变量可能无法使用。
__INT_MAX__ & __INT_MIN__
它是一个非数组的数字变量,有一个定义的最大和最小值范围,不能被分配或保存。
它不是一个调试变量,所以它可以在正常启动时使用。
(用户定义的广域变量)
ERH中使用#DIM或#DIMS定义的变量是广域变量,可以像单字母变量(如A)一样自由处理。
详见头文件(ERH)。
(用户定义的常数)
在ERH和某些函数中使用#DIM或#DIMS定义的变量成为一维数组中的常量,可以被视为不可分配的变量。
欲了解更多信息,请参见用户定义的变量。
(用户定义的参考变量)
在特定函数中使用#DIM REF或#DIMS REF定义的变量是引用型变量。
欲了解更多信息,请参见用户定义的变量。
与 Eramaker 在行为上的差异
NAME & CALLNAME
Eramaker 不允许分配。
在 Emuera,这是有可能的。
RAND & CHARANUM
在 Eramaker 中,你可以分配数值,它们将被保存和加载,但没有办法使用它们。
Emuera 不允许指派任务。
暂定行为表
Eramaker 中也存在的变量
| 变量名 | 类型 | 维度 | 代替 | 可保存 | 禁用 | 默认值 | 初始化时机 | 备注 |
|---|---|---|---|---|---|---|---|---|
| RESULT | 整数 | 1 | ⭕ | ⭕ | ❌ | - | - | - |
| RESULTS | 字符串 | 1 | ⭕ | ❌ | ❌ | - | - | - |
| A ~ Z | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| COUNT | 整数 | 1 | ⭕ | ⭕ | ❌ | - | - | COUNT:0在REPEAT中作为计数器使用。 |
| DAY | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| TIME | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| MONEY | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| MASTER | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| TARGET | 整数 | 1 | ⭕ | ⭕ | ❌ | :0 = 1 | - | - |
| ASSI | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = -1 | - | - |
| PLAYER | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| ASSIPLAY | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = 0 | BEGIN TRAIN | - |
| SELECTCOM | 整数 | 1 | ⭕ | ⭕ | ❌ | - | - | - |
| PREVCOM | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = -1 | BEGIN TRAIN | - |
| NEXTCOM | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = -1 | BEGIN TRAIN | - |
| LOSEBASE | 整数 | 1 | ⭕ | ⭕ | ⭕ | 全为0 | SHOW_USERCOM结束时 | 元素可以通过BASENAME来指定 |
| UP | 整数 | 1 | ⭕ | ⭕ | ⭕ | 全为0 | SHOW_USERCOM结束时UPCHECK时 | 元素可以通过PALAMNAME来指定 |
| DOWN | 整数 | 1 | ⭕ | ⭕ | ⭕ | 全为0 | SHOW_USERCOM结束时UPCHECK时 | 元素可以通过PALAMNAME来指定 |
| PALAMLV | 整数 | 1 | ⭕ | ⭕ | ❌ | _replace.csvPalamLv | - | - |
| EXPLV | 整数 | 1 | ⭕ | ⭕ | ❌ | _replace.csvExpLv | - | - |
| EJAC | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = 10000 | - | - |
| FLAG | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | 元素可以通过FLAGNAME来指定 |
| TFLAG | 整数 | 1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过TFLAGNAME来指定 |
| ITEM | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | 元素可以通过ITEMNAME来指定 |
| ITEMSALES | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | 元素可以通过ITEMNAME来指定 |
| BOUGHT | 整数 | 1 | ⭕ | ⭕ | ⭕ | - | - | - |
| PBAND | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = _replace.csvPBand | - | - |
| CHARANUM | 整数 | 0 | ❌ | ❌ | ❌ | - | - | 当指定任何元素时,将返回角色注册的数量。 |
| RAND | 整数 | 0 | ❌ | ❌ | ❌ | - | - | 这样,如果RAND:X中的X是0或负值,就是一个错误。否则会返回一个从0到 元素数-1的随机值。 |
| STR | 字符串 | 1 | ⭕ | ❌ | ⭕ | Str.csv | - | 该元素可以通过STRNAME指定 |
| SAVESTR | 字符串 | 1 | ⭕ | ⭕ | ⭕ | - | - | 该元素可以通过SAVESTRNAME指定 |
| NO | 数字 | C0 | ⭕ | ⭕ | ❌ | - | - | 在CharaXX.csv中以番号,**指定。 |
| ISASSI | 数字 | C0 | ⭕ | ⭕ | ❌ | - | - | 在CharaXX.csv中指定助手,1,你将从初始状态被视为助理。 |
| NAME | 字符串 | C0 | ⭕ | ⭕ | ❌ | - | - | 在CharaXX.csv中以名前,**指定。 |
| CALLNAME | 字符串 | C0 | ⭕ | ⭕ | ❌ | - | - | 在CharaXX.csv中以呼び名,**指定。 |
| BASE | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 当ADDCHARA时,所有元素的值与MAXBASE相同。元素可以通过 BASENAME来指定。 |
| MAXBASE | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中以基礎,*,**指定。元素可以通过BASENAME来指定。 |
| ABL | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用能力,*,**指定。该元素可以通过 ABLNAME指定 |
| TALENT | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用素質,*指定。这样,第三个值也可以被指定,如 素質,*,**。元素可以通过 TALENTNAME指定 |
| EXP | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用経験,*,**指定。元素可以通过 EXPNAME指定 |
| MARK | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用刻印,*,**指定。元素可以通过 MARKNAME指定 |
| RELATION | 数字 | C1 | ⭕ | ⭕ | ⭕ | _replace.csvRelation | - | 在CharaXX.csv中用相性,*,**指定。元素可以通过 NAME和CALLNAME指定 |
| JUEL | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用珠,*,**指定。元素可以通过 PALAMNAME指定 |
| CFLAG | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用フラグ,*,**指定。元素可以通过 CFLAGNAME指定 |
| EQUIP | 数字 | C1 | ⭕ | ⭕ | ⭕ | - | - | 在CharaXX.csv中用装着物,*,**指定。元素可以通过 EQUIPNAME指定 |
| TEQUIP | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过TEQUIPNAME指定 |
| PALAM | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过PALAMNAME指定 |
| STAIN | 数字 | C1 | ⭕ | ⭕ | ❌ | _replace.csv汚れ | BEGIN TRAIN | 元素可以通过STAINNAME指定 |
| EX | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过EXNAME指定 |
| SOURCE | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN@SOURCE_CHECK结束时 | 元素可以通过SOURCENAME指定 |
| NOWEX | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | 就在@EVENTCOM之前 | @USERCOM之前不会更新元素可以通过 EXNAME指定 |
| GOTJUEL | 数字 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过PALAMNAME指定 |
| ABLNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Abl.csv | - | - |
| TALENTNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Talent.csv | - | - |
| EXPNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Exp.csv | - | - |
| MARKNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Mark.csv | - | - |
| PALAMNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Palam.csv | - | - |
| ITEMNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Item.csv | - | - |
| NOITEM | 整数 | 1 | ⭕ | ⭕ | ⭕ | :0 = GameBase.csv无Item | - | 可以是0和1以外的其他值 |
下划线部分显示了 Eramaker 和 Emuera 规格之间的差异。
Emuera 的专用变量
| 变量名 | 类型 | 维度 | 代入 | 可保存 | 禁用 | 默认值 | 初始化时机 | 备注 |
|---|---|---|---|---|---|---|---|---|
| LOCAL | 整数 | 1 | ⭕ | ❌ | ⭕ | - | - | #LOCALSIZE改变每个函数的元素数量 |
| LOCALS | 字符串 | 1 | ⭕ | ❌ | ⭕ | - | - | #LOCALSSIZE改变每个函数的元素数量 |
| ARG | 整数 | 1 | ⭕ | ❌ | ⭕ | 任意 | 当该函数被调用时※ | ※只有当该参数被设置时 每个函数只分配参数中定义的元素数量 |
| ARGS | 字符串 | 1 | ⭕ | ❌ | ⭕ | 任意 | 当该函数被调用时※ | ※只有当该参数被设置时 每个函数只分配参数中定义的元素数量 |
| (Private) | 任意 | 任意 | 任意 | ❌ | ❌ | 任意 | 游戏开始 当该函数被调用时※ | ※只有当该参数被设置为 在一个函数中由#DIM或#DIMS定义的 |
| (Refer) | 任意 | 任意 | ※ | ※ | ❌ | - | - | ※取决于参考文献 由函数中的#DIM REF或#DIMS REF 定义 |
| (Wide_area) | 任意 | 任意 | 任意 | 任意 | ❌ | 任意 | 游戏开始 | 由ERH中的#DIM或#DIMS定义 |
| GLOBAL | 整数 | 1 | ⭕ | ※ | ❌ | - | - | 用SAVEGLOBAL保存,用LOADGLOBAL加载。 该元素可以由GLOBALNAME指定 |
| GLOBALS | 字符串 | 1 | ⭕ | ※ | ❌ | - | - | 用SAVEGLOBAL保存,用LOADGLOBAL加载。 GLOBALSNAME可以用来指定一个元素 |
| LINECOUNT | 整数 | 0 | ❌ | ❌ | ❌ | - | - | - |
| ISTIMEOUT | 整数 | 0 | ❌ | ❌ | ❌ | 0 | TInput命令执行时 | 当一个TInput指令超时,1被分配。 |
__INT_MAX__ | 整数 | 0 | ❌ | ❌ | ❌ | 9223372036854775807 | - | - |
__INT_MIN__ | 整数 | 0 | ❌ | ❌ | ❌ | -9223372036854775808 | - | - |
| RANDDATA | 整数 | 1 | ⭕ | ⭕ | ❌ | - | - | - |
| TSTR | 字符串 | 1 | ⭕ | ❌ | ⭕ | 全空字符串 | BEGIN TRAIN | 该元素可以由TSTRNAME指定 |
| DA | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| DB | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| DC | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| DD | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| DE | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| DITEMTYPE | 整数 | 2 | ⭕ | ⭕ | ⭕ | - | - | - |
| TA | 整数 | 3 | ⭕ | ⭕ | ⭕ | - | - | - |
| TB | 整数 | 3 | ⭕ | ⭕ | ⭕ | - | - | - |
| NICKNAME | 字符串 | C0 | ⭕ | ⭕ | ❌ | - | - | 在CharaXX.csv中以あだ名,**指定。 |
| MASTERNAME | 字符串 | C0 | ⭕ | ⭕ | ❌ | - | -- | 在CharaXX.csv中以主人の呼び方,**指定。 |
| DOWNBASE | 整数 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | @SHOW_USERCOM结束时 | 元素可以通过BASENAME来指定 |
| CUP | 整数 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | @SHOW_USERCOM结束时 UPCHECK时 | 元素可以通过PALAMNAME来指定 |
| CDOWN | 整数 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | @SHOW_USERCOM结束时 UPCHECK时 | 元素可以通过PALAMNAME来指定 |
| TCVAR | 整数 | C1 | ⭕ | ⭕ | ⭕ | 全为0 | BEGIN TRAIN | 元素可以通过TCVARNAME来指定 |
| CSTR | 字符串 | C1 | ⭕ | ⭕ | ⭕ | - | - | 用CharaXX.csv中的CSTR,*,**进行规范该元素可以由CSTRNAME指定 |
| CDFLAG | 整数 | C2 | ⭕ | ⭕ | ⭕ | - | - | 元素可由CFDLAGNAME1和CDFLAGNAME2指定 注意,元素数量的默认值是1.1 |
| ITEMPRICE | 整数 | 1 | ❌ | ❌ | ⭕ | Item.csv | - | 一个元素可以通过其ITEMNAME来指定 |
| TRAINNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Train.csv | - | - |
| BASENAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Base.csv | - | - |
| EQUIPNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Equip.csv | - | - |
| TEQUIPNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | TEquip.csv | - | - |
| STAINNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Stain.csv | - | - |
| EXNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | EX.csv | - | - |
| SOURCENAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Source.csv | - | - |
| FLAGNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Flag.csv | - | - |
| TFLAGNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | TFlag.csv | - | - |
| CFLAGNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | CFlag.csv | - | - |
| TCVARNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | TCVar.csv | - | - |
| STRNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | StrName.csv | - | Str.csv指定的是STR的内容,而不是元素的名称 |
| TSTRNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | TEtr.csv | - | - |
| CSTRNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | CStr.csv | - | - |
| SAVESTRNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | SaveStr.csv | - | - |
| CDFLAGNAME1 | 字符串 | 1 | ❌ | ❌ | ⭕ | CdFlag1.csv | - | - |
| CDFLAGNAME2 | 字符串 | 1 | ❌ | ❌ | ⭕ | CdFlag2.csv | - | - |
| GLOBALNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Global.csv | - | - |
| GLOBALSNAME | 字符串 | 1 | ❌ | ❌ | ⭕ | Globals.csv | - | - |
| GAMEBASE_AUTHOR | 字符串 | 0 | ❌ | ❌ | ❌ | GameBase.csv 作者 | - | - |
| GAMEBASE_INFO | 字符串 | 0 | ❌ | ❌ | ❌ | GameBase.csv 追加情報 | - | - |
| GAMEBASE_YEAR | 字符串 | 0 | ❌ | ❌ | ❌ | GameBase.csv 製作年 | - | - |
| GAMEBASE_TITLE | 字符串 | 0 | ❌ | ❌ | ❌ | GameBase.csv タイトル | - | - |
| GAMEBASE_GAMECODE | 整数 | 0 | ❌ | ❌ | ❌ | GameBase.csv コード | - | - |
| GAMEBASE_VERSION | 整数 | 0 | ❌ | ❌ | ❌ | GameBase.csv バージョン | - | - |
| GAMEBASE_ALLOWVERSION | 整数 | 0 | ❌ | ❌ | ❌ | GameBase.csv バージョン違い認める | - | - |
| GAMEBASE_DEFAULTCHARA | 整数 | 0 | ❌ | ❌ | ❌ | GameBase.csv 最初からいるキャラ | - | - |
| GAMEBASE_NOITEM | 整数 | 0 | ❌ | ❌ | ❌ | GameBase.csv アイテムなし | - | - |
| WINDOW_TITLE | 字符串 | 0 | ⭕ | ❌ | ❌ | GameBase.csv ウィンドウタイトル ※ | - | 如果没有,则由タイトル和バージョン生成。如果没有 タイトル,则为Emuera。 |
| MONEYLABEL | 字符串 | 0 | ❌ | ❌ | ❌ | _replace.csvお金の単位 ※ | - | 默认为$ |
| DRAWLINESTR | 字符串 | 0 | ❌ | ❌ | ❌ | _replace.csvDRAWLINE文字 ※ | - | 默认为-的重复 |
| LASTLOAD_VERSION | 整数 | 0 | ❌ | ❌ | ❌ | -1 | 游戏开始 RESETDATA时 | 该值在加载时被更新 |
| LASTLOAD_NO | 整数 | 0 | ❌ | ❌ | ❌ | -1 | 游戏开始 RESETDATA时 | 该值在加载时被更新 |
| LASTLOAD_TEXT | 字符串 | 0 | ❌ | ❌ | ❌ | 空字符串 | 游戏开始 RESETDATA时 | 该值在加载时被更新 |
| SAVEDATA_TEXT | 字符串 | 0 | ⭕ | ※ | ❌ | ※※ | @SAVEINFO开始时 | ※保存为保存数据的标题 ※※代表当前时间的字符串 |