Bõvíthetnéd mondjuk egy átutalással.
Áttanulmányozom, hátha megértek valamit mysql-bõl..Szép [/quote]Sok Sikert! Köszi.Frissítés!• Átutalás más játékosnak
Teszteltem, marha jó :thumbsup:
d:\\SZERVER\\filterscripts\\bank.pwn(144) : error 001: expected token: \"-string end-\", but found \"-identifier-\"d:\\SZERVER\\filterscripts\\bank.pwn(144) : error 017: undefined symbol \"j\"d:\\SZERVER\\filterscripts\\bank.pwn(144) : error 029: invalid expression, assumed zerod:\\SZERVER\\filterscripts\\bank.pwn(144) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors.
/* MYSQL BANK RENDSZER Készítette: Szabó Gábor( Gabor.. ) Dátum: 2012.08.05 , 13:15 Utolsó frissítés: 2012.08.22 , 19:25 */ #include < a_samp > #include < a_mysql > #include < zcmd > #include < sscanf2 > // Kapcsolódási Adatok, ide írd az adatbázisod adatait. #define MYSQL_HOST \"\" #define MYSQL_PASS \"\" #define MYSQL_USER \"\" #define MYSQL_DB \"\" new g_szQuery[ 512 + 1 ], g_szFormat[ 200 + 1 ]; public OnFilterScriptInit( ) { mysql_connect( MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS ); print( \"Gabor\'s MYSQL_BANK: Kapcsolodas a(z) \"MYSQL_HOST\" nevu hostra, \"MYSQL_USER\" nevu felhasznaloval.\" ); if( mysql_ping( ) != 1 ) { print( \"Gabor\'s MYSQL_BANK: Kapcsolat sikertelen \"MYSQL_USER\" felhasznaloval.\" ); return 1; } print( \"Gabor\'s MYSQL_BANK: Kapcsolat sikeres \"MYSQL_USER\" nevu felhasznaloval.\" ); return 1; } public OnPlayerSpawn( playerid ) { format( g_szQuery, sizeof( g_szQuery ), \"SELECT `Amount` FROM `bank` WHERE `Name` = \'%s\'\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, true, \"BankCashLoad\", \"d\", playerid ); return 1; } CMD:createacc( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 0 ) { format( g_szQuery, sizeof( g_szQuery ), \"INSERT INTO `bank`(Name, Amount) VALUES(\'%s\', \'0\')\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinsh\", \"\" ); SendClientMessage( playerid, 0xFF0000AA, \"-> Bankszámlád létrehozva.\" ); SetPVarInt( playerid, \"Bankszamla\", 1 ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Van már számlád!\" ); return 1; } CMD:deposit( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iAmount; if( sscanf( params, \"i\", iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /deposit < Összeg >\" ); if( iAmount > GetPlayerMoney( playerid ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs ennyi pénzed kézben!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) + iAmount ); GivePlayerMoney( playerid, - iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%d\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"Betettél a bankszámládra $%d-t. Új egyenleged: $%d\", iAmount, GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1; } CMD:withdraw( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iAmount; if( sscanf( params, \"i\", iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /deposit < Összeg >\" ); if( iAmount > GetPVarInt( playerid, \"Bank\" ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs ennyi pénzed kéznél!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) - iAmount ); GivePlayerMoney( playerid, iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%d\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"Kivettél a számládról $%d-t. Új egyenleged: $%d\", iAmount, GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1; } CMD:transfer( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iPlayer, iAmount; if( sscanf( params, \"ui\", iPlayer, iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /transfer < Játékos ID/Név > < Összeg >\" ); if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen azonosító.\" ); if( iPlayer == playerid ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak nem utalhatsz.\" ); if( GetPVarInt( iPlayer, \"Bankszamla\" ) == 0 ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Ennek a játékosnak nincsen bankszámlája!\" ); if( GetPVarInt( playerid, \"Bank\" ) < iAmount ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs a számládon ennyi pénz!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) - iAmount ); SetPVarInt( iPlayer, \"Bank\", GetPVarInt( iPlayer, \"Bank\" ) + iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%s\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%s\' WHERE `Name` = \'%s\'\", GetPVarInt( iPlayer, \"Bank\" ), szName( iPlayer ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"%s(%d) Küldött neked $%d-t, a bankszámládra.\", szName( playerid ), playerid, iAmount ); SendClientMessage( iPlayer, 0xbad920AA, g_szFormat ); format( g_szFormat, sizeof( g_szFormat ), \"Küldtél %s(%d) nevu\" játékosnak $%d-t a bankszámlájára.\", szName( iPlayer ), iPlayer, iAmount ); SendClientMessage( iPlayer, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1; } CMD:deleteacc( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { format( g_szQuery, sizeof( g_szQuery ), \"DELETE FROM `bank` WHERE `Name` = \'%s\'\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); SetPVarInt( playerid, \"Bankszamla\", 0 ); SendClientMessage( playerid, 0xbad920AA, \"Bankszámlád törölve.\" ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1; } CMD:balance( playerid, params[] ) { if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { format( g_szFormat, sizeof( g_szFormat ), \"Banki egyenleged: $%d\", GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1; } forward BankCashLoad( playerid ); public BankCashLoad( playerid ) { new szFetch[ 12 ], iRows, iFields; cache_get_data( iRows, iFields ); if( iRows != 0 ) { cache_get_row( 0, 0, szFetch ); SetPVarInt( playerid, \"Bank\", strval( szFetch ) ); SetPVarInt( playerid, \"Bankszamla\", 1 ); } else { SetPVarInt( playerid, \"Bankszamla\", 0 ); } return 1; } forward OnQueryFinish( ); public OnQueryFinish( ) { return 1; } stock szName( playerid ) { static s_szName[ MAX_PLAYER_NAME ]; GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME ); return s_szName; }
/* MYSQL BANK RENDSZER Készítette: Szabó Gábor( Gabor.. ) Dátum: 2012.08.05 , 13:15 Utolsó frissítés: 2012.08.22 , 19:25*/ #include < a_samp >#include < a_mysql >#include < zcmd >#include < sscanf2 > // Kapcsolódási Adatok, ide írd az adatbázisod adatait.#define MYSQL_HOST \"\"#define MYSQL_PASS \"\"#define MYSQL_USER \"\"#define MYSQL_DB \"\" new g_szQuery[ 512 + 1 ], g_szFormat[ 200 + 1 ];public OnFilterScriptInit( ){ mysql_connect( MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS ); print( \"Gabor\'s MYSQL_BANK: Kapcsolodas a(z) \"MYSQL_HOST\" nevu hostra, \"MYSQL_USER\" nevu felhasznaloval.\" ); if( mysql_ping( ) != 1 ) { print( \"Gabor\'s MYSQL_BANK: Kapcsolat sikertelen \"MYSQL_USER\" felhasznaloval.\" ); return 1; } print( \"Gabor\'s MYSQL_BANK: Kapcsolat sikeres \"MYSQL_USER\" nevu felhasznaloval.\" ); return 1;} public OnPlayerSpawn( playerid ){ format( g_szQuery, sizeof( g_szQuery ), \"SELECT `Amount` FROM `bank` WHERE `Name` = \'%s\'\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, true, \"BankCashLoad\", \"d\", playerid ); return 1;} CMD:createacc( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 0 ) { format( g_szQuery, sizeof( g_szQuery ), \"INSERT INTO `bank`(Name, Amount) VALUES(\'%s\', \'0\')\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinsh\", \"\" ); SendClientMessage( playerid, 0xFF0000AA, \"-> Bankszámlád létrehozva.\" ); SetPVarInt( playerid, \"Bankszamla\", 1 ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Van már számlád!\" ); return 1;}CMD:deposit( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iAmount; if( sscanf( params, \"i\", iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /deposit < Összeg >\" ); if( iAmount > GetPlayerMoney( playerid ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs ennyi pénzed kézben!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) + iAmount ); GivePlayerMoney( playerid, - iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%d\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"Betettél a bankszámládra $%d-t. Új egyenleged: $%d\", iAmount, GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1;}CMD:withdraw( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iAmount; if( sscanf( params, \"i\", iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /deposit < Összeg >\" ); if( iAmount > GetPVarInt( playerid, \"Bank\" ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs ennyi pénzed kéznél!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) - iAmount ); GivePlayerMoney( playerid, iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%d\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"Kivettél a számládról $%d-t. Új egyenleged: $%d\", iAmount, GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1;}CMD:transfer( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { new iPlayer, iAmount; if( sscanf( params, \"ui\", iPlayer, iAmount ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /transfer < Játékos ID/Név > < Összeg >\" ); if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen azonosító.\" ); if( iPlayer == playerid ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak nem utalhatsz.\" ); if( GetPVarInt( iPlayer, \"Bankszamla\" ) == 0 ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Ennek a játékosnak nincsen bankszámlája!\" ); if( GetPVarInt( playerid, \"Bank\" ) < iAmount ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs a számládon ennyi pénz!\" ); SetPVarInt( playerid, \"Bank\", GetPVarInt( playerid, \"Bank\" ) - iAmount ); SetPVarInt( iPlayer, \"Bank\", GetPVarInt( iPlayer, \"Bank\" ) + iAmount ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%s\' WHERE `Name` = \'%s\'\", GetPVarInt( playerid, \"Bank\" ), szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szQuery, sizeof( g_szQuery ), \"UPDATE `bank` SET `Amount` = \'%s\' WHERE `Name` = \'%s\'\", GetPVarInt( iPlayer, \"Bank\" ), szName( iPlayer ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); format( g_szFormat, sizeof( g_szFormat ), \"%s(%d) Küldött neked $%d-t, a bankszámládra.\", szName( playerid ), playerid, iAmount ); SendClientMessage( iPlayer, 0xbad920AA, g_szFormat ); format( g_szFormat, sizeof( g_szFormat ), \"Küldtél %s(%d) nevû játékosnak $%d-t a bankszámlájára.\", szName( iPlayer ), iPlayer, iAmount ); SendClientMessage( iPlayer, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1;}CMD:deleteacc( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { format( g_szQuery, sizeof( g_szQuery ), \"DELETE FROM `bank` WHERE `Name` = \'%s\'\", szName( playerid ) ); mysql_function_query( 1, g_szQuery, false, \"OnQueryFinish\", \"\" ); SetPVarInt( playerid, \"Bankszamla\", 0 ); SendClientMessage( playerid, 0xbad920AA, \"Bankszámlád törölve.\" ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1;}CMD:balance( playerid, params[] ){ if( GetPVarInt( playerid, \"Bankszamla\" ) == 1 ) { format( g_szFormat, sizeof( g_szFormat ), \"Banki egyenleged: $%d\", GetPVarInt( playerid, \"Bank\" ) ); SendClientMessage( playerid, 0xbad920AA, g_szFormat ); } else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nincs számlád!\" ); return 1;}forward BankCashLoad( playerid );public BankCashLoad( playerid ){ new szFetch[ 12 ], iRows, iFields; cache_get_data( iRows, iFields ); if( iRows != 0 ) { cache_get_row( 0, 0, szFetch ); SetPVarInt( playerid, \"Bank\", strval( szFetch ) ); SetPVarInt( playerid, \"Bankszamla\", 1 ); } else { SetPVarInt( playerid, \"Bankszamla\", 0 ); } return 1;}forward OnQueryFinish( );public OnQueryFinish( ){ return 1;}stock szName( playerid ){ static s_szName[ MAX_PLAYER_NAME ]; GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME ); return s_szName;}
Szép munka, de fejleszthetnéd még a kamattal.Hogy például $100-t ha beteszel a bankba, akkor arra a kamat óránként például $5.Vagy ha annyira rpsíteni akarnád, akkor játékbeli 31 naponként adná rá a kamatot.De ez egy tipp, úgy csinálod ahogy akarod.
Szép és jó De ugy jobb lenne ha a parancsok magyarok lennének.pl/utal ,/berak,/kivesz stb...Szerintem. [/quote]Köszi. Én jobb szeretem, ha angol nyelven vannak a parancsok, a módomban is angolul vannak, de természetesen átlehet írni.