Bonjour,
J'ai créé un public permettant que si le joueur arrive sur le serveur et si il n'est pas loggé dans 30 secondes, il est kick.
Mais le problème est que le joueur arrive, il se logge normalement, ca ne le kick pas mais ca kick l'id 0 après 30 secondes.
Dans la commande /login
KillTimer(Logincount);
Plus haut dans le public du Login Auto
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Ce compte existe déjà, loggez vous en tapant /login [motdepasse]");
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Vous avez 30 secondes pour vous logger.");
cd=30;
Logincount = SetTimer("Login",1000,1);
Ici le nouveau public
forward Login();
public Login()
{
if(cd == 0)
{
new string[256];
new playerid;
new iname[MAX_PLAYER_NAME];
GetPlayerName(playerid, iname, sizeof(iname));
format(string,sizeof(string),"*** %s a été kick ( Raison - Pas loggé dans les temps ).",iname);
SendClientMessageToAll(COLOR_BRIGHTRED,string);
Kick(playerid);
KillTimer(Logincount);
}
cd--;
}
Concernant le mauvais pass pour /rcon login, au lieu de kick le joueur qui tente de se connecter en Admin et rentre le mauvais mot de passe, ca kick tous les joueurs.
public OnRconLoginAttempt(ip[], password[], success)
{
new playername[MAX_PLAYER_NAME];
new playerid;
GetPlayerName(playerid, playername, sizeof(playername));
if(!success)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
SendClientMessage(i, COLOR_BRIGHTRED, "---- Vous n'avez pas le droit de faire ceci");
SendClientMessage(i, COLOR_BRIGHTRED, "---- La prochaine fois vous êtes banni.");
Kick(i);
printf("//---BadAdmin--- %s a tenté de se connecter en /rcon login",playername, password);
}
}
return 1;
}
En attendant votre aide. ;D