forked from Simnation/Main
37 lines
No EOL
1.5 KiB
Lua
37 lines
No EOL
1.5 KiB
Lua
local QBCore = exports['qb-core']:GetCoreObject()
|
|
|
|
local function tackleAnim()
|
|
local ped = PlayerPedId()
|
|
if not HasAnimDictLoaded("swimming@first_person@diving") then
|
|
RequestAnimDict("swimming@first_person@diving")
|
|
while not HasAnimDictLoaded("swimming@first_person@diving") do
|
|
Wait(10)
|
|
end
|
|
end
|
|
if IsEntityPlayingAnim(ped, "swimming@first_person@diving", "dive_run_fwd_-45_loop", 3) then
|
|
ClearPedTasksImmediately(ped)
|
|
else
|
|
TaskPlayAnim(ped, "swimming@first_person@diving", "dive_run_fwd_-45_loop", 3.0, 3.0, -1, 49, 0, false, false, false)
|
|
Wait(250)
|
|
ClearPedTasksImmediately(ped)
|
|
SetPedToRagdoll(ped, 150, 150, 0, false, false, false)
|
|
end
|
|
end
|
|
|
|
RegisterCommand('tackle', function()
|
|
local closestPlayer, distance = QBCore.Functions.GetClosestPlayer()
|
|
local ped = PlayerPedId()
|
|
if distance ~= -1 and distance < 2 and GetEntitySpeed(ped) > 2.5 and not IsPedInAnyVehicle(ped, false) and not QBCore.Functions.GetPlayerData().metadata.ishandcuffed and not IsPedRagdoll(ped) then
|
|
TriggerServerEvent("tackle:server:TacklePlayer", GetPlayerServerId(closestPlayer))
|
|
tackleAnim()
|
|
end
|
|
end)
|
|
|
|
RegisterKeyMapping('tackle', 'Tackle Someone', 'KEYBOARD', 'LMENU')
|
|
|
|
RegisterNetEvent('tackle:client:GetTackled', function()
|
|
SetPedToRagdoll(PlayerPedId(), math.random(1000, 6000), math.random(1000, 6000), 0, false, false, false)
|
|
TimerEnabled = true
|
|
Wait(1500)
|
|
TimerEnabled = false
|
|
end) |