小
这块内容被我写乱了,谁有好的叙述想法,请把它们全部清空后重写
小 (→节的类型) |
小 (这块内容被我写乱了,谁有好的叙述想法,请把它们全部清空后重写) |
||
| 第1行: | 第1行: | ||
{{欢迎编辑}} | {{欢迎编辑}} | ||
== .ini文件 == | == .ini文件 == | ||
UTF-8纯文本文件。游戏通过读取以<code>.ini</code> | 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文件 == | ||