单位编辑:修订间差异

无编辑摘要
无编辑摘要
无编辑摘要
第1行: 第1行:
本页面指导mod制作初学者制作游戏中的单位。
<b>序言</b><br>
本文引导想要学习制作mod单位的玩家具有制作自己单位的能力。<br>
<br>
<b>概念</b><br>
游戏中的原版单位的属性信息有两种存储方式:一种为游戏早期的直接写在游戏的.jar或.dex文件中,另一种,在游戏具有mod系统后,以一个单位一个.ini文件的形式进行存储。我们制作mod单位使用这种形式。<br>
这里的.ini文件为UTF-8文本文件,使用记事本等文本编辑器即可修改。<br>
具体属性存储方式使用键值对(key: value)进行存储。即单位具体某项属性名称后跟英文冒号然后填这个属性的值。如:
<pre style="margin: 0;padding: 5px;border: 1px solid;background-color: #fffff5;white-space: pre;overflow-x: auto;">
# name为单位的名称,这里值为c_interceptor
name: c_interceptor
# price为单位的造价,即单位的造价为600
price: 600
maxHp: 250
</pre>
.ini文件内容里还有小节的概念,即使用英文方括号包裹小节名称并单独占一行来划分单位的不同功能,如:
<pre style="margin: 0;padding: 5px;border: 1px solid;background-color: #fffff5;white-space: pre;overflow-x: auto;">
# 概念型坦克的两个炮台,[turret_cannon2]和[turret_cannon3]
[turret_cannon2]
#top right cannon
x: 0
y: 0
attachedTo: base2
copyFrom: cannon1
linkDelayWithTurret: cannon1
warmup:30


 
[turret_cannon3]
==== 单位的界定 ====
#bottom left cannon
游戏中,具有名称、生命值、半径、重量的单元。
x: 0
 
y: 0
==== 游戏存储单位属性的方式 ====
attachedTo: base3
游戏使用传统意义上的.ini配置文件格式存储单位的属性信息。<br>
copyFrom: cannon1
包含的.ini文件的特征:UTF-8文本文件、小节(Section)、键值对(Key-value)。
linkDelayWithTurret: cannon1
 
warmup:60
==== 游戏如何将单位配置文件信息加载到游戏中 ====
</pre>
先将单位.ini文件置于指定目录,然后通过游戏内的mod管理界面对mod文件进行扫描和加载。
<br>
 
<b>.ini文件的位置</b><br>
==== 单位中可用的属性API及配置文件语法在哪里 ====
一个mod在文件存储意义上,是一个具有多层目录结构的文件夹。(mod直接以文件夹的形式而非.rwmod打包形式放入游戏读取目录下也可被游戏正常加载)<br>
见:[https://docs.google.com/spreadsheets/d/1aeP3pUic0IutZlgGix_cM8xR7LEH44gS4itAxETK954 Google 文档]<br>
mod文件想要加载到游戏中应该放在:(PC端)"Rusted Warfare/mods/units/" (Android端)"rustedWarfare/units/"或"/com.corrodinggames.rts/files/units/"
上面表格文档记录了大多数属性API关键字和功能描述。但具体代码细节未能详尽,需要mod制作者留心在游戏中测试和记录。<br>
<pre style="margin: 0;padding: 5px;border: 1px solid;background-color: #fffff5;white-space: pre;overflow-x: auto;">
单位配置文件具有特殊语法,本文会在后面篇章进行介绍。
#以PC端游戏目录为例
 
mods
 
└─units
==== 单位的存在机制 ====
    │  custom_units_here.txt
<b>地图</b><br>
    │
单位活动在地图之上,由地图生成(或称刷新)。<br>
    └─中型坦克改_v0.2          ← 该mod的文件夹
每个地图上的单位都有自己在地图上的位置信息,即坐标(x, y)。
        │  all-units.template
 
        │  mod-info.txt
<b>生存</b><br>
        │
游戏中,单位被刷新出来时,视为单位生存的开始。<br>
        ├─BGM
一般情况下,生成单位的情况:被建造者建造、由工厂生产、地图脚本功能、ini代码功能。<br>
        ├─_未完成
游戏中,单位从地图上消失即为单位生存的结束。<br>
        ├─其他
单位消失的情况:被回收、生命值为0、地图脚本功能、ini代码功能。
        ├─单位
 
        │  └─中型坦克          ← 该单位的文件夹
<b>生命值</b><br>
        │          中型坦克.ini  ← 单位“中型坦克”的.ini文件
每个单位都有自己生命值(float类型),一般由ini配置文件定义其生命值上限。当单位生命值为0时,单位会从该局游戏中消失,即“死亡”。<br>
        │          开火.ogg
单位生命值变化的情况:被建造者维修、被建造者回收、被“弹丸”命中、地图脚本功能、ini代码功能。<br>
        │          残骸.png
生命值实现了单位在一局游戏中的去留和更新。
        │          炮塔.png
 
        │          车身.png
<b>半径</b><br>
        │
单位的半径在ini配置文件中定义(int类型)。半径使单位和单位之间存在最小距离,增加了真实性和趣味性。
        └─地图
 
</pre>
<b>重量</b><br>
<br>
单位的
<b>接下来</b><br>
610

个编辑