Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*~~~~~~~~~~~~[INCLUDES]~~~~~~~~~~~~*/
- #include <a_samp>
- #include <zcmd>
- #include <DOF2>
- #define FILTERSCRIPT
- #if defined FILTERSCRIPT
- /*~~~~~~~~~~~~~[DEFINES]~~~~~~~~~~~~*/
- #define Spd ShowPlayerDialog
- #define Msg SendClientMessage
- #define DialogBanco 970
- #define BBB 0xFFFFFFFF
- #define VAV 0xFF0000FF
- #define VVV 0x3CB371FF
- #define ZZZ 0x00C2ECFF
- #define AAA 0xFFFF00FF
- #define CCC 0xCECECEFF
- /*~~~~~~~~~~~~[VARIAVES]~~~~~~~~~~~~*/
- enum pinfo{
- Banco
- };
- new Str[500];
- new InfoBank[MAX_PLAYERS][pinfo];
- public OnFilterScriptInit()
- {
- print("\n ======================================================");
- print(" | |");
- print(" | FilterScript Banco DOF2 Versao Completa |");
- print(" | |");
- print(" | * Criador:SkayBr * |");
- print(" | |");
- print(" ======================================================\n");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- CreateObject(2942, 1928.5932, -1784.4282, 13.1647, 0.0000, 0.0000, 89.8000);
- Create3DTextLabel("Use: /Banco", BBB, 1928.5932, -1784.4282, 13.1647, 25,0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i = 0; i < MAX_PLAYERS; ++i)
- {
- SalvarBanco(i);
- }
- DOF2_Exit();
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- InfoBank[playerid][Banco] = DOF2_GetInt(PachBanco(playerid),"Banco");
- Msg(playerid,AAA,"[FS] • Banco ON");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarBanco(playerid);
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0,1928.5932, -1784.4282, 13.1647)) return DisablePlayerCheckpoint(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DialogBanco)
- {
- if(response)
- {
- if(listitem == 0)/*[Depositar]*/
- {
- format(Str, sizeof(Str), "Saldo Bancario: {FFFFFF}R${32CD32}%s\n\n{FFFFFF}Quanto deseja depositar?",ConvertReal(InfoBank[playerid][Banco]));
- Spd(playerid,DialogBanco+1,1,"Depositar", Str, "Selet","Voltar");
- }
- if(listitem == 1)/*[Sacar]*/
- {
- format(Str, sizeof(Str), "Saldo Bancario: {FFFFFF}R${32CD32}%s\n\n{FFFFFF}Quanto deseja Sacar?",ConvertReal(InfoBank[playerid][Banco]));
- Spd(playerid,DialogBanco+2,1,"Sacar", Str, "Selet","Voltar");
- }
- if(listitem == 2)/*[Saldo Banco]*/
- {
- format(Str, sizeof(Str),"Saldo Bancario: {FFFFFF}R${32CD32}%s",ConvertReal(InfoBank[playerid][Banco]));
- Spd(playerid,DialogBanco+3,0,"Saldo Banco", Str, "Voltar",#);
- }
- if(listitem == 3)/*[Transferir]*/
- {
- format(Str, sizeof(Str),"Digite o ID do jogador que deseja tranferir o dinheiro",ConvertReal(InfoBank[playerid][Banco]));
- Spd(playerid,DialogBanco+4,1,"Transferir", Str, "Selet","Voltar");
- }
- }
- }
- if(dialogid == DialogBanco+1)
- {
- if(response)
- {
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- if(!IsNumeric(inputtext)) return SendClientMessage(playerid, CCC, "{Banco] • Digite Apenas Numeros!");
- if(strlen(inputtext) > 7) return SendClientMessage(playerid, CCC, "{Banco] • Valor Invalido!");
- if(GetPlayerMoney(playerid) < strval(inputtext)) return Msg(playerid,CCC,"[Banco] • Você não pode depositar mais do que tem!");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- new Anterior = InfoBank[playerid][Banco];
- InfoBank[playerid][Banco] += strval(inputtext);
- GivePlayerMoney(playerid, - strval(inputtext));
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- format(Str, sizeof(Str),"Voce depositou {FFFFFF}R${32CD32}%s{FFFFFF}, na sua conta bancaria",ConvertReal(strval(inputtext)));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario atual: {FFFFFF}R${32CD32}%s",ConvertReal(InfoBank[playerid][Banco]));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario anterior: {FFFFFF}R${32CD32}%s",ConvertReal(Anterior));
- Msg(playerid,-1,Str);
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- }
- else
- {
- BancoEx(playerid);
- }
- }
- if(dialogid == DialogBanco+2)
- {
- if(response)
- {
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- if(!IsNumeric(inputtext)) return SendClientMessage(playerid, CCC, "{Banco] • Digite Apenas Numeros!");
- if(strlen(inputtext) > 7) return SendClientMessage(playerid, CCC, "{Banco] • Valor Invalido!");
- if(InfoBank[playerid][Banco] < strval(inputtext)) return Msg(playerid,CCC,"[Banco] • Você não pode sacar mais do que tem!");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- new Anterior = InfoBank[playerid][Banco];
- GivePlayerMoney(playerid, strval(inputtext));
- InfoBank[playerid][Banco] -= strval(inputtext);
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- format(Str, sizeof(Str),"Voce Sacou {FFFFFF}R${32CD32}%s, {FFFFFF}na sua conta bancaria",ConvertReal(strval(inputtext)));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario atual {FFFFFF}R${32CD32}%s",ConvertReal(InfoBank[playerid][Banco]));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario anterior {FFFFFF}R${32CD32}%s",ConvertReal(Anterior));
- Msg(playerid,-1,Str);
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- }
- else
- {
- BancoEx(playerid);
- }
- }
- if(dialogid == DialogBanco+3)
- {
- if(response)
- {
- BancoEx(playerid);
- }
- }
- if(dialogid == DialogBanco+4)
- {
- if(response)
- {
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- new id;
- id = strval(inputtext);
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- if(!IsNumeric(inputtext)) return SendClientMessage(playerid, CCC, "{Banco] • ID Invalido!");
- if(strlen(inputtext) > 3) return SendClientMessage(playerid, CCC, "{Banco] • ID Invalido!");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VAV, "[Banco] • Jogador Offline");
- if(id == playerid) return SendClientMessage(playerid, CCC, "[Banco] • Voce nao pode trasnferir dinheiro para si mesmo!");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- format(Str, sizeof(Str),"Saldo Bancario: {FFFFFF}R${32CD32}%s\n\n{FFFFFF}Transferir Dineheiro para {00C2EC}%s\n\n{FFFFFF}Quanto deseja traferir?",ConvertReal(InfoBank[playerid][Banco]),pName(id));
- Spd(playerid,DialogBanco+5,1,"Transferir", Str, "Selet","Voltar");
- SetPVarInt(playerid, "IdTransferiu", id);
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- }
- }
- if(dialogid == DialogBanco+5)
- {
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- if(!IsNumeric(inputtext)) return SendClientMessage(playerid, CCC, "{Banco] • Digite Apenas Numeros!");
- if(strlen(inputtext) > 3) return SendClientMessage(playerid, CCC, "{Banco] • ID Invalido!");
- if(InfoBank[playerid][Banco] < strval(inputtext)) return Msg(playerid,CCC,"[Banco] • Você não pode tranferir mais do que tem!");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- new Anterior = InfoBank[playerid][Banco];
- InfoBank[playerid][Banco] -= strval(inputtext);
- InfoBank[GetPVarInt(playerid, "IdTransferiu")][Banco] += strval(inputtext);
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- format(Str, sizeof(Str),"Voce transferiu {FFFFFF}R${32CD32}%s{FFFFFF}, Para: {00C2EC}%s",ConvertReal(strval(inputtext)), pName(GetPVarInt(playerid, "IdTransferiu")));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario atual {FFFFFF}R${32CD32}%s",ConvertReal(InfoBank[playerid][Banco]));
- Msg(playerid,-1,Str);
- format(Str, sizeof(Str),"Saldo bancario anterior {FFFFFF}R${32CD32}%s",ConvertReal(Anterior));
- Msg(playerid,-1,Str);
- Msg(playerid,VVV,"~~~~~~~~~~~~~~~~~~[ INFO BANCO ]~~~~~~~~~~~~~~~~~~");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- format(Str,sizeof(Str), "[Banco] • Voce recebeu {FFFFFF}R${32CD32}%s{FFFF00}, na sua conta bancaria do jogador %s",ConvertReal(strval(inputtext)),pName(playerid));
- Msg(GetPVarInt(playerid, "IdTransferiu"),AAA, Str);
- DeletePVar(playerid, "IdTransferiu");
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- }
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[COMANDO]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- CMD:banco(playerid)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0,1928.5932, -1784.4282, 13.1647))
- {
- BancoEx(playerid);
- }
- else
- {
- Msg(playerid,CCC,"Voce nao esta no banco ou uma caixa eletronica, Use: /lcaixa");
- }
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[COMANDO]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- CMD:lcaixa(playerid)
- {
- SetPlayerCheckpoint(playerid, 1928.5932, -1784.4282, 13.1647, 2.0);
- Msg(playerid,AAA,"[Gps] • Caixa eletronica localizada no mapa");
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- BancoEx(playerid)
- {
- Spd(playerid,DialogBanco,2,"Banco","Depositar Dinheiro\nSacar Dinheiro\nSaldo Bancario\nTransferir Dinheiro","Selet","Exit");
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- SalvarBanco(playerid)
- {
- if(!DOF2_FileExists(PachBanco(playerid))) DOF2_CreateFile(PachBanco(playerid));
- DOF2_SetInt(PachBanco(playerid),"Banco",InfoBank[playerid][Banco]);/*[]*/
- DOF2_SaveFile();
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- PachBanco(playerid)
- {
- new string[100];
- format(string, 100, "Banco/%s.ini", pName(playerid));
- return string;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- pName(playerid)
- {
- new Nome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
- return Nome;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- ConvertReal(value, const text[] = ".")
- {
- new Var[20];
- format(Var, sizeof(Var), "%d", value);
- for(new X = strlen(Var) - 3; X > 0; X -= 3)
- strins(Var, text, X);
- format(Var, sizeof(Var), "%s", Var);
- return Var;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[FUNCOES]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
- #endif
Add Comment
Please, Sign In to add comment