Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Sistema simples de Banco
- @author Lucas Emmanuel
- 18/07/14
- Começo: 02:10
- Término 05:00
- * - Nescessário criar pasta Contas na scriptfiles
- * - Feito 100% por Lucas Emmanuel
- https://www.facebook.com/Opaleiro.BA
- */
- #include < a_samp >
- #include < dof2 >
- // --------------------------------- Defines
- #define Dialog_Banco 90
- #define Dialog_Logar 80
- #define Dialog_Registro 95
- #define Dialog_Sacar 98
- #define Dialog_Transferir 75
- #define Dialog_Depositar 96
- #define Dialog_Final 99
- #define Verde 0x88AA62FF
- #define Azul 0xA9C4E4FF
- #define Cinza 0xB9C9BFFF
- #define Rosa 0xFF8282FF
- // ------------------------------------------
- #if defined FILTERSCRIPT
- // --------------------------------- Variáveis
- enum BancoInfo
- {
- bool:Cadastrado,
- Senha,
- Dinheiro,
- Saldo
- }
- new
- Float:Entradas[3][3] =
- {
- {1113.6282,-1836.1163,16.6000}, // 1
- {1219.1395,-1812.2916,16.5938}, // 2
- {1211.2548,-1749.8055,13.5941} // 3
- };
- new
- Float:Saidas[3][3] =
- {
- {2304.9446,-16.0870,26.7422}, // 1
- {2315.5481,-0.1971,26.7422}, // 2
- {2315.5481,-0.1971,26.7422} // 2
- };
- new Float:xBurguer[][] =
- {
- {1109.6255,-1836.1428,16.6030}, // Saída random
- {1219.3903,-1814.8457,16.5938}, // Saída random
- {1209.1418,-1748.3969,13.5935} // Saída random
- };
- new bInfo[MAX_PLAYERS][BancoInfo];
- new pEntradas [6];
- // ------------------------------------------
- public OnGameModeInit()
- {
- pEntradas[0] = AddStaticPickup(1274, 1, 1113.6282,-1836.1163,16.6000, 0); // Entrada 1
- pEntradas[1] = AddStaticPickup(1274, 1, 1219.1395,-1812.2916,16.5938, 0); // Entrada 2
- pEntradas[2] = AddStaticPickup(1274, 1, 1211.2548,-1749.8055,13.5941, 0); // Entrada 3
- pEntradas[4] = AddStaticPickup(1318, 1, 2304.9446,-16.0870,26.7422, 0); // Saída 1
- pEntradas[4] = AddStaticPickup(1318, 1, 2315.5481,-0.1971,26.7422, 0); // Saída 2
- AddStaticPickup(1239, 1, 2308.8508,-11.0123,26.7422, 0); // Acesso
- for(new i; i != 3; ++i)
- {
- SetPlayerMapIcon(i, 52, 1180.1130,-1793.8143,33.6363, 52, 0, MAPICON_LOCAL );
- Create3DTextLabel("Banco Los Santos\n{FFFFFF}Aperte F para entrar", Azul, Entradas[i][0], Entradas[i][1], Entradas[i][2], 40.0, 0, 0);
- }
- Create3DTextLabel("Banco Los Santos\n{FFFFFF}Aperte F para acessar", Verde, 2308.8508,-11.0123,26.7422, 40.0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Load(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- Salvar(playerid);
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if((newkeys == KEY_SECONDARY_ATTACK)) // Key ( F / Enter )
- {
- for(new i; i != 3; ++i)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2, Entradas[i][0], Entradas[i][1], Entradas[i][2])) // Coordenadas das entradas
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, 2308.0154,-15.1207,26.7496);
- }
- }
- for(new i; i != 3; ++i)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2, Saidas[i][0], Saidas[i][1], Saidas[i][2])) // Coordenadas das entradas
- {
- new Random = random(sizeof(xBurguer));
- SetPlayerPos(playerid, xBurguer[Random][0], xBurguer[Random][1], xBurguer[Random][2]);
- }
- }
- if(IsPlayerInRangeOfPoint(playerid, 1.5, 2308.8508,-11.0123,26.7422 )) // Coordenadas do acesso
- {
- if(bInfo[playerid][Cadastrado] != true)
- {
- new string[120], nome[25];
- GetPlayerName(playerid, nome, 25);
- format(string, sizeof(string),"Bem vindo sr %s.\nPor medida de segurança escolha uma senha\npara poder registrar sua conta no banco.", nome, 25);
- ShowPlayerDialog(playerid, Dialog_Registro , DIALOG_STYLE_PASSWORD, "Banco Los Santos", string, "Escolher", "Cancelar");
- }
- if(bInfo[playerid][Cadastrado] != false)
- {
- ShowPlayerDialog(playerid, Dialog_Logar, DIALOG_STYLE_PASSWORD, "Banco Los Santos", "Digite a senha de sua conta para\npoder acessá-la", "Confirmar", "Cancelar");
- }
- }
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Dialog_Registro)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Senha inválida! Escolha apenas números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou a criação de sua conta em nosso banco);
- else
- {
- SendClientMessage(playerid, Verde, #Ok você se cadastrou. Agora faça o login com a conta registrada);
- bInfo[playerid][Senha] = strval(inputtext);
- bInfo[playerid][Cadastrado] = true;
- Salvar(playerid);
- }
- }
- if(dialogid == Dialog_Logar)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Senha inválida! Escolha apenas números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou o login na sua conta em nosso banco);
- else
- {
- bInfo[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha");
- if(strval(inputtext) == bInfo[playerid][Senha])
- {
- SendClientMessage(playerid, Azul, #Senha aceita! Você entrou na sua conta);
- ShowPlayerDialog(playerid, Dialog_Banco, DIALOG_STYLE_LIST, "Banco Los Santos", "Sacar\nDepositar\nTransferir\nVer Saldo", "Escolher", "Cancelar");
- }
- else
- {
- SendClientMessage(playerid, Rosa, #Senha inválida! Escolha apenas números);
- }
- }
- }
- if(dialogid == Dialog_Banco)
- {
- if(!response) return SendClientMessage(playerid, Cinza, #Ok você cancelou sua movimentação bancária);
- if(listitem == 0) // Opção Sacar
- {
- new string[120];
- format(string, sizeof(string), "Escolha o valor da quantia para sacar.\nSeu saldo é R$: %d", bInfo[playerid][Saldo]);
- ShowPlayerDialog(playerid, Dialog_Sacar, DIALOG_STYLE_INPUT, "Banco Los Santos", string, "Confirmar", "Cancelar");
- }
- else if(listitem == 1) //Opção Depositar
- {
- new string[120];
- format(string, sizeof(string), "Escolha o valor da quantia a ser depositada.\nSeu saldo é R$: %d", bInfo[playerid][Saldo]);
- ShowPlayerDialog(playerid, Dialog_Depositar, DIALOG_STYLE_INPUT, "Banco Los Santos", string, "Confirmar", "Cancelar");
- }
- else if(listitem == 2) //Opção Transferir
- {
- new string[120];
- format(string, sizeof(string), "Escolha o valor da quantia a ser transferida.\nSeu saldo é R$: %d", bInfo[playerid][Saldo]);
- ShowPlayerDialog(playerid, Dialog_Transferir, DIALOG_STYLE_INPUT, "Banco Los Santos", string, "Confirmar", "Cancelar");
- }
- else if(listitem == 3) //Opção Ver saldo
- {
- new string[120];
- format(string, sizeof(string), "Seu saldo é R$: %d", bInfo[playerid][Saldo]);
- SendClientMessage(playerid, -1, string);
- }
- }
- if(dialogid == Dialog_Sacar)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Operação inválida! Escolha apenas números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou o saque);
- else
- {
- if(strval(inputtext) >= bInfo[playerid][Saldo]) return SendClientMessage(playerid, Rosa, #Você não tem esse dinheiro todo no banco);
- {
- GivePlayerMoney(playerid, strval(inputtext));
- bInfo[playerid][Saldo] =- strval(inputtext);
- new string[120];
- format(string, sizeof(string), "Você sacou: R$: %d. Agora seu saldo é R$: %d",strval(inputtext), bInfo[playerid][Saldo]);
- SendClientMessage(playerid, Azul, string);
- }
- }
- }
- if(dialogid == Dialog_Depositar)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Operação inválida! Escolha apenas números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou o depósito);
- else
- {
- if(bInfo[playerid][Dinheiro] >= strval(inputtext)) return SendClientMessage(playerid, Rosa, #Você não tem esse dinheiro todo em mãos);
- {
- bInfo[playerid][Saldo] += strval(inputtext);
- GivePlayerMoney(playerid, - strval(inputtext));
- new string[120];
- format(string, sizeof(string), "Você depositou: R$: %d. Agora seu saldo é R$: %d",strval(inputtext), bInfo[playerid][Saldo]);
- SendClientMessage(playerid, Azul, string);
- }
- }
- }
- new Value_Transfer[MAX_PLAYERS];
- if(dialogid == Dialog_Transferir)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Operação inválida! Escolha a quantia a ser transferida - Somente números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou a transferência);
- else
- {
- if(strval(inputtext) >= bInfo[playerid][Saldo]) return SendClientMessage(playerid, Rosa, #Você não tem esse dinheiro todo no banco);
- {
- Value_Transfer[playerid] = strval(inputtext);
- ShowPlayerDialog(playerid, Dialog_Final, DIALOG_STYLE_INPUT, "Banco Los Santos", "Digite o ID do player\nDigite apenas números", "Confirmar", "Cancelar");
- }
- }
- }
- if(dialogid == Dialog_Final)
- {
- if(!strval(inputtext)) return SendClientMessage(playerid, Rosa, #Operação inválida! Escolha o ID do player - Somente Números);
- if(!response) return SendClientMessage(playerid, Cinza, #Você cancelou a transferência);
- else
- {
- if(IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid, Verde, #Este jogador não está conectado);
- {
- bInfo[playerid][Saldo] =- Value_Transfer[playerid];
- bInfo[strval(inputtext)][Saldo] - Value_Transfer[playerid];
- new
- string[120],
- nome[25]
- ;
- GetPlayerName(strval(inputtext), nome, 25);
- format(string, sizeof(string), "Você transferiu: R$: %d. Para %s. Agora seu saldo é R$: %d",Value_Transfer[playerid], nome, bInfo[playerid][Saldo]);
- SendClientMessage(playerid, Verde, string);
- PlayerPlaySound(playerid, 1130, 0.0, 0.0, 10.0);
- }
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/fsdebug", cmdtext, true, 10) == 0)
- {
- SetPlayerPos(playerid, 1113.6282,-1836.1163,16.6000);
- printf("Senha do banco: %d. Dinheiro da mao: %d Saldo bancario: %d", bInfo[playerid][Senha], bInfo[playerid][Dinheiro], bInfo[playerid][Saldo]);
- return 1;
- }
- return 0;
- }
- stock Salvar(playerid)
- {
- if(!DOF2_FileExists(Contas(playerid)))
- {
- DOF2_CreateFile(Contas(playerid));
- Salvar(playerid);
- return 1;
- }
- DOF2_SetInt(Contas(playerid),"Senha", bInfo[playerid][Senha] );
- DOF2_SetInt(Contas(playerid),"Saldo", bInfo[playerid][Saldo] );
- DOF2_SetBool(Contas(playerid),"Cadastrado", bInfo[playerid][Cadastrado]);
- DOF2_SetInt(Contas(playerid),"Dinheiro", bInfo[playerid][Dinheiro]);
- DOF2_SaveFile();
- return 1;
- }
- stock Load(playerid)
- {
- bInfo[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha");
- bInfo[playerid][Saldo] = DOF2_GetInt(Contas(playerid), "Saldo");
- bInfo[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
- bInfo[playerid][Cadastrado] = DOF2_GetBool(Contas(playerid), "Cadastrado");
- return 1;
- }
- stock Contas(playerid)
- {
- new ArQ[50];
- format(ArQ, 50, "Contas/%s.ini", pNome(playerid));
- return ArQ;
- }
- stock pNome(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement