CMD:register(playerid,params[]) { if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,COL_GREEN,"» "CWHITE"You are already registered and logged in!"); new szPassword[24]; if(sscanf(params,"s[24]",szPassword)) return SendClientMessage(playerid,COL_BLUE,"USAGE: "CWHITE"/register (password)"); new szPass[24]; mysql_real_escape_string(szPassword,szPass); new PIP[16],TempQuery[450], day, month, year, hour, minute, second; GetPlayerIp(playerid,PIP,16); getdate(year,month,day); gettime(hour,minute,second); format(TempQuery, sizeof TempQuery,"INSERT INTO `"Users_Table"` (Username, Password, IP, Money, Score, Level, NitroType, Autofix, Fightstyle, SkinID, SB, AcceptPM, Kills, Deaths, Hours, Mins, Goto, Regged, LastOn) VALUES ('%s', sha1('%s'), '%s', '%i', '%i', '0', '0', '0', '0', '-1', '1', '1', '%i', '%i', '0', '0', '%i', '%02d.%02d.%02d','%02d.%02d.%02d at %02d:%02d:%02d')", GetPName(playerid),szPass,PIP,GetPlayerMoney(playerid),GetPlayerScore(playerid), PInfo[playerid][Kills],PInfo[playerid][Deaths], PInfo[playerid][GotoToggle], day,month,year,day,month,year,hour,minute,second); if(mysql_query(TempQuery)) SendClientMessage(playerid,COL_GREEN,"You have been successfully registered!"),PlaySound(playerid,1057); else SendClientMessage(playerid,COL_RED,"Some error occured while registering! Please contact the administrators."); PInfo[playerid][Logged] = 1; PInfo[playerid][Regged] = 1; PInfo[playerid][Skin] = -1; GameTextForPlayer(playerid,"~g~~h~You have received: ~n~~r~~h~+$5000 ~n~~r~~h~1000 score",5000,3); GivePlayerMoney(playerid,5000); SetPlayerScore(playerid,GetPlayerScore(playerid)+1000); ShowPlayerDialog(playerid,Emaildialog,1,"Email",""CWHITE"For security reason, we ask you to put in an email so you can recover your password in the future: \n","Accept","No Email"); return 1; }
CMD:register(playerid,params[]) { if(PInfo[playerid][Logged] == 1) return SendClientMessage(playerid,COL_GREEN,"» "CWHITE"You are already registered and logged in!"); new szPassword[24]; if(sscanf(params,"s[24]",szPassword)) return SendClientMessage(playerid,COL_BLUE,"USAGE: "CWHITE"/register (password)"); new szPass[24]; mysql_real_escape_string(szPassword,szPass); new PIP[16],TempQuery[450], day, month, year, hour, minute, second; GetPlayerIp(playerid,PIP,16); getdate(year,month,day); gettime(hour,minute,second); format(TempQuery, sizeof TempQuery,"INSERT INTO `"Users_Table"` (Username, Password, IP, Money, Score, Level, NitroType, Autofix, Fightstyle, SkinID, SB, AcceptPM, Kills, Deaths, Hours, Mins, Goto, Regged, LastOn) VALUES ('%s', sha1('%s'), '%s', '%i', '%i', '0', '0', '0', '0', '-1', '1', '1', '%i', '%i', '0', '0', '%i', '%02d.%02d.%02d','%02d.%02d.%02d at %02d:%02d:%02d')", GetPName(playerid),szPass,PIP,GetPlayerMoney(playerid),GetPlayerScore(playerid), PInfo[playerid][Kills],PInfo[playerid][Deaths], PInfo[playerid][GotoToggle], day,month,year,day,month,year,hour,minute,second); if(mysql_query(TempQuery)) SendClientMessage(playerid,COL_GREEN,"You have been successfully registered!"),PlaySound(playerid,1057); else SendClientMessage(playerid,COL_RED,"Some error occured while registering! Please contact the administrators."); PInfo[playerid][Logged] = 1; PInfo[playerid][Regged] = 1; PInfo[playerid][Skin] = -1; GameTextForPlayer(playerid,"~g~~h~You have received: ~n~~r~~h~+$5000 ~n~~r~~h~1000 score",5000,3); GivePlayerMoney(playerid,5000); SetPlayerScore(playerid,GetPlayerScore(playerid)+1000); ShowPlayerDialog(playerid,Emaildialog,1,"Email",""CWHITE"For security reason, we ask you to put in an email so you can recover your password in the future: \n","Accept","No Email"); return 1; }
if(strcmp(cmd, "/register", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, ERROR, "Use: /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, "Money", 2500);
dini_IntSet(file, "Score", 1);
dini_IntSet(file, "Bank", 1000);
dini_IntSet(file, "RobSkill", 1);
dini_IntSet(file, "TerSkill", 1);
dini_IntSet(file, "Admin", 0);
dini_IntSet(file, "Warnings", 0);
dini_IntSet(file, "WantedLevel", 0);
dini_IntSet(file, "Jail", 0);
dini_IntSet(file, "RentalOwner", 0);
dini_IntSet(file, "Drugs", 0);
dini_IntSet(file, "C4", 0);
dini_IntSet(file, "Skin", 0);
SendClientMessage(playerid, GREY, "Thanks for registering!");
SendClientMessage(playerid, GREY, "You may now login.");
SendClientMessage(playerid, GREY, "To do so, type: /login [PASSWORD]");
GameTextForPlayer(playerid, "~r~Registered!", 3000, 1);
}
else SendClientMessage(playerid, ERROR, "This account is already registered in our system. Use: /login [PASSWORD]");
return true;
}
if(strcmp(cmd, "/login", true) == 0)
{
new tmp2[256];
tmp = strtok(cmdtext, idx);
if(strlen(tmp) == 0) return SendClientMessage(playerid, ERROR, "Use: /login [PASSWORD]");
else
{
if(IsPlayerLogged[playerid] == 1) return SendClientMessage(playerid, ERROR, "You are already logged in.");
else
{
if(fexist(file))
{
tmp2 = dini_Get(file, "Password");
if(udb_hash(tmp) != strval(tmp2)) return SendClientMessage(playerid, ERROR, "Invalid password.");
else
{
IsPlayerLogged[playerid] = 1;
SetPlayerMoney(playerid, dini_Int(file, "Money"));
SetPlayerScore(playerid, dini_Int(file, "Score"));
PlayerSkin[playerid] = dini_Int(file,"Skin");
SetPlayerWantedLevel(playerid, dini_Int(file, "WantedLevel"));
SendClientMessage(playerid, GREEN, "You are now logged in.you have continue your stats has been automatique saved.");
GameTextForPlayer(playerid, "~r~Logged In!", 3000, 1);
}
}
else return SendClientMessage(playerid, ERROR, "This username was not found on our database. Use: /register [PASSWORD]");
}
}
return true;
}
try this n tell me if it worked :
PHP код:
|