Aller au contenu
AlexFatta

Aide : Variable(s) de liste de joueur

Messages recommandés

Bonjour à tous !

Je code maintenant sous skript depuis presque un an, et j'ai codé beaucoup de mini-jeux, mais un problème me glisse entre les main depuis le debut.

 

En effet, quand on créer un mini-jeux (CTF, skywars...) il faut pouvoir stocker et additionner les joueurs qui sont sur une map. Quand un joueur join une map, ce n'est pas difficile de l'ajouter à une variable, qu'elle soit seul ({variable.truc} ou bien pour un groupe {variable.truc::*}), mais le problème est présent lorsque le joueur meurt ! Pour ajouter je m'y prend de la facon suivante :

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

et jusque là ca va mais pour enlever le joueur a la variable ou au groupe de variable c'est plus compliqué vu que il faut que il y est le nom de l'arène en question dans le nom des variables. J'ai bien essayé de stocker la valeur de l'arg 1 dans une autre variable et de remplacer les "%arg 1%" par cette autre variable mais sans succès.

 

Parce que l'un des objectifs de ceci est de pouvoir afficher le nombre de joueurs dans une partie sur un panneau, ca je sais faire mais faut il encore que ce nombre puisse évoluer en augmentant et en diminuant sa valeur au join ou a la mort d'un joueur.

 

Savoir gerer et coder une liste de joueur comme celle-ci résoudrai beaucoup de problèmes et optimiserai de façon considérable les codes. Enfin bref vous avez ma problématique, si vous avez des questions ou si je n'ai pas été assez clair surtout dites le moi ^^

 

Merci à vous,

 

Cordialement,

 

AlexFatta

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité CleMx

Essaye ça :

command /join [<player>]:
   trigger:
       if player-arg is set:
           add player to {variable.truc::*}
           add 1 to {variable.count.player}

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci ^^ mais pour faire les join dans des parties j'ai pas de problème mais en revanche quand le joueur meurt, je ne sais pas comment l'enlever de/des variables.

 

J'attends ta réponse,

 

Merci à toi,

 

AlexFatta

Partager ce message


Lien à poster
Partager sur d’autres sites

Parce que je veux en fait avoir 1 seul groupe de variable ou 1 seule variable simple PAR map a savoir que j'ai l projet d'en faire avec des noms différents bien sûr. En tout les cas ajouter le joueur à une variable en particulier c'est compliqué mais l'enlever avec le nom de l'arène dedans c'est plus dur. Voilà mon problème ^^

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité CleMx

{arene.%arg-2%} = nom de l'arene que le joueur rejoint ou quitte ;

Pense à set la variable {arene.%ton arg%} to true quand tu créer ton arène

command /join [<player>] [<text>]:
   trigger:
       if argument 1 is set:
           if argument 2 is set:
               if {arene.%arg-2} is set:
                   add player to {variable.truc.%arg-2%::*}
                   add 1 to {variable.count.player.%arg-2%}
               else:
                   message "&cErreur : l'arène &8'&7%arg-2%&8' n'existe pas."
           else:
               message "&8>&7 Utilisation&8 : &c/join <joueur> <arène>"
       else:
           message "&8>&7 Utilisation&8 : &c/join <joueur> <arène>"

Je te fais le code pour enlever le joueur de la variable dans 20 minutes.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui jusque là ca va aussi mais comme il faut le l'arène dans la variable ou dans le group de variable, c'est un problème !! Ce qui aurait été bien, c'est que skript detecte dans quelle variable est le joueur et l'enlève de celle-ci mais ca ne marche pas.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Skript ne détecte aucun joueur dans aucune de ces situations, quand je lui demande l'affichage de la variable entre %%, il me met <none> alors que je suis censé être dedans.

 

Et pour le remove du joueur du coup il détecte pas le joueur dedans donc forcement il n’exécute pas le remove du joueur.

 

Donc le problème est de pouvoir remplacer le %arène% par le nom de l'arène dans laquelle est le joueur et de faire en sorte que skript puisse enlever 1 joueur en question (ici qui meurt) de la variable.

 

Cordialement,

 

AlexFatta

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais pas vu ton message CleMx. Alors pour mettre la variable sur true j'ai fais une commande "unlock" avec un arg 1 qui fait set {variable.truc.%arg 1%} to true + un message de confirmation. Je te remercie pour ton code j'attends celui pour remove le joueur, j'incorpore, je test et je te tient au jus ;)

 

Merci,

 

Cordialement,

 

AlexFatta

Partager ce message


Lien à poster
Partager sur d’autres sites

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Je sais pas si c'est le code exact mais sa te donne une idée de comment faire.

Partager ce message


Lien à poster
Partager sur d’autres sites
Essaie ça?

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

 

Je pense que tu n'a pas lu le poste la ton aide ne sert pas grand chose :o

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok !! Ca marche @besuper donc je vais l'incorporer au code final et faire un test dans le code en lui même. Je ne passe pas en résolu si jamais cela ne marche pas au final. Auriez vous cependant une idée de comment mettre un mot ou un nom d'arène dans une variable c'est à dire par exemple mettre le mot "Arène1" dans la variable {arene.list.%player%} et de facon a pouvoir remplacer le %arène% dans {variable.truc.%arène%} par cette variable qui contiendrai le nom de l'arène. Je ne sais pas si c'est possible je ne pense pas mais je préfère demander ;)

 

Bien à vous,

 

Cordialement,

 

AlexFatta

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors j'espère que sa a marché dans le code global et pour ajouter Arène1 dans la variable et la modifier je sais pas du tout créer plus tot la list {arene.list.%arene%::%player%}

Partager ce message


Lien à poster
Partager sur d’autres sites
Ok !! Ca marche @besuper donc je vais l'incorporer au code final et faire un test dans le code en lui même. Je ne passe pas en résolu si jamais cela ne marche pas au final. Auriez vous cependant une idée de comment mettre un mot ou un nom d'arène dans une variable c'est à dire par exemple mettre le mot "Arène1" dans la variable {arene.list.%player%} et de facon a pouvoir remplacer le %arène% dans {variable.truc.%arène%} par cette variable qui contiendrai le nom de l'arène. Je ne sais pas si c'est possible je ne pense pas mais je préfère demander ;)

 

Bien à vous,

 

Cordialement,

 

AlexFatta

La prochaine fois mets en résolu s'il te plaît.

Partager ce message


Lien à poster
Partager sur d’autres sites

×
×
  • 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.