Ru:Getting Started with Development: Difference between revisions

From RAGE Multiplayer Wiki
(Created page with "__TOC__ == Требования == * [https://cdn.rage.mp/client/updater.exe Апдейтер (он же является установщиком) Rage MP] * Базовый...")
 
mNo edit summary
 
(4 intermediate revisions by one other user not shown)
Line 3: Line 3:


* [https://cdn.rage.mp/client/updater.exe Апдейтер (он же является установщиком) Rage MP]
* [https://cdn.rage.mp/client/updater.exe Апдейтер (он же является установщиком) Rage MP]
* Базовый JS/NodeJS опыт программирования
* Базовый [https://developer.mozilla.org/ru/docs/Web/JavaScript JS]/[https://nodejs.org/ru/ NodeJS] опыт программирования


== Введение ==
== Введение ==


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


== Starting the server ==
== Starting the server ==
Line 27: Line 27:
== Создание Вашего первого ресурса ==
== Создание Вашего первого ресурса ==


<b>Rage Multiplayer</b> содержит две стороны скриптинга, '''Клиентская''' и '''Серверная''', так как приведенная выше '''Клиентская''' позволяет Вам создавать пользовательский интерфейс и показывать людям вашу креативность, и '''Серверная''' позволяет управлять сервером с их вещами, такими, как игроками, маркерами, транспортом и т. п.
<b>Rage Multiplayer</b> содержит две стороны скриптинга, '''Клиентская''' и '''Серверная''', так как приведенная выше '''Клиентская''' позволяет Вам создавать пользовательский интерфейс и показывать людям вашу креативность, a '''Серверная''' позволяет управлять сервером с их вещами, такими, как игроками, маркерами, транспортом и т. п.


Сегодня мы создадим наш первый серверный ресурс и мы посмотрим, как он работает в игре.
Сегодня мы создадим наш первый серверный ресурс и посмотрим, как он работает в игре.


Сначала пойдем в папку <code>packages</code> в Вашей серверной папке, затем создадим файл <code>index.js</code> файл, если он еще не существует. После откроем его (обычным блокнотом можно) и пропишем следующие вещи:
Сначала пойдем в папку <code>packages</code> в Вашей серверной папке, затем создадим файл <code>index.js</code> , если он еще не существует. После откроем его (обычным блокнотом можно) и пропишем следующие вещи:


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
// подключаем коммандный файл
// подключаем файл с командами
require('./commands.js')
require('./commands.js')
</syntaxhighlight>  
</syntaxhighlight>  
Line 40: Line 40:
Затем и сохраним и закроем. Сейчас создаем другой файл с названием <code>commands.js</code> и откроем его.
Затем и сохраним и закроем. Сейчас создаем другой файл с названием <code>commands.js</code> и откроем его.


Добавим немного простых комманд в этот файл.
Добавим немного простых команд в этот файл.


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
Line 56: Line 56:
</syntaxhighlight>  
</syntaxhighlight>  


Если Вы не понимаете что и почему здесь происходит, перейдите к странице [[Getting Started with Commands|Getting started with commands (на английском)]]. Сейчас мы создали простой ресурс с 3 базовыми коммандами. Одна дает полное здоровье, другая дает броню, третья убивает пользователя.
Если Вы не понимаете что и почему здесь происходит, перейдите к странице [[Getting Started with Commands|Getting started with commands (на английском)]]. Сейчас мы создали простой ресурс с 3 базовыми командами. Первая дает полное здоровье, вторая - броню, третья убивает пользователя.


Сохраняем и закрываем файл. Ничего не замечаете в этом коде неправильного? Если нет, то я вам намекну. Если Вы исполните команду убийства, это означает, что игрок убит, но зареспавниться ли он? У меня есть для Вас решение!
Сохраняем и закрываем файл. Ничего не замечаете в этом коде неправильного? Если нет, то я вам намекну. Если Вы исполните команду убийства, это означает, что игрок убит, но зареспавнится ли он? У меня есть для Вас решение!


Создайте '''JSON''' файл и назовите его <code>spawn_points.json</code>, затем добавьте в него этот код:
Создайте '''JSON''' файл и назовите его <code>spawn_points.json</code>, затем добавьте в него этот код:
Line 88: Line 88:




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


'''ВАЖНО''': Не забывайте запросить файл <code>events.js</code> внутри <code>index.js</code>
'''ВАЖНО''': Не забывайте запросить файл <code>events.js</code> внутри <code>index.js</code>
Line 107: Line 107:
Я надеюсь, что помог создать Ваш первый скрипт в RAGE:MP и мы будем надеяться, что создадим дальнейшие статьи для дальнейшего изучения Вами.
Я надеюсь, что помог создать Ваш первый скрипт в RAGE:MP и мы будем надеяться, что создадим дальнейшие статьи для дальнейшего изучения Вами.
Счастливой игры!
Счастливой игры!
[[Category:Tutorials]]

Latest revision as of 20:15, 21 August 2020

Требования

Введение

Сегодня мы покажем вам, как начать разработку Вашего сервера с небольшой учебной статьёй. Покажем, как создать Ваш ресурс и запустить его на вашем сервере.

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 и мы будем надеяться, что создадим дальнейшие статьи для дальнейшего изучения Вами. Счастливой игры!