Aller au contenu
  • 0

Tempban ne fonctionne pas


Question

Posté(e)

Salut,

je développe actuellement un plugin avec un système de tempban.

Je ne montre pas le haut du plugin pour ne pas divulguer son code.

Le kick fonctionne mais on peut se reconnecter, le "on join" ne fonctionne pas

 

Voici le code:

command /bancheataweekmoyen:
   permission: ai.pa
   trigger:
       wait 2 ticks
       message "&6&lBannissement du joueur en cours... Recapitulatif: Joueur %{%player%.isbanplayer}% sera banni 1 semaine pour Cheat avec une gravite faible. Le joueur sera banni dans 15 secondes..."
       wait 10 seconds ticks
       message "&cVous allez etre banni." to {%player%.isbanplayer}
       wait 5 seconds
       set {tempban.%{%player%.isbanplayer}%.time} to 10080
       set {tempban.%{%player%.isbanplayer}%.date} to now
       message "&aLe joueur a bien ete banni."
       kick {%player%.isbanplayer} due to "&6Vous avez ete banni par &a&l%player% &6pour &4&l1 &6semaine pour le motif : &4&lCheat. &6(Gravite moyenne)"
       clear {%player%.isbanplayer}
on join:
   if difference between now and {tempban.%{%player%.isbanplayer}%.date} is smaller than {tempban.%{%player%.isbanplayer}%.time}:
       kick player due to "&6Vous ne pouvez pas vous connecter, car vous avez ete banni temporairement."

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

{tempban.%{%player%.isbanplayer}%.date}

serras forcement toujours plus grand que

{tempban.%{%player%.isbanplayer}%.time}

 

car le premier enregistre le timestamp actuelle ( 1443619826 )

alors que le deuxième correspond a 10080

 

il faut donc que tu ajoute 10080 au timestamp now

Ex

set {tempban.%{%player%.isbanplayer}%.date} to now

add 10080 seconds to {tempban.%{%player%.isbanplayer}%.date}

 

pour comparer et bien tu fait la différence entre le timestamp actuelle et celle du joueur {tempban.%{%player%.isbanplayer}%.date}

 

si le timestamp actuelle est plus grand que la valeur du joueur, il est débanni, sinon il est toujours banni.

 

je te conseille d'utilisé

on connect

plutôt que

on join

 

la différence est que le joueur na pas le temps de joindre le serveur et ait automatiquement kick

  • 0
Posté(e)

Bonjour,

 

Merci pour ta réponse !

Toutefois, voici le nouveau code:

command /bancheataweekmoyen:
   permission: ai.pa
   trigger:
       wait 2 ticks
       message "&6&lBannissement du joueur en cours... Recapitulatif: Joueur %{%player%.isbanplayer}% sera banni 1 semaine pour Cheat avec une gravite faible. Le joueur sera banni dans 15 secondes..."
       wait 10 seconds ticks
       message "&cVous allez etre banni." to {%player%.isbanplayer}
       wait 5 seconds
       set {tempban.%{%player%.isbanplayer}%.time} to 10080 seconds
       set {tempban.%{%player%.isbanplayer}%.date} to now
       add 10080 seconds to {tempban.%{%player%.isbanplayer}%.date}
       message "&aLe joueur a bien ete banni."
       kick {%player%.isbanplayer} due to "&6Vous avez ete banni par &a&l%player% &6pour &4&l1 &6semaine pour le motif : &4&lCheat. &6(Gravite moyenne)"
       clear {%player%.isbanplayer}
on connect:
   if difference between now and {tempban.%{%player%.isbanplayer}%.date} is smaller than {tempban.%{%player%.isbanplayer}%.time}:
       kick player due to "&6Vous ne pouvez pas vous connecter, car vous avez ete banni temporairement."

Celui-ci ne fonctionne toujours pas. une vidéo arrive prochainement.

  • 0
Posté(e)

Un moyen simple de comprendre ce qui ne vas pas avec les valeurs.

Serais de les afficher dans le chat

 

Ainsi tu pourras comparer les valeurs visuellement et mieux comprendre le pb.

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