Добавлен TeX13
Только начинаю писать на jass.
Данное событие в ГУИ срабатывает на каждого игрока по своему событию (для 24 игроков - 24 триггера). То есть мне нужно удалять войска ливнувшего игрока, но я не хочу создавать 24 триггера. В теории это должно выглядеть так:
событие: игрок ливает событие, которое я не знаю как сделать
действия: local n = Номер игрока
call func_left (n) функция которую проблем написать не составит
Данное событие в ГУИ срабатывает на каждого игрока по своему событию (для 24 игроков - 24 триггера). То есть мне нужно удалять войска ливнувшего игрока, но я не хочу создавать 24 триггера. В теории это должно выглядеть так:
событие: игрок ливает событие, которое я не знаю как сделать
действия: local n = Номер игрока
call func_left (n) функция которую проблем написать не составит
можно ли как-то такое реализовать на jass? если нет, то как лучше поступить? Буду очень благодарен!
Принятый ответ
Можно, создаёте все 24 события лива для одного тригоера. А в действии триггера узнаете ливнувшего игрока с помощью функций: GetTriggeringPlayer(), GetLeavingPlayer().
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован scopterectus
ScopteRectuS, в данном случае некритично, потому что исполняется лишь один раз при инициализации, а не каждую 0.01 секунду.
8gabriel8:
посмотри, пожалуйста, этот фрагмент:
function InitTrig_zi1 takes nothing returns nothing
set gg_trg_zi1 = CreateTrigger( )
set a = 1
set b = 24
loop
exitwhen a > b
call TriggerRegisterPlayerEventLeave( gg_trg_zi1, Player(a) )
set a = a + 1
endloop
call TriggerAddAction( gg_trg_zi1, function player_left )
endfunction