Недавно хотел сделать небольшую карту, скачал множество Триггерных (есть и Jass) способностей в карту, а она десинх. при проверке с игроками... И происходит это на ровном месте! Когда никто особо ничего не делает.
Причем десинх сразу несколько человек! И это бывает 50 на 50. И обычно минуте на 10-15-20. А дальше уже всё норм по идее.
Игроков просто отконекчивает и пишет "Соединение прервано", причем разу нескольких!
Я выложил карту (предварительно удалил всех нест. юнитов и музыку, а то карта весила 7 мб). Ведь десинх бывает из-за триггеров, а все триггеры я оставил.
Можете плз посмотреть из-за чего вылетает? Причем начал делать карту совсем недавно, и там особо моих триггеров пока что нет...

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

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