GhostKiller76 Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 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
Random Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 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}
iLaZz Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 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;) !
noftaly Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Ou alors , tu peux mettre ton scoreboard sur une commande, et tu fais un événement "on teleoprt" wait 2 seconds puis ta commande, comme ça ça le refresh.
Eluune Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 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 ?
GhostKiller76 Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 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 !
Eluune Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 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
GhostKiller76 Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 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 ?
Eluune Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Là je suis au taff donc un peu compliqué ^^'
GhostKiller76 Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 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%"
Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 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}
GhostKiller76 Posté(e) le 8 décembre 2016 Auteur Posté(e) le 8 décembre 2016 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%"
Messages recommandés