Mod语法:修订间差异
小 (→.ini文件) |
|||
第1行: | 第1行: | ||
{{欢迎编辑}} |
{{欢迎编辑}} |
||
== .ini文件 == |
== .ini文件 == |
||
UTF-8纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获取具体单位的<u title="实际参数(Argument)" style="cursor: help;">参数</u>信息。其内容由节(Section)、<u title="形式参数(Parameter)" style="cursor: help;">参数</u>(Parameter) |
UTF-8纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获取具体单位的<u title="实际参数(Argument)" style="cursor: help;">参数</u>信息。其内容主要由节(Section)、<u title="形式参数(Parameter)" style="cursor: help;">参数</u>(Parameter)和它的值(Value)两部分组成。两者各自和之间均以实际的换行符作为分隔。 |
||
格式: |
格式: |
||
<pre style="white-space:pre;overflow:auto;margin:0;padding:0;width:100%;"> |
<pre style="white-space:pre;overflow:auto;margin:0;padding:0;width:100%;"> |
||
#comment |
|||
[section] |
[section] |
||
parameter: value |
parameter: value |
||
</pre> |
</pre> |
||
<span style="font-size:12px;color:#888;"><nowiki>*</nowiki>另有小部分特殊用途的代码存在不同的书写格式,待到具体代码再作讲解。</span> |
|||
其中,参数从属于它对应的节,只在其规定的对应的节下起作用;不同的参数有不同的类型的值,且规定有自己的取值区间。 |
|||
截至<u>1.15</u>版本,公开可用的节的类型有: |
|||
<pre style="white-space:pre;overflow:auto;margin:0;padding:0;width:100%;"> |
|||
[core]--基础节, |
|||
[canBuild_NAME]--可建造节 |
|||
[graphics]--图像节 |
|||
[attack]--攻击节 |
|||
[turret_NAME]--炮塔节 |
|||
[projectile_NAME]--炮弹节 |
|||
[movement]--移动节 |
|||
[ai]--AI节 |
|||
[arm_#]--臂节 |
|||
[leg_#]--腿节 |
|||
[attachment_NAME]--附件节 |
|||
[action_NAME]--操作节 |
|||
[hiddenAction_NAME]--隐藏的操作节 |
|||
[effect_NAME]--特效节 |
|||
[animation_NAME]--动画节 |
|||
[placementRule_NAME]--放置规则节 |
|||
[global_resource_NAME]--全局资源节 |
|||
[resource_NAME]--资源节 |
|||
[template_NAME]--模板节 |
|||
[comment_NAME]--注释节 |
|||
[decal_NAME]--贴花节 |
|||
</pre> |
|||
部分节可以自行添加名称或序号,这样得到的同类型不同名称的节,在应用时是独立的;允许重复写某个名称的节使其分布在文档的不同位置。 |
|||
参数(行)必须跟随在某个节的后面,以从属该节;节会因缺少必要参数值而报错;部分参数拥有默认值,即使不列出也会起作用。<br /> |
|||
游戏为了实现某些功能,积累了较多的参数代码,以下将按节类型进行归纳。 |
|||
<i style="font-size:16px;">[core]</i> |
|||
<table style="border-collapse: collapse;width: 100%;font-size: 14px;line-height: 1.5em;text-align: center;"> |
|||
<tr> |
|||
<th style="border-top: none;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">参数名</th> |
|||
<th style="border-top: none;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">说明</th> |
|||
<th style="border-top: none;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">类型</th> |
|||
<th style="border-top: none;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">默认值</th> |
|||
<th style="border-top: none;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">举例</th> |
|||
</tr> |
|||
<tr> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">name</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">单位的引用名</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">string</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;"></td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">name: c_tank_plus</td> |
|||
</tr> |
|||
<tr> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">mass</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">单位的重量</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">int</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;"></td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">mass: 9000</td> |
|||
</tr> |
|||
<tr> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">radius</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">单位的碰撞半径</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">int</td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;"></td> |
|||
<td style="border-top: 1px solid;border-bottom: 1px solid;padding: .6em 1em;white-space: pre-wrap;">radius: 10</td> |
|||
</tr> |
|||
</table> |
|||
== mod-info.txt文件 == |
== mod-info.txt文件 == |
2023年2月11日 (六) 23:20的版本
![]() |
Rusted Wiki欢迎您参与完善本条目 |
.ini文件
UTF-8纯文本文件。游戏通过读取以.ini
为扩展名的文件来获取具体单位的参数信息。其内容主要由节(Section)、参数(Parameter)和它的值(Value)两部分组成。两者各自和之间均以实际的换行符作为分隔。
格式:
[section] parameter: value
*另有小部分特殊用途的代码存在不同的书写格式,待到具体代码再作讲解。
其中,参数从属于它对应的节,只在其规定的对应的节下起作用;不同的参数有不同的类型的值,且规定有自己的取值区间。
截至1.15版本,公开可用的节的类型有:
[core]--基础节, [canBuild_NAME]--可建造节 [graphics]--图像节 [attack]--攻击节 [turret_NAME]--炮塔节 [projectile_NAME]--炮弹节 [movement]--移动节 [ai]--AI节 [arm_#]--臂节 [leg_#]--腿节 [attachment_NAME]--附件节 [action_NAME]--操作节 [hiddenAction_NAME]--隐藏的操作节 [effect_NAME]--特效节 [animation_NAME]--动画节 [placementRule_NAME]--放置规则节 [global_resource_NAME]--全局资源节 [resource_NAME]--资源节 [template_NAME]--模板节 [comment_NAME]--注释节 [decal_NAME]--贴花节
部分节可以自行添加名称或序号,这样得到的同类型不同名称的节,在应用时是独立的;允许重复写某个名称的节使其分布在文档的不同位置。
参数(行)必须跟随在某个节的后面,以从属该节;节会因缺少必要参数值而报错;部分参数拥有默认值,即使不列出也会起作用。
游戏为了实现某些功能,积累了较多的参数代码,以下将按节类型进行归纳。
[core]
参数名 | 说明 | 类型 | 默认值 | 举例 |
---|---|---|---|---|
name | 单位的引用名 | string | name: c_tank_plus | |
mass | 单位的重量 | int | mass: 9000 | |
radius | 单位的碰撞半径 | int | radius: 10 |
mod-info.txt文件
UTF-8纯文本文件。游戏通过读取位于mod文件夹根目录下mod-info.txt
这样命名的文件来获得由mod作者提供的mod的描述信息。
格式:
[mod] #告诉游戏能够支持该mod运行的最低游戏版本。若不满足要求的最低版本,提示后仍可加载,但除地图外不可用,同时不提供代码错误的报错提醒。 #填值时注意开头的"v" minVersion: v1.15p7 #该mod在游戏中显示的标题 title: Mega Builders #该mod在游戏中显示的描述。使用"\n"使其在显示时换行(pc版尚不能换行显示) description: Example mod which replaces builders with Mega Builders. #在游戏中播放mod里的.ogg或.wav音频文件作为背景音乐 [music] #填音乐文件夹的路径 sourceFolder: soundtrack #当使用该mod的单位时特别播放该mod的音乐,填"true"或"false" whenUsingUnitsFromThisMod_playExclusively: true #加入音乐播放列表,填"true"或"false" addToNormalPlaylist: false #该文件支持单行注释 """ 和 多行 注释 """
all-units.template文件
UTF-8纯文本文件。内容格式与.ini
文件一致。游戏程序会识别all-units.template
这样命名的文件,将其内容自动应用到同级及以下级的所有.ini
文件中(效果与使用core
节下的copyFrom
一致)。若存在代码错误,报错不会指向其本身,而是其所应用的.ini
文件。另外,若两文件同一参数的值存在冲突,下级的all-units.template
会覆盖上级的all-units.template
。