function Trig_Destroy_Trees_Infernal_Copy_Actions takes nothing returns nothing local location point = GetSpellTargetLoc() //call TriggerSleepAction( 0.25 ) call AddSpecialEffectLocBJ( point, "Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl" ) call EnumDestructablesInCircleBJ( 300.00, point, function Trig_Destroy_Trees_Infernal_Copy_Func003003 ) call RemoveLocation(point) endfunction
//=========================================================================== function InitTrig_Destroy_Trees_Infernal takes nothing returns nothing set gg_trg_Destroy_Trees_Infernal = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Destroy_Trees_Infernal, EVENT_PLAYER_UNIT_SPELL_CAST ) call TriggerAddCondition( gg_trg_Destroy_Trees_Infernal, Condition( function Trig_Destroy_Trees_Infernal_Copy_Conditions ) ) call TriggerAddAction( gg_trg_Destroy_Trees_Infernal, function Trig_Destroy_Trees_Infernal_Copy_Actions ) endfunction
Когда-то делал 10001 версию пряток, вот исходник остался . Правда в отличие от всех остальных пряток, разработка длилась не 1 день P.S. Оптимизацией в моей версии и не пахло, т.к. это первый мой прорыв P.S.S. Оптимизированная(улучшенная)
Оптимизированная версия, на пару секунд появится эффект и юнит в центре карты
Code
function Destroy_Trees_Conditions takes nothing returns boolean return GetSpellAbilityId() == 'A00H' // Равкод абилки на сжигание деревьев endfunction
function Destroy_Trees takes nothing returns nothing call KillDestructable(GetEnumDestructable()) endfunction
function Destroy_Trees_Actions takes nothing returns nothing local real x = GetLocationX(GetSpellTargetLoc()) local real y = GetLocationY(GetSpellTargetLoc()) local rect r = Rect(x - 300., y - 300., x + 300., y + 300.) // Сжигать всё в радиусе 300 call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", x, y)) call EnumDestructablesInRect(r, null, function Destroy_Trees) call RemoveRect(r) endfunction
//=========================================================================== function InitTrig_Destroy_Trees_Infernal takes nothing returns nothing local unit u = CreateUnit(Player(0), 'ewsp', 0., 0., 0.) call UnitAddAbility(u, 'A00H') // Равкод абилки на сжигание деревьев call RemoveUnit(u) set gg_trg_Destroy_Trees_Infernal = CreateTrigger() call TriggerRegisterAnyUnitEventBJ( gg_trg_Destroy_Trees_Infernal, EVENT_PLAYER_UNIT_SPELL_CAST ) call TriggerAddCondition( gg_trg_Destroy_Trees_Infernal, Condition( function Destroy_Trees_Conditions ) ) call TriggerAddAction( gg_trg_Destroy_Trees_Infernal, function Destroy_Trees_Actions ) call Preload("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl") call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", 0., 0.)) set u = null endfunction
function Destroy_Trees_Conditions takes nothing returns boolean return GetSpellAbilityId() == 'A00H' // Равкод абилки на сжигание деревьев endfunction
function Destroy_Trees takes nothing returns nothing call KillDestructable(GetEnumDestructable()) endfunction
function Destroy_Trees_Actions takes nothing returns nothing local location loc = GetSpellTargetLoc() local real x = GetLocationX(loc) local real y = GetLocationY(loc) local rect r = Rect(x - 300., y - 300., x + 300., y + 300.) // Сжигать всё в радиусе 300 call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", x, y)) call EnumDestructablesInRect(r, null, function Destroy_Trees) call RemoveRect(r) call RemoveLocation(loc) endfunction
//=========================================================================== function InitTrig_Destroy_Trees_Infernal takes nothing returns nothing local unit u = CreateUnit(Player(0), 'ewsp', 0., 0., 0.) call UnitAddAbility(u, 'A00H') // Равкод абилки на сжигание деревьев call RemoveUnit(u) set gg_trg_Destroy_Trees_Infernal = CreateTrigger() call TriggerRegisterAnyUnitEventBJ( gg_trg_Destroy_Trees_Infernal, EVENT_PLAYER_UNIT_SPELL_CAST ) call TriggerAddCondition( gg_trg_Destroy_Trees_Infernal, Condition( function Destroy_Trees_Conditions ) ) call TriggerAddAction( gg_trg_Destroy_Trees_Infernal, function Destroy_Trees_Actions ) call Preload("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl") call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\FlameStrike\\FlameStrike1.mdl", 0., 0.)) set u = null endfunction
Я работал над картой несколько лет и сейчас возникли проблемы которые не могу решить.
1- есть тигер который делает ливеров для союзником общими войсками, но после этого вылазиет таблица ресурсы клана, которая здорово мешает а главное после нее пропадает мульти брот. 2- НЕ давно вылез баг: в одном месте на карте постояно бъет урон, всем кто в водет туда, без причины тигеров не каких для этого нет даже облатей нет некакихв этом месте боевые единицы тоже не должны. 3- почму тигерная способность когда срабатывает тратится мана но не идет охлаждение и как это исправить.
Подскажите еще как сделать чтоб при сборке вещей была вспишка у героя, я слышал като через спец эфект молнии, но точно не помню.
ам стоит перезарядка но сома способность не срабатывает
Quote (1991adidass)
срабатывает тигерно
Ты меня пугаешь, или я не догоняю
Добавлено (15 Августа 2012, 22:58:55) --------------------------------------------- 1991adidass, ТОгда попробуй, УВЕЛИЧИТЬ ПЕРЕЗАРЯДКУ (если не поможет меняй как было), и
ТРИГГЕР В СТУДИЮ!
И вообще, ты задаешь свои вопросы, в чужой теме.........
Делай отлов на использование способности через Unit - Generic Unit Event(и там выбирай A unit Приводит способность в действие) и тогда будет у способности кд(перезарядка)