Недавно хотел сделать небольшую карту, скачал множество Триггерных (есть и Jass) способностей в карту, а она десинх. при проверке с игроками... И происходит это на ровном месте! Когда никто особо ничего не делает.
Причем десинх сразу несколько человек! И это бывает 50 на 50. И обычно минуте на 10-15-20. А дальше уже всё норм по идее.
Игроков просто отконекчивает и пишет "Соединение прервано", причем разу нескольких!
Я выложил карту (предварительно удалил всех нест. юнитов и музыку, а то карта весила 7 мб). Ведь десинх бывает из-за триггеров, а все триггеры я оставил.
Можете плз посмотреть из-за чего вылетает? Причем начал делать карту совсем недавно, и там особо моих триггеров пока что нет...
Причем десинх сразу несколько человек! И это бывает 50 на 50. И обычно минуте на 10-15-20. А дальше уже всё норм по идее.
Игроков просто отконекчивает и пишет "Соединение прервано", причем разу нескольких!
Я выложил карту (предварительно удалил всех нест. юнитов и музыку, а то карта весила 7 мб). Ведь десинх бывает из-за триггеров, а все триггеры я оставил.
Можете плз посмотреть из-за чего вылетает? Причем начал делать карту совсем недавно, и там особо моих триггеров пока что нет...
Принятый ответ
Fraps, это просто утечка памяти
десинк вызывают действия происходящие локально (то есть на компьютере 1 игрока они произошли а на компьютере 2 они не происходят)
десинк вызывают действия происходящие локально (то есть на компьютере 1 игрока они произошли а на компьютере 2 они не происходят)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Для начале сделайте карту, а потом уже играйте с игроками, вам еще далеко до мультиплеера.
Отредактирован Fraps
А так карта - дисинхронизируется.. Нету дальше смысла делать пока не исправлю это(
читать весь код?
а так мы бы просто дебаг сделали и узнали что приводит к десинку
к слову по правилам академии ты сам должен был сделать дебаг и скинуть результаты
и если так хочешь чтобы мы проверили код то кидай не карту а j файл
+ десинк бывает ещё из за кривого ланда и кривых моделей
А насчет дебага... Как его сделать то? Это же надо с игроками проверять... Или его по реплею можно?
nvc123:
И тот ли это вообще дебаг, на который я ссылку кинул, или существует лучше..?
главное чтобы лог десинка был
да нужно играть с людьми
составив лог и зная время десинка мы получаем список функций которые могут приводить к десинку
проанализировав их все мы можем узнать что именно вызвало десинк
кэп подсказывает что проанализировать 10 строк кода найденные с помощью дебага намного проще чем анализировать весь код
Fraps, и скинь наконец j файл
Отредактирован Fraps
Получается надо через эту xgm.guru/p/wc3/ifdebug-2 , но там как я не понял куда код вставлять... Во все триггеры что ли..
А триггеры остались (ну кроме САМЫХ простеньких).
Отредактирован nvc123
ибо плохо получается
во первых в j файле весь код а не только триггеры
во вторых там всё записано в джасс и нету никакого гуи и разделения на триггеры
и в третьих (что самое важное) его можно открыть в БЛОКНОТЕ и заюзать поиск по файлу
................
Ну как? Есть хотя бы какие нибудь догадки из-за чего может быть десинх сразу примерно у 3 игроков...
надо анализировать каждую функцию
в твоём файле 20к строк
никто в здравом уме не будет анализировать их все
поэтому нужен лог
ибо 10 функций в 2000 раз проще проанализировать чем 20к функций
делать можешь любым способом
хоть на экран выводить
главное чтобы у меня был список функций которые сработали в момент десинка +- 1 секунда
Отредактирован Fraps
А какие проги можно ещё использовать для лога? Эта у меня не работает - xgm.guru/p/wc3/95728
Отредактирован nvc123
дебаг в варе легко делается и без стороних прог
Отредактирован nvc123
если на гуи то игра - показать сообщение группе игроков
да и вообще есть статья же
поставь на наиболее подозрительные (те которые могли сработать в момент десинка)
и потом кинь что происходило во время десинка (можно просто скрин сделать как только десинк произошёл)
если лог ничего не выявит то придётся сделать его более детальным добавив сообщения ко всем триггерам
P.S. Кстати говоря, я только что заметил, что у меня переменная Hashtable используется аж в 3-х триггерных нестандартных способностях (проверил это удалением Hashtable).
А также 2 раза эта функция как бы создана (как на скрине, но только 2 раза так).
Может ли быть в этом дело? Или с этим всё Ок.
десинк вызывают действия происходящие локально (то есть на компьютере 1 игрока они произошли а на компьютере 2 они не происходят)