Код:} CMD:refuel(playerid, params[]) { if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); new engine,lights,alarm,doors,bonnet,boot,objective; GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); if(engine == VEHICLE_PARAMS_ON) return SendClientMessageEx(playerid, COLOR_RED, "You need to shut off the engine before filling up (/car engine)."); if(!IsAtFuelStation(playerid)) return SendClientMessageEx(playerid, COLOR_RED, "You're not at a fuel station."); if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_RED,"This vehicle doesn't need fuel."); if(VehicleFuel[vehicleid] >= 100.0) return SendClientMessageEx(playerid, COLOR_RED, "This vehicle's tank is already full."); if(RefuelingVehicle[playerid] == 1) return SendClientMessageEx(playerid, COLOR_RED, "You are refilling your vehicle's tank."); SendClientMessageEx(playerid, COLOR_WHITE, "Refueling your vehicle's tank, please wait."); RefuelingVehicle[playerid] = 1; RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, true, "i", playerid); } return 1;
} stock StopRefueling(playerid) { GivePlayerCash(playerid, -100); SendClientMessage(playerid, COLOR_WHITE,"Your vehicle's tank has been refilled for $100."); new mypoint = -1; for (new i=0; i<MAX_POINTS; i++) { if(strcmp(Points[i][Name], "Fossil Fuel Company", true) == 0) { mypoint = i; } } for(new i = 0; i < sizeof(FamilyInfo); i++) { if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0) { FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(RefuelingVehiclePrice[playerid]/10); } } RefuelingVehicle[playerid] = 0; RefuelingVehiclePrice[playerid] = 0; KillTimer(RefuelingVehicleTimer[playerid] = 6000); return true; }
SendFormattedMessage(playerid, COLOR_WHITE,"Your vehicle's tank has been refilled for $100.");
SendClientMessage(playerid, COLOR_WHITE,"Your vehicle's tank has been refilled for $100.");
KillTimer(RefuelingVehicleTimer[playerid] = 6000);
KillTimer(RefuelingVehicleTimer[playerid]);
Not sure
![]() pawn Код:
pawn Код:
|
RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, true, "i", playerid);
RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, false, "i", playerid);
pawn Код:
pawn Код:
|
KillTimer(RefuelingVehicleTimer[playerid]);
If you analyze it better you'd see that he has a StopRefueling function. If you use common sense you'd realize that he wants it to repeat.
Show all the code, and properly this time. It's hard to find the problem with what you gave us. You can kill the timer with (Once you've refueled your vehicle): pawn Код:
|
If you paid even more attention you would see that he tried that didn't work and it's ridiclous he's repeating the timer then killing it, why doing that when you can cut it from the first.
|
pawn Код:
pawn Код:
|
RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, false, "i", playerid);
} forward ReFill(playerid); public ReFill(playerid) { if(!IsAtFuelStation(playerid) || !IsPlayerInAnyVehicle(playerid) || VehicleFuel[GetPlayerVehicleID(playerid)] >= 100.0 || GetPlayerCash(playerid) < 1) { StopRefueling(playerid); } else { new engine,lights,alarm,doors,bonnet,boot,objective; GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); if(engine == VEHICLE_PARAMS_ON) return StopRefueling(playerid); VehicleFuel[GetPlayerVehicleID(playerid)] += 1.0; RefuelingVehiclePrice[playerid] += 30; if(VehicleFuel[GetPlayerVehicleID(playerid)] >= 100.0) VehicleFuel[GetPlayerVehicleID(playerid)] = 100.0; } return true;