CMD:stealfuel(playerid, params[])
{
if(PlayerInfo[playerid][pCan] == 1 && PlayerInfo[playerid][pSiphon] == 1)
{
new closestcar = GetClosestCar(playerid);
new string[128];
if(IsPlayerInRangeOfVehicle(playerid, closestcar, 7.0))
{
if(Fuel[closestcar] == 0)
{
format(string,sizeof(string),"* %s opens the bottom of the vehicles gas tank",RPN(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
SendClientMessage(playerid, COLOR_YELLOW,"This vehicle is out of fuel.");
}
else if(Fuel[closestcar] > 0)
{
if(PlayerInfo[playerid][pCanFuel] == 20) return SendClientMessage(playerid, COLOR_YELLOW,"Your gascan is full.");
new Float:FillAmount = 20 - PlayerInfo[playerid][pCanFuel];
if((Fuel[closestcar] - FillAmount) < 0)
{
PlayerInfo[playerid][pCanFuel] += Fuel[closestcar];
Fuel[closestcar] = 0.0;
format(string,sizeof(string),"* %s opens the bottom of the vehicles gas tank, uses their siphon to drain the gasoline into the gascan, but extracts nothing from the empty gastank.",RPN(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
}
else
{
PlayerInfo[playerid][pCanFuel] += FillAmount;
Fuel[closestcar] -= FillAmount;
format(string,sizeof(string),"* %s opens the bottom of the vehicles gas tank, uses their siphon to drain the gasoline into the gascan.",RPN(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
}
}
}
else
{
SendClientMessage(playerid, COLOR_DARKRED,"[SERVER] {FFFFFF}You aren't near any vehicle.");
}
}
else
{
SendClientMessage(playerid, COLOR_DARKRED,"[SERVER] {FFFFFF}Make sure you got a gascan and a siphon in order to steal fuel.");
}
return 1;
}
if(PlayerInfo[playerid][pCanFuel] == 20) return SendClientMessage(playerid, COLOR_YELLOW,"Your gascan is full.");
if(PlayerInfo[playerid][pCanFuel] >= 20) return SendClientMessage(playerid, COLOR_YELLOW,"Your gascan is full.");
But then the second time I use the CMD the fuel that was already in my gascan goes back into the vehicle |
CMD:stealfuel(playerid, params[])
{
#define CAPACITY (20.0)
if(PlayerInfo[playerid][pCan] == 1 && PlayerInfo[playerid][pSiphon] == 1)
{
new closestcar = GetClosestCar(playerid);
new string[128];
if(IsPlayerInRangeOfVehicle(playerid, closestcar, 7.0)) {
if(Fuel[closestcar] == 0)
{
format(string,sizeof(string),"* %s opens the bottom of the vehicles gas tank",RPN(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
return SendClientMessage(playerid, COLOR_YELLOW,"This vehicle is out of fuel.");
}
if(PlayerInfo[playerid][pCanFuel] >= CAPACITY) return SendClientMessage(playerid, COLOR_YELLOW,"Your gascan is full.");
new Float:FillAmount = CAPACITY - PlayerInfo[playerid][pCanFuel];
format(string,sizeof(string),"* %s opens the bottom of the vehicles gas tank, uses their siphon to drain the gasoline into the gascan",RPN(playerid));
if((Fuel[closestcar] - FillAmount) < 0) {
FillAmount = Fuel[closestcar];
strcat(string, ", but extracts nothing from the empty gastank.");
}
PlayerInfo[playerid][pCanFuel] += FillAmount;
Fuel[closestcar] -= FillAmount;
return ProxDetector(30.0, playerid, string, COLOR_PURPLE);
}
else return SendClientMessage(playerid, COLOR_DARKRED,"[SERVER] {FFFFFF}You aren't near any vehicle.");
}
else return SendClientMessage(playerid, COLOR_DARKRED,"[SERVER] {FFFFFF}Make sure you got a gascan and a siphon in order to steal fuel.");
}