GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: szilikee1998 - 2015. október 02. - 14:21:48

Cím: SQL fizetés script segítség.
Írta: szilikee1998 - 2015. október 02. - 14:21:48
Sziasztok  :wave:
Már néhányszor írtam, hogy elkezdtem írni egy szervert. A napokban a frakciórendszereket írogattam, miközben felmerült egy hiba.
Sehogy se tudom megoldani, hogy SQL táblából tudjam kiolvasni a fizetéseket.
Vagy más rang fizetését olvassa ki, vagy nem olvas ki semmit, vagy kiolvassa se nem ad összeget.
Megkérem szépen a fórumot nézegetőket, hogy segítsenek nekem ebben, mert már a tököm kivan az egésszel.
Előre is köszönöm.  :) :angel:
UI: a_mysql.inc -t használok :)
Cím: SQL fizetés script segítség.
Írta: adamhawkz - 2015. október 02. - 14:41:42
Írd ki legyél szíves a próbálkozásaidat, hogy eddig miből áll a lekérdező kódod, és úgy többet tudnék segíteni.
Cím: SQL fizetés script segítség.
Írta: szilikee1998 - 2015. október 02. - 15:11:20
Gondolom, hogy hülyeség amit összeírtam, de leírom, már csak ez van meg a probálkozásokból.
Amikor oda kéne adnia a játékosnak :
 

if(pInfo[playerid][pFrakcio] == 1 &&  pInfo[playerid][pRang] == 1)
{
SendClientMessage(playerid, FIZUSZIN, \"Megkaptad a fizetésed!\");
pInfo[playerid][pMoney] += Fizuosszeg;
Adatmentes(playerid);
}

 
Összeg lekérése:
 

stock Fizuosszeg(playerid)
{
new fizuid[128], osszeg[128];
    format(SQL_Input, sizeof(SQL_Input), \"SELECT * FROM fizuk WHERE Fizuid = \'%s\' , Osszeg = \'%s\'\", fizuid, osszeg);
if(pInfo[playerid][pFrakcio] == 1 && pInfo[pRang] == 1) fizuid = 1;
}
Cím: SQL fizetés script segítség.
Írta: adamhawkz - 2015. október 02. - 15:17:25
Nem tudom, hogy ezt így hogy gondoltad, de ez sehogy sem fog lekérdezni semmit az adatbázisból.
Cím: SQL fizetés script segítség.
Írta: szilikee1998 - 2015. október 02. - 15:22:40
Erre magamtól is rájöttem, ezért kértem segítséget  ^-^
Cím: SQL fizetés script segítség.
Írta: adamhawkz - 2015. október 02. - 15:24:10
Az egész folyamatot leírjam akkor, és elmagyarázzam?
Cím: SQL fizetés script segítség.
Írta: szilikee1998 - 2015. október 02. - 15:46:44
Azt meg köszönném ha el is magyaráznád, persze csak akkor ha nem rabolok sok időt az életedből. Köszi előre is  :$
Cím: SQL fizetés script segítség.
Írta: adamhawkz - 2015. október 03. - 09:05:55
Bocsi, de most nem igazán van időm, megpróbálom gyorsan leírni, hogy érthető legyen.
 
new mysql, query[1024];
forward OnPlayerGetPayment(playerid);
public OnGameModeInit()
{
    mysql = mysql_connect(\"hostname\", \"username\", \"database\", \"password\");
    return 1;
}
stock GetPayment(playerid, fizuid)
{
mysql_format(mysql, query, sizeof(query), \"SELECT osszeg FROM fizuk WHERE fizuid = \'%i\'\", fizuid);
        mysql_tquery(mysql, query, \"OnPlayerGetPayment\", \"i\", playerid);
}
public OnPlayerGetPayment(playerid)
{
pInfo[playerid][pPayment] = cache_get_field_content_int(0, \"osszeg\");
}

 
Ezekkel tudod lekérdezni a fizuid összegét. Használata pedig:
 
GetPayment(playerid, fizuid); // fizuid az SQL táblákban lévő fizuid oszlop értékeivel egyenlő (pl. 3)
// Ez után már a pInfo[playerid][pPayment]-ben fogja tárolni a fizetését, amit könnyen hozzáadhatsz a pénzéhez
Cím: SQL fizetés script segítség.
Írta: szilikee1998 - 2015. október 03. - 09:30:19
ezzel minden ok de innen, hogy találja ki hogy melyik rangnak mi a paymant id-je ?
Cím: SQL fizetés script segítség.
Írta: adamhawkz - 2015. október 03. - 11:57:39
Skype-n megbeszélve. Kód megoldva. pastebin.com