stock BanolvaVan(playerid) { new IP[16]; GetPlayerIp(playerid, IP, sizeof(IP)); format(g_szQuery, 256, \"SELECT * FROM `bans` WHERE `player` = \'%s\' OR `ip`=\'%s\'\", pName(playerid), IP); mysql_function_query(1, g_szQuery, false, \"OnQueryFinish\", \"\"); if(mysql_num_rows() != 0) { SendClientMessage(playerid, RED,\"=========BANNOLVA VAGY==========\"); } return 1; }
samp_mysql_store_result();
A mysql_function_query alá: samp_mysql_store_result();
return 1;
return 0;
stock BanolvaVan(playerid) { new IP[16]; GetPlayerIp(playerid, IP, sizeof(IP)); format(g_szQuery, 256, \"SELECT * FROM `bans` WHERE `player` = \'%s\' OR `ip`=\'%s\'\", pName(playerid), IP); mysql_function_query(1, g_szQuery, false, \"OnQueryFinish\", \"\"); if(mysql_num_rows() != 0) { SendClientMessage(playerid, RED,\"=========BANNOLVA VAGY==========\");return 1; } return 0; }
OR `ip`=\'%s\'[/quote] (vagy)
Hát pedig így nem nagyon tudok segíteni, talán ha ez egészet látnám
Az ip címed viszont lehet hogy ott van. OR `ip`=\'%s\'[/quote] (vagy)[/quote]Tesztelés elõtt kiürítettem az egész bans táblát úgyhogy nincs ip se
OR `ip`=\'%s\'[/quote] (vagy)[/quote]Tesztelés elõtt kiürítettem az egész bans táblát úgyhogy nincs ip se
CREATE TABLE IF NOT EXISTS `bans` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player` varchar(24) NOT NULL, `reg_id` int(11) NOT NULL, `ip` varchar(16) NOT NULL, `admin` varchar(24) NOT NULL, `indok` text NOT NULL, `time` varchar(24) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
stock BanolvaVan(playerid){new IP[16];GetPlayerIp(playerid, IP, sizeof(IP));format(g_szQuery, 256, \"SELECT * FROM `bans` WHERE `player` = \'%s\' OR `ip`=\'%s\'\", pName(playerid), IP);mysql_function_query(1, g_szQuery, false, \"CheckBan\", \"d\", playerid); // ..., a playerid érték tovább küldése is}forward CheckBan(playerid);publicCheckBan(playerid){mysql_store_result();if(mysql_num_rows() > 0){SendClientMessage(playerid, RED,\"=========BANNOLVA VAGY==========\");// SetTimer ( Kick(playerid) // mert persze ezt is basszák javítani, de vissza-vissza kell nézni a fórumra újabb verzióért (jha majd egy év múlva talán)} else { // LoginPlayer}mysql_free_result();}
Melyik verziót használod mysql pluginból?Úgy látom hogy a vissza csatlakozás elõtt a plugin nem állítja le a futást így lekési a visszatérést. Thread módon tudod csak megoldani.Szóval egyelõre a return 0 return 1-el nem tudod megvalósítani.Thread megoldásban meg egyszerûen kihelyezed azokat a dolgokat amiket szeretnéd hogy történjenek. stock BanolvaVan(playerid){new IP[16];GetPlayerIp(playerid, IP, sizeof(IP));format(g_szQuery, 256, \"SELECT * FROM `bans` WHERE `player` = \'%s\' OR `ip`=\'%s\'\", pName(playerid), IP);mysql_function_query(1, g_szQuery, false, \"CheckBan\", \"d\", playerid); // ..., a playerid érték tovább küldése is}forward CheckBan(playerid);publicCheckBan(playerid){mysql_store_result();if(mysql_num_rows() > 0){SendClientMessage(playerid, RED,\"=========BANNOLVA VAGY==========\");// SetTimer ( Kick(playerid) // mert persze ezt is basszák javítani, de vissza-vissza kell nézni a fórumra újabb verzióért (jha majd egy év múlva talán)} else { // LoginPlayer}mysql_free_result();}