Szerző Téma: mysql banolás lekérdezése  (Megtekintve 1486 alkalommal)

mysql banolás lekérdezése
« Dátum: 2013. Március 27. - 16:07:30 »
+1
Sziasztok
Segítséget szeretnék kérni hogy hogy is lehetne lekérni hogy banolva van-e a játékos de valamiért mindig azt írja hogy banolva van akkor is amikor nincs
így próbáltam leellenõrizni:
 
    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;
    }

mysql banolás lekérdezése
« Válasz #1 Dátum: 2013. Március 27. - 16:26:43 »
0
A mysql_function_query alá:
 
samp_mysql_store_result();

mysql banolás lekérdezése
« Válasz #2 Dátum: 2013. Március 27. - 17:02:57 »
+1
Idézetet írta: gergo107 date=1364398003\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"35323\" data-ipsquote-contentclass=\"forums_Topic
A mysql_function_query alá:
 
samp_mysql_store_result();

 

ez nem  mysql_store_result(); akar lenni?
E: nincs semmi változás, ugyanúgy kiírja hogy banolva vagyok
« Utoljára szerkesztve: 2013. Március 27. - 17:10:39 írta $$David$$ »

mysql banolás lekérdezése
« Válasz #3 Dátum: 2013. Március 27. - 17:55:56 »
0
Attól függ hogy melyik mysql-t használod, ha az alap akkor samp_mysql_store_result ha meg a másik akkor pedig simán mysql_store_result

Dupla hozzászólás automatikusan összefûzve. ( 2013. Március 27. - 17:58:25 )

a
return 1;

-et a SendClientMessage alá tedd, és ahol MOST van a
return 1;

 oda pedig
return 0;

-át

Dupla hozzászólás automatikusan összefûzve. ( 2013. Március 27. - 17:59:27 )

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;
    }
« Utoljára szerkesztve: 2013. Március 27. - 17:59:27 írta gergo107 »

mysql banolás lekérdezése
« Válasz #4 Dátum: 2013. Március 27. - 18:17:56 »
+1
még mindig semmi változás
azt írja hogy banolva vagyok pedig a nevem nincs a bans táblában
« Utoljára szerkesztve: 2013. Március 27. - 18:19:49 írta $$David$$ »

mysql banolás lekérdezése
« Válasz #5 Dátum: 2013. Március 27. - 19:07:09 »
0
Hát pedig így nem nagyon tudok segíteni, talán ha ez egészet látnám

mysql banolás lekérdezése
« Válasz #6 Dátum: 2013. Március 27. - 20:00:43 »
+1
Az ip címed viszont lehet hogy ott van.
 
OR `ip`=\'%s\'[/quote]  (vagy)

Nem elérhető Benx

mysql banolás lekérdezése
« Válasz #7 Dátum: 2013. Március 27. - 20:29:55 »
0
Próbáld meg nyugodtan, ha nem jó akkor bocs.

http://weblabor.hu/forumok/temak/113411

mysql banolás lekérdezése
« Válasz #8 Dátum: 2013. Március 28. - 08:14:52 »
+1
Idézetet írta: gergo107 date=1364407629\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"35323\" data-ipsquote-contentclass=\"forums_Topic
Hát pedig így nem nagyon tudok segíteni, talán ha ez egészet látnám
 
Mond hogy mi kell és bemásolom
 

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
« Utoljára szerkesztve: 2013. Március 29. - 15:28:33 írta $$David$$ »

mysql banolás lekérdezése
« Válasz #9 Dátum: 2013. Március 30. - 11:53:09 »
+1
az lehetséges hogy azért nem mûködik mert nem jól hoztam létre a bans táblát?



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 ;
« Utoljára szerkesztve: 2013. Március 30. - 11:55:23 írta $$David$$ »

mysql banolás lekérdezése
« Válasz #10 Dátum: 2013. Március 30. - 12:15:52 »
+1
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);
public
CheckBan(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();
}

mysql banolás lekérdezése
« Válasz #11 Dátum: 2013. Március 30. - 12:26:10 »
+1
Idézetet írta: ɐʞzssǝlosz date=1364642152\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"35323\" data-ipsquote-contentclass=\"forums_Topic
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);
public
CheckBan(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();
}

 

Jó lett  :thumbsup:
nagyon szépen köszönöm  ;D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal