Healthpower Posté(e) le 30 avril 2016 Posté(e) le 30 avril 2016 Bonjour/Bonsoir à tous ! Encore débutant avec les skripts je tente de faire un skript pour que lorsqu'on clique avec une tête de creeper (MHF_Creeper) le skript détecte combien le joueur a de tête de ce type et donne un de monnaie en plus pour chaque tête (/eco give <player> <amount[correspondant au nombre de tête>) et clear l'inventaire du joueur. Voila ce que j'ai fait, je sais pas du tout comment récupérer la variable du nombre de tête et l'utiliser. De plus je ne suis pas sure que mon skript est bon :) on right click on sign if player is holding skull 1 3 {SkullOwner:"MHF_Creeper"} clear <player> /eco give <player>
Yghore Posté(e) le 30 avril 2016 Posté(e) le 30 avril 2016 on rightclick on sign: loop all items in player's inventory: if loop item is skull: add 1 to {_skull} send "&aVous avez %{_skull}%" #Remove all skull to the player make console execute "/clear %player%" make console execute "/eco give %player% %{_skull}%" # Skull = Nombre de tete = Nombre d'argent
Healthpower Posté(e) le 30 avril 2016 Auteur Posté(e) le 30 avril 2016 Merci beaucoup ! Edit : J'ai un message d'erreur au reload du skript, il me dit qu'il ne reconnait pas la condition. (J'ai juste remplacer skull par MHF_Creeper's skull mais ca ne marchais quand même pas avec skull tout court.) Screen :
Healthpower Posté(e) le 1 mai 2016 Auteur Posté(e) le 1 mai 2016 Bon finalement j'ai réussis a fixer l'erreur moi même il manquait juste un tiré entre loop et item on rightclick on sign: loop all items in player's inventory: if loop-item is 397:4: add 1 to {_skull} send "&aVous avez %{_skull}% tête(s) de creeper" #Remove all skull to the player make console execute "/clear %player%" make console execute "/eco give %player% %{_skull}%" # Skull = Nombre de tete = Nombre d'argent Cependant, que j'ai 1 ou plusieurs tête dans mon inventaire, la variable n'a pas l'air de changé et donc ca me donne qu'un de monnair a chaque fois.
Spartan9802 Posté(e) le 1 mai 2016 Posté(e) le 1 mai 2016 Bonsoir, Je vous ai réaliser un petit code rapidement il vous faudra Skstuff et les addons de base bien-sur, ainsi que le plugin Vault que vous avez déjà. Code: on right click on sign: if player's tool = player head: if "%nbt of player's tool%" contains ",Name:""MHF_Creeper""}": loop all items in player's inventory: if loop-item = player head: if "%nbt of loop-item%" contains ",Name:""MHF_Creeper""}": add 1 to {_count} clear player's inventory add 10*{_count} to player's money **Si je vous ai aidé déposez un j'aime et passer votre sujet en résolue !** 1
Healthpower Posté(e) le 2 mai 2016 Auteur Posté(e) le 2 mai 2016 Merci à tous mais au final je m'en suis sortit tout seul j'ai remplacer la commande loop item par amount of item Voici le skript : on right click on sign: set {_skull} to amount of 397:4 in player's inventory send "&aVous avez %{_skull}% tête(s) de creeper" make console execute "/clear %player%" make console execute "/eco give %player% %{_skull}%" # Skull = Nombre de tete = Nombre d'argent
Spartan9802 Posté(e) le 2 mai 2016 Posté(e) le 2 mai 2016 Bonjour, Il manque des vérifications sur ton code ^^
Healthpower Posté(e) le 2 mai 2016 Auteur Posté(e) le 2 mai 2016 Bonjour, Il manque des vérifications sur ton code ^^ C'est pas faux j'ai donc refait et rajouté des commandes : on right click on sign: loop all items in player's inventory: if loop-item is 397:4: set {_skull} to amount of 397:4 in player's inventory send "&aVous avez %{_skull}% tête(s) de creeper" make console execute "/clear %player%" make console execute "/eco give %player% %{_skull}%" # Skull = Nombre de tete = Nombre d'argent else: cancel event on command "spawn": loop all items in player's inventory: if loop-item is 397:4: cancel event send "&4Veuillez déposer vos têtes avant de vous tp !" on command "tpa": loop all items in player's inventory: if loop-item is 397:4: cancel event send "&4Veuillez déposer vos têtes avant de vous tp !" on command "warp <text-integer>": loop all items in player's inventory: if loop-item is 397:4: cancel event send "&4Veuillez déposer vos têtes avant de vous tp !" on drop 397:4: send "&4Vous ne pouvez pas dropper cet item !" to player cancel event Cependant il me reste un petit soucis : que je mette "warp <text>", "warp %text%" ou "warp <text-integer", le skript ne cancel pas l'event /warp text. Une idée ?
Yghore Posté(e) le 2 mai 2016 Posté(e) le 2 mai 2016 on command "/warp %arg 1%:" on command "/warp arg-1:"
Healthpower Posté(e) le 6 mai 2016 Auteur Posté(e) le 6 mai 2016 Salut, Ce que tu m'as proposé ne marche pas non plus (en ayant corrigé tes erreurs de ":"). Une autre idée ?
Messages recommandés