Mod语法:修订间差异

来自RustedWarfare Wiki
添加的内容 删除的内容
标签移动版编辑 移动版网页编辑 高级移动版编辑
(这种方式好像很难给小白讲全面,考虑了半天没有写出东西,是不是要换成例子作为切入点的方式啊,,,这是自言自语)
第7行: 第7行:


节的类型:
节的类型:
<pre style="white-space:pre;overflow:auto;">
<pre>
[core]
[core]
[canBuild_NAME]
[canBuild_NAME]
第28行: 第28行:
[template_NAME]
[template_NAME]
[comment_NAME]
[comment_NAME]
(待补充,计划对每条含义用法进行介绍)
</pre>
</pre>


=== 键 ===
=== 键 ===
又称属性(property),包含用冒号(:)或等号(=)连接的键的名称(name)和键的值(value),单独占一行。用于规定单位的具体属性。名称不同的键视为不同类型的键,名称相同的键从属于不同类型的节视为不同类型的键。键的值有几种固定类型,具体取决于键。
又称属性(property)包含用冒号(:)或等号(=)连接的键的名称(name)和键的值(value),单独占一行。用于规定单位的具体属性。名称不同的键视为不同类型的键,名称相同的键从属于不同类型的节视为不同类型的键。


值的类型:
<pre>
(待补充,计划每条都需要详解)
</pre>
键的类型:
键的类型:
<pre style="white-space:pre;overflow:auto;">
<pre>
(待补充,计划每条都需要详解
(待补充)
</pre>
</pre>


=== 注释 ===
=== 注释 ===
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可读性,不会被计算机编译。
<q>注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可读性,不会被计算机编译。</q>


铁锈战争的<code>.ini</code>文件语法在注释方面提供了三种方式:
铁锈战争的<code>.ini</code>文件语法在注释方面提供了三种方式:
第51行: 第46行:


在行的开头加上<code>#</code>意味着计算机不会编译该行内容。
在行的开头加上<code>#</code>意味着计算机不会编译该行内容。
<pre style="white-space:pre;overflow:auto;">
<pre>
[projectile_1]
[projectile_1]
#directDamage: 20
#directDamage: 20
第61行: 第56行:
(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>
"""
"""
这是三个英文引号
这是三个英文引号
第77行: 第72行:


该节之后的行直到下一个节前一行均不会被编译。
该节之后的行直到下一个节前一行均不会被编译。
<pre style="white-space:pre;overflow:auto;">
<pre>
[comment_hiddenAction_1]
[comment_hiddenAction_1]
autoTriggerOnEvent: created
autoTriggerOnEvent: created
第90行: 第85行:


== mod-info.txt文件 ==
== mod-info.txt文件 ==
纯文本文件。游戏通过在mod文件夹根目录读取<code>mod-info.txt</code>这样命名的文件来获得mod作者提供的mod描述信息。此文件拥有自己的参数规则
纯文本文件。游戏通过在mod文件夹根目录读取<code>mod-info.txt</code>这样命名的文件来获得mod作者提供的mod描述信息。


相关参数介绍
相关参数解释
<pre style="white-space:pre;overflow:auto;">
<pre>
#(必填)
#(必填)
[mod]
[mod]

2022年5月25日 (三) 11:33的版本

.ini文件

纯文本文件。游戏通过读取以.ini为扩展名的文件来获取具体单位的属性。内容组成方面,由节(section)、键(key)、注释(comment)三个部分组成:

包含用两个半角英文方括号包围的节的名称([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),包含用冒号(:)或等号(=)连接的键的名称(name)和键的值(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文件。