PrototypeX Posted December 13, 2016 Share Posted December 13, 2016 Всем привет, в процессе разработки игрового мода, не могу решить пару вопросов. 1. При присоеденении прицепа к грузовику, у того, кто цепляет - все в порядке, другие же видят как голова едет гораздо дальше чем прицеп, т.е. между ними промежуток (иногда огромный). 2. При езде на велосипеде, зависают или изменяются произвольно анимации езды или положения игрока на велосипеде (например игрок едет на нем лежа или вовсе стоит на велосипеде). 3. Как во время разработки кастомной системы бана/тюрьмы/блокировки чата, расчитывать временной интервал например бан на 30 дней, значит что в MySQL добавляется запись о том, что для определенного игрока срок бана заканчивается через ИМЕННО 30 дней, а по тюрьме, например через 40 минут? Временные интервалы как реализовать в MySQL понятно, не понятно как полученную информацию на сервере (в формате ngnix (time)) расчитывать интервалом как например в той же функции mySQL. Link to comment
kashtesov Posted December 14, 2016 Share Posted December 14, 2016 1. Баг 2. Баг 3. timestamp можно получить как в МТА, так и в SQL, скорее всего тебе это надо, но это не точно. Link to comment
PrototypeX Posted December 14, 2016 Author Share Posted December 14, 2016 18 hours ago, SalwadoR said: 1. Баг 2. Баг 3. timestamp можно получить как в МТА, так и в SQL, скорее всего тебе это надо, но это не точно. 1 и 2 пункты, баги именно МТА или с моей стороны может быть косяк? За пункт 3 спасибо, попробую повнимательней изучить timestamp метки в LUA/MTA! Link to comment
kashtesov Posted December 15, 2016 Share Posted December 15, 2016 18 hours ago, PrototypeX said: 1 и 2 пункты, баги именно МТА или с моей стороны может быть косяк? МТА Link to comment
Fabervox Posted December 18, 2016 Share Posted December 18, 2016 @PrototypeX, в мта есть следующие функции: getElementSyncer ( theElement ) setElementSyncer ( theElement, thePlayer ) Суть в том, что любой динамичный объект, просчитывается либо каждыми игроками в отдельности, либо одним, и соответственно данные поступают уже от него другим. Следовательно на такую манипуляцию, накладываются сначала задержки синхронизации клиент-сервер между syncer и сервером, затем между сервером и игроками которые находятся в зоне синхронизации объекта. Всё это конечно порождает определенного рода лаги, и не всегда просто их решить. В сущности ваша задача компенсировать не синхронность, в том месте где она вас не устраивает, самая крайняя мера в конкретном случае с прицепом, это вообще не синхронизирующийся объект. По второму пункту, речь о том как видят другие или он сам? Если другие, то однозначно мта, и решить не так уж просто, если возможно. А если он сам, то тут уже и у вас может быть косяк, в любом случае проверять и применять/отменять анимацию должно помочь. А что непонятного с 3м пунктом, я не пойму. Вы на тему того что у вас за формат времени, википедию или поиск использовали? Unix-время оно в ближайшее время не планирует меняться, поэтому это всегда секунды от конкретной даты. Интервалы между числами, они и в Африке интервалы. Link to comment
PrototypeX Posted December 20, 2016 Author Share Posted December 20, 2016 (edited) On 18.12.2016 at 10:46 PM, fabervox said: @PrototypeX, в мта есть следующие функции: getElementSyncer ( theElement ) setElementSyncer ( theElement, thePlayer ) Суть в том, что любой динамичный объект, просчитывается либо каждыми игроками в отдельности, либо одним, и соответственно данные поступают уже от него другим. Следовательно на такую манипуляцию, накладываются сначала задержки синхронизации клиент-сервер между syncer и сервером, затем между сервером и игроками которые находятся в зоне синхронизации объекта. Всё это конечно порождает определенного рода лаги, и не всегда просто их решить. В сущности ваша задача компенсировать не синхронность, в том месте где она вас не устраивает, самая крайняя мера в конкретном случае с прицепом, это вообще не синхронизирующийся объект. По второму пункту, речь о том как видят другие или он сам? Если другие, то однозначно мта, и решить не так уж просто, если возможно. А если он сам, то тут уже и у вас может быть косяк, в любом случае проверять и применять/отменять анимацию должно помочь. А что непонятного с 3м пунктом, я не пойму. Вы на тему того что у вас за формат времени, википедию или поиск использовали? Unix-время оно в ближайшее время не планирует меняться, поэтому это всегда секунды от конкретной даты. Интервалы между числами, они и в Африке интервалы. Огромное спасибо за столь развернутый ответ, мне всё стало понятно! А вот по поводу третьего пункта, я хотел реализовать систему бана (дата-время), систему заглушки чата/личных-сообщений, систему тюрьмы. Реализовал проще, бан посуточный + расчёт времени бана система делает автоматически на cron'e в веб-среде. Соответственно минусует от текущего количества 1 единицу каждые сутки. С заглушкой и тюрьмой всё куда проще, по-секундно, тобишь таймер в игре, который на клиенте меняет элемент дату игрока связанную с тем или иным наказанием. Ну а дальше, таргет получает развернутый ответ о сроках наказания с помощью арифметического форматирования и перевода секунд в другие единицы времени. Edited December 20, 2016 by PrototypeX Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now