Aller au contenu

-DeathBan- Qui pourrait m'aider à un en faire un ?


Messages recommandés

Posté(e)

Et bien bonjours à tous ,

 

J'aimerais savoir si une personne présente ici aurais les capacités de me Skripter un Script pouvant Ban un joueur 20 min une fois mort , cela me servirais pour mon serveur HCF déjà ouvert car nous avons tester des Script qui théoriquement aurait du marcher mais sans succès ...HELP ME

Encore Merci D'avance a celui qui le feras :p

 

Nokeria:

IP: Play.nokeria.fr

 

Cordialement ,

EnuTella

Posté(e)
Voilà pour le code, bisous ;)

on death of player:
   if player is op:
       message "&cVous êtes morts, mais vous êtes administrateur."
       stop
   else:
       ban victim
       broadcast "&c%victim% est mort, il ne reviendra jamais."

Ce n'est absolument pas ça.

 

on death:
   if victim is op:
       send "&e(&cDeathBan&e) &5Vous êtes mort ! &f(Ban annulé car vous êtes Administrateur)"
   else:
       broadcast "&e(&cDeathBan&e) &9%victim% &5est mort ! &f(Ban 20 Minutes)"
       kick victim due to "&e(&cDeathBan&e) &5Vous êtes mort ! &f(Ban 20 Minutes)"
       set {inban.%UUID of victim%} to true
       wait 20 minutes
       set {inban.%UUID of player%} to false

on connect:
   if {inban.%UUID of player%} is true:
       kick player due to "&e(&cDeathBan&e) &5Vous êtes mort ! &f(Ban 20 Minutes)"
   if {inban.%UUID of player%} is false:
       send "&aDeathBan terminé ! Vous pouvez vous reconnecter !"

Posté(e)

Mille excuses si je me trompe, mais il me semble qu'utiliser un wait dans ce cas est une erreur. En cas de reboot serveur (personne n'est à l'abri d'un crash), les skripts sont ré-éxécutés en partant du début. Ainsi, un joueur ayant été banni avant un crash ne serait pas unban (la variable reste à true), causant donc un bannissement de 20 min... définitif :/

Posté(e)
Mille excuses si je me trompe, mais il me semble qu'utiliser un wait dans ce cas est une erreur. En cas de reboot serveur (personne n'est à l'abri d'un crash), les skripts sont ré-éxécutés en partant du début. Ainsi, un joueur ayant été banni avant un crash ne serait pas unban (la variable reste à true), causant donc un bannissement de 20 min... définitif :/

Alors comment faire dans ce cas là ?

Posté(e)

essaye de faire seulement une durée de ban :

on death of player:
   if victim is op:
       send "&e(&cDeathBan&e) &5Vous êtes mort ! &f(Ban annulé car vous êtes Administrateur)"
   else:
       broadcast "&e(&cDeathBan&e) &9%victim% &5est mort ! &f(Ban 20 Minutes)"
ban player 20 minutes due to  "&e(&cDeathBan&e) &5Vous êtes mort ! &f(Ban 20 Minutes)"

et comme ca, il se reconnectera dans 20 min meme en cas de crash antérieur .

Posté(e)

@AirSoftMinecraft Une solution serait d'utiliser une variable contenant la durée du ban et décompter à chaque seconde.

Une autre serait d'enregistrer l'heure du ban et de comparer avec l'heure de la prochaine connexion pour vérifier que 20 minutes réelles se sont écoulées.

Avec un peu de réflexion et quelques connaissances sur les variables, il y a moyen de s'en sortir.

La méthode de @Gurvv29, en revanche m'est tout à fait inconnue. Peut-être est-ce une nouvelle fonctionnalité de Skript? En tous cas, elle n'est répertoriée ni sur skunity ni dans la doc officielle.

Posté(e)

La cela devrait marcher :)

 

on death:
set {time.ban::%victim%} to now
kick victim due to "&cTu es mort, revient dans 20 minutes"
broadcast "&c%victim% &6est mort de la main de &c%attacker%"

on join:
if {time.ban::%player%} is set:
	if  difference between now and {time.ban::%player%} is bigger or equal to 1320:
		clear {time.ban::%player%}
		unban player
	if difference between now and {time.ban::%player%} is smaller than 1320:
		kick player due to "&cTu est toujours ban" 			

  • J'aime 1
×
×
  • 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.