Недавно, без причины, в игре перестали отображаться системные сообщения(которые вызываются через действие "Text - Message"). Решилась проблема удалением в триггере Initialization, функции Destroy Temp_player_group (причем, эта функция была добавлена за долго до бага с выводом текста).
Вопрос, каким образом функция удаления группы игроков, отключает отображение игровых сообщений?

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

каждый раз когда ты ссылаешься на AllPlayers, эта функция возвращает объект (группу игроков) из скрытой переменной bj_FORCE_ALL_PLAYERS.
ты заносишь этот объект в переменную и удаляешь его, и больше не можешь использовать AllPlayers
поэтому после этого текст не выводится когда ты пытаешься его выводить для всех игроков (а эту группу ты удалил хоть и поместил ее перед этим в свою переменную) как на скрине из твоей карты в моем посте выше.

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

ответ
никак
переменные можно использовать только в коде
в интерфейс их никак не засунешь

1
10
7 лет назад
1
Цедиком скинь тригеры, связанные с твоей проблемой
0
27
7 лет назад
0
скорее всего обрывается поток (обрыв может быть еще из-за лимита операции, поищи на сайте. Еще некоторые команды могут обрывать поток, например вэйт. Вэйт работает в действии, а в других частях кода не работает), или логическая ошибка в условии (мб условие не прокатывает, это к примеру). Скорее всего обрыв потока, у тебя триггер Destroy Temp_player_group длинный? триггеров много? советую разбить на части или ищи статью на сайте на лимит операции
ищи лучше через гугл. а то на этом сайте поиск плохой, поломан. Например: "лимит операции xgm" сразу находит нужные темы
0
6
7 лет назад
Отредактирован DesiMorti
0
ImbaStyle:
Цедиком скинь тригеры, связанные с твоей проблемой
Карту же прикрепил к вопросу, поэтому, и указал название триггера и функции в которых проблемы.
Steal nerves:
скорее всего обрывается поток (обрыв может быть еще из-за лимита операции, поищи на сайте. Еще некоторые команды могут обрывать поток, например вэйт. Вэйт работает в действии, а в других частях кода не работает), или логическая ошибка в условии (мб условие не прокатывает, это к примеру). Скорее всего обрыв потока, у тебя триггер Destroy Temp_player_group длинный? триггеров много? советую разбить на части или ищи статью на сайте на лимит операции
Destroy Temp_playr_group, это лишь 1 функция, а вообще не мало триггеров с кучей действий (триггеры с одинаковым событием объеденны). Насчет лимита операций, спасибо, почитаю.
0
27
7 лет назад
Отредактирован MpW
0
DesiMorti, у тебя в группах есть вэйт? Недавно на сайте xgm делал одному парню наработку, а там часть действии в ForGroup не выполнялось. Дебагом проверял. И понял, что не выполняется после определенных действии. Не понимал я почему. Убирал одну функцию - вэйт. И заработало. А то дальше после вэйта код не работал. ForGroup + вэйт не совместимы
0
6
7 лет назад
Отредактирован DesiMorti
0
Steal nerves:
DesiMorti, у тебя в группах есть вэйт?
Нет, еще вообще не использовался в карте.
1
20
7 лет назад
Отредактирован biridius
1
ты заносишь группу игроков "все" в переменную
удаляешь ее
а потом пытаешься для удаленной группы что-то выводить?
AllPlayers возвращает группу из переменной bj_FORCE_ALL_PLAYERS, а не создает новую группу
Загруженные файлы
0
6
7 лет назад
Отредактирован DesiMorti
0
biridius:
ты заносишь группу игроков "все" в переменную
удаляешь ее
а потом пытаешься для удаленной группы что-то выводить?
Нет, эта переменная задействована еще только в триггере "Constructed", но при удалении этого триггера нечего не изменяется. Больше нигде эта переменная не используется.
А насчет AllPlayers, я не совсем понял к чему замечание.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.