mmk thanks, how would i save this? so their rank is still their when they come back? im using this for my register and login
Код:
if(strcmp(cmd, "/register", true) == 0)
{
if(MiniGame[playerid] == 1) return GameTextForPlayer(playerid,"You cant use this command because you are in a minigame",5000,4);
new name[MAX_PLAYER_NAME];
new IP[16];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, name, sizeof(name));
GetPlayerIp(playerid,IP,sizeof(IP));
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /register [password]");
format(file,sizeof(file),"%s.ini",name);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(tmp));
dini_IntSet(file,"Adminlevel", AdminLevel);
dini_IntSet(file,"Cash", GetPlayerMoney(playerid));
dini_IntSet(file,"Score", GetPlayerScore(playerid));
dini_IntSet(file,"Skin", GetPlayerSkin(playerid));
dini_IntSet(file,"Loc", GetPlayerPos(playerid, x, y, z));
SendClientMessage(playerid, COLOR_LIME, "[System]: Account Created! you can now /login [Password]!");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, name, sizeof(name));
printf("%s has registered a account!", name);
}
else
{
SendClientMessage(playerid, COLOR_RED, " Account Already Found In Database");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
return 1;
}
if(strcmp(cmd, "/login", true) == 0)
{
if(MiniGame[playerid] == 1) return GameTextForPlayer(playerid,"You cant use this command because you are in a minigame",5000,4);
new PlayerName[24];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, COLOR_SG, "USAGE: /login [password]");
new name[MAX_PLAYER_NAME];
if(IsLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "You already are logged in!");
return 1;
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(file,sizeof(file),"%s.ini",name);
if(fexist(file))
{
tmp2 = dini_Get(file, "Password");
if(udb_hash(tmp) != strval(tmp2))
{
SendClientMessage(playerid, COLOR_RED, "Login Failed!");
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("%s has failed to login", name);
}
else
{
IsLogged[playerid] = 1;
SetPlayerMoney(playerid, dini_Int(file, "Cash"));
SetPlayerScore(playerid, dini_Int(file, "Score"));
SetPlayerSkin(playerid, dini_Int(file, "Skin"));
dini_IntSet(file,"AdminLevel", AdminLevel);
dini_IntSet(file,"Loc", SetPlayerPos(playerid, x, y, z+10));
PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
SendClientMessage(playerid, COLOR_LIME, "[System]: Logged in!");
}
}
}
return 1;
}