function toggleLightflash()
local veh = getPedOccupiedVehicle(localPlayer);
if (veh) then
if not (getElementData(veh, "lightFlash:color")) then
setElementData(veh, "lightFlash:color", (0, 0, 255), false);
end
local isLightFlashing = getElementData(veh, "lightFlash");
if (isLightFlashing) then
setVehicleOverrideLights(veh, 0);
local lightTimer = getElementData(veh, "lightFlash:timer");
killTimer(lightTimer);
setElementData(veh, "lightFlash", false, false);
setVehicleLightState(veh, 0, 0);
setVehicleLightState(veh, 1, 0);
setVehicleHeadLightColor(veh, 255, 255, 255);
else
setVehicleOverrideLights(veh, 2);
setElementData(veh, "lightFlash:state", false, false);
local lightFlashTimer = setTimer(function()
local flashState = getElementData(veh, "lightFlash:state");
local lightColor = getElementData(veh, "lightFlash:color");
if (lightColor[1] == 255) then
lightColor[1], lightColor[2], lightColor[3] = 0, 0, 255;
else
lightColor[1], lightColor[2], lightColor[3] = 255, 0, 0;
end
setVehicleHeadLightColor(veh, lightColor[1], lightColor[2], lightColor[3]);
if (flashState) then
setVehicleLightState(veh, 0, 0);
setVehicleLightState(veh, 1, 1);
else
setVehicleLightState(veh, 0, 1);
setVehicleLightState(veh, 1, 0);
end
setElementData(veh, "lightFlash:color", lightColor, false);
setElementData(veh, "lightFlash:state", not flashState, false);
end, 250, 0);
setElementData(veh, "lightFlash:timer", lightFlashTimer, false);
setElementData(veh, "lightFlash", true, false);
end
end
end
bindKey("l", "down", toggleLightflash);