Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* aBanco - Sistema de banco
- Criador: AleeFerreira
- Keypad.inc: Mike
- Zcmd: Zeex
- SII: Slick
- cpstream: Matraka[IDG]
- Não retire os créditos! Possuo licensa!
- OBS: SÓ FUNCIONA NA VERSÃO 0.3e RC6, versões anteriores ele não irá funcinar!
- */
- #include <a_samp>
- #undef MAX_PLAYERS
- #define MAX_PLAYERS (250) //Altere para o número de slots do seu servidor. IMPORTANTE!!
- #include <keypad>
- #include <zcmd>
- #include <SII>
- #include <cpstream>
- #define BankPasta "/Banco/%s.ini"
- #define SCM SendClientMessage
- #define Cor1 0xB5C595AA
- #define Cor2 0xB5C5DFAA
- #define Criando (1)
- #define Entrando (2)
- #define Deposito (3)
- #define DSaldo (4)
- #define Saque (5)
- #define ASenha (6)
- #define Inicio (7)
- #define Inicio2 (8)
- #define KeyNumber (1)
- #define TextoBanco "------------------- Banco -------------------\n- Olá, seja bem vindo ao banco\n- Precisa de ajuda? digite '/ajudabanco'.\n- Para sair digite '/sairbanco'.\n------------------- Banco -------------------"
- enum BancoInfo
- {
- Senha,
- Conta,
- Saldo
- }
- new InfoBank[MAX_PLAYERS][BancoInfo], cell[128], CheckPoint, CBanco, InBanco[MAX_PLAYERS], pass[30]/*retirando um bug*/;
- CMD:banco(playerid)
- {
- if(InfoBank[playerid][Conta] == 0)
- {
- ShowPlayerDialog(playerid, Inicio, DIALOG_STYLE_MSGBOX,"Margarete diz:","Olá, pelo que vejo você não possui uma conta bancária\nDeseja criar uma?","Sim","Fechar");
- }
- else if(InfoBank[playerid][Conta] == 1)
- {
- ShowPlayerDialog(playerid, Inicio2, DIALOG_STYLE_MSGBOX,"Margarete diz:","Olá, você deseja acessar sua conta bancária?","Sim","Fechar");
- }
- return true;
- }
- CMD:sairbanco(playerid)
- {
- if(InBanco[playerid] == 1)
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, 1310.3229,-1379.6257,13.6969);
- InBanco[playerid] = 0;
- }
- else SCM(playerid, Cor2,"* Você não está no banco Central.");
- return true;
- }
- CMD:irbanco(playerid)
- {
- SetPlayerPos(playerid, 1310.3229,-1379.6257,13.6969);
- return true;
- }
- stock getName(playerid)
- {
- new gName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, gName, MAX_PLAYER_NAME);
- return gName;
- }
- stock INI_Create(filename[])
- {
- if(INI_Exist(filename)) return printf("Erro ao criar o arquivo '%s'. O arquivo já existe.");
- new File:MeuArquivo;
- MeuArquivo = fopen(filename, io_write);
- fclose(MeuArquivo);
- return 0x1;
- }
- stock Salvar(playerid)
- {
- new Banco[35];
- format(Banco, 35, BankPasta, getName(playerid));
- if(!INI_Exist(Banco))
- {
- INI_Create(Banco);
- INI_Open(Banco);
- INI_WriteInt("Senha",InfoBank[playerid][Senha]);
- INI_WriteInt("Saldo",InfoBank[playerid][Saldo]);
- INI_WriteInt("Conta",InfoBank[playerid][Conta]);
- INI_Save();
- INI_Close();
- }
- else
- {
- INI_Open(Banco);
- INI_WriteInt("Senha",InfoBank[playerid][Senha]);
- INI_WriteInt("Saldo",InfoBank[playerid][Saldo]);
- INI_WriteInt("Conta",InfoBank[playerid][Conta]);
- INI_Save();
- INI_Close();
- }
- return true;
- }
- stock Carregar(playerid)
- {
- InfoBank[playerid][Senha] = 0;//retirando bug( não mecha aqui! )
- InfoBank[playerid][Saldo] = 0;//retirando bug( não mecha aqui! )
- InfoBank[playerid][Conta] = 0;//retirando bug( não mecha aqui! )
- new Banco[35];
- format(Banco, 35, BankPasta, getName(playerid));
- if(!INI_Exist(Banco)) return 0;
- else
- {
- INI_Open(Banco);
- InfoBank[playerid][Senha] = INI_ReadInt("Senha");
- InfoBank[playerid][Saldo] = INI_ReadInt("Saldo");
- InfoBank[playerid][Conta] = INI_ReadInt("Conta");
- INI_Close();
- }
- return true;
- }
- stock IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("* aBanco - Carregado.");
- CheckPoint = CPS_AddCheckpoint(1310.2156,-1368.2852,13.5472, 2.0, 40);
- CBanco = CPS_AddCheckpoint(823.0460,1.5860,1004.1797, 2.0, 40);
- Create3DTextLabel(TextoBanco, Cor1, 1310.2156,-1368.2852,13.5472, 40.0, 0 , 0);
- }
- public OnFilterScriptExit()
- {
- print("* aBanco - Descarregado.");
- }
- public OnPlayerKeypadInput(playerid, keypadID, type, key)
- {
- if(keypadID == KeyNumber && type == KEYPAD_INPUT_GOOD)
- {
- ShowPlayerDialog(playerid, Entrando, DIALOG_STYLE_LIST,"{F60000}Menu bancário","Saldo\nDepositar\nSacar\n{F60000}Alterar Senha","Selecionar","Fechar");
- }
- else if(keypadID == KeyNumber && type == KEYPAD_INPUT_BAD)
- {
- GameTextForPlayer(playerid,"~r~Senha Incorreta!", 3000, 6);
- }
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- Carregar(playerid);
- SetPlayerMapIcon(playerid, 0, 1310.2156,-1368.2852,13.5472, 52, 0, MAPICON_LOCAL);
- return true;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- Salvar(playerid);
- return true;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- new Check = CPS_GetPlayerCheckpoint(playerid);
- if(Check == CheckPoint)
- {
- SetPlayerInterior(playerid, 3);
- SetPlayerPos(playerid, 833.269775,10.588416,1004.179687);
- InBanco[playerid] = 1;
- }
- if(Check == CBanco)
- {
- SCM(playerid, Cor1,"{F60000}Margarete diz: {FFFFFF}Olá posso ajudá-lo? digite {F60000}/banco.");
- }
- return true;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Criando)
- {
- if(response)
- {
- if(strlen(inputtext) < 5 || strlen(inputtext) > 24)
- {
- SCM(playerid, Cor2,"* Número de caracteres inválido! MÍNIMO: 5 MÁXIMO: 24");
- ShowPlayerDialog(playerid, Criando, DIALOG_STYLE_INPUT,"Etapa 1: Criando uma senha.", "Digite abaixo uma senha.\na mesma será usada sempre que você for acessar sua conta.","Criar","Fechar");
- return true;
- }
- if(!IsNumeric(inputtext))
- {
- SCM(playerid, Cor2,"* Digite apenas números!");
- ShowPlayerDialog(playerid, Criando, DIALOG_STYLE_INPUT,"Etapa 1: Criando uma senha.", "Digite abaixo uma senha.\na mesma será usada sempre que você for acessar sua conta.","Criar","Fechar");
- return true;
- }
- new Input = strval(inputtext);
- InfoBank[playerid][Senha] = Input;
- InfoBank[playerid][Conta] = 1;
- InfoBank[playerid][Saldo] = 500;
- SCM(playerid, Cor1,"* Parabéns você criou uma conta no bancária e como recompensa você acaba de ganhar R$500! O deposito já foi efetuado.");
- Salvar(playerid);
- }
- }
- if(dialogid == Entrando)
- {
- if(response)
- {
- if(listitem == 0)
- {
- format(cell,128,"* Seu saldo bancário atual é:{6DC561}R$%d",InfoBank[playerid][Saldo]);
- ShowPlayerDialog(playerid, DSaldo, DIALOG_STYLE_MSGBOX,"Banco",cell,"Fechar","Voltar");
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid, Deposito, DIALOG_STYLE_INPUT,"Banco","Digite o valor que você deseja depositar.","Depositar","Voltar");
- }
- if(listitem == 2)
- {
- format(cell,128,"* Seu saldo atual é: R$%d\nQuanto você deseja sacar?",InfoBank[playerid][Saldo]);
- ShowPlayerDialog(playerid, Saque, DIALOG_STYLE_INPUT,"Banco",cell,"Sacar","Voltar");
- }
- if(listitem == 3)
- {
- ShowPlayerDialog(playerid, ASenha, DIALOG_STYLE_INPUT,"Banco","Digite sua nova senha abaixo.","Alterar","Voltar");
- }
- }
- }
- if(dialogid == DSaldo)
- {
- if(response){}
- else ShowPlayerDialog(playerid, Entrando, DIALOG_STYLE_LIST,"{F60000}Menu bancário","Saldo\nDepositar\nSacar\n{F60000}Alterar Senha","Selecionar","Fechar");
- }
- if(dialogid == Deposito)
- {
- new Input = strval(inputtext);
- if(response)
- {
- if(GetPlayerMoney(playerid) < Input) return SCM(playerid, Cor2,"* Você não possui isso tudo.");
- InfoBank[playerid][Saldo] += Input;
- format(cell,128,"* Você depositou {6DC561}R$%d {FFFFFF}seu saldo atual é de {6DC561}R$%d",Input,InfoBank[playerid][Saldo]);
- GivePlayerMoney(playerid, - Input);
- SCM(playerid,0xFFFFFFAA, cell);
- }
- else ShowPlayerDialog(playerid, Entrando, DIALOG_STYLE_LIST,"{F60000}Menu bancário","Saldo\nDepositar\nSacar\n{F60000}Alterar Senha","Selecionar","Fechar");
- }
- if(dialogid == Saque)
- {
- new Input = strval(inputtext);
- if(response)
- {
- if(Input > InfoBank[playerid][Saldo]) return SCM(playerid, Cor1,"* Você não tem isso tudo em sua conta bancária.");
- InfoBank[playerid][Saldo] -= Input;
- GivePlayerMoney(playerid, Input);
- format(cell,128,"* Você sacou {6DC561}R$%d {FFFFFF}seu saldo atual é de {6DC561}R$%d",Input, InfoBank[playerid][Saldo]);
- SCM(playerid, 0xFFFFFFAA, cell);
- }
- else ShowPlayerDialog(playerid, Entrando, DIALOG_STYLE_LIST,"{F60000}Menu bancário","Saldo\nDepositar\nSacar\n{F60000}Alterar Senha","Selecionar","Fechar");
- }
- if(dialogid == ASenha)
- {
- if(response)
- {
- if(strlen(inputtext) < 5 || strlen(inputtext) > 24)
- {
- SCM(playerid, Cor2,"* Número de caracteres inválido! MÍNIMO: 5 MÁXIMO: 24");
- ShowPlayerDialog(playerid, ASenha, DIALOG_STYLE_INPUT,"Banco","Digite sua nova senha abaixo.","Alterar","Voltar");
- return true;
- }
- if(!IsNumeric(inputtext))
- {
- SCM(playerid, Cor2,"* Digite apenas números!");
- ShowPlayerDialog(playerid, ASenha, DIALOG_STYLE_INPUT,"Banco","Digite sua nova senha abaixo.","Alterar","Voltar");
- return true;
- }
- new Input = strval(inputtext);
- InfoBank[playerid][Senha] = Input;
- format(cell, 128,"* Você alterou sua senha! Sua nova senha é: {F60000}%s. Guarde-a bem.",InfoBank[playerid][Senha]);
- SCM(playerid, Cor2, cell);
- }
- else ShowPlayerDialog(playerid, Entrando, DIALOG_STYLE_LIST,"{F60000}Menu bancário","Saldo\nDepositar\nSacar\n{F60000}Alterar Senha","Selecionar","Fechar");
- }
- if(dialogid == Inicio2)
- {
- if(response)
- {
- SCM(playerid, 0xF60000AA,"* Insira sua senha bancária.");
- format(pass,30,"%d",InfoBank[playerid][Senha]); //Tive que fazer dessa forma, se não o 'keypad' não iria aparecer.
- ShowPlayerKeypad(playerid, KeyNumber, pass);
- }
- }
- if(dialogid == Inicio)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, Criando, DIALOG_STYLE_INPUT,"Etapa 1: Criando uma senha.", "Digite abaixo uma senha.\na mesma será usada sempre que você for acessar sua conta.","Criar","Fechar");
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement