Отже, я опишу найпростіший спосіб створення найпростішого юніта. Точніше, ми розберемо по запчастинах танк Апокаліпсис.
Кожен юніт має мінімум ДВІ складові - анімацію або тривимірну модель самого юніта (вона може бути шейповой (SHP, але це зустрічається досить рідко) і воксельного (VXL, такі юніти (танки) більш поширені) і внутрішній код, який розташовується в ART (MD ) .INI і RULES (MD) .INI Так ось, крім усього іншого, піхота буває ТІЛЬКИ шейповая (хто знайде воксельного, пишіть - це буде сенсація), а танки часто воксельні. з ними простіше, тому будемо розбиратися для початку саме з вокселнимі юнитами.
Спочатку юніта прописують в Vehicle Type List, під порядковим номером (наприклад, у даного танка він дорівнює 3 (3 = APOC))
Ось код Апокаліпсису:
[APOC]; це внутрішнє ім'я юніта. Таку ж назву має і воксельного модель, і прописується він всюди також.
UIName = Name: APOC; це висвічується при відсутності опису в CSF-файлі (він містить всі, так би мовити, «зовнішні» тексти).
Name = Apocalypse; це, загалом, не така і важнаю рядок, але краще її прописувати
Image = MTNK; а це вже цікава рядок. Вона означає, що в ART (MD) .INI юніт в коді буде не [APOC], а [MTNK]
TargetLaser = yes; лазерний приціл - включений
Primary = 120mmx; перша зброя. Його опис буде нижче.
Secondary = MammothTusk, друге зброю
Strength = 800; «Товщина шкури». Чим більше тим краще. Від 1 до 1000.
Explodes = yes; не знаю
Prerequisite = NAWEAP, NATECH; будівлі, які повинні бути побудовані для можливості побудови даного юніта
CrateGoodie = yes; не пам'ятаю
Armor = heavy; тип броні - важкий. З однаковим Strength такий юніт по ідеї буде отримувати менше пошкоджень. Втім, це залежить від зброї.
Turret = yes; турель (вежа) є
TechLevel = 7; як мені пояснили, це параметр за великим рахунком впливає тільки в скріміше.
Sight = 6; радіус огляду
Speed = 4; швидкість. Сильно не перестарайтеся, гра від великих виразів може вилітати.
Owner = Russians, Confederation, Africans, Arabs; за кого інраем. В даному випадку за Росію, Ірак, Кубу і Лівію
Cost = 1750; вартість юніта
Soylent = 1750; не знаю
Points = 60; скільки ворожий юніт отримує очок за знищення цього юніта. Навіть тут, виявляється, прокачування є. Навіть експу знайшли!
Crusher = yes; не знаю
SelfHealing = yes; відновлює чи юніт життя до зеленої смужки.
Crewed = no, не знаю. Напевно, щось пов'язане з роботою в команді.
Explosion = TWLT070, S_BANG48, S_BRNL58, S_CLSN58, S_TUMU60; анімація вибухів юніта (при знищенні)
VoiceFeedback => це все різні звуки, які видає юніт.
Maxdebris = 3; не знаю
Locomotor =; код, за яким АІ розпізнає тип руху юніта: телепортація, або, наприклад, наземний воксельного юніт
Weight = 3.5; не знаю
MovementZone = Destroyer; місце пересування юніта
ThreatPosed = 40; Ця величина ПОВИННА бути 0 для все, строющій addons; це не я сказав, а розробники.
DamageParticleSystems = SparkSys, SmallGreySSys, не знаю
AllowedToStartInMultiplayer = no; чи може цей юніт присутнім серед стартових юнітів в скріміше.
ZFudgeColumn = 9; не знаю
Size = 6; кількість займаних клітин в транспортному засобі (розмір)
VeteranAbilities = STRONGER, FIREPOWER, ROF, SIGHT, FASTER; бонуси, одержувані при досягненні першого звання
EliteAbilities = SELF_HEAL, STRONGER, FIREPOWER, ROF; бонуси, одержувані при досягненні другого звання
ElitePrimary = 120mmxE; зброя, яке юніт отримує при зведення в другу звання.
Так, це сам танк. Без зброї. Давайте тепер розберемо його.
Це сама зброя
ROF = 80; скорострільність. Значення 15 = 1 с. 30 = 2 секундам і т.д.
Projectile = Cannon; скажімо так: зовнішній вигляд «кулі»
Speed = 40; швидкість снаряда. 100 - миттєве попадання
Report = ApocalypseAttackGround; це звук при пострілі.
Anim = APMUZZLE; це анімація «кулі»
Burst = 2; кількість снарядів, що вилітають при одному пострілі.
Bright = yes; не знаю
Це боєголовка. Вона відповідає практично за все.
CellSpread = .3; щось на зразок радіусу ураження
PercentAtMax = .5; не знаю
Wall = yes; вражає чи стіни
Wood = yes; вражає чи дерев'яні споруди (або ліс?)
Verses = 25%, 25%, 25%, 75%, 100%, 100%, 100%, 100%, 70%, 60%, 100%; у відсотках - щось типу проникаючої здатності для кожного типу броні
Conventional = yes; не знаю
InfDeath = 3; яка анімація смерті юніта
AnimList = APOCEXP; теж якась анімація
ProneDamage = 50%; напевно, щось на зразок розкиду потужності поразки
Елітне зброю. Нічого нового не з'явилося (в сенсі скриптів)
; large anti-armor cannon (two shooter)