Aller au contenu
  • 0

Soucis de commande dans la console


Question

Posté(e)

Bonjour, voilà le soucis c'est que j'ai un skript qui fonctionne très bien, c'est un skript de Lottery. Pour faire le tirage du lotto c'est une commande "/lotto end" je peut la faire dans le chat du serveur minecraft avec mon compte mes quand je la fait dans la console sa me dit comme quoi j'ai pas la permission (Que la console n'est pas op) Car je voulais faire un système automatique pour le tirage mes je sais pas faire dans le skript.

 

Skript : dev35b

Version : 1.12.2

 

Code du skript :

#========================================================#
options:
   command: lotto                                            # Default command /lotto
   admin-permission: lottosk.admin                            # With this permission, they can end Lotto.
   enter-price: 50                                            # Price to enter Lotto


#========================================================#
#                         Code
#
#        DON'T TOUCH UNLESS YOU KNOW WHAT YOU'RE DOING
#========================================================#

command /{@command} [<text>]:
   trigger:
       if arg 1 is set:
           if arg 1 is "list":
               message "&b&lLotto &r- &7Players:"
               loop {hasjoined::*}:
                   message "&f%loop-index%"
                   add 1 to {_all}
               message ""
               message "&e&lTotal players: &f%{_all}%"
           else if arg 1 is "join":
               if {hasjoined::%player%} is not set:
                   set {hasjoined::%player%} to player
                   execute console command "/eco take %player% {@enter-price}"
                   message "&b&lLotto &r- &aVotre participation au Lotto à était pris en compte !!"
                   add {@enter-price} to {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cVous avez déjà participer."
           else if arg 1 is "prize":
               message "&b&lLotto &r- &7Prix du Lotto: &6$&e%{lottoprize}%"
           else if arg 1 is "end":
               if player has permission "{@admin-permission}":
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               else:
                   message "&b&lLotto &r- &cNo permission."
           else if arg 1 is "refund":
               if {hasjoined::%player%} is set:
                   delete {hasjoined::%player%}
                   execute console command "/eco give %player% {@enter-price}"
                   message "&b&lLotto &r- &aYou have successfully left Lotto!"
                   remove {@enter-price} from {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cYou are not in Lotto."
       else:
           message "&6-----------------------[&b&lLotto&6]-----------------------"
           message "&eJoining costs ${@enter-price} and the winner will get all the money people entered with."
           message ""
           message "&6/{@command} join &fRejoindre le Lotto"
           message "&6/{@command} refund &fQuitter le Lotto"
           message "&6/{@command} list &fVoir la liste des participants"
           message "&6/{@command} prize &fVoir le prix miser"
           if player has permission "{@admin-permission}":
               message "&6/{@command} end &fProcess the Lotto & reset it"
           message ""
           message "&6-----------------------------------------------------"


#========================================================#
#
#                 I hope you like my skript.
#                Please don't steal the code.
#                       Thank you. :)
#========================================================#

Si vous souhaitez des photos de l'erreur dans la console dite le moi

13 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Effectivement, ce n'est pas normal.

Essaie peut être de remplacer ta partie du code du "/lotto end" par ça:

else if arg 1 is "end":
   if player has permission "{@admin-permission}":
       set {_winner} to a random element of {hasjoined::*}
       broadcast "&b&l============================"
       broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
       execute console command "/eco give %{_winner}% %{lottoprize}%"
       wait 5 ticks
       broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
       wait 5 ticks
       delete {lottoprize}
       delete {hasjoined::*}
       broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
       broadcast "&b&l============================"
       stop
   else if executor is console:
       set {_winner} to a random element of {hasjoined::*}
       broadcast "&b&l============================"
       broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
       execute console command "/eco give %{_winner}% %{lottoprize}%"
       wait 5 ticks
       broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
       wait 5 ticks
       delete {lottoprize}
       delete {hasjoined::*}
       broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
       broadcast "&b&l============================"
       stop

 

Y'a moyen d'optimiser mais j'ai la flemme :p

  • J'aime 1
  • 0
Posté(e)
Effectivement, ce n'est pas normal.

Essaie peut être de remplacer ta partie du code du "/lotto end" par ça:

else if arg 1 is "end":
   if player has permission "{@admin-permission}":
       set {_winner} to a random element of {hasjoined::*}
       broadcast "&b&l============================"
       broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
       execute console command "/eco give %{_winner}% %{lottoprize}%"
       wait 5 ticks
       broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
       wait 5 ticks
       delete {lottoprize}
       delete {hasjoined::*}
       broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
       broadcast "&b&l============================"
       stop
   else if executor is console:
       set {_winner} to a random element of {hasjoined::*}
       broadcast "&b&l============================"
       broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
       execute console command "/eco give %{_winner}% %{lottoprize}%"
       wait 5 ticks
       broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
       wait 5 ticks
       delete {lottoprize}
       delete {hasjoined::*}
       broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
       broadcast "&b&l============================"
       stop

 

Y'a moyen d'optimiser mais j'ai la flemme :p

Possible de me donner avec le code entier ?

  • 0
Posté(e)

Pas de soucis, essaie les deux codes suivants:

#========================================================#
options:
   command: lotto                                            # Default command /lotto
   admin-permission: lottosk.admin                            # With this permission, they can end Lotto.
   enter-price: 50                                            # Price to enter Lotto


#========================================================#
#                         Code
#
#        DON'T TOUCH UNLESS YOU KNOW WHAT YOU'RE DOING
#========================================================#

command /{@command} [<text>]:
   trigger:
       if arg 1 is set:
           if arg 1 is "list":
               message "&b&lLotto &r- &7Players:"
               loop {hasjoined::*}:
                   message "&f%loop-index%"
                   add 1 to {_all}
               message ""
               message "&e&lTotal players: &f%{_all}%"
           else if arg 1 is "join":
               if {hasjoined::%player%} is not set:
                   set {hasjoined::%player%} to player
                   execute console command "/eco take %player% {@enter-price}"
                   message "&b&lLotto &r- &aVotre participation au Lotto à était pris en compte !!"
                   add {@enter-price} to {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cVous avez déjà participer."
           else if arg 1 is "prize":
               message "&b&lLotto &r- &7Prix du Lotto: &6$&e%{lottoprize}%"
           else if arg 1 is "end":
               if player has permission "{@admin-permission}":
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               if executor is console:
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               else:
                   message "&b&lLotto &r- &cNo permission."
           else if arg 1 is "refund":
               if {hasjoined::%player%} is set:
                   delete {hasjoined::%player%}
                   execute console command "/eco give %player% {@enter-price}"
                   message "&b&lLotto &r- &aYou have successfully left Lotto!"
                   remove {@enter-price} from {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cYou are not in Lotto."
       else:
           message "&6-----------------------[&b&lLotto&6]-----------------------"
           message "&eJoining costs ${@enter-price} and the winner will get all the money people entered with."
           message ""
           message "&6/{@command} join &fRejoindre le Lotto"
           message "&6/{@command} refund &fQuitter le Lotto"
           message "&6/{@command} list &fVoir la liste des participants"
           message "&6/{@command} prize &fVoir le prix miser"
           if player has permission "{@admin-permission}":
               message "&6/{@command} end &fProcess the Lotto & reset it"
           message ""
           message "&6-----------------------------------------------------"


#========================================================#
#
#                 I hope you like my skript.
#                Please don't steal the code.
#                       Thank you. :)
#========================================================#

 

ou celui ci:

 

#========================================================#
options:
   command: lotto                                            # Default command /lotto
   admin-permission: lottosk.admin                            # With this permission, they can end Lotto.
   enter-price: 50                                            # Price to enter Lotto


#========================================================#
#                         Code
#
#        DON'T TOUCH UNLESS YOU KNOW WHAT YOU'RE DOING
#========================================================#

command /{@command} [<text>]:
   trigger:
       if arg 1 is set:
           if arg 1 is "list":
               message "&b&lLotto &r- &7Players:"
               loop {hasjoined::*}:
                   message "&f%loop-index%"
                   add 1 to {_all}
               message ""
               message "&e&lTotal players: &f%{_all}%"
           else if arg 1 is "join":
               if {hasjoined::%player%} is not set:
                   set {hasjoined::%player%} to player
                   execute console command "/eco take %player% {@enter-price}"
                   message "&b&lLotto &r- &aVotre participation au Lotto à était pris en compte !!"
                   add {@enter-price} to {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cVous avez déjà participer."
           else if arg 1 is "prize":
               message "&b&lLotto &r- &7Prix du Lotto: &6$&e%{lottoprize}%"
           else if arg 1 is "end":
               if executor has permission "{@admin-permission}":
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               else:
                   message "&b&lLotto &r- &cNo permission."
           else if arg 1 is "refund":
               if {hasjoined::%player%} is set:
                   delete {hasjoined::%player%}
                   execute console command "/eco give %player% {@enter-price}"
                   message "&b&lLotto &r- &aYou have successfully left Lotto!"
                   remove {@enter-price} from {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cYou are not in Lotto."
       else:
           message "&6-----------------------[&b&lLotto&6]-----------------------"
           message "&eJoining costs ${@enter-price} and the winner will get all the money people entered with."
           message ""
           message "&6/{@command} join &fRejoindre le Lotto"
           message "&6/{@command} refund &fQuitter le Lotto"
           message "&6/{@command} list &fVoir la liste des participants"
           message "&6/{@command} prize &fVoir le prix miser"
           if player has permission "{@admin-permission}":
               message "&6/{@command} end &fProcess the Lotto & reset it"
           message ""
           message "&6-----------------------------------------------------"


#========================================================#
#
#                 I hope you like my skript.
#                Please don't steal the code.
#                       Thank you. :)
#========================================================#

 

Je pense que le dernier devrait fonctionner.

  • J'aime 1
  • 0
Posté(e)
Pas de soucis, essaie les deux codes suivants:

#========================================================#
options:
   command: lotto                                            # Default command /lotto
   admin-permission: lottosk.admin                            # With this permission, they can end Lotto.
   enter-price: 50                                            # Price to enter Lotto


#========================================================#
#                         Code
#
#        DON'T TOUCH UNLESS YOU KNOW WHAT YOU'RE DOING
#========================================================#

command /{@command} [<text>]:
   trigger:
       if arg 1 is set:
           if arg 1 is "list":
               message "&b&lLotto &r- &7Players:"
               loop {hasjoined::*}:
                   message "&f%loop-index%"
                   add 1 to {_all}
               message ""
               message "&e&lTotal players: &f%{_all}%"
           else if arg 1 is "join":
               if {hasjoined::%player%} is not set:
                   set {hasjoined::%player%} to player
                   execute console command "/eco take %player% {@enter-price}"
                   message "&b&lLotto &r- &aVotre participation au Lotto à était pris en compte !!"
                   add {@enter-price} to {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cVous avez déjà participer."
           else if arg 1 is "prize":
               message "&b&lLotto &r- &7Prix du Lotto: &6$&e%{lottoprize}%"
           else if arg 1 is "end":
               if player has permission "{@admin-permission}":
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               if executor is console:
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               else:
                   message "&b&lLotto &r- &cNo permission."
           else if arg 1 is "refund":
               if {hasjoined::%player%} is set:
                   delete {hasjoined::%player%}
                   execute console command "/eco give %player% {@enter-price}"
                   message "&b&lLotto &r- &aYou have successfully left Lotto!"
                   remove {@enter-price} from {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cYou are not in Lotto."
       else:
           message "&6-----------------------[&b&lLotto&6]-----------------------"
           message "&eJoining costs ${@enter-price} and the winner will get all the money people entered with."
           message ""
           message "&6/{@command} join &fRejoindre le Lotto"
           message "&6/{@command} refund &fQuitter le Lotto"
           message "&6/{@command} list &fVoir la liste des participants"
           message "&6/{@command} prize &fVoir le prix miser"
           if player has permission "{@admin-permission}":
               message "&6/{@command} end &fProcess the Lotto & reset it"
           message ""
           message "&6-----------------------------------------------------"


#========================================================#
#
#                 I hope you like my skript.
#                Please don't steal the code.
#                       Thank you. :)
#========================================================#

 

ou celui ci:

 

#========================================================#
options:
   command: lotto                                            # Default command /lotto
   admin-permission: lottosk.admin                            # With this permission, they can end Lotto.
   enter-price: 50                                            # Price to enter Lotto


#========================================================#
#                         Code
#
#        DON'T TOUCH UNLESS YOU KNOW WHAT YOU'RE DOING
#========================================================#

command /{@command} [<text>]:
   trigger:
       if arg 1 is set:
           if arg 1 is "list":
               message "&b&lLotto &r- &7Players:"
               loop {hasjoined::*}:
                   message "&f%loop-index%"
                   add 1 to {_all}
               message ""
               message "&e&lTotal players: &f%{_all}%"
           else if arg 1 is "join":
               if {hasjoined::%player%} is not set:
                   set {hasjoined::%player%} to player
                   execute console command "/eco take %player% {@enter-price}"
                   message "&b&lLotto &r- &aVotre participation au Lotto à était pris en compte !!"
                   add {@enter-price} to {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cVous avez déjà participer."
           else if arg 1 is "prize":
               message "&b&lLotto &r- &7Prix du Lotto: &6$&e%{lottoprize}%"
           else if arg 1 is "end":
               if executor has permission "{@admin-permission}":
                   set {_winner} to a random element of {hasjoined::*}
                   broadcast "&b&l============================"
                   broadcast "&b&lLotto &r- &7GAGNANT: %{_winner}%"
                   execute console command "/eco give %{_winner}% %{lottoprize}%"
                   wait 5 ticks
                   broadcast "&b&lLotto &r- &7Le gagant vien de recevoir &6$&e%{lottoprize}%"
                   wait 5 ticks
                   delete {lottoprize}
                   delete {hasjoined::*}
                   broadcast "&b&lLotto &r- &7Le Lotto vien d'être reset vous pouvez rejouer. (/lotto join)"
                   broadcast "&b&l============================"
                   stop
               else:
                   message "&b&lLotto &r- &cNo permission."
           else if arg 1 is "refund":
               if {hasjoined::%player%} is set:
                   delete {hasjoined::%player%}
                   execute console command "/eco give %player% {@enter-price}"
                   message "&b&lLotto &r- &aYou have successfully left Lotto!"
                   remove {@enter-price} from {lottoprize}
                   stop
               else:
                   message "&b&lLotto &r- &cYou are not in Lotto."
       else:
           message "&6-----------------------[&b&lLotto&6]-----------------------"
           message "&eJoining costs ${@enter-price} and the winner will get all the money people entered with."
           message ""
           message "&6/{@command} join &fRejoindre le Lotto"
           message "&6/{@command} refund &fQuitter le Lotto"
           message "&6/{@command} list &fVoir la liste des participants"
           message "&6/{@command} prize &fVoir le prix miser"
           if player has permission "{@admin-permission}":
               message "&6/{@command} end &fProcess the Lotto & reset it"
           message ""
           message "&6-----------------------------------------------------"


#========================================================#
#
#                 I hope you like my skript.
#                Please don't steal the code.
#                       Thank you. :)
#========================================================#

 

Je pense que le dernier devrait fonctionner.

Le premier fonctionne niquel :) Merci beaucoup aucune erreur.

  • J'aime 1
  • 0
Posté(e) (modifié)

Petite question on peut faire en sorte que le tirage se fasse automatiquement toute les 24h ? sans que sa fasse énormément lag le serveur ?

J'aurais penser a faire un skript qui exécute cette commande :

Every 24 hours:
   Make console execute command "lotto end"

 

Mes c'est pas optimisé ?

Modifié par Invité
  • 0
Posté(e) (modifié)

En ce qui concerne les délais automatiques et tout, c'est assez dur de ne pas faire lag le serveur.

Comme ça je t'aurai dit "every 24 hours:" mais c'est pas très optimisé. De plus, si ton serveur restart ce sera le bordel.

 

Alors essaie peut être ça, ce code fonctionnera que lorsqu'un joueur se connecte.

Exemple: Je me connecte, si ça fait plus de 24 heures que le truc a été fait alors le truc se refait, sinon ça ne fait rien.

 

command /24h:
   trigger:
       #REMPLACE CETTE LIGNE PAR LA CHOSE A FAIRE
       delete {delay.attendre}
       set {delay.attendre} to now

on join:
   set {_delay} to difference between {delay.attendre} and now
   if {_delay} is bigger than 24 hours:
       #REMPLACE ENCORE CETTE LIGNE PAR LA CHOSE A FAIRE

Ce code n'a pas été testé, je te conseil de remplacer "24 hours" par "10 seconds" pour le tester :)

PS: Modifie un de tes derniers messages et supprime l'autre, sinon les modos vont te taper pour double post !

Modifié par Invité
  • J'aime 1
  • 0
Posté(e)
En ce qui concerne les délais automatiques et tout, c'est assez dur de ne pas faire lag le serveur.

Comme ça je t'aurai dit "every 24 hours:" mais c'est pas très optimisé. De plus, si ton serveur restart ce sera le bordel.

 

Alors essaie peut être ça, ce code fonctionnera que lorsqu'un joueur se connecte.

Exemple: Je me connecte, si ça fait plus de 24 heures que le truc a été fait alors le truc se refait, sinon ça ne fait rien.

 

command /24h:
   trigger:
       #REMPLACE CETTE LIGNE PAR LA CHOSE A FAIRE
       delete {delay.attendre}
       set {delay.attendre} to now

on join:
   set {_delay} to difference between {delay.attendre} and now
   if {_delay} is bigger than 24 hours:
       #REMPLACE ENCORE CETTE LIGNE PAR LA CHOSE A FAIRE

Ce code n'a pas été testé ^^

PS: Modifie un de tes derniers messages et supprime l'autre, sinon les modos vont te taper pour double post !

Non c'est bon merci j'ai trouvé un autre système encore plus simple merci quand même :)

  • 0
Posté(e)
Aucun problème !

 

Veux-tu bien envoyer ce que tu as trouvé si quelqu'un se retrouve avec le même problème ? :)

Simplement que dans mon hébergeur il y a le système de taches, et du coup on peut faire exécuté la console qui exécute une commande a une heure précise tout les jours

  • J'aime 1
  • 0
Posté(e)

J'avoue je n'ai pas tout lu mais j'ai vu ceci dans ton code :

if player has permission "{@admin-permission}":

 

Qui est incompatible si tu utilise la console,

remplace player par sender

  • J'aime 1
  • 0
Posté(e)
J'avoue je n'ai pas tout lu mais j'ai vu ceci dans ton code :

if player has permission "{@admin-permission}":

 

Qui est incompatible si tu utilise la console,

remplace player par sender

Ok, mes c'est bon c'est réglé

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.