moriceh Posté(e) le 15 février 2017 Posté(e) le 15 février 2017 Bonjour ! Je travaille sur un serveur skyblock et j'aimerais ajouter une commande qui permettrait de vendre tuot ce qui est vendable dans notre inventaire. La monnaie est en pépites d'or. J'ai donc deux problèmes à résoudre : - Apparemment je ne peux pas utiliser une variable comme nombre d'items a give... - Si ce nombre est supérieur à 64, cela posera problème non ? Voilà le Skript : [spoiler=skript] Pour l'instant, je n'ai fait que pour le cactus : command /qs: trigger: loop 72 times: if player has 32 cactus: add 1 to {qs.money.%player%} add 32 to {qs.cactus.%player%} remove 32 cactus from player if {qs.money.%player%} is greater or equal to 1: give {qs.money.%player%} gold nugget to player message "&9[!] &7 Tu as vendu %{qs.cactus.%player%}% cactus pour %{qs.money.%player%}% pépites." delete {qs.money.%player%} delete {qs.cactus.%player%} else: message "&9[!] &cTu n'as rien vendu !" Merci d'avance pour votre aide !
Random Posté(e) le 15 février 2017 Posté(e) le 15 février 2017 function itemsInInventory(p: player, item: material) :: number: loop all items in {_p}'s inventory: "%loop-item%" contains "%{_item}%" set {_num::*} to ("%loop-item%") split at " " "%{_num::1}%" parsed as a number is a number: add {_num::1} parsed as a number to {_result} else: add 1 to {_result} {_result} is set: return {_result} stop return 0 #Fonction par SwiKZiiK command /qs: trigger: set {_num} to itemsInInventory(player, cactus) {_num} is bigger than or equal to 1: set {_rec} to {_num} * 0.03125 send "&aVous avez vendu %{_num}% cactus à %{_rec}% pépites." else: send "&cVous n'avez aucun cactus à vendre."
moriceh Posté(e) le 15 février 2017 Auteur Posté(e) le 15 février 2017 Merci pour ton skript mais il me met tout le temps que je n'ai aucun item a vendre... Aussi, je ne vois aucun code qui give les pépites au joueur...
Random Posté(e) le 15 février 2017 Posté(e) le 15 février 2017 function itemsInInventory(p: player, item: material) :: number: loop all items in {_p}'s inventory: "%loop-item%" contains "%{_item}%" set {_num::*} to ("%loop-item%") split at " " "%{_num::1}%" parsed as a number is a number: add {_num::1} parsed as a number to {_result} else: add 1 to {_result} {_result} is set: return {_result} stop return 0 #Fonction par SwiKZiiK command /qs: trigger: set {_num} to itemsInInventory(player, cactus) {_num} is bigger than or equal to 1: set {_rec} to {_num} * 0.03125 send "&aVous avez vendu %{_num}% cactus à %{_rec}% pépites." loop {_num} times: give 1 golden nugget to player else: send "&cVous n'avez aucun cactus à vendre." Pour le problème d'aucun objet à vendre je pense que tu utilises une version de skript instable/trop ancienne
moriceh Posté(e) le 15 février 2017 Auteur Posté(e) le 15 février 2017 Au final, j'ai fait ça et ça fonctionne : command /qs: trigger: loop 72 times: if player has 32 cactus: add 1 to {qs.money.%player%} add 32 to {qs.cactus.%player%} remove 32 cactus from player if {qs.money.%player%} is greater or equal to 1: loop {qs.money.%player%} times: give a gold nugget to player message "&9[!] &7 Tu as vendu %{qs.cactus.%player%}% cactus pour %{qs.money.%player%}% pépites." delete {qs.money.%player%} delete {qs.cactus.%player%} else: message "&9[!] &cTu n'as rien vendu !" Merci de ton aide !
Messages recommandés