24.11.2013, 21:14
pawn Код:
#define MAX_FUEL 100.0
if(strcmp(cmdtext, "/refuel", true) == 0)
{
new vehicleid;
if(!(vehicleid = GetPlayerVehicleID(playerid))) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}You need to be in vehicle to use this command.");
else if(IsRefuelling[playerid]) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}You are already refueling!");
else if(!IsPlayerInRangeOfGasStations(playerid)) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}You are not near any gas pump.");// credits goes to "Konstantinos" - he helped me to detect coords..
else if(Carinfo[vehicleid][F] >= 99) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}Your fuel tank is full!");
else if(engine == 1) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}You need to turn off engine befure refueling your vehicle!");
else
{
//KillTimer(GasTimer[playerid]); // It will kill timer to avoid any bugs
switch(Carinfo[vehicleid][F])
{
case 0..10: GasPrice = 500;
case 11..20: GasPrice = 450;
case 21..30: GasPrice = 400;
case 31..40: GasPrice = 350;
case 41..50: GasPrice = 300;
case 51..60: GasPrice = 250;
case 61..70: GasPrice = 200;
case 71..80: GasPrice = 150;
case 81..90: GasPrice = 100;
default: GasPrice = 50;
}
if(GetPlayerMoney(playerid) < GasPrice) SendClientMessage(playerid, COLOR_RED,"{FF6A22}INFO: {FFFFFF}You don't have enough money.");
else{
IsRefuelling[playerid] = true;
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Refuelling...", 1000, 5);
SetTimerEx("RefuelVehicle", 5000, 0, "df", playerid, (MAX_FUEL-Carinfo[vehicleid][F]));
}
}
return 1;
}
public RefuelVehicle(playerid, Float:fuela)
{
new string[128];
Carinfo[vehicleid][F] = 100.0;
IsRefuelling[playerid] = false;
GivePlayerMoney(playerid, -GasPrice);
TogglePlayerControllable(playerid, 1);
format(string, sizeof(string), "Your vehicle is refuel! You paid $%d!", GasPrice);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "%d liters", _:fuela); // or replace %d to %.0f and remove _:
SendClientMessage(playerid, COLOR_YELLOW, string);
GasPrice = 0;
return 1;
}