Я бы не создавал эту тему будь это так легко Во первых мне нужно отслеживать нанесённый урон. Для этого нужно добавлять событие в триггер. Во вторых всё равно не нечё работает.
lawson, Ну да, элементарно . Кэп намекает, что для использовать событие "получает урон" нужен конкретный юнит, и твоё условие там вообще не в тему.
FatalBlade, Кароче, немного непонятно, когда ему ману восстанавливать - эта абила, действующая n секунд или вообще пасива? Кароче, вот пример для пасивы ТРИГГЕР1 Событие - юнит изучивает заклинание Условие - твоё заклинание Действие-Установить переменную unit - "юнит, изучающий заклинание" триггер - добавить условие в ТРИГЕР2 - (боевая единица - unit получает урон)
ТРИГГЕР2 Событие - >ПУСТО< Условие - >ПУСТО< Действие - Установить значение маны у unit как - арифметика (мана у unit + реакция на событие - полученный урон)
Гениально! А я уже начал думать, как это можно реализовать. lawson, извини, но нубом здесь показал себя ты. Реакция "Damage taken" работает на событии "Takes damage", а не "Attacked".
FatalBlade, там я написал первый триггер - через действие "тригер - добавить условие" можно вставлять в "получает урон" юнитов не только из перемен, но и из графу "реакция на событие".
FatalBlade, Кароче, немного непонятно, когда ему ману восстанавливать - эта абила, действующая n секунд или вообще пасива? Кароче, вот пример для пасивы ТРИГГЕР1 Событие - юнит изучивает заклинание Условие - твоё заклинание Действие-Установить переменную unit - "юнит, изучающий заклинание" триггер - добавить условие в ТРИГЕР2 - (боевая единица - unit получает урон)
ТРИГГЕР2 Событие - >ПУСТО< Условие - >ПУСТО< Действие - Установить значение маны у unit как - арифметика (мана у unit + реакция на событие - полученный урон)
У меня пассивка, но у неё 10 лвлов. Процент начинается от 3% и до 30, по 3 за каждый лвл. Дело в том что "Событие - юнит изучивает заклинание" - это ведь только для первого лвла, нет? То есть если у меня уже есть скилл и он 5 лвла, и я поднял его до 6-го, то событие уже не актуально. Это работает только если у меня нету этого скила, и я его первый раз изучил, т.е. он стал лвл 1. Разве нет?
Вообще у меня есть формула которая считывает процент. Этот процент равен уровню пассивки умноженной на 3 и делённой на 100. Поэтому у меня нету никаких условий, кроме проверки типа юнита нанесённого урон.
Quote (Десантник)
FatalBlade, там я написал первый триггер - через действие "тригер - добавить условие" можно вставлять в "получает урон" юнитов не только из перемен, но и из графу "реакция на событие".
Если надо добавлять событие в другой триггер, то переменная нужна. Ведь "реакция на событие" это локальное обозначение, и работает только в данном триггере. Или я что то не правильно понял?
У меня пассивка, но у неё 10 лвлов. Процент начинается от 3% и до 30, по 3 за каждый лвл. Дело в том что "Событие - юнит изучивает заклинание" - это ведь только для первого лвла, нет? То есть если у меня уже есть скилл и он 5 лвла, и я поднял его до 6-го, то событие уже не актуально. Это работает только если у меня нету этого скила, и я его первый раз изучил, т.е. он стал лвл 1. Разве нет?
нет."С-изучает способность" реагирует на каждое изучение/"поднятие уровня".
function AddMana takes nothing returns nothing local unit u = GetTriggerUnit() local real h = GetUnitState(u, UNIT_STATE_MANA) + GetEventDamage() * 0.1 call SetUnitState(u, UNIT_STATE_MANA, h) call DestroyTrigger(GetTriggeringTrigger()) set u = null endfunction
function Trig_h_Actions takes nothing returns nothing local trigger t = CreateTrigger() call TriggerRegisterUnitEvent(t, GetTriggerUnit(), EVENT_UNIT_DAMAGED) call TriggerAddAction(t, function AddMana) set t = null endfunction
//=========================================================================== function InitTrig_h takes nothing returns nothing set gg_trg_h = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_h, EVENT_PLAYER_UNIT_ATTACKED ) call TriggerAddCondition( gg_trg_h, Condition( function Trig_h_Conditions ) ) call TriggerAddAction( gg_trg_h, function Trig_h_Actions ) endfunction
Я правильно понял это то что вам надо? Если что могу скинуть карту.
lawson, если делать так, то к триггеру через хэш нужно крепить triggeraction, а то оно утекает. А вообще лучше добавлять события в один большой триггер, чем создавать много маленьких.
SirNikolas, Я знаю делал на скорую руку. В нем есть утечка если юнит замахнется а не ударит создастся триггр но не удалиться. Но а так работает как надо.