Mod语法:修订间差异
小 (这种方式好像很难给小白讲全面,考虑了半天没有写出东西,是不是要换成例子作为切入点的方式啊,,,这是自言自语) |
RustedWiki更新姬(留言 | 贡献) 小无编辑摘要 |
||
| 第2行: | 第2行: | ||
== .ini文件 == | == .ini文件 == | ||
纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获取具体[[单位]]的属性。内容组成方面,由节(section)、键(key)、注释(comment)三个部分组成: | 纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获取具体[[单位]]的属性。内容组成方面,由节(section)、键(key)、注释(comment)三个部分组成: | ||
=== 节(section) === | |||
=== 节 === | |||
包含用两个半角英文方括号包围的节的名称([section]),单独占一行。用于声明相关的键从属于该节。其后的行直到另一个节前一行的键均归属于该节。名称不同的节视为不同类型的节。 | 包含用两个半角英文方括号包围的节的名称([section]),单独占一行。用于声明相关的键从属于该节。其后的行直到另一个节前一行的键均归属于该节。名称不同的节视为不同类型的节。 | ||
| 第29行: | 第28行: | ||
[comment_NAME] | [comment_NAME] | ||
</pre> | </pre> | ||
=== 属性(property) === | |||
=== | 在Rusted Warfare中,属性包含一组键值对。键(key)的名称与其对应的值(value)用半角冒号隔开,单独占一行。用于规定单位的具体属性。名称不同的键视为不同类型的键,名称相同的键从属于不同类型的节视为不同类型的键。 | ||
=== 注释 === | === 注释 === | ||
注释即为对代码的解释和说明。清晰的注释有利于帮助理解代码的含义。铁锈战争的<code>.ini</code>文件语法在注释方面提供了三种方式: | |||
(1)用<code>#</code>进行单行的注释 | (1)用<code>#</code>进行单行的注释 | ||
在行的开头加上符号<code>#</code>后,游戏程序会忽略这一行的内容,不将其作为代码解析。但编写这些的人类可以注意到这些。 | |||
<pre style="white-space:pre;overflow:auto;"> | <pre style="white-space:pre;overflow:auto;"> | ||
[projectile_1] | [projectile_1] | ||
| 第53行: | 第43行: | ||
… | … | ||
</pre> | </pre> | ||
(2)用<code>"""</code>和<code>"""</code>的组合进行多行注释 | (2)用<code>"""</code>和<code>"""</code>的组合进行多行注释 | ||
在行头使用<code>"""</code>作为起始,在之后的行尾使用<code>"""</code> | 在行头使用<code>"""</code>作为起始,在之后的行尾使用<code>"""</code>作为结束。在其之间的内容均会被游戏忽略。 | ||
<pre style="white-space:pre;overflow:auto;"> | <pre style="white-space:pre;overflow:auto;"> | ||
""" | """ | ||
| 第68行: | 第57行: | ||
""" | """ | ||
</pre> | </pre> | ||
(3)用<code>[comment_NAME]</code>进行成节的注释 | (3)用<code>[comment_NAME]</code>进行成节的注释 | ||
该节之后的行直到下一个节前一行均不会被加载。 | |||
<pre style="white-space:pre;overflow:auto;"> | <pre style="white-space:pre;overflow:auto;"> | ||
[comment_hiddenAction_1] | [comment_hiddenAction_1] | ||
| 第79行: | 第67行: | ||
maxHp: 2000 | maxHp: 2000 | ||
[core] | [core] | ||
#[comment_NAME] | #[comment_NAME]节下的东西是不会被加载的,去引用它会提示找不到任何key | ||
@copyFromSection: comment_1 | @copyFromSection: comment_1 | ||
… | … | ||
</pre> | </pre> | ||
== mod-info.txt文件 == | == mod-info.txt文件 == | ||
纯文本文件。游戏通过在mod文件夹根目录读取<code>mod-info.txt</code>这样命名的文件来获得mod作者提供的mod描述信息。 | 纯文本文件。游戏通过在mod文件夹根目录读取<code>mod-info.txt</code>这样命名的文件来获得mod作者提供的mod描述信息。 | ||
| 第110行: | 第97行: | ||
注释""" | 注释""" | ||
</pre> | </pre> | ||
== all-units.template文件 == | == all-units.template文件 == | ||
<code>all-units.template</code>也是INI格式的文件。文件中的代码会自动应用到模组内的所有单位中(效果与使用<code>core</code>节下的<code>copyFrom</code>一致)到同级及以下级文件夹的所有<code>.ini</code>文件中。若存在代码错误,报错不会指向其本身,而是其所应用的<code>.ini</code>文件。 | |||
2022年5月25日 (三) 23:06的版本
|
Rusted Wiki欢迎您参与完善本条目 |
.ini文件
纯文本文件。游戏通过读取以.ini为扩展名的文件来获取具体单位的属性。内容组成方面,由节(section)、键(key)、注释(comment)三个部分组成:
节(section)
包含用两个半角英文方括号包围的节的名称([section]),单独占一行。用于声明相关的键从属于该节。其后的行直到另一个节前一行的键均归属于该节。名称不同的节视为不同类型的节。
节的类型:
[core] [canBuild_NAME] [graphics] [attack] [turret_NAME] [projectile_NAME] [movement] [ai] [leg_#] [arm_#] [attachment_NAME] [action_NAME] [hiddenAction_NAME] [effect_NAME] [animation_NAME] [placementRule_NAME] [global_resource_NAME] [resource_NAME] [template_NAME] [comment_NAME]
属性(property)
在Rusted Warfare中,属性包含一组键值对。键(key)的名称与其对应的值(value)用半角冒号隔开,单独占一行。用于规定单位的具体属性。名称不同的键视为不同类型的键,名称相同的键从属于不同类型的节视为不同类型的键。
注释
注释即为对代码的解释和说明。清晰的注释有利于帮助理解代码的含义。铁锈战争的.ini文件语法在注释方面提供了三种方式:
(1)用#进行单行的注释
在行的开头加上符号#后,游戏程序会忽略这一行的内容,不将其作为代码解析。但编写这些的人类可以注意到这些。
[projectile_1] #directDamage: 20 #有人反映单发伤害太低,这里改成了30 directDamage: 30 …
(2)用"""和"""的组合进行多行注释
在行头使用"""作为起始,在之后的行尾使用"""作为结束。在其之间的内容均会被游戏忽略。
""" 这是三个英文引号 实际上这个组合还有个功能,就是用它引住key: value的value使value可以换行输入如: builtFrom_1_name: airFactory 可以是 builtFrom_1_name: """airF actory""" 可是有一种情况,你用多行注释注释掉了有换行输入的内容它显然就会混乱,也就是目前的情况 """
(3)用[comment_NAME]进行成节的注释
该节之后的行直到下一个节前一行均不会被加载。
[comment_hiddenAction_1] autoTriggerOnEvent: created addGlobalTeamTags: 计时 [comment_1] maxHp: 2000 [core] #[comment_NAME]节下的东西是不会被加载的,去引用它会提示找不到任何key @copyFromSection: comment_1 …
mod-info.txt文件
纯文本文件。游戏通过在mod文件夹根目录读取mod-info.txt这样命名的文件来获得mod作者提供的mod描述信息。
相关参数解释:
#(必填) [mod] #(选填)告诉游戏能够支持该mod运行的最低游戏版本。若不满足最低版本,提示后仍可加载,但除地图外不可用,同时不提供代码错误的报错提醒。 minVersion: v1.14 #(必填)该mod在游戏中显示的标题。 title: Mega Builders #(选填)该mod在游戏中显示的描述。使用"\n"使其在游戏中换行显示(pc版并不会换行显示)。 description: Example mod which replaces builders with Mega Builders. #(选填,在游戏中播放mod中的.ogg文件作为背景音乐)#关于.ogg文件的说明仍待补充 [music] #填音乐文件夹路径。 sourceFolder: soundtrack #当使用该mod的单位时仅播放该mod的音乐,填"true"或"false"。 whenUsingUnitsFromThisMod_playExclusively: true #该文件支持单行注释 """和 多行 注释"""
all-units.template文件
all-units.template也是INI格式的文件。文件中的代码会自动应用到模组内的所有单位中(效果与使用core节下的copyFrom一致)到同级及以下级文件夹的所有.ini文件中。若存在代码错误,报错不会指向其本身,而是其所应用的.ini文件。