[FilterScript] Bank Systen
#1

Ola!
Estou postando um sistema de banco diferente.
Vocк deve estar se perguntando , difetente
Yeah. Vocк pode tem quantas contas quizer , fora que podes compartilhar ela com os amigos.

Imagens \/

/imageshack/img194/1908/informaao.png

http://imageshack.us/photo/my-images/37/samp023np.png/

http://imageshack.us/photo/my-images/845/samp021eq.png/

http://imageshack.us/photo/my-images/703/samp022qp.png/

Possui apenas 1 comando , que e o de /abrirbanco.

No dialog menu tem a opзгo de pedir informaзoes , que ira enviar um email para o email que vocк colocarб.


Ele salvo o arquivo do banco na pasta banco , em formato ini.

Creditos
DonSpeed
E ao criador da include mailer , e ao JonathanFeitosa por upar o arquivo para enviar o email.



CODE:
pawn Код:
#include             a_samp
#include             DOF2
#include             zcmd
#include             sscanf2
#include             a_http
#include             mailer

#define              LocalSalvo                                    "Banco/%i.ini"

#define              DIALOG_ENTRADA                                           10
#define              DIALOG_SEG                                               20
#define              DIALOG_CRIA                                              40
#define              DIALOG_CS                                                50
#define              DIALOG_INFO                                              60
#define              DIALOG_MENU                                              70
#define              DIALOG_TRANSF                                            80
#define              DIALOG_PQ                                                90
#define              DIALOG_INFT                                              100
#define              DIALOG_EMAIL                                             110
#define              DIALOG_SAQUE                                             120
#define              DIALOG_DEPOSITO                                          130

enum pCont
{
     pSenha[50],
     pGrana
}
new ContaInfo[MAX_PLAYERS][pCont];

new conta[MAX_PLAYERS],
    senha[MAX_PLAYERS],
    Arquivos[50],
    Don[100],
    idt[MAX_PLAYERS];

public OnFilterScriptInit()return 1;
public OnFilterScriptExit()return 1;
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
         case DIALOG_ENTRADA:
         {
              if(!response)return ShowPlayerDialog(playerid, DIALOG_CRIA, DIALOG_STYLE_INPUT, "Banco", "Digite um numero para sua conta do banco!", "Continuar", "");
              if(!strval(inputtext))return ShowPlayerDialog(playerid, DIALOG_ENTRADA, DIALOG_STYLE_INPUT, "Banco", "Erro!\nSo numeros\nDigite o numero da sua conta:", "Continuar", "Criar conta");
              format(Arquivos, sizeof(Arquivos),LocalSalvo, strval(inputtext));
              if(!DOF2_FileExists(Arquivos))return SendClientMessage(playerid, GetPlayerColor(playerid),"-!- Este numero de conta e inexistente!");
              conta[playerid] = strval(inputtext);
              ShowPlayerDialog(playerid, DIALOG_SEG, DIALOG_STYLE_INPUT, "Banco", "Digite a senha da conta:", "Continuar", "");
         }
         case DIALOG_SEG:
         {
              format(Arquivos, sizeof(Arquivos),LocalSalvo, conta[playerid]);
              if(strcmp(inputtext, DOF2_GetString(Arquivos,"Senha")))
              {
                  ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Banco", "Saque\nDeposito\nTransferencia\nPedir informaзao", "Continuar", "Fechar");
                  ContaInfo[playerid][pGrana] = DOF2_GetInt(Arquivos,"Grana");
                  senha[playerid] = strval(inputtext);
                  SendClientMessage(playerid, -1,"-!- Logado");
              }
              else SendClientMessage(playerid, GetPlayerColor(playerid),"-!- Senha Errada");
         }
         case DIALOG_CRIA:
         {
              if(!response)return true;
              if(!strval(inputtext))return ShowPlayerDialog(playerid, DIALOG_CRIA, DIALOG_STYLE_INPUT, "Banco", "ERRO!\nSo numeros na conta \n\n\nDigite um numero para sua conta do banco!", "Continuar", "");
              format(Arquivos, sizeof(Arquivos),LocalSalvo, strval(inputtext));
              if(DOF2_FileExists(Arquivos)) {
              ShowPlayerDialog(playerid, DIALOG_CRIA, DIALOG_STYLE_INPUT, "Banco", "ERRO!\nConta existente!\n\n\nDigite um numero para sua conta do banco!", "Continuar", "");
              }else{
              ShowPlayerDialog(playerid, DIALOG_CS, DIALOG_STYLE_INPUT, "Banco", "Digite um numero para sua senha do banco!", "Continuar", "");
              conta[playerid] = strval(inputtext);
              }
         }
         case DIALOG_CS:
         {
              if(!response)return true;
              if(!strval(inputtext))return ShowPlayerDialog(playerid, DIALOG_CS, DIALOG_STYLE_INPUT, "Banco", "ERRO!\nSo numeros\n\n\nDigite um numero para sua senha do banco!", "Continuar", "");
              senha[playerid] = strval(inputtext);
              CriarBank(playerid, conta[playerid], senha[playerid]);
              format(Don,sizeof(Don),"Conta criada com sucesso!\nNumero da conta: %i\nSenha da conta: %i\n\n\nAtenciosamente BOT",conta[playerid],senha[playerid]);
              ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Banco", Don, "Close", "");
         }
         case DIALOG_MENU:
         {
              if(!response)return true;
              switch(listitem)
              {
                     case 0:ShowPlayerDialog(playerid,DIALOG_SAQUE, DIALOG_STYLE_INPUT, "Saque", "Entre com a quantidade de dinhairo a sacar!", "Continuar", "Fechar");
                     case 1:ShowPlayerDialog(playerid,DIALOG_DEPOSITO, DIALOG_STYLE_INPUT, "Deposito", "Entre com o valor para deposito!", "Continuar", "Fechar");
                     case 2:ShowPlayerDialog(playerid,DIALOG_TRANSF, DIALOG_STYLE_INPUT, "Transferencia", "Entre com o numero da conta destinada a transferencia!", "Continuar", "Fechar");
                     case 3:ShowPlayerDialog(playerid,DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Pedido", "Informaзoes para email.\nDigite o email abaixo", "Continuar", "Fechar");
              }
         }
         case DIALOG_TRANSF:
         {
              if(!response)return true;
              if(!strval(inputtext))return ShowPlayerDialog(playerid,DIALOG_TRANSF, DIALOG_STYLE_INPUT, "Transferencia", "Entre com o numero da conta destinada a transferencia!", "Continuar", "Fechar");
              format(Arquivos, sizeof(Arquivos),LocalSalvo, strval(inputtext));
              if(DOF2_FileExists(Arquivos))
              {
                   idt[playerid] = strval(inputtext);
                   ShowPlayerDialog(playerid,DIALOG_PQ, DIALOG_STYLE_INPUT, "Transferencia", "Entre com o valor da tranferencia!", "Continuar", "Fechar");

              }else SendClientMessage(playerid,GetPlayerColor(playerid),"-!-Conta inexistente.");
         }
         case DIALOG_PQ:
         {
              if(!response)return true;
              format(Arquivos, sizeof(Arquivos),LocalSalvo, idt[playerid]);
              DOF2_SetInt(Arquivos, "Grana", DOF2_GetInt(Arquivos, "Grana")+strval(inputtext));
              ContaInfo[playerid][pGrana] -= strval(inputtext);
              format(Don,sizeof(Don),"Voce tranferiu %i\nPara a conta %i\nsua conta possui %i.",strval(inputtext),idt[playerid],ContaInfo[playerid][pGrana]);
              ShowPlayerDialog(playerid, DIALOG_INFT, DIALOG_STYLE_MSGBOX, "Transferencia", Don, "Close", "");
         }
         case DIALOG_EMAIL:
         {
              if(!response)return true;
              /*new String[100], SS[100];
              format(Don,sizeof(Don),"%s", inputtext);
              format(String,sizeof(String),"Conta: %i", conta[playerid]);
              format(Arquivos, sizeof(Arquivos),LocalSalvo, idt[playerid]);
              format(SS,sizeof(SS),"Informaзoes conta %i\nCriador da Conta:%s\nSenha: %i\nGrana: %i", conta[playerid], DOF2_GetString(Arquivos,"Criador"), senha[playerid], ContaInfo[playerid][pGrana]);
              EnviarEmail(Don, "maurilio_don@hotmail.com", String, String, SS);
              format(Don,sizeof(Don),"Email enviado com sucesso.");
              SendClientMessage(playerid, -1, Don);*/

              SendClientMessage(playerid, -1, "-!- Temporariamente desabilitado!");// FALTA UPAR O CODE
         }
         case DIALOG_SAQUE:
         {
              if(!strval(inputtext))return SendClientMessage(playerid,GetPlayerColor(playerid),"-!- No numeros");
              if(ContaInfo[playerid][pGrana] < strval(inputtext))
              {
                     SendClientMessage(playerid,GetPlayerColor(playerid),"-!-Voce nao tem toda esta grana no banco.");
                     return true;
              }
              ContaInfo[playerid][pGrana] -= strval(inputtext);
              GivePlayerMoney(playerid, strval(inputtext));    // <<<<<<<<<<< Exemplo
              /*AQUI FICARA O CODE PARA ACRESCENTAR DINHEIRO AO PLAYER.... ex: GivePlayerMoney(playerid, +strval(inputtext));*/
              SalvarBanck(playerid, conta[playerid]);
              format(Don,sizeof(Don),"-!- Vocк fez um saque de %i$.", strval(inputtext));
              SendClientMessage(playerid, -1, Don);
         }
         case DIALOG_DEPOSITO:
         {
              if(!strval(inputtext))return SendClientMessage(playerid,GetPlayerColor(playerid),"-!- No numeros");
              if(GetPlayerMoney(playerid) < strval(inputtext))
              {
                     SendClientMessage(playerid,GetPlayerColor(playerid),"-!-Voce nao tem toda esta grana na mao.");
                     return true;
              }
              ContaInfo[playerid][pGrana] += strval(inputtext);
              SalvarBanck(playerid, conta[playerid]);
              format(Don,sizeof(Don),"-!- Vocк fez um deposito de %i$", strval(inputtext));
              SendClientMessage(playerid, -1, Don);
         }
         return 1;
}
stock CriarBank(playerid, acount[], password[])
{
    new DName[MAX_PLAYER_NAME]; GetPlayerName(playerid, DName, sizeof(DName));
    format(Arquivos, sizeof(Arquivos),LocalSalvo, acount); DOF2_CreateFile(Arquivos);
    DOF2_SetString(Arquivos, "Senha", password); DOF2_SetString(Arquivos, "Criador", DName);
    DOF2_SetInt(Arquivos, "Grana", ContaInfo[playerid][pGrana]); DOF2_SaveFile();
    return true;
}
stock SalvarBanck(playerid, accporra[])
{
    format(Arquivos, sizeof(Arquivos),LocalSalvo, accporra);
    DOF2_SetInt(Arquivos, "Grana", ContaInfo[playerid][pGrana]); DOF2_SaveFile();
    return true;
}
/*

              C O M A N D O ( S )

*/

command(abrirbanco, playerid, params[])return ShowPlayerDialog(playerid, DIALOG_ENTRADA, DIALOG_STYLE_INPUT, "Banco", "Digite o numero da sua conta:", "Continuar", "Criar conta");
Reply
#2

Uma das imagens nгo estб a funcionar, de resto parece-me bem, sу acho que o comando apenas poderia ser usado ou no banco, ou num ATM
Reply
#3

Quote:
Originally Posted by TiTaNic
Посмотреть сообщение
Uma das imagens nгo estб a funcionar, de resto parece-me bem, sу acho que o comando apenas poderia ser usado ou no banco, ou num ATM
Corrigido , e vai da pessoa onde ele vai querer restringir!
Reply
#4

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение


Corrigido , e vai da pessoa onde ele vai querer restringir!
Obvio, apenas pensei que seria uma boa ideia
Reply
#5

Уtimo trabalho. Remova as callbacks inutilizбveis.
Reply
#6

achei inovador, e й isso que estamos precisando aqui no servidor +rep
Reply
#7

Bem legal, ficou inovador
Reply
#8

+REP
Reply
#9

Nada mal, bom trabalho.
Reply
#10

Nice
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)