28

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

код
globals
    constant hashtable H = InitHashtable( )
endglobals

function Trig_Melee_Initialization_Actions takes nothing returns nothing
    local rect r = LoadRectHandle( H, GetHandleId( GetTriggeringRegion( ) ), 0 )
    
    if r != null then
        call DestroyEffect( AddSpecialEffect( "Abilities\\Spells\\Other\\HowlOfTerror\\HowlCaster.mdl", GetRectCenterX( r ), GetRectCenterY( r ) ) )
        
        set r = null
    endif
endfunction

//===========================================================================
function InitTrig_Melee_Initialization takes nothing returns nothing
    local region rectRegion
    
    set gg_trg_Melee_Initialization = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Melee_Initialization, function Trig_Melee_Initialization_Actions )

    set rectRegion = CreateRegion( )
    call RegionAddRect( rectRegion, gg_rct_Rect_000 )
    call SaveRectHandle( H, GetHandleId( rectRegion ), 0, gg_rct_Rect_000 )
    call TriggerRegisterEnterRegion( gg_trg_Melee_Initialization, rectRegion, null )
    
    set rectRegion = CreateRegion( )
    call RegionAddRect( rectRegion, gg_rct_Rect_001 )
    call SaveRectHandle( H, GetHandleId( rectRegion ), 0, gg_rct_Rect_001 )
    call TriggerRegisterEnterRegion( gg_trg_Melee_Initialization, rectRegion, null )
    
    set rectRegion = CreateRegion( )
    call RegionAddRect( rectRegion, gg_rct_Rect_002 )
    call SaveRectHandle( H, GetHandleId( rectRegion ), 0, gg_rct_Rect_002 )
    call TriggerRegisterEnterRegion( gg_trg_Melee_Initialization, rectRegion, null )
    
    set rectRegion = null
endfunction

Загруженные файлы
28

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

LastUchiha, выгрузи рект и сравнивай с существующими ректами. И вообще ты можешь нужные тебе действия выполнять без сравнения, сохранив другие необходимые данные в регион триггера, например строку на вызов функции
28

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

LastUchiha, потому что твоя приблуда будет расти с каждой областью вместо того, чтобы выгрузить её из хэндлида региона триггера
28

» WarCraft 3 / Триггерное нанесение урона от способности

На ванилке нельзя получить значение атаки какое-либо, необходимо иметь базу данных
28

» WarCraft 3 / Anime effects pack

Nebula, импортируй весь архив через прогу для импорта в карту и смотри что тебе нужно, потом через ctrl+f ищи название модели в архиве, надеюсь всё понятно?
28

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

LastUchiha, в один триггер можно кучу событий входа в регион пихнуть, к в каждый регион по ректу, рект сохранить в ключ региона, ты сможешь потом доставать из GetTriggeringRegion, я так делал чтобы юнитов по точкам водить
28

» WarCraft 3 / Возможно ли получить область триггера? - [Jass]

В регион можешь записать рект через хэштаблицу, если на каждый регион по одному ректу
28

» WarCraft 3 / Хэш-таблица и добавление юнита

Юзай стек на массивах, будет легче хэштаблицы, тем более, что для работы с ней не хватает функционала на гуи
28

» WarCraft 3 / Система смены скинов

Если костылями, то вешать спецэффекты на юнита либо вырвать дерево и текстуру материалов
28

» WarCraft 3 / Способности и алгоритмы на заказ

Panda_95,
angle = unit facing * bj_DEGTORAD
x = x + distance * Cos( angle + 45.00 * bj_DEGTORAD )
y = y + distance * Sin( angle + 45.00 * bj_DEGTORAD )

x = x + distance * 2.00 * Cos( angle - 45.00 * bj_DEGTORAD )
y = y + distance * 2.00 * Sin( angle - 45.00 * bj_DEGTORAD )

x = x + distance * 3.00 * Cos( angle )
y = y + distance * 3.00 * Sin( angle )