Advertisement
Guest User

Untitled

a guest
Apr 16th, 2011
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 59.10 KB | None | 0 0
  1. #if defined zDfGyZehGfdoc
  2.  
  3. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  4.     ____              _    _               ____            _
  5.    | __ )  __ _ _ __ | | _(_)_ __   __ _  / ___| _   _ ___| |_ ___ _ __ ___
  6.    |  _ \ / _` | '_ \| |/ / | '_ \ / _` | \___ \| | | / __| __/ _ \ '_ ` _ \
  7.   | |_) | (_| | | | |   <| | | | | (_| |  ___) | |_| \__ \ ||  __/ | | | | |
  8.   |____/ \__,_|_| |_|_|\_\_|_| |_|\__, | |____/ \__, |___/\__\___|_| |_| |_|
  9.                                    |___/         |___/
  10.                                                                         by Zh3r0
  11. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  12.  
  13. #endif
  14.  
  15. #include <a_samp>
  16. #include <YSI/Y_INI>
  17. #include <sscanf2>
  18.  
  19. #define COL_RED     "{FF0000}"
  20. #define COL_GREY    "{C3C3C3}"
  21. #define COL_ALL     "{20FF20}"
  22.  
  23. //Change these:
  24. #define FILE_LOCATION   "/bAccounts/%s.ini"
  25. #define BANK            3598
  26. #define SAVE_ON_EXIT    true  //true - The stats will save on disconnect | false - The stats won't save on exit
  27. #define TELL_ON_CONNECT true  //true - Tell player that he has an account when he connects | false - Don't tell the player that he has an account
  28.  
  29. //===========================================
  30. //Don't change here
  31. #define BANK_CREATE     BANK + 1
  32. #define BANK_CREATE2    BANK + 2
  33. #define BANK_DEPOSIT    BANK + 3
  34. #define BANK_WITHDRAW   BANK + 4
  35. #define BANK_TRANSFER   BANK + 5
  36. #define BANK_WITH_DONE  BANK + 6
  37. #define BANK_DEPO_DONE  BANK + 7
  38. #define BANK_T_I        BANK + 8
  39. #define BANK_TRANSFER_1 BANK + 9
  40. #define BANK_TRANSFER_2 BANK + 10
  41. #define BANK_TRANSFER_3 BANK + 11
  42. #define BANK_TRANSFER_4 BANK + 12
  43. #define BANK_TRANSFER_5 BANK + 13
  44. #define BANK_TRANSFER_6 BANK + 14
  45. #define BANK_INFO       BANK + 15
  46. #define ACC_DEL         BANK + 16
  47. #define BANK_INS_PASS   BANK + 17
  48. #define BANK_LOGIN      BANK + 18
  49. #define BANK_LOGGED     BANK + 19
  50. #define TRANFER_REC     BANK + 20
  51.  
  52. #define DEPOSIT     0
  53. #define WITHDRAW    1
  54. #define TRANSFER    2
  55. #define ACCOUNTINFO 3
  56. #define ACCSYSINFO  4
  57. #define CANCEL_ACC  5
  58. #define BANK_EXIT   6
  59. //===========================================
  60.  
  61.  
  62. enum PlayerData
  63. {
  64.     P_Deposited,
  65.     P_Withdraw,
  66.     P_Transfered,
  67.     P_Logged
  68. };
  69.  
  70. forward LoadDeposit2(   playerid, name[ ], value[ ]     );
  71. forward LoadTransfer(   playerid, name[ ], value[ ]     );
  72. forward LoadBanking(    playerid, name[ ], value[ ]     );
  73. forward ParseReceived2( playerid, name[ ], value[ ]     );
  74. forward ParseReceived(  playerid, name[ ], value[ ]     );
  75. forward ParsePass(      playerid, name[ ], value[ ]     );
  76. forward LoadWithdraw(   playerid, name[ ], value[ ]     );
  77. forward LoadDeposit(    playerid, name[ ], value[ ]     );
  78. forward LoadReceived(   playerid                        );
  79.  
  80. //==================================================
  81. //Don't remove!
  82. new Hash[17] = "90!104!51!114!48",
  83.     HashE[5][256],
  84.     P_DATA[ MAX_PLAYERS ][ PlayerData ],
  85.     Str[ 800 ];
  86. //==================================================
  87.  
  88. public LoadDeposit2(  playerid, name[ ], value [ ] )    if(!strcmp(name, "MONEY"                    ))  SetPVarInt( playerid, "Deposited2", strval( value ) );
  89. public ParsePass(     playerid, name[ ], value[ ]  )    if(!strcmp(name, "ACCOUNT_PASSWORD"         ))  SetPVarString( playerid, "bPass", value );
  90. public ParseReceived( playerid, name[ ], value[ ]  )    if(!strcmp(name, "TRANSFER_RECEIVED"        ))  SetPVarInt( playerid, "MoneyReceived", strval( value ) );
  91.  
  92. public ParseReceived2( playerid, name[ ], value[ ] )
  93. {
  94.     if(!strcmp(name, "MONEY"                )) P_DATA[ playerid ][ P_Deposited  ] = strval( value );
  95.     if(!strcmp(name, "MONEY_RECEIVED_FROM"  )) SetPVarString(   playerid, "ReceivedFrom", value );
  96.     if(!strcmp(name, "MONEY_RECEIVED_DATE"  )) SetPVarString(   playerid, "ReceivedDate", value );
  97.     if(!strcmp(name, "MONEY_RECEIVED"       )) SetPVarInt(      playerid, "AmReceived",   strval( value ) );
  98. }
  99. public LoadBanking( playerid, name[ ], value[ ] )
  100. {
  101.     if(!strcmp(name, "ACCOUNT_CREATED_ON"   ))  SetPVarString( playerid, "AccountDate",     value );
  102.     if(!strcmp(name, "MONEY"                ))  P_DATA[ playerid ][ P_Deposited     ] = strval( value );
  103.     if(!strcmp(name, "WITHDRAW"             ))  P_DATA[ playerid ][ P_Withdraw      ] = strval( value );
  104.     if(!strcmp(name, "TRANSFERED"           ))  P_DATA[ playerid ][ P_Transfered    ] = strval( value );
  105.     if(!strcmp(name, "LAST_TRANSFER"        ))  SetPVarString( playerid, "TransferDate",    value );
  106.     if(!strcmp(name, "LAST_DEPOSIT"         ))  SetPVarString( playerid, "DepositDate",     value );
  107.     if(!strcmp(name, "LAST_WITHDRAW"        ))  SetPVarString( playerid, "WithdrawDate",    value );
  108.     if(!strcmp(name, "LAST_TRANSFER_AMOUNT" ))  SetPVarInt(    playerid, "TransferAmount",  strval( value ) );
  109.     if(!strcmp(name, "LAST_TRANSFER_TYPE"   ))  SetPVarString( playerid, "TransferType",    value );
  110.     if(!strcmp(name, "LAST_TRANSFER_PLAYER" ))  SetPVarString( playerid, "TransferPlayer",  value);
  111.  
  112. }
  113. public LoadTransfer( playerid, name[ ], value[ ] )
  114. {
  115.     if(!strcmp(name, "LAST_TRANSFER"        ))  SetPVarString( playerid, "TransferDate", value );
  116.     if(!strcmp(name, "LAST_TRANSFER_AMOUNT" ))  SetPVarInt(    playerid, "TransferAmount", strval( value ) );
  117.     if(!strcmp(name, "LAST_TRANSFER_TYPE"   ))  SetPVarString( playerid, "TransferType", value );
  118.     if(!strcmp(name, "LAST_TRANSFER_PLAYER" ))  SetPVarString( playerid, "TransferPlayer",  value);
  119.     if(!strcmp(name, "TRANSFERED"           ))  P_DATA[ playerid ][ P_Transfered ] = strval( value );
  120. }
  121.  
  122.  
  123.  
  124. public LoadDeposit( playerid, name[ ], value[ ] )
  125. {
  126.     if(!strcmp(name, "LAST_DEPOSIT"         ))  SetPVarString( playerid, "DepositDate", value );
  127.     if(!strcmp(name, "MONEY"                ))  P_DATA[ playerid ][ P_Deposited ] = strval( value );
  128. }
  129. public LoadWithdraw( playerid, name[ ], value[ ] )
  130. {
  131.     if(!strcmp(name, "LAST_WITHDRAW"        ))  SetPVarString( playerid, "WithdrawDate", value );
  132.     if(!strcmp(name, "WITHDRAW"             ))  P_DATA[ playerid ][ P_Withdraw ] = strval( value );
  133. }
  134. public LoadReceived( playerid )
  135. {
  136.     format( Str, 300, ""COL_ALL"MONEY TRANSFER RECEIVED!\n\n\
  137.                        {FFFFFF}From: "COL_ALL"%s\n\
  138.                        {FFFFFF}Amount: "COL_ALL"%d\n\
  139.                        {FFFFFF}Sent on: "COL_ALL"%s",
  140.                             GetPVarStringEx( playerid, "ReceivedFrom"   ),
  141.                             GetPVarInt(      playerid, "AmReceived"     ),
  142.                             GetPVarStringEx( playerid, "ReceivedDate"   ));
  143.  
  144.     ShowPlayerDialog( playerid,TRANFER_REC, DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Transfer Received!", Str, "Continue", "");
  145.     return 1;
  146. }
  147. public OnPlayerSpawn( playerid )
  148. {
  149.     if ( GetPVarInt( playerid, "bCon" ) )
  150.     {
  151.         INI_ParseFile( ReturnBankingName( playerid ), "ParseReceived", .bExtra = true, .extra = playerid );
  152.         if ( GetPVarInt( playerid, "MoneyReceived" ) )
  153.         {
  154.             if ( P_DATA[ playerid ][ P_Logged ] )
  155.             {
  156.                 INI_ParseFile( ReturnBankingName( playerid ), "ParseReceived2", .bExtra = true, .extra = playerid );
  157.                 SetTimerEx( "LoadReceived", 5000, false, "i", playerid );
  158.                 SetPVarInt( playerid, "bCon", 0 );
  159.  
  160.                 new INI:BankAcc = INI_Open( ReturnBankingName ( playerid ) );
  161.  
  162.                 INI_WriteInt(    BankAcc, "MONEY", ( GetPVarInt( playerid, "AmReceived" ) + P_DATA[ playerid ][ P_Deposited ] ) );
  163.                 INI_RemoveEntry( BankAcc, "MONEY_RECEIVED_FROM"     );
  164.                 INI_RemoveEntry( BankAcc, "MONEY_RECEIVED_DATE"     );
  165.                 INI_RemoveEntry( BankAcc, "MONEY_RECEIVED"          );
  166.                 INI_WriteInt(    BankAcc, "TRANSFER_RECEIVED",  0   );
  167.  
  168.                 INI_Close( BankAcc );
  169.             }
  170.             else SendClientMessage( playerid, 0x20FF20FF, "Banking: {FFFFFF}You have received a money transfer! Please check "COL_ALL"/bank{FFFFFF}");
  171.  
  172.         }
  173.     }
  174. }
  175. public OnPlayerConnect( playerid )
  176. {
  177.     SetPVarInt( playerid, "bCon", 1 );
  178.    
  179.     #if defined TELL_ON_CONNECT true
  180.         P_DATA[ playerid ][ P_Logged    ]   = 0;
  181.         P_DATA[ playerid ][ P_Deposited ]   = 0;
  182.         P_DATA[ playerid ][ P_Withdraw  ]   = 0;
  183.         P_DATA[ playerid ][ P_Transfered]   = 0;
  184.  
  185.         if ( fexist( ReturnBankingName( playerid ) ) )
  186.             SendClientMessage( playerid, 0x20FF20FF, "Banking: {FFFFFF}You have a bank account! Please use {20FF20}/bank{FFFFFF} to login");
  187.  
  188.         else
  189.             SendClientMessage( playerid, 0x20FF20FF, "Banking: {FFFFFF}You don't have a bank account! Please use {20FF20}/bank{FFFFFF} to register an account");
  190.     #endif
  191.     return true;
  192. }
  193. public OnPlayerDisconnect( playerid, reason )
  194. {
  195.     #if defined SAVE_ON_EXIT true
  196.         if ( P_DATA[ playerid ][ P_Logged ] )
  197.         {
  198.  
  199.             new INI:BankAcc = INI_Open( ReturnBankingName( playerid ) );
  200.             INI_WriteInt(       BankAcc,    "MONEY",                 P_DATA[ playerid ][ P_Deposited ]      );
  201.             INI_WriteInt(       BankAcc,    "WITHDRAW",              P_DATA[ playerid ][ P_Withdraw ]       );
  202.             INI_WriteInt(       BankAcc,    "TRANSFERED",            P_DATA[ playerid ][ P_Transfered ]     );
  203.             INI_Close( BankAcc );
  204.  
  205.         }
  206.     #endif
  207.     return true;
  208. }
  209. public OnFilterScriptInit()
  210. {
  211.     //==================================================
  212.     //Don't remove!
  213.     new Index = 0;
  214.     for ( new x = 0; x < 5; ++x ){ HashE[x] = strtok( Hash, Index, '!'); }
  215.     //==================================================
  216.  
  217.     return printf( gStrange( ), strval( HashE[0] ),strval( HashE[1] ),strval( HashE[2] ),strval( HashE[3] ), strval( HashE[4] ));
  218. }
  219.  
  220. public OnPlayerCommandText( playerid, cmdtext[ ] )
  221. {
  222.     if ( !strcmp( cmdtext, "/bank" ) )
  223.     {
  224.         INI_ParseFile( ReturnBankingName( playerid ), "ParseReceived", .bExtra = true, .extra = playerid );
  225.         if ( fexist( ReturnBankingName( playerid ) ) && !P_DATA[ playerid ][ P_Logged ] )
  226.             ShowPlayerDialog( playerid, BANK_LOGIN, DIALOG_STYLE_INPUT, ""COL_ALL"Banking System: {FFFFFF}Login", ""COL_GREY"Please insert the password of your Bank Account", "Login", "Exit");
  227.            
  228.            
  229.         else if ( !fexist( ReturnBankingName( playerid ) ) )
  230.             ShowPlayerDialog( playerid, BANK_CREATE, DIALOG_STYLE_MSGBOX, ""COL_ALL"Banking System", "{FFFFFF}You don't have a "COL_ALL"Banking Account{FFFFFF}\nWould you like to create?", "Yes", "Exit");
  231.            
  232.            
  233.         else if ( P_DATA[ playerid ][ P_Logged ] && !GetPVarInt( playerid, "MoneyReceived" ) )
  234.             ShowPlayerDialog( playerid, BANK, DIALOG_STYLE_LIST, ""COL_ALL"Banking System", "{FFF1EB}Deposit\n\
  235.                                                                   {FFF1EB}Withdraw\n\
  236.                                                                   {FFF1EB}Transfer\n\
  237.                                                                   {FFF1EB}Account Information\n\
  238.                                                                   {FFF1EB}Banking System Information\n\
  239.                                                                   {FFF1EB}Cancel account\n\
  240.                                                                   {D9997E}Exit", "Select", "");
  241.                                                                  
  242.  
  243.         else if ( P_DATA[ playerid ][ P_Logged ] == 1 && GetPVarInt( playerid, "MoneyReceived" ) == 1 )
  244.             ShowPlayerDialog( playerid, BANK, DIALOG_STYLE_LIST, ""COL_ALL"Banking System", "{FFF1EB}Deposit\n\
  245.                                                                   {FFF1EB}Withdraw\n\
  246.                                                                   {FFF1EB}Transfer\n\
  247.                                                                   {FFF1EB}Account Information\n\
  248.                                                                   {FFF1EB}Banking System Information\n\
  249.                                                                   {FFF1EB}Cancel account\n\
  250.                                                                   {9CFFC2}Receive Transfer\n\
  251.                                                                   {D9997E}Exit", "Select", "");
  252.         return 1;
  253.  
  254.     }
  255.     return 0;
  256. }
  257.  
  258. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  259. {
  260.  
  261.     switch( dialogid )
  262.     {
  263.         case BANK_CREATE2,
  264.              BANK_LOGGED,
  265.              BANK_INFO,
  266.              BANK_WITH_DONE,
  267.              BANK_DEPO_DONE,
  268.              TRANFER_REC:OnPlayerCommandText( playerid, "/bank");
  269.  
  270.         case BANK_TRANSFER_6:
  271.         {
  272.             if ( !response ) return DeletePVar( playerid, "tAmount" ),
  273.                                     DeletePVar( playerid, "tPlayer" ),
  274.                                     DeletePVar( playerid, "tPlayer2" ),
  275.                                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  276.  
  277.             else
  278.             {
  279.                 if ( IsPlayerConnected( GetPVarInt( playerid, "tPlayer2" ) ) )
  280.                 {
  281.                     new tName[ 50 ];
  282.                     GetPVarString( playerid, "tPlayer2Name", tName, sizeof (tName) );
  283.  
  284.                     format( Str, sizeof (Str),   "\n{FFFFFF}A money transfer has arrived!\n\n\
  285.                                                     {FFFFFF}Received Amount: "COL_ALL"$%d\n\
  286.                                                     {FFFFFF}From: "COL_ALL"%s\n\
  287.                                                     {FFFFFF}Transfer Type: "COL_ALL"Account Transfer\n\
  288.                                                     {FFFFFF}Account Balance: "COL_ALL"$%d\n\n\
  289.                                                     "COL_RED"NOTE:{FFFFFF} The money have been alocated into your account!\n           \
  290.                                                                            You can withdraw them later!",
  291.                                                                                 GetPVarInt( playerid, "tAmount" ),
  292.                                                                                 PlayerName2( playerid ),
  293.                                                                                 P_DATA[ GetPVarInt( playerid, "tPlayer2" ) ][ P_Deposited ] + GetPVarInt( playerid, "tAmount" ) );
  294.  
  295.                     ShowPlayerDialog( GetPVarInt( playerid, "tPlayer2" ), (1234*9), DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Received", Str, "Close", "" );
  296.  
  297.                     P_DATA[ playerid ][ P_Deposited ] -= GetPVarInt( playerid, "tAmount" );
  298.  
  299.                     format( Str, sizeof (Str),   "\n{FFFFFF}A money transfer has been done!\n\n\
  300.                                                     {FFFFFF}Transfered Amount: "COL_ALL"$%d\n\
  301.                                                     {FFFFFF}To Account: "COL_ALL"%s\n\
  302.                                                     {FFFFFF}Transfer Type: "COL_ALL"Account Transfer\n\
  303.                                                     {FFFFFF}Account Balance: "COL_ALL"$%d\n\n\
  304.                                                     "COL_RED"NOTE:{FFFFFF} The player is connected!\n           \
  305.                                                                            He has been notified of the transfer!",
  306.                                                                                 GetPVarInt( playerid, "tAmount" ),
  307.                                                                                 tName,
  308.                                                                                 P_DATA[ playerid ][ P_Deposited ]);
  309.  
  310.                     ShowPlayerDialog( playerid, (1234*9), DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Transfered", Str, "Close", "" );
  311.  
  312.  
  313.                     new INI:BankAcc = INI_Open( ReturnBankingName( GetPVarInt( playerid, "tPlayer2" ) ) );
  314.                     INI_WriteInt(   BankAcc, "MONEY",   ( P_DATA[ GetPVarInt( playerid, "tPlayer2" ) ][ P_Deposited ] + GetPVarInt( playerid, "tAmount" )  ));
  315.                     INI_Close( BankAcc );
  316.  
  317.  
  318.                     new INI:BankAcc2 = INI_Open( ReturnBankingName( playerid ) );
  319.                     INI_WriteInt(       BankAcc2, "MONEY",                  P_DATA[ playerid ][ P_Deposited ]   );
  320.                     INI_WriteInt(       BankAcc2, "TRANSFERED",             ( GetPVarInt( playerid, "tAmount" ) + P_DATA[ playerid ][ P_Transfered ] )  );
  321.                     INI_WriteInt(       BankAcc2, "LAST_TRANSFER_AMOUNT",   GetPVarInt( playerid, "tAmount" )                   );
  322.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER_TYPE",     "Account Transfer"                                  );
  323.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER_PLAYER",   PlayerName2( GetPVarInt( playerid, "tPlayer2" ) )   );
  324.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER",          ReturnDate( )                                       );
  325.                     INI_Close( BankAcc2 );
  326.  
  327.                 }
  328.                 else
  329.                 {
  330.                     new tName[ 50 ];
  331.                     GetPVarString( playerid, "tPlayer2Name", tName, sizeof (tName) );
  332.  
  333.                     format( Str, sizeof (Str),   "\n{FFFFFF}A money transfer has been done!\n\n\
  334.                                                     {FFFFFF}Transfered Amount: "COL_ALL"$%d\n\
  335.                                                     {FFFFFF}To Account: "COL_ALL"%s\n\
  336.                                                     {FFFFFF}Transfer Type: "COL_ALL"Account Transfer\n\n\
  337.                                                     "COL_RED"NOTE:{FFFFFF} The player is not connected!\n           \
  338.                                                     He will be notified on connection!",
  339.                                                                                 GetPVarInt( playerid, "tAmount" ),
  340.                                                                                 tName);
  341.  
  342.                     ShowPlayerDialog( playerid, (1234*9), DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Transfered", Str, "Close", "" );
  343.  
  344.                     INI_ParseFile( ReturnBankingName( GetPVarInt( playerid, "tPlayer2" ) ), "LoadDeposit2", .bExtra = true, .extra = playerid );
  345.  
  346.                     new DepoCash = GetPVarInt( playerid, "Deposited2" ),
  347.                         tAmount = GetPVarInt( playerid, "tAmount" );
  348.  
  349.  
  350.                     format( Str, 300, "/bAccounts/%s.ini", INI_Encode( tName ) );
  351.  
  352.  
  353.                     new INI:BankAcc = INI_Open( Str );
  354.                     INI_WriteInt(       BankAcc,    "MONEY",                 tAmount + DepoCash     );
  355.                     INI_WriteInt(       BankAcc,    "MONEY_RECEIVED",        tAmount                );
  356.                     INI_WriteString(    BankAcc,    "MONEY_RECEIVED_FROM",   PlayerName2( playerid ));
  357.                     INI_WriteString(    BankAcc,    "MONEY_RECEIVED_DATE",   ReturnDate( )          );
  358.                     INI_WriteInt(       BankAcc,    "TRANSFER_RECEIVED",     1                      );
  359.                     INI_Close( BankAcc );
  360.  
  361.                     P_DATA[ playerid ][ P_Deposited ] -=    tAmount;
  362.                     P_DATA[ playerid ][ P_Transfered ] +=   tAmount;
  363.  
  364.                     new INI:BankAcc2 = INI_Open( ReturnBankingName( playerid ) );
  365.                     INI_WriteInt(       BankAcc2, "MONEY",                  P_DATA[ playerid ][ P_Deposited ]                   );
  366.                     INI_WriteInt(       BankAcc2, "TRANSFERED",             ( tAmount + P_DATA[ playerid ][ P_Transfered ] )    );
  367.                     INI_WriteInt(       BankAcc2, "LAST_TRANSFER_AMOUNT",   tAmount                                             );
  368.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER_TYPE",     "Account Transfer"                                  );
  369.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER_PLAYER",   tName                                               );
  370.                     INI_WriteString(    BankAcc2, "LAST_TRANSFER",          ReturnDate( )                                       );
  371.                     INI_Close( BankAcc2 );
  372.                 }
  373.             }
  374.         }
  375.         case BANK_TRANSFER_5:
  376.         {
  377.             if ( !response ) return DeletePVar( playerid, "tAmount" ),
  378.                                     DeletePVar( playerid, "tPlayer" ),
  379.                                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  380.             else
  381.             {
  382.                 if ( !isnull( inputtext ) )
  383.                 {
  384.                     new pFile[ 100 ];
  385.                     format( pFile, sizeof (pFile), "/bAccounts/%s.ini", INI_Encode( inputtext ) );
  386.                     if ( fexist( pFile ) )
  387.                     {
  388.                         if ( strcmp( PlayerName2( playerid ), inputtext, false ) )
  389.                         {
  390.                             new Player2 = ReturnPlayerID( inputtext );
  391.                             if ( IsPlayerConnected( Player2 ) ){SetPVarInt( playerid, "tPlayer2", Player2 );}
  392.                             else {SetPVarInt( playerid, "tPlayer2", 900 );}
  393.  
  394.                             new ssT[ 20 ];
  395.                             format( ssT, 20, "tPlayer2 = %d | %d", GetPVarInt( playerid, "tPlayer2" ), Player2 );
  396.                             SendClientMessage( playerid, -1, ssT );
  397.  
  398.  
  399.                             SetPVarString( playerid, "tPlayer2Name", inputtext );
  400.  
  401.                             format( Str, sizeof (Str),   "\n{FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  402.                                                                 {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  403.                                                                 {FFFFFF}To Bank Account: "COL_ALL"%s\n\n\
  404.                                                                 "COL_RED"NOTE:{FFFFFF} If player is connected he will receive a message that he\n           \
  405.                                                                 received the amount of money, otherwise he will be noticed on connection!",
  406.                                                                     GetPVarInt( playerid, "tAmount" ),
  407.                                                                     inputtext);
  408.  
  409.                             ShowPlayerDialog( playerid, BANK_TRANSFER_6, DIALOG_STYLE_MSGBOX, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  410.                         }
  411.                         else
  412.                         {
  413.                             format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Player inserted is you!\n\n\
  414.                                                             {FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  415.                                                             {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  416.                                                             {FFFFFF}Account Balance: "COL_ALL"$%d\n\n",
  417.                                                                 GetPVarInt( playerid, "tAmount" ),
  418.                                                                 P_DATA[ playerid ][ P_Deposited ] );
  419.  
  420.                             format( Str, sizeof (Str),      "%s"COL_GREY"Please write the Bank Account name where you want to transfer the money:\n\
  421.                                                             "COL_RED"NOTE:{FFFFFF} If player is connected he will receive a message that he\n           \
  422.                                                             received the amount of money, otherwise he will be noticed on connection!",
  423.                                                             Str );
  424.  
  425.                             ShowPlayerDialog( playerid, BANK_TRANSFER_5, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  426.                         }
  427.                     }
  428.                     else
  429.                     {
  430.                         format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Invalid Bank Account( Inexistent )!!\n\n\
  431.                                                         {FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  432.                                                         {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  433.                                                         {FFFFFF}Account Balance: "COL_ALL"$%d\n\n",
  434.                                                             GetPVarInt( playerid, "tAmount" ),
  435.                                                             P_DATA[ playerid ][ P_Deposited ] );
  436.  
  437.                         format( Str, sizeof (Str),      "%s"COL_GREY"Please write the Bank Account name where you want to transfer the money:\n\
  438.                                                         "COL_RED"NOTE:{FFFFFF} If player is connected he will receive a message that he\n           \
  439.                                                         received the amount of money, otherwise he will be noticed on connection!",
  440.                                                         Str );
  441.  
  442.                         ShowPlayerDialog( playerid, BANK_TRANSFER_5, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  443.                     }
  444.                 }
  445.                 else
  446.                 {
  447.                     format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Incorect value( Empty )!\n\n\
  448.                                                         {FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  449.                                                         {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  450.                                                         {FFFFFF}Account Balance: "COL_ALL"$%d\n\n",
  451.                                                             GetPVarInt( playerid, "tAmount" ),
  452.                                                             P_DATA[ playerid ][ P_Deposited ] );
  453.  
  454.                     format( Str, sizeof (Str),          "%s"COL_GREY"Please write the Bank Account name where you want to transfer the money:\n\
  455.                                                         "COL_RED"NOTE:{FFFFFF} If player is connected he will receive a message that he\n           \
  456.                                                         received the amount of money, otherwise he will be noticed on connection!",
  457.                                                         Str );
  458.  
  459.                     ShowPlayerDialog( playerid, BANK_TRANSFER_5, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  460.                 }
  461.             }
  462.  
  463.         }
  464.         case BANK_TRANSFER_4:
  465.         {
  466.             if ( !response )
  467.                 return ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  468.  
  469.             else
  470.  
  471.             if ( !sscanf( inputtext, "i", inputtext[ 0 ] ) )
  472.             {
  473.                 if ( P_DATA[ playerid ][ P_Deposited ] > inputtext[ 0 ] )
  474.                 {
  475.                     SetPVarInt( playerid, "tAmount", inputtext[ 0 ] );
  476.  
  477.                     format( Str, sizeof (Str),   "\n{FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  478.                                                     {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  479.                                                     {FFFFFF}Account Balance: "COL_ALL"$%d\n\n\
  480.                                                     "COL_GREY"Please write the Bank Account name where you want to transfer the money:\n\
  481.                                                     "COL_RED"NOTE:{FFFFFF} The money will pe alocated into player's Bank Account!\n           \
  482.                                                     The money you transfer will be taken from your Bank Account!",
  483.                                                                 inputtext[ 0 ],
  484.                                                                 P_DATA[ playerid ][ P_Deposited ] );
  485.  
  486.                     ShowPlayerDialog( playerid, BANK_TRANSFER_5, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  487.  
  488.                 }
  489.                 else
  490.                 {
  491.                     new TranDate[ 30 ], TranPlayer[ 40 ];
  492.  
  493.                     GetPVarString( playerid, "TransferDate",        TranDate, sizeof (TranDate) );
  494.                     GetPVarString( playerid, "TransferPlayer",      TranPlayer, sizeof (TranPlayer) );
  495.  
  496.                     format( Str, sizeof (Str),  ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Not enough money in account!\n\n\
  497.                                                {FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  498.                                                {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  499.                                                {FFFFFF}Last Transfer: "COL_ALL"%s\n",
  500.                                                                P_DATA[ playerid ][ P_Deposited ],
  501.                                                                TranDate );
  502.                     format( Str, sizeof (Str), "%s\
  503.                                                {FFFFFF}Last Transfer amount: "COL_ALL"$%d\n\
  504.                                                {FFFFFF}To player: "COL_ALL"%s\n\n\
  505.                                                "COL_GREY"Please write the amount you want to transfer:\n\
  506.                                                "COL_RED"NOTE:{FFFFFF} The money will pe alocated into player's Bank Account!\n           \
  507.                                                 The money you transfer will be taken from your Bank Account!",
  508.                                                                Str,
  509.                                                                GetPVarInt( playerid, "TransferAmount"),
  510.                                                                TranPlayer);
  511.  
  512.                     ShowPlayerDialog( playerid, BANK_TRANSFER_4, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  513.                 }
  514.             }
  515.             else
  516.             {
  517.                 INI_ParseFile(ReturnBankingName( playerid ), "LoadTransfer", .bExtra = true, .extra = playerid);
  518.                 new TranDate[ 30 ], TranPlayer[ 40 ];
  519.  
  520.                 GetPVarString( playerid, "TransferDate",        TranDate, sizeof (TranDate) );
  521.                 GetPVarString( playerid, "TransferPlayer",      TranPlayer, sizeof (TranPlayer) );
  522.  
  523.                 format( Str, sizeof (Str),  ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Please insert a correct value!\n\n\
  524.                                                {FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  525.                                                {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  526.                                                {FFFFFF}Last Transfer: "COL_ALL"%s\n",
  527.                                                                P_DATA[ playerid ][ P_Deposited ],
  528.                                                                TranDate );
  529.                 format( Str, sizeof (Str), "%s\
  530.                                                {FFFFFF}Last Transfer amount: "COL_ALL"$%d\n\
  531.                                                {FFFFFF}To player: "COL_ALL"%s\n\n\
  532.                                                "COL_GREY"Please write the amount you want to transfer:\n\
  533.                                                "COL_RED"NOTE:{FFFFFF} The money will pe alocated into player's Bank Account!\n           \
  534.                                                 The money you transfer will be taken from your Bank Account!",
  535.                                                                Str,
  536.                                                                GetPVarInt( playerid, "TransferAmount"),
  537.                                                                TranPlayer);
  538.  
  539.                 ShowPlayerDialog( playerid, BANK_TRANSFER_4, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  540.             }
  541.         }
  542.         case BANK_T_I:
  543.         {
  544.             ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  545.         }
  546.         case BANK_TRANSFER_3:
  547.         {
  548.             if ( !response ) return DeletePVar( playerid, "tAmount" ),
  549.                                     DeletePVar( playerid, "tPlayer" ),
  550.                                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  551.  
  552.             GivePlayerMoney( GetPVarInt( playerid, "tPlayer" ), GetPVarInt( playerid, "tAmount" ) );
  553.             GivePlayerMoney( playerid, ( - GetPVarInt( playerid, "tAmount" ) ) );
  554.  
  555.             P_DATA[ playerid ][ P_Transfered ] += GetPVarInt( playerid, "tAmount" );
  556.  
  557.             new INI:BankAcc,
  558.                 TranAmount;
  559.             format( Str, sizeof (Str),   "\n{FFFFFF}A money transfer has arrived!\n\n\
  560.                                             {FFFFFF}Received Amount: "COL_ALL"$%d\n\
  561.                                             {FFFFFF}From: "COL_ALL"%s\n\
  562.                                             "COL_RED"NOTE:{FFFFFF} The money haven't been alocated into your account!\n      You need to deposit them by yourself!",
  563.                                                     GetPVarInt( playerid, "tAmount" ),
  564.                                                     PlayerName2( playerid ) );
  565.  
  566.             ShowPlayerDialog( GetPVarInt( playerid, "tPlayer" ), (1234*9), DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Received", Str, "Close", "" );
  567.  
  568.             format( Str, sizeof (Str),   "\n{FFFFFF}A money transfer has been done!\n\n\
  569.                                             {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  570.                                             {FFFFFF}To Player: "COL_ALL"%s\n\
  571.                                             {FFFFFF}Total Amount Transfered: "COL_ALL"$%d\n\n",
  572.                                                     GetPVarInt( playerid, "tAmount" ),
  573.                                                     PlayerName2( GetPVarInt( playerid, "tPlayer" ) ),
  574.                                                     P_DATA[ playerid ][ P_Transfered ]);
  575.  
  576.             ShowPlayerDialog( playerid, (1234*9), DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Sent", Str, "Close", "" );
  577.  
  578.             TranAmount = P_DATA[ playerid ][ P_Transfered ],
  579.  
  580.             BankAcc = INI_Open( ReturnBankingName( playerid ) );
  581.             INI_WriteInt(       BankAcc, "TRANSFERED",           ( TranAmount + GetPVarInt( playerid, "tAmount" ) ) );
  582.             INI_WriteInt(       BankAcc, "LAST_TRANSFER_AMOUNT", GetPVarInt( playerid, "tAmount" )                  );
  583.             INI_WriteString(    BankAcc, "LAST_TRANSFER_TYPE",   "Direct Transfer"                                  );
  584.             INI_WriteString(    BankAcc, "LAST_TRANSFER_PLAYER", PlayerName2( GetPVarInt( playerid, "tPlayer" ) )   );
  585.             INI_WriteString(    BankAcc, "LAST_TRANSFER",        ReturnDate( )                                      );
  586.             INI_Close( BankAcc );
  587.  
  588.             SetPVarString( playerid, "TransferType",    "Direct Transfer" );
  589.             SetPVarString( playerid, "TransferPlayer",  PlayerName2( GetPVarInt( playerid, "tPlayer" ) ) );
  590.  
  591.             DeletePVar( GetPVarInt( playerid, "tPlayer" ), "tAmount" );
  592.             DeletePVar( playerid, "tAmount" );
  593.             DeletePVar( playerid, "tPlayer" );
  594.  
  595.         }
  596.  
  597.         case BANK_TRANSFER_2:
  598.         {
  599.             if ( !response ) return DeletePVar( playerid, "tAmount" ),
  600.                                     DeletePVar( playerid, "tPlayer" ),
  601.                                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  602.             else
  603.             {
  604.                 if ( !sscanf( inputtext, "u", inputtext[ 0 ] ) )
  605.                 {
  606.                     if ( IsPlayerConnected( inputtext[ 0 ] ) )
  607.                     {
  608.                         if ( inputtext[ 0 ] != playerid )
  609.                         {
  610.                             SetPVarInt( playerid, "tPlayer", inputtext[ 0 ] );
  611.                             SetPVarInt( inputtext[ 0 ], "tAmount", GetPVarInt( playerid, "tAmount" ) );
  612.  
  613.                             format( Str, sizeof (Str),   "\n{FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  614.                                                             {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  615.                                                             {FFFFFF}To player: "COL_ALL"%s\n\
  616.                                                             "COL_RED"NOTE:{FFFFFF} The player will receive a message that he received the money!",
  617.                                                             GetPVarInt( playerid, "tAmount" ),
  618.                                                             PlayerName2( inputtext[ 0 ] ));
  619.  
  620.                             ShowPlayerDialog( playerid, BANK_TRANSFER_3, DIALOG_STYLE_MSGBOX, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  621.                         }
  622.                         else
  623.                         {
  624.                             format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Player inserted is you!\n\n\
  625.                                                             {FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  626.                                                             {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  627.                                                             {FFFFFF}Current Money: "COL_ALL"$%d\n\n\
  628.                                                             "COL_GREY"Please write the ID or NAME of the player you want to transfer to:\n\
  629.                                                             "COL_RED"NOTE:{FFFFFF} The player will receive a message that he received the money!",
  630.                                                             GetPVarInt( playerid, "tAmount" ),
  631.                                                             GetPlayerMoney( playerid ) );
  632.  
  633.                             ShowPlayerDialog( playerid, BANK_TRANSFER_2, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  634.                         }
  635.                     }
  636.                     else
  637.                     {
  638.                         format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Player is not connected!\n\n\
  639.                                                         {FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  640.                                                         {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  641.                                                         {FFFFFF}Current Money: "COL_ALL"$%d\n\n\
  642.                                                         "COL_GREY"Please write the ID or NAME of the player you want to transfer to:\n\
  643.                                                         "COL_RED"NOTE:{FFFFFF} The player will receive a message that he received the money!",
  644.                                                         GetPVarInt( playerid, "tAmount" ),
  645.                                                         GetPlayerMoney( playerid ) );
  646.  
  647.                         ShowPlayerDialog( playerid, BANK_TRANSFER_2, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  648.                     }
  649.                 }
  650.                 else
  651.                 {
  652.                     format( Str, sizeof (Str),     ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Incorect insertion! Try again!\n\n\
  653.                                                     {FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  654.                                                     {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  655.                                                     {FFFFFF}Current Money: "COL_ALL"$%d\n\n\
  656.                                                     "COL_GREY"Please write the ID or NAME of the player you want to transfer to:\n\
  657.                                                     "COL_RED"NOTE:{FFFFFF} The player will receive a message that he received the money!",
  658.                                                     GetPVarInt( playerid, "tAmount" ),
  659.                                                     GetPlayerMoney( playerid ) );
  660.  
  661.                     ShowPlayerDialog( playerid, BANK_TRANSFER_2, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Send", "Cancel" );
  662.                 }
  663.             }
  664.         }
  665.         case BANK_TRANSFER_1:
  666.         {
  667.             if ( !response ) return DeletePVar( playerid, "tAmount" ),
  668.                                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  669.             else
  670.  
  671.             if ( !sscanf( inputtext, "i", inputtext[ 0 ] ) )
  672.             {
  673.                 if ( GetPlayerMoney( playerid ) > inputtext[ 0 ] )
  674.                 {
  675.                     SetPVarInt( playerid, "tAmount", inputtext[ 0 ] );
  676.  
  677.                     format( Str, sizeof (Str),   "\n{FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  678.                                                     {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  679.                                                     {FFFFFF}Current Money: "COL_ALL"$%d\n\n\
  680.                                                     "COL_GREY"Please write the ID or NAME of the player you want to transfer to:\n\
  681.                                                     "COL_RED"NOTE:{FFFFFF} The money will NOT be taken from your account.(Current money)",
  682.                                                     inputtext[ 0 ],
  683.                                                     GetPlayerMoney( playerid ));
  684.  
  685.                     ShowPlayerDialog( playerid, BANK_TRANSFER_2, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  686.  
  687.                 }
  688.                 else
  689.                 {
  690.                     format( Str, sizeof (Str),   ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Not enough money!\n\n\
  691.                                                    {FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  692.                                                    {FFFFFF}Transfer Amount: "COL_ALL"$%d\n\
  693.                                                    {FFFFFF}Current Money: "COL_ALL"$%d\n\n\
  694.                                                    "COL_GREY"Please write the ID or NAME of the player you want to transfer to:\n\
  695.                                                    "COL_RED"NOTE:{FFFFFF} The money will NOT be taken from your account.(Current money)",
  696.                                                    inputtext[ 0 ],
  697.                                                    GetPlayerMoney( playerid ));
  698.  
  699.  
  700.                     ShowPlayerDialog( playerid, BANK_TRANSFER_1, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  701.                 }
  702.             }
  703.             else
  704.             {
  705.                 INI_ParseFile(ReturnBankingName( playerid ), "LoadTransfer", .bExtra = true, .extra = playerid);
  706.                 new TranDate[ 30 ], TranPlayer[ 40 ];
  707.  
  708.                 GetPVarString( playerid, "TransferDate",    TranDate, sizeof (TranDate) );
  709.                 GetPVarString( playerid, "TransferPlayer",  TranPlayer, sizeof (TranPlayer) );
  710.  
  711.                 format( Str, sizeof (Str),  ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Please insert a correct value!\n\n\
  712.                                                {FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  713.                                                {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  714.                                               {FFFFFF}Current Money: "COL_ALL"$%d\n\
  715.                                                {FFFFFF}Last Transfer: "COL_ALL"%s\n",
  716.                                                                P_DATA[ playerid ][ P_Deposited ],
  717.                                                                GetPlayerMoney( playerid ),
  718.                                                                TranDate );
  719.                 format( Str, sizeof (Str), "%s\
  720.                                                {FFFFFF}Last Transfer amount: "COL_ALL"$%d\n\
  721.                                                {FFFFFF}To player: "COL_ALL"%s\n\n\
  722.                                                "COL_GREY"Please write the amount you want to transfer:\n\
  723.                                                "COL_RED"NOTE:{FFFFFF} The money will NOT be taken from your account.(Current money)",
  724.                                                Str,
  725.                                                GetPVarInt( playerid, "TransferAmount"),
  726.                                                TranPlayer);
  727.  
  728.                 ShowPlayerDialog( playerid, BANK_TRANSFER_1, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  729.             }
  730.  
  731.         }
  732.         case BANK_TRANSFER:
  733.         {
  734.             if ( !response ) return OnPlayerCommandText( playerid, "/bank");
  735.             else
  736.             switch( listitem )
  737.             {
  738.                 case 0:
  739.                 {
  740.                     INI_ParseFile(ReturnBankingName( playerid ), "LoadTransfer", .bExtra = true, .extra = playerid);
  741.                     new TranDate[ 30 ], TranPlayer[ 40 ];
  742.  
  743.                     GetPVarString( playerid, "TransferDate",    TranDate, sizeof (TranDate) );
  744.                     GetPVarString( playerid, "TransferPlayer",  TranPlayer, sizeof (TranPlayer) );
  745.  
  746.                     format( Str, sizeof (Str),"\n{FFFFFF}Method: {D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n\n\
  747.                                                {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  748.                                               {FFFFFF}Current Money: "COL_ALL"$%d\n\
  749.                                                {FFFFFF}Last Transfer: "COL_ALL"%s\n\
  750.                                                {FFFFFF}Last Transfer amount: "COL_ALL"$%d\n\
  751.                                                {FFFFFF}To player: "COL_ALL"%s\n\
  752.                                                "COL_GREY"Please write the amount you want to transfer:",
  753.                                                P_DATA[ playerid ][ P_Deposited ],
  754.                                                GetPlayerMoney( playerid ),
  755.                                                TranDate,
  756.                                                GetPVarInt( playerid, "TransferAmount"),
  757.                                                TranPlayer);
  758.  
  759.                     ShowPlayerDialog( playerid, BANK_TRANSFER_1, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  760.  
  761.                 }
  762.                 case 1:
  763.                 {
  764.                     INI_ParseFile(ReturnBankingName( playerid ), "LoadTransfer", .bExtra = true, .extra = playerid);
  765.                     new TranDate[ 30 ], TranPlayer[ 40 ];
  766.  
  767.                     GetPVarString( playerid, "TransferDate",    TranDate, sizeof (TranDate) );
  768.                     GetPVarString( playerid, "TransferPlayer",  TranPlayer, sizeof (TranPlayer) );
  769.  
  770.                     format( Str, sizeof (Str),"\n{FFFFFF}Method: {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n\n\
  771.                                                {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  772.                                                {FFFFFF}Last Transfer: "COL_ALL"%s\n\
  773.                                                {FFFFFF}Last Transfer amount: "COL_ALL"$%d\n\
  774.                                                {FFFFFF}To Account: "COL_ALL"%s\n\
  775.                                                "COL_GREY"Please write the amount you want to transfer:",
  776.                                                P_DATA[ playerid ][ P_Deposited ],
  777.                                                TranDate,
  778.                                                GetPVarInt( playerid, "TransferAmount"),
  779.                                                TranPlayer);
  780.  
  781.                     ShowPlayerDialog( playerid, BANK_TRANSFER_4, DIALOG_STYLE_INPUT, ""COL_ALL"Transfer Money", Str, "Insert", "Back" );
  782.  
  783.                 }
  784.                 case 2:
  785.                 {
  786.                     new Str1[ ] = "\n\n{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{FFFFFF}\
  787.                                     This method is used to make a Money Transfer during gameplay\n\
  788.                                     while the player is playing or connected to the server\n\n\n\
  789.                                     {D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4}){FFFFFF}\n\
  790.                                     This method will check if player is connected, if returns true\n\
  791.                                     then an error will appear, means that you will have to use\n",
  792.                         Str2[ ] =  "the {D6D4D4}Direct Transfer{FFFFFF} method!\n\
  793.                                     Using this method will add the transfered money to that player's\n\
  794.                                     account and will receive the money on connect!\n\
  795.                                     If he is connected the transfered money will be deposited\n\
  796.                                     into his account!";
  797.                     format( Str, 710, "%s%s", Str1, Str2 );
  798.                     ShowPlayerDialog( playerid, BANK_T_I, DIALOG_STYLE_MSGBOX, ""COL_ALL"Payment Methods Information", Str, "Back", "");
  799.  
  800.  
  801.  
  802.                 }
  803.             }
  804.         }
  805.  
  806.         case BANK_WITHDRAW:
  807.         {
  808.             if ( !response ) return OnPlayerCommandText( playerid, "/bank");
  809.  
  810.             if ( sscanf( inputtext, "i", inputtext[ 0 ] ) )
  811.                 return ShowPlayerDialog( playerid, BANK_WITHDRAW, DIALOG_STYLE_INPUT, ""COL_ALL"Withdraw Money", ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Please insert a correct value!\n\n"COL_GREY"Please write the amount you want to withdraw", "Withdraw", "Back" );
  812.  
  813.             INI_ParseFile(ReturnBankingName( playerid ), "LoadDeposit", .bExtra = true, .extra = playerid);
  814.  
  815.             if ( P_DATA[ playerid ][ P_Deposited ] < inputtext[ 0 ] )
  816.                 return format( Str, sizeof (Str), ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Not enough money in the account!\n\nAccount Balance: "COL_ALL"$%d\n\n"COL_GREY"Please write the amount you want to withdraw",P_DATA[ playerid ][ P_Deposited ] ),
  817.                        ShowPlayerDialog( playerid, BANK_WITHDRAW, DIALOG_STYLE_INPUT, ""COL_ALL"Withdraw Money", Str, "Withdraw", "Back" );
  818.  
  819.  
  820.             new DepoAmount = P_DATA[ playerid ][ P_Deposited ],
  821.                 WithAmount = P_DATA[ playerid ][ P_Withdraw ],
  822.                 INI:BankAcc = INI_Open( ReturnBankingName( playerid ) );
  823.  
  824.             format( Str, sizeof (Str), "");
  825.  
  826.             INI_WriteInt(       BankAcc, "MONEY",           ( DepoAmount - inputtext[ 0 ] )  );
  827.             INI_WriteInt(       BankAcc, "WITHDRAW",        ( WithAmount + inputtext[ 0 ] )  );
  828.             INI_WriteString(    BankAcc, "LAST_WITHDRAW",   ReturnDate( )                    );
  829.             INI_Close( BankAcc );
  830.  
  831.             SetPVarString( playerid, "WithdrawDate", ReturnDate( ) );
  832.  
  833.             GivePlayerMoney( playerid, ( inputtext[ 0 ] ) );
  834.             P_DATA[ playerid ][ P_Deposited ] -= inputtext[ 0 ];
  835.             P_DATA[ playerid ][ P_Withdraw ] += inputtext[ 0 ];
  836.  
  837.             format( Str, sizeof (Str), ""COL_ALL"Money Succesfully withdrawed!\n\n{FFFFFF}\
  838.                                         Withdraw: "COL_ALL"$%d{FFFFFF}\n\
  839.                                         Date: "COL_ALL"%s{FFFFFF}\n\
  840.                                         Account Balance: "COL_ALL"$%d\n\n\
  841.                                         Thanks for withdrawing!", inputtext[ 0 ],
  842.                                                                 ReturnDate( ),
  843.                                                                 P_DATA[ playerid ][ P_Deposited ] );
  844.  
  845.             ShowPlayerDialog( playerid, BANK_WITH_DONE, DIALOG_STYLE_MSGBOX, ""COL_ALL"Money withdrawed!", Str, "Back", "" );
  846.         }
  847.  
  848.         case BANK_DEPOSIT:
  849.         {
  850.             if ( !response ) return OnPlayerCommandText( playerid, "/bank");
  851.  
  852.             if ( sscanf( inputtext, "i", inputtext[ 0 ] ) )
  853.                 return ShowPlayerDialog( playerid, BANK_DEPOSIT, DIALOG_STYLE_INPUT, ""COL_ALL"Deposit Money", ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Please insert a correct value!\n\n"COL_GREY"Please write the amount you want to deposit", "Deposit", "Back" );
  854.  
  855.             if ( GetPlayerMoney( playerid ) < inputtext[ 0 ] )
  856.                 return ShowPlayerDialog( playerid, BANK_DEPOSIT, DIALOG_STYLE_INPUT, ""COL_ALL"Deposit Money", ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Not enough money!\n\n"COL_GREY"Please write the amount you want to deposit", "Deposit", "Back" );
  857.  
  858.             if ( inputtext[ 0 ] < 10000 )
  859.                 return ShowPlayerDialog( playerid, BANK_DEPOSIT, DIALOG_STYLE_INPUT, ""COL_ALL"Deposit Money", ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Min. deposit: "COL_RED"$10.000!\n\n"COL_GREY"Please write the amount you want to deposit", "Deposit", "Back" );
  860.  
  861.             new DepAmount = P_DATA[ playerid ][ P_Deposited ],
  862.                 INI:BankAcc = INI_Open( ReturnBankingName( playerid ) );
  863.  
  864.             INI_WriteInt(       BankAcc, "MONEY",           ( DepAmount + inputtext[ 0 ] )  );
  865.             INI_WriteString(    BankAcc, "LAST_DEPOSIT",    ReturnDate( )                   );
  866.             INI_Close( BankAcc );
  867.  
  868.             SetPVarString( playerid, "DepositDate", ReturnDate( ) );
  869.  
  870.             GivePlayerMoney( playerid, ( - inputtext[ 0 ] ) );
  871.             P_DATA[ playerid ][ P_Deposited ] += inputtext[ 0 ];
  872.  
  873.             format( Str, sizeof (Str), ""COL_ALL"Money Succesfully deposited!\n\n{FFFFFF}\
  874.                                         Deposited: "COL_ALL"$%d{FFFFFF}\n\
  875.                                         Date: "COL_ALL"%s{FFFFFF}\n\
  876.                                         Account Balance: "COL_ALL"$%d\n\n\
  877.                                         Thanks for depositing!", inputtext[ 0 ],
  878.                                                                 ReturnDate( ),
  879.                                                                 P_DATA[ playerid ][ P_Deposited ] );
  880.  
  881.             ShowPlayerDialog( playerid, BANK_DEPO_DONE, DIALOG_STYLE_MSGBOX, ""COL_ALL"Money deposited", Str, "Back", "" );
  882.         }
  883.         case BANK:
  884.         {
  885.             if ( !response ) return 0;
  886.             switch( listitem )
  887.             {
  888.                 case DEPOSIT:
  889.                 {
  890.                     INI_ParseFile(ReturnBankingName( playerid ), "LoadDeposit", .bExtra = true, .extra = playerid);
  891.                     new DepoDate[ 30 ];
  892.                     GetPVarString( playerid, "DepositDate", DepoDate, sizeof (DepoDate) );
  893.                     format( Str, sizeof (Str), "\n{FFFFFF}Account Balance: "COL_ALL"$%d\n\
  894.                                                {FFFFFF}Last Deposited: "COL_ALL"%s\n\n\
  895.                                                "COL_GREY"Please write the amount you want to deposit:", P_DATA[ playerid ][ P_Deposited ], DepoDate );
  896.  
  897.                     ShowPlayerDialog( playerid, BANK_DEPOSIT, DIALOG_STYLE_INPUT, ""COL_ALL"Deposit Money", Str, "Deposit", "Back" );
  898.                 }
  899.                 case WITHDRAW:
  900.                 {
  901.                     INI_ParseFile(ReturnBankingName( playerid ), "LoadWithdraw", .bExtra = true, .extra = playerid);
  902.                     new WithDate[ 30 ];
  903.                     GetPVarString( playerid, "WithdrawDate", WithDate, sizeof (WithDate) );
  904.                     format( Str, sizeof (Str),"\n{FFFFFF}Account Balance: "COL_ALL"$%d\n\
  905.                                                {FFFFFF}Last Withdrawal: "COL_ALL"%s\n\n\
  906.                                                "COL_GREY"Please write the amount you want to withdraw:", P_DATA[ playerid ][ P_Deposited ], WithDate );
  907.  
  908.                     ShowPlayerDialog( playerid, BANK_WITHDRAW, DIALOG_STYLE_INPUT, ""COL_ALL"Withdraw Money", Str, "Withdraw", "Back" );
  909.                 }
  910.                 case TRANSFER:
  911.                 {
  912.                     ShowPlayerDialog( playerid, BANK_TRANSFER, DIALOG_STYLE_LIST, ""COL_ALL"Transfer Money Method", "{D6D4D4}Direct Transfer( {BFDEC1}Active player {D6D4D4})\n{D6D4D4}Account transfer( {DEBFBF}Offline transfer {D6D4D4})\n{BFDEDE}More information about methods", "Select", "Back" );
  913.  
  914.                 }
  915.                 case ACCOUNTINFO:
  916.                 {
  917.                     INI_ParseFile(ReturnBankingName( playerid ), "LoadBanking", .bExtra = true, .extra = playerid);
  918.                     format
  919.                     (
  920.                         Str,
  921.                             sizeof ( Str ),
  922.                                 "{FFFFFF}All your Bank Account data:\n\n\
  923.                                 Account Creation Date: "COL_ALL"%s\n\
  924.                                 {FFFFFF}Account Balance: "COL_ALL"$%d\n\
  925.                                 {FFFFFF}Total Amount Withdrawed: "COL_ALL"$%d\n\
  926.                                 {FFFFFF}Total Amount Transfered: "COL_ALL"$%d\n",
  927.                                 GetPVarStringEx( playerid, "AccountDate" ),
  928.                                 P_DATA[ playerid ][ P_Deposited ],
  929.                             P_DATA[ playerid ][ P_Withdraw  ],
  930.                         P_DATA[ playerid ][ P_Transfered]
  931.                     );
  932.  
  933.                     format
  934.                     (
  935.                         Str,
  936.                             sizeof ( Str ),
  937.                                 "%s\
  938.                                 {FFFFFF}Last Deposit: "COL_ALL"%s\n\
  939.                                 {FFFFFF}Last Withdraw: "COL_ALL"%s\n\
  940.                                 {FFFFFF}Last Transfer: "COL_ALL"%s\n\
  941.                                 {FFFFFF}Last Transfer Amount: "COL_ALL"$%d\n\
  942.                                 {FFFFFF}Last Transfer Method: "COL_ALL"%s\n\
  943.                                 {FFFFFF}Last Transfer Player: "COL_ALL"%s\n",
  944.                                 Str,
  945.                                 GetPVarStringEx( playerid, "DepositDate" ),
  946.                                 GetPVarStringEx( playerid, "WithdrawDate" ),
  947.                                 GetPVarStringEx( playerid, "TransferDate" ),
  948.                                 GetPVarInt( playerid, "TransferAmount" ),
  949.                             GetPVarStringEx( playerid, "TransferType" ),
  950.                         GetPVarStringEx( playerid, "TransferPlayer" )
  951.                      );
  952.  
  953.  
  954.  
  955.                     ShowPlayerDialog( playerid, BANK_INFO, DIALOG_STYLE_MSGBOX, ""COL_ALL"Bank Account Information", Str, "Back", "" );
  956.  
  957.                 }
  958.                 case ACCSYSINFO:
  959.                 {
  960.                     ShowPlayerDialog
  961.                     (
  962.                         playerid,
  963.                         BANK_INFO,
  964.                         DIALOG_STYLE_MSGBOX,
  965.                         ""COL_ALL"Banking System Information",
  966.                         "{FFFFFF}Name: "COL_ALL"Banking System\n\
  967.                         {FFFFFF}Creator: "COL_ALL"Zh3r0\n\
  968.                         {FFFFFF}Creation Period: "COL_ALL"28.02.2011 {FFFFFF}-"COL_ALL" 03.03.2011\n\n\
  969.                         {FFFFFF}Beta testers:\n\
  970.                         "COL_ALL"[SRC]SonGoKu, [SRC]speedON, [SRC]Crash\n\n\
  971.                         {FFFFFF}Credits:\n\
  972.                         "COL_ALL"ZeeX{FFFFFF}\t\tZCMD Command processor\n\
  973.                         "COL_ALL"Y_Less{FFFFFF}\tY_Ini, SSCANF\n\
  974.                         And the "COL_ALL"ReturnPlayerID( name[] ){FFFFFF} creator!",
  975.                         "Back",
  976.                         ""
  977.                     );
  978.                 }
  979.                 case CANCEL_ACC:
  980.                 {
  981.                     ShowPlayerDialog
  982.                     (
  983.                         playerid,
  984.                         ACC_DEL,
  985.                         DIALOG_STYLE_MSGBOX,
  986.                         ""COL_RED"Deleting Bank Account",
  987.                         "{FFFFFF}You are on your way to delete your bank account\n\
  988.                         After hitting "COL_RED"Delete{FFFFFF} your account will be deleted\n\
  989.                         Hit "COL_ALL"Back{FFFFFF} to return back the the selection menu!\n\
  990.                         Please think before you do this.\n\n\
  991.                         "COL_RED"WARNING:{FFFFFF} The account cannot be retrieved after deletion!",
  992.                         "Delete",
  993.                         "Back"
  994.                     );
  995.                 }
  996.                 case BANK_EXIT:
  997.                 {
  998.                     if ( GetPVarInt( playerid, "MoneyReceived" ) )
  999.                     {
  1000.                         INI_ParseFile( ReturnBankingName( playerid ), "ParseReceived2", .bExtra = true, .extra = playerid );
  1001.  
  1002.                         format( Str, 300, ""COL_ALL"Transfer Received:{FFFFFF} Details\n\n\
  1003.                                                    {FFFFFF}From: "COL_ALL"%s\n\
  1004.                                                    {FFFFFF}Amount: "COL_ALL"%d\n\
  1005.                                                    {FFFFFF}Sent on: "COL_ALL"%s",
  1006.                                                         GetPVarStringEx( playerid, "ReceivedFrom"   ),
  1007.                                                         GetPVarInt(      playerid, "AmReceived"     ),
  1008.                                                         GetPVarStringEx( playerid, "ReceivedDate"   ));
  1009.  
  1010.                         ShowPlayerDialog( playerid,TRANFER_REC, DIALOG_STYLE_MSGBOX, ""COL_ALL"Money Transfer Received!", Str, "Continue", "");
  1011.  
  1012.                         SetPVarInt( playerid, "bCon",           0 );
  1013.                         SetPVarInt( playerid, "MoneyReceived",  0 );
  1014.  
  1015.                         new INI:BankAcc = INI_Open( ReturnBankingName ( playerid ) );
  1016.  
  1017.                         INI_WriteInt(    BankAcc, "MONEY", ( GetPVarInt( playerid, "AmReceived" ) + P_DATA[ playerid ][ P_Deposited ] ) );
  1018.                         INI_RemoveEntry( BankAcc, "MONEY_RECEIVED_FROM"     );
  1019.                         INI_RemoveEntry( BankAcc, "MONEY_RECEIVED_DATE"     );
  1020.                         INI_RemoveEntry( BankAcc, "MONEY_RECEIVED"          );
  1021.                         INI_WriteInt(    BankAcc, "TRANSFER_RECEIVED",  0   );
  1022.  
  1023.                         INI_Close( BankAcc );
  1024.                     }
  1025.                 }
  1026.             }
  1027.         }
  1028.         case ACC_DEL:
  1029.         {
  1030.             if ( ! response ) return OnPlayerCommandText( playerid, "/bank");
  1031.  
  1032.             else
  1033.  
  1034.             fremove( ReturnBankingName( playerid ) );
  1035.  
  1036.             ShowPlayerDialog
  1037.             (
  1038.                 playerid,
  1039.                 (578*6),
  1040.                 DIALOG_STYLE_MSGBOX,
  1041.                 ""COL_RED"Account deleted!",
  1042.                 ""COL_RED"Your account has been succesfully deleted!{FFFFFF}\n\
  1043.                 You can start a new account by typing "COL_ALL"/bank"COL_RED"\n\
  1044.                 Everything you had in that account has been lost.",
  1045.                 "Exit",
  1046.                 ""
  1047.             );
  1048.         }
  1049.         case BANK_CREATE:
  1050.         {
  1051.             if ( ! response ) return 0;
  1052.            
  1053.             else
  1054.            
  1055.             ShowPlayerDialog( playerid, BANK_INS_PASS, DIALOG_STYLE_INPUT, ""COL_ALL"Bank Account Registration",
  1056.             ""COL_GREY"Please insert your desired password", "Insert", "Close" );
  1057.            
  1058.         }
  1059.         case BANK_INS_PASS:
  1060.         {
  1061.             if ( ! response ) return 0;
  1062.            
  1063.             else
  1064.            
  1065.             if ( isnull( inputtext ) )
  1066.                 return  ShowPlayerDialog( playerid, BANK_INS_PASS, DIALOG_STYLE_INPUT, "\
  1067.                         "COL_ALL"Bank Account Registration",
  1068.                         ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}No password inserted!\n\n\
  1069.                         "COL_GREY"Please insert your desired password", "Insert", "Close" );
  1070.  
  1071.             if ( strlen( inputtext ) < 3 || strlen( inputtext ) > 20 )
  1072.                 return  ShowPlayerDialog( playerid, BANK_INS_PASS, DIALOG_STYLE_INPUT, "\
  1073.                         "COL_ALL"Bank Account Registration",
  1074.                         ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Invalid password length!\nMin. "COL_RED"3{FFFFFF} Max. "COL_RED"20\n\n\
  1075.                         "COL_GREY"Please insert your desired password", "Insert", "Close" );
  1076.                        
  1077.  
  1078.             new INI:BankAcc = INI_Open( ReturnBankingName( playerid ) );
  1079.             INI_WriteString(    BankAcc,    "ACCOUNT_CREATED_ON",    ReturnDate( )  );
  1080.             INI_WriteString(    BankAcc,    "ACCOUNT_PASSWORD",      inputtext      );
  1081.             INI_WriteInt(       BankAcc,    "MONEY",                 0              );
  1082.             INI_WriteInt(       BankAcc,    "WITHDRAW",              0              );
  1083.             INI_WriteInt(       BankAcc,    "TRANSFERED",            0              );
  1084.             INI_WriteString(    BankAcc,    "LAST_DEPOSIT",          "Never"        );
  1085.             INI_WriteString(    BankAcc,    "LAST_WITHDRAW",         "Never"        );
  1086.             INI_WriteString(    BankAcc,    "LAST_TRANSFER",         "Never"        );
  1087.             INI_WriteString(    BankAcc,    "LAST_TRANSFER_PLAYER",  "None"         );
  1088.             INI_WriteString(    BankAcc,    "LAST_TRANSFER_TYPE",    "None"         );
  1089.             INI_WriteString(    BankAcc,    "MONEY_RECEIVED_FROM",   "Nobody"       );
  1090.             INI_WriteString(    BankAcc,    "MONEY_RECEIVED_DATE",   "Never"        );
  1091.             INI_WriteInt(       BankAcc,    "MONEY_RECEIVED",        0              );
  1092.             INI_WriteInt(       BankAcc,    "LAST_TRANSFER_AMOUNT",  0              );
  1093.             INI_WriteInt(       BankAcc,    "TRANSFER_RECEIVED",     0              );
  1094.             INI_Close( BankAcc );
  1095.  
  1096.             format( Str, 256,  ""COL_ALL"Bank Account{FFFFFF} succesfully created!\n\n\
  1097.                                 {FFFFFF}Account: "COL_ALL"%s\n\
  1098.                                 {FFFFFF}Password: "COL_ALL"%s\n\
  1099.                                 {FFFFFF}Created: "COL_ALL"%s\n\n\
  1100.                                 Press "COL_ALL"Continue{FFFFFF} to proceed.",
  1101.                                         PlayerName2( playerid ),
  1102.                                         inputtext,
  1103.                                         ReturnDate( ) );
  1104.             ShowPlayerDialog( playerid, BANK_CREATE2, DIALOG_STYLE_MSGBOX, ""COL_ALL"Banking System", Str,"Continue", "");
  1105.            
  1106.  
  1107.         }
  1108.         case BANK_LOGIN:
  1109.         {
  1110.             if ( ! response ) return 0;
  1111.            
  1112.             else
  1113.            
  1114.             INI_ParseFile( ReturnBankingName( playerid ), "ParsePass", .bExtra = true, .extra = playerid );
  1115.             if ( !strcmp( inputtext, GetPVarStringEx( playerid, "bPass" ), false ) )
  1116.             {
  1117.                 INI_ParseFile( ReturnBankingName( playerid ), "LoadBanking", .bExtra = true, .extra = playerid );
  1118.                 ShowPlayerDialog( playerid, BANK_LOGGED, DIALOG_STYLE_MSGBOX,
  1119.                         ""COL_ALL"Succesfully logged in!",
  1120.                         ""COL_GREY"You have been succesfully logged in!\n\
  1121.                         Press "COL_ALL"Continue"COL_GREY" to continue to your account!", "Continue", "" );
  1122.                 P_DATA[ playerid ][ P_Logged ] = 1;
  1123.            
  1124.             }
  1125.             else
  1126.             {
  1127.                 ShowPlayerDialog( playerid, BANK_LOGIN, DIALOG_STYLE_INPUT, ""COL_ALL"Banking System: {FFFFFF}Login",
  1128.                         ""COL_RED"* {FFFFFF}* "COL_RED"* {FFFFFF}Incorrect password!\n\n\
  1129.                         "COL_GREY"Please insert the password of your Bank Account", "Login", "Exit");
  1130.             }
  1131.         }
  1132.     }
  1133.     return 0;
  1134. }
  1135. //==================================================
  1136. //Don't remove!
  1137. gStrange( )
  1138. {
  1139.     new Str2[ ] = "\n\n\t\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\n\
  1140.                \t||\32\32\32\32\66\97\110\107\105\110\103\32\32\83\121\115\116\101\109\32\32\66\121\32\32%c%c%c%c%c\32\32\32||\n\
  1141.                \t\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\22\n\
  1142.                \t\t\t\32\76\111\97\100\101\100\32\32\83\117\99\99\101\115\115\102\117\108\108\121\n\n\n";
  1143.     return Str2;
  1144. }
  1145. //==================================================
  1146.  
  1147. //Return file name.
  1148. ReturnBankingName( playerid )
  1149. {
  1150.     new Str2[ 140 ];
  1151.     format( Str2, sizeof (Str2), FILE_LOCATION, INI_Encode( PlayerName2( playerid ) ) );
  1152.     return Str2;
  1153. }
  1154.  
  1155. //Return player name
  1156. PlayerName2( p )
  1157. {
  1158.     new bName[ MAX_PLAYER_NAME ];
  1159.     GetPlayerName( p, bName, MAX_PLAYER_NAME );
  1160.     return bName;
  1161. }
  1162.  
  1163. //Return current date and time
  1164. ReturnDate( )
  1165. {
  1166.     new Date[6], DateStr[ 30 ];
  1167.     getdate( Date[ 0 ], Date[ 1 ], Date[ 2 ] );
  1168.     gettime( Date[ 3 ], Date[ 4 ], Date[ 5 ] );
  1169.     format( DateStr, sizeof (DateStr), "%d/%d/%d at %d:%d:%d", Date[ 2 ], Date[ 1 ], Date[ 0 ], Date[ 3 ], Date[ 4 ], Date [ 5 ] );
  1170.     return DateStr;
  1171. }
  1172.  
  1173. //Return player's id by name
  1174. stock ReturnPlayerID(PlayerName[])
  1175. {
  1176.     for(new i = 0; i < MAX_PLAYERS; i++)
  1177.     {
  1178.         if(IsPlayerConnected(i))
  1179.         {
  1180.             if(strfind(PlayerName2(i),PlayerName,true)!=-1) return i;
  1181.         }
  1182.     }
  1183.     return INVALID_PLAYER_ID;
  1184. }
  1185.  
  1186. //GetPVarStringEx
  1187. GetPVarStringEx( p, s[] )
  1188. {
  1189.     new oS[ 129 ];
  1190.     GetPVarString( p, s, oS, 129 );
  1191.     return oS;
  1192. }
  1193.  
  1194. //Encode player name special characters
  1195. stock INI_Encode(nickname[])
  1196. {
  1197.   new tmp[ 255 ];
  1198.   set(tmp,nickname);
  1199.   tmp=strreplace("_","_00",tmp);
  1200.   tmp=strreplace(";","_01",tmp);
  1201.   tmp=strreplace("!","_02",tmp);
  1202.   tmp=strreplace("/","_03",tmp);
  1203.   tmp=strreplace("\\","_04",tmp);
  1204.   tmp=strreplace("[","_05",tmp);
  1205.   tmp=strreplace("]","_06",tmp);
  1206.   tmp=strreplace("?","_07",tmp);
  1207.   tmp=strreplace(".","_08",tmp);
  1208.   tmp=strreplace("*","_09",tmp);
  1209.   tmp=strreplace("<","_10",tmp);
  1210.   tmp=strreplace(">","_11",tmp);
  1211.   tmp=strreplace("{","_12",tmp);
  1212.   tmp=strreplace("}","_13",tmp);
  1213.   tmp=strreplace(" ","_14",tmp);
  1214.   tmp=strreplace("\"","_15",tmp);
  1215.   tmp=strreplace(":","_16",tmp);
  1216.   tmp=strreplace("|","_17",tmp);
  1217.   tmp=strreplace("=","_18",tmp);
  1218.   return tmp;
  1219. }
  1220.  
  1221. stock strtok(const string[], &index,seperator=' ')
  1222. {
  1223.     new length = strlen(string);
  1224.     new offset = index;
  1225.     new result[ 255 ];
  1226.     while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
  1227.     {
  1228.         result[index - offset] = string[index];
  1229.         index++;
  1230.     }
  1231.  
  1232.     result[index - offset] = EOS;
  1233.     if ((index < length) && (string[index] == seperator))
  1234.     {
  1235.         index++;
  1236.     }
  1237.     return result;
  1238. }
  1239. stock set(dest[],source[]) {
  1240.     new count = strlen(source);
  1241.     new i=0;
  1242.     for (i=0;i<count;i++) {
  1243.         dest[i]=source[i];
  1244.     }
  1245.     dest[count]=0;
  1246. }
  1247. stock strreplace(trg[],newstr[],src[]) {
  1248.     new f=0;
  1249.     new s1[ 255 ];
  1250.     new tmp[ 255 ];
  1251.     format(s1,sizeof(s1),"%s",src);
  1252.     f = strfind(s1,trg);
  1253.     tmp[0]=0;
  1254.     while (f>=0) {
  1255.         strcat(tmp,ret_memcpy(s1, 0, f));
  1256.         strcat(tmp,newstr);
  1257.         format(s1,sizeof(s1),"%s",ret_memcpy(s1, f+strlen(trg), strlen(s1)-f));
  1258.         f = strfind(s1,trg);
  1259.     }
  1260.     strcat(tmp,s1);
  1261.     return tmp;
  1262. }
  1263. ret_memcpy(source[],index=0,numbytes) {
  1264.     new tmp[ 255 ];
  1265.     new i=0;
  1266.     tmp[0]=0;
  1267.     if (index>=strlen(source)) return tmp;
  1268.     if (numbytes+index>=strlen(source)) numbytes=strlen(source)-index;
  1269.     if (numbytes<=0) return tmp;
  1270.     for (i=index;i<numbytes+index;i++) {
  1271.         tmp[i-index]=source[i];
  1272.         if (source[i]==0) return tmp;
  1273.     }
  1274.     tmp[numbytes]=0;
  1275.     return tmp;
  1276. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement