Это все для модинга игр Red Alert 2 и Tiberian Sun
Итак, я опишу самый простой способ создания самого простого юнита. Точнее, мы разберем по запчастям танк Апокалипсис.
Каждый юнит имеет минимум ДВЕ составляющие – анимацию или трехмерную модель самого юнита (она может быть шейповой (SHP, но это встречается довольно редко) и воксельная (VXL, такие юниты (танки) более распространены) и внутренний код, который располагается в ART(MD).INI и RULES(MD).INI Так вот, кроме всего прочего, пехота бывает ТОЛЬКО шейповая (кто найдет воксельную, пишите – это будет сенсация), а танки зачастую воксельные. С ними проще, поэтому будем разбираться для начала именно с вокселными юнитами.
Сначала юнита прописывают в Vehicle Type List, под порядковым номером (к примеру, у данного танка он равен 3 (3=APOC))
Вот код Апокалипсиса:
; Mammoth tank
[APOC] ; это внутреннее имя юнита. Такое же название имеет и воксельная модель, и прописывается он везде также.
UIName=Name:APOC ;это высвечивается при отсутствии описания в CSF-файле (он содержит все, так сказать, «внешние» тексты).
Name=Apocalypse ;это в общем не такая и важнаю строчка, но лучше ее прописывать
Image=MTNK ;а это уже интересная строчка. Она означает, что в ART(MD).INI юнит в коде будет не [APOC], а [MTNK]
Category=AFV ;категория данного юнита. Скажем так: это просто боевая техника.
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 ;сколько вражеский юнит получает очков за уничтожение этого юнита. Даже тут, оказывается, прокачка есть. Даже экспу нашли!
ROT=5 ;не знаю
Crusher=yes ;не знаю
SelfHealing=yes ;восстанавливает ли юнит жизни до зеленой полоски.
Crewed=no ;не знаю. Наверно, что-то связанное с работой в команде.
IsSelectableCombatant=yes;не знаю
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60 ;анимация взрывов юнита (при уничтожении)
VoiceSelect=ApocalypseSelect }
VoiceMove=ApocalypseMove }
VoiceAttack=ApocalypseAttackCommand }
VoiceFeedback= } это все различные звуки, которые издает юнит.
DieSound=GenVehicleDie }
MoveSound=ApocalypseMoveStart }
CrushSound=TankCrush }
Maxdebris=3 ;не знаю
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1};код, по которому АИ распознает тип движения юнита: телепортация, или, к примеру, наземный воксельный юнит
Weight=3.5 ;не знаю
MovementZone=Destroyer ;место передвижения юнита
ThreatPosed=40 ; Эта величина ДОЛЖНА быть 0 для все, строющий addons ;это не я сказал, а разработчики.
DamageParticleSystems=SparkSys,SmallGreySSys ;не знаю
AllowedToStartInMultiplayer=no ;может ли этот юнит присутствовать среди стартовых юнитов в скримише.
ZFudgeColumn=9 ;не знаю
ZFudgeTunnel=15;не знаю
Size=6 ;кол-во занимаемых клеток в транспортном средстве (размер)
VeteranAbilities=STRONGER,FIREPOWER,ROF,SIGHT,FASTER ;бонусы, получаемые при достижении первого звания
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER,ROF ;бонусы, получаемые при достижении второго звания
ElitePrimary=120mmxE ;оружие, которое юнит получает при возведение во второе звание.
Так, это сам танк. Без оружия. Давайте теперь разберем его.
Это само оружие
[120mmx] ;название
Damage=100 ;ущерб
ROF=80 ;скорострельность. Значение 15=1 с. 30=2 секундам и т.д.
Range=5.75 ;дальнобойность
Projectile=Cannon ;скажем так: внешний вид «пули»
Speed=40 ;скорость снаряда. 100 – мгновенное попаданиею
Warhead=ApocAP ;боеголовка.
Report=ApocalypseAttackGround ;это звук при выстреле.
Anim=APMUZZLE ;это анимация «пули»
Burst=2 ;кол-во снарядов, вылетающих при одном выстреле.
Bright=yes ;не знаю
Это боеголовка. Она отвечает практически за все.
[ApocAP]
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)
[120mmxE]
Damage=100
ROF=80
Range=5.75
Projectile=Cannon
Speed=40
Warhead=ApocAPE
Report=ApocalypseAttackGround
Anim=VTMUZZLE
Burst=4
Bright=yes
Улучшенная боеголовка. Тоже все по-старинке
[ApocAPE]
CellSpread=.3
PercentAtMax=.5
Wall=yes
Wood=yes
Verses=100%,100%,100%,75%,100%,100%,100%,100%,70%,60%,100%
Conventional=yes
InfDeath=3
AnimList=VTEXPLOD
ProneDamage=50%
Это уже описание «пули»
; straight high-speed ballistic shot
[Cannon]
Image=120MM ;внешний вид «пули»
Arcing=true
SubjectToCliffs=yes }
SubjectToElevation=yes } не знаю. Без этих скриптов жить можно.
SubjectToWalls=yes }
Все вышеописанное необходимо для работы. Помещается в RULES(MD).INI и все. Далее – для ART(MD).INI
[MTNK] ; Apocalypse tank
Voxel=yes ;обозначает, воксельная ли это модель (юнит)
Remapable=yes ;имеет ли юнит в раскраске зоны, которые меняют цвет в зависимости от цвета стороны
Cameo=MTNKICON ;иконка
AltCameo=MTNKUICO ;элитная иконка
PrimaryFireFLH=190,25,120 ;как я понял – расположение, откуда стреляет юнит (типа где у него дуло). Как высчитывать не знаю. На глазок.
|