Как уничтожить импортированный спецэффект через Wait 15.00 seconds?
Чтобы было без багов, а то атакуешь юнита с этой анимацией в последний момент и она у него остаётся
Самое интересное, что через кастом скрипт тоже не получается удалить, потому что файл импортированный «mdx», а не «mdl». Или я просто не так делаю
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
На гуи по нормальному без костылей никак, можно создавать дамми юнита с моделью спецэффекта и назначить ему время жизни, или с кастом скриптом и локалками - как в конфетных войнах, челик, тебе лучше поучится как следует.
1
Тут только критикует вопросы? На пальцах не показывают? Мне как раз через скрипт и надо удалить
32
ProrokWorldEdit, нет тут внятно объясняют, но такие вещи - чувак это уже зашквар, кто реально взялся делать карту - вычитывает это в статьях и стандартных картах вара за час, поэтому никто тебе не сделает карту с готовеньким кодом за тебя, такие простые вещи уж будьте любезны сами сделать, хотябы попробовать, темболее направление вам дали.
1
quq_CCCP, Зашквар вообще то, что ты пишешь, потому что не понимаешь темы вопроса. Удалить не получается даже через кастом скрипт. И вообще, вопросы могут быть любыми, их для этого и задают. А люди вроде тебя вообще не должны отвечать что-либо, потому что сами не знают и пытаются выглядить умными
5 пунктов и 1 час тишины от makkad: 2.2 Провокация других пользователей на нарушение правил.
32
ProrokWorldEdit, значит чето нетак делаешь, собственно тут весь код - создать в начале триггера локальную переменную типа effect, после записи в неё спецэффекта, идет вейт (TriggerSleepAction), ну а после удаление спецэффекта и обнуление переменной, код конечно костыльный но в гуи особо больше и никак не разойдешся.
Обычно подобное делается на jass с помощью таймеров и хештаблиц, есть конечно вариант еще записывать эффекты в массив и таймером смотреть сколько прошло времени с момента создания и удалять, но это достаточно громоздко ради 1 эффекта + если не требуется высокая точность по времени.
В любом случае что ты пытаешся сделать, блейдмаил из доты?
32
quq_CCCP, Зашквар вообще то, что ты пишешь, потому что не понимаешь темы вопроса. Удалить не получается даже через кастом скрипт. И вообще, вопросы могут быть любыми, их для этого и задают. А люди вроде тебя вообще не должны отвечать что-либо, потому что сами не знают и пытаются выглядить умными
Обиду выключи, сути вопроса наверное ты сам не понимаешь, решение скинули, причем примитив - насчет любых вопросов, с темой ошибся, это не стол заказов и не обучающие статьи, свои попытки нужно в студию + решение ты увидел.
Ну и насчет не работает - руки поправь, посмотри еще раз, чето не то делаешь, у меня всё прекрасно работает.

ProrokWorldEdit, блейд маил если чо в доте сделан вот так вот:
function K0O takes nothing returns boolean
    local trigger t = GetTriggeringTrigger( )
    local integer S5I = GetHandleId( t )
    if GetTriggerEventId( ) != EVENT_UNIT_DAMAGED then
        call DestroyEffect( ( LoadEffectHandle( LY, ( S5I ), ( 32 ) ) ) )
        call FlushChildHashtable( LY, ( S5I ) )
        call S0I( t )
    else
        if RSI( GetEventDamage( ) )and IsUnitAlly( GetEventDamageSource( ), GetOwningPlayer( GetTriggerUnit( ) ) ) == false and IsUnitType( GetEventDamageSource( ), UNIT_TYPE_STRUCTURE ) == false and NW0 == false then
            if GetUnitAbilityLevel( GetEventDamageSource( ), 1093678162 ) == 0 then
                call DisableTrigger( t )
                set NW0 = true
                call P6I( GetTriggerUnit( ), GetEventDamageSource( ), 3, GetEventDamage( ) )
                set NW0 = false
                call EnableTrigger( t )
            endif
        endif
    endif
    set t = null
    return false
endfunction

function KIO takes nothing returns nothing
    local trigger t = CreateTrigger( )
    local integer S5I = GetHandleId( t )
    local unit P7I = GetTriggerUnit( )
    call TriggerRegisterUnitEvent( t, P7I, EVENT_UNIT_DAMAGED )
    call TriggerRegisterTimerEvent( t, 4.5, false )
    call TriggerAddCondition( t, Condition( function K0O ) )
    call SaveEffectHandle( LY, ( S5I ), ( 32 ), ( AddSpecialEffectTarget( "Abilities\\Spells\\Orc\\SpikeBarrier\\SpikeBarrier.mdl", P7I, "chest" ) ) )
    set t = null
    set P7I = null
endfunction

function K1O takes nothing returns nothing
    if GetSpellAbilityId( ) == 1093743959 then
        call KIO( )
    endif
endfunction
Загруженные файлы
1
quq_CCCP, аахахах, работает у него. Ты тестил? Или тупо пишешь на вопросы на скорую руку? У тебя анимация не импортированная и я сейчас протетсил, ничего у тебя не работает, умник нашёлся. Привык всё из кэнди ворс брать, гений нашёлся
32
ProrokWorldEdit, тестил, работает. Умник я смотрю сам ничего не тестил, насчет кастом модели - твои проблемы, чето не вижу модели эффекта в студии?
Все прекрасно работает, к слову челик агр выключи, твой уровень ниже некуда, то ты ничего никогда сам не сделаешь.

ProrokWorldEdit, кстати как это нету шипов как в доте, в доте шипы - дефолтный спецэффект от зданий орков, кусок кода из доты как бы намекает.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.