Aller au contenu

Messages recommandés

Posté(e)

[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)"

 

 

 

Posté(e)

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 !"

Posté(e)
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 :/

Posté(e)

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é.

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

Posté(e)

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 ;)

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

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