Как уничтожить импортированный спецэффект через 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, кстати как это нету шипов как в доте, в доте шипы - дефолтный спецэффект от зданий орков, кусок кода из доты как бы намекает.
Загруженные файлы
1
quq_CCCP, чё ты несёшь? Его нет в анимации. Нельзя задать путь его. Нет этого спецэффекта
11
/*Функции для уничтожения эффекта после определённого времени*/
 library DestroyEffectLibrary                                                                           
    function DestroyEffectTimerRealese takes nothing returns nothing
        local timer Timer = GetExpiredTimer()
        local integer id = GetHandleId(Timer)
        local effect DestroyEffectt = LoadEffectHandle(H, id, StringHash("Destroy Effect"))
        
        call DestroyEffect(DestroyEffectt)
        call DestroyTimer(Timer)
        call FlushChildHashtable(H, id)
        
        set Timer = null
        set id = 0
        set DestroyEffectt = null
    endfunction

    function DestroyEffectTimer takes effect e, real t returns nothing
        local timer Timer = CreateTimer()
        local integer id = GetHandleId(Timer)
        
        call TimerStart(Timer, t, false, function DestroyEffectTimerRealese)
        call SaveEffectHandle(H, id, StringHash("Destroy Effect"), e)
        
        set Timer = null
        set id = 0
    endfunction
endlibrary
Я такую штуку себе делал, вроде то что ты хотел. Только поменяй название Хеш Таблицы на свою или сделай, если не использовал.
32
quq_CCCP, чё ты несёшь? Его нет в анимация. Нельзя задать путь его. Нет этого спецэффекта
Rly? Бро а это что такое?

ArhiMEN, сложна, сложна, сложна! Ну тут увы гуи, о жассе речи даже не идет...
Загруженные файлы
1
quq_CCCP, у тебя триггер багованный. Я его кастую несколько раз и он не изчезает

ArhiMEN, я на гуи делаю
11
quq_CCCP, все такими были) ProrokWorldEdit, используешь функцию DestroyEffectTimer.
call DestroyEffectTimer(нужный тебе эффект, нужное тебе время)

ProrokWorldEdit, на гуи не сделаешь нормально, всё сбивается вейтами и тем что только глобальные переменные
21
тупа в голосину уже второй день подряд )
quq_CCCP, "не лезь, она тебя сожрет" :D
32
Теперь багованный? Карту в студию, поглядим чаво ты делаешь. Ну а так к слову на гуи особых чудес не будет, тут все только обходными путями, особенно если собрался доту делать, там 80% кода на jass, как те же шипы неруба и Лиона будешь делать?
32
ProrokWorldEdit, зачем мне то смотреть, или смотри, это же ты не знаешь как это делается. Я на гуи карты не пишу, к слову доты тоже не копирую, я исправлял карту фрога под пару проектов, как видишь справился. Ну а тебе ещё многому предстоит научится, нуи пособий кроме открытых гуи карт - больше то и нет.
1
quq_CCCP, чувак, тебе -то какая разница что я буду делать и что я делаю? Лиона шипы - это вообще стандартный импейл, который кастует даммик, чтобы нельзя было прервать

quq_CCCP, слабо мне вериться, что такой челик как ты - может что-то там исправлять. Ты мне триггер багованный кидаешь
32
ProrokWorldEdit, чел это 20 лет не стандартный спель, со стандартным спеллом тебя ссаными тряпками закидают игроки, потому что он делает неуязвимыми юнитов во время подбрасывания, и в доте не используется, там кодом сделана целая система.
Насчёт что ты собрался делать - это важно ибо многие не понимают как делается ы целом та или иная вещь, и начинают заходить из далека, не с той стороны, ещё и в тупик.
Блейдмаил ты на гуи норм не сделаешь, ибо урон нужно возвращать, к слову в доте есть бага - эффект пропадает если герой юзнул морф (троль к примеру), по этому спецэфыекты для подобных вещей лучше делать вручение способности пустышки, вроде абилки кольца защиты, там поля на спецэфыекты работают, но офк её нужно удалять так же как и эффект.
32
Lord_Teo, будет беда если ещё кто то применить такой рев, в общем зарасаемся попкорном, хочу посмотреть как будет сделан каолин, или сларк.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.