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

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

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

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

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