set stand alone to false, pick apart the citizen interaction to alter what you have in your server and what you don’t and this will allow all cops access to the k9. If you want only certain people to have access to the dog, then set your ace permissions and set to true for standalone in the ar_k9 script, and you will be good to go. Anyone without AcePermissions can access the k9 menu, but not be able to spawn a dog.
function OpenPoliceActionsMenu()
local elements = {
{label = _U(‘citizen_interaction’), value = ‘citizen_interaction’},
{label = _U(‘vehicle_interaction’), value = ‘vehicle_interaction’},
{label = _U(‘object_spawner’), value = ‘object_spawner’},
----{label = _U(‘Jail Menu’), value = ‘jail_menu’},
{label = _U(‘k9_interaction’), value = ‘k9_interaction’},
}
ESX.UI.Menu.CloseAll()
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'police_actions', {
title = 'Police',
align = 'bottom-right',
elements = elements
}, function(data, menu)
if data.current.value == 'citizen_interaction' then
local elements = {
--{label = ('Cuff'), value = 'ruskicuff'},
{label = ('Uncuff'), value = 'handcuff'},
{label = _U('drag'), value = 'drag'},
{label = _U('gsr_test'), value = 'gsr_test'},
{label = _U('id_card'), value = 'identity_card'},
{label = _U('search'), value = 'body_search'},
{label = _U('put_in_vehicle'), value = 'put_in_vehicle'},
{label = _U('out_the_vehicle'), value = 'out_the_vehicle'},
{label = _U('fine'), value = 'fine'},
{label = _U('revive player'), value = 'revive'},
{label = _U('jail_menu'), value = 'jail_menu'},
{label = "Community Service", value = 'communityservice'},
{label = _U('unpaid_bills'), value = 'unpaid_bills'},
{label = 'Criminal Records', value = 'criminalrecords'},
}
if Config.EnableLicenses then
table.insert(elements, { label = _U('license_check'), value = 'license' })
end
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'citizen_interaction', {
title = _U('citizen_interaction'),
align = 'right',
elements = elements
}, function(data2, menu2)
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
if closestPlayer ~= -1 and closestDistance <= 2.0 then
local action = data2.current.value
if data2.current.value == 'revive' then
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer()
local closestPlayerPed = GetPlayerPed(closestPlayer)
local health = GetEntityHealth(closestPlayerPed)
if health == 0 then
local playerPed = GetPlayerPed(-1)
Citizen.CreateThread(function()
ESX.ShowNotification(_U('revive_inprogress'))
TaskStartScenarioInPlace(playerPed, 'CODE_HUMAN_MEDIC_TEND_TO_DEAD', 0, true)
Wait(10000)
ClearPedTasks(playerPed)
if GetEntityHealth(closestPlayerPed) == 0 then
TriggerServerEvent('esx_ambulancejob:revive', GetPlayerServerId(closestPlayer))
ESX.ShowNotification(_U('revive_complete'))
else
ESX.ShowNotification(_U('isdead'))
end
end)
end
end
if action == 'identity_card' then
OpenIdentityCardMenu(closestPlayer)
elseif action == 'body_search' then
TriggerServerEvent('esx_policejob:message', GetPlayerServerId(closestPlayer), _U('being_searched'))
OpenBodySearchMenu(closestPlayer)
--elseif action == 'ruskicuff' then
--TriggerServerEvent('esx_ruski_areszt:startAreszt', GetPlayerServerId(closestPlayer)) -- Rozpoczyna Funkcje na Animacje (Cala Funkcja jest Powyzej^^^)
--Citizen.Wait(3000)
--TriggerServerEvent('InteractSound_SV:PlayWithinDistance', 2.0, 'cuff', 0.7)
--TriggerServerEvent('esx_policejob:handcuff', GetPlayerServerId(closestPlayer))
elseif action == 'handcuff' then
TriggerServerEvent('esx_policejob:handcuff', GetPlayerServerId(closestPlayer))
elseif action == 'drag' then
TriggerServerEvent('esx_policejob:drag', GetPlayerServerId(closestPlayer))
elseif action == 'gsr_test' then
TriggerServerEvent('GSR:Status2', GetPlayerServerId(closestPlayer))
elseif action == 'put_in_vehicle' then
TriggerServerEvent('esx_policejob:putInVehicle', GetPlayerServerId(closestPlayer))
elseif action == 'out_the_vehicle' then
TriggerServerEvent('esx_policejob:OutVehicle', GetPlayerServerId(closestPlayer))
elseif action == 'fine' then
OpenFineMenu(closestPlayer)
elseif action == 'jail_menu' then
TriggerEvent("esx-qalle-jail:openJailMenu")
elseif action == 'communityservice' then
SendToCommunityService(GetPlayerServerId(closestPlayer))
elseif action == 'license' then
ShowPlayerLicense(closestPlayer)
elseif action == 'unpaid_bills' then
OpenUnpaidBillsMenu(closestPlayer)
elseif action == 'criminalrecords' then
TriggerEvent('esx_criminalrecords:open')
end
else
ESX.ShowNotification(_U('no_players_nearby'))
end
end, function(data2, menu2)
menu2.close()
end)
elseif data.current.value == 'k9_interaction' then
local elements = {
{label = 'Spawn K9', value = 'k9spawn'},
{label = 'K9 Follow', value = 'k9follow'},
{label = 'K9 Stay', value = 'k9stay'},
{label = 'K9 Search Vehicle', value = 'k9sehveh'},
{label = 'K9 Search Citizen', value = 'k9sehcit'},
{label = 'K9 Enter Vehicle', value = 'k9enterveh'},
{label = 'K9 Exit Vehicle', value = 'k9exitveh'},
{label = 'K9 Dismiss', value = 'k9delete'}
}
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'k9_interaction', {
title = 'K9 Actions',
align = 'bottom-right',
elements = elements
}, function(data2, menu2)
local action = data2.current.value
if action == 'k9spawn' then
ExecuteCommand('k9 spawn shepherd')
elseif action == 'k9follow' then
ExecuteCommand('k9 follow')
elseif action == 'k9stay' then
ExecuteCommand('k9 stay')
elseif action == 'k9sehveh' then
ExecuteCommand('k9 search vehicle')
elseif action == 'k9sehcit' then
ExecuteCommand('k9 search player')
elseif action == 'k9enterveh' then
ExecuteCommand('k9 enter')
elseif action == 'k9exitveh' then
ExecuteCommand('k9 exit')
elseif action == 'k9delete' then
ExecuteCommand('k9 delete')
end
end, function(data2, menu2)
menu2.close()
end)