• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Система топлива

mecinat

Новый участник
18 Мар 2023
24
0
8
Ну короче сделал я систему топлива через отправку измененного кол-ва топлива на сервер но мой друг проверяя код заявил о лагах при влюченной отправки топлива на сервер(которая происходит каждый рендер когда работает движок.). Вопрос таков, как лучше реализовать систему топлива?
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
770
294
141
29
Ну короче сделал я систему топлива через отправку измененного кол-ва топлива на сервер но мой друг проверяя код заявил о лагах при влюченной отправки топлива на сервер(которая происходит каждый рендер когда работает движок.). Вопрос таков, как лучше реализовать систему топлива?
как будет "лучше всего" скорее никто не знает. Важно учесть все зависимости. (Моё мнение).

Я сделал это все на стороне клиента (проверки в том числе). и каждые t секунд просто обновляю топливо каждого автомобиля и если оно было увеличено или уменьшено числа N соответственно возвращало искомое значение.

(Я надеюсь разъяснил понятно)
 

mecinat

Новый участник
18 Мар 2023
24
0
8
как будет "лучше всего" скорее никто не знает. Важно учесть все зависимости. (Моё мнение).

Я сделал это все на стороне клиента (проверки в том числе). и каждые t секунд просто обновляю топливо каждого автомобиля и если оно было увеличено или уменьшено числа N соответственно возвращало искомое значение.

(Я надеюсь разъяснил понятно)
можешь кинуть код или просто фигню с помощью которой можно сделать своевременную отправку топлива
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,122
1,838
211
28
Ну короче сделал я систему топлива через отправку измененного кол-ва топлива на сервер но мой друг проверяя код заявил о лагах при влюченной отправки топлива на сервер(которая происходит каждый рендер когда работает движок.). Вопрос таков, как лучше реализовать систему топлива?
Вызывать серверный ивент с клиента из под render'а - самоубийство.
Render - ивент, который обрабатывается КАЖДЫЙ кадр у игрока. Если у игрока 60 FPS = 60 кадров в секунду = 60 раз обработается ивент render в секунду.
Спрашивается, зачем что-либо отправлять 60 раз в секунду?
Если вам нужен таймер - погуглите об setInterval в JS или Timers в C#.
 
Реакции: Inoi и MADARAdev

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
770
294
141
29
Вызывать серверный ивент с клиента из под render'а - самоубийство.
Render - ивент, который обрабатывается КАЖДЫЙ кадр у игрока. Если у игрока 60 FPS = 60 кадров в секунду = 60 раз обработается ивент render в секунду.
Спрашивается, зачем что-либо отправлять 60 раз в секунду?
Если вам нужен таймер - погуглите об setInterval в JS или Timers в C#.
тоже хороший вариант!
 

interk0t

Новый участник
24 Июн 2022
15
0
38
Вызывать серверный ивент с клиента из под render'а - самоубийство.
Render - ивент, который обрабатывается КАЖДЫЙ кадр у игрока. Если у игрока 60 FPS = 60 кадров в секунду = 60 раз обработается ивент render в секунду.
Спрашивается, зачем что-либо отправлять 60 раз в секунду?
Если вам нужен таймер - погуглите об setInterval в JS или Timers в C#.
если я 1 раз вызову ивент на сервере (с клиента ) в котором будет таймер , то ивент вызовется 1 раз, но таймер будет работать постоянно (по условию)? Или серверный ивент будет срабатывать каждую секунду вместе с таймером? если первый вариант, сильно будет нагружать сервер?
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,122
1,838
211
28
если я 1 раз вызову ивент на сервере (с клиента ) в котором будет таймер , то ивент вызовется 1 раз, но таймер будет работать постоянно (по условию)? Или серверный ивент будет срабатывать каждую секунду вместе с таймером? если первый вариант, сильно будет нагружать сервер?
Если ты с клиента вызовешь 1 раз серверный ивент, в котором создастся таймер, то работать код под таймером будет по тем условиям, которые ты пропишешь в инициализации таймера. Сам по себе подход не сказать, что плохой, абсолютно нормальный. Чтобы сказать более конкретно по таймеру и по "нагрузке" - нужен конкретный код.
Серверный ивент сам по себе вызваться не может, однако рекомендую проверять на дубликат таймера перед созданием (хранить id таймера или что-нибудь еще), то есть если таймер уже есть - либо return; и не создавать нового, либо удалять старый и создавать новый, тут уже что тебе нужно по задаче.
 
Реакции: interk0t

Similar threads