Выкидывает игроков с моей игры
|
|
Svanir2 | Дата: Суббота, 13 Июня 2015, 18:52:51 | Сообщение # 1 |
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
| Добрый вечер! Проблема состоит в том, что с моей карты постоянно выкидывает половину игроков, то есть при старте у всех, кто "пережил" загрузку появляется окошко с отсчётом для тех, кто откинулся, а затем игра спокойно продолжается без половины её участников. Вся ерунда в том, что отрубает всегда рандомную половину игроков, не зависимо от какого-то конкретного цвета или ещё чего. Джасс на карте не используется, триггерно скрываются тексты. В качестве протектора и оптимизатора использую SLQOPT. Раньше тестил карту с двух компов, карта весила больше и использовался иной оптимизатор, загрузка на втором компе (не хосте) вставала на половине, после чего я резко сменил оптимизатор и уменьшил вес карты на 2/3 и проблема отпала, но что там происходит у людей с паблика сказать не могу. В чём может состоять проблема? В карте или всёже во мне (кому-то из игроков перекрываются мои порты может)?
|
|
|
|
Kaotika | Дата: Воскресенье, 14 Июня 2015, 08:07:43 | Сообщение # 2 |
5 уровень
Группа: Проверенные
Сообщений: 144
Награды: 0
Репутация: 20
Блокировки:
| Цитата Svanir2 ( ) Джасс на карте не используется То есть GUI и Jass - не имеют отношения друг другу ? Цитата Svanir2 ( ) использовался Цитата Svanir2 ( ) оптимизатор Может проблема в этом?
Тискаю клаву... остальных пока некогда!
|
|
|
|
Bibo | Дата: Воскресенье, 14 Июня 2015, 08:24:22 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Описание проблемы выше не дает ничего, что могло бы дать наводку на причину проблемы. Нужно смотреть триггеры карты.
|
|
|
|
Svanir2 | Дата: Воскресенье, 14 Июня 2015, 08:52:23 | Сообщение # 4 |
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
| Цитата Kaotika ( ) То есть GUI и Jass - не имеют отношения друг другу ? То есть это отметает возможные проблемы с getlocalplayer, были использованы только функции из гуишных выпадающих списков. Цитата Kaotika ( ) Может проблема в этом? Возможно. Пробовал не оптимизировать карту, а лишь протектить mpq extprotect'ором, вылеты всёравно наблюдались. Цитата Bibo ( ) Описание проблемы выше не дает ничего, что могло бы дать наводку на причину проблемы. Нужно смотреть триггеры карты. А какие гуишные функции могут привести к вылету/застреванию загрузки? Триггеров у меня много, проще будет найти возможно проблемные функции и отключить их, я не думаю, что кто-то будет перебирать сотни моих однотипных триггеров.
|
|
|
|
Bibo | Дата: Воскресенье, 14 Июня 2015, 09:10:36 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Svanir2 ( ) То есть это отметает возможные проблемы с getlocalplayer, были использованы только функции из гуишных выпадающих списков. Множество GUI действий использует функцию GetLocalPlayer. Такие действия есть в разделах "Камера", "Выбор", "Видимость" и многих других. Так же, может произойти разрыв с игроками, в случае выполнения действий из раздела "Видимость" по отношению к нейтрально-враждебному и нейтрально-пассивному игроку.
Сообщение отредактировал Bibo - Воскресенье, 14 Июня 2015, 09:11:12 |
|
|
|
Svanir2 | Дата: Воскресенье, 14 Июня 2015, 09:32:52 | Сообщение # 6 |
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
| Хочу уточнить, что вылеты всегда происходят только в самом начале, то есть вероятно при инициализации, и всё бы было логично и понятно, если бы вылетали все, но вылетает всегда примерно половина (при старте 3х3 остаётся 2х1, при 2х2 1х2) и никогда не вылетает, если стартуют 1х1. В инициализации карты только устанавливается огромное количество массивных переменных, устанавливаются флаги игроков, меняются аспекты союзов, всем юнитам на карте выставляются уникальные обычные значения, скрываются все нейтралы на карте с помощью юнит-спрятать и перед игроками появляются плавающие тексты, которые скрываются для всех, а затем показываются отдельно каждому игроку свой текст. Такая же технология с текстами используется на протяжении всей игры и те, кто не вылетел, без проблем играют. Ещё предполагаю, что игроки могут вылетать/застревать на стадии загрузки, но в таком случае, наверное бы игра вообще не стартовала. При загрузке все игроки становятся "зелёными" на экране загрузки, потому наверное тут всё в порядке.Добавлено (14 Июня 2015, 09:32:52) ---------------------------------------------
Цитата Bibo ( ) Множество GUI действий использует функцию GetLocalPlayer. Такие действия есть в разделах "Камера", "Выбор", "Видимость" и многих других. Так же, может произойти разрыв с игроками, в случае выполнения действий из раздела "Видимость" по отношению к нейтрально-враждебному и нейтрально-пассивному игроку. Да, но я не думаю, что гуи может использовать эту функцию как-то не верно, по крайней меря я не наблюдал, чтобы проблемы с вылетами у других людей возникали из за гуи функций. Но раз уж так, то при инициализации много раз пикаются все игроки, один раз добавляются в группу и затем этим игрокам из группы постоянно устанавливаются их персональные камеры. С видимостью манипуляций не произвожу. Всех нейтрально-враждебных прячу при инициализации тем же гушным действием: боевая еденица -> спрятать. Тут есть какая-то проблема?
|
|
|
|
Bibo | Дата: Воскресенье, 14 Июня 2015, 09:35:45 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Описание редко отражает действительность. Нужно смотреть триггеры карты.
|
|
|
|
Svanir2 | Дата: Воскресенье, 14 Июня 2015, 09:49:01 | Сообщение # 8 |
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
| Вот 2 скрина с триггером, в котором почти все действия при инициализации. Всё остальное - тонны установок пременных для разных систем. http://hkar.ru/BKt7 http://hkar.ru/BKt8
|
|
|
|
Bibo | Дата: Воскресенье, 14 Июня 2015, 12:31:05 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Я не вижу опасных моментов на этих фото. По крайней мере, на сколько могу разобраться в русифицированных триггерах.
|
|
|
|
Enforcer | Дата: Воскресенье, 14 Июня 2015, 14:52:40 | Сообщение # 10 |
Энф Когда-то смотрел за порядком
Группа: Ветераны
Сообщений: 3127
Награды: 7
Репутация: 981
Блокировки:
| Svanir2, вылеты могут наблюдаться если слишком много выбрано юнитов в переменной или выдается одновременный приказ всем юнитам и начинается рассинхрон с другими игроками. Попробуй поставить в циклах типа Sleep (ждать) 0.1 секунду и проверь остался вылет или нет.
|
|
|
|
Svanir2 | Дата: Воскресенье, 14 Июня 2015, 19:06:59 | Сообщение # 11 |
2 уровень
Группа: Пользователи
Сообщений: 32
Награды: 0
Репутация: 2
Блокировки:
| Цитата Enforcer ( ) Svanir2, вылеты могут наблюдаться если слишком много выбрано юнитов в переменной или выдается одновременный приказ всем юнитам и начинается рассинхрон с другими игроками. Попробуй поставить в циклах типа Sleep (ждать) 0.1 секунду и проверь остался вылет или нет. Да. действительно, поставил в некоторых триггерах событие "Времени прошло" вместо "Инициализация" и уже никого не выкинуло, видимо проблема была в высокой нагрузке на инициализацию карты. Вроде как проблема отпала, а может просто рандом мне улыбнулся, но скорее всего первое.
|
|
|
|
Samedy_ | Дата: Воскресенье, 14 Июня 2015, 20:44:04 | Сообщение # 12 |
7 уровень
Группа: Проверенные
Сообщений: 371
Награды: 0
Репутация: 18
Блокировки:
| Цитата Svanir2 ( ) поставил в некоторых триггерах событие "Времени прошло" вместо "Инициализация" Все время так делаю. Уже не помню где прочитал, но в какой-то теме на инфо есть пост о том, что событие инициализации карты должно быть только одно (на этом внимание не акцентировалось, но себе на заметку я это не зря взял, видимо).
|
|
|
|