Jump to content
  • 0

SavePlayerData, SetLevel, UpdatePlayerData


Tarzanus

Question

Problema intalnita (descriere): Mai jos

Ero(area / rile) / warning-(ul / urile): mai jos

Liniile de cod / sursa / script-ul(obligatoriu): mai jos

Imagini / Video (optional): -

Ati incercat sa rezolvati singur?: da

 

public LoadPlayerData(playerid)

{
    szQuery[0] = EOS;
/*if(!cache_get_row_count(Handle))
{
format(szQuery, 128, "{00FF00}Salut {FF0000}%s{00FF00}nAcest nume este inregistrat.n{FFFF00}Te rugam sa introduci parola.", GetName(playerid));
ShowPlayerDialog(playerid, L_DIALOG, DIALOG_STYLE_PASSWORD, "Logare", szQuery, "Logare", "Exit");
return 1;
}*/
PaccInfo[playerid][iD] = cache_get_field_content_int(0, "ID");
cache_get_field_content(0, "IP", PaccInfo[playerid][iP]);
cache_get_field_content(0, "Name", PaccInfo[playerid][Name]);
cache_get_field_content(0, "Password", PaccInfo[playerid][Password]);
PaccInfo[playerid][Money] = cache_get_field_content_int(0, "Money");
PaccInfo[playerid][Level] = cache_get_field_content_int(0, "Level");
PaccInfo[playerid][Vip] = cache_get_field_content_int(0, "VIP");
PaccInfo[playerid][Kills] = cache_get_field_content_int(0, "Kills");
PaccInfo[playerid][Deaths] = cache_get_field_content_int(0, "Deaths");
PaccInfo[playerid][Hours] = cache_get_field_content_int(0, "Hours");
PaccInfo[playerid][Mins] = cache_get_field_content_int(0, "Mins");
PaccInfo[playerid][secs] = cache_get_field_content_int(0, "Secs");
PaccInfo[playerid][LGIN] = 1;
format(szQuery, 128, "Bine ai revenit %s. Ai fost logat cu succes.", GetName(playerid));
SendClientMessage(playerid, LIGHTGREEN, szQuery);
return 1;
}

 

CMD:setlevel(playerid, params[])

{
if(PaccInfo[playerid][LGIN] == 1)
{
if(IsPlayerAdmin(playerid))
{
   szQuery[0] = EOS;
  new player1, level;
if(sscanf(params, "ud", player1, level)) return SendClientMessage(playerid, LIGHTBLUE2, "Usage: /setlevel [PlayerID] [Level]");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
{
if(PaccInfo[player1][LGIN] == 1)
{
if(level == PaccInfo[player1][Level]) return
SCM(playerid,red,"EROARE: Player-ul are deja acest level");
format(szQuery, 128, "Admin-ul %s ti-a setat level %d", GetName(playerid), level);
SCM(player1, LIGHTGREEN, szQuery);
PaccInfo[player1][Level] = level;
return 1;
}
else return SCM(playerid,red,"EROARE: Player-ul nu este logat/inregistrat");
}
else return SCM(playerid,red,"EROARE: Player-ul nu este conectat");
}
else return SCM(playerid,red,"EROARE: Nu ai level destul de mare pentru aceasta comanda");
}
else return SCM(playerid,red,"EROARE: Trebuie sa fii logat sa poti folosi comanda");
}

Si primesc erorile astea(dupa ce am reusit sa rezolv cu login/register)

 

[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')

[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
[22:04:41] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
[22:04:41] [ERROR] cache_get_field_content_int - invalid datatype
 
Edited by Tarzanus
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

LoadPlayerData de unde este apelat?

 

if(dialogid == R_DIALOG)

{
   if(!response) return Kick(playerid);
   szQuery[0] = EOS;
   if(strlen(inputtext) < 3)
   {
       format(szQuery, 128, "Salut %s, acest nume nu este inregistrat.nTe rugam sa introduci parola.nParola trebuie sa contina minim 3 caractere.", GetName(playerid));
ShowPlayerDialog(playerid, R_DIALOG, DIALOG_STYLE_PASSWORD, "Inregistrare", szQuery, "Inregistrare", "Exit");
return 1;
}
new PasswordHash[129];
WP_Hash(PasswordHash, 129, inputtext);
PaccInfo[playerid][iD] = cache_insert_id(Handle);
mysql_format(Handle, szQuery, 512, "INSERT INTO `users` (`Name`, `Password`, `IP`, `Money`, `Level`, `VIP`, `Kills`, `Deaths`, `Hours`, `Mins`, `Secs`) VALUES ('%e', '%e', '%e', 0, 0, 0, 0, 0, 0, 0, 0)", GetName(playerid), PasswordHash, GetIP(playerid));
mysql_tquery(Handle, szQuery, "", "");
SendClientMessage(playerid, LIGHTBLUE, "Te-ai inregistrat cu succes, ai fost logat automat.");
PaccInfo[playerid][LGIN] = 1;
   return 1;
}
 
if(dialogid == L_DIALOG)
{
   if(!response) return Kick(playerid);
  new PasswordHash[129];
WP_Hash(PasswordHash, sizeof(PasswordHash), inputtext);
   mysql_format(Handle, szQuery, 256, "SELECT * FROM `users` WHERE `Name` = '%e' AND `Password` = '%e' LIMIT 1;", GetName(playerid), PasswordHash);
mysql_tquery(Handle, szQuery, "LoadPlayerData", "d", playerid);
   return 1;
}
return 1;
Link to comment
Share on other sites

  • 0

De ce ai comentat

/*if(!cache_get_row_count(Handle))
{
format(szQuery, 128, "{00FF00}Salut {FF0000}%s{00FF00}nAcest nume este inregistrat.n{FFFF00}Te rugam sa introduci parola.", GetName(playerid));
ShowPlayerDialog(playerid, L_DIALOG, DIALOG_STYLE_PASSWORD, "Logare", szQuery, "Logare", "Exit");
return 1;
}*/

?

 

Tie iti trebuie asta, daca parola nu e corecta nu are de unde sa selecteze si o sa-ti dea erorile de mai sus.

Link to comment
Share on other sites

  • 0

De ce ai comentat

/*if(!cache_get_row_count(Handle))
{
format(szQuery, 128, "{00FF00}Salut {FF0000}%s{00FF00}nAcest nume este inregistrat.n{FFFF00}Te rugam sa introduci parola.", GetName(playerid));
ShowPlayerDialog(playerid, L_DIALOG, DIALOG_STYLE_PASSWORD, "Logare", szQuery, "Logare", "Exit");
return 1;
}*/

?

 

Tie iti trebuie asta, daca parola nu e corecta nu are de unde sa selecteze si o sa-ti dea erorile de mai sus.

Cand dau sa ma loghez, pun parola, dar iar imi apare sa ma loghez pana la infinit, nu ma spawneaza, nu pot alege class-ul.

Link to comment
Share on other sites

  • 0

Da partea de cod unde faci logarea, asta include dialogurile si ce se afla la OnDialogResponse.

 

   if(dialogid == L_DIALOGs) return 1;

if(dialogid == R_DIALOG)
{
   if(!response) return Kick(playerid);
   szQuery[0] = EOS;
   if(strlen(inputtext) < 3)
   {
       format(szQuery, 128, "Salut %s, acest nume nu este inregistrat.nTe rugam sa introduci parola.nParola trebuie sa contina minim 3 caractere.", GetName(playerid));
ShowPlayerDialog(playerid, R_DIALOG, DIALOG_STYLE_PASSWORD, "Inregistrare", szQuery, "Inregistrare", "Exit");
return 1;
}
new PasswordHash[129];
WP_Hash(PasswordHash, 129, inputtext);
mysql_format(Handle, szQuery, 512, "INSERT INTO `users` (`Name`, `Password`, `IP`, `Money`, `Level`, `VIP`, `Kills`, `Deaths`, `Hours`, `Mins`, `Secs`) VALUES ('%e', '%e', '%e', 0, 0, 0, 0, 0, 0, 0, 0)", GetName(playerid), PasswordHash, GetIP(playerid));
mysql_tquery(Handle, szQuery, "", "");
SendClientMessage(playerid, LIGHTBLUE, "Te-ai inregistrat cu succes. Server-ul te-a logat automat.");
PaccInfo[playerid][LGIN] = 1;
   return 1;
}
 
if(dialogid == L_DIALOG)
{
   if(!response) return Kick(playerid);
   new PasswordHash[129];
WP_Hash(PasswordHash, sizeof(PasswordHash), inputtext);
      szQuery[0] = EOS;
mysql_format(Handle, szQuery, 256, "SELECT * FROM `users` WHERE `Name` = '%e' AND `Password` = '%e' LIMIT 1;", GetName(playerid), PasswordHash);
mysql_tquery(Handle, szQuery, "LoadPlayerData", "d", playerid);
   return 1;
}
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

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.