Приветствую Вас, Рядовой! Регистрация RSS

RA2 Resourse

Четверг, 25 Апреля 24
Главная » Статьи » Мои статьи

Ares Expansion DLL (Нововведения 05 - Супероружие 01)
Супероружие 
В Yuri’s Revenge очень малое удавалось изменить или добавить к существующему супероружию - большая часть связанных с ними вещей была намертво запрограммирована работать только так, как запланировали разработчики. Ares, с другой стороны, добавляет несколько возможностей настраивать существующее супероружие, а также добавляет несколько видов совершенно нового. 

Замечание: Вы не можете изменить значения Type= или Action= супероружия внутри INI файлов карт или игровых режимов (вроде mpfreeforallmd.ini). Для подобного результата добавьте новое супероружие в rulesmd.ini с другим Type= или Action=, а затем замените на него SuperWeapon= у нужных зданий внутри INI файла. 

Анимации здания 
Здания отображают определенные анимации когда связанное супероружие заряжается, почти готово (осталась 1 минута в обычной игре), готово выстрелить и когда оно стреляет. Тем не менее, в Yuri’s Revenge эти анимации работали нормально только у оригинального супероружия. В Ares они будут работать нормально для любого супероружия. 

Общие параметры 
[SuperWeapon]►SW.Range= (дробь, число) 
Большинство супероружия с дистанционным эффектом использует здесь дробь или два числа. Дробь означает радиус вокруг целевой точки, два числа задают прямоугольную область. Например, клеток, SW.Range=4,6 задает прямоугольник в 4 клетки ширины и 6 клеток длины. Этот параметр больше не привязан к ограничению cell spread с максимальным значением 10. 
[SuperWeapon]►SW.CreateRadarEvent= (bool) 
Создает прямоугольник радарного события для каждого игрока вокруг точки применения супероружия. 
[SuperWeapon]►SW.AffectsHouse= (вариант none|owner|allies|team|enemies|all) 
На кого подействует это супероружие. Вы можете сочетать несколько значений через запятую. team означает владельца, allies, all, enemies означает соответственно союзников, всех и врагов. По умолчанию team для силового щита, all для остального. 
[SuperWeapon]►SW.AffectsTarget= (вариант land|water|empty|infantry|units|buildings) 
На какие объекты может подействовать супероружие. Вы можете сочетать несколько значений через запятую. Если вы не укажете land либо water, будут разрешены оба. Если вы не укажете любое из остальных значений, действовать будет на всё. Например, SW.AffectsTarget=land,buildings будет работать против всех зданий, которые не находятся на суше, SW.AffectsTarget=water сработает против любой водной клетки, пустой или занятой. 
[SuperWeapon]►SW.ShowCameo= (boolean) 
Определяет, будет ли супероружие отображено в сайдбаре. Эта настройка игнорируется при SW.AutoFire=no. По умолчанию yes. 
[SuperWeapon]►SW.Deferment= (число фреймов) 
Число фреймов между выстрелом супероружия и его эффектом. Не все виды супероружия поддерживают задержку. 

Hardcoded Values 
Нет большого смысла настраивать значения PreClick, PostClick и PreDependent. Ares блокирует эти значения, и любые их изменения никак не скажутся. Вместо этого появляется SW.PostDependent. 
[SuperWeapon]►SW.PostDependent= (SuperWeapon) 
Супероружие, вызываемое сразу после выстрела этого супероружия. В Red Alert 2 единственным супероружием с этой механикой была хроносфера, вызывающая ChronoWarp. Чтобы различать несколько таких единиц супероружия, вы можете задать отдельному супероружию идентификатор. Например, [ChronoSphereSpecial]►SW.PostDependent=ChronoWarpSpecial переключается на супероружие типа ChronoWarp после выбора первой локации. 

Наведение 
[SuperWeapon]►SW.FireIntoShroud= (boolean) 
Позволено или нет этому супероружию стрелять в неразведанную область карты. По умолчанию yes. 
[SuperWeapon]►SW.AutoFire= (boolean) 
Ставьте yes, если нужно чтобы это супероружие стреляло само даже у игрока-человека. В таком случае для определения лучшей цели будут использованы опции наведения супероружия для ИИ. По умолчанию no. 
[SuperWeapon]►SW.ManualFire= (boolean) 
Определяет, может или нет это супероружие быть запущено игроком-владельцем. Если no, игрок не сможет запустить супероружие. Эта настройка игнорируется при SW.AutoFire=no is set. По умолчанию yes. 
[SuperWeapon]►SW.RequiresTarget= (вариант land|water|empty|infantry|units|buildings) 
В какие объекты будут стрелять этим супероружием. Наведение над разрешенной вещью покажет Cursor, иначе игрок получит NoCursor и не сможет запустить супероружие. Например, SW.AffectsTarget=. 

Замечание: Знайте, что указание здесь и у SW.AffectsTarget= взаимоисключающих вещей не позволит супероружию на что-либо повлиять. 

[SuperWeapon]►SW.RequiresHouse= (вариант none|owner|allies|team|enemies|all) 
В объекты какой стороны супероружием можно стрелять. 
[SuperWeapon]►SW.AITargeting= (вариант SW Targeting Type) 
Выберите одно из значений для определения как ИИ будет использовать это супероружие: 
None: ИИ не будет использовать это оружие и оно не сможет стрелять автоматически. 
LightningStorm: Прицеливается атакующе, но выжидает окончания текущего шторма. 
Nuke: Прицеливается атакующе, или бьет в waypoint триггеров карты. 
PsychicDominator: Прицеливается в наибольшую группу войск врага. 
GeneticMutator: Прицеливается в наибольшую группу пехоты врага (в области 3x3). 
ParaDrop: Прицеливается в наименее защищенную точку карты возле базы врага. 
ForceShield: Прицеливается по позиции, которую вот-вот ударит вражеское супероружие, для её защиты. 
NoTarget: Этому супероружию не нужны координаты для удара. Вы можете использовать это для поражающего всю карту супероружия. 
Offensive: Прицеливается атакующе, без каких-либо предосторожностей как у LightningStorm или Nuke. 
Stealth: Прицеливается только по невидимым юнитам или зданиям. Уважает SW.RequiresTarget и SW.RequiresHouse. 
Base: Прицеливается по центру базы игрока-владельца. 
Self: Прицеливается по зданию, запускающему это супероружие, принадлежащее только игроку-владельцу. 

Замечание: ИИ уважает SW.AITargeting только при нахождении цели, если иначе не указано. Например, это означает невозможность Nuke, прицеливающейся только по союзникам. 

Курсоры 
Ares позволяет задавать настраиваемые курсоры мыши для супероружия при помощи следующих флагов: 
[SuperWeapon]►Cursor.Frame= (число) 
Стартовый фрейм из mouse.sha. По умолчанию курсор атаки (Attack). 
[SuperWeapon]►Cursor.Count= (числов) 
Число фреймов анимированного крусора. 
[SuperWeapon]►Cursor.Interval= (число) 
Как часто анимировать курсор? По умолчанию 5. 
[SuperWeapon]►Cursor.MiniFrame= (число) 
Аналогично Cursor.Frame, но при наведении курсора с супероружием на миникарту. 
[SuperWeapon]►Cursor.MiniCount= (число) 
Как и Cursor.Count, но при наведении курсора с супероружием на миникарту. 
[SuperWeapon]►Cursor.HotSpot= (HotSpot X, HotSpot Y) 
Определяет координаты "острия" курсора, то есть точка, из которой засчитывается клик. HotSpot X должно быть одним из Left, Center или Right. HotSpot Y должен быть одним из Top, Middle или Bottom. Например, Cursor.HotSpot=Left,Top помечает острием верхний левый уголок курсора. По умолчанию Center,Middle.

Все указанные флаги Cursor.* имеют связанный флаг NoCursor.*, обозначающий курсор, отображаемый при невозможности выстрелить супероружием (т.е. силовой щит над голой землей, тогда будет отображен альтернативный курсор). 
Флаги NoCursor.* по умолчанию имеют те же значения, что и у их аналогов Cursor.*. 

Заряжение/разряжение супероружия 
Вместо единых общих настроек Ares позволяет задать ChargeToDrainRatio для каждого супероружия. Все эти настройки применяются лишь к супероружию с UseChargeDrain=yes. 
[SuperWeapon]►SW.ChargeToDrainRatio= (дробь множитель) 
Время заряжения супероружия умножается на это число для определения времени его работы. Не должно быть 0. По умолчанию равно [General]►ChargeToDrainRatio. 
[SuperWeapon]►SW.Unstoppable= (boolean) 
Можно или нет приостановить работу этого супероружия после активации. Если нет, то клики по иконке супероружия игнорируются. По умолчанию no. 

Замечание: UseChargeDrain поддерживается лишь для супероружия Firewall. Использование этой механики с другим супероружием может вести к неожиданным результатам. 

Цена 
Выстрел из супероружия теперь может добавлять или вычитать кредиты из запасов игрока. Если у игрока недостаточно средств, запуск будет отменен и произойдет событие EVA для информирования игрока. Супероружие с требованием денег будет отображить это количество в подсказке над иконкой супероружия. 
[SuperWeapon]►Money.Amount= (число - кредиты) 
Сколько денег будет добавлено к счету игрока при выстреле этим супероружием. Отрицательное значение уменьшает средства. По умолчанию 0. 
[SuperWeapon]►Money.DrainAmount= (число - кредиты) 
Сколько кредитов добавляется к средствам игрока с активным супероружием, использующим UseChargeDrain=yes. Отрицатльное значение уменьшает средства. По умолчанию 0. 
[SuperWeapon]►Money.DrainDelay= (число - фреймы) 
После какого количества фреймов добавляются кредиты, заданные в Money.DrainAmount= при активном супероружии с UseChargeDrain=yes. По умолчанию 0. 

Анимация/Звук 
Значения по умолчанию зависят от Type конкретного супероружия. 
[SuperWeapon]►SW.Animation= (анимация) 
Анимация, проигрываемая в целевой точке супероружия. 
[SuperWeapon]►SW.AnimationHeight= (число) 
Насколько выше целевой точки проигрывается анимация. 
[SuperWeapon]►SW.AnimationVisibility= (вариант none|owner|allies|team|enemies|all) 
Задает видящих эту анимацию. 
[SuperWeapon]►SW.Sound= (звук) 
Звук, проигрываемый в целевой точке супероружия. 
[SuperWeapon]►SW.ActivationSound= (звук) 
Звук, проигрываемый сразу после запуска действующего с задержкой супероружия. 

События EVA 
[SuperWeapon]►EVA.Detected= (событие EVA) 
Событие EVA, вызываемое при размещении здания с супероружием (событие EVA не произойдет для владельца этого здания). 
[SuperWeapon]►EVA.Ready= (событие EVA) 
Событие EVA, вызываемое готовностью супероружия к запуску (событие EVA проиграется лишь для владельца супероружия). 
[SuperWeapon]►EVA.Activated= (событие EVA) 
Событие EVA, вызываемое запуском супероружия. 
[SuperWeapon]►EVA.Impatient= (событие EVA) 
Событие EVA, вызываемое кликом по иконке ещё не готового к запуску супероружия. 
[SuperWeapon]►EVA.InsufficientFunds= (событие EVA) 
Событие EVA, вызываемое невозможностью выстрелить оружие из-за недостатка средств у игрока. По умолчанию EVA_InsufficientFunds. 
Для отключения события EVA используйте значение none. 

Сообщения 
[SuperWeapon]►Message.Detected= (ярлык CSF) 
Сообщение для всех игроков в момент обнаружения супероружия. 
[SuperWeapon]►Message.Ready= (ярлык CSF) 
Сообщение, отображаемое владельцу при готовности супероружия к запуску. 
[SuperWeapon]►Message.Launch= (ярлык CSF) 
Сообщение, отображаемое для каждого игрока в момент запуска супероружия. 
[SuperWeapon]►Message.Activate= (ярлык CSF) 
Сообщение, отображаемое для каждого игрока в момент активации действующего с задержкой супероружия. 
[SuperWeapon]►Message.Abort= (ярлык CSF) 
Сообщение, отображаемое для владельца супероружия если оно не может быть использовано из-за активности другого супероружия (например, нельзя запустить второй шторм во время первого). 
[SuperWeapon]►Message.InsufficientFunds= (ярлык CSF) 
Сообщение, отображаемое для владельца супероружия, если у него недостаточно денег для запуска. 
[SuperWeapon]►Message.FirerColor= (boolean) 
Сообщения отображаются в цветовой схеме игрока-владельца? По умолчанию no. 
[SuperWeapon]►Message.Color= (цветовая схема) 
Если указано, то сообщения всегда отображаются в этой цветовой схеме, а не в цветовой схеме игрока. Игнорируется при Message.FirerColor=yes. 

Тексты иконки 
Эти тексты будут показаны поверх иконки супероружия в сайдбаре, отображая его текущий статус. 
[SuperWeapon]►Text.Hold= (ярлык CSF) 
Надпись, отображаемая если супероружие powered и не может заряжаться из-за обесточенного здания. 
[SuperWeapon]►Text.Ready= (ярлык CSF) 
Надпись, отображаемая если супероружие полностью заряжено и готово к запуску. 
[SuperWeapon]►Text.Charging= (ярлык CSF) 
Надпись, отображаемая если супероружие имеет UseChargeDrain=yes и может быть активировано, но ещё не зарядилось полностью. 
[SuperWeapon]►Text.Active= (ярлык CSF) 
Надпись, отображаемое если супероружие имеет UseChargeDrain=yes и в данный момент активировано, расходуя заряд. 
[SuperWeapon]►Text.Preparing= (ярлык CSF) 
Надпись, отображаемое в случае невозможности отобразить любую из названных выше надписей. То есть, например, заряжающееся супероружие без UseChargeDrain. 

Освещение супероружия 
Три основных супероружия в игре временно меняли освещение. Вы можете менять любое из значений для воссоздания эффекта. Если вы хотите вернуть значения по умолчанию, поставьте -1 для яркости или цветов. 
[SuperWeapon]►Light.Enabled= (boolean) 
Будет или нет использоваться освещение. На данный момент лишь первичное супероружие поддерживает смену освещения. 
[SuperWeapon]►Light.Ambient= (число) 
Яркость окружения. Слишком высокое значение затормозит игру. 
[SuperWeapon]►Light.Red= (число) 
Красный компонент освещения. 
[SuperWeapon]►Light.Green= (число) 
Зеленый компонент освещения. 
[SuperWeapon]►Light.Blue= (число) 
Синий компонент освещения.

Источник: http://redalert3.3nx.ru/viewtopic.php?p=2702
Категория: Мои статьи | Добавил: ATroN (16 Сентября 12) | Автор: Spy
Просмотров: 1198 | Теги: expansion, Ares, dll | Рейтинг: 0.0/0
Всего комментариев: 0
avatar