Hi,
I was wondering if someone could help me with adding RegisterKeyMapping to seatbelts? I have the seatbelts done for IsControlJustReleased and I want to do it so you can change the keybind but can’t figure it out.
Seatbelt code:
Citizen.CreateThread(function()
local currSpeed = 0.0
local prevVelocity = {x = 0.0, y = 0.0, z = 0.0}
local seatbeltIsOn = false
while true do
Citizen.Wait(0)
local player = GetPlayerPed(-1)
local position = GetEntityCoords(player)
local vehicle = GetVehiclePedIsIn(player, false)
if IsPedInAnyVehicle(player, false) then
pedInVeh = true
else
pedInVeh = false
seatbeltIsOn = false
end
if pedInVeh or locationAlwaysOn then
drawTxt(locationText, 4, locationColorText, 0.5, screenPosX, screenPosY + 0.075)
local vehicleClass = GetVehicleClass(vehicle)
if pedInVeh and GetIsVehicleEngineRunning(vehicle) and vehicleClass ~= 13 then
local prevSpeed = currSpeed
currSpeed = GetEntitySpeed(vehicle)
SetPedConfigFlag(PlayerPedId(), 32, true)
if IsControlJustReleased(0, 311) and (GetLastInputMethod(0)) and vehicleClass ~= 8 then
seatbeltIsOn = not seatbeltIsOn
if seatbeltPlaySound then
PlaySoundFrontend(-1, "Faster_Click", "RESPAWN_ONLINE_SOUNDSET", 1)
end
end
if not seatbeltIsOn then
local vehIsMovingFwd = GetEntitySpeedVector(vehicle, true).y > 1.0
local vehAcc = (prevSpeed - currSpeed) / GetFrameTime()
if (vehIsMovingFwd and (prevSpeed > (45.0/2.237)) and (vehAcc > (100*9.81))) then
SetEntityCoords(player, position.x, position.y, position.z - 0.47, true, true, true)
SetEntityVelocity(player, prevVelocity.x, prevVelocity.y, prevVelocity.z)
Citizen.Wait(1)
SetPedToRagdoll(player, 1000, 1000, 0, 0, 0, 0)
else
prevVelocity = GetEntityVelocity(vehicle)
end
elseif seatbeltDisableExit then
DisableControlAction(0, 75)
end
if ShouldUseMetricMeasurements() then
local speed = currSpeed*2.23694
local speedColor = (speed >= speedLimit) and speedColorOver or speedColorUnder
drawTxt(("%.3d"):format(math.ceil(speed)), 2, speedColor, 0.7, screenPosX + 0.000, screenPosY + 0.040)
drawTxt("MPH", 2, speedColorText, 0.4, screenPosX + 0.024, screenPosY + 0.053)
end
local fuelColor = (currentFuel >= fuelWarnLimit) and fuelColorOver or fuelColorUnder
drawTxt(("%.3d"):format(math.ceil(currentFuel)), 2, fuelColor, 0.7, screenPosX + 0.045, screenPosY + 0.040)
drawTxt("FUEL", 2, fuelColorText, 0.4, screenPosX + 0.070, screenPosY + 0.053)
if vehicleClass ~= 8 then
local seatbeltColor = seatbeltIsOn and seatbeltColorOn or seatbeltColorOff
if seatbeltIsOn then
drawTxt("SEATBELT OFF", 2, seatbeltColor, 0.3, screenPosX + 0.000, screenPosY + 0.027)
else
drawTxt("SEATBELT ON", 2, seatbeltColor, 0.3, screenPosX + 0.000, screenPosY + 0.027)
end
end
end
end
end
end)