21.11.2012, 19:17
As title says, I can't seem to kill this timer and the engine still comes on.
The timer I'm trying to kill is "EngineOn".
What I done was On CMD:eoff I tried doing KillTimer(EngineOn(playerid));
It didn't work...
TIMER
The timer I'm trying to kill is "EngineOn".
What I done was On CMD:eoff I tried doing KillTimer(EngineOn(playerid));
It didn't work...
pawn Код:
CMD:eon(playerid, params[])
{
if(LoggedIn[playerid] == 0)return SendClientMessage(playerid, COLOUR_GREY, "You must be logged in to use this command.");
if(IsRefuelling[playerid] == 1)return SendClientMessage(playerid, COLOUR_GREY, "You may not turn your engine on as you are refuelling.");
printf("checks if refueling");
new string[128];
new vehicleid = GetPlayerVehicleID(playerid);
new name = GetVehicleModel(vehicleid) - 400;
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOUR_GREY, "You are not the driver.");
printf("checks player state");
if(EngineStartStatus[vehicleid] == 1)return SendClientMessage(playerid, COLOUR_GREY, "The engine is already on.");
printf("checks engine");
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOUR_GREY, "You are not in a vehicle.");
printf("checks if in vehicle.");
if(VehFuel[vehicleid] > 0)
{
KillTimer(SpeedoSysTimer[playerid]);
KillTimer(FuelSysTimer[playerid]);
TextDrawDestroy(enginestring);
if(EngineStartStatus[vehicleid] == 1)
{
GameTextForPlayer(playerid, "~g~Engine starting...", 2500, 5);
SetTimerEx("EngineOn", 3000, false, "i", playerid);
format(string, sizeof(string), "* %s turns the %s's ignition key...", GetNameEx(playerid), VehicleNames[name]);
ProxDetector(30.0, playerid, string, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE);
}
}
else if(VehFuel[vehicleid] == 0)
{
EngineStartStatus[vehicleid] = 0;
SendClientMessage(playerid, COLOUR_REALRED, "Your vehicle is out of fuel..");
format(string, sizeof(string), "* The %s has run out of fuel and failed to start.", VehicleNames[name]);
ProxDetector(30.0, playerid, string, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE);
}
return 1;
}
pawn Код:
CMD:eoff(playerid, params[])
{
if(LoggedIn[playerid] == 0) return SendClientMessage(playerid, COLOUR_GREY, "You must be logged in to use this command.");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOUR_GREY, "You are not in a vehicle.");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOUR_GREY, "You are not the driver.");
new string[128];
new vehicleid = GetPlayerVehicleID(playerid);
new VehID = MySQL_GetValue(vehicleid, "id", "vehicles");
if(VehOwned[playerid] ==1)
{
if(strcmp(VehOwner[VehID], GetName(playerid), true))
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOUR_GREY, "You can not control this vehicles engine.");
}
}
if(EngineStartStatus[vehicleid] == 0)return SendClientMessage(playerid, COLOUR_GREY, "The engine is already off.");
new name = GetVehicleModel(vehicleid) - 400;
EngineStartStatus[vehicleid] = 0;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
GameTextForPlayer(playerid, "~r~Engine off", 1000, 5);
KillTimer(SpeedoSysTimer[playerid]);
KillTimer(FuelSysTimer[playerid]);
TextDrawDestroy(enginestring);
TextDrawHideForPlayer(playerid,speed[playerid]);
TextDrawHideForPlayer(playerid,fuel[playerid]);
VehicleSQLID[vehicleid] = MySQL_GetValue(VehicleSQLID[vehicleid], "id", "vehicles");
MySQL_SetInteger(VehicleSQLID[vehicleid], "VehFuel", VehFuel[vehicleid], "vehicles");
format(string, sizeof(string), "* %s has turned the %s's engine off.", GetNameEx(playerid), VehicleNames[name]);
ProxDetector(30.0, playerid, string, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE);
return 1;
}
pawn Код:
forward EngineOn(playerid);
public EngineOn(playerid)
{
new string[128];
new vehicleid = GetPlayerVehicleID(playerid);
new name = GetVehicleModel(vehicleid) - 400;
GameTextForPlayer(playerid, "~g~Engine started!", 1500, 5);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
EngineStartStatus[vehicleid] = 1;
SpeedoSysTimer[playerid] = SetTimerEx("SpeedoUpdate", 300, true, "i", playerid);
FuelSysTimer[playerid] = SetTimerEx("FuelUpdate", 30000, true, "i", playerid);
SetTimer("FuelSave", 4000, 1);
TextDrawShowForPlayer(playerid,speed[playerid]);
TextDrawShowForPlayer(playerid,fuel[playerid]);
format(string, sizeof(string), "* %s has turned the %s's engine on.", GetNameEx(playerid), VehicleNames[name]);
ProxDetector(30.0, playerid, string, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE, COLOUR_PURPLE);
return 1;
}