Aller au contenu
Rechercher dans
  • Plus d’options…
Rechercher les résultats qui contiennent…
Rechercher les résultats dans…
Poro

novice Les bases de Rage : Les commandes

Messages recommandés

Poro

Ce tutoriel vise à débuter le scripting par quelque chose de simple : les commandes.

L' API proposé par RageMP propose une function intéressante côté serveur afin de gérer les commandes :

mp.events.addCommand("<name>", (player, fullText, args1, args2) => {});

En effet cette fonction va permettre de créer une commande qui sera exécutée lorsque l'utilisateur entrera dans le chat  " /<name> ".

Par exemple le code suivant :

mp.events.addCommand("car", (player, fullText, args1, args2) => {});

sera éxécuté quand un joueur entrera "/car" dans le chat, la deuxième partie signifie que la fonction renvoie en paramètres le joueur de type "player", l'argument fullText qui est l'ensemble des arguments passés dans une chaîne de caractère, puis les arguments successifs qui sont séparés par des espaces.

 

Le plus simple pour comprendre reste de faire un exemple, on va faire deux exemples de commandes, une pour se téléporter et une pour faire apparaître une voiture.

 

Commande pour se téléporter

Commençons par créer la base de la ressource, nous allons alors créer un dossier "commands" dans le dossier "packages" de notre serveur. Dans ce dossier commands, nous allons créer un fichier index.js qui sera le fichier exécuté quand le serveur chargera la ressource.

 

Dans ce fichier index.js on va utiliser la fonction vue précédemment  :

mp.events.addCommand("tp", (player,_,x,y,z) => { //Ici le fullText ne nous intéresse pas, on ne le stock donc pas en utilisant "_"
   if(!x || !y || !z) return; //Vérifie l'existence des arguments
   player.position = new mp.Vector3(Number(x),Number(y),Number(z)); //Change la position du joueur qui est une propriété du type mp.Vector3
   player.notify(`Vous avez été téléporté aux coordonnées : ${x}, ${y}, ${z}`); //Notifie le joueur que cela a fonctionné
});

 

Maintenant, on peut lancer notre serveur et si tout c'est bien passé, on obtient l'écran suivant :

image.png.c6bf1ee778103eea29e6af98b8d9c4bf.png

 

On voit bien que la ressource est démarrée, il suffit de se connecter et de taper la commande : " /tp 0 0 71" par exemple.

 

Commande pour la voiture

 

Ici le code ressemble à ceci :

 

mp.events.addCommand('car', (player, fullText, hash) => {
   if(!fullText) return; //Vérifie l'existence de l'argument
   let veh; // On prépare une variable pour stocker le véhicule
   veh = mp.vehicles.new(hash, player.position, {heading: player.heading, dimension: player.dimension}); // Creation et stockage du véhicule
   player.putIntoVehicle(veh, -1); // On met le player en tant que conducteur du véhicule
});

 

Pour plus d'information sur la commande mp.vehicles.new cliquez ici

De même, il suffit de redémarrer le serveur pour tester, cela peut être fait rapidement en faisant ctrl+c dans la console puis relancer le serveur, le jeu devrait se reconnecter tout seul au démarrage du serveur.

Nous arrivons à la fin de ce tutoriel, j'espère vous avoir aidé sur la compréhension de la mise en place des commandes, si vous avez des questions n'hésitez pas à les poser et à bientot pour la suite des tutoriels sur les bases !

 

Partager ce message


Lien à poster
Partager sur d’autres sites
JagerBom

nice! (tellement hardcore on dirait de faire des commandes) 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez les présents règlements Conditions d’utilisation, Politique de confidentialité,Règles.