Szerző Téma: Nem tölti be az adatokat  (Megtekintve 862 alkalommal)

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Nem tölti be az adatokat
« Dátum: 2013. január 16. - 22:28:17 »
0 Show voters
Üdv, az lenne a gondom hogy Rupert adminrendszerébõl kiszedtem a reg/logint most csak az a gond h nem akarja betölteni a kivánt adatokat.
kód:
 
      if(dialogid == 1)
{
    if(!response) return Kick(playerid);
   if(GetPVarInt(playerid, \"LoggedIn\"))
   {
      SendClientMessage(playerid, COLOR_RED, \"Már be vagy lépve!\");
      return 1;
   }
   if(isnull(inputtext))
   {
      SendClientMessage(playerid, COLOR_RED, \"Be kell írnod a jelszód!\");
      ShowPlayerDialog(playerid,1, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
      return 1;
   }
   mysql_real_escape_string(inputtext, tmp); // \"Átvisszzük a karaktereket MySQL formába, hogy nemhogy hiba lesz\"... ( lol, ez aztán kurva értelmes :P )
   format(query, sizeof(query), \"SELECT * FROM `players` WHERE `name` = \'%s\' AND `pass` = \'%s\'\", pName(playerid), tmp);
   mysql_query(query);
   mysql_store_result();
   if(mysql_num_rows() != 1)
   {
      SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz jelszó.\");
      ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
      mysql_free_result();
      return 1;
   }
   else
   {
      new MyRegID;
      mysql_fetch_row(line);
      mysql_free_result();
      sscanf(line, \"p<|>d{s[24]s[16]s[30]s[24]s[24]d}\", MyRegID);
      SetPVarInt(playerid, \"RegID\", MyRegID);
   }
   // Az IP-t beállítjuk a jelenlegi IP-re, hogy az autologin menjen. A GetPlayerIp OnPlayerDisconnect-nél nem mûködik ( szarsággal tér vissza )
   GetPlayerIp(playerid, ip2, sizeof(ip2));
   format(query, sizeof(query), \"UPDATE `players` SET `ip` = \'%s\' WHERE `reg_id` = %d\", ip2, GetPVarInt(playerid, \"RegID\"));
   mysql_query(query);
   new RegDate[24], Laston[24];
   format(query, sizeof(query), \"SELECT `reg_date`, `laston` FROM `players` WHERE `reg_id` = %d\", GetPVarInt(playerid, \"RegID\")); // Kiválasztjuk a reg_date és a laston mezõt
   mysql_query(query);
   mysql_store_result();
   mysql_fetch_row(line); // Beleírjuk a line karakterláncba
   mysql_free_result();
   sscanf(line, \"p<|>s[24]s[24]\", RegDate, Laston);
    format(query,sizeof(query),\"SELECT `money`, `kills`, `deaths`,`warns`,`admin`,,`wanted`,`score`, FROM `players` WHERE `name` = \'%s\'\",pName(playerid));
   mysql_query(query);
   mysql_store_result();
   new Data[40];
   if(mysql_fetch_row_format(Data, \"|\"))
   {
        sscanf(Data, \"p<|>iiiiiii\",GivePlayerMoney(playerid,pInfo[playerid][Money]),pInfo[playerid][Kills],pInfo[playerid][Deaths],pInfo[playerid][warns],pInfo[playerid][aLevel],SetPlayerWantedLevel(playerid,pInfo[playerid][wanted]),SetPlayerScore(playerid,pInfo[playerid][score]));
    }
    logged[playerid] = 1;
    SendClientMessage(playerid,COLOR_GREEN,\"Sikeresen bejelentkeztél!\");
}

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #1 Dátum: 2013. január 17. - 15:48:51 »
0 Show voters
MySQL szervert futtatod?

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #2 Dátum: 2013. január 17. - 16:45:17 »
0 Show voters
igen , kilépésnél menti rendesen, csak amikor bejelentkezek akkor nem tölti be ezeket : pénz,pont,körözés

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #3 Dátum: 2013. január 17. - 17:29:27 »
0 Show voters
MIÉRT sscanf-ban adtál neki körözést, pontot + pénzt?? Azt majd akkor kell, amikor lespawnol...
Kijavítottam:
 

if(dialogid == 1)
                {
                    if(!response) return Kick(playerid);
                        if(GetPVarInt(playerid, \"LoggedIn\"))
                        {
                                SendClientMessage(playerid, COLOR_RED, \"Már be vagy lépve!\");
                                return 1;
                        }
                        if(isnull(inputtext))
                        {
                                SendClientMessage(playerid, COLOR_RED, \"Be kell írnod a jelszód!\");
                                ShowPlayerDialog(playerid,1, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
                                return 1;
                        }
                        mysql_real_escape_string(inputtext, tmp); // \"Átvisszzük a karaktereket MySQL formába, hogy nemhogy hiba lesz\"... ( lol, ez aztán k*rv* értelmes :P )
                        format(query, sizeof(query), \"SELECT * FROM `players` WHERE `name` = \'%s\' AND `pass` = \'%s\'\", pName(playerid), tmp);
                        mysql_query(query);
                        mysql_store_result();
                        if(mysql_num_rows() != 1)
                        {
                                SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz jelszó.\");
                                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
                                mysql_free_result();
                                return 1;
                        }
                        else
                        {
                                new MyRegID;
                                mysql_fetch_row(line);
                                mysql_free_result();
                                sscanf(line, \"p<|>d{s[24]s[16]s[30]s[24]s[24]d}\", MyRegID);
                                SetPVarInt(playerid, \"RegID\", MyRegID);
                        }
                        // Az IP-t beállítjuk a jelenlegi IP-re, hogy az autologin menjen. A GetPlayerIp OnPlayerDisconnect-nél nem mûködik ( sz*rsággal tér vissza )
                        GetPlayerIp(playerid, ip2, sizeof(ip2));
                        format(query, sizeof(query), \"UPDATE `players` SET `ip` = \'%s\' WHERE `reg_id` = %d\", ip2, GetPVarInt(playerid, \"RegID\"));
                        mysql_query(query);
                        new RegDate[24], Laston[24];
                        format(query, sizeof(query), \"SELECT `reg_date`, `laston` FROM `players` WHERE `reg_id` = %d\", GetPVarInt(playerid, \"RegID\")); // Kiválasztjuk a reg_date és a laston mezõt
                        mysql_query(query);
                        mysql_store_result();
                        mysql_fetch_row(line); // Beleírjuk a line karakterláncba
                        mysql_free_result();
                        sscanf(line, \"p<|>s[24]s[24]\", RegDate, Laston);
                        format(query,sizeof(query),\"SELECT `money`, `kills`, `deaths`,`warns`,`admin`,`wanted`,`score`, FROM `players` WHERE `name` = \'%s\'\",pName(playerid));
                        mysql_query(query);
                        mysql_store_result();
                        new Data[40];
                        if(mysql_fetch_row_format(Data, \"|\"))
                        {
                        sscanf(Data, \"p<|>iiiiiii\",pInfo[playerid][Money],pInfo[playerid][Kills],pInfo[playerid][Deaths],pInfo[playerid][warns],pInfo[playerid][aLevel],pInfo[playerid][wanted],pInfo[playerid][score]);
                    }
                    logged[playerid] = 1;
                    SendClientMessage(playerid,COLOR_GREEN,\"Sikeresen bejelentkeztél!\");
                }
« Utoljára szerkesztve: 2013. január 17. - 17:32:43 írta Rupert »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #4 Dátum: 2013. január 17. - 21:24:01 »
0 Show voters
még mindig nem tölti be :s , am nem lehet h a regnél el kurtam vlmit ?
 
      if(dialogid == 0)
{
    if(!response) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Regisztráció..\", \"Kérlek, írd be a leendõ jelszavad!\", \"OK\", \"Mégse\");
   if(isnull(inputtext))
   {
      SendClientMessage(playerid, COLOR_RED, \"Be kell írnod a jelszód!\");
      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Regisztráció..\", \"Kérlek, írd be a leendõ jelszavad!\", \"OK\", \"Mégse\");
      return 1;
   }
   if(strlen(inputtext) < 3 || strlen(inputtext) > 20)
   {
      SendClientMessage(playerid,-1, \"Rossz jelszó! | Hosszúság: 3 - 20\");
      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Regisztráció..\", \"Kérlek, írd be a leendõ jelszavad!\", \"OK\", \"Mégse\");
      return 1;
   }
   for(new i; i < strlen(inputtext); i++)
        {
      if(inputtext == \'|\') return SendClientMessage(playerid, COLOR_RED, \"Ez a karakter: {\" #XCOLOR_BLUE \"}| {\" #XCOLOR_RED \"}nem engedélyezett!\");
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, \"Regisztráció..\", \"Kérlek, írd be a leendõ jelszavad!\", \"OK\", \"Mégse\");
   }
   format(query, sizeof(query), \"SELECT `reg_id` FROM `players` WHERE `name` = \'%s\'\", pName(playerid));
   mysql_query(query);
   mysql_store_result();
   if(mysql_num_rows() != 0)
   {
      SendClientMessage(playerid, COLOR_RED, \"Probléma történt a mySQL-lel!\");
      SendClientMessage(playerid, COLOR_RED, \"Kérlek jelentsd a problémát az adminoknak.\");
      mysql_free_result();
      Kick(playerid);
      return 1;
   }
   mysql_free_result();
   new year,month,day,hour,minute,second;
   getdate(year, month, day);
   gettime(hour, minute, second);
   GetPlayerIp(playerid, ip2, sizeof(ip2));
   mysql_real_escape_string(inputtext, tmp); // Ez arra van, hogy ha speciális karatereket tartalmaz, akk azt átcsinálja az SQL-nek érthetõre
   // A jeszavak nicsenek titkosítva..
   format(query, sizeof(query), \"INSERT INTO `players`(reg_id, name, ip, pass, reg_date, laston) VALUES(0, \'%s\', \'%s\', \'%s\', \'%02d.%02d.%02d/%02d.%02d.%02d\', \'%02d.%02d.%02d/%02d.%02d.%02d\')\", pName(playerid), ip2, tmp, year, month, day, hour, minute, second, year, month, day, hour, minute, second);
   mysql_query(query);
   SetPVarInt(playerid, \"RegID\", mysql_insert_id()); // Játékos Regisztrációs ID-jét beállítuk arra, ameik sorba írtunk elõbb ( INSERT INTO )
   pInfo[playerid][Kills] = 0;
   pInfo[playerid][Deaths] = 0;
   pInfo[playerid][warns] = 0;
   SetPlayerScore(playerid,GetPlayerScore(playerid)+10);
   SetPlayerWantedLevel(playerid,pInfo[playerid][wanted]);
   SendClientMessage(playerid,COLOR_GREEN,\"Sikeresen regisztráltál!\");
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
}

 
 :shurg:

Nem tölti be az adatokat
« Válasz #5 Dátum: 2013. január 18. - 17:24:37 »
0 Show voters
Nézd meg a mysql_log ba hogy a betöltõ query helyes e?

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #6 Dátum: 2013. január 18. - 22:24:24 »
0 Show voters
ott mindenütt succesfully-t ír

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #7 Dátum: 2013. január 19. - 16:57:13 »
+1 Show voters
format(query,sizeof(query),\"SELECT `money`, `kills`, `deaths`,`warns`,`admin`,,`wanted`,`score`, FROM `players` WHERE `name` = \'%s\'\",pName(playerid));

 
admin után két vesszõ van, és mivel a score az utolsó mezõ amit kiválasztunk, nem kell utána vesszõ. Próbáld meg így:
 
format(query,sizeof(query),\"SELECT `money`, `kills`, `deaths`,`warns`,`admin`,`wanted`,`score` FROM `players` WHERE `name` = \'%s\'\",pName(playerid));

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Nem tölti be az adatokat
« Válasz #8 Dátum: 2013. január 20. - 14:48:17 »
0 Show voters
most betölti rendesen,köszönöm a segitséget!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal