🚨Ez-PoliceJob
L'installation de ce scripts est le même procédé pour les jobs : - EzPoliceJob ! - EzSheriffJob ! Veuillez suivre cette documentation pour les deux scripts cités ci-dessus !
Configuration :
Ce script est très simple a installer sur votre serveur FiveM, que vous soyez en localhost, sur un VPS ou bien sur une machine dédiée FiveM !
Configurez d'abord le nom de votre serveur ! - Ligne #8 :
ServerNameInRP = "WestSide",
Vous utilisez esx_identity ? - Ligne #16 :
EnableESXIdentity = true,
Vous êtes en capacité de changer le nom du job : - Ligne #22 :
JobName = "police",
SocietyName = "society_police",
Configurez l'ésthetique du Menu F6 : - Ligne #25 à #44 :
--------------------------
-- menu Interactions/F6 --
--------------------------
MenuServiceEnOX = true, -- possibilités de passer le menu d'acceuil dédié aux citoyens en Ox ou en Rageui (false = RageUI - true = Menu OX)
TypeOfProgress = 'Circle', -- Customisation du OX_Progress (progress bar),
-- Trois choix possible :
-- - 'Bar' = ProgressBar rectangulaire avec description
-- - 'Circle' = ProgressBar ronde sans description mais avec pourcentage !
-- - 'Aucune' = Aucune ProgressBar
ToucheParDefautMenuInteraction = 'F7',
MenuTitle = 'POLICE',
MenuColor = '6A6EFF', -- https://htmlcolorcodes.com/fr/ | Prendre les couleurs en #FF0000 !
TempsPourLireLesDroit = 10000, -- temps pendant lequel les droit miranda sont affichés ! (en ms)
-- Customisation du système de crochetage de véhicule by Benderoooo :D --
SkillCheckForLockpick = {'easy', {areaSize = 40, speedMultiplier = 0.75}, {areaSize = 55, speedMultiplier = 1.2}, {areaSize = 40, speedMultiplier = 1.4},},
-- ^^ ce referer a la documentation ox sur les skill check ! https://overextended.dev/ox_lib/Modules/Interface/Client/skillcheck
Configurez les grades de certaines fonctionnalités : - Ligne #46 & #100 :
----------------------------------------------------------
-- Grade pour acceder a certaines fonctionalités du Job --
----------------------------------------------------------
GradePointBoss = 7,
GradePointArmurerie = 1,
GradePointBracelet = 0,
-- Perms Camera
GradePointCamera = 0,
-- Perms Casier Perso
GradePointCasier = 1,
-- Perms Coffre
GradePointCoffre = 1,
-- Perms Casier Judiciaire
GradeForCasierJudiciaire = 1,
-- Perms Camera
GradeForSecurityCamera = 1,
-- Config Vestiaire
GradePointVestiaire = 0,
-- Perms A.D.R
GradePourAvisDeRecherche = 1, -- grade gestion ADR
-- Grade Garage
GradePointGarage = 0,
-- Grade Garage Hélico
GradePointGarageHeli = 1,
-- Grade Garage Bateaux
GradePointGarageBateau = 1,
-- Grade Gestion des permis
GradePointGestionPermis = 1,
-- Grade BDD
GradePointBaseDeDonne = 1,
-- Grade ???
GradePointExtra = 1,
-- Grade Menu Props
GradeMenuObjets = 0,
-- Grade Menu Chien
GradeMenuChien = 1,
-- Chien Custom (chop par défaut)
HashOfCustomDog = 351016938,
-- Grade Pour gestion interventions
GradeMenuIntervention = 7,
GradeMenuLicences = 1,
GradeEnvoieFacture = 1, -- effectuer des factures
-- Poser des radars
GradeMenuRadar = 0,
GradeMenuFourriere = 0, -- envoyer les véhicules en fourrière
-- Crochetage des véhicules fermés
GradeMenuCrocheter = 0, -- crocheter les véhicules fermer
GradeRecherchePlaque = 0, -- NEW CONFIG
GradePourTargetFouille = 0,
-- Other
GradePourCameraHelico = 1,
-- Message d'erreur si le joueur n'a pas le grade necessaires :
ErrorForGrade = "Vous n'avez pas le grade requis pour vérifier ce genre de choses, veuillez vous réferer à quelqu'un de plus haute gradés !",
Configurez les liens des webhooks Discord pour les logs : - Ligne #103 à #129:
--------------------------------------------------
--------- Config Logs
--------------------------------------------------
logs = {
---- Point menu
Armurerie = "",
Boss = "",
Camera = "",
Casier = "",
Coffre = "",
AcceuilPolice = "",
GestionPermis = "",
CasierPolice = "",
--
PriseTenueGAV = "",
-- ^^ -- Logs prise de tenue de G.A.V
---------------- F6 & Co
PriseFinService = "",
AvisDeRecherche = "",
FactureAmende = "",
},
Configurez la totalité des positions : - Ligne #221 à #239:
Config.pos = {
adrmenu = vector3(840.52789306641, -1305.5543212891, 28.188259124756), -- tcheck [RAGEUI]
menuPermisInfo = vector3(838.41033935547, -1299.1547851563, 28.187459945679), -- tchek [RAGEUI]
armurerie = vector3(836.05755615234, -1286.8448486328, 28.281639099121), -- tcheck [RAGEUI]
bossmenu = vector3(856.07171630859, -1300.8112792969, 28.127754211426), -- tchek [RAGEUI]
coffreperso = vector3(852.66827392578, -1312.4132080078, 28.369386672974), -- tchek [OX]
coffrecommun = vector3(840.61254882813, -1286.1125488281, 28.375410079956), -- tchek [OX]
casierjudiciaire = vector3(852.87744140625, -1292.4477539063, 28.14342880249), -- tchek [RAGEUI]
cameraview = vector3(842.84423828125, -1299.3912353516, 28.188060760498), -- tcheck [RAGEUI]
tenueGav = vector3(834.71368408203, -1295.3033447266, 28.244918823242), -- tchek [RAGEUI]
vestiaire = vector3(845.10925292969, -1286.3443603516, 28.248874664307), -- tchek [OX]
plainterdv = vector3(836.57336425781, -1289.0986328125, 28.299808502197), -- tchek [RAGEUI/OX]
garagevoiture = vector3(870.8583984375, -1350.4412841797, 26.306943893433),
garageheli = vector3(827.48046875, -1407.9948730469, 25.555910491943),
garagebateau = vector3(-778.62042236328, -1494.8626708984, 1.9765459299088),
extrascustom = { position = {x = 823.81317138672, y = -1372.2250976563, z = 26.138072967529} }
}
Configurez les tenues dédiée aux job police : - Ligne #247 à #598 :
Config.TenueName = {
Tenue1 = '1ére Tenue',
Tenue2 = '2ème Tenue',
Tenue3 = '3ème Tenue',
Tenue4 = '4ème Tenue',
Tenue5 = '5ème Tenue',
Tenue6 = '6ème Tenue',
Tenue7 = '7ème Tenue',
TenueCivile = 'Remettre votre tenue Civile',
GPBAdd = 'Mettre un Gilet Pare-Balles',
GPBRemove = 'Enlever le Gillet Pare-Balles'
}
Config.TenueGrade = {
Tenue1 = 0,
Tenue2 = 7,
Tenue3 = 7,
Tenue4 = 7,
Tenue5 = 7,
Tenue6 = 7,
Tenue7 = 7,
TenueCivile = 7,
GPBAdd = 7,
GPBRemove = 7
}
TenueCivile = function()
ESX.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin, jobSkin)
TriggerEvent('skinchanger:loadSkin', skin)
end)
end
TenueSansGPB = function()
local model = GetEntityModel(PlayerPedId())
TriggerEvent('skinchanger:getSkin', function(skin)
if model == GetHashKey("mp_m_freemode_01") then
clothesSkin = {
['bproof_1'] = 0,
}
else
clothesSkin = {
['bproof_1'] = 0,
}
end
TriggerEvent('skinchanger:loadClothes', skin, clothesSkin)
end)
end
TenueAvecGPB = function()
local model = GetEntityModel(PlayerPedId())
TriggerEvent('skinchanger:getSkin', function(skin)
if model == GetHashKey("mp_m_freemode_01") then
clothesSkin = {
['bproof_1'] = 80,
}
else
clothesSkin = {
['bproof_1'] = 0,
}
end
TriggerEvent('skinchanger:loadClothes', skin, clothesSkin)
end)
end
Tenue1 = function()
local model = GetEntityModel(PlayerPedId())
TriggerEvent('skinchanger:getSkin', function(skin)
if model == GetHashKey("mp_m_freemode_01") then
clothesSkin = {
['tshirt_1'] = 127, ['tshirt_2'] = 0,
['torso_1'] = 311, ['torso_2'] = 0,
['decals_1'] = 0, ['decals_2'] = 0,
['arms'] = 1,
['pants_1'] = 136, ['pants_2'] = 0,
['shoes_1'] = 119, ['shoes_2'] = 0,
['helmet_1'] = -1, ['helmet_2'] = 0,
['bags_1'] = 71, ['bags_2'] = 0,
['mask_1'] = 129, ['mask_2'] = 0,
['chain_1'] = 8, ['chain_2'] = 0,
['bproof_1'] = 0,
['ears_1'] = -1, ['ears_2'] = 0,
}
else
clothesSkin = {
['bags_1'] = 0, ['bags_2'] = 0,
['tshirt_1'] = 15,['tshirt_2'] = 2,
['torso_1'] = 65, ['torso_2'] = 2,
['arms'] = 36, ['arms_2'] = 0,
['pants_1'] = 38, ['pants_2'] = 2,
['shoes_1'] = 12, ['shoes_2'] = 6,
['mask_1'] = 0, ['mask_2'] = 0,
['bproof_1'] = 0,
['chain_1'] = 0,
['helmet_1'] = -1, ['helmet_2'] = 0,
}
end
TriggerEvent('skinchanger:loadClothes', skin, clothesSkin)
end)
end
Configurez les voitures/hélicoptères/bateaux : - Ligne #604 à #625 :
police = {
vehicles = { -- category = Separator en rageui
car = { -- Label = nom ig qui apparaitra sur le bouton
{model = "police2", label = "Dodge Charger ", minimum_grade = 0, restockprice = 1000},
{model = "police3", label = "Ford Explorer ", minimum_grade = 0, restockprice = 1000},
{model = "police4", label = "Vapid Cruiser (Banalisé) ", minimum_grade = 0, restockprice = 1000},
{model = "police5", label = "Dodge Charger (Banalisé) ", minimum_grade = 0, restockprice = 1000},
{model = "police6", label = "Chevrolet Tahoe (K9) ", minimum_grade = 0, restockprice = 1000},
{model = "police7", label = "Ford Crown Vitoria ", minimum_grade = 0, restockprice = 1000},
{model = "policeb", label = "Police Moto v2 (Traffic Units)", minimum_grade = 3, restockprice = 1000},
{model = "Riot", label = "Blinder", minimum_grade = 2, restockprice = 12000},
},
helico = {
{category = "↓ ~b~Hélicoptère(s) ~s~↓"}, -- Model = nom de spawn du véhicule
{model = "polmav", label = "Hélico du LSPD", minimum_grade = 0, restockprice = 1000}
},
bateaux = {
{category = "↓ ~b~Bateau(x) ~s~↓"}, -- Model = nom de spawn du véhicule
{model = "predator", label = "Predator du LSPD", minimum_grade = 0, restockprice = 1000}
}
}
}
Configurez les chiens de l'unité K9 : - Ligne #630 à #644 :
Config.Dog = {
Job = 'police',
Model = 351016938,
TpDistance = 50.0,
Sit = {
dict = 'creatures@rottweiler@amb@world_dog_sitting@base',
anim = 'base'
},
Drugs = {'coke1g', 'coke10g', 'cokebrick', 'opium1g', 'opium10g', 'opiumbrick', 'weed4g', 'weed20g', 'weedbrick', 'crack1g', 'crack10g', 'crackbrick', 'heroine1g', 'heroine10g', 'heroinebrick', 'ketamine1g', 'ketamine10g', 'ketaminebrick', 'lsd1g', 'lsd10g', 'lsdbrick', 'meth1g', 'meth10g', 'methbrick', 'morphine1g', 'morphine10g', 'morphinebrick', 'leanflacon', 'lean10g', 'lean1g', 'shitplaque', 'shit10g', 'shit1g'}, -- ajouter la drogue détectable ici ! (sous forme de nom item)
}
Strings = {
['no_drugs'] = 'Aucun indice de drogues trouvé.',
['drugs_found'] = 'Votre chien a trouvé une trace de drogues !'
}
Configurez le système d'intéractions en ox_target : - Ligne #662 à #690 :
EzConfig = {}
EzConfig.EnableHandcuffTimer = true -- Enable handcuff timer? will unrestrain player after the time ends.
EzConfig.HandcuffTimer = 10 * 60000 -- 10 minutes.
EzConfig.NormalColor = '6AEFFF'
EzConfig.PoliceColor = '6A6EFF'
EzConfig.ShowNotificationText = "La personne doit être menottée où lever les bras"
EzConfig.RequiredItem = "Vous avez besoin de menotte ou d'une corde"
EzConfig.Unrestrained_timer = "Vous sentez que vos menottes deviennent fragiles"
EzConfig.search = "Fouiller l'individu"
EzConfig.searchcops = "Fouiller de force"
EzConfig.search_img = "fa-solid fa-person"
EzConfig.handcuff = "Menotter"
EzConfig.handcuff_img = "fa-solid fa-handcuffs"
EzConfig.escort = "Escorter"
EzConfig.escort_img = "fa-solid fa-people-pulling"
EzConfig.putveh = "Mettre dans véhicule"
EzConfig.putveh_img = "fa-solid fa-people-pulling"
EzConfig.ID = "Regarder carte identité"
EzConfig.ID_img = "fa-solid fa-id-card"
EzConfig.ID_driver = "Regarder permis de conduire"
EzConfig.ID_driver_img = "fa-solid fa-id-card-clip"
EzConfig.outveh = "Sortir du véhicule"
EzConfig.outveh_img = "fa-solid fa-people-pulling"
EzConfig.billing_title = "Facture"
EzConfig.input = "Entrer une valeur"
EzConfig.billing = "Faire une facture"
EzConfig.billing_img = "fa-solid fa-euro-sign"
EzConfig.Unemployed = "Vous êtes pas dans une entreprise"
Configurez le système d'intéractions en ox_target : - Ligne #698 à #727 :
Config.discordwebhooklink = "" -- lien logs
Config.CentreDeLaPrison = vector3(831.84643554688, -1299.0463867188, 28.245313644409) -- position du millieu de la prison pour eviter les évasions !
Config.PosRetraitDetention = vector3(835.42822265625, -1295.5721435547, 27.244916915894) -- position de Unjail
Config.PosMiseEnDetention = vector3(831.73614501953, -1301.5067138672, 27.244915008545) -- position de Jail
Config.JailTimeSyncInterval = 60000 * 1 -- pas touche
Config.NotMenuForTenueGav = false -- si false, menu ox pour ce mettre en tenue gav, si true, pas de menu et application de la tenue a la mise en détention ;)
Config.Uniforms = { -- Pour changer la tenue en prison
prison_wear = {
male = {
['tshirt_1'] = 15, ['tshirt_2'] = 0,
['torso_1'] = 146, ['torso_2'] = 0,
['decals_1'] = 0, ['decals_2'] = 0,
['arms'] = 0, ['pants_1'] = 3,
['pants_2'] = 7, ['shoes_1'] = 12,
['shoes_2'] = 12, ['chain_1'] = 50,
['chain_2'] = 0
},
female = {
['tshirt_1'] = 3, ['tshirt_2'] = 0,
['torso_1'] = 38, ['torso_2'] = 3,
['decals_1'] = 0, ['decals_2'] = 0,
['arms'] = 2, ['pants_1'] = 3,
['pants_2'] = 15, ['shoes_1'] = 66,
['shoes_2'] = 5, ['chain_1'] = 0,
['chain_2'] = 2
}
}
}
Dernière mise à jour