铁锈战争mod制作常见问题详解 p1——ini的基础结构
ini结构.0:基本组成与释义
我们moder日常所称的“ini代码”,准确来说是用于存放各项常量及对应的逻辑布尔值,方便应用读取的文件,让我们能够很轻易地做到新增单位及修改单位参数。其由近四百余项常量组成(注1),包括[core]、[canBuild]、[attachment]、[action/hiddenAction]、[graphics]、[attack]、[turret]、[projectile]、[effect]、[arm/leg]、[animation]、[movement]、[ai]总计13个模块。分别意为核心,可建造,附属物,动作/隐藏动作,图像,攻击,炮塔,抛射体,特效,臂/腿,动画,运动。
为保证保证单位正常加载,其中共有必须模块4个,必须常量12条:
[core](包括此条,缺少则报错如图1所示,下同)





[graphics]


[attack]

[movement]

每个模块,每条常量间没有固定的顺序,但要确保每条常量处在对应的模块内。
我们通常所称的ini中的“逻辑布尔值”,包括一般的布尔值“true”、“false”和由逻辑连接词构成的复合语句,作为程序判定常量与否的条件。主要条件及具体参数如下:


常见bug.1:写入错误
写入错误主要包括位置错误,符号错误,拼写错误,大小写错误。对ini的不熟悉,以及自身习惯同ini写入惯例的矛盾,是导致这些错误的主要原因。对有良好检查习惯的moder来说,这些错误是不会保留到运行测试阶段的。如果你在mod的报错界面看到了以下问题,说明你需要更仔细地检查你所写入的ini。
位置错误:如上面所说,每条常量有各自对应的位置,在写入一条新常量前,你至少需要清楚它是在哪个模块下的。
符号错误:你需要确定自己写入的符号是英文的半角符号。否则将“:”打成“:”就会是你最常见的错误。在1.15p4更新后,符号输入错误会由原来的报错变更为跳过行,即不解析输入错误的一行。
拼写错误:拼写错误人皆有之,哪怕对所用到的单词非常熟悉,也很难避免。你也很难记住所有常量是如何拼写的。最好通过复制黏贴来写入绝大部分的常量。有意思的是,包括我在内,几乎每个moder都有把“true”打成“ture”的经历。如果你还知道其他容易被混淆或是拼错的常量,欢迎在评论区下提出。
大小写错误:常量拼写与日常所用的英文语法规则不同,它要求你每条常量的第一个单词首字母小写,后续的其他单词首字母大写。如“isBio”中的“B”。



注1:由于相关缺乏资料,代码量仅为个人经验估计。具体数量请待我日后进行统计,欢迎有意者提供帮助。

在下一期,我们将继续研究[core]模块中的常量,区分它们之间的区别,并详尽地演示每条常量的具体作用,敬请期待。