- 0
Problema WP_HASH
-
Similar Content
-
- 3 replies
- 162 views
-
- 1 reply
- 159 views
-
- 1 answer
- 456 views
-
- 6 replies
- 511 views
-
- 4 replies
- 448 views
-
-
Recently Browsing 0 members
- No registered users viewing this page.
Question
Andrey23.
Problema intalnita (descriere):criptarea parolei
Ero(area / rile) / warning-(ul / urile):gamemode`ul cripteaza parola wp_hash dar baza de date nu o citeste daca este criptata si cand intru pe server nu ma pot conecta.
Liniile de cod / sursa / script-ul(obligatoriu):
/* - [ Cript Password ] - */
native WP_Hash(buffer[], len, const str[]);
public MySQLCreateAccount(newplayersname[], newpassword[], playerid)
{
new query[300],
sqlplyname[64],
parolacript[129],
admininfo[128];
mysql_real_escape_string(newplayersname, sqlplyname);
WP_Hash(parolacript, sizeof(parolacript), newpassword);
format(query, sizeof(query), "INSERT INTO players (Name, Password) VALUES ('%s', '%s')", sqlplyname, parolacript);
mysql_query(query);
Registerr[playerid] = 2;
mysql_free_result();
format(admininfo, sizeof(admininfo), "* New account: %s *", sqlplyname);
ABroadCast(COLOR_LIGHTRED, admininfo, 1);
new newplayersid = MySQLCheckAccount(newplayersname);
if (newplayersid != 0)
{
return newplayersid;
}
return 0;
}
public OnPlayerLogin(playerid, password[])
{
new hour, minute, second, year, month, day, string[256], parolacript[129], Query[512], ip_string[64];
KillTimer(WaitingLOGIN[playerid]);
gettime(hour, minute, second);
getdate(year, month, day);
GetPlayerIp(playerid, ip_string, sizeof(ip_string));
MySQLCheckConnection();
WP_Hash(parolacript, sizeof(parolacript), password);
MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
if(!strcmp(PlayerInfo[playerid][pKey], parolacript, false) && strlen(parolacript) != 0)
{
format(Query, sizeof(Query), "SELECT * FROM players WHERE id = '%d'", PlayerInfo[playerid][pSQLID]);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows())
if(mysql_fetch_row_format(Query,"|"))
{
sscanf(Query, "p<|>e<is[24]s[129]iiiiiiiiiiiiiiiis[24]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii>",PlayerInfo[playerid]);
}
MySQLUltLog(PlayerInfo[playerid][pSQLID], "MarriedTo", PlayerInfo[playerid][pMarriedTo]);
mysql_store_result();
MySQLUltLog(PlayerInfo[playerid][pSQLID], "Email", PlayerInfo[playerid][pEmail]);
mysql_store_result();
}
else
{
gPlayerLogTries[playerid] += 1;
format(string, sizeof(string), "- Incorrect password for this account: [{95A3FF}%s{BECBFC}].\n\n- Attempts remaining: [%d/3].\n\n- Please enter your password carefully.", GetName(playerid), gPlayerLogTries[playerid]);
ShowPlayerDialog(playerid, 12347, DIALOG_STYLE_PASSWORD, "Login Account", string, "Login", "Exit");
if(gPlayerLogTries[playerid] == 3) { Kick(playerid); }
return 1;
}
if(PlayerInfo[playerid][pReg] == 0)
{
PlayerInfo[playerid][pReg] = 1;
PlayerInfo[playerid][pInt] = 0;
PlayerInfo[playerid][pLocal] = -1;
PlayerInfo[playerid][pHealth] = 100;
PlayerInfo[playerid][pTeam] = 3;
PlayerInfo[playerid][pModel] = 74;
new randphone = 1000000 + random(8999999);
PlayerInfo[playerid][pPnumber] = randphone;
PlayerInfo[playerid][pPhousekey] = -1;
PlayerInfo[playerid][pPbiskey] = 255;
PlayerInfo[playerid][pLocked] = 0;
PlayerInfo[playerid][pLevel] = ServerConfig[1][sPStartLevel];
PlayerInfo[playerid][pCash] = ServerConfig[1][sPMoneyCash];
PlayerInfo[playerid][pAccount] = ServerConfig[1][SPBankCash];
new var[768];
{
format(var, sizeof(var), "UPDATE `players` SET `Registered` = '%d',`Inte`='%d',`Local`='%d',`pHealth`='100',`Team`='%d',`Model`='%d',`PhoneNr`='%d',`House`='%d',`Bizz`='%d',`Locked`='%d',`PlayerLevel`='%d',`Money`='%d',`Bank`='%d' WHERE `Name`='%s'",
PlayerInfo[playerid][pReg],
PlayerInfo[playerid][pInt],
PlayerInfo[playerid][pLocal],
PlayerInfo[playerid][pTeam],
PlayerInfo[playerid][pModel],
PlayerInfo[playerid][pPnumber],
PlayerInfo[playerid][pPhousekey],
PlayerInfo[playerid][pPbiskey],
PlayerInfo[playerid][pLocked],
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pCash],
PlayerInfo[playerid][pAccount],
GetName(playerid));
mysql_query(var);
}
}
if(Registerr[playerid] == 2)
{
Registerr[playerid] = 0;
format(Query, sizeof(Query), "UPDATE players SET `DateReg` = '%02d:%02d:%d %02d/%02d/%02d' WHERE `Name` = '%s'", hour, minute, second, day, month, year, GetName(playerid));
mysql_query(Query);
}
if(PlayerInfo[playerid][pAllowed] == 0)
{
for(new i = 1; i <= maxim;i++)
{
if(strfind(ip_string, BanData[xIp], true) != -1)
{
SendClientMessage(playerid, COLOR_WHITE, "Server: {FF0000}Ai primit ban pe aceasta clasa de ip.");
SendClientMessage(playerid, COLOR_LIGHTRED, "Pentru unban viziteaza www.skiTTer.ro");
Kick(playerid);
return 1;
}
}
}
if(!strcmp(cmd, "/offchangepassword", true)) {
if(IsPlayerConnected(playerid)) {
if(gPlayerLogged[playerid] == 1) {
if(IsPlayerAdmin(playerid)) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
if(PlayerInfo[playerid][pLimba] == 1) { SendClientMessage(playerid, COLOR_WHITE, "Comanda: /offchangepassword [ Nume Cont [ Complet ] ] [ Noua Parola ]"); }
else if(PlayerInfo[playerid][pLimba] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Command: /offchangepassword [ Account Name [ Complet ] [ New Password ]"); }
return true;
}
new tmp2[256];
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp2)) {
if(PlayerInfo[playerid][pLimba] == 1) { SendClientMessage(playerid, COLOR_WHITE, "Comanda: /offchangepassword [ Nume Cont [ Complet ] ] [ Noua Parola ]"); }
else if(PlayerInfo[playerid][pLimba] == 2) { SendClientMessage(playerid, COLOR_WHITE, "Command: /offchangepassword [ Account Name [ Complet ] [ New Password ]"); }
return true;
}
new CheckAccount = MySQLCheckAccount(tmp);
if(CheckAccount) {
new parolacript[129];
WP_Hash(parolacript, sizeof(parolacript), tmp2);
new QueryUpdate_Here[255], InfoString_Here[128];
format(QueryUpdate_Here, sizeof(QueryUpdate_Here), "UPDATE players SET Password = '%s' WHERE Name = '%s'", parolacript, tmp);
mysql_query(QueryUpdate_Here);
if(PlayerInfo[playerid][pLimba] == 1) { format(InfoString_Here, sizeof(InfoString_Here), "AdmCmd: Parola contului %s a fost schimbata cu succes ! Noua parola este %s.", tmp, tmp2); }
else if(PlayerInfo[playerid][pLimba] == 2) { format(InfoString_Here, sizeof(InfoString_Here), "AdmCmd: %s account password was changed successfully ! New password is %s.", tmp, tmp2); }
SendClientMessage(playerid, COLOR_STAFF_INFO, InfoString_Here);
return true;
} else {
if(PlayerInfo[playerid][pLimba] == 1) { SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "Acest cont nu exista !"); }
else if(PlayerInfo[playerid][pLimba] == 2) { SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "This account does not exist !"); }
return true;
}
} else {
if(PlayerInfo[playerid][pLimba] == 1) { SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "Eroare: Nivelul tau de admin nu este suficient de mare pentru a folosi aceasta comanda."); }
else if(PlayerInfo[playerid][pLimba] == 2) { SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "Error: Your admin level isn't high enough to use this command."); }
return true;
}
} else {
if(PlayerInfo[playerid][pLimba] == 1) {SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "Nu esti conectat !"); }
else if(PlayerInfo[playerid][pLimba] == 2) {SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "You are not logged in !"); }
return true;
}
}
return false;
}
if(!strcmp(cmd, "/changepass", true)) {
if(IsPlayerConnected(playerid)) {
if(gPlayerLogged[playerid] == 1) {
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[20];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
for(new s = 0; s < num_words; s++)
{
new pos;
while((pos = strfind(result,Swears,true)) != -1) for(new i = pos, j = pos + strlen(Swears); i < j; i++)
{
result = '*';
}
}
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_USE_COMMAND, "Command: /changepassword [ Password ]");
return 1;
}
new ok = 1;
for(new i=0;i<strlen(result);i++)
{
if(!IsALetter(result))
ok = 0;
}
if(ok == 0)
{
SendClientMessage(playerid, COLOR_USE_COMMAND, "Command: /changepassword [ Password ]");
return 1;
}
else
{
new parolacript2[129],
adminfo[128];
strmid(PlayerInfo[playerid][pKey], result, 0, strlen(result), 999);
WP_Hash(parolacript2, sizeof(parolacript2), result);
new QueryUpdate_Here[255];
format(QueryUpdate_Here, sizeof(QueryUpdate_Here), "UPDATE players SET Password = '%s' WHERE id = '%d'", parolacript2, PlayerInfo[playerid][pSQLID]);
mysql_query(QueryUpdate_Here);
SendClientMessage(playerid, COLOR_WHITE, "Password has been changed successfuly.");
GetPlayerName(playerid, playername, sizeof(playername));
format(adminfo, sizeof(adminfo), "AdmWarning: Player %s changed password.", playername);
ABroadCast(COLOR_LIGHTRED, adminfo, 1);
return 1;
}
} else {
SendClientMessage(playerid, COLOR_ERROR_PARAMETERS, "You are not logged in !");
return 1;
}
}
return false;
}
Imagini /Video (optional):
Ati incercat sa rezolvati singur?:da am incercat am sters de peste tot wp_hash si parolacript. si ce mai era legat de cripate si dupa mi`a dat 22 de erori si m-am dat batut.
Respecta si vei fi respectat.
2 answers to this question
Recommended Posts