RAGE Editor: Редактор JS кода в GTA 5 для RAGE Multiplayer

RAGE Editor - это ресурс, который позволяет писать, тестировать и сохранять код JаvaScript, не выходя из игры.
Особенности:
- Взято из кода VS. Редактор RAGE построен поверх редактора Monaco, который является тем же текстовым редактором, что и код VS. Это означает, что вы можете использовать знакомые привязки клавиш и цветовые схемы при редактировании кода для максимальной производительности.
- Несколько вкладок и управление файлами. Вы можете создать столько одновременных вкладок, сколько хотите, чтобы переключаться между средами тестирования. Вкладки могут сохраняться в локальном хранилище под любым именем и восстанавливаться в любое время, даже при перезапуске игры.
- Выполнение кода в нескольких средах. Динамический запуск кода на локальном клиенте, сервере или всех других клиентах. Вы также можете выделить определенный раздел кода и щелкнуть правой кнопкой мыши, чтобы запустить только этот выбор в любой среде.
- Встроенный up-to-date RAGE API для typings w/ переключение контекста. Типизации для серверных и клиентских RAGE APIs извлекаются непосредственно из GitHub, чтобы обеспечить получение самых современных функций автозаполнения и IntelliSense без установки или настройки TypeScript. Локальные недавно обновленные резервные копии ввода также поставляются с RAGE Editor в случае, если вы пытаетесь работать в автономном режиме. Вы можете переключаться между серверными и клиентскими наборами одним нажатием кнопки.
- Настраиваемая привязка клавиш. Вы можете установить keybinds для любой клавиши, которой вы хотите для своего сервера.
- Настраиваемая аутентификация пользователя с использованием пользовательской логики или встроенного белого списка IP. Без изменений вы можете указать белый список IP-адресов, которые смогут получить доступ к редактору, чтобы запретить кому-либо запускать код на вашем сервере или других игроках, или вы можете вообще опустить белый список, чтобы позволить кому-либо запускать код в любом месте (не рекомендуется, хотя). Для большего контроля можно переопределить этот метод, указав собственную логику для управления доступом к редактору и функциями, которые они могут использовать. Увидите ниже.
- Динамически перемещать и изменять размер редактора по своему вкусу. Для тестирования различных компонентов пользовательского интерфейса и оптимизации производительности можно перетащить/изменить размер редактора в любое место и форму на экране.
- Доступ к удобным библиотекам, таким как rage-rpc. RAGE Editor использует rage-rpc под капотом для маршрутизации кода для удаленного выполнения. Редактор также предоставляет глобальный rpc variable для использования в скриптах для легкого взаимодействия и тестирования сервера<->клиента!
Установка:
- Извлеките предоставленный rage-editor.zip в корень вашего сервера. Установка такая же, как и любой другой ресурс.
- Не забудьте включить его в index.js в папке client_packages:
require('./rage-editor/index.js');
- Когда в игре, просто нажмите клавишу привязки (по умолчанию F8), чтобы переключить вид редактора.
Конфигурация:
RAGE Editor дает вам некоторую гибкость, чтобы он работал плавно в вашей среде.
Есть config.json, расположенный в packages/rage-editor/config.json. Версия по умолчанию этого файла должна выглядеть примерно так, как это, как только вы откроете его в текстовом редакторе:
{
    "key": 119, // F8
    "port": 8083,
    "whitelistIPs": [],
    "useNgrok": true
}
Настройки:
- key: клавиша, которую игрок будет нажимать в игре, чтобы переключить редактор. По умолчанию используется значение F8. Сейчас вы должны использовать десятичное представление клавиши. Проверьте эту ссылку для клавиш: Virtual Key Codes
- port: порт, с которого встроенный веб-сервер будет обслуживать редактор. Редактор Monaco требует, чтобы веб-работники работали, и Chromium не будет загружать веб-работников, если они не превышают HTTP/HTTPS. Рекомендуется открыть этот порт и отключить useNgrok для лучшей производительности и надежности. Подробнее об этом ниже.
- whitelistIPs: это массив строк IPv4, которым вы хотите дать доступ к RAGE Editor. Если список пуст, любому будет разрешено использовать его без ограничений. Если список не пуст, только игроки, чьи IP-адреса находятся в списке, смогут открыть редактор. Это означает, что вы можете использовать его в производственной среде, если вы действительно хотите. Будьте осторожны, кому вы даете доступ, поскольку они будут иметь возможность выполнить любой код на сервере или других пользователей.
- useNgrok: ngrok - это утилита, которая может открыть HTTP-туннель на ваш сервер без необходимости открывать порт (подобный Hamachi), и по умолчанию она поставляется с RAGE Editor. Если эта опция включена, вам не нужно открывать порт, указанный выше. Однако анонимные туннели ngrok имеют максимальный срок службы ~8 часов и имеют ограничение на одновременные открытые соединения. Рекомендуется отключить это и открыть порт, указанный выше. Таким образом, трафик может напрямую общаться с вашим сервером, не проходя через посредника. Это увеличит время загрузки, а также надежности. Ngrok - хороший способ начать работу и вполне приемлем, если у вас есть небольшое количество людей, использующих RAGE Editor, или вы не используете его часто. Соединения с одного компьютера всегда будут обслуживаться с localhost, независимо от того, включен этот параметр или нет.
Использование:
UI для RAGE Editor довольно прямолинейный. В верхней левой панели инструментов есть несколько кнопок, которые делают разные вещи по закладке и управления файлами:
- New(Новая вкладка): открывает пустую новую вкладку.
- Open(Открыть): открывает ранее сохраненный файл. Вы можете открывать только те файлы, которые еще не открыты ни на одной другой вкладке.
- Save(Сохранить): сохранение текущей вкладки. Он предложит вам имя файла по вашему выбору, если вкладка свежая. Он перезапишет существующие данные, если это не новая вкладка.
- Save As(Сохранить как): сохраняет текущую вкладку Как другое имя файла, но не изменяет эту вкладку для ссылки на этот новый файл. Это полезно для сохранения различных вариантов одного и того же файла.
В правом верхнем углу панели инструментов находятся кнопки, связанные с выполнением кода и переключением контекстов ввода:
- L: запустить текущую вкладку локально на клиенте текущего пользователя.
- S: запустить текущую вкладку на сервере.
- C: запустить текущую вкладку на всех клиентах, включая текущего пользователя.
- Server-side/Client-side: эта кнопка заменяет встроенные типы для RAGE API. Если он говорит на Server-side, server-side IntelliSense  будет доступна в Редакторе. Если он говорит на Client-side, client-side API будут доступны в Редакторе. Это не изменяет ваш код каким-либо образом, кроме замены определений TypeScript.
Вы можете перетащить редактор, щелкнув и удерживая верхнюю панель инструментов, где находятся кнопки. Вы можете изменить размер редактора, нажав и удерживая ручку в правом нижнем углу экрана.
В правом нижнем углу редактора отображается состояние редактора. Он скажет вам, когда он загружает определения типов или когда он находится в середине выполнения кода.
В настоящее время нет способа просмотреть результаты выполнения или ошибки. Это изменится в будущем! :)
Настройка / Совместимость:
Контроль доступа:
RAGE Editor имеет встроенное решение IP whitelist для управления, кто может получить доступ к редактору, когда в игре. Это отлично подходит для большинства пользователей, однако другим пользователям может потребоваться больше гибкости и контроля над тем, кто может получить доступ к чему и когда. Поскольку редактор использует rage-rpc под капотом, чтобы спросить сервер, может ли определенный пользователь использовать редактор, эта функция может быть легко переопределена любым разработчиком ресурсов, просто повторно зарегистрировав процедуру на сервере, сделав расчет, как вы хотите, и ответив клиенту, если они могут получить доступ к редактору. Вы также можете настроить, какие функции редактора они могут использовать. Это вызывается каждый раз, когда игрок нажимает клавишу привязки, чтобы открыть редактор.
Вот пример:
const rpc = require('rage-rpc');

// Allow players with the name "micaww" to open the editor and execute code on all contexts
rpc.register('reditor:canPlayerUse', (_, { player }) => player.name === 'micaww');

// Allow players whose name starts with "Admin" to open the editor and execute on all contexts,
// but only allow other players to execute code locally
rpc.register('reditor:canPlayerUse', (_, { player }) => {
  if(player.name.startsWith("Admin")) return true;
  return {
    l: true,
    c: false,
    s: false
  };
});
Можно либо вернуть логическое значение, либо объект со свойствами l, c и s.
- Если вы сделаете true, игрок сможет открыть редактор и выполнить его во всех контекстах.
- Если вы сделаете false, игрок вообще не сможет открыть редактор. Привязка ключа ничего не сделает.
- Если вы вернете объект, откроется редактор, но вам нужно будет указать, в каких контекстах они могут выполняться.
- l: локальный клиент
- c: все клиенты
- s: сервер
Это дает вам неограниченный контроль над тем, какие игроки могут получить доступ к редактору и что они могут получить доступ.
События(Events):
Есть несколько событий, которые RAGE Editor предоставляет вам для подключения:
- reditor:shown (Client-side): редактор был показан.
- reditor:hidden (Client-side): редактор был скрыт.
Вот пример использования для отключения некоторых пользовательских чатов:
// client-side

const chat = require('./my-juicy-package/customchat.js');

mp.events.add('reditor:shown', () => {
  chat.setActive(false);
});

mp.events.add('reditor:hidden', () => {
  chat.setActive(true);
});
Примеры:
Серверное(Server-side) исполнение.
Клиентское(Client-side) исполнение.

Автор: micaww
Версия: 2.0


У вас нет доступа к скачиванию файлов с нашего сервера


Комментариев 14
  1. норм
    #1
  2. неплохо так
    #2
  3. ап емае
    #3
  4. Кажется нужная штука).
    #4
  5. +rep
    #5
  6. frumos
    #6
  7. полезная вещь
    #7
  8. Это топ фича
    #8
  9. Удобно

    #9
  10. осталось выучить JS
    #10

Внимание!

Если у вас есть вопросы и вам нужна помощь по серверам, скриптам или моду.

Наша группа Вконтакте

Наш Discord

Комментарии
[GTA 5] Готовый сервер - Основа мода GTA 5 RP для RAGE Multiplayer
Как убрать точку ? Все облазил, все учебники JS и С#. Кто справился дайте направление, что удалить и где!  vk.com/rojersmi
[GTA 5] Готовый сервер - Основа мода GTA 5 RP для RAGE Multiplayer
скажу честно мод выложен не полный. То есть:  База пустая Мод отредактирован на скорую руку. (скорее всего слит от куда то) Баги прям при запуске
[Gamemodes] Готовый сервер с регистрацией MySQL + система администратора - для [RAGE Multiplayer]
Чейт я один видать туплю ! А где  bd в архиве ее нет! Уж можно было бы к серваку прикрепить простенькую базу данных
[GTA 5] Готовый сервер - Union Role Play мод для RAGE Multiplayer
Внимательно смотри видео инструкцию с начала и до конца и увидишь каким образом. :) Видео закреплено в этом посте где ты скачал архив с файлами. 
[GTA 5] Готовый сервер - Union Role Play мод для RAGE Multiplayer
Генри Хачатрян, Спасибо что ответил ! Я до этого работал сампе с павно компилятором В ГТА 5 Вообще ни чего не понимаю .Каким образом
18 посетителей на сайте. Из них:
Пользователи3
Гости9
Роботы6
Список пользователей
itsr_deluxei Сейчас на сайте
Lxcas Был(a) в сети 9 минут назад
Pavel Zadov Был(a) в сети 10 минут назад

Новый шаблон ...

Информация

Яндекс.Метрика
18+