Version de Minecraft : 1.12
Version de Skript : 2.1.2
Addons utilisés: skRayFall, SkQuery, Sk-NbeeT, SkBee
Type du skript : Skript de /login, /register
Description du script :
Bonjour,
Je travail actuellement sur un script de /login et /register mais je rencontre un soucis, lorsque je me connecte au serveur la première fois après avoir mis le script sur le serveur, ça me demande de me /register, si je déco-reco sans redémarrer le serveur ça me demande de me /login, ça ça marche correctement, le problème est lorsque je redémarre le serveur après m'être /register et que je m'y reconnecte, il me demande à nouveau de me /register... J'aimerais que quand une personne s'est /register sur le serveur ça ne lui demande plus de faire la commande /register mais la commande /login même après un redémarrage du serveur.
Voici mon code :
(les autres commandes sont des commandes qui fonctionnent correctement)
on join:
if {password.%player%} is not set:
send "&7[&cLogin&7] &dDéfinis ton mot de passe avec la commande &c/register <mdp> <mdp>" to player
clear {login.%player%}
set {movefalser.%player%} to true
stop
if {password.%player%} is set:
send "&7[&cLogin&7] &dConnecte toi avec la commande &c/login <mdp> &d(ou &c/l <mdp>&d)" to player
clear {login.%player%}
set {movefalse.%player%} to true
stop
on any move:
if {movefalser.%player%} is true:
cancel event
send "&7[&cLogin&7] &dDéfinis ton mot de passe avec la commande &c/register <mdp> <mdp>" to player
stop
if {movefalse.%player%} is true:
cancel event
send "&7[&cLogin&7] &dConnecte toi avec la commande &c/login <mdp> &d(ou &c/l <mdp>&d)" to player
stop
command /register [<text>] [<text>]:
trigger:
if {password.%player%} is not set:
if arg 1 is set:
if arg 2 is set:
if arg 1 = arg 2:
set {password.%player%} to arg 1
send "&7[&cLogin&7] &aTon mot de passe a été définit en tant que &d%arg 1% &a! &ePour le changer, il te suffit d'exécuter la commande &c/changepw <ancien mdp> <nouveau mdp>" to player
send player title "&aConnecté" with subtitle "&eBon jeu à toi sur le serveur !" for 2 seconds
set {login.%player%} to true
clear {movefalser.%player%}
execute player command "/join"
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe, tu dois écrire deux fois le même mot de passe" to player
send player title "&cErreur" with subtitle "&6Mots de passes non identiques" for 2 seconds
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe, tu dois exécuter la commande /register <mdp> <mdp> pour t'enregistrer" to player
send player title "&cErreur" with subtitle "&6Commande incorrecte" for 2 seconds
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe, tu dois exécuter la commande /register <mdp> <mdp> pour t'enregistrer" to player
send player title "&cErreur" with subtitle "&6Commande incorrecte" for 2 seconds
stop
else:
send "&7[&cLogin&7] &eTu es déjà enregistré sur le serveur, pour te connecter fais &c/login <mdp> &e(ou &c/l <mdp>&e)" to player
stop
command /login [<text>]:
aliases: l
trigger:
if {login.%player%} is true:
send "&7[&cLogin&7] &eTu es déjà connecté au serveur, si tu veux changer ton mot de passe fais &b/changepw <ton mdp actuel> <ton nouveau mdp>" to player
stop
if {login.%player%} is not set:
if arg 1 is set:
if arg 1 = {password.%player%}:
send "&7[&cLogin&7] &aConnexion réussie" to player
set {login.%player%} to true
clear {movefalse.%player%}
execute player command "/join"
stop
else:
send "&7[&cLogin&7] &6Mot de passe incorrecte !" to player
send player title "&cErreur" with subtitle "&6Mot de passe incorrecte, réessaie" for 2 seconds
stop
if arg 1 is not set:
send "&7[&cLogin&7] &cErreur de syntaxe : /login <mdp> (ou /l <mdp>)" to player
stop
command /changepw [<text>] [<text>] [<offline player>]:
trigger:
if {password.%player%} is set:
if {login.%player%} is not set:
send "&7[&cLogin&7] &6Tu dois d'abord te connecter avant de pouvoir effectuer des actions sur le serveur !" to player
stop
else:
if arg 1 is set:
if arg 2 is set:
if arg 3 is not set:
if arg 1 = {password.%player%}:
set {password.%player%} to arg 2
send "&7[&cLogin&7] &6Ton nouveau mot de passe est &b%{password.%player%}%" to player
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe, tu dois d'abord marquer ton mot de passe actuel puis le mot de passe que tu veux choisir pour changer ton mot de passe" to player
send "&c/changepw <ancien mot de passe> <nouveau mot de passe>" to player
stop
if arg 3 is set:
if player has permission "login.changepw.other":
if arg 1 = {password.%arg 3%}:
set {password.%arg 3%} to arg 2
send "&7[&cLogin&7] &6Le mot de passe de &b%arg 3% &6est maintenant &b%{password.%arg 3%}%" to player
send "&7[&cLogin&7] &6Ton mot de passe a été modifié par l'équipe du staff en &b%{password.%arg 3%}%" to arg 3
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe, ce mot de passe n'appartient pas à ce joueur" to player
stop
else:
send "&7[&cLogin&7] &cTu ne peux pas changer le mot de passe des autres joueurs" to player
else:
send "&7[&cLogin&7] &cErreur de syntaxe, tu dois écrire ton mot de passe actuel puis le mot de passe que tu veux chosir" and "&c/changepw <ancien mdp> <nouveau mdp>" to player
stop
else:
if player has permission "login.changepw.other":
send "&7[&cLogin&7] &cErreur de syntaxe : /changepw <ancien mdp> <nouveau mdp> [<joueur>]" to player
stop
else:
send "&7[&cLogin&7] &cErreur de syntaxe : /changepw <ancien mdp> <nouveau mdp>" to player
stop
command /join:
trigger:
set slot 4 of player's inventory to compass named "&eMenu du serveur"
on damage:
if {login.%victim%} is not set:
cancel event
if {login.%attacker%} is not set:
cancel event
on command:
if {login.%player%} is not set:
full command is not "login" or "register" or "l"
send "&7[&cLogin&7] &cTu dois d'abord te connecter au serveur avant de pouvoir effectuer des actions" to player
# ----------------------------- Commandes d'administration -----------------------------
command /showpassword [<offline player>]:
permission: login.pw.showother
permission message: &cTu ne peux pas voir les mots de passes des autres joueurs !
trigger:
if arg 1 is set:
if {password.%arg 1%} is set:
send "&7[&cLogin&7] &6Le mdp de &b%arg 1% &6est &a%{password.%arg 1%}%" to player
stop
if {password.%arg 1%} is not set:
send "&7[&cLogin&7] &6Le joueur mentionné n'est jamais venu/ne s'est jamais enregistré sur le serveur !" to player
stop
if arg 1 is not set:
send "&7[&cLogin&7] &cErreur de syntaxe : /showpassword <player>" to player
stop