Mod语法:修订间差异

添加的内容 删除的内容
(这块内容被我写乱了,谁有好的叙述想法,请把它们全部清空后重写)
第1行: 第1行:
{{欢迎编辑}}
{{欢迎编辑}}
== .ini文件 ==
== .ini文件 ==
UTF-8纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获取定义给某个单位的参数信息。其内容主要由节(Section)和参数(Parameter)两部分组成。
UTF-8纯文本文件。游戏通过读取以<code>.ini</code>为扩展名的文件来获某个单位的参数信息。其内容主要由节(Section)和参数(Parameter)两部分组成。
=== 格式 ===
=== 格式 ===
<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%;">
第39行: 第39行:
部分节可以自行添加名称或序号,这样得到的同类型不同名称的节,在应用时是独立的;允许重复书写一个节使其分布在文档的不同位置。
部分节可以自行添加名称或序号,这样得到的同类型不同名称的节,在应用时是独立的;允许重复书写一个节使其分布在文档的不同位置。


===参数===
=== 参数的类型 ===
参数(行)必须跟随在某个节的后面,以从属该节;节会因缺少必要参数而报错;部分参数有默认值,即使不写出也会起作用。<br />
参数(行)必须跟随在某个节的后面,以从属该节;节会因缺少必要参数而报错;部分参数有默认值,即使不写出也会起作用。<br />
具体参数介绍请移步至[[mod参数]]。
具体参数介绍请移步至[[mod参数]]。

=== 例子解释 ===
一个<code>.ini</code>文件包含了游戏中一个单位的所要的参数,如游戏原版的小坦克,它是攻击移动和火炮威力都是通过"<abbr title="文件位于assets/units/tanks目录下">tank.ini</abbr>"文件描述的。下面我们来具体看一下这个<code>.ini</code>文件的具体内容是什么样的,这样也好让原本".ini"这个空的名字在你心中有些分量。
<pre style="white-space:pre;overflow:auto;margin:0;padding:0;width:100%;">

[core]
#
name: c_tank

displayLocaleKey: tank
overrideAndReplace: tank





class: CustomUnitMetadata
price: 350
maxHp: 210
mass: 3000

techLevel: 1
buildSpeed: 0.0020
#availableInDemo: true

radius: 11
displayRadius: 11

isBio: false
softCollisionOnAll: 0

[graphics]
total_frames: 3

image: tank.png
image_wreak: tank_dead.png
image_turret: tank_turret.png


imageScale:0.8
turretImageScale:0.8

image_shadow: AUTO
shadowOffsetX:1
shadowOffsetY:1


animation_moving_start: 0
animation_moving_end: 2
animation_moving_speed: 1


dustEffect: true

[attack]
canAttack: true
canAttackFlyingUnits: false
canAttackLandUnits: true
canAttackUnderwaterUnits: false

turretSize: 20
turretTurnSpeed: 4


maxAttackRange: 130
shootDelay: 75

[turret_1]
#
x: 0
y: 0

projectile: 1

turnSpeedAcceleration: 1.0

shoot_sound:tank_firing
shoot_sound_vol:0.3
shoot_flame:small
shoot_light:#FFEECCCC

canShoot: true


recoilOffset: -2


[projectile_1]
directDamage: 25
life: 60
speed: 5

frame: 1

drawSize: 1


[movement]
movementType: LAND
moveSpeed: 1.1
moveAccelerationSpeed: 0.07
moveDecelerationSpeed: 0.17

maxTurnSpeed: 4.1
turnAcceleration: 0.25

moveSlidingMode :false
moveIgnoringBody:false
</pre>
<code>.ini</code>的书写格式十分单调,无论碰到节还是参数,通通只写一个就会换行;结构方面,你可以将"[]"节和它后面跟着的多行参数看成一个功能模块,通常单位不需要某些模块的功能,你可以省略它的节不写,相反,如果你需要用到某个模块,你首先应写出它的节,再列出它的参数名,然后调整参数的值。




















== mod-info.txt文件 ==
== mod-info.txt文件 ==