Вылетает крата при игре через гарену
Я отследил пару закономерностей:
1 - Карта вылетает когда любой игрок использует любую способность призыва (питомец, демон и тд.)
2 - Карта вылетает у всех, кроме хоста (неважно кто использовал способность)
Помогите пожалуйста, карту залил

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

ustinas:
т.е. просто нужно перестать делайть выбор призванных сущ для игрока?
Делай вот так:

Koladik:
Не очень понимаю почему локальный вызов forgoup с этими закоменченными внутри командами десинкает да и с не закоменченными не понимаю. Вроде все логично.
ForGroup(group whichGroup, code callback)
Для обработки каждого юнита в группе создается поток (даже если в группе 0 юнитов, все равно создастся). Именно создание потока только у одного из игроков и приводит к дисконнекту. Выбор ни при чем.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
4 года назад
2
Похожие вопросы:

ответ
Нужно использовать всем игрокам эту прогу и скинуть логи потом.
ответ
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.
ответ
nvc123, увы там дефолт ИИ, недаст особо управлять мобами.
Щяс скину пример из доты но более понятный, как заставить нейтралов ходить и атаковать.
Вот вам пример контроля нейтралами.
ответ
ремув бафф поставь в самое начало
всегда сначала удаляй маркер, если благодаря ему ты отловил этот урон
ответ
У меня было однажды нечто похожее с нестандартным зданием. Так как ошибку найти не удалось (ну нет нифига там, даже код не начинал писать ещё), я списал всё на рандомный баг редактора и удалил здание, а затем пересоздал.

0
32
4 года назад
0
Экспорт триггеров, поиск по тексту "GetLocalPlayer"

хотя бы минимум стоит проверить именно это.. так же стоит проверить все триггеры с событием "призывает боевую единицу"
0
4
4 года назад
0
GetLocalPlayer
а проверить триггеры на наличие или отустствие GetLocalPlayer?

дело в том, что у меня все триггеры гуи, я понятия не имею где искать, ведь их там сотни
0
32
4 года назад
0
так вот... этот способ хорош даже для гуи, особо не надо разбираться
Редактор триггеров => файл => экспорт триггеров=> открываем блокотом=> поиск по тексту => GetlocalPlayer
Как узнать событие на Jass для гуи триггера, создаём триггер пустышку с событием 1 всё. с событие "Призывает боевую единицу"? Получаем событие типа "Even_unit_summon", так же ищем по тексту, смотрим ага, используется 20 раз... Если гуи триггеры называется не "копиякопиябезымянныйтриггер", а хотя бы PrizivReksar, ProzivVolka228, то названия от триггеров ищутся легко, оно будет чуть выше от события в том же блоке текста
А далее зная уже название триггера, ищешь все эти гуи триггеры с призывом, отключаешь все и по одному включаешь, или отключаешь по одному
Тестить самому с собой можно через KLoader
0
4
4 года назад
0
Bergi_Bear:
так вот... этот способ хорош даже для гуи, особо не надо разбираться
Редактор триггеров => файл => экспорт триггеров=> открываем блокотом=> поиск по тексту => GetlocalPlayer
Как узнать событие на Jass для гуи триггера, создаём триггер пустышку с событием 1 всё. с событие "Призывает боевую единицу"? Получаем событие типа "Even_unit_summon", так же ищем по тексту, смотрим ага, используется 20 раз... Если гуи триггеры называется не "копиякопиябезымянныйтриггер", а хотя бы PrizivReksar, ProzivVolka228, то названия от триггеров ищутся легко, оно будет чуть выше от события в том же блоке текста
А далее зная уже название триггера, ищешь все эти гуи триггеры с призывом, отключаешь все и по одному включаешь, или отключаешь по одному
Тестить самому с собой можно через KLoader
так, я внимательно изучу всю предоставленную вами инфу, но у меня уже есть встречное замечание:
!карта вылетает не при триггерных призывах, а даже при использовании иллюзий мастера клинка(поменял цифры в редакторе название и иконку), а единственный триггер, который этому сопутствует выглядит примерно так

GetLocalPlayer
я воспользовался вашим советом, но там ни 1 функции GetLocalPlayer

и ни 1 функции Even_unit_summon
возможно проблема в чем то другом
Делаю эту карту наверное с 2015 года, вчера сели тестировать и такое западло(((

экспорт импортов я залил
Загруженные файлы
0
32
4 года назад
0
я воспользовался вашим советом, но там ни 1 функции GetLocalPlayer
Это и хорошо, часть возможных популярных проблем уже исключена
Хотя файлы корявые какие-то... а попытка призыва с полностью отключенными триггерами?
В общем если никто не поможет, то только вечером посмотрю карту
0
4
4 года назад
0
блин клоадер выдает ошибку
Загруженные файлы
0
32
4 года назад
0
блин клоадер выдает ошибку
ну это уже отдельная тема, хотя проблемы клодером решаются переустановкой варика/ созданием нового пользователя/ переустановкой винды/ клодером из другого источника
0
17
4 года назад
0
В призыве чернокнижником стража проблему вызывает вот этот
код
А именно - строчка с выбором войск
Если детально, то вызывает проблему любой локальный вызов
ForGroup()
Загруженные файлы
0
32
4 года назад
0
Vlod, а вот и ответ GetLocalPlayer
0
9
4 года назад
Отредактирован Koladik
0
любой локальный вызов
Не очень понимаю почему локальный вызов forgoup с этими закоменченными внутри командами десинкает да и с не закоменченными не понимаю. Вроде все логично.
0
4
4 года назад
0
т.е. просто нужно перестать делайть выбор призванных сущ для игрока?
2
32
4 года назад
2
выбор - действие локальное, в общем ты у 1 игрока выбираешь, а у другого нет, и действия разумеется у 1 игрока делаешь, что приводит к рассинхрону и вылету других
2
17
4 года назад
2
ustinas:
т.е. просто нужно перестать делайть выбор призванных сущ для игрока?
Делай вот так:

Koladik:
Не очень понимаю почему локальный вызов forgoup с этими закоменченными внутри командами десинкает да и с не закоменченными не понимаю. Вроде все логично.
ForGroup(group whichGroup, code callback)
Для обработки каждого юнита в группе создается поток (даже если в группе 0 юнитов, все равно создастся). Именно создание потока только у одного из игроков и приводит к дисконнекту. Выбор ни при чем.
Загруженные файлы
Принятый ответ
0
18
4 года назад
0
Помню в одной мапе был триггер, там была проверка на то выделен ли юнит или нет
И там рандомно вылетали игроки из за десинхрона
Как же эта хрень мне нервы проела когда попросили помочь найти проблему...
0
4
4 года назад
0
Спасибо всем! Помогло, только что тестил я и еще 5 человек и работало)
Закрываю тему.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.