mirror of
https://github.com/jimathy/jim-boarding.git
synced 2026-04-05 09:03:58 -04:00
Optimized and converted to FiveM Key Mappings
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user