Как можно блокировать приказы игрока, как в Blood tournament?

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

у меня есть система, но она д+рьмовая.
Во-первых, для каждого нужно сохранять текущие приказы и цели. Чтобы при отдаче приказа юнит не слушался хозяина и продолжал делать свои дела. Вроде пока справляемся с идеей, можно все сохранить в переменные (правда, занудно). Но изначально, нужно сохранять приказ стоп, а то в ячейке пустует и он ничего не делает. Во-вторых, события приказов срабатывают намного раньше, чем он начинает делать. То есть, если дать сразу в этот момент еще один приказ, то ничего не будет, ибо начинает выполнять текущий. И получается, что нужно делать задержку в 0.00. То есть не получится так что сразу. Не понимаю вот, почему близзарды не сделали, чтоб сразу. И в третьих, зацикливание может привести к вылету, нужно отключать, отдавать приказ, и включать триггер. Короче это нафиг никому не нужное, он успевает сделать что-то, немножко отбежать туда - куда ему игрок указал. Делал на скорую руку.
ой немного недоработанную выложил, там вэйт включите. удалите двойной слэш
xgm.guru/forum/showthread.php?t=39525 тут скока способов. Е-мое
xgm.guru/forum/showthread.php?t=39004 тут твой ответ (см. ответ Александра).
Прошу прощения, оказалось, что вэйт лучше не использовать. Вместо него таймер используйте, так как с помощью таймера приказ отдается сразу. Скину другую наработку Block of orders Upgraid
Загруженные файлы

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
10
7 лет назад
1
Отдал приказ
Твой приказ
Отставить
0
27
7 лет назад
Отредактирован MpW
0
у меня есть система, но она д+рьмовая.
Во-первых, для каждого нужно сохранять текущие приказы и цели. Чтобы при отдаче приказа юнит не слушался хозяина и продолжал делать свои дела. Вроде пока справляемся с идеей, можно все сохранить в переменные (правда, занудно). Но изначально, нужно сохранять приказ стоп, а то в ячейке пустует и он ничего не делает. Во-вторых, события приказов срабатывают намного раньше, чем он начинает делать. То есть, если дать сразу в этот момент еще один приказ, то ничего не будет, ибо начинает выполнять текущий. И получается, что нужно делать задержку в 0.00. То есть не получится так что сразу. Не понимаю вот, почему близзарды не сделали, чтоб сразу. И в третьих, зацикливание может привести к вылету, нужно отключать, отдавать приказ, и включать триггер. Короче это нафиг никому не нужное, он успевает сделать что-то, немножко отбежать туда - куда ему игрок указал. Делал на скорую руку.
ой немного недоработанную выложил, там вэйт включите. удалите двойной слэш
xgm.guru/forum/showthread.php?t=39525 тут скока способов. Е-мое
xgm.guru/forum/showthread.php?t=39004 тут твой ответ (см. ответ Александра).
Прошу прощения, оказалось, что вэйт лучше не использовать. Вместо него таймер используйте, так как с помощью таймера приказ отдается сразу. Скину другую наработку Block of orders Upgraid
Загруженные файлы
Принятый ответ
0
8
7 лет назад
0
ImbaStyle:
Отдал приказ
Твой приказ
Отставить
Игра вылетает
0
27
7 лет назад
Отредактирован MpW
0
Игра вылетает
Steal nerves,
И в третьих, зацикливание может привести к вылету, нужно отключать триггер, отдавать приказ, и включать триггер.
если отдать триггерно приказ, то сработает событие. Сработает заново триггер, и заново отдача приказа. И так по кругу. Зацикливание короче. Поэтому нужно оборвать это. Выключаем временно триггер или делаем задержку таймером или вэйтом
0
20
7 лет назад
0
Там вроде quq_CCCP придумал какой-то способ через руны
3
21
7 лет назад
3
^ Вы упороты, какие таймеры и вэйты, просто выкл. триг в начале и вкл в конце
0
27
7 лет назад
Отредактирован MpW
0
ClotPh, ты проверял? выкл. и вкл. - этого мало. просто отдать, юнит ничего не делает. а только через задержку 0.00
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.