- 0
Problema WP_HASH
-
Similar Content
-
- 2 replies
- 116 views
-
- 3 answers
- 176 views
-
- 11 replies
- 240 views
-
- 2 replies
- 129 views
-
- 2 answers
- 167 views
-
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
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.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts