32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

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

» WarCraft 3 / Как уничтожить спецэффект через ожидание

Теперь багованный? Карту в студию, поглядим чаво ты делаешь. Ну а так к слову на гуи особых чудес не будет, тут все только обходными путями, особенно если собрался доту делать, там 80% кода на jass, как те же шипы неруба и Лиона будешь делать?
32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

quq_CCCP, чё ты несёшь? Его нет в анимация. Нельзя задать путь его. Нет этого спецэффекта
Rly? Бро а это что такое?

ArhiMEN, сложна, сложна, сложна! Ну тут увы гуи, о жассе речи даже не идет...
Загруженные файлы
32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

ProrokWorldEdit, тестил, работает. Умник я смотрю сам ничего не тестил, насчет кастом модели - твои проблемы, чето не вижу модели эффекта в студии?
Все прекрасно работает, к слову челик агр выключи, твой уровень ниже некуда, то ты ничего никогда сам не сделаешь.

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

» WarCraft 3 / Как уничтожить спецэффект через ожидание

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
Загруженные файлы
32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

ProrokWorldEdit, значит чето нетак делаешь, собственно тут весь код - создать в начале триггера локальную переменную типа effect, после записи в неё спецэффекта, идет вейт (TriggerSleepAction), ну а после удаление спецэффекта и обнуление переменной, код конечно костыльный но в гуи особо больше и никак не разойдешся.
Обычно подобное делается на jass с помощью таймеров и хештаблиц, есть конечно вариант еще записывать эффекты в массив и таймером смотреть сколько прошло времени с момента создания и удалять, но это достаточно громоздко ради 1 эффекта + если не требуется высокая точность по времени.
В любом случае что ты пытаешся сделать, блейдмаил из доты?
32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

ProrokWorldEdit, нет тут внятно объясняют, но такие вещи - чувак это уже зашквар, кто реально взялся делать карту - вычитывает это в статьях и стандартных картах вара за час, поэтому никто тебе не сделает карту с готовеньким кодом за тебя, такие простые вещи уж будьте любезны сами сделать, хотябы попробовать, темболее направление вам дали.
32

» WarCraft 3 / Как уничтожить спецэффект через ожидание

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

» WarCraft 3 / принуждённый выбор героя

Ну как бы просто создать героя, функцией CreateUnit и все, в чем проблема?
32

» WarCraft 3 / как повторить действие 12 раз

Зачем только тебе цикл? У тебя UnitsOwnedPlayerByType - это выбор в группу всех юнитов игра, указанного типа, зачем тебе рандом юнит? ForGroup и удаляешь всех юнитов в группе.
32

» WarCraft 3 / Как сделать постоянное движение, наподобии survival chaos?

Вы имеете ввиду чтобы герой не мог остановится и всегда шел в ту сторону в которую смотрит лицом?
Тогда всё просто, нужно отлавливать приказы и переодически проверять что юнит стоит, триггер можно посмотреть в стандартной карте близардов Worm War.
32

» WarCraft 3 / Почему юнит умирает

Не нужно делать грейды на хп, выше чем базовое хп. Апгрейды на хп - это такие же абилки по сути, спелбук вызывает перерасчет бонусов и из за ошибки в коде. бонус хп сначала снимается дважды, потом его пытаются вручить снова - но юнит уже умер.
Пробуйте баг предметными абилками на бонус хп - у способности добавляющей здоровье сделайте 2 уровня, бонус на 1 лвл = 0, бонус на втором лвл минус то количество хп которое хочется получить (если хотите добавить 1000, то пишите -1000), вручите способность юниту, настройте второй уровень и удалите её. И хп изменится на то количество которое было указано в настройках абюилки
32

» WarCraft 3 / Как сделать подсветку выбранного юнита

Что подразумевается под выбран? навел курсор, или выделил рамкой, игра подразумевает под выбором только когда ты выделил юнита\.юнтов рамкой или клику на него мышкой и видишь его параметры на интерфейсе.
32

» WarCraft 3 / Смена названия предмета

в 1.31+ починили далеко не все set функции для полей обьектов, либо ждать патча либо подменять предмет на другой, возможно смена будет работать если имя назначить предмету до его появления на карте, перед его созданием, но это неточно.
32

» WarCraft 3 / ЗАЩИТА нейтральных враждебных

Razor_dex, зачем брать систему, когда все можно написать ручками за 5 минут, вам что-ли демо сделать?
32

» WarCraft 3 / Что предпочтительней и почему Lua или Jass?

Ярг Восьмой, ну тут самая главная проблема - человек которырый задаёт этот вопрос явно ни-то, ни-сё не освоил, и в реалиях картостроения варкравта - это редко нужно, у жасса есть одно весомое преимущество - оно есть на всех патчах из коробки и достаточно просто в освоении.
Все эти конверторы луа - хороши для изучения и баловства, реальные проекты строить и развивать на них не удобно, решение таких задач где луа хорош в сценариях вара - приходится решать не то чтобы редко, очень редко. Ну скорость самого скрипта мало что значит - ибо вы раньше упретесь в производительность движка, начхать луа,жасс или вы длл суните - все они вызывают одни и те же функции игры, реализованные разработчиками, и сделать быстрее - никак нельзя, в итоге - толку что у вас спаун крипов работает чуть чуть быстрее, при 300+ крипах вы ловите так же 6 кадров.
Для начала пойдет и жасс, потому что пересесть на луа ничего не мешает, сам жасс скрипт ничто иное как максимально упрощенный и урезанный ЛУА со строгой типизацией. Ну а главное научится алгоритмы строить и понимать как и что делается, а не сравнивать красоту синтаксиса и кода.
32

» WarCraft 3 / ЗАЩИТА нейтральных враждебных

AncientOverlord, незадача в тебе, ещё раз - событие юнит получает урон, чтобы его заблокировать лечением, потом нанести обратно юниту кто источник урона, проверки на игрока что-ли сделать не можешь?
Потом собственные попытки в студию, это не стол заказов, куда копать я направление дал, там 2 триггера примитивных сделать....
32

» WarCraft 3 / ЗАЩИТА нейтральных враждебных

Триггер с событием - юнит получает урон, и восстановление хп до текущего, это не сложно. Ваших попыток что то не вижу.
32

» WarCraft 3 / Есть способ перенести ландашфт из карты Warcraft 3 в Dota 2?

Конечно есть, открываем карту и любуемся ландом, ручками в хамер едитр (или как там оно называется) пилим новый ланд, похожий на тот что в карте варкравта, офк существовали простейшие конверторы для ск2, но не думаю что для д2 кто то такое пилил...
32

» WarCraft 3 / Что предпочтительней и почему Lua или Jass?

Самое главное что луа то доступен только на рефордже, и играть в свои поделки ты сможешь только такс, это тоже стоит учитывать.
32

» WarCraft 3 / Проблемы с синхронизацией кэша

JackFastGame, ну от любого игрока ко всем остальным, одновременно хз можно ли нет, но офк геймкеш нагружает траффик и в реальном мультиплеере может быть так что игроки вовсе отвалятся, либо синх займет секунд 10....
Но факт остается фактом, нужен триггер в котором с помощью вейта и надо синхать, имеено в trigger action и нигде больше, иначе это работать не бдует, да и 2 секунды может быть мало, поэтому на старте секунд 10 все синхаем, и все потом ниче не трогаем, синхать динамически всякие курсоры и камеры - провальная идея.
32

» WarCraft 3 / Проблемы с синхронизацией кэша

как бы так сказать:
TriggerSyncStart()

SyncStoredInteger(gameCache, keyExp, "P" + I2S(GetPlayerId(p)))
TriggerSleepAction( 2.00 )
TriggerSyncReady()
Не факт что успеваеть синкнуть, не знаю с чем конкретно это связано, но порой синх кеша занимает очень и очень много времени, вовсе ммд наработка нужна для хостбота, синхать с игроками нет надобности, ибо боту главное увидеть факт сиха инфы - а сихнулась она или нет уже дело десятое, бот получил что нужно...