• Из-за обновления 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) последний раз были обновлены:

Вопрос reviveInjured, ressurect

Alternant

Участник портала
11 Дек 2023
138
23
51
20
Доброй ночи, форум!
В процессе той же работы(о которой недавно создавал тему) столкнулся с такой неприятностью.
По идеи ведь смерть персонажа и его возрождение - дела сервера исключительно. НО, в поисках решения, чтобы после смерти игрок "воскрешался" и после падал в анимку ранения, столкнулся с такой интересной вещью. У Client-side аж два метода, по сути одинаковые: reviveInjured, ressurect. Вот не понимаю даже толк их юзать, или же они синхронят?
Да и странно будет обращаться к клиент-сайду чисто с просьбой воскресить игрока. Также есть возможность просто заспавнить его и после уже навешать анимку, но тут мы сталкиваемся с тем, что координата Z повышается, не считал, но может быть на 1 или же на 2. Хотел найти подобие getGroundZFor3dCoord, но это опять же только Client-Side.
Вообще на Client-Side пруд пруди полезных(а в большинстве не очень) методов и атрибутов, сервер же этим не особо блещет.
Уверен что кто-то уже давным давно реализовал систему "ранений", прошу поделиться опытом. Заранее спасибо :3
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,420
239
100
Доброй ночи!
Методы reviveInjured и ressurect действительно похожи, но они имеют некоторые различия. reviveInjured используется для воскрешения персонажа, который находится в раненом состоянии, и восстанавливает его здоровье до определенного уровня. С другой стороны, ressurect полностью воскрешает персонажа, ставя его в исходное состояние.
Вам следует выбрать метод в зависимости от ваших потребностей. Если вам нужно просто воскрешение без восстановления здоровья, то лучше использовать ressurect.
Касательно координаты Z, можно воспользоваться методом GetGroundZFor3dCoord на сервере, чтобы получить правильную высоту спавна персонажа.
Надеюсь, это поможет вам разобраться с воскрешением и ранениями персонажа. Удачи!
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
Доброй ночи, форум!
В процессе той же работы(о которой недавно создавал тему) столкнулся с такой неприятностью.
По идеи ведь смерть персонажа и его возрождение - дела сервера исключительно. НО, в поисках решения, чтобы после смерти игрок "воскрешался" и после падал в анимку ранения, столкнулся с такой интересной вещью. У Client-side аж два метода, по сути одинаковые: reviveInjured, ressurect. Вот не понимаю даже толк их юзать, или же они синхронят?
Да и странно будет обращаться к клиент-сайду чисто с просьбой воскресить игрока. Также есть возможность просто заспавнить его и после уже навешать анимку, но тут мы сталкиваемся с тем, что координата Z повышается, не считал, но может быть на 1 или же на 2. Хотел найти подобие getGroundZFor3dCoord, но это опять же только Client-Side.
Вообще на Client-Side пруд пруди полезных(а в большинстве не очень) методов и атрибутов, сервер же этим не особо блещет.
Уверен что кто-то уже давным давно реализовал систему "ранений", прошу поделиться опытом. Заранее спасибо :3
Лично как я делал.
При достижении 0 ХП накидываю на игрока переменную Death, далее прикрепляем к нему анимацию, фризим и откидываем ему UI (клиент). Если нужно возродить администратору или пройдет время ожидания, то выполняем через сервер spawn, health, на клиенте скрываем UI, отключаем анимацию. То есть по факту я на сервере лишь отслеживаю HP игрока, и то это можно вполне делать на клиенте не трогая сервер. Лучше не нагружай лишний раз сервер в поисках оптимизировать клиент, ибо потом просто сервер не сможет вывозить такой поток пакетов.
 

Alternant

Участник портала
11 Дек 2023
138
23
51
20
Решилось, правда опять же через дерганье обеих сторон. Сервер получает playerDeath, после чего говорит это клиенту, клиент блочит управление, открывает UI и отправляет на сервер координату Z на позиции его смерти. Сервер в свою очередь принимает координаты, спавнит туда игрока, накидывает переменную и анимацию(если он уже ранен, то сразу в больницу) и ждет ответа от UI, вызвать медика или в больницу. Вот так вот. Если можете посоветовать как эту систему упростить, буду очень рад.
 

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
747
286
141
29
Решилось, правда опять же через дерганье обеих сторон. Сервер получает playerDeath, после чего говорит это клиенту, клиент блочит управление, открывает UI и отправляет на сервер координату Z на позиции его смерти. Сервер в свою очередь принимает координаты, спавнит туда игрока, накидывает переменную и анимацию(если он уже ранен, то сразу в больницу) и ждет ответа от UI, вызвать медика или в больницу. Вот так вот. Если можете посоветовать как эту систему упростить, буду очень рад.
Все дают один совет - меньше нагрузки на сервер, все что можешь сделать на клиенте - делай на клиенте
 

Similar threads