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

Вопрос Добавление cef

xakdog

Новый участник
10 Сен 2024
14
2
15
ребят, помогите пожалуйста. я только начинаю разрабатывать, писать системы для гта 5 рп. хочу реализовать систему с координатами, чтобы оно выводилось в виде небольшого интерфейса снизу экрана и как бы "в прямом эфире" транслировались в этом окошке мои координаты. знаю , что можно проще сделать через команду. но в любом случае, мне нужно будет понять как работать с визуалом, как его добавлять. ниже скрины с кодом
1. сервер
1735424749138.png

2. клиент (index.html, index.js, style.css)
1735424835827.png

1735424851512.png

1735424867587.png


Писал при помощи chatGPT. На сервере оно всё равно не отображается. Прошу помочь. В conf.json я все правильно указал

1735424957101.png
 
Реакции: Harland David Sanders

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,256
233
5
Привет! Для добавления визуальных элементов в игру GTA 5 RP с использованием CEF (Chromium Embedded Framework), тебе понадобится создать HTML/CSS/JS файлы для дизайна интерфейса и использовать их в своем скрипте на сервере. После этого, можно добавить CEF в игру через скрипты FiveM.

Если у тебя есть конкретные вопросы или проблемы с кодом, буду рад помочь!
 

Harland David Sanders

🍔 ChefBurger
Команда форума
High developer
10 Сен 2020
3,595
2,752
219
Привет, для этого тебе даже не нужен CEF.
Координаты простым текстом можно вывести на экран с помощью клиентского - render.
 
Реакции: XDeveluxe

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,780
1,580
211
28
ChatGPT выдал что-то совсем не то, даже приблизительно.
Старайтесь не писать вслепую с помощью него, а только получать определённую информацию по отдельности.

Во-первых:
Сервер RAGEMP разбит на 3 отдельные части:
  • Серверная часть (BackEnd server) - логика, которая рассчитывается сервером, на нём хранятся все важные данные (данные игрока, систем домов, бизнесов и т.д). Файлы сервера находятся в server-files/packages/ (если это NodeJS) или в server-files/dotnet/resources/ (если это C#).
  • Клиентская часть (BackEnd client) - логика, которая рассчитывается у игрока на компьютере, там вычисляется не очень важная логика и то, что у игрока отличается от других (например вывод данных на экране или кнопки биндера, которые у разных игроков могут быть разными и т.д). Файлы клиента находятся в server-files/client_packages/ всегда.
  • CEF часть (FrontEnd) - визуальная часть, на которой отрисован дизайн и связанная с этим логика - кнопки, ползунки и т.д. Файлы CEF находятся в server-files/client-packages/ всегда.
Все они работают независимо друг от друга, но могут общаться друг с другом, однако только последовательно, то есть сервер не может напрямую общаться с браузером и наоборот, они должны идти по очереди. Если с сервера нужно вызвать что-то на CEF, то сервер вызывает клиент и уже с клиента ты делаешь вызов на CEF. Это в двух словах.
Ты с помощью клиентского файла coords_client/index.js пытаешься обратиться к getElementById, который существует только на CEF'е - этого у тебя не получится сделать по очевидным причинам, которые я объяснил выше.

Во-вторых:
Для отрисовки координат на экране тебе не нужен CEF, как уже выше сказал Харланд - тебе достаточно использовать ивент render (этот ивент срабатывает на клиентской стороне каждый кадр, то есть если у игрока 60FPS, то 60 раз в секунду сработает этот ивент) и drawText - метод для отображения текста на экране игрока (требуется использовать каждый кадр).
Пример такого кода, который будет работать всегда (то есть без команды и без любых условий, потому что их тут нет, как можно увидеть):
JavaScript:
const localplayer = mp.players.local;

// Инициализация ивента "render"
mp.events.add("render", () =>
{
    const entity = (localplayer.isInAnyVehicle(false) && localplayer.vehicle) ? localplayer.vehicle : localplayer; // Получаем сущность, с которой будем брать позицию, если в машине - с машины, иначе с персонажа
    const position = entity.position; // Для небольшой оптимизации, чтобы сократить цепочку вызовов - забьём позицию в отдельную ячейку памяти
    mp.game.graphics.drawText(`X: ${position.x.toFixed(3)}, Y: ${position.y.toFixed(3)}, Z: ${position.z.toFixed(3)}, R: ${entity.getRotation(2).z.toFixed(3)}`, [0.5, 0.95], // Обозначаем текст, который хотим вывести и позицию вывода на экране - 0.5 (слева направо 50% по X) и 0.95 (сверху вниз 95% по Y)
    {
        font: 0, // Номер выводимого шрифта
        color: [255, 255, 255, 185], // Цвет вывода: Красный, Зелёный, Синий, Прозрачность
        scale: [0.4, 0.4], // Множитель текста по осям X Y
        outline: true // Обводка текста чёрным
    });
});
Тебе никто не мешает дальше пытаться модернизировать этот код под свои нужды: добавлять условия, менять позицию вывода (она обозначена как 0.5 по X и 0.95 Y в коде).
Чтобы понять что за что отвечает - открываешь ragemp wiki и ищешь клиентские функции JS, там находишь нужную и смотришь её аргументы, далее изучаешь и пробуешь.

В-третьих, у RAGEMP нет ни ивента "playerMove" ни "resources" в conf.json.
Всё, что есть в conf.json описано здесь.
Все ивенты, которые есть на серверном JS описаны здесь.
 
Последнее редактирование:

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,818
1,874
208
35
ребят, помогите пожалуйста. я только начинаю разрабатывать, писать системы для гта 5 рп. хочу реализовать систему с координатами, чтобы оно выводилось в виде небольшого интерфейса снизу экрана и как бы "в прямом эфире" транслировались в этом окошке мои координаты. знаю , что можно проще сделать через команду. но в любом случае, мне нужно будет понять как работать с визуалом, как его добавлять. ниже скрины с кодом
1. сервер
Посмотреть вложение 17531
2. клиент (index.html, index.js, style.css)
Посмотреть вложение 17532
Посмотреть вложение 17533
Посмотреть вложение 17534

Писал при помощи chatGPT. На сервере оно всё равно не отображается. Прошу помочь. В conf.json я все правильно указал

Посмотреть вложение 17535
Перед тем как писать с помощью чат жпт, всегда лучше самому открыть википедию рейджа и хотя бы пройтись по базовым функциям, чтобы примерно понимать, что ты используешь, и как это должно работать.
После того как понимание сложится - ты рассказываешь об этом нейронке.

В противном случае толку от того что ты просто копипастишь код из жпт - ноль. Ты не начинаешь от этого "пишу системы для гта".
Точно с таким же успехом их может "писать" моя бабуля - даже она способна нажимать копировать-вставить.

Можешь например спросить чатжпт - за каким хуем она решила для этой задачи использовать сервер?
Ведь координаты ты всегда знаешь на клиенте, и можешь просто обновлять их в рендере.
Ну и потом чисто добить, спросив зачем нужен в её коде вот этот евент

1735425536144.png


Который абсолютно нигде не вызывается
И это только по первому скриншоту

Выключи нейросеть, открой https://wiki.rage.mp/ и напиши хотя бы что нибудь супер простое сам