Помогите пожалуйста, мне очень нужна ваша помощь. Всё перерыл, ни где нету достоверной информации, а если юзать jass то эта морокка, не совсем его понимаю

Кирилл4, на jass есть, вот пример
Для начала тебе хватит, есть более продвинутые системы.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
17
Naadir:
Первый триггер:
Событие: Юнит вошёл на карту.
Действие: Добавить событие "юнит атакован" во второй триггер.

Второй триггер:
Действие: Если DamageTaken>0
То Написать DamageTaken в чат.



Ну как-то так в двух словах.
Событие - Конкретный юнит получает урон.( НЕ атакован! - ибо отлавливается в момент отдачи приказа атаковать, и может быть забагано простым застопыванием )
Дальше конвертируешь это в текст, и заменяешь Конкретного юнита на глобалку, или на юнита, стоящего на карте (если это даммик, и нужна инфа по всему урону)
Вот мой отлавлятор:
function t2a takes nothing returns nothing
    local unit u = GetEventDamageSource() // Кто нанёс урон (имя)
    local real r = GetEventDamage() // Сколько урона
    call BJDebugMsg(GetUnitName(u)+" = Attacker") // Отображение игроку
    call BJDebugMsg(R2S(r)+" = Damage") // Отображение игроку
endfunction

//===========================================================================
function InitTrig_t2 takes nothing returns nothing
    local unit u = gg_unit_H000_0000 // Вот наш юнит, можешь заменить на глобалку
    set gg_trg_t2 = CreateTrigger()
    call TriggerRegisterUnitEvent(gg_trg_t2,u,EVENT_UNIT_DAMAGED) //Юнит продамажен
    call TriggerAddAction( gg_trg_t2, function t2a )
endfunction
Можешь добавить по типу атакованного юнита (Отображать только боссов/хероев/крипов), или по имеющейся у Атакующего конкретной абилки
...
Пропала кнопочка "Редактировать"
Случайно удалил кусок оптимизации:
function t2a takes nothing returns nothing
    local unit u = GetEventDamageSource() // Кто нанёс урон (имя)
    local real r = GetEventDamage() // Сколько урона
    call BJDebugMsg(GetUnitName(u)+" = Attacker") // Отображение игроку
    call BJDebugMsg(R2S(r)+" = Damage") // Отображение игроку
	set u = null  // Это вот должно быть тут
endfunction

//===========================================================================
function InitTrig_t2 takes nothing returns nothing
    local unit u = gg_unit_H000_0000 // Вот наш юнит, можешь заменить на глобалку
    set gg_trg_t2 = CreateTrigger()
    call TriggerRegisterUnitEvent(gg_trg_t2,u,EVENT_UNIT_DAMAGED) //Юнит продамажен
    call TriggerAddAction( gg_trg_t2, function t2a )
endfunction
16
PyCCKuu_4eJl, там чувак написал, что не может в jass. Я описал на GUI алгоритм. Застапывание -- как бы фиг с ним. На достойном уровне на GUI его не обойти.
21
Событие: инициализация карты
Действие:
Цикл: выбрать всех юнитов в пределах игровой карты и для каждого совершите действие:
Действие в цикле: добавить в триггер [твой триггер] событие "выбранный юнит получил урон"
Ну а дальше в [твоем триггере] пишешь условия и действия. Но это не будет работать на саммонов и триггерно созданных юнитов, потому нужен еще один триггер:
Событие: юнит вошел в область игровой карты
Действие: добавить в триггер [твой триггер] событие "входящий юнит юнит получил урон"
21
PyCCKuu_4eJl, set u = null и внизу тогда лучше поставить
хотя, учитывая, что инициализация один раз, не так важно
2
PyCCKuu_4eJl, Спасибо за код, но вот казус. Когда я заменяю сет в локалке (local unit u = gg_unit_H000_0000) на (local unit u = GetAttackedUnitBJ() ) ничего не работает...
21
Кирилл4, а как бы оно, интересно, должно было работать
откуда триггер до регистрации события атакованного возьмет?
2
ClotPh:
Кирилл4, а как бы оно, интересно, должно было работать
откуда триггер до регистрации события атакованного возьмет?
Ну помоги плиз, если не в лом. Мне кажется, что я близок к истине.
32
Кирилл4, есть готовые системы на эту тему, гугл в помощь.
2
quq_CCCP:
Кирилл4, есть готовые системы на эту тему, гугл в помощь.
Имхо их много, но толкового ничего нету, гуи не хочется использовать..
quq_CCCP:
Мне просто срочно нужно это, так я хоть буду иметь большое и дальнейшей представление о том как он отлавливается, разжуйте мне пожалуйста
32
Кирилл4, на jass есть, вот пример
Для начала тебе хватит, есть более продвинутые системы.
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.