50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local isCrouching = false
 | 
						|
local walkSet = 'default'
 | 
						|
 | 
						|
local function loadAnimSet(anim)
 | 
						|
    if not HasAnimSetLoaded(anim) then
 | 
						|
        RequestAnimSet(anim)
 | 
						|
        while not HasAnimSetLoaded(anim) do
 | 
						|
            Wait(10)
 | 
						|
        end
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
local function resetAnimSet()
 | 
						|
    local ped = PlayerPedId()
 | 
						|
    ResetPedMovementClipset(ped, 1.0)
 | 
						|
    ResetPedWeaponMovementClipset(ped)
 | 
						|
    ResetPedStrafeClipset(ped)
 | 
						|
 | 
						|
    if walkSet ~= 'default' then
 | 
						|
        loadAnimSet(walkSet)
 | 
						|
        SetPedMovementClipset(ped, walkSet, 1.0)
 | 
						|
        RemoveAnimSet(walkSet)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
RegisterNetEvent('crouchprone:client:SetWalkSet', function(clipset)
 | 
						|
    walkSet = clipset
 | 
						|
end)
 | 
						|
 | 
						|
RegisterCommand('togglecrouch', function()
 | 
						|
    local ped = PlayerPedId()
 | 
						|
    if IsPedSittingInAnyVehicle(ped) or IsPedFalling(ped) or IsPedSwimming(ped) or IsPedSwimmingUnderWater(ped) or IsPauseMenuActive() then
 | 
						|
        return
 | 
						|
    end
 | 
						|
 | 
						|
    ClearPedTasks(ped)
 | 
						|
    if isCrouching then
 | 
						|
        resetAnimSet()
 | 
						|
        SetPedStealthMovement(ped, false, 'DEFAULT_ACTION')
 | 
						|
        isCrouching = false
 | 
						|
    else
 | 
						|
        loadAnimSet('move_ped_crouched')
 | 
						|
        SetPedMovementClipset(ped, 'move_ped_crouched', 1.0)
 | 
						|
        SetPedStrafeClipset(ped, 'move_ped_crouched_strafing')
 | 
						|
        isCrouching = true
 | 
						|
    end
 | 
						|
end, false)
 | 
						|
 | 
						|
-- Optional: Register a keybind so they can press CTRL (36) to toggle
 | 
						|
RegisterKeyMapping('togglecrouch', 'Toggle Crouch', 'keyboard', 'LCONTROL')
 |