• 23 Avril 2025, 12:30:26


Auteur Sujet: [Résolu] Le fameux timestamp  (Lu 965 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
[Résolu] Le fameux timestamp
« le: 30 Octobre 2011, 23:55:20 »
Bonsoir, me revoilà. :)

Alors voila, j'aimerais faire mon propre système de ban avec une durée. Tout d'abord quelle système me proposer vous d'utiliser pour la gestion du temps ? Personnellement, j'avais pensé à timestamp qui est génial, mais compliqués :D J'aimerais savoir comme je pourrais ajouter du temps à un timestamp existant( qui correspondrais à la date de déban) et savoir quel timestamp correspond à une date plus récente ? Merci :D  :cheers
« Modifié: 31 Octobre 2011, 00:34:00 par chneubeul »

Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Re : [Demande Aide] Le fameux timestamp
« Réponse #1 le: 31 Octobre 2011, 00:27:01 »
Yop yop!

Faire un système de ban temporaire, c'est en fait pas compliqué ^^
Faut déjà commencer par créé une table bans_temp de 5 colonnes (c'est un exemple) [id, date, temps, date_fin, nom], sachant que date (par défaut CURRENT_TIMESTAMP), temps et date_fin sont de type TIMESTAMP.

Déjà, le timestamp c'est quoi : le nombre de secondes écoulés depuis le 1er janvier 1970 à 0 h 0.

Ensuite, le principe est le suivant :

Je tape /ban id tempsenheure

On convertie le tempsenheure en secondes (=temps), on ne récupère pas la date actuelle (c'est MySQL qui gère ça), on calcule le timestamp de fin (date+temps = date_fin) et on récupère le nom du joueur (=nom).

Ensuite, il ne nous reste plus qu'à sauvegarder ça dans la SQL.

Voilà pour l'enregistrement.

Après, à chaque connexion d'un joueur, il faut parcourir la table pour voir s'il est dedans (s'il est ban quoi). Pour la vérification, ça sera du type
if(date_fin >= timestamp actuel) delete la ligne dans la SQL, laisser le joueur se connecter
else bah fuck off, kick !

Voili voilou, c'est très schématisé, c'est moche, mais ça marche :D

EDIT :
Liens utiles :
http://wiki.sa-mp.com/wiki/Gettime
http://wiki.sa-mp.com/wiki/Useful_Functions#mktime
« Modifié: 31 Octobre 2011, 00:32:49 par Myk3L »