6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

Extremator, кстати, неплохо. Я как-то раньше пытался сделать как вы, на один общий триггер вешать все атакующие пассивки и проверять каждую по отдельности, но моя старая машинка 2010 года начало фпс падать и зависать. Возможно где-то что то я неправильно сделал.
Надо как то еще раз попробовать сделать по этим способам
6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

Borodach, попытался сделать примерно как тут: xgm.guru/p/wc3/114895
но при входе новых юнитов на карту события триггера растет и растет.
В общем не получилось пока что так сделать)
6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

память будет засираться, но на столько мало, что в карте вроде доты этого никто и не заметит
Отлично. Вот это хотел услышать
если конечно не произойдёт какой-то лютый буст этого спавна ивентов.
да, если все 10 игроков возьмут по героям с триггерными пассивками (вампирик найкса, 3-й урсы и т.д.) и играть 2-3 часа и безостановочно фармить. XD
Значит и тут ничего страшного не должно быть
6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

интересно, если плодить много триггеров на "юнит получает урон", сильно ли забьеться память? Где то говорилось что хоть и уничтожить триггер, все равно оно остается висеть где-то
6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

Extremator, так вот оно в чем дело. Всегда удивлялся Морте которая кидает кинжал а там крита срабатывает, думал как?
6

» WarCraft 3 / Как отследить урон от руки/заклинаний? Какую систему…

Extremator, кидать молот бурь, а он еще и выжигает ману (срабатывает пассивка). Так и задумывалось? Мне кажется это немного странно
6

» WarCraft 3 / Юнит входит в регион

Массив RCT[...] не был заполнен до вызова InitTrig_EnterUnit. Как уже сообщал PT153.
Кстати, массив ректов был заполнен вобщем-то, но в другом триггере:
На счет второй карты, да я тоже так подумал что сначало он перемещается по X, а затем по Y. Но юнит не касается зоны-2 если стоит например вот тут:
Тоже странно.
Ну да ладно, эт я так просто)

А все понял) Нужно ректы заполнять в этом же триггере. Все проверил, все работает:
globals
    rect array RCT
    region array REGION
endglobals

function EnterUnit_Actions takes nothing returns nothing
    call BJDebugMsg("Welcome!")
endfunction

function InitTrig_EnterUnit takes nothing returns nothing
    local integer i = 0
    
    set RCT[1] = gg_rct_Zona1
    set RCT[2] = gg_rct_Zona2
    set RCT[3] = gg_rct_Zona3
    
    set gg_trg_EnterUnit = CreateTrigger()
    
    loop
        set i = i + 1
        exitwhen i > 3
        set REGION[i] = CreateRegion()
        call RegionAddRect(REGION[i], RCT[i])
        call TriggerRegisterEnterRegion(gg_trg_EnterUnit, REGION[i], null)
    endloop
    
    
    call TriggerAddAction(gg_trg_EnterUnit, function EnterUnit_Actions)
endfunction
Я то думал можно инициализировать ректы где угодно)
Загруженные файлы
6

» WarCraft 3 / Юнит входит в регион

PT153, ах да, на первом примере не весь код. Там есть еще один триггер где массив ректов заполнен в общем то
6

» WarCraft 3 / Юнит входит в регион

Вот еще интересное наблюдение, но оно скорее не будет относиться к этому вопросу
Загруженные файлы
6

» WarCraft 3 / Юнит входит в регион

В общем странно. Если событие "юнит входит в регион", а этот регион сохранен в массиве - то такое событие придется инициализировать не при инициализации карты, а в другом месте. Например в действиях триггера или же через 0 секунд например.
Вот пример:
globals
    rect array RCT
    region array REGION
    trigger TRG = null
endglobals

function ZeroSec_Actions2 takes nothing returns nothing
    call BJDebugMsg("Welcome!")
endfunction

function ZeroSec_Actions takes nothing returns nothing
    local integer i = 0

    loop
        set i = i + 1
        exitwhen i > 3
        set REGION[i] = CreateRegion()
        call RegionAddRect(REGION[i], RCT[i])
    endloop

    set TRG = CreateTrigger()
    
    call TriggerRegisterEnterRegion(TRG, REGION[1], null)
    call TriggerRegisterEnterRegion(TRG, REGION[2], null)
    call TriggerRegisterEnterRegion(TRG, REGION[3], null)
    
    call TriggerAddAction(TRG, function ZeroSec_Actions2)
endfunction

function InitTrig_ZeroSec takes nothing returns nothing
    set RCT[1] = gg_rct_Zona1
    set RCT[2] = gg_rct_Zona2
    set RCT[3] = gg_rct_Zona3
    
    set gg_trg_ZeroSec = CreateTrigger()
    call TriggerRegisterTimerEventSingle(gg_trg_ZeroSec, 0.00)
    call TriggerAddAction(gg_trg_ZeroSec, function ZeroSec_Actions)
endfunction
Загруженные файлы
6

» WarCraft 3 / Может ли быть краш из за текста?

Принятый ответ
Все, нашел косяк. Тут в одном из описании предметов были символы "<><><><><><><><><><>".
|c66ffcc00Gives:|r
    30 damage
    100% mana regen
    12 intelligence
    12% MS
    <><><><><><><><><><>

|c66ffcc00Requires: |r
    Tanto
    Shogi game
    Anbu mask
    Recipe

|c66808080Total cost: |r
Убрал эти символы и все работает.
6

» WarCraft 3 / При удалении способности из РО, выходит ошибка

LastUchiha, Да, мусорить, как писала Extremator, можно в кавычках написать "(архив)". Потом в дальнейшем если пригодится, использовать.
Или воспользоватся прогой w3x2lni и удалить.
Я сам лично "мусорю" пока что. Но иногда я удаляю и варик не вылетает)
6

» WarCraft 3 / MDLVIS1.40Fixed

Использую 1.39 версию, так как с помощью 1.40 версии не удается скопировать анимацию.