Aller au contenu

Skript pour vendre des items


Messages recommandés

Posté(e)

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 !

Posté(e)
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."

Posté(e)

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

Posté(e)

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 !

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