零基础开发 era 游戏 #4 配置文件详解

配置文件运行原理#

请注意:任何配置文件字符集编码 都默认为 Shift JIS,不过也兼容 UTF-8 with BOM,实际使用时推荐后者。

./CSV/ 目录下存在名为 _default.config_fixed.config 的配置文件时,Emuera 会读取这些文件,并应用到实际配置。
所有配置文件的具体设置项都是相同的,区别只是优先级不同而已。
可以理解为按照顺序依次读取:

  1. ./CSV/_default.config 初始化默认配置(预配置)文件:
    你希望(但不强求)玩家采取的设置
  2. ./emuera.config 常规配置文件:
    Emuera 运行之初自动生成的设置
  3. ./CSV/_fixed.config 强制修正配置文件:
    你强制要求玩家采取的设置

「后读取的配置」会覆盖掉「之前读取的配置」。

一、初始化默认配置(预配置)文件#

第一次启动 Emuera 时,在 ./CSV/ 目录下——

  1. 如果存在 _default.config「初始化默认配置文件」
  2. 并且项目根目录 ./(有 Emuera*.exe)下不存在 emuera.config「常规配置文件」

则按照 _default.config「初始化默认配置文件」 具体的设置项生成新的 emuera.config「常规配置文件」

二、常规配置文件#

2.1. 生成常规配置文件

第一次启动 Emuera 时,如果项目根目录 ./(有 Emuera*.exe)下不存在 emuera.config「常规配置文件」,则自动创建。

2.2. 修改常规配置

成功启动 Emuera 之后,从菜单栏的「帮助」(Alt + H)选项里选择「设置」(Alt + C)可以直接修改设置。

另外,用文本编辑器直接编辑 emuera.config「常规配置文件」 也可以修改设置。以编辑文件的方式修改设置后,需要重启 Emuera 才会应用新的配置。

如果想恢复初始的默认设置,可以直接删掉 emuera.config「常规配置文件」,再重启 Emuera 即可。

三、强制修正配置文件#

第一次启动 Emuera 时并加载 emuera.config「常规配置文件」 之后,如果在 ./CSV/ 目录下存在 _fixed.config「强制修正配置文件」,以其中具体的设置项覆盖 emuera.config「常规配置文件」

开发时需要注意的原则

由于 _fixed.config「强制修正配置文件」 永远优先于 emuera.config「常规配置文件」,而且 _fixed.config「强制修正配置文件」 中具体的设置项无法通过 Emuera 的设置对话框进行修改。
一般来说玩家很难通过正常方式对修改其中他不想要的设置,除非他也看了本文或其他描述了配置文件如何运作的文档。
因此请将 _fixed.config「强制修正配置文件」 涉及到的设置项控制在最小范围内。

可配置项具体作用#

翻译自官方文档的 配置文件 一章。

注意,以下内容非常非常非常长(我都不知道自己当初怎么硬啃下来的),请善用右侧目录以及 Ctrl + F 提高效率。

一、环境相关设置#

1.1. マウスを使用する

マウスを使用する:YES

是否允许使用鼠标操作。

1.2. メニューを使用する

メニューを使用する:YES

是否允许使用菜单栏(重启、重载文件、修改配置等功能)。

1.3. デバッグコマンドを使用する

デバッグコマンドを使用する:NO

是否允许主窗口使用调试命令。

调试控制台窗口可以无视这个选项的限制继续执行调试命令。

1.4. 多重起動を許可する

多重起動を許可する:YES

是否允许同一时间重复启动多个 Emuera 程序。

1.5. キーボードマクロを使用する

キーボードマクロを使用する:YES

是否允许使用 F1F12 的按键宏(在 ./macro.txt 里设置)。

原文注:使用 ONEINPUT / ONEINPUTS 命令时,按键宏无法正常工作很正常。
(译注:完全不正常吧你就不能修复这个 bug 吗

1.6. オートセーブを行なう

オートセーブを行なう:YES

执行 BEGIN SHOP 命令时是否自动保存。

这个功能可以在 *.erb 脚本中禁用,因此即便在配置文件中开启了这个选项,有时也不会自动保存。
换句话说,如果作者想要提升游戏难度,可以禁止玩家自动保存,即使他们在配置文件中开启了这个设置。(比如毒菇正则的三作 RPG / SAS / KGB)

1.7. セーブデータを sav フォルダ内に作成する

セーブデータをsavフォルダ内に作成する:YES

是否使用专门的文件夹(./sav/)存放存档Save文件。

如果从「NO」修改为「YES」,并且 ./sav/ 不存在,Emuera 会弹出对话框询问是否迁移存档。
回答「确定(迁移存档)」会将所有的存档文件(包括 global.savsave*.sav)全部迁移到 ./sav/ 目录下。

如果从「YES」修改为「NO」,请手动迁移存档。
如果你的游戏更新版本,并把此项的默认设置从「YES」修改为「NO」,请提醒你的玩家手动迁移存档,否则他们会发现存档不见了。
你不能拒绝连 sav 是存档都不清楚的小白玩你的游戏,他们并没有错。

1.8. 履歴ログの行数

履歴ログの行数:5000

指定保存的历史记录的最大行数,最低为 500

1.9. 無限ループ警告までのミリ秒数

無限ループ警告までのミリ秒数:10000

指定判定为无限循环的时间,单位为毫秒(ms)。如果在指定的时间内没有执行命令,则视为进入死循环,弹出警告框。
(如果设置为 0,这个功能会失效。)

有这个设定是因为 Emuera 不支持多线程(UI 线程 + 运算线程分离),主线程阻塞就意味着整个程序卡死。
另外注意超时过久(大概 30 秒)一样会被操作系统判定为「程序未响应」。

$LOOP
WAIT
GOTO LOOP

以上脚本是死循环,但因为中间插入了 WAIT 命令,所以不会被警告。

即使是使用鼠标右键或 ESC 跳过信息的时候,只要插入了 WAIT 命令 也不会被警告。(译注:这句看没懂。意思是没插 WAIT 的话,跳过用时过久也会弹警告?)
我的理解是 WAIT 等于响应,哪怕间隔时间非常短,那也是有响应。

1.10. 使用するセーブデータ数

表示するセーブデータ数:20

指定默认的 Save / Load 界面显示的存档槽位数量。
最低为 20(与 eramaker 一样),最高为 80

1.11. 関連づけるテキストエディタ

関連づけるテキストエディタ:notepad

当你点击错误信息时会自动以编辑器打开文件,指定此时默认使用的文本编辑器程序(notepad 是记事本)。

1.12. コマンドライン引数

コマンドライン引数:

指定用文本编辑器打开相关文件时传递的命令行参数。

比如上一个选项设置为 Notepad++,这个选项设置为 -n,那么执行时为 Notepad++ -n(启动「Notepad++」并显示行号)。

二、显示相关设置#

2.1. 描画インターフェース

描画インターフェース:GRAPHICS

指定绘制界面的方式,可选:

  • WINAPI」:用 gdi32.dllTextOut() 绘制。(GDI 绘制)
    1.700 新增的绘制方式,一般情况下比其他方式快。
  • GRAPHICS(默认值)」:用 Graphics.DrawString() 绘制。(GDI+ 绘制)
    与旧版设置 GDI+を使う:YES 行为相同。
  • TEXTRENDERER」:用 TextRenderer.DrawText() 绘制。(GDI 绘制)
    与旧版设置 GDI+を使う:NO 行为相同。

(イメージバッファを使用する)

于版本 1.818 后废弃,新版本更新了绘制算法,已不再需要图像缓冲功能。

(描画に GDI+を用いる)

于版本 1.700 后废弃,上位替代见 2.1. 描画インターフェース

至于这个设置原来究竟叫 GDI+を使う 还是 描画にGDI+を用いる 谁也不知道,官方 Wiki 就这么写的。不过无所谓了,反正已经废弃了。

2.2. フレーム毎秒

フレーム毎秒:5

图像绘制频率(每秒帧数)。

(最大スキップフレーム数)

最大跳过帧数,已废弃。

2.3. PRINTC を並べる数

PRINTCを並べる数:3

系统通过 PRINT_SHOPITEM 等方式执行 PRINTC 命令时,每隔几次换行。换言之,一行排几个按钮(eramaker 是 3)。
设置为 0 时不会进行换行,此时设置 ボタンの途中で行を折りかえさない:YES,则超出窗口大小时就会自动换行。

2.4. PRINTC の文字数

PRINTCの文字数:26

PRINTC 最终打印前会自动在左侧添加半角空格以纵向对齐选项,预设的目标长度(eramaker 是 25)。
商店(SHOP)场景商品是「商品名长度 + 1」。

一行能排版的字符大约是「窗口宽度 / 字体高度 × 2」,因此本项设置的值理论上应该 <「最长的 PRINTC 的字符数 × 所有 PRINTC 的总数」。

2.5. ボタンの途中で行を折りかえさない

ボタンの途中で行を折りかえさない:YES

是否禁止从按钮中间截断,默认值为 NO(和 eramaker 一样)。

启用后,排不下的按钮会提行到下一排显示,和英文单词排版(wrap)一个道理。

三、窗口相关设置#

3.1. ウィンドウ幅

ウィンドウ幅:760

指定启动时的窗口宽度,注意不是程序窗口的宽度,而是「绘制区域」的宽度。
(不包括右侧的滚动条。)

3.2. ウィンドウ高さ

ウィンドウ高さ:480

指定启动时的窗口高度,这里指的是标题栏和菜单栏下方「绘制区域」的高度。

3.3. ウィンドウの高さを可変にする

ウィンドウの高さを可変にする:YES

是否允许运行时改变窗口高度(Height)。

至于运行时窗口的「宽度(Width)」本来就是启动之后禁止动态改变的。

3.4. 起動時にウィンドウを最大化する

起動時にウィンドウを最大化する:NO

是否在启动时最大化显示窗口(仅高度,宽度仍会被限制)。

3.5. 起動時のウィンドウの位置を固定する

起動時のウィンドウ位置を指定する:NO

是否指定启动时窗口出现的位置。
如果设置为 NO,下面两个设置即使设置了具体的值也不会生效。

3.6. ウィンドウ位置 X

ウィンドウ位置X:0

如果设置了启动时窗口从固定位置出现,指定出现时的 X 座标。

Emuera 用的屏幕座标系是以左上角为原点 (0, 0),越往右 X 越大,越往下 Y 越大。

3.7. ウィンドウ位置 Y

ウィンドウ位置Y:0

如果设置了启动时窗口从固定位置出现,指定出现时的 Y 座标。

3.8. スクロールの行数

スクロール行数:3

指定鼠标滚轮每次卷动的行数。

注意实际设置为 スクロール行数(没有 ),官方 Wiki 就写了个 スクロールの行数,NMD 会写文档就多写点。
我没被这个坑到是我机智提前把坑填平了,你想像一下「debug 一下午最后发现你哪都没错,只是官方文档写错了,少写了一个字符」吧。

四、字体相关设置#

4.1. 背景色

背景色:0,0,0

指定背景颜色。

4.2. 文字色

文字色:192,192,192

指定文字颜色,如果代码中使用了 SETCOLOR 则优先显示 SETCOLOR 的颜色。

4.3. 選択中文字色

選択中文字色:255,255,0

指定鼠标指向「可选按钮」的文字颜色。

4.4. 履歴文字色

履歴文字色:192,192,192

指定历史记录的文字颜色,类似一般文字,同样有 SETCOLOR 优先。

4.5. フォント名

フォント名:MS ゴシック

指定默认显示文本使用的字体名称,不能使用光栅字体。

4.6. フォントサイズ

フォントサイズ:16

指定默认显示文本使用的字体高度,单位是像素(px)。

4.7. 一行の高さ

一行の高さ:16

指定显示每行文字的高度,单位是像素(px)。

如果「行高」和「字高」相等,根据字体设计(时水平方向的基准线高度)不同可能会出现上边或下边被吞掉的现象。
推荐「行高」设置为比「字高」大 1 ~ 3 个像素。

五、系统相关设置#

注意:第五部分的设置都是关于 .erb 脚本执行的细节。
玩家擅自修改可能会导致游戏无法正常运行。

如果修改设置导致游戏出错可以删掉 ./emuera.config 重新生成一份新的配置文件。

5.1. 大文字小文字の違いを無視する

大文字小文字の違いを無視する:YES

是否无视大小写字母之间的区别(或者说「忽略大小写」「不区分大小写」),默认为 YES

如果你准备开启一个新项目,并且愿意哪怕多花那么一丁点心思来提升项目健壮性,我个人非常建议改成 NO(区分大小写)。

5.2. _Rename.csv を利用する

_Rename.csvを利用する:YES

是否启用由「EraMakerEx」开创的 _Rename.csv 功能。

5.3. _Replace.csv を利用する

_Replace.csvを利用する:YES

是否启用「Emuera 私家改造版1.52a-c 新增的 _Replace.csv 功能。

5.4. サブディレクトリを検索する

サブディレクトリを検索する:YES

是否允许引擎检索 ./CSV/./ERB/ 的「子目录(二级目录及以上)」中的相应文件。

所有*.erb 文件都会被检索到。
注意 .csv 文件里只有 Chara*.csv 会被检索到,别的 *.csv 不行
读取时优先读取子目录下的文件;另外,如果设置了 読み込み順をファイル名順にソートする:YES,读取文件夹时也会按照名字排序。

5.5. 読み込み順をファイル名順にソートする

読み込み順をファイル名順にソートする:YES

读取文件的顺序是否按照文件名排序,默认为 NO(此时按照 C# 的 Directory.GetFiles() 函数返回的顺序依次读取)。

GetFiles() 函数其实是根据动态链接库 Kernel32.dll 中的 FindNextFile() 函数获得文件排序的,实际顺序取决于文件系统。
GetFiles() 有可能重现 eramaker 的效果,同时这也会导致同一个脚本集(era 游戏)在不同操作系统下的表现不同。

此外,如果设置为 YES,会对获得的文件列表先按照名称排序再依次进行读取,这种情况下你使用的文件系统(这里指的是当年普遍使用的 FAT32,最多也不过是 exFAT)表现和 NTFS 会有差异。

私货折叠

都要 2023 年了,微软连当年言之凿凿放的「Win 10 是 Windows 最后一个版本」这个屁都 TM 吸回去,想要淘汰 Win 10 了。
还搁这「哎呀跟 NTFS 有差异」呢?你看看你的硬盘(右键 - 属性 - 文件系统),就是 NTFS 吧?

吐槽一下:无视时代的局限性,硬喷文档过时并不可取。但就算不说文档时效性这一茬,妈的他说了这么多还是没说到点子上,翻得我急死了。
总之这个设置对开发者的影响就是比方说你手滑,在两个文件同时定义了同一个函数。(当然这是开发中应该尽量避免的低级错误)
但就是万一,不幸中的不幸,出现了这种情况:

  • A.erb 里说 CHECK_PREGNANCY() 的返回值是 YES
  • B.erb 里说 CHECK_PREGNANCY() 的返回值是 NO,那到底怀没怀孕?

此时怀没怀取决于文件系统,如果读取的是 A.erb 就怀了,B.erb 就没怀,大概就这样。
主要问题在于,当你重复定义同一个函数名时,默认配置下是没有任何警告的。

P.S. 后续更新:后来翻到了原 Wiki 确实 提到过一嘴,就是我刚讲的这段,比我说得还严重:「某些没有考虑到文件读取顺序的脚本集(era 游戏),换了个读取顺序可能直接跑不起来了」。emmm,我没什么好说的。
你这说明挺能藏啊,生怕读你文档的人看懂了是吧。

5.6. システム関数の上書きを許可する

システム関数の上書きを許可する:YES

是否允许重写系统函数(允许「ユーザー定義関数用户定义函数」覆盖「式中で使える関数可以在公式中使用的函数」),默认是 YES

此条感谢「傲視長空」帮忙校对翻译,我才(勉强)读懂了。

5.7. システム関数が上書きされたとき警告を表示する

システム関数が上書きされたとき警告を表示する:YES

是否显示系统函数已经被重写(参见上一条设置项)的警告,默认是 YES
(如果已经设置了 システム関数の上書きを許可する:YES 的情况下,无论本条设置是否启用,总是会显示警告。)

译注:那这条设置有毛用啊,完全没懂。
一、允许重写必然报警告。
二、不允许重写,但又进行了重写,那就不是你警不警告的问题了,不是必然报错吗?
难道说,设置了「システム関数の上書きを許可する:NO(不许重写)」然后重写,并不会出事?那你设置的警告是什么?寂寞吗?

5.8. 同名の非イベント関数が複数定義されたとき警告する

同名の非イベント関数が複数定義されたとき警告する:YES

是否显示「定义了多个同名函数」的警告。(就是 5.5. 最后吐槽的问题

在 eramaker 里同名函数只有第一个加载的有效,之后的会被忽略。

私货折叠

他还说「某些场景下可能很有用(この仕様は有用な場合はありますが)」,我人麻了。求求了,不要他妈的写出他妈的这种场景。
你都干出「同一个项目写了两个同名函数」这种事了,还正常呢,甚至于还「有用」呢?你把没用上的那些同名函数改下名会怎么样?
你非得「我赌你今天不出 bug」吗?梭哈是一种智慧.mp3

5.9. 全角スペースをホワイトスペースに含める

全角スペースをホワイトスペースに含める:YES

是否在脚本解析时将全角空格视为标准空格,默认是 YES

意义不大,最新的「私家定制版」允许「同时使用」Tab 制表符(\t)和空格;甚至「混用」;甚至「不用」任何缩进。
再重复一遍:缩进在代码层面没有任何意义,只是给你自己看的。
这个功能大概只有 STRLEN 之类的计算字符串长度的时候有点用。

5.10. 内部で使用する東アジア言語

内部で使用する東アジア言語:JAPANESE

指定程序内部运行 STRLENS 等命令时使用的语言,默认是日语(ja-JP)。
可选项:

  • 日语 ja-JP(字符集编码 Shift JIS,默认选项)
  • 韩语 ko-KR
  • 简体中文 zh-CN(未测试)
  • 繁体中文 zh-TW(未测试)

跟游戏内容的语言无关,era 游戏的架构是这样:

  • 「玩家」玩游戏
  • 「era 游戏制作者」写脚本做游戏 ← 决定玩家玩到的游戏内容的实际语言
  • 「Emuera 引擎开发者」做引擎 ← 本项设置发生的阶段

5.11. FORM 中の三連記号を展開しない

FORM中の三連記号を展開しない:NO

是否无视简写的三连连字符,默认为 NO(启用连字符功能)。

连字符:+++ 表示主角(调教者)的 呼び名*** 表示调教对象的 名前$$$ 表示调教对象的 呼び名/// 表示助手的 名前=== 表示助手的 呼び名

私货折叠

多嘴提一句,他这个配置项的逻辑设计是标准的「错误示范」。
(其实还有之前的「启用不区分大小写」)
但也不一定怪 Emuera,也可能是 eramaker 写的,他只是为了兼容性不得不将这种写法继承下来。
我不清楚其中真相,就不做更多评价了,总之这是非常不提倡的写法。
当你写代码的时候,尽量不要使用双重、三重甚至更多重否定。
翻来覆去的图个啥?你搁这烙饼呢?
你体会一下:「当设置为 YES 的时候,一个功能被禁用了;当设置为 NO 的时候,一个功能被启用了」。
往轻了说,这叫「反直觉」「烧脑」;往重了说,这叫反人类设计。

5.12. セーブデータをバイナリ形式で保存する

セーブデータをバイナリ形式で保存する:YES

是否以二进制格式保存 Save(存档)数据,默认是 NO(以文本格式保存)。
请注意,以二进制格式保存不一定能节省更多空间,反之亦然。
另外当使用 #DIM SAVEDATA 来定义可保存的 字符串变量多维字符串变量 时,这个选项必须设置为 YES

5.13. セーブデータを UTF-8 で保存する

セーブデータをUTF-8で保存する:YES

是否使用 UTF-8 with BOM 编码保存 Save(存档)数据,默认为 NO(以 Shift JIS 格式保存)。

5.14. ONEINPUT 系命令でマウスによる 2 文字以上の入力を許可する

ONEINPUT系命令でマウスによる2文字以上の入力を許可する:NO

是否允许 ONEINPUT 系命令输入多个字符,默认为 NO(只取输入的第一个字符)。

此条感谢「CK Rainbow」帮忙校对翻译。

注意此项设置不会在设置窗口中显示,只能通过编辑 emuera.config 来修改。

六、兼容性相关设置#

注意:第六部分的设置都是关于兼容性问题的解决,如 Emuera 和 eramaker 之间、Emuera 新旧不同版本之间表现出不同行为。

如果默认设置没有问题,不要动它。 如果你是新开的项目,找一个最 bug 最少的 Emuera 版本,然后无视以下(第六部分)设置。

6.1. 解釈不能な行があっても実行する

解釈不可能な行があっても実行する:NO

是否无视「无法解释的」脚本代码行(双重否定是他写的,不怪我),默认为 NO

私货折叠

我再吐槽一遍:「YES / NO」的二选一,能搞出双重否定的描述,是离谱打死了假离谱去看望他妈的妈——真的离谱到姥姥家了。
默认 disable_feature = false,「代码层面」有这种玩意多少还能原谅,有可能是服务于效率优先的特别设计。
都做到「人机交互层面」了你还他妈来这套,写成 enable_feature = true 会死吗?

就说这个选项,改成:「是否只运行可以解释的代码 = 默认 YES」,有那么难吗?
落到程序层面,不用他改动任何一行底层代码,他只要读取配置后加一行 解釈不可能な行があっても実行する = !是否只运行可以解释的代码 取个反就行了。
我真的服了,哥。

6.2. CALLNAME が空文字列の時に NAME を代入する

CALLNAMEが空文字列の時にNAMEを代入する:NO

当昵称 / 爱称为空时,是否直接应用正式名字(NO 则留空)。

6.3. 擬似変数 RAND の仕様を eramaker に合わせる

擬似変数RANDの仕様をeramakerに合わせる:NO

是否使 RAND 命令的作用效果向 eramaker 里的看齐。

6.4. 関数・属性については大文字小文字を無視しない

関数・属性については大文字小文字を無視しない:NO

是否区分函数名 / 属性名的大小写,默认为 NO(NO = 函数/属性名不区分大小写)。

原文这里说的:「是否 不要 忽略 大小写」,我……

私货折叠

先绕你一波,然后也不解释清楚,反而跑去说什么跟 eramaker 的区别。
再反手引入另一个设置项 大文字小文字の違いを無視する 的新概念,然后说这两个如何如何设置能和 eramaker 表现一致。
还是那句话,他写个文档跟生怕你把他写的什么意思搞懂了一样。
我能看懂你写的东西说明你开发水平不够高、显得你很没面子是吗?
非要曲高和寡才能显出你的能耐?真是够了,血压起来了。

6.5. イベント関数の CALL を許可する

イベント関数のCALLを許可する:NO

是否允许调用(CALL)系统内置的事件函数。

6.6. ver1739 以前の非ボタン折り返しを再現する

ver1739以前の非ボタン折り返しを再現する:NO

是否将「按钮以外的 DRAWLINE 之类的命令」渲染时的换行规则,回调到 1739 及之前的版本。

(DRAWLINE を常に新しい行で行う)

DRAWLINEを常に新しい行で行う

(此项设置已废弃,上一个设置包含了这个的功能。)
是否使 DRAWLINE 命令永远显示在新的一行。

6.7. ユーザー関数の全ての引数の省略を許可する

ユーザー関数の全ての引数の省略を許可する:NO

当调用「用户自定义函数」时,是否允许忽略所有参数。

6.8. ユーザー関数の引数に自動的に TOSTR を補完する

ユーザー関数の引数に自動的にTOSTRを補完する:NO

当「将 数值 当作 字符串用户定义函数 传参」时,是否自动将数值转换为字符串。

然后他下面说:
18201819+v10)之前,有一个 bug 导致这个选项的作用和实际描述是相反的。」
大概吧,我已经放弃思考了

6.9. SP キャラを使用する

SPキャラを使用する:NO

是否恢复原本已经在 1816 之后删除的「SP 角色」功能。
「SP 角色」即「同一个角色的不同版本」,即「允许重复定义同一个 ID 的角色」。

感谢「CK Rainbow」的指正。

七、分析相关设置#

7.1. eramaker 互換性に関する警告を表示する

eramaker互換性に関する警告を表示する:NO

当写法不兼容原版 eramaker 语法时,是否显示警告。

7.2. ロード時にレポートを表示する

ロード時にレポートを表示する:NO

加载时是否显示总行数等统计数据,如果为 NO,则显示 _Replace.csv 中指定的加载信息。

7.3. ロード時に引数を解析する

ロード時に引数を解析する:YES

加载时是否解析参数。

如果设置为 YES(加载时解析)会「大大拖慢」加载速度,但也会让加载成功后的运行速度「稍微快一点」。
如果你的目的不是 debug 而是正常游玩,(Emuera 本家作者)建议设置为 NO

具体可设置选项:

  • NO:不解析。
  • ONCE:仅当 *.csv*.erb 文件有更新时解析。
  • YES:总是解析。

7.4. 表示する最低警告レベル

表示する最低警告レベル:1

指定显示警告的最低等级,低于设定值的警告不会显示。可设置选项:

  • 0不会引起任何问题只是写法不规范的警告,比如用 == 代替 =(???)。
    原话「"="の代わりに"=="を使っているなど、特に問題を起こさない警告です。」
    实际上在非判断条件中把 = 写成 ==(当作赋值用)这种写法确实是可以运行的(会报 Lv0 警告 代入演算子に"=="が使われています)。
  • 1可以忽略的无伤大雅的问题,比如在函数声明以外使用了 #PRI
    我已经无力吐槽了。
  • 2:无法解释以及对应不上的代码块(比如 IF 忘了用 ENDIF 关闭)的警告,会导致运行时出错。
  • 3:读取过程中导致「致命错误 Fatal」的警告,强制显示。

(ロード時に FORM 文字列を解析する)

ロード時にFORM文字列を解析する

(已在 1800 后废弃)加载时是否解析 FORM 相关字符串。

7.5. 呼び出されなかった関数を無視する

呼び出されなかった関数を無視する:YES

是否不解析「从未调用过的函数」的参数。

7.6. 関数が見つからない警告の扱い

関数が見つからない警告の扱い:DISPLAY

当调用时没有找到该函数(上工了,你妈的,人呢),是否发出警告。

可设置选项:

  • IGNORE:不警告。
  • LATER:不逐个警告,「统计总数」后统一总结批评。
  • ONCE:每个文件只显示一次。
  • DISPLAY:别被我逮到,查到一次通报你一次。

7.7. 関数が呼び出されなかった警告の扱い

関数が呼び出されなかった警告の扱い:DISPLAY

当发现从未调用过的函数(没叫你,你在这干嘛)时,是否发出警告。

可设置选项:同上一个设置。

(指定したファイル中の警告を無視する)

指定したファイル中の警告を無視する

(已废弃)是否忽略指定文件中的警告。

lackbfun © 2021 - 2024

零基础开发 era 游戏 #4 配置文件详解