XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
YellowStar
poon
offline
Опыт: 15,144
Активность:
Было локальным - стало общим?
Хотелось бы локальные данные выводить всем игрокам (интегеры).
Сделал функцию где создается юнит - локально пикается, проверяется на выбор и добавляем к общему значению. Функция вышла очень медленная (при значении сто - расчет идет секунд 5).
Так собственно вопрос, можно ли как нить лок данное - сделать общим (синкСторедИнтеджер - не предлагать , пашет некоректно)
narayan добавил:
Желательно более быстрый чем я сказал :)
Старый 03.02.2010, 01:28
Vampirrr
O_o
offline
Опыт: 19,286
Активность:
а не мог ты подробнее изложить суть? а то даже неясно, что за значение 100..
Старый 03.02.2010, 05:27
DioD

offline
Опыт: 45,134
Активность:
синхронизация выполняется крайне медленно.
Старый 03.02.2010, 07:18
YellowStar
poon
offline
Опыт: 15,144
Активность:
Ну синхронизирует кэш он быстро, только вот синхронизирует значение с хостом, а если брать кого нить еще 0.о то они в ауте их данные обнуляются.
Конечно можно будет создавать группу юнитов которая будет пикатся (одни за десятки, другие за сотни итд.) но вот незадача - для 12 игроков (учитывая что у меня числа 10к) будет 60 юнитов, и это для каждои переменнои, а если их много тт. Может есть еще способ? К примеру через ТригСинхСтарт (не понял как пашет сия система)
Старый 03.02.2010, 12:08
DioD

offline
Опыт: 45,134
Активность:
тоадкоп синхронизировал одним юнитом и набором абилок которые вызываются через форс юи кей.
насколько мне известно этот метод куда быстрее чем все остальные и обеспечивает полноценную синхронизацию, так как можно иметь абилку под число 0-9 + 3 служебных знака, например лайнбрейк пробел и точка.
таким нехитрым образом можно заставить локальную машину сообщить игре локальные данные которые попадут на машины всех игроков разом.
кстати я бы хотел протестировать сохранение кода в прелоадер и сообщение его хосту, демокарта будет через 2-3 часа если есть желание приглашаю.
DioD добавил:
вот карта как бы частично работает и синхронизация и прочие необходимые вещи.
Прикрепленные файлы
Тип файла: w3x Sharp Works TEST.w3x (37.6 Кбайт, 20 просмотров )
Старый 03.02.2010, 16:48
YellowStar
poon
offline
Опыт: 15,144
Активность:
Заценимс..
narayan добавил:
Не. Инициализация кэша в локальном фаиле - десинк. Я передаю данные 3 способами - ограничение обзора по координатам , местоположение камеры по трем осям и гандикап игрока. Все работают локально (хотя последний десинк вызывает если умирает юнит игрока (я Юзаю 13 и 14))
narayan добавил:
Не. Инициализация кэша в локальном фаиле - десинк. Я передаю данные 3 способами - ограничение обзора по координатам , местоположение камеры по трем осям и гандикап игрока. Все работают локально (хотя последний десинк вызывает если умирает юнит игрока (я Юзаю 13 и 14))
narayan добавил:
Плюс, система почему то после перезаписи значения возвращает предыдущее - что очень странно 0.о
Старый 03.02.2010, 21:04
DioD

offline
Опыт: 45,134
Активность:
тестированно в сети, локальное создание кеша не вызывает десинка, так как другие игроки тоже получают локальные кеши, долго с этим мучился по началу, не учёл что кеш каждый раз создаёт новый указатель, хотя адресное пространство остаётся неизменным.
Старый 03.02.2010, 21:10
YellowStar
poon
offline
Опыт: 15,144
Активность:
Да я уже понял как ты это синхронизировал. То же по сетке потестил, работает раз в 50 быстрее моего (за что спасибо)

в целом тогда моя система готова, если интересно могу поделится в личку )
Старый 03.02.2010, 21:19
DioD

offline
Опыт: 45,134
Активность:
само собой интересно
вот только результаты тестирования не очень хорошие, я могу синхронизировать данные с любым игроком, но вот любой игрок не может сделать это в отношении меня, так как прелоадер создаёт кеши, в случае отсутствия прелоадера синхронизация провалиться.
тоадкоп нашел солюшин во включении нулевого прелоадера в фаил карты и загрузки его в случае отсутствия сохранённого, это решает проблему, но не включено в данную карту.
кроме того были разработки еще более быстрого синхронизатора, вот только там много веселья, если получиться то синхронизация будет протекать максимально быстро (менее секунды) и не тратить 100500 кешей за запуск.
для завершения работы мне нужно больше информации.

Отредактировано DioD, 03.02.2010 в 21:37.
Старый 03.02.2010, 21:32
YellowStar
poon
offline
Опыт: 15,144
Активность:
Хорошо. Сейчас оформлю свои метод (с твоим методом синхронизации данных) жди минут через 10.
Старый 03.02.2010, 21:51
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:50.