ARHUI
offline
Опыт:
3,341Активность: |
Desync? А я в игре...
Не знаю что такое десинк, ни разу не сталкивался, однако всегда думал что это когда вар вылетает во время мультиплея, так вот добавил в карту новый спелл и где то в середине игры (может даже не из-за спелла) мне игра сообщила что все ливанули, хорошо был брат на скайпе, он сказал что ему написали будто бы я ливанул, через неоторое время у него тоже все ливанули... Игра при этом продолжалась. Вопросы:
Это десинк или что? Есть ли статьи конкретно по десинкам и методам борьбы с ними? Что вызывает подобное поведение? Как бороться? |
26.04.2011, 17:49 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
это сплит называется, разновидность десинка. все просто, desynchronization или десинхронизация происходит изза несоответсвия данных у разных игроков во время работы карты. может быть спровоцировано чем угодно, от неправильного использования GetLocalPlayer() (локальное создание хендлов) до различий в архивах игры (да да, и такое бывает) |
26.04.2011, 17:53 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Есть ли статьи конкретно по десинкам и методам борьбы с ними?
|
26.04.2011, 18:02 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
поочерёдно выключать все GetLocalPlayer() и проверять на наличие проблемы |
26.04.2011, 18:22 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Velociraptor
В пространстве и времени
offline
Опыт:
14,801Активность: |
Цитата:
Верно ли я понял, что в таком случае сама карта никак не виновата в том, что на ней происходят десинки? И различаются ли архивы игры у лицухи и пиратки? |
|
26.04.2011, 18:37 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Проблема в том что каждый раз надо создавать игру на батле для проверки чего-то что может и не выползти...
|
26.04.2011, 18:41 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
|
26.04.2011, 18:45 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
именно так. недавно с другом тестили карту, у него постоянно десинкало вначале игры. сначала подумал что дело в карте, хотя на инициализации все чисто. проверили на мили карте - тоже самое, заново скачал вар - все прошло |
26.04.2011, 19:09 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Цитата:
разве GetLocalPlayer() не для того создан чтобы ссылаться на локального игрока DisplazTextToPlayer(GetLocalPlayer(),0,"text") - покажет каждому игроку текст данные о котором не пойдут в сеть, или я не прав? |
|
26.04.2011, 20:42 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
пожалуйста, десинк |
26.04.2011, 20:45 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
Десинки бывают только от попыток локальной работы с синхронизуемыми данными.
Текст на экране, камера и прочая показуха не синхронизуется. |
26.04.2011, 20:47 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
почему bj функции
Код:
всегда делают эту проверку? |
26.04.2011, 20:50 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
Не должно вызвать. |
26.04.2011, 20:51 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
разве сразу писать
call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, message) не разумно? ARHUI добавил: если я хочу всем игрокам одно и тоже сообщение вывести ARHUI добавил: у меня во всем коде GetLocalPlayer() встречается: Код:
Тут есть проблемы? ARHUI добавил: могу предположить что при обращении к глобальной переменной происзодит сбой set r=udg_hero_spawn_reg[udg_p_numbers[GetPlayerId(GetEnumPlayer())]] ? ARHUI добавил: локальные переменные ведь не синхронизируются - компы надо будет по шине соединять чтобы успеть синхронизировать)) ARHUI добавил: Хотя нет, все переменные, которым задаются значения - локальные.... |
26.04.2011, 21:19 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Anufis
offline
Опыт:
6,290Активность: |
Цитата:
Локально будет создана локация. У одного игрока создана, у всех остальных нет. делай выводы об адресации хэндлов |
|
26.04.2011, 21:25 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
ARHUI, ну самое простое - не создавай хендлы для через GetLocalPlayer(). Ещё функции не стоит запускать через него. |
26.04.2011, 21:35 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
такая конструкция вызывает десинк. (проверено) напрямую в аргументы локалплеер крайне нежелательно сувать. создаешь хендл под локалплеером как выше сказали |
26.04.2011, 21:37 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
Тоесть абсолютно однозначно это место надо поправить, иначе неизбежны пусть и нерегулярные ошибки?
|
26.04.2011, 21:50 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
однозначно нужно не использовать локации
переменные не синхронизируются, синхронизируются хендлы (объекты) |
26.04.2011, 21:51 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ARHUI
offline
Опыт:
3,341Активность: |
а как иначе мне камеру туда переместить? Ей нужен локейшн.
|
26.04.2011, 22:09 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|