Aller au contenu
  • 0

Système pour un practice (File d'attente + quand un joueur rejoind


Question

Posté(e)

Version de Minecraft : 1.9.4
Version de Skript : 2.4.1

Addons utilisés: SkQuery, TuSKe

Type du skript : Un systeme quand on rejoinds la file d'attente, sa nous met dans une liste puis quand un 2e joueurs arrive sa tp les joueurs dans l'arene (execution d'une commande par joueur)

Description du script :

Bonjour, bonsoir j'ai un soucis concernant un skript, j'ai ESSAYER de créer une liste cependant je n'y arrive pas.
J'explique, en gros j'aimerai créer un practice, tout est bon cependant j'aimerai faire un systeme d'attente pour quand un joueur clic sur l'épée Unranked / Ranked sa le met dans la liste du mode de jeu proposé.
Je sais pas si je suis claire..
Voici le screen du code

Capture.PNG

19 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonjour !

Alors la moindre de choses serait de prendre au minimum 2 minutes et de poster ton code sur le forum, et pas un simple screen...

  • 0
Posté(e)
Citation

command /duelrdm [<text>]:
    trigger:
        if player's world is "Practice":
            if arg 1 is not set:
                open virtual chest inventory with size 1 named "&c» &fUnranked" to player
                format gui slot 0 of player with splash potion of healing named "&cNoDebuff" to close then run  player command "/duelrdm nodebuff"
                format gui slot 2 of player with lava bucket named "&cBuildUHC" to close then run  player command "/duelrdm builduhc"
                format gui slot 4 of player with pufferfish named "&cCombo (&cEn Dev)" to close then run player command "/duelrdm combo"                    
                format gui slot 6 of player with golden apple named "&cGApple" to close then run player command "/duelrdm GApple"
                format gui slot 8 of player with diamond sword named "&c HCF" to close then run player command "/duelrdm HCF"
                stop trigger
            # Arene
            if arg 1 is "nodebuff":
                add player to {practice::nodebuff}
                send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
                if {practice::nodebuff} contains 2 players:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer} to a random element of {practice::nodebuff}
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    remove {_randomplayer} from {practice::nodebuff}
                    wait 10 ticks
                    set {_randomplayer} to a random element of {practice::nodebuff}
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    remove {_randomplayer} from {practice::nodebuff}
                    wait 1 seconds
                    remove 2 players from {practice::nodebuff}

 

  • 0
Posté(e)

Salut, tu essaies d'ajouter des joueurs dans une varibles à une seule place

Pour que ça marche il faut mettre

{paractice::nodebuff::*}

Car il faut l'ajouter dans une liste

  • J'aime 1
  • 0
Posté(e)
il y a 47 minutes, LOUDO a dit :

Salut, tu essaies d'ajouter des joueurs dans une varibles à une seule place

Pour que ça marche il faut mettre


{paractice::nodebuff::*}

Car il faut l'ajouter dans une liste

Ok j'essaye de suite

 

  • 0
Posté(e) (modifié)

Je crois que sa marche pas, sa nous tp pas dans l'arene et sa nous donne pas le kit nodebuff

 

Citation

            if arg 1 is "nodebuff":
                add player to {paractice::nodebuff::*}
                send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
                if {paractice::nodebuff::*} contains 2 players:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer} to a random element of {paractice::nodebuff::*}
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    teleport {_randomplayer} to {arena.1.rouge}
                    remove {_randomplayer} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer} to a random element of {paractice::nodebuff::*}
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    teleport {_randomplayer} to {arena.1.bleu}
                    remove {_randomplayer} from {paractice::nodebuff::*}
                    wait 1 seconds
                    remove 2 players from {paractice::nodebuff::*}

C'est la première fois que je manipule les Listes donc je ne m'y connais pas du tout, meme en regardant un tuto skript mc je ne comprends pas trop...
Peut-être aussi mon systeme d'arene ... Je ne sais pas trop je t'avouerai...
 

Modifié par ShynexPvP
Oublies
  • 0
Posté(e) (modifié)
il y a 31 minutes, ShynexPvP a dit :

Je crois que sa marche pas, sa nous tp pas dans l'arene et sa nous donne pas le kit nodebuff

 

C'est la première fois que je manipule les Listes donc je ne m'y connais pas du tout, meme en regardant un tuto skript mc je ne comprends pas trop...
Peut-être aussi mon systeme d'arene ... Je ne sais pas trop je t'avouerai...
 

Le problème que tu as c'est que tu vérifie si la liste contient 2 joueurs or le "contains" est bugué

Essaie de mettre

if size of {practice::debuff::*} > 2 #ON va vérfier si la taille de la liste est supérieur à 2

Aussi le "remove 2 players from practice::debuff::*}" est inutile puisque tu les  déjà supprimé de la liste

Et pour finir je t'invite à faire

set {_randomplayer} to "%{_randomplayer}%" parsed as player #On défini la variable temporaire comme si on le condiderais comme un joueur, On s'est jamais, le code ne vas peut être pas comprendre si c'est un joueur, un chiffre etc...

Et pour apprendre les listes et comment elles fonctionnent, je t'invite à passer ici Apprendre les listes

Modifié par LOUDO
  • 0
Posté(e)
Citation

            if arg 1 is "nodebuff":
                add player to {paractice::nodebuff::*}
                send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
            else:
                send "&cPractice &7» &fTu es déjà dans la file d'attente !" to player
                if size of {practice::debuff::*} > 2:
                    broadcast "Test" in "Practice"
                    set {_randomplayer} to "%{_randomplayer}%" parsed as player
                    wait 2 seconds
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    teleport {_randomplayer} to {arena.1.rouge}
                    remove {_randomplayer} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer} to a random element of {paractice::nodebuff::*}
                    make console execute command "/practice nodebuff %{_randomplayer}%"
                    teleport {_randomplayer} to {arena.1.bleu}
                    remove {_randomplayer} from {paractice::nodebuff::*}
                    wait 1 seconds

Sa ne nous tp pas dans les arenes. Et d'ailleurs si 3 personne sont dans la liste comment ça marche ? Est-ce que sa tp les joueurs dans la meme arene ?

 

  • 0
Posté(e)
il y a 6 minutes, ShynexPvP a dit :

Sa ne nous tp pas dans les arenes. Et d'ailleurs si 3 personne sont dans la liste comment ça marche ? Est-ce que sa tp les joueurs dans la meme arene ?

 

Alors essaie...

 size of {practice::debuff::*} > 2:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer.1} to random element of {practice::debuff::*}
                    set {_randomplayer.1} to "%{_randomplayer.1}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.1}%"
                    teleport {_randomplayer.1} to {arena.1.rouge}
                    remove {_randomplayer.1} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer.2} to a random element of {paractice::nodebuff::*}
                    set {_randomplayer.2} to "%{_randomplayer.2}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.2}%"
                    teleport {_randomplayer.2} to {arena.1.bleu}
                    remove {_randomplayer.2} from {paractice::nodebuff::*}
                    wait 1 seconds

Par contre converti les espaces en tab parce que je suis sur tel

 

Et pour répondre à ta question : oui et non car si tu fais cette syntaxe

teleport {ma.liste::*} to {variable}

Il va prendre tout les donné enregistré de la liste et exécuter ton codei

Mais si tu fais cette syntaxe

teleport {ma.liste::1} to {variable} # Cela va prendre que la premiere chose de la liste, ex: loudo, gil: loudo va etre pris en 1er car c'est le premier de la liste

 

  • 0
Posté(e)

Merci bien, mais sa nous tp pas, sa  execute meme pas ce que la console doit faire pour test.
 

Citation

            if arg 1 is "nodebuff":
                add player to {paractice::nodebuff::*}
                send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
                if size of {practice::debuff::*} > 2:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer.1} to random element of {practice::debuff::*}
                    set {_randomplayer.1} to "%{_randomplayer.1}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.1}%"
                    teleport {practice::debuff::1} to {arena.1.rouge}
                    remove {_randomplayer.1} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer.2} to a random element of {paractice::nodebuff::*}
                    set {_randomplayer.2} to "%{_randomplayer.2}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.2}%"
                    teleport {practice::debuff::2} to {arena.1.bleu}
                    remove {_randomplayer.2} from {paractice::nodebuff::*}
                    wait 1 seconds

 

  • 0
Posté(e)
il y a 2 minutes, ShynexPvP a dit :

Merci bien, mais sa nous tp pas, sa  execute meme pas ce que la console doit faire pour test.
 

 

 

Ok essaie de mettre

size of {practice::debuff::*} > 1: # Si vous êtez 2 


size of {practice::debuff::*} > 0 #Si t'es seul

Si sa marche toujours pas j'ai une autre solution

  • J'aime 1
  • 0
Posté(e)

Toujours pas, rien ne s'execute

 

Citation

command /duelrdm [<text>]:
    trigger:
        if player's world is "Practice":
            if arg 1 is not set:
                open virtual chest inventory with size 1 named "&c» &fUnranked" to player
                format gui slot 0 of player with splash potion of healing named "&cNoDebuff" to close then run  player command "/duelrdm nodebuff"
                format gui slot 2 of player with lava bucket named "&cBuildUHC" to close then run  player command "/duelrdm builduhc"
                format gui slot 4 of player with pufferfish named "&cCombo (&cEn Dev)" to close then run player command "/duelrdm combo"                    
                format gui slot 6 of player with golden apple named "&cGApple" to close then run player command "/duelrdm GApple"
                format gui slot 8 of player with diamond sword named "&c HCF" to close then run player command "/duelrdm HCF"
                stop trigger
            # Arene
            if arg 1 is "nodebuff":
                if size of {practice::debuff::*} > 0:
                    add player to {paractice::nodebuff::*}
                    send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
                if size of {practice::debuff::*} > 1:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer.1} to random element of {practice::debuff::*}
                    set {_randomplayer.1} to "%{_randomplayer.1}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.1}%"
                    teleport {practice::debuff::1} to {arena.1.rouge}
                    remove {_randomplayer.1} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer.2} to a random element of {paractice::nodebuff::*}
                    set {_randomplayer.2} to "%{_randomplayer.2}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.2}%"
                    teleport {practice::debuff::2} to {arena.1.bleu}
                    remove {_randomplayer.2} from {paractice::nodebuff::*}
                    wait 1 seconds

 

 

  • 0
Posté(e)
il y a 1 minute, ShynexPvP a dit :

Toujours pas, rien ne s'execute

 

 

Je voulais dire de mettre mon code si tu est tout seul dans la liste

En gros je veux dire

if {practice::debuff::*} > 0: #Si tu est tout seul a tester le skript

Et enlève  le "practice > 1" quand tu rejoins le practice car sinon rien ne va se passer

  • 0
Posté(e) (modifié)

Toujours pas après sa ce trouve je suis stupide je comprends peut-être pas ce que tu dis mais rien ne s’exécute sauf le "Tu es dans la file d'attente" :

 

Citation

command /duelrdm [<text>]:
    trigger:
        if player's world is "Practice":
            if arg 1 is not set:
                open virtual chest inventory with size 1 named "&c» &fUnranked" to player
                format gui slot 0 of player with splash potion of healing named "&cNoDebuff" to close then run  player command "/duelrdm nodebuff"
                format gui slot 2 of player with lava bucket named "&cBuildUHC" to close then run  player command "/duelrdm builduhc"
                format gui slot 4 of player with pufferfish named "&cCombo (&cEn Dev)" to close then run player command "/duelrdm combo"                    
                format gui slot 6 of player with golden apple named "&cGApple" to close then run player command "/duelrdm GApple"
                format gui slot 8 of player with diamond sword named "&c HCF" to close then run player command "/duelrdm HCF"
                stop trigger
            # Arene
            if arg 1 is "nodebuff":
                add player to {paractice::nodebuff::*}
                send "&cPractice &7» &fTu es dans la file d'attente pour le &cNodebuff&f." to player
                if size of {practice::debuff::*} > 2:
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer.1} to random element of {practice::debuff::*}
                    set {_randomplayer.1} to "%{_randomplayer.1}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.1}%"
                    teleport {practice::debuff::1} to {arena.1.rouge}
                    remove {_randomplayer.1} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer.2} to a random element of {paractice::nodebuff::*}
                    set {_randomplayer.2} to "%{_randomplayer.2}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.2}%"
                    teleport {practice::debuff::2} to {arena.1.bleu}
                    remove {_randomplayer.2} from {paractice::nodebuff::*}
                    wait 1 seconds

 

 

Modifié par ShynexPvP
  • 0
Posté(e)
il y a 9 minutes, ShynexPvP a dit :

Toujours pas après sa ce trouve je suis stupide je comprends peut-être pas ce que tu dis mais rien ne s’exécute sauf le "Tu es dans la file d'attente" :

 

 

Je t'envoie comme ça au pire

Révélation

 

                if size of {practice::debuff::*} > 0;
                    broadcast "Test" in "Practice"
                    wait 2 seconds
                    set {_randomplayer.1} to random element of {practice::debuff::*}
                    set {_randomplayer.1} to "%{_randomplayer.1}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.1}%"
                    teleport {practice::debuff::1} to {arena.1.rouge}
                    remove {_randomplayer.1} from {paractice::nodebuff::*}
                    wait 10 ticks
                    set {_randomplayer.2} to a random element of {paractice::nodebuff::*}
                    set {_randomplayer.2} to "%{_randomplayer.2}%" parsed as player
                    make console execute command "/practice nodebuff %{_randomplayer.2}%"
                    teleport {practice::debuff::2} to {arena.1.bleu}
                    remove {_randomplayer.2} from {paractice::nodebuff::*}
                    wait 1 seconds

 

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.