Aller au contenu
  • 0

Manipulation des jours


Question

Posté(e) (modifié)

Bonjour !

 

Je suis actuellement sur un projet de serveur et j'aurai besoin d'un petit coup de pousse 😛

 

Je souhaite réaliser un skript basé sur un système de "booster" qui augment au fur et à mesure que le joueur joue mais qui descend de 1 unité chaque jour (poussant le joueur à se connecter régulièrement). Mais je bloque sur un petit détail ... Il me faut réussir à obtenir le nombre de jours durant lequel le joueur ne s'est pas connecté afin de lui soustraire ce nombre de fois 1 unité de son booster et j'avoue ne pas voir comment l'obtenir.

 

Des idées ?

 

Version Skript: 2.2

Version Serveur: 1.12.1

Modifié par Angerfif

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bah c'est pas difficile.

 

A chaque connexion du joueur tu set {connexion.%player%} to now

 

Quand tu veut effectuer le check, tu fait : difference between {connexion.%player%} and now

 

Tu auras donc sa dernière connexion (ou alors pour être plus précis tu peut faire sa dans son on quit)

  • 0
Posté(e)

Oui je connais cette manipulation. Soucis, je récupère un timespan. Mais sauf si je m'y prends mal,

 

set {_difference} to difference between now and {_day} parsed as integer

ne fonctionne pas. Et il est impossible de soustraire un timespan d'un integer ... d'où ma question

 

Dans l'attente

  • 0
Posté(e)
il y a 9 minutes, Angerfif a dit :

Oui je connais cette manipulation. Soucis, je récupère un timespan. Mais sauf si je m'y prends mal,

 


set {_difference} to difference between now and {_day} parsed as integer

ne fonctionne pas. Et il est impossible de soustraire un timespan d'un integer ... d'où ma question

 

Dans l'attente

Je comprend pas très bien, tu peut mieux m'expliquer stp (exemple ? (de ce qui te gêne))

  • 0
Posté(e)

Oui pardon j'avoue que c'est un peu compliqué à expliquer.

 

En clair:

 

on load:
	Loop all players:
		set {%loop-player%.booster.level} to 5 #la variable est sous le format integer

on quit:
	set {%player%.booster.date} to now

on join:
	# Disons que cela fait 3 jours que le joueur ne s'est pas connecté
	set {_difference} to difference between {%player%.booster.date} and now #{_difference} est donc de 3 sous le format timespan
	remove {_difference} from {%player%.booster.date} #La logique voudrait donc que cela face 5-3 = 2

Sauf que {_difference} est du type timespan et {%player%.booster.date} est du type integer et il est donc impossible de les soustraire. Comment convertir {_difference} en integer par rapport au nombre de jour ?

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.