Olá galera, hoje venho trazer um FS para RP/G que talvez poderá diferenciar seu servidor se o mesmo estiver criatividade.
Esse FS é de Banco/Caixa Eletrônico poderá ter bugs
Obs: A versão v.2.0 estará disponível em breve aqui.
Havia postado no fórum antigo mas foi excluído..
Código:
#include <DOF2>
#include <zcmd>
#include <cpstream>
#define PASTA_CONTAS "Banco/%s.ini"
#define DIALOG_BANCO 1001
#define DIALOG_BANCO_SALDO 2001
#define DIALOG_BANCO_SAQUE 3001
#define DIALOG_BANCO_DEPOSITO 4001
public OnFilterScriptInit()
{
print("\n---------------------------------------------------------------");
print(" Filterscripter Banco by LuanRosa#7777 (RosaScripter)");
print("---------------------------------------------------------------\n");
DisableInteriorEnterExits();
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerSpawn(playerid) {
new aname[MAX_PLAYER_NAME], file[80];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_CONTAS, aname);
if(!DOF2_FileExists(file)) {
DOF2_CreateFile(file);
DOF2_SetInt(file, "Saldo", 500);
GivePlayerMoney(playerid, 300);
DOF2_SaveFile();
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == KEY_YES) {//Apertando Y
if(IsPlayerInRangeOfPoint(playerid, 3.0, Float:x, Float:y, Float:z)) {//Menu Banco
ShowPlayerDialog(playerid, DIALOG_BANCO, DIALOG_STYLE_LIST, "{2fcc38}Banco", "Saldo\nSacar\nDepositar\n", "Selecionar", "Cancelar");
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == DIALOG_BANCO) {
switch(listitem) {
case 0: { // Saldo
if(response) {
new aname[MAX_PLAYER_NAME], file[80], string[200], Hora, Minuto, Segundo, Dia, Mes, Ano;
gettime(Hora, Minuto, Segundo);
getdate(Ano, Mes, Dia);
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_CONTAS, aname);
format(string, sizeof(string), "{FFFFFF}Banco {0fbefe}Nome Server\n\n\n{FFFFFF}Saldo em Conta {2fcc38}$%d \n\n{FFFFFF}Hora: {8de990}%02d:%02d:%02d \n\n{FFFFFF}Data: {8de990}%02d/%02d/%d", DOF2_GetInt(file, "Saldo"), Hora, Minuto, Segundo, Dia, Mes, Ano);
ShowPlayerDialog(playerid, DIALOG_BANCO_SALDO, DIALOG_STYLE_MSGBOX, "{FFFFFF}Extrato", string, "Sair", "");
return 1;
}
}
case 1: { //Saque
if(response) {
ShowPlayerDialog(playerid, DIALOG_BANCO_SAQUE, DIALOG_STYLE_INPUT, "{2fca38}Saque", "{FFFFFF}Digite a quantia em que você quer sacar", "Sacar", "Cancelar");
}
}
case 2: { //Deposito
if(response) {
ShowPlayerDialog(playerid, DIALOG_BANCO_DEPOSITO, DIALOG_STYLE_INPUT, "{2fca38}Deposito", "{FFFFFF}Digite a quantia em que você quer depositar", "Depositar", "Cancelar");
}
}
}
return 1;
}
if(dialogid == DIALOG_BANCO_SAQUE) {
if(response) {
new aname[MAX_PLAYER_NAME], file[80], string[250], Hora, Minuto, Segundo, Dia, Mes, Ano;
gettime(Hora, Minuto, Segundo);
getdate(Ano, Mes, Dia);
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_CONTAS, aname);
if(strval(inputtext) == 0) return SendClientMessage(playerid, -1, "[x] {FF0000}Você tentou sacar 0 R$ de sua conta!");
if(strval(inputtext) > DOF2_GetInt(file, "Saldo")) return SendClientMessage(playerid, -1, "[x] {FF0000}Você não possui saldo suficiente para saque desta quantia!");
GivePlayerMoney(playerid, strval(inputtext));
DOF2_SetInt(file, "Saldo", (DOF2_GetInt(file, "Saldo")-strval(inputtext)));
DOF2_SaveFile();
format(string, sizeof(string), "{FFFFFF}Banco {0fbefe}Nome Server\n\n\n{FFFFFF}Você sacou {2fcc38}$%d \n\n{FFFFFF}Saldo em Conta {2fcc38}$%d \n\n{FFFFFF}Hora: {8de990}%02d:%02d:%02d \n\n{FFFFFF}Data: {8de990}%02d/%02d/%d", strval(inputtext), DOF2_GetInt(file, "Saldo"), Hora, Minuto, Segundo, Dia, Mes, Ano);
ShowPlayerDialog(playerid, DIALOG_BANCO_SALDO, DIALOG_STYLE_MSGBOX, "{FFFFFF}Saque", string, "Sair", "");
return 1;
}
return 1;
}
if(dialogid == DIALOG_BANCO_DEPOSITO) {
if(response) {
new aname[MAX_PLAYER_NAME], file[80], string[250], Hora, Minuto, Segundo, Dia, Mes, Ano;
gettime(Hora, Minuto, Segundo);
getdate(Ano, Mes, Dia);
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), PASTA_CONTAS, aname);
if(strval(inputtext) == 0) return SendClientMessage(playerid, -1, "[x] {FF0000}Você tentou depositar 0 R$ em sua conta!");
if(strval(inputtext) > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "[x] {FF0000}Você não possui está quantia em mãos para depositar!");
GivePlayerMoney(playerid, -strval(inputtext));
DOF2_SetInt(file, "Saldo", (DOF2_GetInt(file, "Saldo")+strval(inputtext)));
DOF2_SaveFile();
format(string, sizeof(string), "{FFFFFF}Banco {0fbefe}Nome Server\n\n\n{FFFFFF}Você depositou {2fcc38}$%d \n\n{FFFFFF}Saldo em Conta {2fcc38}$%d \n\n{FFFFFF}Hora: {8de990}%02d:%02d:%02d \n\n{FFFFFF}Data: {8de990}%02d/%02d/%d", strval(inputtext), DOF2_GetInt(file, "Saldo"), Hora, Minuto, Segundo, Dia, Mes, Ano);
ShowPlayerDialog(playerid, DIALOG_BANCO_SALDO, DIALOG_STYLE_MSGBOX, "{FFFFFF}Deposito", string, "Sair", "");
return 1;
}
return 1;
}
return 1;
}