-- Created by Deziel0495 and IllusiveTea -- -- NOTICE -- This script is licensed under "No License". https://choosealicense.com/no-license/ -- You are allowed to: Download, Use and Edit the Script. -- You are not allowed to: Copy, re-release, re-distribute it without our written permission. --- DO NOT EDIT THIS local holstered = true -- RESTRICTED PEDS -- -- I've only listed peds that have a remote speaker mic, but any ped listed here will do the animations. local skins = { "s_m_y_cop_01", "s_f_y_cop_01", "s_m_y_hwaycop_01", "s_m_y_sheriff_01", "s_f_y_sheriff_01", "s_m_y_ranger_01", "s_f_y_ranger_01", } -- Add/remove weapon hashes here to be added for holster checks. local weapons = { "WEAPON_PISTOL", "WEAPON_COMBATPISTOL", } -- RADIO ANIMATIONS -- Citizen.CreateThread(function() while true do Citizen.Wait( 0 ) local ped = PlayerPedId() if DoesEntityExist( ped ) and not IsEntityDead( ped ) and CheckSkin(ped) then if not IsPauseMenuActive() then loadAnimDict( "random@arrests" ) if IsControlJustReleased( 0, 19 ) then -- INPUT_CHARACTER_WHEEL (LEFT ALT) TriggerServerEvent('InteractSound_SV:PlayOnSource', 'off', 0.1) ClearPedTasks(ped) SetEnableHandcuffs(ped, false) else if IsControlJustPressed( 0, 19 ) and CheckSkin(ped) and not IsPlayerFreeAiming(PlayerId()) then -- INPUT_CHARACTER_WHEEL (LEFT ALT) TriggerServerEvent('InteractSound_SV:PlayOnSource', 'on', 0.1) TaskPlayAnim(ped, "random@arrests", "generic_radio_enter", 8.0, 2.0, -1, 50, 2.0, 0, 0, 0 ) SetEnableHandcuffs(ped, true) elseif IsControlJustPressed( 0, 19 ) and CheckSkin(ped) and IsPlayerFreeAiming(PlayerId()) then -- INPUT_CHARACTER_WHEEL (LEFT ALT) TriggerServerEvent('InteractSound_SV:PlayOnSource', 'on', 0.1) TaskPlayAnim(ped, "random@arrests", "radio_chatter", 8.0, 2.0, -1, 50, 2.0, 0, 0, 0 ) SetEnableHandcuffs(ped, true) end if IsEntityPlayingAnim(GetPlayerPed(PlayerId()), "random@arrests", "generic_radio_enter", 3) then DisableActions(ped) elseif IsEntityPlayingAnim(GetPlayerPed(PlayerId()), "random@arrests", "radio_chatter", 3) then DisableActions(ped) end end end end end end ) -- HOLD WEAPON HOLSTER ANIMATION -- Citizen.CreateThread( function() while true do Citizen.Wait( 0 ) local ped = PlayerPedId() if DoesEntityExist( ped ) and not IsEntityDead( ped ) and not IsPedInAnyVehicle(PlayerPedId(), true) and CheckSkin(ped) then DisableControlAction( 0, 20, true ) -- INPUT_MULTIPLAYER_INFO (Z) if not IsPauseMenuActive() then loadAnimDict( "reaction@intimidation@cop@unarmed" ) if IsDisabledControlJustReleased( 0, 20 ) then -- INPUT_MULTIPLAYER_INFO (Z) ClearPedTasks(ped) SetEnableHandcuffs(ped, false) SetCurrentPedWeapon(ped, GetHashKey("WEAPON_UNARMED"), true) else if IsDisabledControlJustPressed( 0, 20 ) and CheckSkin(ped) then -- INPUT_MULTIPLAYER_INFO (Z) SetEnableHandcuffs(ped, true) SetCurrentPedWeapon(ped, GetHashKey("WEAPON_UNARMED"), true) TaskPlayAnim(ped, "reaction@intimidation@cop@unarmed", "intro", 8.0, 2.0, -1, 50, 2.0, 0, 0, 0 ) end if IsEntityPlayingAnim(GetPlayerPed(PlayerId()), "reaction@intimidation@cop@unarmed", "intro", 3) then DisableActions(ped) end end end end end end ) -- HOLSTER/UNHOLSTER PISTOL -- Citizen.CreateThread(function() while true do Citizen.Wait(0) local ped = PlayerPedId() if DoesEntityExist( ped ) and not IsEntityDead( ped ) and not IsPedInAnyVehicle(PlayerPedId(), true) and CheckSkin(ped) then loadAnimDict( "rcmjosh4" ) loadAnimDict( "weapons@pistol@" ) if CheckWeapon(ped) then if holstered then TaskPlayAnim(ped, "rcmjosh4", "josh_leadout_cop2", 8.0, 2.0, -1, 48, 10, 0, 0, 0 ) Citizen.Wait(600) ClearPedTasks(ped) holstered = false end SetPedComponentVariation(ped, 9, 0, 0, 0) elseif not CheckWeapon(ped) then if not holstered then TaskPlayAnim(ped, "weapons@pistol@", "aim_2_holster", 8.0, 2.0, -1, 48, 10, 0, 0, 0 ) Citizen.Wait(500) ClearPedTasks(ped) holstered = true end SetPedComponentVariation(ped, 9, 1, 0, 0) end end end end) -- DO NOT REMOVE THESE! -- function CheckSkin(ped) for i = 1, #skins do if GetHashKey(skins[i]) == GetEntityModel(ped) then return true end end return false end function CheckWeapon(ped) for i = 1, #weapons do if GetHashKey(weapons[i]) == GetSelectedPedWeapon(ped) then return true end end return false end function DisableActions(ped) DisableControlAction(1, 140, true) DisableControlAction(1, 141, true) DisableControlAction(1, 142, true) DisableControlAction(1, 37, true) -- Disables INPUT_SELECT_WEAPON (TAB) DisablePlayerFiring(ped, true) -- Disable weapon firing end function loadAnimDict( dict ) while ( not HasAnimDictLoaded( dict ) ) do RequestAnimDict( dict ) Citizen.Wait( 0 ) end end