Szerző Téma: MySQL Bank Rendszer  (Megtekintve 6112 alkalommal)

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Dátum: 2012. augusztus 05. - 14:16:12 »
+7 Show voters
Sziasztok!
Már elég rég publikáltam valamit, hát itt az ideje. :D Amit írtam, nem más, mint egy bank rendszer, ami adatbázisba tárolja az adatokat.
• Bankszámla nyitás
• Bankszámla zárolás & törlés
• Bankszámlára pénz betétel
• Bankszámláról pénz kivétel
• Pénz átutalása más játékosnak
• Bankszámla egyenleg megtekintése
Készítõ: Gabor..( Én )
Készítési Idõ: 15 - 20 perc
BlueG MySQL R7 Pluginja, és Includeja kell hozzá!
Kód:
 

/*
                  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[ 144 + 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[ 11 ],
                 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;
}

 
Tábla Struktúra:
 

CREATE TABLE IF NOT EXISTS `bank` (
`Name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`Amount` int(11) NOT NULL DEFAULT \'0\'
) ENGINE = MYISAM ;
« Utoljára szerkesztve: 2012. szeptember 05. - 21:22:05 írta Gabor.. »

MySQL Bank Rendszer
« Válasz #1 Dátum: 2012. augusztus 05. - 14:36:41 »
0 Show voters
faxa :D jó lett igaz még nem teszteltem mert nem vagyok othol :D

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #2 Dátum: 2012. augusztus 05. - 14:41:38 »
0 Show voters
Idézetet írta: Striker date=1344170201\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25557\" data-ipsquote-contentclass=\"forums_Topic
faxa :D jó lett igaz még nem teszteltem mert nem vagyok othol :D
 
Köszönöm. :)

MySQL Bank Rendszer
« Válasz #3 Dátum: 2012. augusztus 05. - 14:45:02 »
0 Show voters
Jó lett! Grat :)

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #4 Dátum: 2012. augusztus 05. - 14:54:41 »
0 Show voters
Idézetet írta: Dzsorden date=1344170702\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25557\" data-ipsquote-contentclass=\"forums_Topic
Jó lett! Grat :)
 
Köszi. :)

MySQL Bank Rendszer
« Válasz #5 Dátum: 2012. augusztus 05. - 15:02:28 »
0 Show voters
Szép munka grat! :thumbsup:
« Utoljára szerkesztve: 2012. augusztus 05. - 15:11:09 írta Touch »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #6 Dátum: 2012. augusztus 05. - 17:34:31 »
0 Show voters
Szép lett testvér !!
Nem fogom tesztelni mivel ismerem használtam is már :D

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #7 Dátum: 2012. augusztus 05. - 17:37:56 »
0 Show voters
Idézetet írta: Touch date=1344171748\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25557\" data-ipsquote-contentclass=\"forums_Topic
Szép munka grat! :thumbsup:
 
Köszönöm.

Szép lett testvér !!
Nem fogom tesztelni mivel ismerem használtam is már :D
 
[/quote]
Köszi.  Nem ez van a módomban.  Mert az a módhoz írtam, és ahhoz igazodik. Ez egy teljesen új. :D
Amúgy tesztelve van, minden mûködik tökéletesen. ;)
« Utoljára szerkesztve: 2012. augusztus 05. - 17:45:46 írta Gabor.. »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #8 Dátum: 2012. augusztus 05. - 17:53:42 »
0 Show voters
jah okés  :)

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #9 Dátum: 2012. augusztus 05. - 20:08:28 »
0 Show voters
Ránézésre jó bár nem teszteltem :)
Grat

Nem elérhető zeteni

  • 1970
  • Ex-Scripter
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #10 Dátum: 2012. augusztus 05. - 20:29:05 »
+1 Show voters
Nagyon jó! Kár, hogy én nem értek az SQL-hez :(

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #11 Dátum: 2012. augusztus 05. - 23:20:28 »
0 Show voters
Idézetet írta: cappsy date=1344190108\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25557\" data-ipsquote-contentclass=\"forums_Topic
Ránézésre jó bár nem teszteltem :)
Grat
 
Köszi. :)

Nagyon jó! Kár, hogy én nem értek az SQL-hez :(
 
[/quote]Köszi. :D

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #12 Dátum: 2012. augusztus 05. - 23:25:16 »
0 Show voters
not bad, not bad.. de még fejleszd. :)

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #13 Dátum: 2012. augusztus 06. - 08:33:21 »
0 Show voters
Idézetet írta: Flash date=1344201916\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25557\" data-ipsquote-contentclass=\"forums_Topic
not bad, not bad.. de még fejleszd. :)
 
Köszi. Még mivel lehetne? :D

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
MySQL Bank Rendszer
« Válasz #14 Dátum: 2012. augusztus 06. - 09:14:38 »
0 Show voters
Bõvíthetnéd mondjuk egy átutalással. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal