Optimized and converted to FiveM Key Mappings

This commit is contained in:
Jim Shield
2022-08-18 14:14:21 +01:00
committed by GitHub
parent 76b5849d8b
commit b35ffcce0b

View File

@@ -106,38 +106,117 @@ end)
}, distance = 2.5, }) }, distance = 2.5, })
end)]] end)]]
local Attached = false RegisterKeyMapping('skategetoff', 'Skateboard: Get Off', 'keyboard', 'G')
RegisterNetEvent("jim-skateboard:GetOn", function() RegisterCommand('skategetoff', function()
loadAnimDict("move_strafe@stealth") if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
loadAnimDict("move_crouch_proto") if not IsEntityInAir(skateboard.Entity) then
TaskPlayAnim(PlayerPedId(), "move_strafe@stealth", "idle", 8.0, 8.0, -1, 1, 1.0, false, false, false)
AttachEntityToEntity(PlayerPedId(), skateboard.Entity, 20, 0.0, 0.15, 0.05, 0.0, 0.0, -15.0, true, true, false, true, 1, true)
SetEntityCollision(PlayerPedId(), true, true)
Attached = true
CreateThread(function()
while Attached do
StopCurrentPlayingAmbientSpeech(skateboard.Driver)
local x = GetEntityRotation(skateboard.Entity).x
local y = GetEntityRotation(skateboard.Entity).y
if (-40.0 < x and x > 40.0) or (-40.0 < y and y > 40.0) then
DetachEntity(PlayerPedId(), false, false) DetachEntity(PlayerPedId(), false, false)
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1) TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 100)
Attached = false Attached = false
StopAnimTask(PlayerPedId(), "move_strafe@stealth", "idle", 1.0) StopAnimTask(PlayerPedId(), "move_strafe@stealth", "idle", 1.0)
SetPedToRagdoll(PlayerPedId(), 5000, 4000, 0, true, true, false)
end end
end
end)
if IsControlJustReleased(0, 113) then DetachEntity(PlayerPedId(), false, false) end local forward = false
local overSpeed = (GetEntitySpeed(skateboard.Entity)*3.6) > 90 RegisterKeyMapping('skateforward', 'Skateboard: Forward', 'keyboard', 'W')
RegisterCommand('+skateforward', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) and not overSpeed then
CreateThread(function()
if not forward then
forward = true
while forward do
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 9, 0.1)
Wait(50)
end
else return end
end)
end
end)
RegisterCommand('-skateforward', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
forward = false
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1) TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1)
ForceVehicleEngineAudio(skateboard.Entity, 0)
if IsControlPressed(0, 87) and not IsControlPressed(0, 88) and not overSpeed then
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 9, 1)
end end
if IsControlPressed(0, 22) then end)
-- Jump system local backward = false
RegisterKeyMapping('+skatebackward', 'Skateboard: Backward', 'keyboard', 'S')
RegisterCommand('+skatebackward', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) and not overSpeed then
CreateThread(function()
if not backward then
backward = true
while backward do
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 22, 0.1)
Wait(50)
end
else return end
end)
end
end)
RegisterCommand('-skatebackward', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
backward = false
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1)
end
end)
local left = false
RegisterKeyMapping('+skateleft', 'Skateboard: Left', 'keyboard', 'A')
RegisterCommand('+skateleft', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) and not overSpeed then
CreateThread(function()
if not left then
left = true
while left do
if backward then
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 13, 0.1)
elseif forward then
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 7, 0.1)
else
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 4, 0.1)
end
Wait(50)
end
else return end
end)
end
end)
RegisterCommand('-skateleft', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
left = false
end
end)
local right = false
RegisterKeyMapping('+skateright', 'Skateboard: Right', 'keyboard', 'D')
RegisterCommand('+skateright', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) and not overSpeed then
CreateThread(function()
if not right then
right = true
while right do
if backward then
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 14, 0.1)
elseif forward then
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 8, 0.1)
else
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 5, 0.1)
end
Wait(50)
end
else return end
end)
end
end)
RegisterCommand('-skateright', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
right = false
end
end)
RegisterKeyMapping('skatejump', 'Skateboard: Jump', 'keyboard', 'SPACE')
RegisterCommand('skatejump', function()
if IsEntityAttachedToEntity(PlayerPedId(), skateboard.Entity) then
if not IsEntityInAir(skateboard.Entity) then if not IsEntityInAir(skateboard.Entity) then
local vel = GetEntityVelocity(skateboard.Entity) local vel = GetEntityVelocity(skateboard.Entity)
TaskPlayAnim(PlayerPedId(), "move_crouch_proto", "idle_intro", 5.0, 8.0, -1, 0, 0, false, false, false) TaskPlayAnim(PlayerPedId(), "move_crouch_proto", "idle_intro", 5.0, 8.0, -1, 0, 0, false, false, false)
@@ -155,15 +234,34 @@ RegisterNetEvent("jim-skateboard:GetOn", function()
TaskPlayAnim(PlayerPedId(), "move_strafe@stealth", "idle", 8.0, 2.0, -1, 1, 1.0, false, false, false) TaskPlayAnim(PlayerPedId(), "move_strafe@stealth", "idle", 8.0, 2.0, -1, 1, 1.0, false, false, false)
end end
end end
if IsControlJustReleased(0, 87) or IsControlJustReleased(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 6, 2500) end end)
if IsControlPressed(0, 88) and not IsControlPressed(0, 87) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 22, 1) end
if IsControlPressed(0, 89) and IsControlPressed(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 13, 1) end local Attached = false
if IsControlPressed(0, 90) and IsControlPressed(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 14, 1) end local overSpeed
if IsControlPressed(0, 87) and IsControlPressed(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 30, 100) end RegisterNetEvent("jim-skateboard:GetOn", function()
if IsControlPressed(0, 89) and IsControlPressed(0, 87) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 7, 1) end loadAnimDict("move_strafe@stealth")
if IsControlPressed(0, 90) and IsControlPressed(0, 87) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 8, 1) end loadAnimDict("move_crouch_proto")
if IsControlPressed(0, 89) and not IsControlPressed(0, 87) and not IsControlPressed(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 4, 1) end TaskPlayAnim(PlayerPedId(), "move_strafe@stealth", "idle", 8.0, 8.0, -1, 1, 1.0, false, false, false)
if IsControlPressed(0, 90) and not IsControlPressed(0, 87) and not IsControlPressed(0, 88) and not overSpeed then TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 5, 1) end AttachEntityToEntity(PlayerPedId(), skateboard.Entity, 20, 0.0, 0.15, 0.05, 0.0, 0.0, -15.0, true, true, false, true, 1, true)
SetEntityCollision(PlayerPedId(), true, true)
Attached = true
CreateThread(function()
while Attached do
StopCurrentPlayingAmbientSpeech(skateboard.Driver)
local x = GetEntityRotation(skateboard.Entity).x
local y = GetEntityRotation(skateboard.Entity).y
if (-40.0 < x and x > 40.0) or (-40.0 < y and y > 40.0) then
DetachEntity(PlayerPedId(), false, false)
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1)
Attached = false
StopAnimTask(PlayerPedId(), "move_strafe@stealth", "idle", 1.0)
SetPedToRagdoll(PlayerPedId(), 5000, 4000, 0, true, true, false)
end
--if IsControlJustReleased(0, 113) then DetachEntity(PlayerPedId(), false, false) end
overSpeed = (GetEntitySpeed(skateboard.Entity)*3.6) > 90
TaskVehicleTempAction(skateboard.Driver, skateboard.Entity, 1, 1)
ForceVehicleEngineAudio(skateboard.Entity, 0)
if not DoesEntityExist(skateboard.Entity) then if not DoesEntityExist(skateboard.Entity) then
Attached = false Attached = false
@@ -183,7 +281,7 @@ RegisterNetEvent("jim-skateboard:GetOn", function()
Attached = false Attached = false
StopAnimTask(PlayerPedId(), "move_strafe@stealth", "idle", 1.0) StopAnimTask(PlayerPedId(), "move_strafe@stealth", "idle", 1.0)
end end
Wait(7) Wait(100)
end end
end) end)
end) end)