Приветствую, господамы.
Мне тут все уши прожужжали с нытьём о том, что у человека на карте с неплохим шансом посреди игры людей дессинхронизирует (Irina-bot. WC3 1.26). Причину автор найти не может, поэтому обратился ко мне, как к владельцу аккаунта на XGM.
Я сам понимаю, что дело в триггерах, но не могу понять в каком из. Утечек на карте по горло, но вряд ли хоть одна из них способна привести к подобному результату. Грешу на один из тех, что во вкладке Hero Spell. Прошу разбирающихся людей помочь разобраться, чтобы мне не пришлось ковыряться с этим одному (отказывать неудобно).
Файл прилагается.
Разбирать, на самом деле, не так много. Это переделка карты от Близов. Не РПГшка и не сюжетная, так что "авторских" триггеров там по-минимуму.
15.01.2026
= = ======== = = НАШЛИ РЕШЕНИЕ= = ======= = =
Всем спасибо, кто так или иначе помогал с поиском ответов. Точную причину мы не выяснили, зато от дессинхрона избавились:
  1. (маловероятная причина) Выключили почти все триггеры, которые так или иначе усиляли мобов на карте, (триггеров добавлялись способности нейтрало-враждебным юнитам, чтобы они были сильнее)
  2. (вероятная причина) Вырезали с карты лагерь наёмников. Среди прочих наёмников там был очень умудренный, который каждой атакой замедлял + наносил урон всем вокруг себя со 100% шансом, еще он кастовал ярость и таскал с собой ауру...
Автор сказал, что за 6 матчей не было ни одного вылета, что в прежних условиях было невозможным. Надеюсь, что проблем более не возникнет. (Мосты она так и не решилась вырезать, ибо тестили и не вышло вызвать дессинхрон на мосту)
В общем, я думаю, что дело было конкретно в наёмнике. Если кому интересно, как этот тип устроен и как не вляпаться на манер того, как это сделал автор карты - качайте. Карта доступна для скачиваний.
Еще раз всем спасибо!

Это сложно с нуля не зная карты копать всю карту. Автору в этом плане проще искать ошибку.
Пускай начнет с того, что будет отслеживать момент десинка.
  1. Что делали люди?
  2. Какие абилки юзали или какой приказ отдавали перед десинком?
  3. Что происходило на карте и какие игровые события могли в этот момент произойти?
Таким образом автор может локализировать проблемные места (триггеры), где уже разбирать более подробно действия, что там происходят и найти причину.
Далее можно отключать некоторые триггеры и тестить.
Также стоит проверить, можно ли повторить десинк в одиночку или нужно пару человек и тд, чтобы с друзьями потестить. Можно ли повторить десинк гарантированно.
Для этой задачи можно добавить тестовые триггеры, которые телепортируют игроков в нужные точки где был десинк с нужным лвлами и шмотками, чтобы "быстрее" добиться этого бага, если он повторяется в одном месте.
Естественно, с утечками надо бороться.
Также стоит обратить внимание на все триггеры, где используется локальный игрок GetLocalPlayer - часто является причиной десинка при неправильном использовании.
`
ОЖИДАНИЕ РЕКЛАМЫ...
16
Утечек на карте по горло
Вполне может быть причиной внезапно завершения
1
Ydav, ну это же не ошибка и не вылет, это именно что дессинхрон.
27
Принятый ответ
Это сложно с нуля не зная карты копать всю карту. Автору в этом плане проще искать ошибку.
Пускай начнет с того, что будет отслеживать момент десинка.
  1. Что делали люди?
  2. Какие абилки юзали или какой приказ отдавали перед десинком?
  3. Что происходило на карте и какие игровые события могли в этот момент произойти?
Таким образом автор может локализировать проблемные места (триггеры), где уже разбирать более подробно действия, что там происходят и найти причину.
Далее можно отключать некоторые триггеры и тестить.
Также стоит проверить, можно ли повторить десинк в одиночку или нужно пару человек и тд, чтобы с друзьями потестить. Можно ли повторить десинк гарантированно.
Для этой задачи можно добавить тестовые триггеры, которые телепортируют игроков в нужные точки где был десинк с нужным лвлами и шмотками, чтобы "быстрее" добиться этого бага, если он повторяется в одном месте.
Естественно, с утечками надо бороться.
Также стоит обратить внимание на все триггеры, где используется локальный игрок GetLocalPlayer - часто является причиной десинка при неправильном использовании.
1
konvan5, скажи, а GetOwningPlayer считается, или речь только и только сугубо о GetLocalPlayer? И если о том зашла речь, то триггером как выглядит эта функция? Или ее только кодингом вызывать, вручную прописывая в строку? В каких случаях эта функция игрой вообще вызывается? Может ли статься так, что купленный в лавке наёмник может быть причиной, при условии, что у него и способностей триггерных нет?
27
Blackoops, GetOwningPlayer не считается. Это разные вещи.
GetLocalPlayer() вызывается через код только.
Только если через триггеры/код неправильно ее использовал картодел, можно словить дессинк.
Если у наемника есть РО способность, которая даже без триггеров настроена неправильно или использована криво, а может быть триггер ее отловит вместо другой - то может произойти проблема. К примеру когда делаешь абилку на основе молота бурь и триггерно ловишь применение, а у другого юнита тоже есть эта абилка, и она тоже будет ловиться ибо общий id приказа.
26
Экспортируй .wct и скорми нейронке, или ищи localplayer через поиск
11
Зашёл на карту, нашёл 3 причины дессинхов, зафоткал
Загруженные файлы
11
Да, именно на ирине, если вызвать саммона на мосту или сделать выстрел с моста или по челику на мосту, то дессинх может вполне может быть
Вообще это касается любых мостов и подъёмов
1
Tredor46, Э. Мост? Серьезно? А чем это обусловлено? Как выявил? поделись мудростью. Очень любопытно будет послушать, как ты к этому пришёл.
Там какие-то мудренные триггеры разве..? Просто, смотри:
Ранняя версия карты содержала в себе еще больше мостов и не вылетала (При том, что стычки на мосту были основной проблемой баланса, из-за чего их и вырезали). Более новая версия карты содержала в себе столько же мостов (сколько и на скриншоте) и точно так же НЕ вылетала.
Вылеты начались после (как мне сказали) добавления нового героя, наёмников в лагерь и способностей.
1
Tredor46, Ну, в любом случае я передам автору твой ответ. Надеюсь, что на этом всё закончится и эти вылеты прекратятся...
11
Blackoops, смотри, у меня была карта, где очень много-много постов и подъёмов, мы играли в неё с другом, катки длились очень долго, по несколько часов, мы сыграли несколько десятков каток, стабильно, без крашей
В определённый момент, начало дессихронить, дессинх за дессинхом, просто в первые 5-10 минут игры, собственно я тогда очень удивился, а карта на триггеры у меня была довольно-таки маленькая, в итоге я пришёл к тому что дессинх происходит из-за триггера спавна мобов, но сам-то по себе он дессинх вызывать не должен, нашёл какую-то огромную англоязычную статью по дессинхам, там был написана одна из возможных причин "мосты и модъёмы", после многочасовых манипуляций, мой друг научился стабильно с первого раза вызывать дессинх, ему удалось это сделать на карте 64х64, где просто стояли 6 подъёмов и 2 стандартных архимага, вообще на голой карте без триггеров, после мы перенесли всё-всё-всё на карту без мостов и подъёмов, ну и собственно всё
А ещё я Northrend RPG играл, там мост вначале есть, я тролля к мосту заманил чтоб зафармить, а он хитрый, тычку дал и вызвал дессинх
Короче, мосты и подъёмы то вызывают дессинх на постоянной основе, то полностью перестают их вызывать, с чем это связано? Понятия не имею
P.S. Это может быть одной из причин ваших дессинхов, однако в теории их может быть несколько, вот тогда у вас дела гораздо хуже обстоят, но мосты всё-таки, хостя карту на ирине, лучше уберите
13
Проверь не вызываются ли команды для отправки юнитов в бой, на юнита, на декорацию, в область в одном таймере дважды в один период времени. Так как повторный приказ вызывает дисинх в сетевой игре. В локальной нет. Компьютер думает, что игрок не может в 0.1 сек делать два действия сразу.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.