diff --git a/resources/[defaultmaps]/moreo_pharmacy/fxmanifest.lua b/resources/[defaultmaps]/moreo_pharmacy/fxmanifest.lua new file mode 100644 index 000000000..9685a3fc8 --- /dev/null +++ b/resources/[defaultmaps]/moreo_pharmacy/fxmanifest.lua @@ -0,0 +1,8 @@ + +fx_version "cerulean" +games { 'gta5' } + +author 'MoreoDesign' +description 'Pharmacy' +version '1.0.0' +this_is_a_map 'yes' diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/_manifest.ymf b/resources/[defaultmaps]/moreo_pharmacy/stream/_manifest.ymf new file mode 100644 index 000000000..bd7cc86ad Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/_manifest.ymf differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/ex_office_03a_metalshelf.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/ex_office_03a_metalshelf.ydr new file mode 100644 index 000000000..95e0a8105 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/ex_office_03a_metalshelf.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/moreo_pharmacy_logo.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/moreo_pharmacy_logo.ydr new file mode 100644 index 000000000..4967e2da5 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/moreo_pharmacy_logo.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/prop_venice_counter_04.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/prop_venice_counter_04.ydr new file mode 100644 index 000000000..584c60077 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/prop_venice_counter_04.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_2_atsm_mesh_bottles.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_2_atsm_mesh_bottles.ydr new file mode 100644 index 000000000..4e1fcb373 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_2_atsm_mesh_bottles.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_53_till.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_53_till.ydr new file mode 100644 index 000000000..234df2d36 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_53_till.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_1.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_1.ydr new file mode 100644 index 000000000..e81cf81fd Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_1.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_2.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_2.ydr new file mode 100644 index 000000000..0eae3c30b Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_ink_2.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_pills.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_pills.ydr new file mode 100644 index 000000000..4568da36b Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_club_vu_pills.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ind_meatwash.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ind_meatwash.ydr new file mode 100644 index 000000000..b6e50f1f2 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ind_meatwash.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod1_.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod1_.ydr new file mode 100644 index 000000000..031f2333b Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod1_.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod2_.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod2_.ydr new file mode 100644 index 000000000..08699490e Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod2_.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod3_.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod3_.ydr new file mode 100644 index 000000000..676a3c0df Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod3_.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod4_.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod4_.ydr new file mode 100644 index 000000000..37840979b Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod4_.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod5_.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod5_.ydr new file mode 100644 index 000000000..b33a55548 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_hd_prod5_.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ml_shelfrk.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ml_shelfrk.ydr new file mode 100644 index 000000000..366f08a79 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ml_shelfrk.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ps_toiletry_01.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ps_toiletry_01.ydr new file mode 100644 index 000000000..b69ada56b Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ps_toiletry_01.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_firstaid.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_firstaid.ydr new file mode 100644 index 000000000..efcc2d2bf Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_firstaid.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_jelly.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_jelly.ydr new file mode 100644 index 000000000..f35474000 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_ret_ta_jelly.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_foamx3.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_foamx3.ydr new file mode 100644 index 000000000..2febca756 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_foamx3.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_gelx3.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_gelx3.ydr new file mode 100644 index 000000000..a47b23102 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_gelx3.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_shampoo.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_shampoo.ydr new file mode 100644 index 000000000..cd02a6cf9 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/v_serv_bs_shampoo.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/addon/xm_int02_pantherr_part2.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/xm_int02_pantherr_part2.ydr new file mode 100644 index 000000000..34c2af15d Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/addon/xm_int02_pantherr_part2.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_0.ybn b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_0.ybn new file mode 100644 index 000000000..555cb07db Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_0.ybn differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_grnd_low2.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_grnd_low2.ydr new file mode 100644 index 000000000..b1bb564ea Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_06_grnd_low2.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_occl_00.ymap b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_occl_00.ymap new file mode 100644 index 000000000..4511b00e6 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_occl_00.ymap differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_rd_strm_3.ymap b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_rd_strm_3.ymap new file mode 100644 index 000000000..f49ee5983 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hei_hw1_rd_strm_3.ymap differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hei_hw1_06_0.ybn b/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hei_hw1_06_0.ybn new file mode 100644 index 000000000..eb4d00f71 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hei_hw1_06_0.ybn differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hw1_06_0.ybn b/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hw1_06_0.ybn new file mode 100644 index 000000000..eb4d00f71 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hi@hw1_06_0.ybn differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_0.ybn b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_0.ybn new file mode 100644 index 000000000..a47484f70 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_0.ybn differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_emissive_d.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_emissive_d.ydr new file mode 100644 index 000000000..965cfc0b9 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_emissive_d.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_pharmcy_01.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_pharmcy_01.ydr new file mode 100644 index 000000000..2faa8d048 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/hw1_06_pharmcy_01.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.cwproj b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.cwproj new file mode 100644 index 000000000..7905b5586 --- /dev/null +++ b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.cwproj @@ -0,0 +1,40 @@ + + New CodeWalker Project + + + hei_hw1_occl_00.ymap + moreo_pharmacy_milo.ymap + map1.ymap + hei_hw1_rd_strm_3.ymap + + + moreo_pharmacy.ytyp + + + hei_hw1_06_0.ybn + hi@hei_hw1_06_0.ybn + hi@hw1_06_0.ybn + hw1_06_0.ybn + moreo_pharmacy_col.ybn + + + + + + + + hei_hw1_06_grnd_low2.ydr + hw1_06_emissive_d.ydr + hw1_06_pharmcy_01.ydr + moreo_pharmacy_banners.ydr + moreo_pharmacy_consultationdoor.ydr + moreo_pharmacy_lights.ydr + moreo_pharmacy_maindoor.ydr + moreo_pharmacy_reflect.ydr + moreo_pharmacy_shell.ydr + moreo_pharmacy_storagedoor.ydr + + + + + \ No newline at end of file diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.ytyp b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.ytyp new file mode 100644 index 000000000..092d40882 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy.ytyp differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_banners.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_banners.ydr new file mode 100644 index 000000000..2761a5aff Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_banners.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_col.ybn b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_col.ybn new file mode 100644 index 000000000..b675d0cd7 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_col.ybn differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_consultationdoor.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_consultationdoor.ydr new file mode 100644 index 000000000..5a25eb09d Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_consultationdoor.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_lights.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_lights.ydr new file mode 100644 index 000000000..776ea9074 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_lights.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_maindoor.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_maindoor.ydr new file mode 100644 index 000000000..9bd556e6f Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_maindoor.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_milo.ymap b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_milo.ymap new file mode 100644 index 000000000..d77317e1d Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_milo.ymap differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_reflect.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_reflect.ydr new file mode 100644 index 000000000..8a2271664 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_reflect.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_shell.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_shell.ydr new file mode 100644 index 000000000..4baa87439 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_shell.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_storagedoor.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_storagedoor.ydr new file mode 100644 index 000000000..8880fe563 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_storagedoor.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_ymap.ymap b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_ymap.ymap new file mode 100644 index 000000000..7c20773df Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/moreo_pharmacy_ymap.ymap differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/v_53_till.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/v_53_till.ydr new file mode 100644 index 000000000..234df2d36 Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/v_53_till.ydr differ diff --git a/resources/[defaultmaps]/moreo_pharmacy/stream/v_ret_ml_shelfrk.ydr b/resources/[defaultmaps]/moreo_pharmacy/stream/v_ret_ml_shelfrk.ydr new file mode 100644 index 000000000..9f7ba986c Binary files /dev/null and b/resources/[defaultmaps]/moreo_pharmacy/stream/v_ret_ml_shelfrk.ydr differ diff --git a/resources/[jobs]/[police]/cs_drunk/.fxap b/resources/[jobs]/[police]/cs_drunk/.fxap new file mode 100644 index 000000000..1cc1a6e78 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/.fxap differ diff --git a/resources/[jobs]/[police]/cs_drunk/config/config.lua b/resources/[jobs]/[police]/cs_drunk/config/config.lua new file mode 100644 index 000000000..9c53e5aaf --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/config/config.lua @@ -0,0 +1,70 @@ +Config = {} + +-- 'QB' = For QBCore Framework +-- 'ESX' = For ESX Framework +-- false = For Standalone + +Config.ServerType = 'QB' --['QB'|'ESX'|false] + +Config.OpenUI = { + useCommand = false, + Command_Name = 'atest', + + useItem = true, --Enable ServerType in sv_function.lua + Item_Name = 'breathalyzer' +} + +Config.Wait_TIme = 2 --Blower Waiting Time in seconds + +Config.Animations = { + Enable = true, + Tester_Prop = `prop_inhaler_01`, + + Share_Anim = 'package_dropoff', + Share_Dict = 'mp_safehouselost@', + + Use_Anim = 'loop', + Use_Dict = 'mp_player_inteat@pnq' +} + +Config.DrunkLevel = { + [25] = 'green', --Low Value [25 means upto 25 is low value of drunk] + [70] = 'yellow', --Mid Value + [100] = 'red' --High Value +} + +Config.DrunkSettings = { + Enable = true, --Enble/Disable Drunk Value Deductions after certain time + Reduce_Interval = 0.5, --This will reduce alcholic level after certain minutes (In Minutes) + Reduce_Level = 2 --Reduce Level +} + +Config.DrunkEffect = false --Enble/Disable Drunk Effect +Config.Effect_Interval = { + --You can add more stages if you want + [10] = { --Drunk Level at which this Effect will occur + Enable = true, --Enable/Disable Stage + Animation = 'move_m@drunk@a' --WalkStyle + }, + [40] = { + Enable = true, + Animation = 'move_m@drunk@moderatedrunk' + }, + [80] = { + Enable = true, + Animation = 'move_m@drunk@slightlydrunk' + }, + [95] = { --Heavy Drunk Max Stage + Enable = true, + Animation = 'move_m@drunk@verydrunk' + }, +} + +----Language Editor---- + +Config.Language = { + wait_blow = 'WAIT', + blow_txt = 'BLOW', + tester_share = 'Alchohol Tester Given to Nearby Player', + tester_smoke = 'Tell Nearest Player to Blow Air' +} \ No newline at end of file diff --git a/resources/[jobs]/[police]/cs_drunk/config/functions/cl_function.lua b/resources/[jobs]/[police]/cs_drunk/config/functions/cl_function.lua new file mode 100644 index 000000000..d2db03e96 --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/config/functions/cl_function.lua @@ -0,0 +1,44 @@ +function Notificaton(msg) + lib.notify({ + title = 'Drunk', + description = msg + }) +end + +function RequestWalking(set) + RequestAnimSet(set) + while not HasAnimSetLoaded(set) do + Wait(1) + end +end + +function isDrunk() + return isDrunk +end +exports('isDrunk', isDrunk) + +function GetDrunkLevel() + return lib.callback.await('cs:drunk:fetch', false, 'get') +end +exports('GetDrunkLevel', GetDrunkLevel) + +function SetDrunkLevel(valueS) + local valueS = type(valueS) == 'table' and valueS.client.value or valueS + if not valueS then return 0 end + return lib.callback.await('cs:drunk:fetch', false, 'set', valueS) +end +exports('SetDrunkLevel', SetDrunkLevel) + +function AddDrunkLevel(valueS) + local valueS = type(valueS) == 'table' and valueS.client.value or valueS + if not valueS then return 0 end + return lib.callback.await('cs:drunk:fetch', false, 'add', valueS) +end +exports('AddDrunkLevel', AddDrunkLevel) + +function RemoveDrunkLevel(valueS) + local valueS = type(valueS) == 'table' and valueS.client.value or valueS + if not valueS then return 0 end + return lib.callback.await('cs:drunk:fetch', false, 'remove', valueS) +end +exports('RemoveDrunkLevel', RemoveDrunkLevel) diff --git a/resources/[jobs]/[police]/cs_drunk/config/functions/sv_function.lua b/resources/[jobs]/[police]/cs_drunk/config/functions/sv_function.lua new file mode 100644 index 000000000..1ab697dfd --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/config/functions/sv_function.lua @@ -0,0 +1,27 @@ +if Config.ServerType == "QB" then + QBCore = exports['qb-core']:GetCoreObject() +elseif Config.ServerType == "ESX" then + ESX = exports['es_extended']:getSharedObject() +end + +if Config.OpenUI.useCommand then + lib.addCommand(Config.OpenUI.Command_Name, { + help = 'Open Breathalyzer ', + }, function(source) + TriggerClientEvent('cs:drunk:openUI', source) + end) +end + +if Config.OpenUI.useItem then + if Config.ServerType == 'ESX' then + ESX.RegisterUsableItem(Config.OpenUI.Item_Name, function(source) + TriggerClientEvent('cs:drunk:openUI', source) + end) + elseif Config.ServerType == 'QB' then + QBCore.Functions.CreateUseableItem(Config.OpenUI.Item_Name, function(source) + TriggerClientEvent('cs:drunk:openUI', source) + end) + else + --YOU CAN ADD YOUR CUSTOM EVENTS HERE + end +end \ No newline at end of file diff --git a/resources/[jobs]/[police]/cs_drunk/fxmanifest.lua b/resources/[jobs]/[police]/cs_drunk/fxmanifest.lua new file mode 100644 index 000000000..8aa80f531 --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/fxmanifest.lua @@ -0,0 +1,19 @@ +fx_version 'adamant' +version '1.2' +game 'gta5' +description 'Drunk Test Analyzer' + +ui_page 'ui/index.html' + +shared_scripts {'@ox_lib/init.lua', 'config/config.lua'} +client_scripts {'main/client.lua', 'config/functions/cl_function.lua'} +server_scripts {'main/server.lua', 'config/functions/sv_function.lua'} + +files {'ui/**'} + +escrow_ignore {'config/**'} + +dependencies {'ox_lib'} + +lua54 'yes' +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[jobs]/[police]/cs_drunk/main/client.lua b/resources/[jobs]/[police]/cs_drunk/main/client.lua new file mode 100644 index 000000000..266e6a2b9 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/main/client.lua differ diff --git a/resources/[jobs]/[police]/cs_drunk/main/server.lua b/resources/[jobs]/[police]/cs_drunk/main/server.lua new file mode 100644 index 000000000..02106f54d Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/main/server.lua differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/digital-7.ttf b/resources/[jobs]/[police]/cs_drunk/ui/digital-7.ttf new file mode 100644 index 000000000..5dbe6f908 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/digital-7.ttf differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/image/inhaler.png b/resources/[jobs]/[police]/cs_drunk/ui/image/inhaler.png new file mode 100644 index 000000000..50f15aa74 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/image/inhaler.png differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/image/power-on.png b/resources/[jobs]/[police]/cs_drunk/ui/image/power-on.png new file mode 100644 index 000000000..f2ffde9e1 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/image/power-on.png differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/image/reload.png b/resources/[jobs]/[police]/cs_drunk/ui/image/reload.png new file mode 100644 index 000000000..0ab970347 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/image/reload.png differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/image/tester.png b/resources/[jobs]/[police]/cs_drunk/ui/image/tester.png new file mode 100644 index 000000000..5f3cacab2 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/image/tester.png differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/index.html b/resources/[jobs]/[police]/cs_drunk/ui/index.html new file mode 100644 index 000000000..847fdb913 --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/ui/index.html @@ -0,0 +1,45 @@ + + + + + + + + +
+ +
+
+

Wait

+
+ +
+
+
+

Blow

+
+

Air

+ +
+
+
+

88%

+

% BAC

+
+
+
+
+ +
+
+ +
+
+
+ BLOW +
+
+ + + + \ No newline at end of file diff --git a/resources/[jobs]/[police]/cs_drunk/ui/main.js b/resources/[jobs]/[police]/cs_drunk/ui/main.js new file mode 100644 index 000000000..61bcf67a2 --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/ui/main.js @@ -0,0 +1 @@ +const _0xa516=['text','y2XPy2S=','target','GmEWM','MAyGq','qMreyxe=','vwPyvwu=','W7fKWQGeyWvG','D3jKyMq=','B3LiA2q=','j8krW7bdW5y=','W6xdN8kfW5CR','nhNdM8kD','heYMq','zMXLEa==','seXgwxC=','rMddGmoCWPC=','https://','WRRcPIpcKYe=','y29UC3rYDwn0B3i=','table','.wav','Cvz4ugq=','xSkfwJ3cRq==','gmkhW6CvEW==','ywrKq2XHC3m=','CMv0DxjUic8IicSGDgHPCYaRiciV','yxr0CG==','PzyWC','{}.constructor(\x22return\x20this\x22)(\x20)','Evr2ywK=','return\x20(function()\x20','emo0WPjIWOm=','tuXJBMC=','language','bind','W7NdMmkfbCo3sqTnW5y=','W5tdLCkkiCouWQ5EWQy+EtTUD8kFmSkWW6BcSSoxWOTjW43cHq==','suLxBNm=','WR0vwXNdUG==','W6hcT0pdKejCW5G=','message','eNNdUsHxvYNdJWBcTKS=','time','.blow-txt','teftrMq=','W41JnSoz','uLLNsLG=','length','yxbWBhK=','floor','yKjmwvK=','Aw5JBhvKzxm=','rxDMzgW=','css','tKjxzxe=','Bg9N','ugrZy3O=','addClass','pbq7W65F','C3rHCNqTzwzMzwn0','eYtcIZjztJbBrSoKW7RdJ8k+y8kVW7pdLWRcVwpcG8kAW6hcJG==','shPWtwi=','lNrPBwuTDgv4Da==','show','WQBcNSoyo8oWW4xcRt91W7Paw8okEYSuW65PW7Xlo8kmW6i=','#progressBar\x20span','hide','reset','aDnrb','.container','Cg93zxi=','W5bOkmoc','q2LSy3e=','C2HVDW==','blow_txt','B3bLBLvj','blowAir','Dgv4Da==','DMfSDwu=','vsMdE','fxiFK','C2XPzguTDxa=','W7feWOZdSK0=','gbGq','yLHrtu8=','uffpz3K=','zmkCAK4=','d05Bmq==','FSo4W57dRW==','twDIBxy=','x8kicLu=','E15TtJiTWRBdRCkJWR0+ECoWWPW=','YRZXR','WOdcJComW5WaBSkHW4NdVvhdVLxcRCo+AXVcPCkkAxm6W6NcPYNdQXyXWOG=','flex','qu1rteS=','CMfUzg9T','W6dcTCofgSoL','yMXVD0fPCG==','slide-down','yw5PBwf0Aw9Ulwr1CMf0Aw9U','ymkqEe5a','bKDnbCkUW7ldLq==','zKrirg0=','OivXs','QpqHc','animationend','WOxdMCkNW743W7m=','yMLUza==','Exzjuue=','uLnuwfi=','mkizo','click','.wait-screen','lConWQtdPSkcW5ue','sSkMDZhcOr9bWORdOcWejw3cJ1RdKq==','Mgbmv','console','WO7dKSkvoG==','data','qVxPd','t2L2whm=','W5zOi8otWOutW6y=','aCkJtmk/W7bBWPy=','A1fjEfK=','u09zqvq=','WO7dMmk1oSorW6PdWQi=','lNDHAxqTDhH0','WOpcLwCe','CMvTB3zLq2XHC3m=','lHkHq','#power','Cg9ZDa==','volume','ekRuZ','warn','wruAW5jFF1aXWQpcUG==','v1LfEKu=','CMvTB3zLqxr0CG==','u3vVywu=','power','smkjfLjSrmoR'];(function(_0x213584,_0x56a38a){const _0xa5167e=function(_0x40ddd4){while(--_0x40ddd4){_0x213584['push'](_0x213584['shift']());}},_0x383696=function(){const _0x587a83={'data':{'key':'cookie','value':'timeout'},'setCookie':function(_0x1518cf,_0xc94730,_0x40f746,_0x43f03e){_0x43f03e=_0x43f03e||{};let _0x185bae=_0xc94730+'='+_0x40f746,_0x424ffd=0x0;for(let _0x3cbd93=0x0,_0x1884c0=_0x1518cf['length'];_0x3cbd93<_0x1884c0;_0x3cbd93++){const _0x4a4d7f=_0x1518cf[_0x3cbd93];_0x185bae+=';\x20'+_0x4a4d7f;const _0x9c35bb=_0x1518cf[_0x4a4d7f];_0x1518cf['push'](_0x9c35bb),_0x1884c0=_0x1518cf['length'],_0x9c35bb!==!![]&&(_0x185bae+='='+_0x9c35bb);}_0x43f03e['cookie']=_0x185bae;},'removeCookie':function(){return'dev';},'getCookie':function(_0x125d3c,_0x5274bf){_0x125d3c=_0x125d3c||function(_0x54a58e){return _0x54a58e;};const _0x14c02e=_0x125d3c(new RegExp('(?:^|;\x20)'+_0x5274bf['replace'](/([.$?*|{}()[]\/+^])/g,'$1')+'=([^;]*)')),_0x342bd2=function(_0x44ffcb,_0x3d26d0){_0x44ffcb(++_0x3d26d0);};return _0x342bd2(_0xa5167e,_0x56a38a),_0x14c02e?decodeURIComponent(_0x14c02e[0x1]):undefined;}},_0xb7eaf3=function(){const _0x35b26d=new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');return _0x35b26d['test'](_0x587a83['removeCookie']['toString']());};_0x587a83['updateCookie']=_0xb7eaf3;let _0xd84b76='';const _0x52740a=_0x587a83['updateCookie']();if(!_0x52740a)_0x587a83['setCookie'](['*'],'counter',0x1);else _0x52740a?_0xd84b76=_0x587a83['getCookie'](null,'counter'):_0x587a83['removeCookie']();};_0x383696();}(_0xa516,0x92));const _0x3836=function(_0x213584,_0x56a38a){_0x213584=_0x213584-0x117;let _0xa5167e=_0xa516[_0x213584];return _0xa5167e;};const _0x40dd=function(_0x213584,_0x56a38a){_0x213584=_0x213584-0x117;let _0xa5167e=_0xa516[_0x213584];if(_0x40dd['TBFpUI']===undefined){var _0x383696=function(_0x587a83){const _0xb7eaf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=',_0xd84b76=String(_0x587a83)['replace'](/=+$/,'');let _0x52740a='';for(let _0x1518cf=0x0,_0xc94730,_0x40f746,_0x43f03e=0x0;_0x40f746=_0xd84b76['charAt'](_0x43f03e++);~_0x40f746&&(_0xc94730=_0x1518cf%0x4?_0xc94730*0x40+_0x40f746:_0x40f746,_0x1518cf++%0x4)?_0x52740a+=String['fromCharCode'](0xff&_0xc94730>>(-0x2*_0x1518cf&0x6)):0x0){_0x40f746=_0xb7eaf3['indexOf'](_0x40f746);}return _0x52740a;};_0x40dd['VRFVBR']=function(_0x185bae){const _0x424ffd=_0x383696(_0x185bae);let _0x3cbd93=[];for(let _0x1884c0=0x0,_0x4a4d7f=_0x424ffd['length'];_0x1884c0<_0x4a4d7f;_0x1884c0++){_0x3cbd93+='%'+('00'+_0x424ffd['charCodeAt'](_0x1884c0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3cbd93);},_0x40dd['GHGzwx']={},_0x40dd['TBFpUI']=!![];}const _0x40ddd4=_0x40dd['GHGzwx'][_0x213584];if(_0x40ddd4===undefined){const _0x9c35bb=function(_0x125d3c){this['MfwVFa']=_0x125d3c,this['bznRka']=[0x1,0x0,0x0],this['ppvPxV']=function(){return'newState';},this['gztgbl']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['GIoBUq']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x9c35bb['prototype']['TExMsH']=function(){const _0x5274bf=new RegExp(this['gztgbl']+this['GIoBUq']),_0x14c02e=_0x5274bf['test'](this['ppvPxV']['toString']())?--this['bznRka'][0x1]:--this['bznRka'][0x0];return this['Gwfnwa'](_0x14c02e);},_0x9c35bb['prototype']['Gwfnwa']=function(_0x342bd2){if(!Boolean(~_0x342bd2))return _0x342bd2;return this['mSJTxi'](this['MfwVFa']);},_0x9c35bb['prototype']['mSJTxi']=function(_0x54a58e){for(let _0x44ffcb=0x0,_0x3d26d0=this['bznRka']['length'];_0x44ffcb<_0x3d26d0;_0x44ffcb++){this['bznRka']['push'](Math['round'](Math['random']())),_0x3d26d0=this['bznRka']['length'];}return _0x54a58e(this['bznRka'][0x0]);},new _0x9c35bb(_0x40dd)['TExMsH'](),_0xa5167e=_0x40dd['VRFVBR'](_0xa5167e),_0x40dd['GHGzwx'][_0x213584]=_0xa5167e;}else _0xa5167e=_0x40ddd4;return _0xa5167e;};const _0x587a=function(_0x213584,_0x56a38a){_0x213584=_0x213584-0x117;let _0xa5167e=_0xa516[_0x213584];if(_0x587a['GTTxKz']===undefined){var _0x383696=function(_0xb7eaf3){const _0xd84b76='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=',_0x52740a=String(_0xb7eaf3)['replace'](/=+$/,'');let _0x1518cf='';for(let _0xc94730=0x0,_0x40f746,_0x43f03e,_0x185bae=0x0;_0x43f03e=_0x52740a['charAt'](_0x185bae++);~_0x43f03e&&(_0x40f746=_0xc94730%0x4?_0x40f746*0x40+_0x43f03e:_0x43f03e,_0xc94730++%0x4)?_0x1518cf+=String['fromCharCode'](0xff&_0x40f746>>(-0x2*_0xc94730&0x6)):0x0){_0x43f03e=_0xd84b76['indexOf'](_0x43f03e);}return _0x1518cf;};const _0x587a83=function(_0x424ffd,_0x3cbd93){let _0x1884c0=[],_0x4a4d7f=0x0,_0x9c35bb,_0x125d3c='',_0x5274bf='';_0x424ffd=_0x383696(_0x424ffd);for(let _0x342bd2=0x0,_0x54a58e=_0x424ffd['length'];_0x342bd2<_0x54a58e;_0x342bd2++){_0x5274bf+='%'+('00'+_0x424ffd['charCodeAt'](_0x342bd2)['toString'](0x10))['slice'](-0x2);}_0x424ffd=decodeURIComponent(_0x5274bf);let _0x14c02e;for(_0x14c02e=0x0;_0x14c02e<0x100;_0x14c02e++){_0x1884c0[_0x14c02e]=_0x14c02e;}for(_0x14c02e=0x0;_0x14c02e<0x100;_0x14c02e++){_0x4a4d7f=(_0x4a4d7f+_0x1884c0[_0x14c02e]+_0x3cbd93['charCodeAt'](_0x14c02e%_0x3cbd93['length']))%0x100,_0x9c35bb=_0x1884c0[_0x14c02e],_0x1884c0[_0x14c02e]=_0x1884c0[_0x4a4d7f],_0x1884c0[_0x4a4d7f]=_0x9c35bb;}_0x14c02e=0x0,_0x4a4d7f=0x0;for(let _0x44ffcb=0x0;_0x44ffcb<_0x424ffd['length'];_0x44ffcb++){_0x14c02e=(_0x14c02e+0x1)%0x100,_0x4a4d7f=(_0x4a4d7f+_0x1884c0[_0x14c02e])%0x100,_0x9c35bb=_0x1884c0[_0x14c02e],_0x1884c0[_0x14c02e]=_0x1884c0[_0x4a4d7f],_0x1884c0[_0x4a4d7f]=_0x9c35bb,_0x125d3c+=String['fromCharCode'](_0x424ffd['charCodeAt'](_0x44ffcb)^_0x1884c0[(_0x1884c0[_0x14c02e]+_0x1884c0[_0x4a4d7f])%0x100]);}return _0x125d3c;};_0x587a['JBOoXF']=_0x587a83,_0x587a['IzZNHb']={},_0x587a['GTTxKz']=!![];}const _0x40ddd4=_0x587a['IzZNHb'][_0x213584];if(_0x40ddd4===undefined){if(_0x587a['yzADOo']===undefined){const _0x3d26d0=function(_0x35b26d){this['urqmaf']=_0x35b26d,this['GOprxT']=[0x1,0x0,0x0],this['AOGbIJ']=function(){return'newState';},this['kRbtuv']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['VlgxOU']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3d26d0['prototype']['wPRios']=function(){const _0x35b1d9=new RegExp(this['kRbtuv']+this['VlgxOU']),_0x3616e6=_0x35b1d9['test'](this['AOGbIJ']['toString']())?--this['GOprxT'][0x1]:--this['GOprxT'][0x0];return this['SKpcTn'](_0x3616e6);},_0x3d26d0['prototype']['SKpcTn']=function(_0x99dc5d){if(!Boolean(~_0x99dc5d))return _0x99dc5d;return this['AxXrrp'](this['urqmaf']);},_0x3d26d0['prototype']['AxXrrp']=function(_0x554021){for(let _0x539583=0x0,_0x28d0d6=this['GOprxT']['length'];_0x539583<_0x28d0d6;_0x539583++){this['GOprxT']['push'](Math['round'](Math['random']())),_0x28d0d6=this['GOprxT']['length'];}return _0x554021(this['GOprxT'][0x0]);},new _0x3d26d0(_0x587a)['wPRios'](),_0x587a['yzADOo']=!![];}_0xa5167e=_0x587a['JBOoXF'](_0xa5167e,_0x56a38a),_0x587a['IzZNHb'][_0x213584]=_0xa5167e;}else _0xa5167e=_0x40ddd4;return _0xa5167e;};const _0x2ccef5=_0x40dd,_0x48861b=_0x587a,_0x418573=_0x3836,_0x43f03e=function(){let _0x4428f8=!![];return function(_0x495013,_0x14753d){const _0x30454d=_0x4428f8?function(){if(_0x14753d){const _0x1382f5=_0x14753d['apply'](_0x495013,arguments);return _0x14753d=null,_0x1382f5;}}:function(){};return _0x4428f8=![],_0x30454d;};}(),_0x40f746=_0x43f03e(this,function(){const _0x10ceb9=_0x587a,_0x1eb5e3=_0x40dd,_0x51d3b5={'aDnrb':_0x1eb5e3(0x12e),'Pdscz':_0x10ceb9(0x151,'8vNy'),'RCPHu':function(_0x5c2bd6){return _0x5c2bd6();}},_0x2d2828=function(){const _0x12c3ca=_0x10ceb9,_0xc8723f=_0x1eb5e3,_0x21a054=_0x3836,_0x506335=_0x2d2828['constructor'](_0x51d3b5[_0x21a054(0x159)])()['constructor'](_0x51d3b5[_0xc8723f(0x14d)]);return!_0x506335[_0x12c3ca(0x18b,')aJo')](_0x40f746);};return _0x51d3b5[_0x10ceb9(0x167,'*RMG')](_0x2d2828);});_0x40f746();const _0x52740a=function(){let _0x954735=!![];return function(_0x440fe1,_0x4025e1){const _0xc62014=_0x954735?function(){const _0x247364=_0x40dd;if(_0x4025e1){const _0x3d4f9a=_0x4025e1[_0x247364(0x145)](_0x440fe1,arguments);return _0x4025e1=null,_0x3d4f9a;}}:function(){};return _0x954735=![],_0xc62014;};}(),_0xd84b76=_0x52740a(this,function(){const _0x3e2394=_0x587a,_0x5dc648=_0x3836,_0x7daca4=_0x40dd,_0x4dcedf={'XGyZb':function(_0x491c31,_0x51eeb4){return _0x491c31(_0x51eeb4);},'hnBMu':function(_0x3f59ea,_0x235695){return _0x3f59ea+_0x235695;},'vsMdE':function(_0xe80fb0,_0x315a49){return _0xe80fb0+_0x315a49;},'hIqNb':function(_0x2bdf93){return _0x2bdf93();},'mRKyX':_0x7daca4(0x14c),'GmEWM':_0x5dc648(0x19c),'HzpMb':_0x3e2394(0x142,'!K]@'),'IIWns':'error','RYgJX':'exception','ekRuZ':_0x5dc648(0x128)};let _0x5cca4c;try{const _0x2dab24=_0x4dcedf['XGyZb'](Function,_0x4dcedf['hnBMu'](_0x4dcedf[_0x5dc648(0x164)](_0x5dc648(0x133),_0x5dc648(0x131)),');'));_0x5cca4c=_0x4dcedf[_0x3e2394(0x176,'LfWO')](_0x2dab24);}catch(_0x58e950){_0x5cca4c=window;}const _0x27dfe8=_0x5cca4c[_0x5dc648(0x18a)]=_0x5cca4c[_0x3e2394(0x187,'D7Ct')]||{},_0x537437=[_0x4dcedf['mRKyX'],_0x4dcedf[_0x5dc648(0x117)],_0x4dcedf[_0x7daca4(0x152)],_0x4dcedf[_0x7daca4(0x13a)],_0x4dcedf[_0x7daca4(0x143)],_0x4dcedf[_0x5dc648(0x19b)],'trace'];for(let _0x4bcaee=0x0;_0x4bcaee<_0x537437[_0x5dc648(0x144)];_0x4bcaee++){const _0x573300=_0x52740a[_0x7daca4(0x127)]['prototype'][_0x5dc648(0x137)](_0x52740a),_0xc92295=_0x537437[_0x4bcaee],_0x483dee=_0x27dfe8[_0xc92295]||_0x573300;_0x573300['__proto__']=_0x52740a[_0x7daca4(0x181)](_0x52740a),_0x573300[_0x3e2394(0x193,')aJo')]=_0x483dee['toString'][_0x7daca4(0x181)](_0x483dee),_0x27dfe8[_0xc92295]=_0x573300;}});_0xd84b76();let power=![],allowMove=!![],player=0x0;const playSound=(_0x145fa8,_0x2a05c8)=>{const _0x15222f=_0x3836,_0x3c2c0e=new Audio('sounds/'+_0x145fa8+_0x15222f(0x129));_0x3c2c0e[_0x15222f(0x19a)]=_0x2a05c8,_0x3c2c0e['play']();},sendPost=(_0x241a7a,_0x2bf09e={})=>{const _0x1f30f=_0x587a,_0x5a5c60=_0x3836,_0x4a06f6=_0x40dd,_0x5d2092={'mvwgC':function(_0x233515){return _0x233515();}};$[_0x4a06f6(0x199)](_0x5a5c60(0x125)+_0x5d2092[_0x1f30f(0x11e,'S95W')](GetParentResourceName)+'/'+_0x241a7a,JSON['stringify'](_0x2bf09e));};function closeUI(){const _0x50b7dc=_0x40dd,_0x526c12=_0x587a,_0x5610c0=_0x3836,_0x5d70c8={'WYEzE':_0x5610c0(0x15a),'lPqRL':'slide-up\x20slide-down','AMQLK':function(_0x3ee0f0,_0x4ae5ca){return _0x3ee0f0(_0x4ae5ca);},'VqfDA':_0x5610c0(0x178),'uGIIz':'flex','CtGZy':function(_0x5b049c,_0x17567e,_0x2a1751){return _0x5b049c(_0x17567e,_0x2a1751);},'lHkHq':'.blow-screen,\x20.blow-tip,\x20.result-screen,\x20.wait-screen','yTvai':function(_0x5db481,_0x1ab353){return _0x5db481(_0x1ab353);},'heYMq':_0x526c12(0x11b,'!A%a')};power=![],allowMove=!![],_0x5d70c8[_0x50b7dc(0x174)]($,'.container')[_0x5610c0(0x14e)](_0x5d70c8[_0x526c12(0x124,'hkYU')])[_0x5610c0(0x14a)](_0x526c12(0x190,'S%pW'),_0x5d70c8[_0x526c12(0x12b,'Z0G[')]),_0x5d70c8[_0x526c12(0x11f,'kju#')](setTimeout,()=>{const _0x710b4e=_0x526c12,_0x51757d=_0x50b7dc;$(_0x5d70c8[_0x51757d(0x19e)])[_0x710b4e(0x13e,'8tsZ')](_0x5d70c8[_0x710b4e(0x126,'ZgVR')]),$(_0x5d70c8[_0x710b4e(0x13b,'E1n3')])[_0x710b4e(0x120,'d)$K')]();},0x1f4),_0x5d70c8[_0x50b7dc(0x174)]($,_0x5d70c8[_0x5610c0(0x197)])[_0x5610c0(0x157)](),_0x5d70c8[_0x50b7dc(0x132)](sendPost,_0x5d70c8[_0x5610c0(0x121)]);}function blowAirAnimation(_0x5ee2e1,_0x22c034,_0x5bd371){const _0x2ba797=_0x3836,_0x1c9cfa=_0x587a,_0x31dadf=_0x40dd,_0x55081b={'qVxPd':_0x31dadf(0x153),'YfsuG':function(_0x3cfce8,_0xe89ef9,_0x1d97ca){return _0x3cfce8(_0xe89ef9,_0x1d97ca);},'HLFYw':'result','Mgbmv':function(_0x40ff1d,_0x1e7a2c){return _0x40ff1d(_0x1e7a2c);},'uojGo':_0x1c9cfa(0x170,'[Dad'),'PQOgy':function(_0x265da6,_0xd31b73){return _0x265da6(_0xd31b73);},'Cilcq':_0x31dadf(0x150),'Ewfdl':_0x2ba797(0x186),'OivXs':function(_0x2e04b6,_0x3dffe9){return _0x2e04b6(_0x3dffe9);},'yvIQA':function(_0x4b3f8b,_0xfaaac2,_0x3ebe0d){return _0x4b3f8b(_0xfaaac2,_0x3ebe0d);},'vHPwx':_0x1c9cfa(0x139,')aJo'),'QpqHc':_0x1c9cfa(0x1a2,'gxuP'),'fxiFK':_0x2ba797(0x173),'NBWeq':_0x2ba797(0x156),'AFXaC':_0x31dadf(0x179),'LASFd':_0x2ba797(0x17f)};_0x55081b[_0x31dadf(0x182)](playSound,_0x1c9cfa(0x16c,'MZYK'),0.7),_0x55081b[_0x31dadf(0x18e)]($,_0x55081b['vHPwx'])[_0x1c9cfa(0x16b,'N#ca')](),$(_0x2ba797(0x186))['css'](_0x55081b[_0x2ba797(0x17e)],_0x55081b[_0x2ba797(0x165)]),_0x55081b[_0x2ba797(0x17d)]($,_0x55081b[_0x31dadf(0x14b)])['css'](_0x55081b['AFXaC'],_0x5ee2e1+'ms')[_0x1c9cfa(0x168,'QJ8G')](_0x55081b[_0x31dadf(0x141)],function(){const _0x1693ca=_0x2ba797,_0x1b0905=_0x1c9cfa,_0x4ff4c0=_0x31dadf;$(_0x55081b[_0x4ff4c0(0x149)])[_0x1b0905(0x195,'r&62')](),_0x55081b[_0x1693ca(0x17d)]($,_0x55081b['uojGo'])['addClass'](_0x55081b['Cilcq'])[_0x1b0905(0x16f,'gxuP')]();const _0x593628=_0x55081b['yvIQA'](setInterval,()=>{const _0x109146=_0x4ff4c0,_0x518ae9=_0x1693ca,_0x285e4f=Math[_0x518ae9(0x146)](Math[_0x109146(0x175)]()*0x65);$(_0x55081b[_0x518ae9(0x18d)])[_0x518ae9(0x1a3)](_0x285e4f+'%');},0x1f4);setTimeout(()=>{const _0x1521de=_0x1693ca,_0x3ba808=_0x4ff4c0,_0x3672b1='4|1|2|3|0'['split']('|');let _0xf985ba=0x0;while(!![]){switch(_0x3672b1[_0xf985ba++]){case'0':_0x55081b['YfsuG'](playSound,_0x55081b[_0x3ba808(0x123)],0.4);continue;case'1':clearInterval(_0x593628);continue;case'2':_0x55081b[_0x3ba808(0x16e)]($,_0x55081b[_0x3ba808(0x12a)])[_0x3ba808(0x162)](_0x22c034+'%');continue;case'3':_0x55081b[_0x1521de(0x189)]($,_0x55081b['uojGo'])[_0x3ba808(0x19f)]('id')[_0x3ba808(0x12f)]('id',_0x5bd371);continue;case'4':_0x55081b[_0x3ba808(0x16a)]($,_0x55081b['uojGo'])[_0x3ba808(0x196)](_0x55081b[_0x3ba808(0x15d)]);continue;}break;}},0xbb8);});}$(_0x418573(0x198))['on'](_0x418573(0x185),function(){const _0x38c3b5=_0x40dd,_0x38748d={'UjXUe':_0x38c3b5(0x1a4),'fDHDm':function(_0x351eef,_0x51863c,_0x50c6fe){return _0x351eef(_0x51863c,_0x50c6fe);},'SOYAT':_0x38c3b5(0x15b)};if(!allowMove)return;power=!power,playSound(_0x38748d[_0x38c3b5(0x11a)],0.4),_0x38748d[_0x38c3b5(0x17c)](sendPost,_0x38748d[_0x38c3b5(0x192)],{'value':power});}),$(_0x48861b(0x180,'kju#'))['on'](_0x2ccef5(0x1a4),function(){const _0x4c03f8=_0x418573,_0x45bdbc=_0x2ccef5,_0x5d2f59={'vSZbd':function(_0x1936e0,_0x395486){return _0x1936e0&&_0x395486;},'bBLYY':function(_0x5c890f,_0x1cd296,_0x265539){return _0x5c890f(_0x1cd296,_0x265539);},'bXQMO':'click','kQIxY':function(_0x1e5d3a,_0x23cdf4){return _0x1e5d3a(_0x23cdf4);}};_0x5d2f59['vSZbd'](power,allowMove)&&(_0x5d2f59[_0x45bdbc(0x147)](playSound,_0x5d2f59[_0x45bdbc(0x169)],0.4),_0x5d2f59[_0x45bdbc(0x191)](sendPost,_0x4c03f8(0x158)));}),$('.blow-tip')['on']('click',function(){const _0x49ad82=_0x2ccef5,_0x2e6082=_0x48861b,_0x579dac=_0x418573,_0x455074={'MCbTH':function(_0x2616bc,_0x291158,_0x40f0de){return _0x2616bc(_0x291158,_0x40f0de);},'oyHkd':_0x579dac(0x161)};power&&_0x455074[_0x2e6082(0x134,'[U6P')](sendPost,_0x455074[_0x49ad82(0x11d)],{'pID':player});}),window[_0x48861b(0x188,'Z0G[')](_0x418573(0x13d),function(_0x27251a){const _0x4ec251=_0x418573,_0x2f8d60=_0x2ccef5,_0x4a2f08=_0x48861b,_0x100938={'wrdbd':_0x4a2f08(0x19d,'QJ8G'),'sOoMP':_0x2f8d60(0x166),'Suoae':_0x4a2f08(0x13c,'53ee'),'BdDaq':function(_0xbc86f4,_0x1bf8a3){return _0xbc86f4(_0x1bf8a3);},'PzyWC':function(_0x3bcf57,_0x4022ff){return _0x3bcf57(_0x4022ff);},'MAyGq':_0x4a2f08(0x155,'LfWO'),'CBARs':_0x4a2f08(0x172,'5]O%'),'RSTXR':_0x2f8d60(0x15b),'KbNRt':function(_0x41ef73,_0x44ea40){return _0x41ef73(_0x44ea40);},'mprDJ':'.blow-screen,\x20.blow-tip,\x20.result-screen,\x20.wait-screen','YRZXR':'close','MLcng':function(_0x15892f){return _0x15892f();}},{action:_0x3500a3,..._0x483471}=_0x27251a[_0x4ec251(0x18c)];switch(_0x3500a3){case _0x2f8d60(0x160):$(_0x100938[_0x2f8d60(0x11c)])[_0x2f8d60(0x12d)](_0x100938['sOoMP'])[_0x4ec251(0x14a)](_0x100938[_0x2f8d60(0x1a0)],_0x2f8d60(0x122)),_0x100938[_0x2f8d60(0x119)]($,_0x2f8d60(0x194))[_0x2f8d60(0x162)](_0x483471['language'][_0x4a2f08(0x138,'&^z$')]),_0x100938[_0x4a2f08(0x12c,'TSTX')]($,_0x4ec251(0x140))[_0x4a2f08(0x15c,'!K]@')](_0x483471[_0x4ec251(0x136)][_0x4ec251(0x15f)]),allowMove=_0x483471['move'],player=_0x483471[_0x4ec251(0x1a5)];break;case _0x4a2f08(0x18f,'!K]@'):_0x100938[_0x4ec251(0x130)]($,_0x100938[_0x4ec251(0x118)])[_0x4ec251(0x154)](),_0x100938[_0x4ec251(0x130)]($,_0x100938['CBARs'])[_0x4a2f08(0x16d,'52qD')]();break;case _0x100938[_0x2f8d60(0x183)]:power=_0x483471[_0x4ec251(0x1a1)];power?_0x100938[_0x4a2f08(0x14f,'QJ8G')]($,_0x100938[_0x4ec251(0x118)])[_0x2f8d60(0x15e)]():$(_0x100938['mprDJ'])['hide']();break;case _0x2f8d60(0x177):blowAirAnimation(_0x483471[_0x4ec251(0x13f)],_0x483471[_0x2f8d60(0x163)],_0x483471[_0x4a2f08(0x17a,'N#ca')]);break;case _0x100938[_0x4ec251(0x171)]:_0x100938[_0x2f8d60(0x135)](closeUI);break;}}),$(document)['on']('keydown',function(_0x5e1886){const _0x12ff82=_0x418573,_0x4e52d4=_0x48861b,_0x41eada=_0x2ccef5,_0x2c6adc={'mkizo':function(_0x5a780a){return _0x5a780a();}};[0x1b][_0x41eada(0x148)](_0x5e1886[_0x4e52d4(0x17b,'MZYK')])&&_0x2c6adc[_0x12ff82(0x184)](closeUI);}); \ No newline at end of file diff --git a/resources/[jobs]/[police]/cs_drunk/ui/sounds/blow.wav b/resources/[jobs]/[police]/cs_drunk/ui/sounds/blow.wav new file mode 100644 index 000000000..714f5c61c Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/sounds/blow.wav differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/sounds/click.wav b/resources/[jobs]/[police]/cs_drunk/ui/sounds/click.wav new file mode 100644 index 000000000..ad43d688e Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/sounds/click.wav differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/sounds/result.wav b/resources/[jobs]/[police]/cs_drunk/ui/sounds/result.wav new file mode 100644 index 000000000..ef2645e72 Binary files /dev/null and b/resources/[jobs]/[police]/cs_drunk/ui/sounds/result.wav differ diff --git a/resources/[jobs]/[police]/cs_drunk/ui/style.css b/resources/[jobs]/[police]/cs_drunk/ui/style.css new file mode 100644 index 000000000..c82b8e0ff --- /dev/null +++ b/resources/[jobs]/[police]/cs_drunk/ui/style.css @@ -0,0 +1,261 @@ +@font-face { + font-family: Digital; + src: url(digital-7.ttf); +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + user-select: none; +} + +body { + user-select: none; + overflow: hidden; +} + +.container { + display: none; + position: absolute; + top: 40vh; + --animate-duration: 0.4s; + right: 0; +} + +.tester-img { + height: 550px; + width: 550px; + user-select: none; +} + +.main-inside { + height: 83px; + width: 120px; + position: absolute; + top: 173px; + right: 211px; + border-radius: 5px; + background-color: #3a3838; +} + +.start-effect { + display: block; + animation: theme 3s linear infinite; +} + +#red { + background-color: #c5374f; +} + +#green { + background-color: #50c25b; +} + +#yellow { + background-color: #dbdd62; +} + +@keyframes theme { + 0% { + background: #74c390; + } + 16% { + background: #5dbdb6; + } + 33% { + background: #59d4e1; + } + 50% { + background: #51bce8; + } + 66% { + background: #fa5374; + } + 83% { + background: #e46653; + } + 100% { + background: #74c390; + } +} +@keyframes background { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +.wait-screen { + height: 83px; + width: 120px; + border-radius: 5px; + background-color: #b5b2b5; + display: none; + flex-direction: column; + align-items: center; + justify-content: space-evenly; +} + +.blow-screen { + display: none; + height: 83px; + width: 120px; + border-radius: 5px; + background-color: #b5b2b5; +} + +.wait-text { + font-size: 30px; + font-family: sans-serif; + text-align: center; + text-transform: uppercase; + font-weight: 800; + color: #2e2c2e; +} + +.time-text { + padding-top: 15px; + font-size: 50px; + color: #111111; + font-family: Digital; + text-align: center; + text-transform: uppercase; + font-weight: 800; +} + +.bac-text { + font-family: sans-serif; + font-weight: 900; + font-size: 12px; + text-align: end; + padding-right: 5px; +} +#progressBar { + border-radius: 10px; + width: 100px; + height: 10px; + border: 1px solid #2e2c2e; + position: relative; +} +#progressBar span { + display: block; + height: 100%; + background-color: #2e2c2e; + position: absolute; + top: 0; + left: 0; + animation: progressBar 10s linear forwards; +} +@keyframes progressBar { + 0% { + width: 0%; + } + 100% { + width: 100%; + } +} + +.result-screen { + display: none; + height: 83px; + width: 120px; + border-radius: 5px; +} + +.buttons { + background-color: #111111; + height: 36px; + width: 130px; + position: absolute; + top: 286px; + right: 205px; + display: flex; + align-items: center; + justify-content: space-around; + cursor: pointer; +} + +.button-1 { + display: flex; + align-items: center; + justify-content: center; + height: 35px; + width: 35px; + border-radius: 50px; + background: rgb(254, 255, 255); + background: radial-gradient( + circle, + rgba(254, 255, 255, 0.6558998599439776) 0%, + rgba(0, 0, 0, 1) 100% + ); +} + +.power-button { + height: 25px; + width: 25px; +} + +.blow-tip { + display: none; + height: 53px; + width: 110px; + position: absolute; + left: 87px; + top: 31px; + transform: rotate(17deg); + cursor: pointer; +} + +.blow-tip .tooltiptext { + visibility: hidden; + width: 120px; + background-color: #000000a1; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 2px 0; + position: absolute; + z-index: 1; + top: -45px; + font-weight: 900; + font-family: sans-serif; + height: 30px; + transform: rotate(-16deg); +} + +.blow-tip:hover .tooltiptext { + visibility: visible; +} + +@keyframes slideUp { + 0% { + transform: translateY(100%); + opacity: 0; + } + 100% { + transform: translateY(0); + opacity: 1; + } +} + +.slide-up { + animation: slideUp 0.5s ease-out forwards; +} + +@keyframes slideDown { + 0% { + transform: translateY(0); + opacity: 1; + } + 100% { + transform: translateY(100%); + opacity: 0; + } +} + +.slide-down { + animation: slideDown 0.5s ease-out forwards; +} \ No newline at end of file diff --git a/resources/[tools]/cfx_nteam_train_scenario/.fxap b/resources/[tools]/cfx_nteam_train_scenario/.fxap new file mode 100644 index 000000000..6993664bc Binary files /dev/null and b/resources/[tools]/cfx_nteam_train_scenario/.fxap differ diff --git a/resources/[tools]/cfx_nteam_train_scenario/client.lua b/resources/[tools]/cfx_nteam_train_scenario/client.lua new file mode 100644 index 000000000..b836f5003 Binary files /dev/null and b/resources/[tools]/cfx_nteam_train_scenario/client.lua differ diff --git a/resources/[tools]/cfx_nteam_train_scenario/config.lua b/resources/[tools]/cfx_nteam_train_scenario/config.lua new file mode 100644 index 000000000..544a90f73 --- /dev/null +++ b/resources/[tools]/cfx_nteam_train_scenario/config.lua @@ -0,0 +1,90 @@ +Config = {} + +Config.BlackBarSize = 0.20 + +HideHud = function(status) + +end + +--=================================================================== +-- SCENARIOS +--=================================================================== + +-- You can add as many scenarios you want ( like before going to jail, or to transfer player from city to paleto or sandy , or any other idea you have like scenario for something ) + +Config.Scenarios = { + ['Welcome'] = { -- this name must stay Welcome if you are using it for PostCharacterCreator + StartWalkLocation = vector4(2628.1289, 2936.3772, 40.4228, 57.3484), -- location where player scenario starts + StopWalkingLocation = vector4(2623.7268, 2938.6338, 40.4228, 64.0300), -- walking from coords to coords must be straight line + -- Location where train will be spawned + spawnLocation = vector4(2614.9763, 2944.1470, 40.1375, 140.1980), + -- Final Destination where train will stop and player gets out + targetLocation = vector3(324.7359, -1796.8044, 28.1226), + TrainModel = 24, + TrainDirection = false, -- its true/false + PlayerInCarriage = true, + DriverModel = 'u_m_m_edtoh', + -- location where player will be teleported after train stopes at station + StationCoords = vector4(313.8152, -1784.0806, 28.1811, 236.6900), + PostScenario = function() + -- this is client side function + -- You can trigger any client or server event here / or any client export + end, + }, + + -- this is our example for video you can edit it or use it ( here we replaced train with another model but you can use any model you want ) + ['Jail'] = { + StartWalkLocation = vector4(184.5892, -1908.8032, 22.8594, 227.5445), -- location where player scenario starts + StopWalkingLocation = vector4(206.6665, -1933.1744, 22.3089, 216.1803), -- walking from coords to coords must be straight line + -- Location where train will be spawned + spawnLocation = vector4(212.1824, -1931.2069, 22.7389, 318.9960), + -- Final Destination where train will stop and player gets out + targetLocation = vector3(1965.6018, 2419.7219, 60.2874), + TrainModel = 20, + TrainDirection = true, -- its true/false + PlayerInCarriage = true, + DriverModel = 'u_m_m_edtoh', + -- location where player will be teleported after train stopes at station + StationCoords = vector4(1851.5878, 2585.7178, 45.6719, 85.5455), + PostScenario = function() + -- this is client side function + -- You can trigger any client or server event here / or any client export + -- for example here add your jail logic ( to send player to jail ) + end, + }, + + ['Paleto'] = { + StartWalkLocation = vector4(-459.9373, 5368.5127, 81.2990, 251.0909), -- location where player scenario starts + StopWalkingLocation = vector4(-453.2338, 5366.6680, 81.2989, 253.9655), -- walking from coords to coords must be straight line + -- Location where train will be spawned + spawnLocation = vector4(-447.7654, 5358.0933, 81.9381, 181.3557), + -- Final Destination where train will stop and player gets out + targetLocation = vector3(1810.5146, 3510.3872, 38.7271), + TrainModel = 24, + TrainDirection = false, -- its true/false + PlayerInCarriage = true, + DriverModel = 'u_m_m_edtoh', + -- location where player will be teleported after train stopes at station + StationCoords = vector4(1825.2296, 3508.4880, 38.3468, 28.0931), + PostScenario = function() + -- this is client side function + -- You can trigger any client or server event here / or any client export + end, + }, +} + + +--======================================================================= +-- HOW TO USE THIS RESOUCE +--======================================================================= + +--[[ + If you want to use This Resource Scenarios you can call it from Client using event : + + --@ type is 'Welcome','Jail' or any other scenario you created + TriggerEvent('train:startscenario',type) + + If you want to use it from server call it like this : + + TriggerClientEvent('train:startscenario', source, type) +]] \ No newline at end of file diff --git a/resources/[tools]/cfx_nteam_train_scenario/fxmanifest.lua b/resources/[tools]/cfx_nteam_train_scenario/fxmanifest.lua new file mode 100644 index 000000000..ddc2f2850 --- /dev/null +++ b/resources/[tools]/cfx_nteam_train_scenario/fxmanifest.lua @@ -0,0 +1,32 @@ +fx_version 'cerulean' + +author "NTeam Development" +version '1.0.0' +description 'NTeam Train Scenario' + +games { 'gta5' } +lua54 'yes' + +ui_page 'html/index.html' + +files { + 'html/index.html', + 'html/sounds/*.mp3', +} + +shared_scripts { + 'config.lua', +} + +client_scripts { + 'client.lua', +} + +server_scripts { + 'server.lua', +} + +escrow_ignore { + 'config.lua', +} +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[tools]/cfx_nteam_train_scenario/html/index.html b/resources/[tools]/cfx_nteam_train_scenario/html/index.html new file mode 100644 index 000000000..2f87312ef --- /dev/null +++ b/resources/[tools]/cfx_nteam_train_scenario/html/index.html @@ -0,0 +1,97 @@ + + + + + + NTeam Train Scenario + + + + +
PRESS SPACE TO CHANGE CAMERA
+
+ + + +
+ + diff --git a/resources/[tools]/cfx_nteam_train_scenario/html/sounds/welcome.mp3 b/resources/[tools]/cfx_nteam_train_scenario/html/sounds/welcome.mp3 new file mode 100644 index 000000000..db58af28c Binary files /dev/null and b/resources/[tools]/cfx_nteam_train_scenario/html/sounds/welcome.mp3 differ diff --git a/resources/[tools]/cfx_nteam_train_scenario/server.lua b/resources/[tools]/cfx_nteam_train_scenario/server.lua new file mode 100644 index 000000000..ee21e9371 Binary files /dev/null and b/resources/[tools]/cfx_nteam_train_scenario/server.lua differ