#define SendFormatMessage(%1,%2,%3,%4) SendClientMessage(%1,(%2),(format(sendfstring,256,(%3),%4), sendfstring))CMD:karakterlista(playerid){mysql_query(g_SQL, \"SELECT pName FROM `jatekosok`\");// if(!cache_num_rows()) return SendClientMessage(playerid, -1, #Nincsenek elérhető karakterek);new i = -1, var_pName[MAX_PLAYER_NAME];for(;++i < cache_num_rows(){ cache_get_field_content(i, \"pName\", var_pName, g_SQL, MAX_PLAYER_NAME); SendFormatMessage(playerid, -1, #Karakter Név: %s, var_pName);}if((cache_num_rows()) ? SendFormatMessage(playerid, -1, #Összesen %i karakter van az adatbázisban., cache_num_rows()) : SendClientMessage(playerid, -1, #Nincsenek az adatbázisban karakterek!)) { return true; }return true;}
new query[128];Format(query, \"SELECT * FROM %s WHERE id = \'%d\'\", SQL_DB_Player, PlayerInfo[playerid][pID]);mysql_query(query);new datas[MAX_MYSQL_STRING];new data[200][256];mysql_store_result();mysql_fetch_row(datas, \"|\");mysql_free_result();split(datas, data, \'|\');PlayerInfo[playerid][pLevel] = strval(data[3]);
Brian_Harris|jelszohashkodolas|31|...[/quote]szóval ha te a szintemet akarod lekérdezni akkor data[2] fogod elérni, itt a tied: PlayerInfo[playerid][pLevel] = strval(data[3]);[/quote]A data 3 azt jelzi, hogy a tábla struktúrában, a 3. oszlop a szint( Ha már itt írod a data[4]-re akkor a 4. oszlop fog betöltődni!)A problémádra visszatérve, a lekérdezést kell módosítani, a Whadez általi megoldásra, de mivel SeeMód és egyből nem ment a rendszer így egyszerűbb ez, mert ha van az adatbázisba 312412 játékos aki 5 lvl és te kilistázod mind a 312412 játékost semmit se fogsz látni, sőt ha nem atomerőművel játszol ki is fagyhatsz. new str[128];for(new x = 0; x<MAXPLAYERS;x++){ if(PlayerInfo[pLevel] == 5) { format(str, sizeof(str), \"Név: [%d] %s | Szint: [%d]\",x, PlayerNameEx(x), PlayerInfo[pLevel]); SendClientMessage(playerid, -1, str); }} Szerk:A Whadezébe módosíts, ha továbbra is az offline tagokat akarod kilistázni, így: format(uzenet,sizeof(uzenet), \"SELECT pName FROM `jatekosok` WHERE Szint=\'5\'\");
PlayerInfo[playerid][pLevel] = strval(data[3]);[/quote]A data 3 azt jelzi, hogy a tábla struktúrában, a 3. oszlop a szint( Ha már itt írod a data[4]-re akkor a 4. oszlop fog betöltődni!)A problémádra visszatérve, a lekérdezést kell módosítani, a Whadez általi megoldásra, de mivel SeeMód és egyből nem ment a rendszer így egyszerűbb ez, mert ha van az adatbázisba 312412 játékos aki 5 lvl és te kilistázod mind a 312412 játékost semmit se fogsz látni, sőt ha nem atomerőművel játszol ki is fagyhatsz. new str[128];for(new x = 0; x<MAXPLAYERS;x++){ if(PlayerInfo[pLevel] == 5) { format(str, sizeof(str), \"Név: [%d] %s | Szint: [%d]\",x, PlayerNameEx(x), PlayerInfo[pLevel]); SendClientMessage(playerid, -1, str); }} Szerk:A Whadezébe módosíts, ha továbbra is az offline tagokat akarod kilistázni, így: format(uzenet,sizeof(uzenet), \"SELECT pName FROM `jatekosok` WHERE Szint=\'5\'\");
new str[128];for(new x = 0; x<MAXPLAYERS;x++){ if(PlayerInfo
format(uzenet,sizeof(uzenet), \"SELECT pName FROM `jatekosok` WHERE Szint=\'5\'\");