Aller au contenu

Messages recommandés

Posté(e)

Bonjour , Bonsoir mes skripteurs.

Je vous écris aujourd'hui pour vous demandez la fin de mon skript que je n'arrive pas a trouver

 

Mon skript est un skript de scoreboard permettant d'afficher quelle joueur est dans quelle monde (=Quelle mode de jeux) seul problème c'est que je n'arrive pas a trouver quand le joueur se tp dans un autre monde sa enlève 1 dans le monde ou il est actuellement et ajoute 1 dans le monde ou il va

 

Voici le début de mon skript je vous laisse le finaliser si possible :)

Merci d'avance

 

 

options:
   Title: &7&l>> &6&lSky&b&lWorld &7&l<<

every 30 seconds:
   loop all players:
       wipe loop-player's sidebar
       set name of sidebar of loop-player to "{@Title}"
       set score "&e&lLangue &f&l: &b&lF&f&lR&4&lA" in sidebar of loop-player to 9
       set score "&6&m&l-----------------------" in sidebar of loop-player to 8
       set score "&e&lNombre de joueurs &f&l: &e&l%{online.players}%" in sidebar of loop-player to 7
       set score "&4&lHUB &f&l: &e&l%{online.hub}%" in sidebar of loop-player to 6
       set score "&b&lSkyBlock &f&l>> &a&l%{online.skyblock}%" in sidebar of loop-player to 5
       set score "&5&lSurvie &f&l>> &a&l%{online.survie}%" in sidebar of loop-player to 4
       set score "&2&lMini&f&l-&2&lJeux &f&l>> &a&l%{online.games}%" in sidebar of loop-player to 3
       set score "&e&lArgent &f&l: %balance of loop-player%" in sidebar of loop-player to 2
       set score "&6&lPseudo &f&l: &b&l%UUID of player%" in sidebar of loop-player to 1


on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is not "skyworld":
           add 1 to {online.skyblock}
       if player's world is "skyworld":
           remove 1 from {online.skyblock}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is not "Mini-Jeux":
           add 1 to {online.games}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is not "HUB":
           add 1 to {online.survie}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is not "Survie":
           add 1 to {online.skyblock}



On join:
   add 1 to {online.players}

On quit:
   remove 1 from {online.players}

on command /resetall:
   trigger:
       clear {online.players}
       clear {online.survie}
       clear {online.games}
       clear {online.skyblock}
       clear {online.hub}

 

 

Cordialement.

@GhostKiller76

Posté(e)

Désolé j'ai pas vraiment le temps d'analyser ton code en détails, mais ton /resetall risque de faire passer tes variables en négatif. Opte plutôt pour un clear {var}

Posté(e)

Personellement j'aurais créer une commande:

Pour pouvoir enlever 1 sur le monde de départ et ensuite avec un court délai ajouter 1 sur le nouveau monde.

 

Avec on teleport, tu ne peux prendre en compte que le monde d'arrivé (je crois).

command /tpw <world>:
   trigger:
       set {w.%player%} to player's world
       if player is in world:
           remove 1 from {online.%{w.%player%}%}
       wait 1 tick
       teleport player in arg 1's world # & vérifier
       wait 5 seconds #au cas ou le joueur a de grosses latences
       set {_w.%player%} to player's world
       add 1 to {online.%{_w.%player%}%}

Après je te laisse modifier à ta guise pour le reste, si tu rencontres des problèmes. Reviens en parler sur le forum,

bonne soirée;) !

Posté(e)

Si je comprends bien, tu ne veux pas afficher le monde dans lequel chaque joueur se trouve mais plutot compter le nombre de joueurs dans chaque monde. C'est bien ça ?

Posté(e)
Si je comprends bien, tu ne veux pas afficher le monde dans lequel chaque joueur se trouve mais plutot compter le nombre de joueurs dans chaque monde. C'est bien ça ?

Oui c'est bien cela que je souhaite mais je l'ai déjà trouver pour afficher le nombre de joueurs dans le monde (grace a une variable) mais je n'arrive pas a trouver pour que quand le joueur va de skyblock à survie alors sa retire 1 a la variable {online.skyblock}

 

En quelque sorte je voudrais une variable qui localise dans quelle monde était le joueur en la skyblock

J'ai utilisé le skyblock mais je souhaite que sa le fasse avec le hub , mini-jeux , survie , et skyblock

 

Cordialement.

@GhostKiller76

 

Personellement j'aurais créer une commande:

Pour pouvoir enlever 1 sur le monde de départ et ensuite avec un court délai ajouter 1 sur le nouveau monde.

 

Avec on teleport, tu ne peux prendre en compte que le monde d'arrivé (je crois).

command /tpw <world>:
   trigger:
       set {w.%player%} to player's world
       if player is in world:
           remove 1 from {online.%{w.%player%}%}
       wait 1 tick
       teleport player in arg 1's world # & vérifier
       wait 5 seconds #au cas ou le joueur a de grosses latences
       set {_w.%player%} to player's world
       add 1 to {online.%{_w.%player%}%}

Après je te laisse modifier à ta guise pour le reste, si tu rencontres des problèmes. Reviens en parler sur le forum,

bonne soirée;) !

J'essaye cela !

Posté(e)

Mais... si tu arrives à afficher le nombre de joueurs dans un monde. tu n'as qu'à réinitialiser la variable contenant le nombre de joueurs et recalculer le nombre de joueurs...

 

Tu fais ça dans un "every 1 second" ou quelque chose comme ça et ca te donnera en temps réel le nombre de joueurs dans chacun des mondes.

 

Évidemment la réinitialisation doit etre effectuée au début de "every 1 second"

 

Ca donnerait quelque chose comme ca :

 

Every 1 second:
   Loop all players:
       Remove {var.%loop-player%}
       ...
#      Calculer nb joueurs
#      Afficher nb joueurs dans scoreboard

Posté(e)
Mais... si tu arrives à afficher le nombre de joueurs dans un monde. tu n'as qu'à réinitialiser la variable contenant le nombre de joueurs et recalculer le nombre de joueurs...

 

Tu fais ça dans un "every 1 second" ou quelque chose comme ça et ca te donnera en temps réel le nombre de joueurs dans chacun des mondes.

 

Évidemment la réinitialisation doit etre effectuée au début de "every 1 second"

 

Ca donnerait quelque chose comme ca :

 

Every 1 second:
   Loop all players:
       Remove {var.%loop-player%}
       ...
#      Calculer nb joueurs
#      Afficher nb joueurs dans scoreboard

Sa te dérange de compléter mon skript avec ce que tu viens de faire ?

Posté(e)
Là je suis au taff donc un peu compliqué ^^'
Pas de problème mais je compte sur toi si tu as le temps :D

 

@Random ta pas une idée avec toute les réponses qui ont été donné car je n'y arrive toujours pas :p

 

Mon code actuel :

 




options:
   Title: &7&l>> &6&lSky&b&lWorld &7&l<<

every 15 seconds:
   loop all players:
       delete {online.hub.%loop-player%}
       delete {online.skyblock.%loop-player%}
       delete {online.games.%loop-player%}
       delete {online.survie.%loop-player%}
       set {online.skyblock.%loop-player%}
       set {online.survie.%loop-player%}
       set {online.games.%loop-player%}
       set {online.hub.%loop-player%}
       wipe loop-player's sidebar
       set name of sidebar of loop-player to "{@Title}"
       set score "&e&lLangue &f&l: &b&lF&f&lR&4&lA" in sidebar of loop-player to 8
       set score "&6&m&l-----------------------" in sidebar of loop-player to 7
       set score "&e&lNombre de joueurs &f&l: &e&l%{online.players}%" in sidebar of loop-player to 6
       set score "&4&lHUB &f&l>> &e&l%{online.hub.%loop-player%}%" in sidebar of loop-player to 5
       set score "&b&lSkyBlock &f&l>> &a&l%{online.skyblock.%loop-player%}%" in sidebar of loop-player to 4
       set score "&5&lSurvie &f&l>> &a&l%{online.survie.%loop-player%}%" in sidebar of loop-player to 3
       set score "&2&lMini&f&l-&2&lJeux &f&l>> &a&l%{online.games.%loop-player%}%" in sidebar of loop-player to 2
       set score "&6&m&l-----------------------" in sidebar of loop-player to 1


on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "skyworld":
           add 1 to {online.skyblock.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "Mini-Jeux":
           add 1 to {online.games.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "HUB":
           add 1 to {online.hub.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "Survie":
           add 1 to {online.survie.%player%}



On join:
   add 1 to {online.players}
   if player is in world "HUB":
       set {online.hub.%player%} to player's world
       add 1 to {online.hub.%player%}
   if player is in world "Survie":
       add 1 to {online.survie.%player%}
   if player is in world "Mini-Jeux":
       add 1 to {online.games.%player%}
   if player is in world "skyworld":
       add 1 to {online.skyblock.%player%}

On quit:
   remove 1 from {online.players}
   if player is in world "HUB":
       remove 1 from {online.hub.%player%}
   if player is in world "Survie":
       remove 1 from {online.survie.%player%}
   if player is in world "Mini-Jeux":
       remove 1 from {online.games.%player%}
   if player is in world "skyworld":
       remove 1 from {online.skyblock.%player%}

command /clearvar:
   trigger:
       clear {online.players}
       clear {online.survie.%player%}
       clear {online.games.%player%}
       clear {online.skyblock.%player%}
       clear {online.hub.%player%}
       broadcast "&6&lLes Statistiques du &b&lScoreBoard &6&lont été &b&lreset &6&lpar &b&l%player%"

 

Posté(e)

Je ne sais pas vraiment si on peut récupérer le premier monde dans un event on teleport, mais j'aurais pensé à cette forme:

 

on teleport:
   set {_prevworld.%player%} to player's world
   wait 5 tick
   set {_newworld.%player%} to player's  world
   remove 1 from {online.%{_prevworld.%player%}%}
   add 1 to {online.%{_newworld.%player%}%}

 

Et tu récupèrerais les joueurs en ligne par la variable {online.%LeMondeEnQuestion}

Posté(e)

Salut tout le monde , problème réglé je poste le code ci-dessous :

Modifier a votre sauce

 

 

options:
   Title: &7&l>> &6&lSky&b&lWorld &7&l<<
   ligne: &7&l&m------------------
every 15 seconds:
   loop all players:
       delete {online.survie.%loop-player%}
       set {online.survie.%loop-player%} to 0
       delete {online.hub.%loop-player%}
       set {online.hub.%loop-player%} to 0
       delete {online.games.%loop-player%}
       set {online.games.%loop-player%} to 0
       delete {online.skyblock.%loop-player%}
       set {online.skyblock.%loop-player%} to 0
       delete {online.players}
       set {online.players} to 0

       execute loop-player command "/scoreboardskyworld"

command /scoreboardskyworld:
   trigger:
       wipe player sidebar
       if player is in world "Survie":
           add 1 to {online.survie.%player%}
       if player is in world "skyworld":
           add 1 to {online.skyblock.%player%}
       if player is in world "Mini-Jeux":
           add 1 to {online.games.%player%}
       if player is in world "HUB":
           add 1 to {online.hub.%player%}
       if player is logged:
           add 1 to {online.players}
       if player is registered:
           add 1 to {register.players}
       set name of sidebar of player to "{@Title}"
       set score "&7&m--------------------" in sidebar of player to 7
       set score "&3&lSky&3&lMoney &f&l: &e&l%{skmoney.%player%}%" in sidebar of player to 5
       set score "&3&lEn Ligne &f&l: &e&l%{online.players}%" in sidebar of player to 6
       set score "&3&lTotaux Membres &f&l: &e&l%{register.players}%"
       set score "&7&l&m-------------------" in sidebar of player to 4
       set score "&7&lHUB &f&l>> &b&l%{online.hub.%player%}%" in sidebar of player to 3
       set score "&7&lSkyBlock &f&l>> &b&l%{online.skyblock.%player%}%" in sidebar of player to 2
       set score "&7&lSurvie &f&l>> &b&l%{online.survie.%player%}%" in sidebar of player to 1
       set score "&7&lMini&f&l-&7&lJeux &f&l>> &b&l%{online.games.%player%}%" in sidebar of player to 0


on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "skyworld":
           add 1 to {online.skyblock.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "Mini-Jeux":
           add 1 to {online.games.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "HUB":
           add 1 to {online.hub.%player%}

on teleport:
   set {_prevWorld} to player's world
   wait 1 tick
   if {_prevWorld} is not player's world:
       if player's world is "Survie":
           add 1 to {online.survie.%player%}





On join:
   add 1 to {online.players}
   if player is in world "HUB":
       add 1 to {online.hub.%player%}
   if player is in world "Survie":
       add 1 to {online.survie.%player%}
   if player is in world "Mini-Jeux":
       add 1 to {online.games.%player%}
   if player is in world "skyworld":
       add 1 to {online.skyblock.%player%}
   wait 2 seconds
   execute player command "/scoreboardskyworld"

On quit:
   remove 1 from {online.players}
   if player is in world "HUB":
       remove 1 from {online.hub.%player%}
   if player is in world "Survie":
       remove 1 from {online.survie.%player%}
   if player is in world "Mini-Jeux":
       remove 1 from {online.games.%player%}
   if player is in world "skyworld":
       remove 1 from {online.skyblock.%player%}

command /clearvar:
   trigger:
       clear {online.players}
       clear {online.survie.%player%}
       clear {online.games.%player%}
       clear {online.skyblock.%player%}
       clear {online.hub.%player%}
       broadcast "&6&lLes Statistiques du &b&lScoreBoard &6&lont été &b&lreset &6&lpar &b&l%player%"

 

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