32

» WarCraft 3 / Аттач группы триггеров

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

» WarCraft 3 / Отрицательный реген

Аура смерти баганая, может оставлять с 1 хп юнитов и они будут не убиваемы. Лучше наносить урон триггерно.
32

» WarCraft 3 / Аттач группы триггеров

PT153, тебе точно нужно отследить EVENT_WIDGET_DEATH, и ни фреймом раньше, иначе бага. Так же получение других приказов на основе стана для взаимодействия с морфами.
32

» WarCraft 3 / Вопрос по механике вампиризма (триггерного) и отложению урона

Принятый ответ
Неуязвимость проверяют через даммика с атакой, через приказ, сможет ли атаковать или нет, просто проверка выполнения приказа. Так же пытаются нанести урон и смотрят сколько он отнял здоровья, так можно и определить неуязвимость и вычислить резист юнита к конкретному типу урона.
32

» WarCraft 3 / Отслеживание приказов

Событие юнит отдал приказ и тип приказа, проверяешь какой тип приказа и номер приказа, легко и просто, все необходимое в jass есть, список функций можно посмотреть в JASS_API
32

» WarCraft 3 / Аттач группы триггеров

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

» WarCraft 3 / Аттач группы триггеров

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

» WarCraft 3 / Про способности не сбивающие приказ

8gabriel8, пауза просто стан с продвинутым салом, никак не поможет в этом деле.
8gabriel8:
quq_CCCP, если триггерно отдавать приказ, то сбивают, конечно)
а причем тут это? Вопрос как сделать 4 абилки без цели не сбивающие приказы, что уже описано, так же был вопрос про манащит и аналоги.
32

» WarCraft 3 / Про способности не сбивающие приказ

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

» WarCraft 3 / Про способности не сбивающие приказ

Набежали хомячки, ага абилки без цели и каналы не сбивают текущие приказы - че курили то? Сбивают, именно сбивают всю очередь. Рев, веер ножей и еще несколько не сбивают приказ идти куда либо, но собьют чаннелинг какойнить абилки, вроде бурана...
Так что Absk, Adef, Amdf, ANms, AEim, AHds, AOwk не сбивают никаких приказов, не имеют каст тайма, не заставляют юнита проигрывать анимации каста.
Как сделать из жара приесподней и аналогов обычную абилку, которая просто уходит в кд при нажатии я описал выше.
32

» WarCraft 3 / Загрузка игры ?

HAMHAM, точка старта всегда синхронна, сразу при инициализации считаешь игроков и все, забей на свои предположения.
32

» WarCraft 3 / Загрузка игры ?

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

» WarCraft 3 / Загрузка игры ?

Принятый ответ
Событие инициализации 80-90% до конца полоски загрузки, у всех игроков не одновременно, только после того как карты полностью загружены и созданы все обьекты в коде - игра стартует у всех.
32

» WarCraft 3 / Скилл из доп.кампании "До Горького Конца"

Принятый ответ
"Скилл джаггера их доты" выложен в миллион и одном месте, даже я делал разбор - xgm.guru/p/wc3/omnislash
Реализация примитивна, мгновенное перемещение к цели и приказ атаковать, можно так же эмитировать атаку анимацией и уроном от лица героя как сделано в доте.
32

» WarCraft 3 / Про способности не сбивающие приказ

с иммолейшином нашел решение, удаление баффа.
function Trig_Cast_Debug_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A0E0' 
endfunction

function Timer_Return_Mana_Expires takes nothing returns nothing
    local timer t = GetExpiredTimer( )
    local integer id = GetHandleId( t )
    local unit u = LoadUnitHandle( gg_htb_HashData, id, 0 )
    
    call UnitRemoveAbility( u, 'BEia' )
    call UnitRemoveAbility( u, 'BEim' )
    
   // call SetUnitState( u, UNIT_STATE_MANA, LoadReal( gg_htb_HashData, id, 1 ) )
    call FlushChildHashtable( gg_htb_HashData,id )
    call DestroyTimer(t)
    
    set u = null
    set t = null
endfunction


function Trig_Cast_Debug_Actions takes nothing returns nothing
    local unit u = GetSpellAbilityUnit( )
    local timer t = CreateTimer( )
    local integer id = GetHandleId(t)
    
    
    call SaveUnitHandle( gg_htb_HashData,id,0, u )
    call TimerStart( t, 0.00, false, function Timer_Return_Mana_Expires )
    call BJDebugMsg("!")

    
    set t = null
    set u = null
endfunction

//===========================================================================
function InitTrig_Cast_Debug takes nothing returns nothing
    set gg_trg_Cast_Debug = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Cast_Debug, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_Cast_Debug, Condition( function Trig_Cast_Debug_Conditions ) )
    call TriggerAddAction( gg_trg_Cast_Debug, function Trig_Cast_Debug_Actions )
endfunction
32

» WarCraft 3 / Про способности не сбивающие приказ

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

» WarCraft 3 / Перевод

Shiro.Emiya, протект нужно снимать, об это полно статей в инете, особенно подробно на сайте читосов это ражевано хорошо, у нас тут обычно люди не страдают читовставлятельсвом и моделетырингом.
Карту в студию!
32

» WarCraft 3 / Перевод

Ну как бы есть 2 вида карт с слк оптимизацией (как дота) и без слк оптимизации, открываем карту mpq редактором, видим папку units - все карта после слк оптимизатора, в папке units будет полно тхт файлов, файлы типа xxxUnitStrings.txt, и xxxAbilityStrings.txt - это названия и описания юнитов и способностей, соответственно. а файлы типа NeutralAbilityFunc или NeutralUnitFunct отвечают за визуальную настройку юнитов и предметов, иконки там эффекты и тому подобное.
Если слк оптимизации нет, нету папки units - ищем war3map.j и копируем его (сохраните в надежное место), берем деоптимизатор -War3MapRestorrer (xgm.guru/p/wc3/w3map-restorer) и обрабатываем карту, функции скрипта не трогаем, после восстановления открываем карту в редакторе - заходим в редактор триггеров - файл > обнулить триггеры, они нам ненужны, сохраняем карту и идем переводить как белые люди все что нам интересно на "великий и могучий", после всех операций сохраняем карту, открываем в мпк редакторе и удаляем там war3map.j файл, а тот что мы сохранили ранее закидываем в карту и улыбаемсо.
32

» WarCraft 3 / [Реализация] Здание поверх зданиях!

JMCode, не рассматривал декорацию - "поднимающаяся платформа" ? Мб сделаешь эскейп на летающих платформах?
32

» WarCraft 3 / [Реализация] Здание поверх зданиях!

Так же приходит в голову идя поднимающейся платформы, у нее вроде всего 2 высоты, но это неважно, просто проигваем анимацию туда сюда, а так же деформируем землю (типа лава поднимается) и создаем иллюзию что платформа движется вверх пока игрок что то там на ней делает, что осталось вам придумать, жмакать кнопки или по очереди атаковать какие-нибудь "магические камни".
JMCode, ну не свреху вниз строить блоки а слева направа на земле а камера находится сверху, как в тетрисе...