Aller au contenu

Messages recommandés

Posté(e)

Salut a tous et a toute,

 

voici un petit fragment de code, utile pour des DailyReward qui se reset a minuit ! Il y en a beaucoup qui attendent un jour, mais ce n'est pas très pratique.

 

Cette technique est très optimisée, et fonctionne avec la version 0.8.9 de SkUtilities.

 

Il ont ajouté une expression qui s'appelle Date information : https://www.skunity.com/expressions?filter=skUtilities#DateInfomation

 

voici le code :

 

command /commande:
   trigger:
       if {variable.%player%} is not set:
           set {variable.%player%} to now
           make console execute command "/la commande a executer"
       else:
           set {_cdp} to "%day name from date {variable.%player%}%"    #On récupère le nom du jour de la dernière fois que le joueur a utilisé la commande
           set {_n} to now
           set {_cdt} to "%day name from date {_n}%"    #On récupère le nom du jour d'aujourd'hui
           if {_cdp} = {_cdt}:    #Si les 2 jours sont les memes (donc si la dernière fois qu'il a fait la commande, c'est aujourd'hui)
               message "&cTu as déjà eu ta récompense aujourd'hui !"
           else:
               set {variable.%player%} to now
               make console execute command "/la commande a executer"

 

Note : vous pouvez aussi le faire avec les heures, minutes, secondes (mais c'est inutile :) ), ou meme les mois et les années (mais pas très utile non-plus). Référez-vous alors au poste https://www.skunity.com/expressions?filter=skUtilities#DateInfomation car le pattern ne sera pas forcement le meme :)

  • J'aime 1
Posté(e)

Le 'Stop' ligne 6

N'est absolument pas important. Tu peux même le supprimer

Posté(e)

Il y a beaucoup plus simple et sans SkUtilities :

command /commande:
   trigger:
       if {variable.%player%} is not set:
           set {variable.%player%} to "%day%"
           make console execute command "/la commande a executer"
       else:
           if "%{variable.%player%}%" parsed as number is day:
               message "&cTu as déjà eu ta récompense aujourd'hui !"
           else:
               set {variable.%player%} to "%day%"
               make console execute command "/la commande a executer"

  • J'aime 2
Posté(e)
Ah :/ désolé, je ne connaissais pas ca. Bon bah, du coup mon post n'a plus trop d'intérêt, et Merci à toi

Pourquoi pas mettre le code de @Soufreur78 dans ton post?

Genre en dessous de ton code a toi :p

  • 2 mois après...
Posté(e)
Il y a beaucoup plus simple et sans SkUtilities :

command /commande:
   trigger:
       if {variable.%player%} is not set:
           set {variable.%player%} to "%day%"
           make console execute command "/la commande a executer"
       else:
           if "%{variable.%player%}%" parsed as number is day:
               message "&cTu as déjà eu ta récompense aujourd'hui !"
           else:
               set {variable.%player%} to "%day%"
               make console execute command "/la commande a executer"

Si on veux mettre 15 jours, ou 12 mois, comment on fait ?

Posté(e)
Si on veux mettre 15 jours, ou 12 mois, comment on fait ?

command /commande:

trigger:

if {variable.%player%} is not set:

set {variable.%player%} to "%day%"

make console execute command "/la commande a executer"

else:

if "%{variable.%player%}%" parsed as number is 30 days: #Change le 30

message "&cTu as déjà eu ta récompense aujourd'hui !"

else:

set {variable.%player%} to "%day%"

make console execute command "/la commande a executer"

Posté(e)

Plus Simple a comprendre: (en plus pas besoin d'addon)

command /daily:
   trigger:
       if {reward.nospam.daily.%player%} is not set:
           set {reward.nospam.daily.%player%} to now
           #récompense (Possible de faire une 'première récompense' car c'est quand le joueur a jamais executer la commande
           stop #<- pas oublier
       if {reward.nospam.daily.%player%} was less than a day ago:
               #code quand il c'est pas passer une journée (a day ago remplassable par a minute ago, 2 days, 12 hours ago, ...)
       else:
           set {reward.nospam.daily.%player%} to now
           #Code récompense

  • J'aime 1
Posté(e)
Plus Simple a comprendre: (en plus pas besoin d'addon)

command /daily:
   trigger:
       if {reward.nospam.daily.%player%} is not set:
           set {reward.nospam.daily.%player%} to now
           #récompense (Possible de faire une 'première récompense' car c'est quand le joueur a jamais executer la commande
           stop #<- pas oublier
       if {reward.nospam.daily.%player%} was less than a day ago:
               #code quand il c'est pas passer une journée (a day ago remplassable par a minute ago, 2 days, 12 hours ago, ...)
       else:
           set {reward.nospam.daily.%player%} to now
           #Code récompense

Et, ...comment mettre les messages car la je comprend pas vraiments ou quand quoi...

 

(avant)

command /dailyreward:
   trigger:
       if {variable.%player%} is not set:
           set {variable.%player%} to "%day%"
           make console execute command "/la commande a executer"
       else:
           if "%{variable.%player%}%" parsed as number is day:
               message "&cTu as déjà eu ta récompense aujourd'hui !"
           else:
               set {variable.%player%} to "%day%"
               make console execute command "/la commande a executer"

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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.