Сделайте\распишите кто-нибудь триггер на перемещение(на русском желательно), пожалуйста.
Например, герой Лорд Вампир(стандарт), при атаке(ну как при атаке, в редакторе только "атакован" если) получает шанс оказаться позади противника.
Мне чисто триггерно нужно, ибо на панели не обязательно всё это.
Я пытался сам сделать это, как-то не очень вышло.(можно примеры или расписать всё)

Принятый ответ

шанс идёт через проверку "случайное число от 0 до 100 меньше чем x" где x - твой шанс
если под "оказаться позади противника" ты имеешь ввиду мгновенное перемещение то просто берёшь полярные координаты от (местоположение противника) с углом (угол поворота противника + 180) и расстоянием 100
если нужно плавное перемещение то тоже самое только юзаем системы движения которые описаны в статьях
так же могут понадобится знания геометрии которые изложены в статьях
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
7 лет назад
0
Похожие вопросы:

ответ
я сделал ) Спасибо что не скинули готовое хоть сам допетрил)
ответ
Держи. Чтобы проверить нажми ESC в игре.
раскрыть
потребовалось полторы минуты
ответ
Умирающий юнит, в том понятии, в каком его жуёт игра, не имеет баффов.
Вместо "Умирает" отлавливай поулчение смертельного удара (событие юнит получает урон).
Если полученный урон > оставшегося здоровья - то сделать всё то, что у тебя для умирающего
ответ
DvernoiProem:
Там все включенные триггеры - относятся к системе. Остальные выключены.
Попробуй ка сохранить карту без этой функции, потом опять с нею. Я сейчас попробую оптимизировать её.
ответ
Сделал простой пример на jass. Если пехотинец в радиусе 300 от паладина, ему дается способность доспех веры.
jass
globals
    unit Unit1
    unit Unit2
    timer Timer = CreateTimer()
endglobals

function Trig_sample_Conditions takes nothing returns boolean
    return GetFilterUnit() == Unit2 and GetUnitAbilityLevel(GetFilterUnit(), 'AHad') == 0
endfunction

function Trig_sample_Actions2 takes nothing returns nothing
    if not IsUnitInRange(Unit1, Unit2, 300.) then
        call UnitRemoveAbility(Unit2, 'AHad')
        call PauseTimer(GetExpiredTimer())
    endif
endfunction

function Trig_sample_Actions takes nothing returns nothing
    call UnitAddAbility(Unit2, 'AHad')
    call TimerStart(Timer, .1, true, function Trig_sample_Actions2)
endfunction

//===========================================================================
function InitTrig_sample takes nothing returns nothing
    local trigger trig = CreateTrigger(  )
    set Unit1 = CreateUnit(Player(0), 'Hpal', 0., 0., 0.)
    set Unit2 = CreateUnit(Player(0), 'hfoo', 0., 0., 0.)
    
    call TriggerRegisterUnitInRange(trig, Unit1, 300., function Trig_sample_Conditions)
    call TriggerAddAction(trig, function Trig_sample_Actions)
endfunction

1
28
7 лет назад
1
шанс идёт через проверку "случайное число от 0 до 100 меньше чем x" где x - твой шанс
если под "оказаться позади противника" ты имеешь ввиду мгновенное перемещение то просто берёшь полярные координаты от (местоположение противника) с углом (угол поворота противника + 180) и расстоянием 100
если нужно плавное перемещение то тоже самое только юзаем системы движения которые описаны в статьях
так же могут понадобится знания геометрии которые изложены в статьях
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.