Valas Posté(e) le 25 juin 2015 Posté(e) le 25 juin 2015 [spoiler=CODE] variables: {temps.%player%} = true command /temps: trigger: if player is online: #J'ai mis ça car j'avais mis une autre "if" donc pour que ça ne prenne pas trop de temps j'ai mis "is online" if {temps.%player%} is true: if player is online: set {temps.%player%} to false send "&7Veuillez executer la command /timer pour voir le temps qu'il vous reste..." set {temps.temps.%player%} to 300 #5 minutes while {temps.%player%} is false: wait 1 second subtract 1 from {temps.temps.%player%} if {temps.temps.%player%} <= 0: set {temps.%player%} to true set {temps.temps.%player%} to 18000 else: send "&cTemps restant (%{temps.temps.%player%}% secondes)" En gros, si j'ai mis ce skript là, c'est pour faire d'autre chose (comme des kits etc...) Exemple de kit: [spoiler=CODE] command /veterant [<player>]: permission: veterant permission message: &cTu n'es pas veterant ! trigger: if arg is not set: if {veterant.%player%} is true: if player is in "kitpvp": set {veterant.%player%} to false give player a stone sword of sharpness 1 give 10 steak to player give player a leather chestplate of protection 2 give player a leather helmet of protection 2 give player a leather boots of protection 2 give player a leather leggings of protection 2 send "&7Vous avez reçu votre stuff" set {veterant.temps.%player%} to 300 while {veterant.%player%} is false: wait 1 second subtract 1 from {veterant.temps.%player%} if {veterant.temps.%player%} <= 0: set {veterant.%player%} to true set {veterant.temps.%player%} to 300 else: send "&cTu n'es pas en kit pvp !" else: send "&cTu ne peux pas utiliser le kit pour le moment (%{veterant.temps.%player%}% secondes)"
Kwizzy Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Vraiment bien :) Tu as vérifié si y'avais moyen de glitch ?
Comtedefitou Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 command /temps <integger>: trigger: if arg 1 is set: set {Timer} to arg 1 send "Le timer commence !" wait 1 second while {Timer} > 0: wait 1 second remove 1 from {Timer} # Pour dire cb de temps il reste de temps en temps : if {Timer} is 5: #5 par exemple send "Il reste 5 secondes" send "Timer fini !"
Valas Posté(e) le 26 juin 2015 Auteur Posté(e) le 26 juin 2015 Vraiment bien :) Tu as vérifié si y'avais moyen de glitch ? Bah enfaite, c'est quand le serveur ferme ducoup j'essaie de voire comment régler ça :/
Kwizzy Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Bah enfaite, c'est quand le serveur ferme ducoup j'essaie de voire comment régler ça :/ Fais un serveur local ;)
Comtedefitou Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Bah enfaite, c'est quand le serveur ferme ducoup j'essaie de voire comment régler ça :/ Bha tu fait: on unload: delete [Variable]
Valas Posté(e) le 26 juin 2015 Auteur Posté(e) le 26 juin 2015 Je voulais dire, quand le serveur ferme, les variables bug...
Comtedefitou Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Je voulais dire, quand le serveur ferme, les variables bug... ah ... c'est a dire ?
Valas Posté(e) le 26 juin 2015 Auteur Posté(e) le 26 juin 2015 Exemple: Je fais la commande /timer elle m'affice 300 secondes, je refait la commande, ça marque 299, je refait 298 etc.. Le serveur ferme, je fais la commande /timer elle me retourne 298, je la refait, elle me retourne 298... en gros elle reste bloqué.
Comtedefitou Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Exemple: Je fais la commande /timer elle m'affice 300 secondes, je refait la commande, ça marque 299, je refait 298 etc.. Le serveur ferme, je fais la commande /timer elle me retourne 298, je la refait, elle me retourne 298... en gros elle reste bloqué. Bha alors quand le skript ce lance tu attend un peut et tu remet ta variable a 300
Valas Posté(e) le 26 juin 2015 Auteur Posté(e) le 26 juin 2015 Oui bah c'est chaud pour le gars, il lui reste 10 secondes à attendre puis un restart et hop, il doit encore attendre..
Krown0s Posté(e) le 26 juin 2015 Posté(e) le 26 juin 2015 Si j'ai bien compris ce que prof m'a expliquer y'a 2 sortes de variables les locales et les autres. Les autres sont celles que tu as utilisé {variable} donc c'est une variable qui va durer dans le temps, donc même avec un reboot la variable reste donc il faut la variable locale {_variable} qui est active seulement quand tu l'appel. Je pense que j'explique mal j'invite @ProfesseurCraft ici pour mieux expliquer ;)
Aeden Posté(e) le 27 juin 2015 Posté(e) le 27 juin 2015 Si j'ai bien compris ce que prof m'a expliquer y'a 2 sortes de variables les locales et les autres. Les autres sont celles que tu as utilisé {variable} donc c'est une variable qui va durer dans le temps, donc même avec un reboot la variable reste donc il faut la variable locale {_variable} qui est active seulement quand tu l'appel. Je pense que j'explique mal j'invite @ProfesseurCraft ici pour mieux expliquer ;) Il y a deux sortes de variables : - Les variables classiques, que j'aime appeler "variables globales", sont accessibles depuis n'importe quelle partie de votre skript. On peut également les définir comme permanentes car elles sont enregistrées dans le fichier variables.csv situé à la racine du dossier Skript. Exemple : command /myhome: trigger: set {home.%player's uuid%} to player's location # <- Nous créons notre variable "globale" ici send "<lime>Votre point de spawn à bien été créé :)" to player send "<cyan>Les coordonnées de votre home sont : &d%{home.%player's uuid%}%" on right click with bed: if {home.%player's uuid%} is set: # <- Elle est accessible ici... teleport player to location at {home.%player's uuid%} # <- et ici :) send "<lime>Bienvenue chez vous :)" to player else: send "<light red>Téléportation à votre home impossible :( . Quel est le cancre qui utilise des variables locales ?" to player - Les variables locales, qu'on peut définir comme temporaires, sont utilisables dans un seul contexte et ne peuvent pas être appelées ailleurs. Je vous invite à modifier le code que je vous ai partagé plus haut par des variables locales et vous allez rapidement vous rendre compte des limites de celles-ci. Petit point tout de même, on pourrait croire que les variables locales ne servent à rien mais c'est tout le contraire ; grâce à celles-ci, vous ferez des économies de stockage de variables. En effet, le fichier variables.csv a tendance à très vite s'alourdir, ce qui ralenti le jeu. J'espère avoir été clair. Si besoin est, je peaufinerai mon explication.
Messages recommandés