Salut, je vais t'expliquer avec des grandes lignes quelques étapes pour créer un skript de jobs :
Créer les variables pour les joueurs et leur avancement dans le système des jobs
Développer un système de choix du métier lorsqu'on rejoint le serveur
Développer un système de niveaux de métier
options:
prefix: &f6(&eJobs&6)
on join:
if {job::%player's uuid%} is not set:
message "{@prefix} &fSélectionnez un métier via la commande &6/&ejob&f !"
Dans ce début de code, on vérifie si le joueur a un métier ou non via la variable {job::%player's uuid%}. Si ce n'est pas le cas, il reçoit un message le signalant qu'il doit en choisir un.
Maintenant, on créer la commande de job :
command /job [<text>]:
trigger:
if {job::%player's uuid%} is not set:
if arg 1 is not set:
message "{@prefix} &fListe des métiers disponibles : &ePêcheur, Agriculteur, Boucher."
message "{@prefix} &fChoisissez-en un via la commande &6/&ejob (nom)"
else:
if arg 1 is "pêcheur" or "agriculteur" or "boucher":
set {job::%player's uuid%} to arg 1
message "{@prefix} &fFélicitations ! Vous êtes désormais un &6%{job::%player's uuid%}&f !"
set {job::%player's uuid%::level} to 1
set {job::%player's uuid%::xp} to 0
set {_level} to 1
set {job::%player's uuid%::xp-max::%{_level}%} to 300
Dans cette deuxième partie de code, le joueur a le choix entre 3 métiers, à toi d'en rajouter et de modifier certaines conditions dans la commande pour s'adapter aux métiers que tu ajoutes. On met aussi le niveau de métier de ce joueur à 1 via le {job::%player's uuid%::level} et son avancement en xp à 0.
Ensuite, on fait un système d'avancement du niveau :
on break of dirt:
if {job::%player's uuid%} is "agriculteur":
add 20 to {job::%player's uuid%::xp}
set {_level} to {job::%player's uuid%::level}
set player's action bar to "{@prefix} &fVous avez gagné &a+20 exp &f!"
#Vérifions si le joueur peut augmenter de niveau ou non
if {job::%player's uuid%::xp} > {job::%player's uuid%::xp-max::%{_level}%}:
add 1 to {job::%player's uuid%::level}
set {job::%player's uuid%::xp} to 0
message "{@prefix} &fBravo ! Vous êtes désormais un &6agriculteur&f de niveau &a&l%{job::%player's uuid%::level} &f!"
set {_level} to {job::%player's uuid%::level}
add 300 to {job::%player's uuid%::xp-max::%{_level}%}
Pour un débutant, ça peut être dur à comprendre cette partie de code mais je m'explique :
On vérifie si le métier du joueur est agriculteur lorsqu'il casse un bloc de dirt. Si c'est le cas, il gagne +20 xp.
Ensuite, on vérifie si le joueur a dépassé le nombre d'xp requis pour augmenter de niveau ou non (la variable a été définie dans le code précédent)
Si c'est le cas, le joueur gagne un niveau dans son métier, et la barre d'xp requise pour augmenter de niveau augmente de 300.
J'ai pas le temps de te faire un truc vraiment optimisé, là c'est juste pour te donner l'idée du fonctionnement. Je te conseil d'apprendre plus sur skript avant de te lancer dans un système aussi complexe, en te renseignant sur le fonctionnement des variables, des fonctions, etc.
Si t'as toujours besoin d'aide ou que quelque chose ne fonctionne pas dans ce que j'ai mis, je suis là.