• Из-за обновления 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 на сервере Five:M

MADARAdev

Старожил
media
FrontEnd developer
30 Дек 2020
747
286
141
29
Здравствуйте! Для разработки NUI интерфейсов для файв эм серверов мы так-же используем фреймворк cef.
Отличия разве что в том, что связываем верстку с сервером мы файлами .
lua

Разбираемся как,

Во первых, мануал рассчитан на людей у которых уже установлен сервер fivem
Оставлю инструкцию по установке тут => https://docs.fivem.net/docs/client-manual/installing-fivem

Так-с.. Начнём!
  • После того как установили сервер заходим в папку resources и внутри неё создаём новую папку с названием nui

Скриншот папки:

Снимок экрана 2023-03-14 в 17.37.07.png


  • Далее внутри папки nui создаем файлы _resource.lua , main.lua и папку html

Скриншот папки:

Снимок экрана 2023-03-14 в 17.38.05.png

  • Внутри папки html создаем файлы index.html , style.css , listener.js
Заполним верстку для каждого файла:

index.html

HTML:
<html>
    <head>
        <link rel="stylesheet" href="style.css" type="text/css">
        <script src="nui://game/ui/jquery.js" type="text/javascript"></script>
        <script src="./listener.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="container">

                <h2>CEF FIVE:M Manual</h2>
                <br>
                <h2>RAGEMP PRO | MADARAdev</h2>
                <h2> « Ах@$*ть скрипты FiveM на форуме рейджа. » </h2>
        </div>
    </body>
</html>

style.css
CSS:
@import url('https://fonts.googleapis.com/css2?family=Montserrat&family=Tilt+Neon&display=swap');
* {
    color: #fff;
    font-family: "Montserrat" !important;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

}

.container {
    text-shadow: 0px 0px 20px white;
    position: absolute;
    color: white;
    margin: auto 0;
    text-align: center;
    background-color: #707BFB ;
    border-radius: 40px;
    border: 2px solid #040404 ;
    padding:10px;
}

listener.js
JavaScript:
$(function(){
    window.onload = (e) => {
        window.addEventListener('message', (event) => {
            var item = event.data;
            if (item !== undefined && item.type === "ui") {
                if (item.display === true) {
                    $("#container").show();
                } else{
                    $("#container").hide();
                }
            }
        });
    };
});

Подключим файлы с вёрсткой.
  • Открываем только что созданный файл _resource.lua и вставляем код:
Код:
ui_page "html/index.html"

client_script "main.lua"

files {
    "html/index.html",
    "html/style.css",
    "html/listener.js"
}

Вызывать браузер я буду командой, поэтому создам команду которая будет дергать эвент nui: on чтобы открывать браузер и эвент nui: off когда закрываю.
  • Переходим в main.lua и вставляем код:
Код:
local display = false 
-- По умолчанию когда загружаем скрипт окно не открыто.

-- Создаём команду /on которая будет открывать браузерное окно триггером эвента nui:on.
RegisterCommand("on", function()
    Citizen.CreateThread(function()
        TriggerEvent("nui:on", true)
    end)
end)

-- Создаём команду /off которая будет соответственно закрывать окно триггером эвента nui:off.
RegisterCommand("off", function()
    Citizen.CreateThread(function()
        TriggerEvent("nui:off", true)
    end)
end)

-- Создаём эвенты

RegisterNetEvent("nui:on")
AddEventHandler("nui:on", function(value)
    SentNUIMessage({
        type = "ui",
        display = true
    })
end)


RegisterNetEvent("nui:off")
AddEventHandler("nui:off", function(value)
    SentNUIMessage({
        type = "ui"
        display = false
    })
end)

Далее в файле resource.cfg "вписываем" запуск нашего скрипта

Снимок экрана 2023-03-14 в 18.44.26.png



:yr: Вот и всё! Так и работает CEF на серверах FIVEM. Значительных отличий в принципе нет :giggle:
Снимок экрана 2023-03-14 в 18.58.21.png


За что я люблю FiveM структуру, так за то что там и серверная и клиентская часть подключается в одном файле.
(По мне это намного удобнее чем сделано на RageMP).
 
Последнее редактирование:

PATRIOT

Активный участник
12 Окт 2020
286
44
92
Хммм. А название "как добавить свое оружие на сервер"