Bonjour à vous !
J'ai un problème avec un skript, voici quelques infos :
J'ai créé un skript entier de sanctions comme ça je peux le tenir à jour moi même sans dépendre de quelqu'un d'autre mais il y a un gros problème. Lorsque j'utilise le tempban, ça ne fonctionne pas. En effet, le joueur est correctement banni mais il n'est pas automatiquement débanni lorsque la durée est dépassée.
J'ai effectué beaucoup de recherches. Cela fait à peu près trois mois que je suis sur ce problème donc la liste des recherches effectuées est très longue. J'ai d'abord tenté plusieurs solutions par moi même, ensuite je suis passé par des forums et des vidéos. J'ai essayé de nombreux codes trouvés sur internet et notamment sur ce forum mais aucun ne fonctionne.
Code de la commande tempban :
command /tempban <offline player> <int> <text>:
description: Bannir temporairement un joueur.
usage: &b/tempban <pseudo du joueur> <durée en jour(s)> <raison>
permission: powermod.tempban
permission message: {@prefix} &cVous n'avez pas la permission de mettre un bannissement temporaire direct.
trigger:
if arg-1 has permission "powermod.immune":
message "{@prefix} {@immune}"
else:
if {ban::%argument 1%} is set:
message "{@prefix} {@alreadybanned}"
else:
set {ban::%argument 1%} to arg-1
set {tempbantime.%argument 1%} to arg-2
set {tempbantamp.%argument 1%} to now
set {banner.%argument 1%} to player
set {rban.%argument 1%} to arg-3
set {mban.%argument 1%} to "{@mtempban}%{rban.%argument 1%}%"
kick arg-1 because "%{mban.%argument 1%}%"
broadcast "{@prefix} {@btempban}%{rban.%argument 1%}%"
Code de l'événement "On Join" :
on join:
{ban::%player%} is set:
if {tempbantime.%player%} is set:
set {_tempban} to difference between now and {tempbantamp.%player%}
set {_tempban2} to difference between {tempbantamp.%player%} and now
reduce {_tempban} by {tempbantime.%player%}
if difference between now and {tempbantamp.%player%} is greater than {tempbantime.%player%}:
delete {ban::%player%}
delete {tempbantime.%player%}
delete {tempbantamp.%player%}
delete {banner.%player%}
delete {rban.%player%}
delete {mban.%player%}
else:
kick player because "%{mban.%player%}%"
else:
kick player because "%{mban.%player%}%"
Comme vous pouvez le voir, lorsque la variable "ban" du joueur existe, ce dernier est automatiquement kické lorsqu'il se connecte. Mais j'ai également deux petits problèmes à ce niveau là :
1) Le message de déconnexion apparaît lorsque le joueur est automatiquement kické, je ne sais pas comment l'enlever.
2) Le pseudo du joueur apparaît toujours dans le tab, je ne sais pas non plus comment enlever ça.
Voilà , merci à vous, en espérant que vous puissiez m'aider.