Ru:Getting Started with Development
Требования
- Апдейтер (он же является установщиком) Rage MP
- Базовый JS/NodeJS опыт программирования
Введение
Сегодня мы покажем вам, как начать разработку Вашего сервера с небольшой учебной статьёй. Покажем, как создать Ваш ресурс и запустить его на вашем сервере.
Starting the server
Когда Вы загрузите Апдейтер и запустите его, вы получите серверные файлы. Появится папка с названием server-files
. Когда Вы откроете папку и запустите файл server.exe, вы найдете там это:
- Client_packages: Это клиентские скрипты. Они скачиваются на компьютер клиента. (Клиентская сторона позволяет создавать GUI (графический интерфейс) и делать работу CEF.
- Packages: это сторона сервера. (Серверная сторона позволяет управлять игроком и создавать Ваш собственный мир)
- Maps: Позволяет Вам загружать карты в Ваш мир. Доступна только форма карт JSON.(Большой JSON размер карты иногда не загружается или загружается очень долго.)
- Plugins: Позволяет загружать Ваши dll плагины.
- config: Позволяет Вам редактировать Ваш сервер. Для большей информации кликните тут (EN).
Конечно, все папки будут пустыми. Если Вы захотите загрузить игровой режим, то доступен Freeroam игровой режим для изучения или для Вашего сервера.
Создание Вашего первого ресурса
Rage Multiplayer содержит две стороны скриптинга, Клиентская и Серверная, так как приведенная выше Клиентская позволяет Вам создавать пользовательский интерфейс и показывать людям вашу креативность, a Серверная позволяет управлять сервером с их вещами, такими, как игроками, маркерами, транспортом и т. п.
Сегодня мы создадим наш первый серверный ресурс и посмотрим, как он работает в игре.
Сначала пойдем в папку packages
в Вашей серверной папке, затем создадим файл index.js
, если он еще не существует. После откроем его (обычным блокнотом можно) и пропишем следующие вещи:
// подключаем файл с командами
require('./commands.js')
Затем и сохраним и закроем. Сейчас создаем другой файл с названием commands.js
и откроем его.
Добавим немного простых команд в этот файл.
mp.events.addCommand('kill', (player) => {
player.health = 0;
});
mp.events.addCommand('hp', (player) => {
player.health = 100;
});
mp.events.addCommand('armor', (player) => {
player.armour = 100;
});
Если Вы не понимаете что и почему здесь происходит, перейдите к странице Getting started with commands (на английском). Сейчас мы создали простой ресурс с 3 базовыми командами. Первая дает полное здоровье, вторая - броню, третья убивает пользователя.
Сохраняем и закрываем файл. Ничего не замечаете в этом коде неправильного? Если нет, то я вам намекну. Если Вы исполните команду убийства, это означает, что игрок убит, но зареспавнится ли он? У меня есть для Вас решение!
Создайте JSON файл и назовите его spawn_points.json
, затем добавьте в него этот код:
{
"SpawnPoints": [
{ "x": -425.517, "y": 1123.620, "z": 325.8544 },
{ "x": -415.777, "y": 1168.791, "z": 325.854 },
{ "x": -432.534, "y": 1157.461, "z": 325.854 },
{ "x": -401.850, "y": 1149.482, "z": 325.854 }
]
}
Готово? Сохраните и закройте.
Создайте новый файл events.js
и добавьте в него следующий код:
let spawnPoints = require('./spawn_points.json').SpawnPoints;
mp.events.add('playerDeath', (player) => {
player.spawn(spawnPoints[Math.floor(Math.random() * spawnPoints.length)]);
player.health = 100;
});
Мы назначили наши точки спавна, на которых мы хотим заспавнить игрока, затем добавили событие, которое срабатывает, когда игрок умирает. Оно спавнит игрока в рандомном месте из назначенных точек. Не забываем также, что игроку нужно дать полное здоровье, иначе игрок может телепортироваться после убийства по точкам, а затем, возможно, крашнется.
ВАЖНО: Не забывайте запросить файл events.js
внутри index.js
Ваш index.js
файл должен быть похож на это:
//включение файла с командами
require('./commands.js')
//включение файла с событиями
require('./events.js')
Сейчас сохраните все файлы и запустите ваш сервер из файла server.exe
, затем проверьте, что вы сейчас сделали!
Я надеюсь, что помог создать Ваш первый скрипт в RAGE:MP и мы будем надеяться, что создадим дальнейшие статьи для дальнейшего изучения Вами.
Счастливой игры!