pawn Код:
CMD:register(playerid, params[])
{
if(dini_Int(ServerFile, "Locked") == 0)
{
new Pass[256], IP[16];
GetPlayerIp(playerid, IP, sizeof(IP));
if(sscanf(params, "s", Pass))return SendClientMessage(playerid, COLOR_GREENLIGHT, "[Usage]: /register [Password] (maximum: 24 symbols)");
else if(strlen(Pass) > 24) return ERRORMSG(playerid, "[Server]: Your password is too long.");
else if(IsLogged[playerid]==1)return SendClientMessage(playerid, COLOR_RED, "[Server]: You're already logged in!");
else
{
format(file, sizeof(file), "Server/Users/%s.ini", PlayerName);
if(fexist(file)) return ERRORMSG(playerid, "[Server]: The username is already found in the database, use /login");
dini_Create(file);
dini_IntSet(file, "Password", udb_hash(Pass));
dini_Set(file, "IP", IP);
dini_IntSet(file, "AccountID", dini_Int(ServerFile, "Accounts"));
dini_IntSet(file, "AdminLevel", 0);
dini_IntSet(file, "Registered", 0);
dini_IntSet(file, "Muted", 0);
dini_IntSet(file, "Level", GetPlayerScore(playerid));
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
dini_IntSet(file, "Exp", 0);
dini_IntSet(file, "Skin", 23);
dini_IntSet(file, "Age", 0);
dini_Set(file, "Born", "Unknown");
dini_Set(file, "dStyle", "Unknown");
dini_Set(file, "RaceSpecial", "Unknown");
dini_Set(file, "FavCar", "Unknown");
dini_IntSet(file, "posX", 0);
dini_IntSet(file, "posY", 0);
dini_IntSet(file, "posZ", 0);
dini_IntSet(file, "Interior", 0);
dini_IntSet(file, "World", 0);
dini_IntSet(file, "Testcorrect", 0);
dini_IntSet(file, "Testincorrect", 0);
dini_IntSet(file, "Banned", 0);
new accounts = dini_Int(ServerFile, "Accounts");
dini_IntSet(ServerFile, "Accounts", accounts + 1);
TextDrawHideForPlayer(playerid, Registerscreen0[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen1[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen2[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen3[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen4[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen5[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen6[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen7[playerid]);
TextDrawHideForPlayer(playerid, Registerscreen8[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen0[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen1[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen2[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen3[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen4[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen5[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen6[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen7[playerid]);
TextDrawShowForPlayer(playerid, Loginscreen8[playerid]);
}
}
else
{
ERRORMSG(playerid, "[Server]: All the commands will be locked until you have typed the server password!");
}
return 1;
}
CMD:login(playerid, params[])
{
if(dini_Int(ServerFile, "Locked") == 0)
{
if (strlen(params) > 24) return ERRORMSG(playerid, "[Server]: The password is you typed is too long, try again");
else if(IsLogged[playerid] == 1) return ERRORMSG(playerid, "[Server]: You're already logged in!");
else
{
format(file, sizeof(file), "Server/Users/%s.ini", PlayerName);
if(fexist(file))
{
new FilePass[256];
FilePass = dini_Get(file, "Password");
if(udb_hash(params) == udb_hash(FilePass)) // Change to != if its all wrong on login
{
LoadStats(playerid);
}
else
{
ERRORMSG(playerid, "[Server]: Login failed, try again");
}
}
else
{
SENDMSG(playerid, COLOR_GREENLIGHT, "[Server]: This username is not found in the database, please use /register");
}
}
}
else
{
ERRORMSG(playerid, "[Server]: All the commands will be locked until you have typed the server password!");
}
return 1;
}