Приветствую, имеется длл с отловом нажатий клавиш клавиатуры, с которой в jass коде карты вызывается функция события этого самого нажатия кнопок, так вот, суть вопроса в том, как бы синхронизировать это между клиентами? Или может есть какие ни будь альтернативы? Десинхронизация происходит при срабатывании триггера( нажатии кнопки), т.е. от вызова функции длл`ки. P.s. Иных действий на это событие не производится, длл лежит в архиве карты, и инжектится при ее старте.
`
ОЖИДАНИЕ РЕКЛАМЫ...
20
Ну, десинх происходит, ибо вызываемый код не вызывается у других (так как кнопка не нажата), как именно делается обработка нажатий и есть ли общий триггер под это, как это делал допустим ENAlexey для RenderEdge? Если нет, то советую изучить: github.com/ENAleksey/RenderEdge/blob/master/RenderEdge/Source/Cu...
А точнее TriggerRegisterKeyEvent.
15
Unryze, разве Алексей делал данное событие синхронным?
20
Unryze, разве Алексей делал данное событие синхронным?
Ну, оно по-крайней мере построенно правильно, но вроде и оно не синхронное, просто гадать как реализовано у автора - тяжеловато.
1
Ну, десинх происходит, ибо вызываемый код не вызывается у других (так как кнопка не нажата), как именно делается обработка нажатий и есть ли общий триггер под это, как это делал допустим ENAlexey для RenderEdge? Если нет, то советую изучить: github.com/ENAleksey/RenderEdge/blob/master/RenderEdge/Source/Cu...
А точнее TriggerRegisterKeyEvent.
Благодарю за наводку с репозиторием. Имеете ввиду под общим триггером, нативный ли он? В целом, даже с идентичным кодом от render edge результат не меняется, если судить по логике, то код события должен выполнятся у всех, реагируя лишь на команды локального игрока и возвращая нужные данные именно ему (нажатия), в правильную сторону копаю?

Unryze, разве Алексей делал данное событие синхронным?
Ну, оно по-крайней мере построенно правильно, но вроде и оно не синхронное, просто гадать как реализовано у автора - тяжеловато.
Так ничего же не поменяется по сути, даже если взять то или иное исполнение, проблема ведь общая - нету синхронизации
20
Ну, десинх происходит, ибо вызываемый код не вызывается у других (так как кнопка не нажата), как именно делается обработка нажатий и есть ли общий триггер под это, как это делал допустим ENAlexey для RenderEdge? Если нет, то советую изучить: github.com/ENAleksey/RenderEdge/blob/master/RenderEdge/Source/Cu...
А точнее TriggerRegisterKeyEvent.
Благодарю за наводку с репозиторием. Имеете ввиду под общим триггером, нативный ли он? В целом, даже с идентичным кодом от render edge результат не меняется, если судить по логике, то код события должен выполнятся у всех, реагируя лишь на команды локального игрока и возвращая нужные данные именно ему (нажатия), в правильную сторону копаю?

Unryze, разве Алексей делал данное событие синхронным?
Ну, оно по-крайней мере построенно правильно, но вроде и оно не синхронное, просто гадать как реализовано у автора - тяжеловато.
Так ничего же не поменяется по сути, даже если взять то или иное исполнение, проблема ведь общая - нету синхронизации
Нажатая кнопка не синхронизируется сама по себе, представь ситуацию, вот ты нажал кнопку Q, это сработало у тебя локально, то бишь состояние кнопки на твоей клавиатуре изменилось. А вот другой игрок ничего не нажал, собственно тебе нужно как-то сообщить другим игрокам, что именно ты нажал кнопку Q - это и есть понятие синхронизации.
Можно конечно через геймкеш или синком на юнитах это делать, но простого решения пока что нет, я и Ev3nt работаем над полноценным новым патчем, куда мы планируем завести почти всё от рефа, включая синх кнопок и так далее, но пока что придётся шаманить. :(
Чтобы оставить комментарий, пожалуйста, войдите на сайт.