Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 29/02/2016 dans toutes les zones

  1. Alors salut tout le monde, on se retrouve pour un nouveau petit tutoriel sur les équipes. J'ai décidé de le faire vu que la création d'équipes en skript avait été souvent demandé et qu'aucun tutoriel n'avait été fait sur le sujet! Donc, voilà nous allons en avoir un maintenant. Les variables: Bon avant toute chose, nous devons commencer par la base et faire une petite révision des variables pour ceux qui sont un peu moins avancés en skript, pour leur permettre de comprendre. Sur Skript, nous avons 3 types de variables, les variables locales, les listes et les variables normales. - Une variable normale est nommé entre les { }. Elle permet de stocker une donnée ex: Un nombre, un joueur, un mot, etc. -Une variable locale se nomme comme la variable normale, mais elle débute par un _ comme ceci {_variable}. Cette variable fait le même travaille qu'une variable normale, sauf qu'elle est est supprimé à la fin de notre code. -Une liste se nomme comme la variable normale, mais elle est suivie de ::* comme ceci {variable::*}. Elle permet de stocker plusieurs données sous forme d'une liste. Le code: Bon, il est temps d'entrer dans le vif du sujet. pour commencer, nous allons exécuter une commande qui permettra aux joueurs de rejoindre le lobby et de leur voir attribuer une équipe automatiquement. Nous commençons par créer une commande: command /tutoteam: # On créer la commande trigger: #Ce que la commande va faire if {team::color::%player%} is not set: # Si le joueur n'est pas dans une équipe teleport player to {lobby} #N'oubliez pas de set {lobby} à une certaine coordonée if size of {team::red::*} is more than size of {team::blue::*}: # Si il y a plus de joueurs dans la team red que la team blue add player to {team::blue::*} # Ajouter le joueur à la team blue set {team::color::%player%} to blue # Mettre le joueur dans la team blue else: # Sinon add player to {team::red::*} # Ajouter le joueur à la team red set {team::color::%player%} to red # Mettre le joueur dans la team red add player to {team::*} # Ajoute le player à la variable qui contient tout les joueurs loop {team::*}: # On loop tout les joueurs qui jouent send message "%player% a rejoint l'équipe %{team::color::%player%}%" to loop-value # On envoie un message à tout les joueurs qui jouent invoke "timertest" # Fonction pour commencer le timer (remplace une commande) Donc avec ce code, lorsqu'un joueur exécute la commande /tutoteam, il sera automatiquement attribué à l'équipe rouge ou bleu. Nous devons par la suite, enlever le joueur de son équipe s'il quitte la partie. on quit: if {team::color::%player%} is set: # Si le joueur est dans une équipe remove player from {team::%{team::color::%player%}%::*} # Enlève le joueur de l'équipe delete {team::color::%player%} # Supprime l'équipe du joueur remove player from {team::*} # Enlève le joueur de la variable qui contient tout les joueurs set {tptospawn::%player%} to true # Set une variable pour dire qu'il doit être tp au spawn lorsqu'il va rejoindre on join: if {tptospawn::%player%} is true: # S'il doit se faire tp au spawn teleport player to spawn # Téléporter au spawn delete {tptospawn::%player%} # Supprime la variable Par la suite, nous devons faire que la partie commence automatiquement à 20 joueurs, donc: sub "timertest": #Notre fonction if size of {team::red::*} + size of {team::blue::*} is more than 19: # Si le nombre de joueurs = 20 et + set {_s} to 11 # Nombres de secondes avant le début du match loop 10 times: # 10 secondes remove 1 from {_s} # On enlève 1 seconde loop {team::*}: # On prend tout les joueurs qui jouent send message "La partie commence dans %{_s}% secondes" to loop-value-2 # On envoie une message à chaque joueur personellement wait 1 second # attendre une seconde en chaque seconde loop {team::red::*}: # Tout les joeurs de l'équipe rouge teleport loop-value to {team::spawn::red} #Teleport au spawn rouge loop {team::blue::*}: # Tout les joueurs de l'équipe bleu teleport loop-value to {team::spawn::blue} # Teleport au spawn bleu Manipuler nos variables: Bon, nous venons tout juste de créer un système d'équipe et de lobby, il ne nous manque plus qu'à voir les variables servent à quoi pour s'assurer que tout est clair pour tout le monde {team::color::%player%} contient la couleur de l'équipe du joueur {team::red::*} contient tout les joueurs de l'équipe rouge {team::blue::*} contient tout les joueurs de l'équipe bleu {team::*} contient tout les joueurs qui jouent J'espère que j'ai été assez clair :) Si jamais vous avez des questions, vous pouvez les mettre dans les commentaires et je vous répondrai dans un cours délai Code final: command /tutoteam: # On créer la commande trigger: #Ce que la commande va faire if {team::color::%player%} is not set: # Si le joueur n'est pas dans une équipe teleport player to {lobby} #N'oubliez pas de set {lobby} à une certaine coordonée if size of {team::red::*} is more than size of {team::blue::*}: # Si il y a plus de joueurs dans la team red que la team blue add player to {team::blue::*} # Ajouter le joueur à la team blue set {team::color::%player%} to blue # Mettre le joueur dans la team blue else: # Sinon add player to {team::red::*} # Ajouter le joueur à la team red set {team::color::%player%} to red # Mettre le joueur dans la team red add player to {team::*} # Ajoute le player à la variable qui contient tout les joueurs loop {team::*}: # On loop tout les joueurs qui jouent send message "%player% a rejoint l'équipe %{team::color::%player%}%" to loop-value # On envoie un message à tout les joueurs qui jouent invoke "timertest" # Fonction pour commencer le timer (remplace une commande) on quit: if {team::color::%player%} is set: # Si le joueur est dans une équipe remove player from {team::%{team::color::%player%}%::*} # Enlève le joueur de l'équipe delete {team::color::%player%} # Supprime l'équipe du joueur remove player from {team::*} # Enlève le joueur de la variable qui contient tout les joueurs set {tptospawn::%player%} to true # Set une variable pour dire qu'il doit être tp au spawn lorsqu'il va rejoindre on join: if {tptospawn::%player%} is true: # S'il doit se faire tp au spawn teleport player to spawn # Téléporter au spawn delete {tptospawn::%player%} # Supprime la variable sub "timertest": #Notre fonction if size of {team::red::*} + size of {team::blue::*} is more than 19: # Si le nombre de joueurs = 20 et + set {_s} to 11 # Nombres de secondes avant le début du match loop 10 times: # 10 secondes remove 1 from {_s} # On enlève 1 seconde loop {team::*}: # On prend tout les joueurs qui jouent send message "La partie commence dans %{_s}% secondes" to loop-value-2 # On envoie une message à chaque joueur personellement wait 1 second # attendre une seconde en chaque seconde loop {team::red::*}: # Tout les joeurs de l'équipe rouge teleport loop-value to {team::spawn::red} #Teleport au spawn rouge loop {team::blue::*}: # Tout les joueurs de l'équipe bleu teleport loop-value to {team::spawn::blue} # Teleport au spawn bleu
    5 points
  2. Voici une petite portion d'algorithme qui vous permettra de faire un Top (Tri décroissant). L'entrée de l'algorithme : une liste nommée {_liste::*} et dont les index correspondent à des joueurs et les valeurs à leurs scores respectifs. set {_copieliste::*} to {_liste::*} #On fait une copie de la liste pour éviter que cette dernière soit "endommagée" loop X times: #Remplacer X par le TopX (si vous voulez faire un Top5, mettez "loop 5 times:" clear {_maxv} loop {_copieliste::*}: if {_maxv} is not set: set {_maxv} to loop-value-2 set {_maxi} to loop-index-2 else if {_maxv} is smaller than loop-value-2:#Si vous souhaitez faire un "Flop" (Tri Croissant), mettez "is higher than" à la place de "is smaller than" set {_maxv} to loop-value-2 set {_maxi} to loop-index-2 clear {_copieliste::%{_maxi}%} set {_topv::%loop-number%} to {_maxv} set {_topi::%loop-number%} to {_maxi} Vous obtenez en sortie deux listes : la première est {_topv::*} dont les index correspondent à la position dans le top et les valeurs au score correspondant, et la deuxième est {_topi::*} dont les index correspondent également à la position dans le top et les valeurs au joueur correspondant. Pour tester le code :
    5 points
  3. Drakorle submitted a new resource: [plain][EasyJump] Skript de Parcours[/plain] - [plain]Crée un parcours de jump[/plain] Read more about this resource...
    1 point
  4. Si tu as vraiment aucune idée de là ou ça vient, copie ton serveur, puis fais des tests sur la copie: Tu supprimes d'abord tous les plugins, pour voir si ça venaient d'eux: - si le bug n'est plus là, alors tu n'as plus qu'a remettre tous les plugins, puis les enlever un à un pour trouver lequel pose problème. - si le bug est encore là après avoir viré tous les plugins, tu testes en supprimant les mods un à un. Bref, comme l'a di Assaut53, ici c'est un forum skript, et je ne pense pas que quelqu'un puisse t'aider plus que ça.
    1 point
  5. je le met en ressource?
    1 point
  6. Non pas vraiment :x J'ai pas trop compris il fonctionnait comment
    1 point
  7. Putain le tuto quoi ! Venez tous apprendre les équipes ! Vraiment très pratique pour les mini-jeux, tous ceux qui demanderont de l'aide pour les mini-jeux spammez les avec ça ! xD Alors tu t'es inspiré de SkBunch ? :)
    1 point
  8. S'il vous plaît , cette personne demande gentillement une demande d'aide , il est cependant possible que l'on face des fautes. Cela n'est pas un argument pour chercher des éventuels ennuis avec la personne.
    1 point
  9. LOL quel rapport avec ton Message Inutile @HardTrox, Tu sais Lis avant de Parler !
    1 point
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.