Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ~~~~~~~~~~~~~~~~ • Sistema de Posto • ~~~~~~~~~~~~~~~~
- » Autor: Deus;
- » Programador: Bryan (Hardware);
- » Ideia: Wendell Rocha.
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- */
- #include <a_samp>
- #include <zcmd>
- #include <cpstream>
- #define PrecoGNV 1.70
- #define PrecoGasC 2.45
- #define PrecoGasA 2.50
- #define PrecoDiesel 2.10
- #define PrecoEtanol 2.00
- #define DialogCombustivel 7
- #define DialogGNV 8
- #define DialogGasC 9
- #define DialogGasA 10
- #define DialogDiesel 11
- #define DialogEtanol 12
- #define ExtratoCombustivel 13
- enum TiposC
- {
- GNV,
- GasolinaC,
- GasolinaA,
- Diesel,
- Etanol
- };
- new TCombustivel[MAX_VEHICLES][TiposC];
- forward PlayerNoPosto();
- new bool:CilindroGNV[MAX_PLAYERS];
- new CheckCilindro;
- public OnFilterScriptInit()
- {
- print("\n\n~~~~~~~~~~ Sistema Combustível carregado! ~~~~~~~~~~");
- print("» Programador: Bryan (Hardware)");
- print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
- SetTimer("PlayerNoPosto",1000,true);
- CheckCilindro = CPS_AddCheckpoint(1352.2036,-1758.7800,13.5078,2.0,80);
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("~~~~~~~~~~ Sistema Combustível descarregado ~~~~~~~~~~");
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- if(CPS_IsPlayerInCheckpoint(playerid,CheckCilindro))
- {
- SendClientMessage(playerid,-1,"| INFO | Digite /comprarcilindro");
- SendClientMessage(playerid,-1,"| INFO | Valor: R$ 750,00.");
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new Valor,Float:Gastou,sGas[100];
- if(dialogid == DialogCombustivel)
- {
- if(response)
- {
- if(listitem == 0)
- {
- if(!CilindroGNV[playerid]) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Para abastecer GNV, precisar ter o Cilindro antes!");
- if((Aeronaves(vehicleid) || Motocicletas(vehicleid))) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Este veículo não pode ser abastecido de GNV!");
- ShowPlayerDialog(playerid,DialogGNV,DIALOG_STYLE_INPUT,"- Gás Natural Veicular (GNV)","{FF8080}Obs:O GNV é medido por cm³. Então, 1000 cm³ = 1 Litro.\n{FFFFFF}Digite a quantidade que deseja de GNV:","Confirmar","Sair");
- }
- if(listitem == 1)
- {
- ShowPlayerDialog(playerid,DialogGasC,DIALOG_STYLE_INPUT,"- Gasolina Comum","{FFFFFF}Digite a quantidade de Gasolina Comum:","Confirmar","Sair");
- }
- if(listitem == 2)
- {
- ShowPlayerDialog(playerid,DialogGasA,DIALOG_STYLE_INPUT,"- Gasolina Aditivada","{FFFFFF}Digite a quantidade Gasolina Aditivada:","Confirmar","Sair");
- }
- if(listitem == 3)
- {
- if(VeiculoDiesel(vehicleid))
- {
- ShowPlayerDialog(playerid,DialogDiesel,DIALOG_STYLE_INPUT,"- Diesel","{FFFFFF}Digite a quantidade de Diesel:","Confirmar","Sair");
- }
- else
- {
- SendClientMessage(playerid,0xFF0000AA,"| ERRO | O combustível Diesel é somente para caminhões, ônibus e vans.");
- }
- }
- if(listitem == 4)
- {
- if(Aeronaves(vehicleid)) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Este veículo não pode ser abastecido de Etanol!");
- ShowPlayerDialog(playerid,DialogEtanol,DIALOG_STYLE_INPUT,"- Etanol","{FFFFFF}Digite a quantidade de Etanol:","Confirmar","Sair");
- }
- }
- }
- if(dialogid == DialogGNV)
- {
- Valor = strval(inputtext);
- if(Valor > 80) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer GNV é de 80cm³/80Litros");
- else if(TCombustivel[vehicleid][GNV] + Valor > 80 ) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o cilindro cheio!");
- if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não pode abastecer um valor negativo!");
- Gastou = Valor * PrecoGNV;
- if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- format(sGas,sizeof sGas,"{FFFFFF}Você tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GNV],Valor,floatround(Gastou,floatround_round));
- ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustível",sGas,"Fechar","");
- TCombustivel[vehicleid][GNV] += Valor;
- GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
- return 1;
- }
- if(dialogid == DialogGasC)
- {
- Valor = strval(inputtext);
- if(Motocicletas(vehicleid))
- {
- if(Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer uma Motocicleta é 50Litros!");
- if(TCombustivel[vehicleid][GasolinaC] + Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- else if(Aeronaves(vehicleid))
- {
- if(Valor > 350) SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer uma Aeronave é 350 Litros!");
- if(TCombustivel[vehicleid][GasolinaC] + Valor > 350) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- else
- {
- if(Valor > 100) SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer um Automóvel é 100 Litros!");
- if(TCombustivel[vehicleid][GasolinaC] + Valor > 100) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não pode abastecer um valor negativo!");
- Gastou = Valor * PrecoGasC;
- if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- format(sGas,sizeof sGas,"{FFFFFF}Você tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GasolinaC],Valor,floatround(Gastou,floatround_round));
- ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustível",sGas,"Fechar","");
- TCombustivel[vehicleid][GasolinaC] += Valor;
- GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
- return 1;
- }
- if(dialogid == DialogGasA)
- {
- Valor = strval(inputtext);
- if(Motocicletas(vehicleid))
- {
- if(Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer uma Motocicleta é 50Litros!");
- if(TCombustivel[vehicleid][GasolinaA] + Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- else if(Aeronaves(vehicleid))
- {
- if(Valor > 350) SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer uma Aeronave é 350 Litros!");
- if(TCombustivel[vehicleid][GasolinaA] + Valor > 350) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- else
- {
- if(Valor > 100) SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer um Automóvel é 100 Litros!");
- if(TCombustivel[vehicleid][GasolinaA] + Valor > 100) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não pode abastecer um valor negativo!");
- Gastou = Valor * PrecoGasA;
- if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- format(sGas,sizeof sGas,"{FFFFFF}Você tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][GasolinaA],Valor,floatround(Gastou,floatround_round));
- ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustível",sGas,"Fechar","");
- TCombustivel[vehicleid][GasolinaA] += Valor;
- GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
- return 1;
- }
- if(dialogid == DialogDiesel)
- {
- Valor = strval(inputtext);
- if(Valor > 150) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer um caminhão, ônibus e afins é 150 Litros!");
- if(TCombustivel[vehicleid][Diesel] + Valor > 150) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não pode abastecer um valor negativo!");
- Gastou = Valor * PrecoDiesel;
- if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- format(sGas,sizeof sGas,"{FFFFFF}Você tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][Diesel],Valor,floatround(Gastou,floatround_round));
- ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustível",sGas,"Fechar","");
- TCombustivel[vehicleid][Diesel] += Valor;
- GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
- return 1;
- }
- if(dialogid == DialogEtanol)
- {
- Valor = strval(inputtext);
- if(Motocicletas(vehicleid))
- {
- if(Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer uma Motocicleta é 50Litros!");
- if(TCombustivel[vehicleid][Etanol] + Valor > 50) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- else
- {
- if(Valor > 100) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Valor máximo para abastecer um Automóvel é 100 Litros!");
- if(TCombustivel[vehicleid][Etanol] + Valor > 100) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Desculpe, mas você já está com o tanque cheio!");
- }
- if(Valor < 0) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não pode abastecer um valor negativo!");
- Gastou = Valor * PrecoEtanol;
- if(GetPlayerMoney(playerid) < Gastou) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- format(sGas,sizeof sGas,"{FFFFFF}Você tinha {8080FF}%d{FFFFFF} e abasteceu {8080FF}%d. {FFFFFF}Valor pago: {8080FF}R$ %d", TCombustivel[vehicleid][Etanol],Valor,floatround(Gastou,floatround_round));
- ShowPlayerDialog(playerid,ExtratoCombustivel,DIALOG_STYLE_MSGBOX,"Extrato do combustível",sGas,"Fechar","");
- TCombustivel[vehicleid][Etanol] += Valor;
- GivePlayerMoney(playerid, floatround(Gastou,floatround_round));
- return 1;
- }
- return 1;
- }
- CMD:abastecer(playerid,params[])
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(IsPlayerInRangeOfPoint(playerid,15.0,1936.8785,-1769.0784,13.3828))
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não está em um veículo!");
- if(Bicicleta(vehicleid)) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Não pode abastecer uma bicicleta!");
- ShowPlayerDialog(playerid,DialogCombustivel,DIALOG_STYLE_LIST,"Tipos de Combustíveis","- Gás Natural Veicular (GNV)\n- Gasolina Comum\n- Gasolina Aditivada\n- Diesel\n- Etanol","Escolher","Sair");
- }
- else
- {
- SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não está em um Posto de Combustível!");
- }
- return 1;
- }
- CMD:tabelapreco(playerid,params[])
- {
- SendClientMessage(playerid,0xFFFFFFAA,"~~~~~~~{FF8040} Tabela de preços {FFFFFF}~~~~~~~");
- SendClientMessage(playerid,0xFFFFFFAA,"• Gás Natural Veicular(GNV):{808080} R$ 1,70");
- SendClientMessage(playerid,0xFFFFFFAA,"• Gasolina Comum:{808080} R$ 2,45");
- SendClientMessage(playerid,0xFFFFFFAA,"• Gasolina Aditivada:{808080} R$ 2,50");
- SendClientMessage(playerid,0xFFFFFFAA,"• Diesel:{808080} R$ 2,10");
- SendClientMessage(playerid,0xFFFFFFAA,"• Etanol:{808080} R$ 2,00");
- SendClientMessage(playerid,0xFFFFFFAA,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
- return 1;
- }
- CMD:comprarcilindro(playerid,params[])
- {
- if(!CPS_IsPlayerInCheckpoint(playerid,CheckCilindro)) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não está no Checkpoint!");
- if(GetPlayerMoney(playerid) < 750) return SendClientMessage(playerid,0xFF0000AA,"| ERRO | Você não tem dinheiro suficiente!");
- CilindroGNV[playerid] = true;
- SendClientMessage(playerid,0x008040AA,"| INFO | Parabéns, você adquiriu um cilindro de 'Gás Natural Veicular' (GNV)!");
- GivePlayerMoney(playerid,-750);
- return 1;
- }
- stock Motocicletas(vehicleid)
- {
- switch(GetVehicleModel(vehicleid))
- {
- case 461,462,463,468,471,521,522,523,581,586: return 1;
- }
- return 0;
- }
- stock Aeronaves(vehicleid)
- {
- switch(GetVehicleModel(vehicleid))
- {
- case 593,592,577,563,553,548,520,519,513, 512,511,497,488,487,476,469,460,447,425,417:return 1;
- }
- return 0;
- }
- stock Bicicleta(vehicleid)
- {
- switch(GetVehicleModel(vehicleid))
- {
- case 481,509,510:return 1;
- }
- return 0;
- }
- stock VeiculoDiesel(vehicleid)
- {
- switch(GetVehicleModel(vehicleid))
- {
- case 403,406,407,408,414,416,423,427,428,433,437,444,455,456,498,499,508,514,515,524,525,544,552,556,557,573,578,681,609: return 1;
- }
- return 0;
- }
- public PlayerNoPosto()
- {
- for(new x = 0; x < MAX_PLAYERS; x++)
- {
- if(!IsPlayerConnected(x)) continue;
- {
- if(IsPlayerInRangeOfPoint(x,20.0,1936.8785,-1769.0784,13.3828))
- {
- GameTextForPlayer(x,"[~r~P~w~osto de ~r~G~w~asolina ~n~ Use ~g~/abastecer",1000,3);
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement