Только начинаю писать на jass.
Данное событие в ГУИ срабатывает на каждого игрока по своему событию (для 24 игроков - 24 триггера). То есть мне нужно удалять войска ливнувшего игрока, но я не хочу создавать 24 триггера. В теории это должно выглядеть так:
событие: игрок ливает событие, которое я не знаю как сделать
действия: local n = Номер игрока
call func_left (n) функция которую проблем написать не составит
можно ли как-то такое реализовать на jass? если нет, то как лучше поступить? Буду очень благодарен!

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

Можно, создаёте все 24 события лива для одного тригоера. А в действии триггера узнаете ливнувшего игрока с помощью функций: GetTriggeringPlayer(), GetLeavingPlayer().
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
19
5 лет назад
1
Похожие вопросы:

ответ
GetTriggerPlayer()
или TriggeringPlayer в гуи

1
21
5 лет назад
1
Можно, создаёте все 24 события лива для одного тригоера. А в действии триггера узнаете ливнувшего игрока с помощью функций: GetTriggeringPlayer(), GetLeavingPlayer().
Принятый ответ
0
16
5 лет назад
0
ScopteRectuS:
Можно, создаёте все 24 события лива для одного тригоера. А в действии триггера узнаете ливнувшего игрока с помощью функций: GetTriggeringPlayer(), GetLeavingPlayer().
Это оптимальный вариант?
0
21
5 лет назад
Отредактирован scopterectus
0
TeX13, ну да. Не создавать же под каждое событие ещё один триггер.
0
26
5 лет назад
0
Можно создать триггер без событий, а в триггере инициализации выбрать группу из всех игроков и создать каждому событие в триггере без событий, типа (Picked player) leaves game. Так не придётся 24 события создавать.
0
16
5 лет назад
0
8gabriel8:
Можно создать триггер без событий, а в триггере инициализации выбрать группу из всех игроков и создать каждому событие в триггере без событий, типа (Picked player) leaves game. Так не придётся 24 события создавать.
с точки зрения оптимизации, сильно ли ваш способ влияет?
2
21
5 лет назад
2
TeX13, с точки зрения оптимизации станет лишь хуже, потому что события также будут создаваться для всех 24 игроков, но только это будет делаться через ForForce( ), которая будет создавать те же события для каждого игрока, запуская для каждого отдельный поток. А если делать через GUI, то еще и утечки подъедут.
1
26
5 лет назад
1
Влияет лишь на оптимизацию твоих усилий, для игры это всё равно будет так, как если бы 24 события вручную вбивал.
ScopteRectuS, в данном случае некритично, потому что исполняется лишь один раз при инициализации, а не каждую 0.01 секунду.
0
28
5 лет назад
0
ScopteRectuS, зачем ForForce(), когда можно просто циклом от 1 до 24?
0
21
5 лет назад
0
типа (Picked player) leaves game
PT153, потому что это делаетcя через ForForce() .
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.