ФЭНДОМ


Содержимое файла Править

Здесь будет рассмотрено содержимое файлов *.wepn.

Типы данных Править

В дальнейших описаниях вместо конкретных данных будут встречаться записи вроде bFlag, что является "кодовым" обозначением переменной, состоящей из буквы для типа переменных и слова для названия.

  • b, boolean - может принимать значения "true/да"(1) или "false/нет"(0);
  • i, integer - только целые положительные числа;
  • f, float - можно вписывать дроби;
  • s, string - текстовые данные, писать в "кавычках";

Функция StartWeaponConfig() Править

StartWeaponConfig(
  <sWeaponName>, -- ссылается на оружие; обычно это NewWeaponType(новый тип оружия);
  <sWeaponType>, -- как пушка отслеживает цели;

Возможны значения:

  • "Gimble" - указывает на то, что это не оружейная башня, но может нацеливаться на цели в пределах определённого конуса;
  • "AnimatedTurret" - указывает, что оружие установлено как видимая, вращающаяся оружейная башня;
  • "Fixed" - указывает что пушка может стрелять только в зафиксированном(не меняющемся) направлении, как ионная пушка на ионном фрегате;
  <sWeaponFireType>, -- тип снаряда;

Возможны значения:

  • "InstantHit" - обычно используется лучевым оружием. Ущерб(чужому кораблю) и прочие эффекты(?) появляются сразу, как только эта пушка начинает стрелять;
  • "Bullet" - указывает на неуправляемый снаряд;
  • "Mine" - указывает на снаряд, который размещается там же, где находится корабль, и взорвется, если вражеские корабли подлетят к нему слишком близко;
  • "Missile" - указывает на управляемый снаряд;
  • "SphereBurst" - указывает на область действия оружия; "SphereBurst" определяет результат промаха или попадания по цели. Смотри для примера hgn_smallemp.wepn и hgn_smallempburst.wepn;
  <sWeaponFireName>, -- название/вид сценария огня (*.wf - Data\Scripts\weaponfire), который определяет эффекты;
  <sActivation>, -- указывает на ситуацию, в которой оружие будет использовано;

Возможны значения:

  • "Normal" - указывает, что орудие постоянно используется в течении атаки;
  • "Special Attack" - указывает, что орудие может быть использовано только после исследования, как обычная или спец-атака;
  • "Normal Only" - указывает, что орудие используется только тогда, когда специальная атака не исследована;
  • "Dropped" - указывает на то, что орудия стреляют только тогда, когда используется кнопка «Поставить мины»;
  <fWeaponFireSpeed>, -- указывает на скорость снаряда;

Для "Missile" - это начальная скорость. Для "InstantHit" and "SphereBurst" это значение начинается с 0.

  <fWeaponFireRange>, -- максимальная дистанция до цели, при которой орудие может стрелять (но не максимум полёта снаряда);
  <fWeaponFireRadius>, -- только для "SphereBurst": определяет радиус сферы поражения;
  <fWeaponFireLifetime>, -- только для лучевого оружия: время жизни луча в секундах;
  <fWeaponFireMisc1>, -- только для лучевого оружия: задержка перед появлением луча;

То есть, после наведения на цель, лучевое оружие сначала заряжается и только потом стреляет (кстати, если цель умрет во время зарядки оружия, то это приведет к срыву залпа и потере огневой мощи).

  <iWeaponFireAxis>, -- только для "Missile": направление выбрасывания ракет;

Возможны значения:

  • 0 - перед собой;
  • 1 - влево;
  • 2 - вверх;
  <iMaxEffectsSpawned>, -- максимальное количество эффектов повреждения, которые порождаются во время стрельбы оружия: если fWeaponFireLifetime = 0, то 1 эффект будет порожден.;
  <iUseVelocityPred>, -- орудие будет вести/следить за целью, если это возможно; иначе цель будет атакована;
  <iCheckLineOfFire>, -- если это возможно, орудие будет проверять перед стрельбой наличие союзников на линии огня;
  <fFireTime>, -- задержка между выстрелами в секундах;
  <fBurstFireTime>, -- длительность залпа в секундах: поделив это значение на iFireTime, получим кол-во выстрелов за один залп;
  <fBurstWaitTime>, -- задержка между залпами в секунду;
  <iShootAtSecondaries>, -- если орудие не сможет атаковать главную цель, то оно будет атаковать близлежащие цели;
  <iShootAtSurroundings>, -- если орудие не может стрелять по данным целям, то оно будет искать противников, которые находятся рядом.(МЕДЛЕННО!);
  <fMaxAzimuthSpeed>, -- скорость вращения башни орудия, градусов в секунду;
  <fMaxDeclinationSpeed>, -- скорость подъема/опускания ствола, градусов в секунду;
  <fSpeedMultiplierWhenPointingAtTarget>, -- коэффициент скорости при наведении на цель; используйте значения меньше 1, чтобы сделать лучи медленнее цели;
  <sWeaponShieldPenetration>, -- эта функция не содержит очевидного эффекта в использовании; случайность прохождения снаряда через силовой щит, поставленный setPenetration функцией;

Возможные значения:

  • "Normal"
  • "Enhanced"
  • "Bypass"
  <iTrackTargetsOutsideRange>, -- если это возможно, орудие следит за целью, даже если она не находится в зоне стрельбы;
  <fWaitUntillCodeRedState>, -- оружие не сможет стрелять, пока анимация не завершится (к примеру, открытие ракетных люков);
  <iInstantHitThreshold>, -- если цель имеет меньше здоровья, чем снимает одним выстрелом, луч пройдёт через цель;
)

Функция AddWeaponResult() Править

AddWeaponResult(NewWeaponType,
  "Hit", -- "Miss";
  "DamageHealth", --"Push", "SpawnWeaponFire", "Disable", "LatchWithTarget";
  "Target", 
  135, --damage
  135, --damage
  "" --"Hgn_BurstCannonBurst", "Hgn_SmallEMPBurst", "Vgr_SmallEMPBurst";
)

Функция setPenetration() Править

setPenetration(NewWeaponType,
  5, 
  1, 
  {ResArmour = 0.2,}, 
  ... --watch in familylist.lua;
  {TurretArmour = 0.45,} 
)

Функция setAccuracy() Править

Описывает точность попадания по цели.

setAccuracy состоит из

(
   <vObjectType>, 
   <bEnable>, 
   {<vFamilyName1> = <fValue1>,},
   {vFamilyName2> = <fValue2>,},
   {<vFamilyNameN> = <fValueN>,}
)

Пример

setAccuracy(
   NewWeaponType,
   1,
   {Fighter = 0.25,},
   {Corvette = 0.4,},
   {munition = 0.2,},
   {Frigate = 0.6, damage = 1,},
   {SmallCapitalShip = 0.6, damage = 1,},
   {BigCapitalShip = 0.6, damage = 1,},
   {ResourceLarge = 0.6, damage = 1,}
)

Описание

  • <vObjectType>: как правило, это NewWeaponType.
  • <bEnable>: включает/отключает способность. 0 означает, что способность будет включена при каких то условиях. 1 означает, что способность включена с самого начала.
  • <vFamilyName1>-<vFamilyNameN>: имя семьи кораблей. Описано в data\scripts\familylist.lua.
  • <fValue1>-<fValueN>: Множитель точности против названной семьи. Может быть между 0 и 1. 0 означает, что оружие не будет попадать по цели никогда. 1 означает, что оружие будет всегда попадать по цели.

Функция setAngles() Править

setAngles(NewWeaponType,
  10, 
  0, 
  0, 
  0, 
  0 
)

Функция setMiscValues() Править

setMiscValues(NewWeaponType,
  0, 
  0 
)

Функция addAnimTurretSound() Править

addAnimTurretSound(NewWeaponType,
  "Data:Sound/SFX/ETG/SPECIAL/SPECIAL_ABILITIES_TURRET_ON"
)

Ссылки Править


Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики