Ectaals Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 Bonjour,Bonsoir J'ai crée un système de coins en skript et j'aimerai avoir un système de boutique avec le skript coins. Exemple : J'ai un grade [Dieu] qui coute 2250 EL (EL = Marque de ma money) Quand on clique dessus on l'achete en effectuant une commande : "/manuadd %player% Dieu" Merci, de m'aider si il y a quelqu'un de gentil. Cordialement, Ectaals
0 Random Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 Quand on clique sur quoi ? Objet, pancarte ? Nom ? Quelle est ta variable de coins ? Détaille un peu plus stp
0 Ectaals Posté(e) le 6 décembre 2016 Auteur Posté(e) le 6 décembre 2016 Dans un menu gui il y a un casque en diamant et si on clique dessus la console execute une commande : /manuadd %player% Dieu Voici mon code de coins : on join: if {coins.%player's UUID%} is not set: set {coins.%player's UUID%} to 0 command /coins [<text>] [<player>] [<number>]: aliases: /token trigger: if arg 1 is not set: if player has permission "tokens.admin": message "&8-----==&a&o Coins Aide &8 ==-----" message "&a/coins see <playername>&7-Regarde combien tu as de Coins (ou ceux d'un autre)" message "&a/coins send <playername> <quantity>&7-Envoie des coins" message "&a/coins give <playername> <quantity> &7-Give des coins a un joueur" message "&a/coins reset <playername> &7-Reset les coins d'un joueur." message "&a/coins remove <playername> <quantity> &7-Enlève les coins d'un joueur." stop else: message "&8-----==&a&o Coins Aide &8 ==-----" message "&a/coins see <playername>&7-Regarde combien tu as de Coins (ou ceux d'un autre)" message "&a/coins send <playername> <quantity>&7-Envoie des coins" else if arg 1 is "see": if player has permission "tokens.use": if player arg is not set: message "&6[&1ExoCoins&6] &7Tu as &a&o%{coins.%player's UUID%}% &7Coin(s)." if player arg is set: message "&6[&1ExoCoins&6] &a&o%arg-2% &7a &a&o%{coins.%arg-2's UUID%}% &7Coin(s)." stop else if arg 1 is "give": if player has permission "tokens.admin": add number arg to {coins.%arg 2's UUID%} message "&6[&1ExoCoins&6] &7Tu as donne &a&o%number arg% &7Coin(s) a &a&o%arg-2%" else if arg 1 is "send": if player has permission "tokens.use": if arg 2 is set: if number arg is set: if {coins.%player's UUID%} is less than number arg: message "&cErreur, tu n'as pas assez de coins !" stop else: remove number arg from {coins.%player's UUID%} add number arg to {coins.%arg-2's UUID%} message "&6[&1ExoCoins&6] Tu as bien envoyé %number arg% coins à %player arg%" else: message "&cErreur, tu dois mettre un nombre de coins à envoyer" else: message "&cErreur, tu dois mettre un pseudo et le nombre de coins à envoyer" else if arg 1 is "reset": if player has permission "tokens.admin": if player arg is set: set {coins.%arg-2's UUID%} to 0 message "&6[&1ExoCoins&6] &7Tu as reset les Coins de &a&o%arg-2%" else if arg 1 is "remove": if player has permission "tokens.admin": if arg 2 is set: if number arg is set: if {coins.%arg-2's UUID%} is less than number arg: message "&cErreur, &c%arg 2% n'as pas assez de coins !" stop else: remove number arg from {coins.%arg-2's UUID%} message "&6[&1ExoCoins&6] &7Tu as bien retiré %arg 3% coins à %arg 2%" else: message "&cErreur, tu dois mettre un nombre de coins à enlever"
0 Random Posté(e) le 6 décembre 2016 Posté(e) le 6 décembre 2016 Voilà voilà: command /grades: trigger: wait 1 tick open chest with 1 row named " &6Achat des grades" to player set {grade.%player%.buying} to true format slot 0 of player with 1 diamond helmet named "&3Grade Dieu" to close then run [make player execute command "buydieu %player%"] command /buydieu [<player>]: trigger: {grade.%player%.buying} is true: clear {grade.%player%.buying} {alreadybought.dieu.%player%} is true: send "&cVous avez déjà acheté ce grade." else: {coins.%player's UUID%} is bigger than or equal to 2250: execute console command "manuadd %player% Dieu" remove 2250 from {coins.%player's UUID%} send "&aVous avez acheté le grade Dieu à 2250 coins." set {alreadybought.dieu.%player%} to true else: send "&cVous n'avez pas assez de coins." else: send "&cImpossible." on inventory close: {grade.%player%.buying} is true: wait 15 tick clear {grade.%player%.buying} #command /coins <text> [<number>]: # trigger: # arg 1 is "add": # add arg 2 to {coins.%player's UUID%} # arg 1 is "show": # send "%{coins.%player's UUID%}%" # arg 1 is "remove": # remove arg 2 from {coins.%player's UUID%} Si tu as un problème n'hésite pas à m'en faire part 1
0 Ectaals Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 le système marche mais j'aimerai que quand on achète le grade Dieu on ne peux pas acheter les autres. Il y a aussi un autre problème: Quand j'achete le grade Dieu ensuite je me manuadd en Roi et je veux racheter le grade Dieu je ne peux pas :/
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 "Quand j'achete le grade Dieu ensuite je me manuadd en Roi et je veux racheter le grade Dieu je ne peux pas :/" En fait j'ai mis ça pour éviter qu'un joueur ayant acheté le dieu puisse le repayer depuis le GUI, donc reperdre 2250 coins inutilement. Après si tu veux une commande pour pouvoir réacheter le dieu, rajoute ce bout de code au précédent: command /resetvar: trigger: player has permission "reset.var": clear {alreadybought.dieu.%player%} clear {grade.%player%.buying} send "&aVous pouvez désormais acheter à nouveau le grade Dieu." else: send "&cImpossible."
0 Ectaals Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 Et aussi je voudrais que quand on veux acheter le grade dieu on doit acheter les autres grades
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Précise, c'est quoi les autres grades et on les obtient comment ?
0 Ectaals Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 Si on veux acheter le grade Prince on doit acheter le grade Chevalier ainsi de suite 1er - Grade Chevalier 2eme - Grade Prince 3eme - Garde Roi 4eme - Grade Dieu
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Tu les veux dans le /grades comme le dieu ? Si oui, je mets quoi comme item pour chaque grade ?
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Et je mets quoi comme item pour chaque grade ?
0 Ectaals Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 Casque cuir,casque fer, casque or, casque diamant
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Et quel est le grade avant d'acheter le Chevalier ?
0 Ectaals Posté(e) le 7 décembre 2016 Auteur Posté(e) le 7 décembre 2016 de base c'est guerrier après on achete: 1er - Grade Chevalier 2eme - Grade Prince 3eme - Garde Roi 4eme - Grade Dieu
0 Random Posté(e) le 7 décembre 2016 Posté(e) le 7 décembre 2016 Voilà, je t'ai rajouté un fichier de logs des achats/resets de grades à l'emplacement plugins/Skript/logs/Grades.yml J'ai aussi mis la commande /gradereset <pseudo> pour remettre quelqu'un guerrier en lui permettant d'acheter à nouveau les grades dans l'ordre. command /grades: trigger: wait 1 tick open chest with 1 row named " &6Achat des grades" to player set {grade.%player%.buying} to true format slot 0 of player with 1 leather helmet named "&3Grade Chevalier - &6400 EL" to close then run [make player execute command "buychevalier %player%"] format slot 1 of player with 1 iron helmet named "&3Grade Prince - &61500 EL" to close then run [make player execute command "buyprince %player%"] format slot 2 of player with 1 gold helmet named "&3Grade Roi - &62250 EL" to close then run [make player execute command "buyroi %player%"] format slot 3 of player with 1 diamond helmet named "&3Grade Dieu - &64000 EL" to close then run [make player execute command "buydieu %player%"] on load: if file "plugins/Skript/logs/Grades.yml" doesn't exists: create file "plugins/Skript/logs/Grades.yml" on join: {rankpower.%player%} isn't set: set {rankpower.%player%} to 0 command /buychevalier [<player>]: #Rankpower 1 trigger: {grade.%player%.buying} is true: clear {grade.%player%.buying} {rankpower.%player%} = 0: {coins.%player's UUID%} is bigger than or equal to 400: execute console command "manuadd %player% chevalier" remove 400 from {coins.%player's UUID%} send "&aVous avez acheté le grade Chevalier à 400 coins." set {rankpower.%player%} to 1 wf "[%now%] : %player% a achete le grade Chevalier" to "plugins/Skript/logs/Grades.yml" else: send "&cVous n'avez pas assez de coins." else: send "&cVous devez être Guerrier pour acheter ce grade." else: send "&cImpossible." command /buyprince [<player>]: #Rankpower 2 trigger: {grade.%player%.buying} is true: clear {grade.%player%.buying} {rankpower.%player%} = 1: {coins.%player's UUID%} is bigger than or equal to 1500: execute console command "manuadd %player% prince" remove 1500 from {coins.%player's UUID%} send "&aVous avez acheté le grade Prince à 1500 coins." set {rankpower.%player%} to 2 wf "[%now%] : %player% a achete le grade Prince" to "plugins/Skript/logs/Grades.yml" else: send "&cVous n'avez pas assez de coins." else: send "&cVous devez être Chevalier pour acheter ce grade." else: send "&cImpossible." command /buyroi [<player>]: #Rankpower 3 trigger: {grade.%player%.buying} is true: clear {grade.%player%.buying} {rankpower.%player%} = 2: {coins.%player's UUID%} is bigger than or equal to 2250: execute console command "manuadd %player% prince" remove 2250 from {coins.%player's UUID%} send "&aVous avez acheté le grade Prince à 2250 coins." set {rankpower.%player%} to 3 wf "[%now%] : %player% a achete le grade Roi" to "plugins/Skript/logs/Grades.yml" else: send "&cVous n'avez pas assez de coins." else: send "&cVous devez être Prince pour acheter ce grade." else: send "&cImpossible." command /buydieu [<player>]: #Rankpower 4 trigger: {grade.%player%.buying} is true: clear {grade.%player%.buying} {rankpower.%player%} = 3: {coins.%player's UUID%} is bigger than or equal to 4000: execute console command "manuadd %player% Dieu" remove 2250 from {coins.%player's UUID%} send "&aVous avez acheté le grade Dieu à 4000 coins." set {rankpower.%player%} to 4 wf "[%now%] : %player% a achete le grade Dieu" to "plugins/Skript/logs/Grades.yml" else: send "&cVous n'avez pas assez de coins." else: send "&cVous devez être Roi pour acheter ce grade." else: send "&cImpossible." command /gradereset [<player>]: trigger: player has permission "grade.reset": arg 1 is set: set {rankpower.%arg 1%} to 0 send "&aVous avez réinitialisé le grade de %arg 1%." execute console command "manuadd %arg 1% default" wf "[%now%] : %player% reinitialise le grade de %arg 1%" to "plugins/Skript/logs/Grades.yml" else: send "&6Utilisation: /gradereset <joueur>" else: send "&cImpossible." on inventory close: {grade.%player%.buying} is true: wait 15 tick clear {grade.%player%.buying} #command /coins <text> [<number>]: # trigger: # arg 1 is "add": # add arg 2 to {coins.%player's UUID%} # arg 1 is "show": # send "%{coins.%player's UUID%}%" # arg 1 is "remove":
0 Ectaals Posté(e) le 8 décembre 2016 Auteur Posté(e) le 8 décembre 2016 Wow merci à toi de prendre sur ton temps pour m'aider ;) Je suis fan ;)
Question
Ectaals
Bonjour,Bonsoir
J'ai crée un système de coins en skript et j'aimerai avoir un système de boutique avec le skript
coins.
Exemple :
J'ai un grade [Dieu] qui coute 2250 EL (EL = Marque de ma money)
Quand on clique dessus on l'achete en effectuant une commande : "/manuadd %player% Dieu"
Merci, de m'aider si il y a quelqu'un de gentil.
Cordialement,
Ectaals
19 réponses à cette question
Messages recommandés