Aller au contenu

Balancetop avec une economy.


Messages recommandés

Posté(e)

Version de minecraft / skript : 1.8.8

Type du skript : Balancetop & Money

Description du script : Il me faut un skript ou l'on peut faire /baltop /balancetop et cela va donner un classement avec les 10 meilleurs personnes du classement en relation avec la money /money qui sera une economy et pour la money il y aurait le /money /money give (pseudo) (montant) /money take joueur (sa remet à zero).

Posté(e)

Salut :)

 

Tient, pas testé, sa devrais marché ^^

 

Commandes:

/m take | give | reset | set

/money

/baltop | /balancetop

 

Permission:

moneyutility.use

 

Code:

 

options:
   Top: 10

command /money:
   trigger:
       send "&5Argent &a» &a%{money.%player%}% &e€"

command /m <text> <player> <text>:
   permission: moneyutility.use
   permission message: &cErreur, vous n'avez pas la permission !
   trigger:
       if arg 1 is "take":
           if arg 2 is set:
               if arg 3 is set:
                   remove arg 3 from {money.%arg 2%}
                   send "&5Argent &7> &f%arg 2% s'est fait supprimé %arg 3% de sa cagnote !"   
       if arg 1 is "give":
           if arg 2 is set:
               if arg 3 is set:
                   add arg 3 to {money.%arg 2%}
                   send "&5Argent &7> &f%arg 2% à reçu %arg 3% dans sa cagnote !"
       if arg 1 is "reset":
           if arg 2 is set:
               set {money.%arg 2%} to 0
               send "&5Argent &7> &fArgent de %arg 2% remis à 0 !"
       if arg 1 is "set":
           if arg 2 is set:
               if arg 3 is set:
                   set {money.%arg 2%} to arg 3
                   send "&5Argent &7> &fArgent de %arg 2% mis à %arg 3% !"
       if arg 1 is not set:
           send "&5Argent &7> &f/money <take/reset/give> | <joueur> | <montant>"

command /balancetop:
   aliases: /baltop
   trigger:
       loop all players:
           {money.%loop-player%} is set
           set {_players::%loop-player%} to {money.%loop-player%}
       loop {_players::*}:
           add 1 to {_number}
           if {_ascending::%loop-value%} is not set:
               set {_ascending::%loop-value%} to loop-index
           else:
               set {_number} to 0
               loop {_size} times:
                   {_ascending::%loop-value-1%.%loop-number%} is not set
                   set {_ascending::%loop-value-1%.%loop-number%} to loop-index
                   exit loop
       set {_size} to size of {_ascending::*}
       loop {_ascending::*}:
           set {_declining::%{_size}%} to loop-value
           remove 1 from {_size}
       send "&aTop {@Top} :"
       loop {_declining::*}:
           add 1 to {_result}
           send "&b%loop-value%&7: &e%{_players::%loop-value%}% €"
           {_result} is {@Top}
           stop

Posté(e)

Pourquoi ne pas utiliser Essentials pour la money ? et après tu installes Vault pour pouvoir l'utiliser dans tes scripts. Ce sera BEAUCOUP plus simple que de coder tout un système de money

Posté(e)
Salut :)

 

Tient, pas testé, sa devrais marché ^^

 

Commandes:

/m take | give | reset | set

/money

/baltop | /balancetop

 

Permission:

moneyutility.use

 

Code:

 

options:
   Top: 10

command /money:
   trigger:
       send "&5Argent &a» &a%{money.%player%}% &e€"

command /m <text> <player> <text>:
   permission: moneyutility.use
   permission message: &cErreur, vous n'avez pas la permission !
   trigger:
       if arg 1 is "take":
           if arg 2 is set:
               if arg 3 is set:
                   remove arg 3 from {money.%arg 2%}
                   send "&5Argent &7> &f%arg 2% s'est fait supprimé %arg 3% de sa cagnote !"  
       if arg 1 is "give":
           if arg 2 is set:
               if arg 3 is set:
                   add arg 3 to {money.%arg 2%}
                   send "&5Argent &7> &f%arg 2% à reçu %arg 3% dans sa cagnote !"
       if arg 1 is "reset":
           if arg 2 is set:
               set {money.%arg 2%} to 0
               send "&5Argent &7> &fArgent de %arg 2% remis à 0 !"
       if arg 1 is "set":
           if arg 2 is set:
               if arg 3 is set:
                   set {money.%arg 2%} to arg 3
                   send "&5Argent &7> &fArgent de %arg 2% mis à %arg 3% !"
       if arg 1 is not set:
           send "&5Argent &7> &f/money <take/reset/give> | <joueur> | <montant>"

command /balancetop:
   aliases: /baltop
   trigger:
       loop all players:
           {money.%loop-player%} is set
           set {_players::%loop-player%} to {money.%loop-player%}
       loop {_players::*}:
           add 1 to {_number}
           if {_ascending::%loop-value%} is not set:
               set {_ascending::%loop-value%} to loop-index
           else:
               set {_number} to 0
               loop {_size} times:
                   {_ascending::%loop-value-1%.%loop-number%} is not set
                   set {_ascending::%loop-value-1%.%loop-number%} to loop-index
                   exit loop
       set {_size} to size of {_ascending::*}
       loop {_ascending::*}:
           set {_declining::%{_size}%} to loop-value
           remove 1 from {_size}
       send "&aTop {@Top} :"
       loop {_declining::*}:
           add 1 to {_result}
           send "&b%loop-value%&7: &e%{_players::%loop-value%}% €"
           {_result} is {@Top}
           stop

 

 

Je n'ai aucune erreur mais quand on give sa give la money mais quand je fais /money je n'est rien et quand je fais /baltop il n'y a rien.

Posté(e)
Pourquoi ne pas utiliser Essentials pour la money ? et après tu installes Vault pour pouvoir l'utiliser dans tes scripts. Ce sera BEAUCOUP plus simple que de coder tout un système de money

 

Parce que je veux faire une autre sorte de classement

Pourquoi ne pas utiliser Essentials pour la money ? et après tu installes Vault pour pouvoir l'utiliser dans tes scripts. Ce sera BEAUCOUP plus simple que de coder tout un système de money

 

Parce que j'ai déjà l'economy d'essentials mais j'en veux une deuxième.

Posté(e)
Je n'ai aucune erreur mais quand on give sa give la money mais quand je fais /money je n'est rien et quand je fais /baltop il n'y a rien.

 

Bizarre, le système de money devrais marché ; le balance-top marche, j'ai testé celui-ci mais le /m give ect interfère ou n'a pas de bon addons. donc je ne peut pas trop t'aidé je ne sais pas D’où vient l'erreur de mon skript. Essaie de le corrige, Skript-MC est un perle d'or, tu devrais trouvé le bug de mon Skript, Désolé.

Posté(e)

J'ai fais cela toute à l'heure ca peut t'intéresser, surement:[spoiler=Code]

options:
   cmd_money: /money

   start: 30

   page_size: 8
first join:
   if {money::%uuid of player%} is not set:
       execute console command "{@cmd_money} create %player%"
   else:
       if "%{money::%uuid of player%}%" is not "%player%":
           set {money::%uuid of player%} to "%player%"
           send "§bTransfert de votre ancien compte bancaire." to player
join:
   if {money::%uuid of player%} is not set:
       execute console command "{@cmd_money} create %player%"
   else:
       if "%{money::%uuid of player%}%" is not "%player%":
           set {money::%uuid of player%} to "%player%"
           send "§bTransfert de votre ancien compte bancaire." to player
command {@cmd_money} [<text>] [<text>] [<text>]:
   trigger:
       if argument 1 is "help" or "h" or "?":
           if argument 2 parsed as number is set:
               add "§b{@cmd_money} h,help,?§3 [page=1]§f affiche l'aide" to {_commands::*}
               add "§b{@cmd_money} create§3 <uuid>§f créer un compte." to {_commands::*}
               add "§b{@cmd_money} del,delete§3 <uuid>§f supprimer un compte." to {_commands::*}
               add "§b{@cmd_money} give/take/set§3 <uuid> <amount>§f faire varier le montant d'un compte." to {_commands::*}
               add "§b{@cmd_money}§3 <uuid=you>§f voir l'argent d'un joueur." to {_commands::*}
               add "§b{@cmd_money} top§3 [page=1]§f voir le classement." to {_commands::*}
               if argument 2 parsed as number is bigger than 0:
                   if argument 2 parsed as number is smaller or equal to rounded up (size of {_commands::*} / {@page_size}):
                       send "§8§m-------------------------%nl%§8Page %argument 2 parsed as number%/%rounded up (size of {_commands::*} / {@page_size})%" to sender
                       loop {_commands::*}:
                           send "%loop-value%" to sender
                       send "§8§m-------------------------" to sender
                   else:
                       send "§cErreur: La page demandée n'a pas pu être affichée." to sender
               else:
                   send "§cErreur: La page demandée n'a pas pu être affichée." to sender
           else:
               execute sender command "{@cmd_money} ? 1"
       else if argument 1 is "create":
           if argument 2 parsed as player is set:
               execute sender command "{@cmd_money} create %uuid of argument 2 parsed as player%"
           else if argument 2 is set:
               loop all players:
                   if "%uuid of loop-player%" is "%argument 2%":
                       set {_found} to "%loop-player%"
                       exit loop
               if {_found} is set:
                   if {money::%argument 2%} is not set:
                       set {money::%argument 2%} to "%{_found}%"
                       if {money::%argument 2%::value} is not set:
                           set {money::%argument 2%::value} to {@start}
                       send "§bCréation du compte:§3 %{_found}% --> {@start}$%nl%§bChemin d'accès:§f %argument 2%" to sender and "%{_found}%" parsed as player
                   else:
                       send "§cErreur: Ce compte bancaire existe déjà." to sender
               else:
                   send "§cErreur: Aucun joueur connecté n'est associé à cet UUID." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "del" or "delete":
           if argument 2 is set:
               if "%argument 2%" parsed as offline player is online:
                   if {money::%uuid of argument 2 parsed as offline player%} is set:
                       clear {money::%uuid of argument 2 parsed as offline player%::value}
                       clear {money::%uuid of argument 2 parsed as offline player%}
                       send "§bSuppression du compte bancaire§3 %argument 2%§b effecutée.%nl%§bAncien chemin:§f %uuid of argument 2 parsed as offline player%" to sender and argument 2 parsed as offline player
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
               else:
                   loop {money::*}:
                       if "%loop-value%" is "%argument 2 parsed as offline player%":
                           set {_found} to "%loop-index%"
                           exit loop
                   if {_found} is set:
                       clear {money::%uuid of argument 2 parsed as offline player%::value}
                       clear {money::%uuid of argument 2 parsed as offline player%}
                       send "§bSuppression du compte bancaire§3 %argument 2%§b effecutée.%nl%§bAncien chemin:§f %uuid of argument 2 parsed as offline player%" to sender
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "take" or "give" or "set":
           if argument 2 is set:
               if argument 3 parsed as number is set:
                   loop {money::*}:
                       if "%loop-value%" is "%argument 2 parsed as offline player%":
                           set {_found} to "%loop-index%"
                           exit loop
                   if {_found} is set:
                       if argument 1 is "take":
                           if {money::%uuid of argument 2 parsed as offline player%::value} is bigger or equal to argument 3 parsed as number:
                               set {_money} to argument 3 parsed as number * -1
                       else if argument 1 is "give":
                           set {_money} to argument 3 parsed as number
                       if argument 1 is "take" or "give":
                           if "%sender%" is not "%argument 2%":
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %{money::%uuid of argument 2 parsed as offline player%::value} + {_money}%$%nl%§f%{_money}%$" to sender and argument 2 parsed as player
                           else:
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %{money::%uuid of argument 2 parsed as offline player%::value} + {_money}%$%nl%§f%{_money}%$" to sender
                           set {money::%uuid of argument 2 parsed as offline player%::value} to {money::%uuid of argument 2 parsed as offline player%::value} + {_money}
                       else if argument 3 parsed as number is bigger or equal to 0:
                           if "%sender%" is not "%argument 2%":
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %argument 3 parsed as number%$" to sender and argument 2 parsed as player
                           else:
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %argument 3 parsed as number%$" to sender
                           set {money::%uuid of argument 2 parsed as offline player%::value} to argument 3 parsed as number
                       else:
                           send "§cErreur: Un compte bancaire ne peut être négatif." to sender
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
               else:
                   send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "top":
           if argument 2 parsed as number is set:
               if argument 2 parsed as number is bigger than 0:
                   if argument 2 parsed as number is smaller or equal to rounded up (size of {money::*} / {@page_size}):
                       loop {money::*}:
                           set {_liste::%loop-value%} to {money::%loop-index%::value}
                       while size of {_liste::*} is not 0:
                           loop {_liste::*}:
                               if {_max} is not set:
                                   set {_max} to loop-value
                                   set {_index} to loop-index
                               else if loop-value is bigger or equal to {_max}:
                                   set {_max} to loop-value
                                   set {_index} to loop-index
                           clear {_liste::%{_index}%}
                           add {_max} to {_value::*}
                           add {_index} to {_account::*}
                           do [clear {_max}]->[clear {_index}]
                       set {_index} to 0
                       send "§8§m-------------------------%nl%§8Page %argument 2 parsed as number%/%rounded up (size of {money::*} / {@page_size})%" to sender
                       loop size of {money::*} times:
                           if {_index} >= argument 2 parsed as number * {@page_size} - {@page_size}:
                               if {_index} < argument 2 parsed as number * {@page_size}:
                                   set {_checked} to {_index} + 1
                                   send "§b##%{_checked}% - %{_account::%{_checked}%}%:§f %{_value::%{_checked}%}%$" to sender
                               else:   
                                   exit loop
                           add 1 to {_index}
                       send "§8§m-------------------------" to sender
                   else:
                       send "§cErreur: La page demandée n'a pas pu être affichée." to sender
               else:
                   send "§cErreur: La page demandée n'a pas pu être affichée." to sender
           else:
               execute sender command "{@cmd_money} %argument 1% 1"
       else if argument 1 is not set:
           execute sender command "{@cmd_money} %player%"
       else:
           loop {money::*}:
               if "%{money::%uuid of argument 1 parsed as offline player%}%" is "%argument 1%":
                   set {_found} to loop-index
                   exit loop
           if {_found} is set:
               send "§bArgent de§3 %argument 1%§b:§f %{money::%uuid of argument 1 parsed as offline player%::value}%$" to sender
           else:
               send "§cErreur: Ce compte bancaire n'existe pas." to sender

 

 

Code testé et fonctionnel, bonne journée.

  • J'aime 1
Posté(e)

options:
   cmd_money: /money

   start: 30

   page_size: 8
first join:
   if {money::%uuid of player%} is not set:
       execute console command "{@cmd_money} create %player%"
   else:
       if "%{money::%uuid of player%}%" is not "%player%":
           set {money::%uuid of player%} to "%player%"
           send "§bTransfert de votre ancien compte bancaire." to player
join:
   if {money::%uuid of player%} is not set:
       execute console command "{@cmd_money} create %player%"
   else:
       if "%{money::%uuid of player%}%" is not "%player%":
           set {money::%uuid of player%} to "%player%"
           send "§bTransfert de votre ancien compte bancaire." to player
command {@cmd_money} [<text>] [<text>] [<text>]:
   trigger:
       if argument 1 is "help" or "h" or "?":
           if argument 2 parsed as number is set:
               add "§b{@cmd_money} h,help,?§3 [page=1]§f affiche l'aide" to {_commands::*}
               add "§b{@cmd_money} create§3 <uuid>§f créer un compte." to {_commands::*}
               add "§b{@cmd_money} del,delete§3 <uuid>§f supprimer un compte." to {_commands::*}
               add "§b{@cmd_money} give/take/set§3 <uuid> <amount>§f faire varier le montant d'un compte." to {_commands::*}
               add "§b{@cmd_money}§3 <uuid=you>§f voir l'argent d'un joueur." to {_commands::*}
               add "§b{@cmd_money} top§3 [page=1]§f voir le classement." to {_commands::*}
               if argument 2 parsed as number is bigger than 0:
                   if argument 2 parsed as number is smaller or equal to rounded up (size of {_commands::*} / {@page_size}):
                       send "§8§m-------------------------%nl%§8Page %argument 2 parsed as number%/%rounded up (size of {_commands::*} / {@page_size})%" to sender
                       loop {_commands::*}:
                           send "%loop-value%" to sender
                       send "§8§m-------------------------" to sender
                   else:
                       send "§cErreur: La page demandée n'a pas pu être affichée." to sender
               else:
                   send "§cErreur: La page demandée n'a pas pu être affichée." to sender
           else:
               execute sender command "{@cmd_money} ? 1"
       else if argument 1 is "create":
           if argument 2 parsed as player is set:
               execute sender command "{@cmd_money} create %uuid of argument 2 parsed as player%"
           else if argument 2 is set:
               loop all players:
                   if "%uuid of loop-player%" is "%argument 2%":
                       set {_found} to "%loop-player%"
                       exit loop
               if {_found} is set:
                   if {money::%argument 2%} is not set:
                       set {money::%argument 2%} to "%{_found}%"
                       if {money::%argument 2%::value} is not set:
                           set {money::%argument 2%::value} to {@start}
                       send "§bCréation du compte:§3 %{_found}% --> {@start}$%nl%§bChemin d'accès:§f %argument 2%" to sender and "%{_found}%" parsed as player
                   else:
                       send "§cErreur: Ce compte bancaire existe déjà." to sender
               else:
                   send "§cErreur: Aucun joueur connecté n'est associé à cet UUID." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "del" or "delete":
           if argument 2 is set:
               if "%argument 2%" parsed as offline player is online:
                   if {money::%uuid of argument 2 parsed as offline player%} is set:
                       clear {money::%uuid of argument 2 parsed as offline player%::value}
                       clear {money::%uuid of argument 2 parsed as offline player%}
                       send "§bSuppression du compte bancaire§3 %argument 2%§b effecutée.%nl%§bAncien chemin:§f %uuid of argument 2 parsed as offline player%" to sender and argument 2 parsed as offline player
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
               else:
                   loop {money::*}:
                       if "%loop-value%" is "%argument 2 parsed as offline player%":
                           set {_found} to "%loop-index%"
                           exit loop
                   if {_found} is set:
                       clear {money::%uuid of argument 2 parsed as offline player%::value}
                       clear {money::%uuid of argument 2 parsed as offline player%}
                       send "§bSuppression du compte bancaire§3 %argument 2%§b effecutée.%nl%§bAncien chemin:§f %uuid of argument 2 parsed as offline player%" to sender
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "take" or "give" or "set":
           if argument 2 is set:
               if argument 3 parsed as number is set:
                   loop {money::*}:
                       if "%loop-value%" is "%argument 2 parsed as offline player%":
                           set {_found} to "%loop-index%"
                           exit loop
                   if {_found} is set:
                       if argument 1 is "take":
                           if {money::%uuid of argument 2 parsed as offline player%::value} is bigger or equal to argument 3 parsed as number:
                               set {_money} to argument 3 parsed as number * -1
                       else if argument 1 is "give":
                           set {_money} to argument 3 parsed as number
                       if argument 1 is "take" or "give":
                           if "%sender%" is not "%argument 2%":
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %{money::%uuid of argument 2 parsed as offline player%::value} + {_money}%$%nl%§f%{_money}%$" to sender and argument 2 parsed as player
                           else:
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %{money::%uuid of argument 2 parsed as offline player%::value} + {_money}%$%nl%§f%{_money}%$" to sender
                           set {money::%uuid of argument 2 parsed as offline player%::value} to {money::%uuid of argument 2 parsed as offline player%::value} + {_money}
                       else if argument 3 parsed as number is bigger or equal to 0:
                           if "%sender%" is not "%argument 2%":
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %argument 3 parsed as number%$" to sender and argument 2 parsed as player
                           else:
                               send "§bNouveau montant du joueur§3 %argument 2%§b:§3 %argument 3 parsed as number%$" to sender
                           set {money::%uuid of argument 2 parsed as offline player%::value} to argument 3 parsed as number
                       else:
                           send "§cErreur: Un compte bancaire ne peut être négatif." to sender
                   else:
                       send "§cErreur: Ce compte bancaire n'existe pas." to sender
               else:
                   send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
           else:
               send "§cErreur: {@cmd_money} h,help,? [page=1] pour afficher l'aide." to sender
       else if argument 1 is "top":
           if argument 2 parsed as number is set:
               if argument 2 parsed as number is bigger than 0:
                   if argument 2 parsed as number is smaller or equal to rounded up (size of {money::*} / {@page_size}):
                       loop {money::*}:
                           set {_liste::%loop-value%} to {money::%loop-index%::value}
                       while size of {_liste::*} is not 0:
                           loop {_liste::*}:
                               if {_max} is not set:
                                   set {_max} to loop-value
                                   set {_index} to loop-index
                               else if loop-value is bigger or equal to {_max}:
                                   set {_max} to loop-value
                                   set {_index} to loop-index
                           clear {_liste::%{_index}%}
                           add {_max} to {_value::*}
                           add {_index} to {_account::*}
                           do [clear {_max}]->[clear {_index}]
                       set {_index} to 0
                       send "§8§m-------------------------%nl%§8Page %argument 2 parsed as number%/%rounded up (size of {money::*} / {@page_size})%" to sender
                       loop size of {money::*} times:
                           if {_index} >= argument 2 parsed as number * {@page_size} - {@page_size}:
                               if {_index} < argument 2 parsed as number * {@page_size}:
                                   set {_checked} to {_index} + 1
                                   send "§b##%{_checked}% - %{_account::%{_checked}%}%:§f %{_value::%{_checked}%}%$" to sender
                               else:  
                                   exit loop
                           add 1 to {_index}
                       send "§8§m-------------------------" to sender
                   else:
                       send "§cErreur: La page demandée n'a pas pu être affichée." to sender
               else:
                   send "§cErreur: La page demandée n'a pas pu être affichée." to sender
           else:
               execute sender command "{@cmd_money} %argument 1% 1"
       else if argument 1 is not set:
           execute sender command "{@cmd_money} %player%"
       else:
           loop {money::*}:
               if "%{money::%uuid of argument 1 parsed as offline player%}%" is "%argument 1%":
                   set {_found} to loop-index
                   exit loop
           if {_found} is set:
               send "§bArgent de§3 %argument 1%§b:§f %{money::%uuid of argument 1 parsed as offline player%::value}%$" to sender
           else:
               send "§cErreur: Ce compte bancaire n'existe pas." to sender

 

 

Code testé et fonctionnel, bonne journée.

 

Merci beaucoup de ton aide :)

  • J'aime 1
×
×
  • 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.