Je te propose une solution qui ne flood pas le fichier du joueur:
dcmd_register(playerid, params[])
{
if(PLAYERLIST_authed[playerid]) return SystemMessage(playerid, "Tu est deja loggé");
if(udb_Exists(PName(playerid))) return SystemMessage(playerid, "Compte déja enregistré. Fait /login password.");
if(strlen(params) == 0) return SystemMessage(playerid, "Usage correct : /register password");
if(udb_Create(PName(playerid), params)) return SystemMessage(playerid, "Compte crée ! Logge toi avec /login password.");
return true;
}
dcmd_login(playerid, params[])
{
new PlayerName[MAX_PLAYER_NAME];
if(PLAYERLIST_authed[playerid]) return SystemMessage(playerid, "Tu est deja loggé");
if(!udb_Exists(PName(playerid))) return SystemMessage(playerid, "Le compte n'existe pas. Fait \"/register <mot de passe>\" pour créer un nouveau compte.");
if(strlen(params) == 0) return SystemMessage(playerid, "Usage correct : /login password");
if(udb_CheckLogin(PName(playerid), params))
{
GivePlayerMoney(playerid, dUserINT(PName(playerid)).("monnaie"));
PLAYERLIST_authed[playerid] = true;
}
return SystemMessage(playerid, "Mot de passe incorrect");
}
public OnPlayerDisconnect(playerid, reason)
{
if (PLAYERLIST_authed[playerid])
{
dUserSetINT(PName(playerid)).("monnaie", GetPlayerMoney(playerid));
}
PLAYERLIST_authed[playerid] = false;
return 1;
}
++
nikko