Getting Started with Development: Difference between revisions

From RAGE Multiplayer Wiki
m (Reworded some sentences, made it a little more simpler.)
Line 32: Line 32:
Today we will create our first server-side resource, and will see how it works ingame.
Today we will create our first server-side resource, and will see how it works ingame.


First of all go to <code>packages</code> and create a folder if you haven't already, then in your server folder then create <code>index.js</code> file if you don't have one. After that you open the file and do
First of all go to <code>packages</code> and create a folder (Call it anything you want), then in your server folder create a <code>index.js</code> file. After that, open the file and write the following


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
Line 41: Line 41:
After that save and close. Now create another file called <code>commands.js</code> and open it.
After that save and close. Now create another file called <code>commands.js</code> and open it.


Add those simple commands to your file.
Add these simple commands to your file.


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


if you don't understand those please proceed to [[Getting Started with Commands|Getting started with commands]]. Now we have created a simple source with 3 basic commands. One that gives Health, one that gives armor, and one that kills you.
If you don't understand these, please proceed to [[Getting Started with Commands|Getting started with commands]]. Now we have created a simple source with 3 basic commands. One that gives health, one that gives armor, and one that kills you.


Now save the file and close it. Have you wondered anything wrong with the code up there? If no let me give you a hint. If you trigger the command kill this means it will kill the player, but will you re-spawn back? I have the solution for you!.
Now save the file and close it. Have you noticed anything wrong with the code we just wrote? If not, let me give you a hint. If you trigger the kill command, this means it will kill the player, but will you re-spawn back? I have the solution for you!.


create a '''JSON''' file and name it <code>spawn_points.json</code> and then add the following code:
create a '''JSON''' file and name it <code>spawn_points.json</code> and then add the following code:
Line 74: Line 74:
</syntaxhighlight>  
</syntaxhighlight>  


done? now save it and close.  
Done? Now save it and close.  


Create a new file called <code>events.js</code> and add the following code:
Create a new file called <code>events.js</code> and add the following code:
Line 88: Line 88:
</syntaxhighlight>
</syntaxhighlight>


We have defined our spawn points that we want the player to spawn in, and then we added a event which when the player dies it spawns the player in random location from the spawn points you defined, and also don't forget to make his health 100 again or the player can teleport while dead to the spawn point and crashes might happen.
We have defined our spawn points that we want the player to spawn in, and then we added an event for when the player dies, they respawn in a random location from the spawn points you defined, and also don't forget to make his health 100 again or the player can teleport while dead to the spawn point.


'''IMPORTANT''': Don't forget to require the <code>events.js</code> in the <code>index.js</code>
'''IMPORTANT''': Don't forget to require the <code>events.js</code> in the <code>index.js</code>
Line 102: Line 102:
</syntaxhighlight>  
</syntaxhighlight>  


Now save and everything and launch your server from <code>server.exe</code> and go test what you just did!.
Now save and everything and launch your server and go test what you just did!.


I hope you enjoyed creating your first script in RAGE:MP and we will be sure to create further tutorials for you to learn more.
I hope you enjoyed creating your first script in RAGE:MP and we will be sure to create further tutorials for you to learn more.
Happy Gaming!
Happy Gaming!

Revision as of 06:46, 6 May 2018

Requirements

Introduction

Today we are going to show you how you can start developing your own server with a simple Tutorial. We will show you how you can create your own resource and run it in your server.

Starting the server

When downloading the Rage MP updater and running it, you'll get the server files. The folder name will be called server-files. When you open the folder you'll find this:

  • client_packages: Folder in which client-side scripts reside. (Client-side allows you to draw GUI or do CEF work)
  • packages: Folder in which server-side scripts reside. (Server-side allows you to manage the player and create your own world)
  • maps: Allows you to load maps into the game world in JSON format.
  • plugins: Allows you to load custom dll plugins into the game.
  • conf.json: Contains the server configuration in JSON format. Read more about server settings here.
  • server.exe: Server executable, which if you run starts the game server.

Currently you'll find your folders empty, so if you want to load a gamemode, there is a freeroam gamemode available to study/use on your server.

Creating your first resource

Rage Multiplayer Consists of 2 sides of scripting, Client-side and Server-side, so as mentioned up Client-side allows you create and develop UI and show people your creativity, and Server-side allows you to manage the server itself with its things like managing players, vehicles, and markers etc.

Today we will create our first server-side resource, and will see how it works ingame.

First of all go to packages and create a folder (Call it anything you want), then in your server folder create a index.js file. After that, open the file and write the following

//init Commands file
require('./commands.js')

After that save and close. Now create another file called commands.js and open it.

Add these simple commands to your file.

mp.events.addCommand('kill', (player) => {
    player.health = 0;
});

mp.events.addCommand('hp', (player) => {
    player.health = 100;
});

mp.events.addCommand('armor', (player) => {
    player.armour = 100;
});

If you don't understand these, please proceed to Getting started with commands. Now we have created a simple source with 3 basic commands. One that gives health, one that gives armor, and one that kills you.

Now save the file and close it. Have you noticed anything wrong with the code we just wrote? If not, let me give you a hint. If you trigger the kill command, this means it will kill the player, but will you re-spawn back? I have the solution for you!.

create a JSON file and name it spawn_points.json and then add the following code:

{
    "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 }
    ]
}

Done? Now save it and close.

Create a new file called events.js and add the following code:

let spawnPoints = require('./spawn_points.json').SpawnPoints;

mp.events.add('playerDeath', (player) => {
    player.spawn(spawnPoints[Math.floor(Math.random() * spawnPoints.length)]);
    player.health = 100;
});

We have defined our spawn points that we want the player to spawn in, and then we added an event for when the player dies, they respawn in a random location from the spawn points you defined, and also don't forget to make his health 100 again or the player can teleport while dead to the spawn point.

IMPORTANT: Don't forget to require the events.js in the index.js

Your index.js file should be like this:

//init Commands file
require('./commands.js')

//init Events file
require('./events.js')

Now save and everything and launch your server and go test what you just did!.

I hope you enjoyed creating your first script in RAGE:MP and we will be sure to create further tutorials for you to learn more. Happy Gaming!