"Десинхрон" и всё о нём!
Доброго времени суток. Я делаю небольшие карты, в которые потом играю с друзьями по локалке или по гарене.
Так вот... У меня в последней опять появились проблемы с десинхроном!
Я хочу узнать все причины, из-за которых может появиться дисинхрон!
Одну причину я нашёл сам... Когда нейтрально враждебные юниты атакуют летающих юнитов, у которых миссы, то если они мисанут - то в 50% случаев вылетали пол игроков с мапы!
И вот недавно я создавал карту - обычная мапа на развитие (переделанная)!
Вот что я добавил:
Нестандартные спелы на ГУИ и Джасс - героям.
Переделал 2 расы (юниты, модели, звуки и тд).
Изменил звуки/текст/картинки в константах. (к примеру иконка дерева выглядит по другому, и звук когда на союзника напали другой и тд). Что-то ещё там менял.
Сделал простенькие скрипты.
Ну и добавил ИИ через "редактор ИИ" этим расам...
И бывает что вылетает игрок с дисинхроном! Причём тупо на ровном месте! Он ничего не делал. Только отдал может приказ герою/солдатам двигаться! И ВСЁ! Из-за чего дисинхрон? Я смотрел реплей - ничего такого не происходит вообще! Ни триггеров, ни спелов... Вообще ничего не заметил.
Так вот.... Напишите плз из-за чего может происходить дисинхрон! Все причины!
Вдруг я найду в своей мапе что-то похожее...

Лучший ответ:
Fraps:
Там короче когда я воду создавал, то криво земля шла... Как бы это объяснить... Тыкаю создать воду - рядом создаётся земля...
Пришлось как-то скрыть в текстурах растений этот баг.
Это из-за него может быть дисинхрон?
Нет. Это не баг, а корявый ланд дизайн и из за этого дропать не будет. Уверен на 99%, что десинх кроется в "GetLocalPlayer"



Просмотров: 1 989

» Лучшие комментарии


nvc123 #1 - 10 месяцев назад 7
GetLocalPlayer
кривая модель
кривой ланд
фаза луны
Fraps #2 - 10 месяцев назад 0
nvc123:
GetLocalPlayer
кривая модель
кривой ланд
фаза луны
То есть скорей всего у меня кривая модель или ланд...
А в чём эта кривость? Ну к примеру хотя бы... Как понять кривой ланд...
nvc123 #3 - 10 месяцев назад (отредактировано ) 2
Fraps, кривой/с ошибками это ланд в котором есть баг
в редакторе/игре он никак не отображается и единственный способ найти его это читать файл ланда по байтам
Fraps #4 - 10 месяцев назад 0
nvc123:
Fraps, кривой/с ошибками это ланд в котором есть баг
в редакторе/игре он никак не отображается и единственный способ найти его это читать файл ланда по байтам
хммм.. Ну вообще у меня кривой ланд. Но я это скрыл.
Там короче когда я воду создавал, то криво земля шла... Как бы это объяснить... Тыкаю создать воду - рядом создаётся земля...
Пришлось как-то скрыть в текстурах растений этот баг.
Это из-за него может быть дисинхрон?
И кстати, когда дис. произошёл, то вроде игроки близко к этому месту не подходили... Если это влияет.
Astra #5 - 10 месяцев назад (отредактировано ) 0

Fraps:
Там короче когда я воду создавал, то криво земля шла... Как бы это объяснить... Тыкаю создать воду - рядом создаётся земля...
Пришлось как-то скрыть в текстурах растений этот баг.
Это из-за него может быть дисинхрон?
Нет. Это не баг, а корявый ланд дизайн и из за этого дропать не будет. Уверен на 99%, что десинх кроется в "GetLocalPlayer"
ClotPh #6 - 10 месяцев назад 0
А можно вообще подробнее раскрыть тему влияния кривого ланда на десинхрон?
Для меня, например, на данный момент это звучит как влияние непомытых волос на качество усваиваемых на уроках знаний - т. е. теоретически, конечно, некая связь может быть, но как минимум странновато...
nvc123 #7 - 10 месяцев назад (отредактировано ) 2
но как минимум странновато...
это очень странно
но это проверено на практике
моя теория: баг в ланде (а точнее рельефе) приводит к разным результатам на разных компах/видеокартах из за чего и просходит десинк
а вообще список возможных причин десинка в вар3 очень короткий и состоит лишь из 1 пункта :
  1. любая хрень
Astra #8 - 10 месяцев назад 0
Вылеты с карты по причине взаимодействия с ландшафтом наблюдал только, если юнит трется в непосредственной близости ее границ или выходит за них. И то в большинстве случаев игра крашится без десинхов.
quq_CCCP #10 - 10 месяцев назад 0
nvc123, Ну почему, порой без локал плеера можно вылететь из того что у каждого игрока значение в переменной типа real немножно другое...
Такое бывает при измерении длинны файла звука (есть такая нативка) но лучше вбивать длинну в ручную, потому что длинна файла звука у разных игроков может быть немножко разной.
Ретурн баг на строках, юз строк в качестве ключей - тоже десинхи.
Fraps #12 - 10 месяцев назад (отредактировано ) 0
Эх....... У меня в мапе нет GetLocalPlayer... А вот Дисинхрон есть!
Видимо не судьба мне от него избавиться... Причем "вылетают" игроки рандомно, когда почти ничего не происходит.
DracoL1ch #13 - 10 месяцев назад 2
то, что ты его не используешь, не значит, что его нет. его могут использовать функции близзов, которые ты мог напихать в карту
Fraps #14 - 10 месяцев назад 0
DracoL1ch:
то, что ты его не используешь, не значит, что его нет. его могут использовать функции близзов, которые ты мог напихать в карту
Да не, я все триггеры просмотрел - нету GetLocalPlayer
DemonoiD #15 - 10 месяцев назад 2
Fraps, карту в студию.
Bornikkeny #16 - 10 месяцев назад 0
Ох, чует мой зад, что со звуками тут проблема.
Небось, при каждом проигрывании звука создаешь этот самый звук?
Fraps #17 - 10 месяцев назад (отредактировано ) 0
DemonoiD:
Fraps, карту в студию.
У меня сейчас доступа к ноуту с картой нету, только в субботу будет.
Да и я уже знакомому показывал (который в триггерах разбирает) - так что дело не в них... Да и GetLocalPlayer там нету, и все спелы на hiveworkshop проверены...
Bornikkeny:
Ох, чует мой зад, что со звуками тут проблема.
Небось, при каждом проигрывании звука создаешь этот самый звук?
Хм ну у меня озвучка у юнитов заменена (у некоторых). Просто через редактор звука Бугаю вставил новые звуки. Ну и зданиям ещё.
А так когда к примеру башня стреляет или катапульта - то триггер "проверка - этот юнит атакует, и на его месте воспроизводится звук". Ну стандартный триггер, что бы при выстреле звуки были.
Вот... Но не думаю что из-за этого дисинхрон может быть.
Fraps #18 - 10 месяцев назад (отредактировано ) 0
У меня ещё предметы без моделек (поставил несуществ. модельку), что бы их только комп подберал - а игрок не видел. Но вряд ли в этом дело...
А вообще скинте плз как проверить (хотя бы примерно) кривую модель и кривой ланд... А то моделек не мало, да и ланд вполне кривой может быть.. Я его долго делал)
Bornikkeny #19 - 10 месяцев назад 2
Скрины или куски кода воспроизведения звука.
Звук - это объект, который создается и только потом воспроизводится.
Steal nerves #20 - 10 месяцев назад (отредактировано ) 2
Fraps, вообще-то вряд ли подскажут как проверить кривой ландшафт или кривую модель. я не знаю, что там может такого быть. есть только статья дока про GetLocalPlayer а так мутно понимаю все эту синронизацию. попробуй модель убрать или ландшафт заново переделать
nvc123 #21 - 10 месяцев назад 2
Fraps, никак не проверить
только если открыть файлы в хекс редакторе и анализировать каждый байт
Fraps #22 - 10 месяцев назад -3
Да эт жесть конечно.... Но благо скоро гарену переделают, и можно будет реконект сделать как в Доте 2 - это в корне решит эту проблему)
quq_CCCP #23 - 10 месяцев назад -2
Fraps:
Да эт жесть конечно.... Но благо скоро гарену переделают, и можно будет реконект сделать как в Доте 2 - это в корне решит эту проблему)
Эмм рекконект дело скорее не платформы а хост бота.
Doc #24 - 10 месяцев назад -5
Если бы можно было сделать реконнект как в доте проблемы десинхрона не было бы в принципе, но реконнект если и будет то будет скорее как в хотсе - по 10 минут ожидания как при перемотке реплея, только хуже.
Fraps #25 - 10 месяцев назад 0
quq_CCCP:
Fraps:
Да эт жесть конечно.... Но благо скоро гарену переделают, и можно будет реконект сделать как в Доте 2 - это в корне решит эту проблему)
Эмм рекконект дело скорее не платформы а хост бота.
Не, именно игроков. Я спрашивал у них.
Doc:
Если бы можно было сделать реконнект как в доте проблемы десинхрона не было бы в принципе, но реконнект если и будет то будет скорее как в хотсе - по 10 минут ожидания как при перемотке реплея, только хуже.
а заодно и проблему фаталов... Если хост не вылетит)
Хотя там наверное даже хост перезайти сможет, но насчет этого не знаю.
nvc123 #26 - 10 месяцев назад 0
а как реконект может помочь при десинхроне?
вар ведь кикает читера нафиг
а конектиться заново каждые 5 минут думаю никто не будет
особенно если десинк у хоста будет
darkowlom #27 - 10 месяцев назад -2
nvc123, десинхрон это скорее баг, чем античит
nvc123:
а конектиться заново каждые 5 минут думаю никто не будет
Ну это надо хорошо накосячить, дабы кикало каждые 5 минут
Diaboliko #28 - 10 месяцев назад 0
а как реконект может помочь при десинхроне?
При реконнекте, внезапно, клиент синхронится с актуальными данными сервера
nvc123 #29 - 10 месяцев назад 0
десинхрон это скорее баг, чем античит
десинхрон это баганый античит
ClotPh #30 - 10 месяцев назад 0
Мемхак вот уже сделали, хотя кто-то говорил раньше о недостижимости такого.
Если уж потрошить вар и дальше (той или иной версии), по-хорошему и о вшивании реконнекта можно задуматься прямо в движок, если у кого будут силы и желание, ведь это одна из вещей, которых реально не хватает.
Я всегда говорю, что из всего можно сделать все, вопрос, насколько это каша из топора.
DracoL1ch #31 - 10 месяцев назад 0
всегда можно было делать что хочешь, мемхак удобен лишь за счет того, что юзеру не надо ничего устанавливать или делать, запустил и играешь. полноценный реконнект пытались делать году в 2010, но дота2 убила эти планы - слишком дохера усилий за нихера и меньше
Doc #32 - 10 месяцев назад 0
При реконнекте, внезапно, клиент синхронится с актуальными данными сервера
Лол, удачи. Если у тебя по ходу игры произошла ошибка реконнект при локстепе точно таким же образом эту ошибку вопроизведет и тебя просто опять кикнет.
Fraps #33 - 10 месяцев назад (отредактировано ) 0
nvc123:
десинхрон это скорее баг, чем античит
десинхрон это баганый античит
А кстати насчёт "Десинхрон из-за рельефа". Я заметил вот такую штуку, и она никак не убирается, каждый раз возникает в другом месте... Не может ли из-за неё быть десинхрон случаем?
прикреплены файлы
nvc123 #34 - 10 месяцев назад 0
Fraps, на твоём скрине ничерта не видно
особенно под дарквулом
и напиши что именно тебя не устраивает на скрине
Doc #35 - 10 месяцев назад 0
Найс два минусатора которые не знают как работает локстеп хд
Реконнект в варкрафте это то же самое что загрузка реплея только в мультиплеере. И если когда-либо встречались с багаными реплеями где в определенный момент идет в жопу то могли бы заметить что это не фиксится вообще никак. Одно неправильное действие в любой точке реплея и с этого момента все "эффектом бабочки" начинает идти не так.
Естественно если десинхрон из-за рандомного бага клиента то тут уже надеяться не на что.
IceFog #36 - 10 месяцев назад (отредактировано ) 0
Doc, как вариант, можно сохранить игру, скинуть её вылетевшему, а тот её загрузит и, при необходимости, обработает все ходы, которые произошли пока он загружался.
Если сохранить игру после багнутого момента то, возможно, все пройдет успешно.
Doc #37 - 10 месяцев назад 0
Гениально. Объясняю: сохранение и загрузка игры это абсолютно Т О Ж Е С А М О Е что и реплей и реконнект. ПОЛНОСТЬЮ. Это просто проигрывание всех действий до нужного момента. Очнитесь ё-маё.
Fraps #38 - 10 месяцев назад 0
nvc123:
Fraps, на твоём скрине ничерта не видно
особенно под дарквулом
и напиши что именно тебя не устраивает на скрине
Вот такие штуки. В этом месте корявится рельеф.
прикреплены файлы
nvc123 #39 - 10 месяцев назад 0
Fraps, это обычный баг клифов
он не должен влиять на десинк
как я говорил ранее кривой ланд не виден визуально
т.е. ты его не увидишь
никак
смирись
кроме того с вероятностью в 99% проблема в триггерах