diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/.fxap b/resources/[Developer]/[Nordi]/brutal_policejob/.fxap deleted file mode 100644 index d93cb2d4f..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/.fxap and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/README.md b/resources/[Developer]/[Nordi]/brutal_policejob/README.md deleted file mode 100644 index cecf3b394..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/README.md +++ /dev/null @@ -1 +0,0 @@ -Please follow the instructions: https://docs.brutalscripts.com \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/cl_utils.lua b/resources/[Developer]/[Nordi]/brutal_policejob/cl_utils.lua deleted file mode 100644 index c15106462..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/cl_utils.lua +++ /dev/null @@ -1,384 +0,0 @@ -ESX = Core -QBCore = Core - --- Buy here: (4€+VAT) https://store.brutalscripts.com -function notification(title, text, time, type) - if Config.BrutalNotify then - exports['brutal_notify']:SendAlert(title, text, time, type) - else - -- Put here your own notify and set the Config.BrutalNotify to false - SetNotificationTextEntry("STRING") - AddTextComponentString(text) - DrawNotification(0,1) - - -- Default ESX Notify: - --TriggerEvent('esx:showNotification', text) - - -- Default QB Notify: - --TriggerEvent('QBCore:Notify', text, 'info', 5000) - - -- OKOK Notify: - -- exports['okokNotify']:Alert(title, text, time, type, false) - - end -end - -function TextUIFunction(type, text) - if Config.TextUI ~= false then - if type == 'open' then - if Config.TextUI:lower() == 'ox_lib' then - lib.showTextUI(text) - elseif Config.TextUI:lower() == 'okoktextui' then - exports['okokTextUI']:Open(text, 'darkblue', 'right') - elseif Config.TextUI:lower() == 'esxtextui' then - ESX.TextUI(text) - elseif Config.TextUI:lower() == 'qbdrawtext' then - exports['qb-core']:DrawText(text,'left') - elseif Config.TextUI:lower() == 'brutal_textui' then - exports['brutal_textui']:Open(text, "blue") - end - elseif type == 'hide' then - if Config.TextUI:lower() == 'ox_lib' then - lib.hideTextUI() - elseif Config.TextUI:lower() == 'okoktextui' then - exports['okokTextUI']:Close() - elseif Config.TextUI:lower() == 'esxtextui' then - ESX.HideUI() - elseif Config.TextUI:lower() == 'qbdrawtext' then - exports['qb-core']:HideText() - elseif Config.TextUI:lower() == 'brutal_textui' then - exports['brutal_textui']:Close() - end - end - end -end - -function InventoryOpenFunction(type, data) - if type == 'society' then - local job = data - local label = job:sub(1, 1):upper() .. job:sub(2):lower().." Stash" - - if Config.Inventory:lower() == 'ox_inventory' then - exports.ox_inventory:openInventory('stash', {id = "stash_"..job}) - elseif Config.Inventory:lower() == 'qb_inventory' then - if GetResourceState('qb-inventory') == "started" then - TriggerServerEvent("qb-inventory:server:OpenInventory", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - else - TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - TriggerEvent("inventory:client:SetCurrentStash", "stash_"..job) - end - elseif Config.Inventory:lower() == 'quasar_inventory' then - TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - TriggerEvent("inventory:client:SetCurrentStash", "stash_"..job) - elseif Config.Inventory:lower() == 'chezza_inventory' then - TriggerEvent("inventory:openInventory", {type = "stash", id = "stash_"..job, title = label, weight = 100000, delay = 100, save = true}) - elseif Config.Inventory:lower() == 'core_inventory' then - TriggerServerEvent("core_inventory:server:openInventory", "stash_"..job, "big_storage") - elseif Config.Inventory:lower() == 'codem_inventory' then - TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - elseif Config.Inventory:lower() == 'origen_inventory' then - exports.origen_inventory:openInventory("stash", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - elseif Config.Inventory:lower() == 'ps-inventory' then - if GetResourceState('ps-inventory') == "started" then - TriggerServerEvent("ps-inventory:server:OpenInventory", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - TriggerEvent("ps-inventory:client:SetCurrentStash", "stash_"..job) - else - TriggerServerEvent("inventory:server:OpenInventory", "stash", "stash_"..job, {label = label, maxweight = 100000, slots = 100}) - TriggerEvent("inventory:client:SetCurrentStash", "stash_"..job) - end - end - elseif type == 'search_player' then - local target = data - - if Config.Inventory:lower() == 'ox_inventory' then - exports.ox_inventory:openInventory('player', target) - elseif Config.Inventory:lower() == 'qb_inventory' then - if GetResourceState('qb-inventory') == "started" then - TriggerServerEvent("qb-inventory:server:OpenPlayerInventory", target) - else - TriggerServerEvent("inventory:server:OpenInventory", "otherplayer", target) - end - elseif Config.Inventory:lower() == 'quasar_inventory' then - TriggerServerEvent("inventory:server:OpenInventory", "otherplayer", target) - elseif Config.Inventory:lower() == 'chezza_inventory' then - TriggerEvent("inventory:openPlayerInventory", target, true) - elseif Config.Inventory:lower() == 'core_inventory' then - TriggerServerEvent('core_inventory:server:openInventory', target, 'otherplayer', nil, nil, false) - elseif Config.Inventory:lower() == 'codem_inventory' then - TriggerServerEvent('codem-inventory:server:robplayer', target) - elseif Config.Inventory:lower() == 'origen_inventory' then - exports.origen_inventory:openInventory('player', target) - elseif Config.Inventory:lower() == 'ps-inventory' then - if GetResourceState('ps-inventory') == "started" then - TriggerServerEvent('ps-inventory:server:OpenInventory', 'otherplayer', target) - else - TriggerServerEvent('inventory:server:OpenInventory', 'otherplayer', target) - end - end - elseif type == 'search_vehicle_trunk' then - local vehicle = data - local plate = GetVehicleNumberPlateText(vehicle) - - if Config.Inventory:lower() == 'ox_inventory' then - exports.ox_inventory:openInventory('trunk', {id='trunk'..plate, netid = NetworkGetNetworkIdFromEntity(vehicle)}) - elseif Config.Inventory:lower() == 'qb_inventory' then - if GetResourceState('qb-inventory') == "started" then - TriggerServerEvent("qb-inventory:server:OpenInventory", nil, 'trunk-'..plate) - else - TriggerServerEvent("inventory:server:OpenInventory", "trunk", plate, {maxweight = 1000000, slots = 50}) - end - elseif Config.Inventory:lower() == 'quasar_inventory' then - TriggerServerEvent("inventory:server:OpenInventory", "trunk", plate, {maxweight = 1000000, slots = 50}) - elseif Config.Inventory:lower() == 'chezza_inventory' then - TriggerEvent('inventory:openInventory', {type = "trunk", id = plate, title = "Vehicle Trunk", weight = false, delay = 300, save = true}) - elseif Config.Inventory:lower() == 'core_inventory' then - -- no data - elseif Config.Inventory:lower() == 'codem_inventory' then - TriggerEvent('codem-inventory:openInventory', 'trunk', plate) - elseif Config.Inventory:lower() == 'origen_inventory' then - exports.origen_inventory:openInventory('trunk', plate, {maxweight = 1000000, slots = 50}) - elseif Config.Inventory:lower() == 'ps-inventory' then - if GetResourceState('ps-inventory') == "started" then - TriggerServerEvent("ps-inventory:server:OpenInventory", "trunk", plate, {maxweight = 1000000, slots = 50}) - else - TriggerServerEvent("inventory:server:OpenInventory", "trunk", plate, {maxweight = 1000000, slots = 50}) - end - end - elseif type == 'search_vehicle_glovebox' then - local vehicle = data - local plate = GetVehicleNumberPlateText(vehicle) - - if Config.Inventory:lower() == 'ox_inventory' then - exports.ox_inventory:openInventory('glovebox', {id='glovebox'..plate, netid = NetworkGetNetworkIdFromEntity(vehicle)}) - elseif Config.Inventory:lower() == 'qb_inventory' then - if GetResourceState('qb-inventory') == "started" then - TriggerServerEvent("qb-inventory:server:OpenInventory", nil, 'glovebox-'..plate) - else - TriggerServerEvent("inventory:server:OpenInventory", "glovebox", plate) - end - elseif Config.Inventory:lower() == 'quasar_inventory' then - TriggerServerEvent("inventory:server:OpenInventory", "glovebox", plate) - elseif Config.Inventory:lower() == 'chezza_inventory' then - TriggerEvent('inventory:openInventory', {type = "glovebox", id = plate, title = "Vehicle Glove Box", weight = false, delay = 300, save = true}) - elseif Config.Inventory:lower() == 'core_inventory' then - -- no data - elseif Config.Inventory:lower() == 'codem_inventory' then - TriggerEvent('codem-inventory:openInventory', 'glovebox', plate) - elseif Config.Inventory:lower() == 'origen_inventory' then - exports.origen_inventory:openInventory('glovebox', plate, {maxweight = 1000000, slots = 50}) - elseif Config.Inventory:lower() == 'ps-inventory' then - if GetResourceState('ps-inventory') == "started" then - TriggerServerEvent("ps-inventory:server:OpenInventory", "glovebox", plate) - else - TriggerServerEvent("inventory:server:OpenInventory", "glovebox", plate) - end - end - end -end - -function ProgressBarFunction(time, text) - if Config.ProgressBar:lower() == 'progressbars' then --LINK: https://github.com/EthanPeacock/progressBars/releases/tag/1.0 - exports['progressBars']:startUI(time, text) - elseif Config.ProgressBar:lower() == 'mythic_progbar' then -- LINK: https://github.com/HarryElSuzio/mythic_progbar - TriggerEvent("mythic_progbar:client:progress", {name = "policejobduty", duration = time, label = text, useWhileDead = false, canCancel = false}) - elseif Config.ProgressBar:lower() == 'pogressbar' then -- LINK: https://github.com/SWRP-PUBLIC/pogressBar - exports['pogressBar']:drawBar(time, text) - end -end - -function BossMenuFunction(job) - if Config['Core']:upper() == 'ESX' then - TriggerEvent('esx_society:openBossMenu', job, function(data) end, { wash = false }) - elseif Config['Core']:upper() == 'QBCORE' then - TriggerEvent('qb-bossmenu:client:OpenMenu') - end -end - -function PlayerReviveFunction() - if Config['Core']:upper() == 'ESX' then - TriggerEvent('esx_ambulancejob:revive') - elseif Config['Core']:upper() == 'QBCORE' then - TriggerEvent('hospital:client:Revive') - end -end - -function ImpoundDeleteVehicle(vehicle) - local plate = GetVehicleNumberPlateText(vehicle) - DeleteEntity(vehicle) -end - -function HandCuffedEvent(cuffed) - if cuffed then - --exports['qs-smartphone']:canUsePhone(false) - --exports["lb-phone"]:ToggleDisabled(true) - else - --exports['qs-smartphone']:canUsePhone(true) - --exports["lb-phone"]:ToggleDisabled(false) - end -end - -function CustomMDT() - -- You can open another MDT here -end - -function BulletProofVest() - local playerPed = PlayerPedId() - - AddArmourToPed(playerPed, 100) - SetPedArmour(playerPed, 100) - SetPedComponentVariation(playerPed, 9, 27, 9, 2) -end - -function OpenCloakroomMenuEvent() - TriggerEvent('qb-clothing:client:openOutfitMenu') -end - -function CitizenWear() - if Config['Core']:upper() == 'ESX' then - Core.TriggerServerCallback('esx_skin:getPlayerSkin', function(skin) - TriggerEvent('skinchanger:loadSkin', skin) - end) - elseif Config['Core']:upper() == 'QBCORE' then - TriggerServerEvent('qb-clothes:loadPlayerSkin') - end -end - -function setUniform(uniformTable) - if Config['Core']:upper() == 'ESX' then - TriggerEvent('skinchanger:getSkin', function(skin) - local uniform - if skin.sex == 0 then - uniform = uniformTable.male - else - uniform = uniformTable.female - end - - local table = {} - - for k,v in pairs(uniform) do - if k == 't-shirt' then - table.tshirt_1 = uniform['t-shirt'].item - table.tshirt_2 = uniform['t-shirt'].texture - elseif k == 'torso2' then - table.torso_1 = uniform['torso2'].item - table.torso_2 = uniform['torso2'].texture - elseif k == 'decals' then - table.decals_1 = uniform['decals'].item - table.decals_2 = uniform['decals'].texture - elseif k == 'arms' then - table.arms = uniform['arms'].item - elseif k == 'pants' then - table.pants_1 = uniform['pants'].item - table.pants_2 = uniform['pants'].texture - elseif k == 'shoes' then - table.shoes_1 = uniform['shoes'].item - table.shoes_2 = uniform['shoes'].texture - elseif k == 'hat' then - table.helmet_1 = uniform['hat'].item - table.helmet_2 = uniform['hat'].texture - elseif k == 'accessory' then - table.chain_1 = uniform['accessory'].item - table.chain_2 = uniform['accessory'].texture - elseif k == 'ear' then - table.ears_1 = uniform['ear'].item - table.ears_2 = uniform['ear'].texture - elseif k == 'mask' then - table.mask_1 = uniform['mask'].item - table.mask_2 = uniform['mask'].texture - end - end - - TriggerEvent('skinchanger:loadClothes', skin, table) - end) - elseif Config['Core']:upper() == 'QBCORE' then - local table = {} - local gender = QBCore.Functions.GetPlayerData().charinfo.gender - if gender == 0 then - table.outfitData = uniformTable.male - else - table.outfitData = uniformTable.female - end - - TriggerEvent('qb-clothing:client:loadOutfit', table) - end -end - -function LockPick(vehicle) - if Config['Core']:upper() == 'ESX' then - local playerPed = PlayerPedId() - TaskStartScenarioInPlace(playerPed, 'WORLD_HUMAN_WELDING', 0, true) - Wait(1000*10) - ClearPedTasksImmediately(playerPed) - - NetworkRegisterEntityAsNetworked(vehicle) - NetworkRequestControlOfEntity(vehicle) - SetEntityAsMissionEntity(vehicle) - - SetVehicleDoorsLocked(vehicle, 1) - SetVehicleDoorsLockedForAllPlayers(vehicle, false) - elseif Config['Core']:upper() == 'QBCORE' then - TriggerEvent('lockpicks:UseLockpick') - end -end - -function DisableMinimap() - DisplayRadar(false) -end - -function EnableMinimap() - DisplayRadar(true) -end - -function OpenMenuUtil() - InMenu = true - SetNuiFocus(true, true) - - Citizen.CreateThread(function() - while InMenu do - N_0xf4f2c0d4ee209e20() -- it's disable the AFK camera zoom - Citizen.Wait(15000) - end - end) - - DisplayRadar(false) -end - -function CloseMenuUtil() - Citizen.CreateThread(function() - Citizen.Wait(1000) - InMenu = false - end) - - SetNuiFocus(false, false) - - DisplayRadar(true) -end - -function GeneratePolicePlace() - return string.sub(PlayerData.job.label, 1, 4)..''..math.random(0001, 9999) -end - -function IsTargetDead(playerPed) - local dead = false - if IsEntityPlayingAnim(playerPed, 'dead', 'dead_a', 3) or IsEntityPlayingAnim(playerPed, 'combat@damage@writhe', 'writhe_loop', 3) then - dead = true - end - return dead -end - ------------------------| UTILS TRIGGERS |----------------------- - -RegisterNetEvent('brutal_policejob:client:utils:CreateVehicle') -AddEventHandler('brutal_policejob:client:utils:CreateVehicle', function(Vehicle) - SetVehicleFuelLevel(Vehicle, 100.0) - DecorSetFloat(Vehicle, "_FUEL_LEVEL", GetVehicleFuelLevel(Vehicle)) - - if Config['Core']:upper() == 'QBCORE' then - TriggerEvent("vehiclekeys:client:SetOwner", GetVehicleNumberPlateText(Vehicle)) - end -end) - -RegisterNetEvent('brutal_policejob:client:utils:DeleteVehicle') -AddEventHandler('brutal_policejob:client:utils:DeleteVehicle', function(Vehicle) - -end) diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/client/client.lua b/resources/[Developer]/[Nordi]/brutal_policejob/client/client.lua deleted file mode 100644 index 6eee645e4..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/client/client.lua and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/client/errors.lua b/resources/[Developer]/[Nordi]/brutal_policejob/client/errors.lua deleted file mode 100644 index 70489dbab..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/client/errors.lua and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/client/nui.lua b/resources/[Developer]/[Nordi]/brutal_policejob/client/nui.lua deleted file mode 100644 index efa3a6254..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/client/nui.lua and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/config.lua b/resources/[Developer]/[Nordi]/brutal_policejob/config.lua deleted file mode 100644 index 27fae7ee0..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/config.lua +++ /dev/null @@ -1,587 +0,0 @@ ----------------------------------------------------------------------------------------------- ------------------------------------| BRUTAL POLICE JOB :) |----------------------------------- ----------------------------------------------------------------------------------------------- - ---[[ -Hi, thank you for buying our script, We are very grateful! - -For help join our Discord server: https://discord.gg/85u2u5c8q9 -More informations about the script: https://docs.brutalscripts.com ---]] - -Config = { - Core = 'QBCORE', -- 'ESX' / 'QBCORE' | Other core setting on the 'core' folder. - Inventory = 'qs-inventory', -- 'ox_inventory' / 'qb_inventory' / 'quasar_inventory' / 'chezza_inventory' / 'codem_inventory' / 'core_inventory' / 'origen_inventory' / 'ps-inventory' // Custom can be add in the cl_utils.lua!!! - Billing = 'brutal_billing', -- 'brutal_billing' / 'esx_billing' / 'okokBilling' / 'jaksam_billing' / 'codem_billing' / 'quasar_billing' | false = immediate deduction from the player's bank account - TextUI = 'ox_lib', -- false / 'brutal_textui' / 'ox_lib' / 'okokTextUI' / 'ESXTextUI' / 'QBDrawText' // Custom can be add in the cl_utils.lua!!! - Target = 'qb-target', -- 'oxtarget' / 'qb-target' // if the TextUI is set to false target will step its place. | The Target cannot be false. - ProgressBar = 'pogressBar', -- 'progressBars' / 'pogressBar' / 'mythic_progbar' // Custom can be add in the cl_utils.lua!!! - Metric = 'kmh', -- 'kmh' / 'mph' - BrutalNotify = true, -- Buy here: (4€+VAT) https://store.brutalscripts.com | Or set up your own notify >> cl_utils.lua - SteamName = false, -- true = Steam name | false = character name - DateFormat = '%d/%m/%Y', -- Date format - CustomOutfitMenu = false, -- If it's true, it will open a custom outfit menu, what you can edit in the cl_utils.lua line 103. - ClosestDistanceIssue = false, -- DO NOT EDIT IT. - DutyOffOnDeath = true, -- If you are on duty and die, you will be taken off duty. (does nothing if DutySystem = false) - DutySystem = true, -- Do you want to use the Duty System? true / false - - PoliceStations = { - ['Police Department'] = { - Job = 'police', - MenuColors = {'rgb(15, 100, 210)', 'rgb(9, 43, 88)'}, - Blip = {use = false, color = 38, sprite = 60, size = 1.0}, - Marker = {use = false, marker = 20, rgb = {15, 100, 210}, bobUpAndDown = true, rotate = false}, - Duty = vector3(450.7325, -972.9617, 30.6547), - DutyBlips = { - use = true, - updatetime = 5000, - }, - NoteDeleteRank = 2, - GiveLicenseRank = 2, - CitizenCallDeleteRank = 2, - Licenses = {}, - Cloakrooms = { - vector3(472.7700, -1013.5255, 32.9868), - vector3(478.0511, -1011.7962, 32.9868), - }, - BossMenu = { - grades = {7}, - coords = { - vector3(430.7693, -989.8458, 35.8398), - } - } - }, - - ['Marshals'] = { - Job = 'marshal', - MenuColors = {'rgb(235, 164, 52)', 'rgb(181, 116, 13)'}, - Blip = {use = true, color = 22, sprite = 60, size = 1.0}, - Marker = {use = true, marker = 20, rgb = {15, 100, 210}, bobUpAndDown = true, rotate = false}, - Duty = vector3(-446.5832, 6012.8979, 32.2887), - DutyBlips = { - use = true, - updatetime = 5000, - }, - NoteDeleteRank = 2, - GiveLicenseRank = 2, - CitizenCallDeleteRank = 2, - Licenses = {}, - Cloakrooms = { - vector3(-440.2871, 6010.4814, 36.9957), - }, - Armorys = { - vector3(-449.4388, 6015.1021, 36.9956), - }, - BossMenu = { - grades = {3}, - coords = { - vector3(-432.8335, 6005.9185, 36.9957), - } - } - } - }, - Commands = { - -- For cops - - Duty = { - Use = true, - Command = 'pduty', - Suggestion = 'Entering/Exiting duty' - }, - - JobMenu = { - Command = 'jobmenu', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Open Job Menu' - }, - - MDT = { - Use = true, -- if false here you can add your custom MDT >> cl_utils - Command = 'mdt', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Open MDT Menu' - }, - - VehiclePanel = { - Use = true, - Command = 'vehiclepanel', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Vehicle Panel Position edit' - }, - - PlateReader = { - Use = true, -- If true, VehiclePanel also needs to be set to true. - WhitelistedVehicles = {'police', 'police2', 'police3', 'police4', 'fbi', 'fbi2', 'sheriff', 'sheriff2'}, -- false = not in use - Command = 'platereader', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Plate Reader Menu' - }, - - AreaLock = { - Use = true, - DeleteNPC = false, - Command = 'arealock', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Area Lock Menu' - }, - - CameraRepair = { - Command = 'camera_repair', - Suggestion = 'Repair the Camera' - }, - - Drag = { - Command = 'drag', - Suggestion = 'Drag Animation' - }, - - RemoveObjects = { - Command = 'removeobjects', - Suggestion = 'Remove Objects', - Objects = { - -- prop = objects props/models, icon = objects icons in the jobmenu. (for example use icons from here: https://fontawesome.com/search?m=free&o=r), freeze = freeze the objects position: true / false - [1] = {prop = 'prop_roadcone02a', icon = 'fa-solid fa-play fa-rotate-270', freeze = false}, - [2] = {prop = 'prop_barrier_work06a', icon = 'fa-solid fa-road-barrier', freeze = false}, - [3] = {prop = 'p_ld_stinger_s', icon = 'fa-solid fa-road-spikes', freeze = false}, - [4] = {prop = 'prop_gazebo_03', icon = 'fa-solid fa-tent', freeze = false}, - [5] = {prop = 'prop_worklight_03b', icon = 'fa-solid fa-lightbulb', freeze = false}, - -- You can't add more or use less!!! - } - }, - - RobPlayer = { - Use = true, - HandUpAnimation = {use = true, animDictionary = 'missminuteman_1ig_2', animName = 'handsup_base'}, -- If you use a different hands up animation on your server change these | Anim Dict, Anim Name - CanRobDeadPlayer = true, -- You can rob dead players? true / false - Command = 'rob', - Suggestion = 'Rob Player' - }, - - -- For Civils - - CitizenCall = { - Use = true, - Command = 'citizencall', - Control = '', -- Controls list: https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/ - Suggestion = 'Citizen Call Menu', - Cooldown = 0, -- in minutes while a player can not send a citizencall again - }, - }, - - HandCuff = { - Freeze = false, -- Do you want to freeze the player while he is cuffed? true / false - CuffObject = true, -- Do you want to use Cuff Object on the player's hand? true / false - FastCuff = {Command = 'cuff', Control = '', Suggestion = 'To cuff a player faster'}, - -- More controls: https://docs.fivem.net/docs/game-references/controls/ - DisableControls = {24,257,25,263,32,34,31,30,45,22,44,37,23,288,289,170,167,73,199,59,71,72,36,47,264,257,140,141,142,143,75}, -- Disabled controls while the player is cuffed. - - HandcuffItem = 'handcuff', -- Usable item, what everyone can use to cuff someone. - RemoveHandcuffItem = false, -- Wether the script should remove the cuff item after the player used it once or not - HandcuffKeyItem = 'handcuff_key', -- Usable item, what everyone can use to open the handcuff. - RemoveHandcuffKeyItem = false, -- Wether the script should remove the key item after the player used it once or not - DragBlacklistedVehicles = {'bf400', 'sanchez'}, - VehicleEnterType = 'walk', -- walk / teleport | the way how people will get in the vehicle when you put them into one with the jobmenu - }, - - BulletProofs = { - Use = false, -- true = false - Items = { - -- Job = who can use, onlyjob = Only the job members can use? true / fase, item = ITEM - {job = 'police', onlyjob = true, item = 'police_bulletproof'}, - {job = 'sheriff', onlyjob = true, item = 'sheriff_bulletproof'}, - } - }, - - SpeedCameras = { - Use = false, -- Do you want to use Speedcameras? true / false - Blips = {sprite = 184, color = 82, size = 0.5}, -- Speedcameras Blips - OtherWhitelistedJobs = {'ambulance', 'sheriff', ''}, -- Other Whitelisted jobs - Flash = true, -- Do you want a flash effect for Speedcameras? true / false - FlashSound = true, -- Do you want a flash sound for Speedcameras? true / false - Positions = { - -- Coords, job = which job will get the money from the speedcameras, limit = speed limit, price = price (Proportional fine value), radius = radius, blip = true / false - {coords = vector3(2076.3738, 2718.7109, 47.6280), job = 'police', limit = 50, price = 1000, radius = 5.0, blip = true}, - {coords = vector3(1320.0201, 610.4359, 80.1452), job = 'police', limit = 130, price = 3000, radius = 15.0, blip = true}, - {coords = vector3(-2686.5913, 2442.6104, 16.6781), job = 'police', limit = 130, price = 3000, radius = 15.0, blip = true}, - {coords = vector3(-1057.4922, -607.0911, 17.9110), job = 'police', limit = 110, price = 2000, radius = 25.0, blip = true}, - {coords = vector3(229.3872, -662.6493, 38.2247), job = 'police', limit = 50, price = 1000, radius = 15.0, blip = true}, - {coords = vector3(120.5341, -1378.1332, 28.8197), job = 'police', limit = 50, price = 1000, radius = 25.0, blip = true}, - } - }, - - CityAlarms = { -- When shooting or car jacking happens the script can place a blip for some time or send a citizencall to the mdt - Shooting = { - Use = true, - SendCitizenCall = false, - - Blips = {sprite = 110, sprite2 = 229, size = 0.70, color = 1, label = 'Shooting'}, - RemoveTime = 15, -- in second | Remove the blip after this time - JobWhitelist = {"fbi"}, -- if someone from these jobs shoot it wont be triggered - ZoneWhitelists = { -- in this zone it wont be triggered - {size = 30.0, coords = vector3(133.8319, -481.2803, 43.1305)}, - }, - WeaponWhitelist = { -- these weapons wont trigger the script - 'WEAPON_GRENADE', - 'WEAPON_BZGAS', - 'WEAPON_MOLOTOV', - 'WEAPON_STICKYBOMB', - 'WEAPON_PROXMINE', - 'WEAPON_SNOWBALL', - 'WEAPON_PIPEBOMB', - 'WEAPON_BALL', - 'WEAPON_SMOKEGRENADE', - 'WEAPON_FLARE', - 'WEAPON_PETROLCAN', - 'WEAPON_FIREEXTINGUISHER', - 'WEAPON_HAZARDCAN', - 'WEAPON_RAYCARBINE', - 'WEAPON_STUNGUN' - } - }, - - CarJack = { - Use = true, - - Blips = {sprite = 326, size = 0.70, color = 43, label = 'Car Jacking'}, - RemoveTime = 15, -- in second | Remove the blip after this time - SendCitizenCall = true, - UseShockingCarAlarm = true, - - ZoneWhitelists = { - {size = 30.0, coords = vector3(133.8319, -481.2803, 43.1305)}, - }, - }, - }, - - Prison = { - Use = true, -- Do you want to use the Prison? true / false - SaveInventory = true, -- true / false | If set to true, the player's inventory is saved to the database when jailed. (Cannot be true if ClearInventory is also true.) - ClearInventory = false, -- true / false | If set to true, the player's inventory is cleared when jailed. (Cannot be true if SaveInventory is also true.) - SaveFrequency = 5, - Blip = {use = true, label = 'Prison', color = 3, sprite = 188, size = 1.25}, - Marker = {use = true, marker = 20, rgb = {15, 100, 210}, bobUpAndDown = true, rotate = false}, - Coords = vector3(1765.2253, 2560.2373, 45.5651), - SendPlayerToJail = vector3(1840.3468, 2579.6252, 46.0143), - FinishCoords = vector4(1847.0192, 2585.8787, 45.6726, 267.4373), - - Hospital = { - Blip = {label = 'Prison Hospital', coords = vector3(1767.7861, 2570.3118, 45.7299), color = 2, sprite = 61, size = 0.8}, - ReviveTime = 15, -- in sec - ClearInventory = true, -- true / false - Beds = { - {coords = vector3(1772.00, 2597.9272, 45.6585), heading = 90.0}, - {coords = vector3(1772.00, 2594.9656, 45.6586), heading = 90.0}, - {coords = vector3(1772.00, 2591.8428, 45.6586), heading = 90.0}, - }, - }, - - Escape = { - CanEscape = true, -- Do you want to let the players to escape from the Prison? true / false - EscapeDistance = 500.0, -- Escape Distance - - EscapeByTunnel = { - Use = true, -- If it's true, you have to have this required mlo: https://ed-johnsonscripts.tebex.io/package/5303552 - Price = 5000, -- Price to can use - TimeToEscape = 30000, -- Escaping time - - Model = 's_m_y_prismuscl_01', - Coords = vector4(1628.2682, 2584.9957, 44.5652, 1.0618), - DoorCoords = vector4(1628.185, 2584.76, 45.5583, 1.0618), - WalkCoords = vector4(1626.5833, 2585.4402, 45.5648, 2.9932), - DoorObject = -904036698, - }, - }, - - Shop = { - Blip = {label = 'Prison Shop', color = 69, sprite = 59, size = 0.8}, - Coords = vector3(1770.1625, 2551.2397, 45.5650), - Items = { - -- In ESX - {item = 'burger', label = 'Burger', price = 1}, - {item = 'water', label = 'Water', price = 1}, - - -- In QB - --{item = 'sandwich', label = 'Sandwich', price = 1}, - --{item = 'water_bottle', label = 'Water', price = 1}, - } - }, - - Jobs = { - Use = true, - Blip = {label = 'Prison Job', color = 17, sprite = 66, size = 0.7}, - StartJob = vector3(1616.6893, 2576.9800, 45.8556), - - Works = { - -- Welding - { - Time = 10, -- Time in sec - Money = {min = 100, max = 200}, -- Mimimum, Maximum random money amount - Blip = {label = 'Work Possition', color = 26, sprite = 354, size = 0.8}, - Animation = 'WORLD_HUMAN_WELDING', - RemoveProp = 'prop_weld_torch', - Positions = { - {Coords = vector3(1624.7623, 2575.7261, 45.5649), Heading = 270.0}, - {Coords = vector3(1610.1010, 2568.1750, 45.5649), Heading = 45.0}, - }, - }, - - -- Hammering - { - Time = 10, - Money = {min = 100, max = 200}, - Blip = {label = 'Work Possition', color = 26, sprite = 402, size = 1.0}, - Animation = 'WORLD_HUMAN_HAMMERING', - RemoveProp = 'prop_tool_hammer', - Positions = { - {Coords = vector3(1630.2081, 2527.3784, 45.5649), Heading = 235.0}, - {Coords = vector3(1624.8821, 2513.2861, 45.5648), Heading = 100.0}, - }, - }, - - -- Planting - { - Time = 10, - Money = {min = 100, max = 200}, - Blip = {label = 'Work Possition', color = 2, sprite = 1, size = 0.75}, - Animation = 'WORLD_HUMAN_GARDENER_PLANT', - RemoveProp = 'prop_cs_trowel', - Positions = { - {Coords = vector3(1771.3270, 2546.0410, 45.5871), Heading = 275.0}, - {Coords = vector3(1757.6355, 2550.0220, 45.5651), Heading = 130.0}, - {Coords = vector3(1700.1659, 2536.5183, 45.5595), Heading = 150.0}, - }, - }, - - -- Cleaning - { - Time = 10, - Money = {min = 100, max = 200}, - Blip = {label = 'Work Possition', color = 5, sprite = 1, size = 0.75}, - Animation = 'WORLD_HUMAN_MAID_CLEAN', - RemoveProp = 'prop_rag_01', - Positions = { - {Coords = vector3(1781.9982, 2558.9646, 45.6732), Heading = 0.0}, - {Coords = vector3(1784.3669, 2563.7920, 45.6731), Heading = 0.0}, - {Coords = vector3(1784.2422, 2552.7314, 45.6731), Heading = 0.0}, - }, - }, - - -- You can add more... - }, - }, - - PrisonGuards = { - {Model = 'mp_m_securoguard_01', Coords = vector4(1759.9581, 2413.7534, 45.3684, 28.3456), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1820.5490, 2477.2603, 45.3775, 58.4353), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1659.2534, 2398.5969, 45.4038, 1.3208), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1544.2542, 2470.9983, 45.3487, 291.0606), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1538.5869, 2585.3689, 45.3398, 276.2064), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1572.9132, 2678.1006, 45.3943, 241.9367), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1650.8765, 2754.4700, 45.4991, 204.2366), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1772.0437, 2758.9846, 45.5022, 158.1188), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1844.9613, 2699.1370, 45.5318, 91.8540), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1819.9763, 2621.6011, 45.5227, 84.6645), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1796.1647, 2620.0349, 45.5651, 357.4224), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1797.2832, 2590.6509, 45.6206, 190.7684), Distance = 10.0}, - {Model = 'mp_m_securoguard_01', Coords = vector4(1822.2632, 2608.7876, 45.5931, 92.6341), Distance = 20.0}, - }, - }, - - SecurityCameras = { - hack = { - enable = true, -- Camera Hacking | true = false - time = 30, -- Hacking time - removeItem = false, -- Remove the item? | true = false - item = 'cam_hacking', -- Camera Hacking item - distance = 15.0 -- The player should be at this distance from camera object - }, - - cameras = { - [1] = {label = "Prison CAM#1", coords = vector3(1768.84, 2530.96, 50.06), r = {x = -15.0, y = 0.0, z = 42.78}, img = 'https://i.ibb.co/L1V2ypj/image.png'}, - [2] = {label = "Prison CAM#2", coords = vector3(1616.35, 2522.01, 50.12), r = {x = -15.0, y = 0.0, z = 300.78}, img = 'https://i.ibb.co/ggPmDzF/image.png'}, - [3] = {label = "Prison CAM#3", coords = vector3(1694.99, 2529.18, 59.00), r = {x = -15.0, y = 0.0, z = 300.78}, img = 'https://i.ibb.co/ZfQ8Rbk/image.png'}, - [4] = {label = "Pacific Bank CAM#1", coords = vector3(235.35, 227.76, 113.83), r = {x = -35.0, y = 0.0, z = 220.05}, img = 'https://i.ibb.co/RzW3BG6/image.png'}, - [5] = {label = "Pacific Bank CAM#2", coords = vector3(232.64, 221.82, 108.47), r = {x = -25.0, y = 0.0, z = -140.91}, img = 'https://i.ibb.co/YZZ5BXG/image.png'}, - [6] = {label = "Pacific Bank CAM#3", coords = vector3(251.83, 225.38, 104.50), r = {x = -35.0, y = 0.0, z = -74.87}, img = 'https://i.ibb.co/bW8qhqx/image.png'}, - [7] = {label = "Jewelery CAM#1", coords = vector3(-620.28, -224.15, 40.32), r = {x = -25.0, y = 0.0, z = 165.78}, img = 'https://i.ibb.co/WgSKLwZ/image.png'}, - [8] = {label = "Jewelery CAM#2", coords = vector3(-627.47, -239.98, 40.30), r = {x = -25.0, y = 0.0, z = -10.78}, img = 'https://i.ibb.co/dtZzrWp/image.png'}, - [9] = {label = "Paleto Bank #1", coords = vector3(-115.40, 6472.91, 33.00), r = {x = -25.0, y = 0.0, z = 200.1595}, img = 'https://i.ibb.co/8ryd2wF/image.png'}, - [10] = {label = "Paleto Bank #2", coords = vector3(-108.02, 6462.61, 33.40), r = {x = -25.0, y = 0.0, z = 360.00}, img = 'https://i.ibb.co/SRtZtBx/image.png'}, - [11] = {label = "Paleto Bank #3", coords = vector3(-104.62, 6479.42, 33.38), r = {x = -25.0, y = 0.0, z = 182.00}, img = 'https://i.ibb.co/J2XSjT4/image.png'}, - [12] = {label = "Paleto Bank #4", coords = vector3(-107.89, 6468.54, 33.90), r = {x = -25.0, y = 0.0, z = 216.00}, img = 'https://i.ibb.co/1QvW9GD/image.png'}, - [13] = {label = "Fleeca Bank #1", coords = vector3(146.52, -1038.20, 30.72), r = {x = -25.0, y = 0.0, z = 250.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [14] = {label = "Fleeca Bank #1", coords = vector3(150.01, -1051.31, 31.10), r = {x = -25.0, y = 0.0, z = 25.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - [15] = {label = "Fleeca Bank #2", coords = vector3(1179.08, 2705.60, 39.40), r = {x = -25.0, y = 0.0, z = 90.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [16] = {label = "Fleeca Bank #2", coords = vector3(1171.28, 2716.70, 39.82), r = {x = -25.0, y = 0.0, z = 225.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - [17] = {label = "Fleeca Bank #3", coords = vector3(-1216.80, -331.46, 39.0), r = {x = -25.0, y = 0.0, z = 290.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [18] = {label = "Fleeca Bank #3", coords = vector3(-1204.83, -337.83, 39.51), r = {x = -25.0, y = 0.0, z = 80.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - [19] = {label = "Fleeca Bank #4", coords = vector3(-2963.95, 478.96, 17.06), r = {x = -25.0, y = 0.0, z = 350.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [20] = {label = "Fleeca Bank #4", coords = vector3(-2952.67, 486.13, 17.47), r = {x = -25.0, y = 0.0, z = 140.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - [21] = {label = "Fleeca Bank #5", coords = vector3(310.85, -276.56, 55.47), r = {x = -25.0, y = 0.0, z = 250.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [22] = {label = "Fleeca Bank #5", coords = vector3(314.34, -289.67, 56.23), r = {x = -25.0, y = 0.0, z = 25.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - [23] = {label = "Fleeca Bank #6", coords = vector3(-354.35, -47.43, 50.69), r = {x = -25.0, y = 0.0, z = 250.1595}, img = 'https://i.ibb.co/Z2M2x5N/image.png'}, - [24] = {label = "Fleeca Bank #6", coords = vector3(-350.62, -60.48, 50.76), r = {x = -25.0, y = 0.0, z = 25.1595}, img = 'https://i.ibb.co/0nDx3P5/image.png'}, - }, - }, - - ----------------------------------------------------------- - -----------------------| TRANSLATE |----------------------- - ----------------------------------------------------------- - - MoneyForm = '$', -- Money form - - -- All Licences Label - Licences = { - ['weapon'] = 'Weapon Licence', - ['dmv'] = 'DMV Licence', - ['drive'] = 'Drive Licence', - ['driver'] = 'Drive Licence', - ['bike'] = 'Bike Licence', - ['hunting'] = 'Hunting Licence', - ['business'] = 'Business Licence', - }, - - Locales = { - CameraLabel = 'Left ~INPUT_CELLPHONE_LEFT~ Right ~INPUT_CELLPHONE_RIGHT~\nUp ~INPUT_CELLPHONE_UP~ Down ~INPUT_CELLPHONE_DOWN~\n~r~Cancel ~INPUT_CELLPHONE_CANCEL~', - ObjectLabel = 'Rotate Object ~INPUT_CELLPHONE_LEFT~ & ~INPUT_CELLPHONE_RIGHT~\n~b~Place Object~w~ ~INPUT_FRONTEND_RDOWN~', - Male = 'Male', - Female = 'Female', - SpeedCameraFine = 'Speed Camera - Speed:', - SpeedCameraBlipLabel = 'Speed Camera', - None = 'None', - Jail = 'Jail', - Reason = 'Reason', - Time = 'Time', - VehicleJacking = 'Vehicle Jacking', - Shooting = 'Shooting', - - -- Job Menu Locales - - CitizenInteractions = 'Citizen Interactions', - Search = 'Search', - Cuff = 'Cuff', - Uncuff = 'Uncuff', - Drag = 'Drag', - InOutOfVehicle = 'In/out of vehicle', - - VehicleInteractions = 'Vehicle Interactions', - Lockpick = 'Lockpick', - WheelClamp = 'Wheel clamp', - Impound = 'Impound', - VehicleSearch = 'Search', - - Objects = 'Objects', - Cone = 'Cone', - Barrier = 'Barrier', - Spikestrips = 'Spikestrips', - Tent = 'Tent', - Light = 'Light', - - MDT = 'MDT', - Colleague = 'Colleague', - }, - - Texts = { - [1] = {'[E] - To open the dress menu', 38, 'Open the dress menu', 'fa-solid fa-person-half-dress'}, - [2] = {'[E] - To open the armory menu', 38, 'Open the armory menu', 'fa-solid fa-shield-halved'}, - [3] = {'[E] - To open the garage menu', 38, 'Open the garage menu', 'fa-solid fa-warehouse'}, - [4] = {'[E] - To deposit the vehicle', 38, 'Deposit the vehicle', 'fa-solid fa-car'}, - [5] = {'[E] - To Duty ON', '[E] - To Duty OFF', 38, 'To Duty', 'fa-solid fa-newspaper'}, - [6] = {'[E] - Search Vehicle Trunk', 38}, - [7] = {'[E] - Search Vehicle Glovebox', 38}, - [8] = {'[E] - To remove Object', 38, 'Remove Object', 'fa-solid fa-trash'}, - [9] = {'[E] - To start job', 38, 'Start job', 'fa-solid fa-play'}, - [10] = {'[E] - To finish job', 38, 'Finish job', 'fa-solid fa-stop'}, - [11] = {'[E] - To start working', 38, 'Start working', 'fa-solid fa-hammer'}, - [12] = {'[E] - To escape By Tunnel', 38, 'Escape By Tunnel', 'fa-solid fa-archway'}, - [13] = {'[E] - To open shop', 38, 'Open shop', 'fa-solid fa-shop'}, - [14] = {'[E] - To send Player To Jail', 38, 'Send Player To Jail', 'fa-solid fa-handcuffs'}, - [15] = {'[E] - To open the boss menu', 38, 'Open the boss menu', 'fa-solid fa-users-gear'}, - }, - - -- Notify function EDITABLE >> cl_utils.lua - Notify = { - [1] = {"POLICE JOB", "No vehicle available for your rank.", 5000, "error"}, - [2] = {"POLICE JOB", "You can't deposit this Vehicle.", 5000, "error"}, - [3] = {"POLICE JOB", "Duty status: ON", 5000, "info"}, - [4] = {"POLICE JOB", "Duty status: OFF", 5000, "info"}, - [5] = {"POLICE JOB", "Something is in the way!", 5000, "error"}, - [6] = {"POLICE JOB", "There isn't free seat in the Vehicle!", 5000, "error"}, - [7] = {"POLICE JOB", "You got:", 5000, "info"}, - [8] = {"POLICE JOB", "
You spent:", 5000, "info"}, - [9] = {"POLICE JOB", "You can't use it.", 5000, "error"}, - [10] = {"POLICE JOB", "You don't have enough money!", 5000, "error"}, - [11] = {"POLICE JOB", "You have started Work! Go to the Point, marked on the map! You will receive Money when you finish the Job.", 10000, "info"}, - [12] = {"POLICE JOB", "Go to the Next Point, marked on the map!", 5000, "info"}, - [13] = {"POLICE JOB", "The Prison Guard bringed you back!", 5000, "info"}, - [14] = {"POLICE JOB", "You do not have enough cash:", 5000, "error"}, - [15] = {"POLICE JOB", "The door is opening, escape!", 5000, "success"}, - [16] = {"POLICE JOB", "Please DO NOT SPAM!", 8000, "error"}, - [17] = {"POLICE JOB", "You aren't near to a Camera Object!", 5000, "error"}, - [18] = {"POLICE JOB", "Hack FAILED!", 5000, "error"}, - [19] = {"POLICE JOB", "Hack SUCCESS! The camera has been deactivated.", 5000, "success"}, - [20] = {"POLICE JOB", "You have successfully repaired the Camera!", 6000, "success"}, - [21] = {"POLICE JOB", "You have successfully submitted!", 6000, "success"}, - [22] = {"POLICE JOB", "You have successfully created a fine!", 6000, "success"}, - [23] = {"POLICE JOB", "There are no players near you!", 6000, "error"}, - [24] = {"POLICE JOB", "Jail time is over!", 6000, "success"}, - [25] = {"POLICE JOB", "You have successfully escaped!", 6000, "success"}, - [26] = {"POLICE JOB", "You can't escape!", 6000, "error"}, - [27] = {"POLICE JOB", "Citizen Call
Street: ", 6000, "info"}, - [28] = {"POLICE JOB", "No one nearby to drag!", 6000, "error"}, - [29] = {"POLICE JOB", "Someone is in the Vehicle!", 6000, "error"}, - [30] = {"POLICE JOB", "You have to put a Wheel Clamp to the Wheel first.", 6000, "error"}, - [31] = {"POLICE JOB", "You paid a police fine:", 5000, "info"}, - [32] = {"POLICE JOB", "The player isn't available!", 5000, "info"}, - [33] = {"POLICE JOB", "The player have to put up their hands!", 5000, "error"}, - [34] = {"POLICE JOB", "You have to wait to send again.", 5000, "error"}, - [35] = {"POLICE JOB", "You have to duty in!", 5000, "error"}, - }, - - Progressbar = { - DutyOFF = 'Duty OFF...', - DutyON = 'Duty ON...', - Working = 'Working...', - WheelClampPlacing = 'Placing Wheel Clamp...', - Impound = 'Impound...', - Rob = 'Player Robbing...' - }, - - Webhooks = { - Use = true, -- Use webhooks? true / false - Locale = { - ['ItemBought'] = 'Item Bought', - ['CitizenCallOpen'] = 'Citizen Call - Open', - ['CitizenCallClose'] = 'Citizen Call - Close', - ['CitizenCallDelete'] = 'Citizen Call - Delete', - ['FineCreated'] = 'Fine Created', - ['Jail'] = 'Jail', - ['Unjail'] = 'Unjail', - - ['PlayerName'] = 'Player Name', - ['Identifier'] = 'Identifier', - ['Items'] = 'Items', - ['Text'] = 'Text', - ['Callid'] = 'Call ID', - ['Coords'] = 'Coords', - ['Assistant'] = 'Assistant', - ['CloseReason'] = 'Close Reason', - ['Receiver'] = 'Receiver', - ['Amount'] = 'Amount', - ['Job'] = 'Job', - ['Reason'] = 'Reason', - - ['Time'] = 'Time ⏲️' - }, - - -- To change a webhook color you need to set the decimal value of a color, you can use this website to do that - https://www.mathsisfun.com/hexadecimal-decimal-colors.html - Colors = { - ['FineCreated'] = 3145631, - ['CitizenCallOpen'] = 3145631, - ['CitizenCallClose'] = 3145631, - ['ItemBought'] = 3145631, - ['Jail'] = 3145631, - ['Unjail'] = 3145631, - } - } -} -- diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/core/client-core.lua b/resources/[Developer]/[Nordi]/brutal_policejob/core/client-core.lua deleted file mode 100644 index 80d4eaf0a..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/core/client-core.lua +++ /dev/null @@ -1,73 +0,0 @@ -Core = nil - -if Config['Core']:upper() == 'ESX' then - local _esx_ = 'new' -- 'new' / 'old' - - if _esx_ then - Core = exports['es_extended']:getSharedObject() - else - while Core == nil do - TriggerEvent('esx:getSharedObject', function(obj) Core = obj end) - Citizen.Wait(0) - end - end - - LoadedEvent = 'esx:playerLoaded' - onPlayerDeath = 'esx:onPlayerDeath' - JobUpdateEvent = 'esx:setJob' - TSCB = Core.TriggerServerCallback - - function GetPlayerJobDatas() - return Core.GetPlayerData().job - end - - function GetClosestPlayerFunction() - if not Config.ClosestDistanceIssue then - return Core.Game.GetClosestPlayer() - else - local pedCoords = GetEntityCoords(PlayerPedId()) - local closestPlayer, _, targetCoords = lib.getClosestPlayer(pedCoords, 100.0) - local distance = 100.0 - if closestPlayer ~= nil then - distance = #(pedCoords - targetCoords) - end - - return closestPlayer, distance - end - end - - function GetClosestVehicleFunction(coords, modelFilter) - if not Config.ClosestDistanceIssue then - return Core.Game.GetClosestVehicle(coords, modelFilter) - else - local pedCoords = GetEntityCoords(PlayerPedId()) - local closestVehicle, targetCoords = lib.getClosestVehicle(pedCoords, 100.0, false) - local distance = 100.0 - if closestVehicle ~= nil then - distance = #(pedCoords - targetCoords) - end - - return closestVehicle, distance - end - end - -elseif Config['Core']:upper() == 'QBCORE' then - Core = exports['qb-core']:GetCoreObject() - - LoadedEvent = 'QBCore:Client:OnPlayerLoaded' - JobUpdateEvent = 'QBCore:Client:OnJobUpdate' - TSCB = Core.Functions.TriggerCallback - - function GetPlayerJobDatas() - return Core.Functions.GetPlayerData().job - end - - function GetClosestPlayerFunction() - return Core.Functions.GetClosestPlayer() - end - - function GetClosestVehicleFunction(coords, modelFilter) - return Core.Functions.GetClosestVehicle(coords, modelFilter) - end - -end \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/core/server-core.lua b/resources/[Developer]/[Nordi]/brutal_policejob/core/server-core.lua deleted file mode 100644 index e177cfe2f..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/core/server-core.lua +++ /dev/null @@ -1,317 +0,0 @@ -Core = nil - -if Config['Core']:upper() == 'ESX' then - local _esx_ = 'new' -- 'new' / 'old' - - if _esx_ == 'new' then - Core = exports['es_extended']:getSharedObject() - else - Core = nil - TriggerEvent('esx:getSharedObject', function(obj) Core = obj end) - while Core == nil do - Citizen.Wait(0) - end - end - - RESCB = Core.RegisterServerCallback - GETPFI = Core.GetPlayerFromId - RUI = Core.RegisterUsableItem - UsersDataTable = 'users' - UserIdentifierValue = 'identifier' - VehiclesDataTable = 'owned_vehicles' - - function GetIdentifier(source) - local xPlayer = GETPFI(source) - while xPlayer == nil do - Citizen.Wait(1000) - xPlayer = GETPFI(source) - end - return xPlayer.identifier - end - - function GetPlayersFunction() - return Core.GetPlayers() - end - - function GetPlayerJobFunction(source) - if source ~= nil then - local xPlayer = GETPFI(source) - PlayerJob = xPlayer.job.name - return PlayerJob - else - return "" - end - end - - function GetPlayerByIdentifier(identifier) - return Core.GetPlayerFromIdentifier(identifier) - end - - function GetAccountMoney(source,account) - local xPlayer = GETPFI(source) - if account == 'bank' then - return xPlayer.getAccount(account).money - elseif account == 'money' then - return xPlayer.getMoney() - end - end - - function AddMoneyFunction(source, account, amount) - local xPlayer = GETPFI(source) - if account == 'bank' then - xPlayer.addAccountMoney('bank', amount) - elseif account == 'money' then - xPlayer.addMoney(amount) - end - end - - function RemoveAccountMoney(source, account, amount) - local xPlayer = GETPFI(source) - if account == 'bank' then - xPlayer.removeAccountMoney('bank', amount) - elseif account == 'money' then - xPlayer.removeMoney(amount) - end - end - - function GetItemCount(source, item) - local xPlayer = GETPFI(source) - - if xPlayer.getInventoryItem(item) ~= nil then - if _esx_ == 'new' then - return xPlayer.getInventoryItem(item).count - else - if string.sub(item, 0, 6):lower() == 'weapon' then - local loadoutNum, weapon = xPlayer.getWeapon(item:upper()) - - if weapon then - return true - else - return false - end - else - return xPlayer.getInventoryItem(item).count - end - end - else - print("^1PROBLEM!^3 The ^7items ^3are not created. Create them from our documentation. https://docs.brutalscripts.com/site/scripts/police-job/installation-guide") - end - end - - function RemoveItem(source, item, amount) - local xPlayer = GETPFI(source) - if _esx_ == 'new' then - xPlayer.removeInventoryItem(item, amount) - else - if string.sub(item, 0, 6):lower() == 'weapon' then - xPlayer.removeWeapon(item) - else - xPlayer.removeInventoryItem(item, amount) - end - end - end - - function AddItem(source, item, count) - local xPlayer = GETPFI(source) - if _esx_ == 'new' then - xPlayer.addInventoryItem(item, count) - else - if string.sub(item, 0, 6):lower() == 'weapon' then - xPlayer.addWeapon(item, 90) - else - xPlayer.addInventoryItem(item, count) - end - end - end - - function GetPlayerNameFunction(source) - local name - if Config.SteamName then - name = GetPlayerName(source) - else - local xPlayer = GETPFI(source) - name = xPlayer.getName() or 'No Data' - end - return name - end - - function GetPlayerSex(source) - local xPlayer = GETPFI(source) - return xPlayer.get("sex") - end - - function ClearInventory(source) - local xPlayer = GETPFI(source) - local src = source - - if InventorySaves[src] == nil then - InventorySaves[src] = {} - end - - for i=1, #xPlayer.inventory, 1 do - if xPlayer.inventory[i] ~= nil and xPlayer.inventory[i].name ~= nil then - - local amount = 0 - if xPlayer.inventory[i].count ~= nil then - amount = xPlayer.inventory[i].count - elseif xPlayer.inventory[i].amount ~= nil then - amount = xPlayer.inventory[i].amount - end - - table.insert(InventorySaves[src], {item = xPlayer.inventory[i].name, amount = amount}) - xPlayer.setInventoryItem(xPlayer.inventory[i].name, 0) - end - end - end - -elseif Config['Core']:upper() == 'QBCORE' then - - Core = exports['qb-core']:GetCoreObject() - - RESCB = Core.Functions.CreateCallback - GETPFI = Core.Functions.GetPlayer - RUI = Core.Functions.CreateUseableItem - UsersDataTable = 'players' - UserIdentifierValue = 'citizenid' - VehiclesDataTable = 'player_vehicles' - - function GetIdentifier(source) - local xPlayer = GETPFI(source) - while xPlayer == nil do - Citizen.Wait(1000) - xPlayer = GETPFI(source) - end - return xPlayer.PlayerData.citizenid - end - - function GetPlayerByIdentifier(identifier) - return Core.Functions.GetPlayerByCitizenId(identifier) - end - - function GetPlayersFunction() - return Core.Functions.GetPlayers() - end - - function GetPlayerJobFunction(source) - local xPlayer = GETPFI(source) - PlayerJob = xPlayer.PlayerData.job.name - return PlayerJob - end - - function GetAccountMoney(source, account) - local xPlayer = GETPFI(source) - if account == 'bank' then - return xPlayer.PlayerData.money.bank - elseif account == 'money' then - return xPlayer.PlayerData.money.cash - end - end - - function AddMoneyFunction(source, account, amount) - local xPlayer = GETPFI(source) - if account == 'bank' then - xPlayer.Functions.AddMoney('bank', amount) - elseif account == 'money' then - xPlayer.Functions.AddMoney('cash', amount) - end - end - - function GetItemCount(source, item) - local xPlayer = GETPFI(source) - local items = xPlayer.Functions.GetItemByName(item) - local item_count = 0 - if items ~= nil then - item_count = items.amount - else - item_count = 0 - end - return item_count - end - - function RemoveAccountMoney(source, account, amount) - local xPlayer = GETPFI(source) - if account == 'bank' then - xPlayer.Functions.RemoveMoney('bank', amount) - elseif account == 'money' then - xPlayer.Functions.RemoveMoney('cash', amount) - end - end - - function RemoveItem(source, item, amount) - local xPlayer = GETPFI(source) - xPlayer.Functions.RemoveItem(item, amount) - end - - function AddItem(source, item, count, info) - local xPlayer = GETPFI(source) - info = info or nil - - xPlayer.Functions.AddItem(item, count, nil, info) - end - - function GetPlayerNameFunction(source) - local name - if Config.SteamName then - name = GetPlayerName(source) - else - local xPlayer = GETPFI(source) - name = xPlayer.PlayerData.charinfo.firstname..' '..xPlayer.PlayerData.charinfo.lastname - end - return name - end - - function GetPlayerSex(source) - local xPlayer = GETPFI(source) - local sex = xPlayer.PlayerData.charinfo.gender - - if sex == 0 then - sex = 'm' - else - sex = 'f' - end - - return sex - end - - function SetHandCuffMetadata(source, isHandcuffed) - local xPlayer = GETPFI(source) - xPlayer.Functions.SetMetaData('ishandcuffed', isHandcuffed) - end - - function GetPlayerDeathMetaData(source) - local xPlayer = GETPFI(source) - return xPlayer.PlayerData.metadata['isdead'] - end - - function ClearInventory(source) - local xPlayer = GETPFI(source) - local src = source - - if InventorySaves[src] == nil then - InventorySaves[src] = {} - end - - local playerItems = xPlayer.PlayerData.items - for _, item in pairs(playerItems) do - if item ~= nil and item.name ~= nil then - - local amount = 0 - if item.amount ~= nil then - amount = item.amount - elseif item.count ~= nil then - amount = item.count - end - - local info = nil - if item.info ~= nil then - info = item.info - elseif item.metadata ~= nil then - info = item.metadata - end - - table.insert(InventorySaves[src], {item = item.name, amount = amount, info = info}) - xPlayer.Functions.RemoveItem(item.name, amount) - end - end - end -end \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/fxmanifest.lua b/resources/[Developer]/[Nordi]/brutal_policejob/fxmanifest.lua deleted file mode 100644 index c90bc8b8e..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/fxmanifest.lua +++ /dev/null @@ -1,77 +0,0 @@ -fx_version 'cerulean' -games { 'gta5' } -lua54 'yes' - -author 'Keres & Dév' -description 'Brutal Police Job - store.brutalscripts.com' -version '1.5.6' - -data_file 'DLC_ITYP_REQUEST' 'stream/clamp.ytyp' - -client_scripts { - 'config.lua', - 'core/client-core.lua', - 'cl_utils.lua', - 'client/*.lua' -} - -server_scripts { - '@mysql-async/lib/MySQL.lua', - 'config.lua', - 'core/server-core.lua', - 'sv_utils.lua', - 'server/*.lua' -} - -shared_script { - '@ox_lib/init.lua' -} - -export 'getAvailableCopsCount' -export 'IsHandcuffed' - -ui_page "html/index.html" -files { - "html/index.html", - "html/style.css", - "html/script.js", - "html/assets/*.png", -} - -provides { 'esx_policejob', 'qb-policejob' } - -dependencies { - '/server:5181', -- ⚠️PLEASE READ⚠️; Requires at least SERVER build 5181 - '/gameBuild:2189', -- ⚠️PLEASE READ⚠️; Requires at least GAME build 2189. -} - -escrow_ignore { - 'config.lua', - 'sv_utils.lua', - 'cl_utils.lua', - 'core/client-core.lua', - 'core/server-core.lua', -} - ---[[ --- locked -escrow_ignore { - 'config.lua', - 'sv_utils.lua', - 'cl_utils.lua', - 'core/client-core.lua', - 'core/server-core.lua', -} - --- open -escrow_ignore { - 'config.lua', - 'sv_utils.lua', - 'cl_utils.lua', - 'core/client-core.lua', - 'core/server-core.lua', - 'client/client.lua', - 'server/server.lua', -} ---]] -dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/across_line.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/across_line.png deleted file mode 100644 index f78924203..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/across_line.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-9.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-9.png deleted file mode 100644 index 7e8fc2db7..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-9.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-rifle.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-rifle.png deleted file mode 100644 index 81aa8af0e..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-rifle.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-shotgun.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-shotgun.png deleted file mode 100644 index 031eb2f0a..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/ammo-shotgun.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_1.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_1.png deleted file mode 100644 index 88555ddd9..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_1.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_2.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_2.png deleted file mode 100644 index 1106bac20..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_2.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_3.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_3.png deleted file mode 100644 index 37f3a41e1..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/blip_3.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/burger.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/burger.png deleted file mode 100644 index 2d3f07e0d..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/burger.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/pistol_ammo.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/pistol_ammo.png deleted file mode 100644 index 89c0d9dfb..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/pistol_ammo.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police.png deleted file mode 100644 index 545566382..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police_bulletproof.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police_bulletproof.png deleted file mode 100644 index bf1c60dec..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/police_bulletproof.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/radio.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/radio.png deleted file mode 100644 index 47aeae9e2..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/radio.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/rifle_ammo.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/rifle_ammo.png deleted file mode 100644 index 639677857..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/rifle_ammo.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sandwich.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sandwich.png deleted file mode 100644 index a658f3270..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sandwich.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff.png deleted file mode 100644 index df7f11cbb..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff_bulletproof.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff_bulletproof.png deleted file mode 100644 index bf1c60dec..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/sheriff_bulletproof.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/shotgun_ammo.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/shotgun_ammo.png deleted file mode 100644 index 1442893bb..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/shotgun_ammo.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/smg_ammo.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/smg_ammo.png deleted file mode 100644 index e3f110bae..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/smg_ammo.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water.png deleted file mode 100644 index e5da16353..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water_bottle.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water_bottle.png deleted file mode 100644 index 2608bf12b..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/water_bottle.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_carbinerifle.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_carbinerifle.png deleted file mode 100644 index 2580ee920..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_carbinerifle.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_flashlight.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_flashlight.png deleted file mode 100644 index cd76ed105..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_flashlight.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_nightstick.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_nightstick.png deleted file mode 100644 index 145db2d40..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_nightstick.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pistol.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pistol.png deleted file mode 100644 index dae40b7c3..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pistol.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pumpshotgun.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pumpshotgun.png deleted file mode 100644 index a7125166f..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_pumpshotgun.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_smg.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_smg.png deleted file mode 100644 index 1aafb4d42..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_smg.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_stungun.png b/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_stungun.png deleted file mode 100644 index 4bf7f4b22..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/html/assets/weapon_stungun.png and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/index.html b/resources/[Developer]/[Nordi]/brutal_policejob/html/index.html deleted file mode 100644 index ae18a2e3a..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/html/index.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - - - - Brutal Police Job - - - - -
-
-
-
-
- -
-
-

Interactions

-
-
-
-
-
-
-
-
-
- -
- -

SHOP

-
-
-
-
-

TOTAL: 0$

- -
-
-
-
-
-
-
-
-
- -
- -
-
-
- -
-
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
date 213 23
-
-
-
- -
-
-
-
Cops
-
0
-
-
-
-
-
Rank
-
-
-
-
-
-
Salary
-
100$
-
-
-
- -
Welcome,
Name
-
-
-
- -
-
online
-
Cam name
-
- -
-
-
-
-
- -

PLT

-
-
-
-
- -

SRN

-
-
-
-
- -

HORN

-
-
-
-
- -

LGHT

-
-
-
-
- -
-
-
-

FRONT

-
-
-
0
-
-
-
None
-
-
-

REAR

-
-
-
0
-
-
-
None
-
-
- - -
-
- -
-
SPEEDING
-
-
-
- -
-

Remained time:

-
- -
-
Citizen Call -
-
-
- -
- -
- -
-
Lock Area -
-
-
- -
- -
-

Minutes

- -
1min
-
- -
-

Range

- -
20m
-
- -
-

Blip

-
-
-
-
-
-
- - -
- -
-
-
You can change the livery with the ⬅️ and ➡️
-
- -
-
Deleting objects
-
-
- - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/script.js b/resources/[Developer]/[Nordi]/brutal_policejob/html/script.js deleted file mode 100644 index a8c953f44..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/html/script.js +++ /dev/null @@ -1,2216 +0,0 @@ -ChoosedButton = 0 -InSubMenu = false -InSearchMenu = "people" -OpenFromJail = false -InPanelPos = false -PressedLicence = [0,0] -OpenedMDT = false -MenuColors = ["",""] -Involveds = [[],[],[]] -AddInvolved = "" -Job = undefined - -if (localStorage.getItem("VehControlTop") != "null"){ - let vc = document.getElementById("vehicle_control") - let vp = document.getElementById("plate_reader") - - vc.style.top = localStorage.getItem("VehControlTop") - vc.style.left = localStorage.getItem("VehControlLeft") - vp.style.top = localStorage.getItem("VehPlateTop") - vp.style.left = localStorage.getItem("VehPlateLeft") -} - -window.addEventListener('message', function(event) { - let data = event.data - - if (data.action === "OpenPoliceMenu"){ - InteractionsTable = data.interactionstable - CreatePoliceMenu() - MenuColors = data.menucolors - RefreshColors() - } - else if (data.action === "OpenCloakRoom"){ - Outfits = data.outfits - CreateDressMenu() - MenuColors = data.menucolors - RefreshColors() - } - else if (data.action === "OpenArmory"){ - CreateArmoryMenu() - MenuColors = data.menucolors - RefreshColors() - } - else if (data.action === "OpenGarage"){ - Vehicles = data.vehicles - CreateGarageMenu() - MenuColors = data.menucolors - RefreshColors() - } - else if (data.action === "OpenMDTMenu"){ - OpenedMDT = true - Cameras = data.cameras - CamStatus = data.status - MoneyForm = data.moneyform - OpenFromJail = false - Job = data.job - Cops = data.cops - Street = data.street - PlayerName = data.name - MenuColors = data.menucolors - NoteRank = data.rank - Incidents = data.incidents - Licenses = data.licenses - LicenseRank = data.licenserank - CitizenCallRank = data.citizencallrank - AllNames = data.names - AllPlates = data.plates - JailStatus = data.jailstatus - RefreshColors() - document.getElementById("MDT").style.animation = "Show_panel 0.5s ease"; - $(".MDT").css("display","block") - $("#jail_back_btn").css("display", "block") - $(".LSDP_logo_img").attr('src', "assets/"+Job.job+".png") - InsertHomeData() - RefreshTime() - } - else if(data.action === "RefreshMDTMenu"){ - MDTTable = data.table - if (data.value == 'search'){ - CreateSearchElements() - } - else if(data.value == 'incident'){ - if (MDTTable.length > 0){ - if (AddInvolved == 'add_vehicle'){ - if (Involveds[0].includes(MDTTable[0].plate) == false){ - Involveds[0].push(MDTTable[0].plate) - } - } - else if (AddInvolved == 'add_people'){ - if (Involveds[1].includes(MDTTable[0].firstname+' '+MDTTable[0].lastname) == false){ - Involveds[1].push(MDTTable[0].firstname+' '+MDTTable[0].lastname) - } - } - } - RefreshInvolveds() - } - } - else if(data.action === "MDTRefreshIncidents"){ - Incidents = data.table - CreateIncidents() - CreateTypeahead(".typeahead", Incidents, 'title') - CreateTypeahead(".people_typeahead", AllNames, false) - CreateTypeahead(".vehicle_typeahead", AllPlates, false) - } - else if(data.action === "MDTRefreshNotes"){ - Notes = data.table - CreateNotes(false) - } - else if (data.action === "OpenShopMenu"){ - ShopItems = data.items - MoneyForm = data.moneyform - Card = data.card - CreateShop(Card) - } - else if (data.action === "EnableCam"){ - CamLabel = data.label - Connected = data.connected - ShowCamMenu() - } - else if (data.action === "DisableCam"){ - HideCamMenu() - } - else if (data.action === "MDTShowLicences"){ - PlayerLicences = data.table - CreateLicences() - } - else if (data.action === "MDTShowFines"){ - PlayerFines = data.table - CreateFines() - } - else if (data.action === "OpenSendToJailMenu"){ - Player_target = data.target - MenuColors = data.menucolors - RefreshColors() - $("#jail_back_btn").css("display", "none") - $('#jail_reason_modal').modal('show') - OpenFromJail = true - } - else if (data.action === "SpeedNotify"){ - PlayerSpeed = data.speed - SpeedLimit = data.limit - SpeedFine = data.amount - Metric = data.metric - MoneyForm = data.moneyform - SpeedNotify() - } - else if (data.action === "JailHud"){ - JailMinute = data.jailminute - $(".jail_hud h3").html(`${JailMinute} minutes left`) - $(".jail_hud").css("display", "block") - } - else if (data.action === "HideJailHud"){ - $(".jail_hud").css("display", "none") - } - else if (data.action === "PlateReaderStatus"){ - if (data.enable == true){ - document.getElementById("plate").classList.add("vehicle_btn_active") - $(".plate_reader").css("display", "block") - } - else{ - document.getElementById("plate").classList.remove("vehicle_btn_active") - $(".plate_reader").css("display", "none") - } - } - else if (data.action === "VehiclePanel"){ - $(".vehicle_menu").css("display", "block") - MenuColors = data.menucolors - RefreshColors() - } - else if (data.action === "HideVehiclePanel"){ - $(".vehicle_menu").css("display", "none") - } - else if (data.action === "VehicleSystem"){ - FrontVehicle = data.frontvehicle - RearVehicle = data.rearvehicle - Horn = data.horn - Siren = data.siren - Light = data.vehiclelight - - if (Horn == true){ - document.getElementById("horn").classList.add("vehicle_btn_active") - } - else{ - document.getElementById("horn").classList.remove("vehicle_btn_active") - } - - if (Siren == true){ - document.getElementById("siren").classList.add("vehicle_btn_active") - } - else{ - document.getElementById("siren").classList.remove("vehicle_btn_active") - } - - if (Light == true){ - document.getElementById("light").classList.add("vehicle_btn_active") - } - else{ - document.getElementById("light").classList.remove("vehicle_btn_active") - } - - if (FrontVehicle.plate != ""){ - document.getElementById("front_speed").innerHTML = FrontVehicle.speed - document.getElementById("front_plate").innerHTML = FrontVehicle.plate - $(".plate_reader #top").css("background-color","rgb(59, 196, 28)") - } - else{ - $(".plate_reader #top").css("background-color","rgb(196, 28, 28)") - } - if (RearVehicle.plate != ""){ - document.getElementById("rear_speed").innerHTML = RearVehicle.speed - document.getElementById("rear_plate").innerHTML = RearVehicle.plate - $(".plate_reader #bottom").css("background-color","rgb(59, 196, 28)") - } - else{ - $(".plate_reader #bottom").css("background-color","rgb(196, 28, 28)") - } - } - else if (data.action === "VehiclePanelEdit"){ - InPanelPos = true - dragElement(document.getElementById("vehicle_control")) - dragElement(document.getElementById("plate_reader")) - } - else if(data.action === "CitizenCallMenu"){ - document.getElementById("create_citizen_call").style.animation = "Appear_Menu 0.5s ease"; - $("#create_citizen_call").css("display", "block") - } - else if(data.action === "MDTGetCitizenCalls"){ - CitizenCalls = data.table - PlayerId = data.myid - CurrentTime = data.time - CreateCitizenCalls() - } - else if(data.action === "LiveryMenu"){ - Livery = data.livery - document.getElementById("vehicle_livery").style.animation = "Appear_Menu 0.5s ease"; - $(".vehicle_livery").css("display", "block") - $("#livery").html("Livery: "+Livery) - } - else if(data.action === "HideLiveryMenu"){ - document.getElementById("vehicle_livery").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $(".vehicle_livery").css("display","none") - }, 400) - } - else if(data.action === "AreaLockMenu"){ - MenuColors = data.menucolors - RefreshColors() - document.getElementById("area_lock").style.animation = "Appear_Menu 0.5s ease"; - $("#area_lock").css("display", "block") - } - else if(data.action === "RemoveObjects"){ - document.getElementById("delete_object").style.animation = "Appear_Menu 0.5s ease"; - $(".delete_object").css("display", "block") - } - else if(data.action === "HideRemoveObjects"){ - document.getElementById("delete_object").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $(".delete_object").css("display","none") - }, 400) - } - else if (data.action === "ControlReleased"){ - Control = data.control - if(Control === "up" || Control === "down" ){ - ChangeFocus(Control) - } - else if(Control === "enter"){ - document.getElementById("circle_"+ChoosedButton).click() - } - else if(Control === "backspace"){ - if(InSubMenu){ - BackPoliceMenu() - } - else{ - Close() - } - } - } -}) - -document.onkeydown = function(data) { - if (event.key == 'Escape') { - Close() - } -} - -function Close(){ - HideInteractionMenu() - HidePoliceMenu() - CloseShop() - CloseMDT() - CloseCitizenCall() - CloseAreaLock() - setTimeout(function(){ - $('.modal').modal('hide') - },500) - if (InPanelPos == true){ - let vc = document.getElementById("vehicle_control") - let vp = document.getElementById("plate_reader") - - localStorage.setItem("VehControlTop", vc.style.top) - localStorage.setItem("VehControlLeft", vc.style.left) - localStorage.setItem("VehPlateTop", vp.style.top) - localStorage.setItem("VehPlateLeft", vp.style.left) - } - InPanelPos = false - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"close"})) -} - -function RefreshColors(){ - var r = document.querySelector(':root') - r.style.setProperty('--main_color', MenuColors[0]) - r.style.setProperty('--main_color_darker', MenuColors[1]) -} - -function RefreshTime(){ - if (OpenedMDT){ - setTimeout(function(){ - RefreshTime() - },100) - } - - var date=new Date(); - var day=date.getDate(); - var month=date.getMonth()+1; - var year=date.getFullYear(); - $("#home_date").html(day+"/"+month+"/"+year+"
"+date.toLocaleTimeString()); -} - -function InsertHomeData(){ - $("#available_cops").html(Cops) - $("#player_rang").html(Job.label) - $("#salary").html(Job.salary+MoneyForm) - $("#job_name").html(Job.name+" - Database") - $("#street").html(` `+Street[0]+",
"+Street[1]) - $(".welcome_text .hand_written").html(PlayerName) -} - -function ChangeFocus(direction){ - if(direction === "up"){ - if(InSubMenu === false){ - if(InteractionsTable.length >= ChoosedButton +2){ - ChoosedButton++ - } - else if(InteractionsTable.length === ChoosedButton +1){ - ChoosedButton = 0 - } - } - else{ - if(InteractionsTable[SubNumber].table.length > ChoosedButton + 1){ - ChoosedButton++ - } - else if(InteractionsTable[SubNumber].table.length === ChoosedButton +1){ - ChoosedButton = 0 - } - } - } - else{ - if(InSubMenu === false){ - if(ChoosedButton === 0){ - ChoosedButton = InteractionsTable.length -1 - } - else{ - ChoosedButton = ChoosedButton -1 - } - } - else{ - if(ChoosedButton === 0){ - ChoosedButton = InteractionsTable[SubNumber].table.length -1 - } - else{ - ChoosedButton = ChoosedButton -1 - } - } - } - - if(InSubMenu){ - for(let i=0; i${InteractionsTable[i].icon} - `) - } - else{ - $(".circle_container").append(` - - `) - } - - $(".police_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)") - Rot = Rot - Angle - } - document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle") - $(".circles_label").html(InteractionsTable[0].label) -} - -function HidePoliceMenu(){ - document.getElementById("police_menu").style.animation = "HidePoliceMenu 1s ease"; - setTimeout(function(){ - $(".police_menu").css("display","none") - },900) -} - -function ChangePoliceButtons(id){ - InSubMenu = true - document.getElementById("police_menu").style.animation = "ChangePoliceMenu 0.8s ease"; - - SubNumber = id.split('_').pop(); - let Num_elements = InteractionsTable[SubNumber].table.length - let Angle = 144/(Num_elements-1) - let Rot = -108 - - setTimeout(function(){ - $(".circle_container").html("") - for(let i=0; i${InteractionsTable[SubNumber].table[i].icon} - `) - $(".police_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)") - Rot = Rot - Angle - } - ChoosedButton = 0 - document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle") - $(".circles_label").html(InteractionsTable[SubNumber].table[0].label) - },400) - - if (SubNumber == 2){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"PoliceMenuObject"})) - } -} - -function BackPoliceMenu(){ - InSubMenu = false - let Num_elements = InteractionsTable.length - let Angle = 144/(Num_elements-1) - let Rot = -108 - - document.getElementById("police_menu").style.animation = "BackPoliceMenu 0.8s ease"; - - setTimeout(function(){ - $(".circle_container").html("") - for(let i=0; i${InteractionsTable[i].icon} - `) - } - else{ - $(".circle_container").append(` - - `) - } - $(".police_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)") - Rot = Rot - Angle - } - ChoosedButton = 0 - document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle") - $(".circles_label").html(InteractionsTable[0].label) - },400) -} - -function SendBackIntButton(id, value){ - let idnumber = id.split('_').pop() - - if (value == true){ - let number = +SubNumber + 1 - for(let i=0; i -
- -
- - `) - if (Outfits[i].label.length > 17){ - $("#"+Outfits[i].id).css("font-size", "15px") - } - } - document.getElementById("interactions").style.animation = "ShowIneractionMenu 0.7s ease"; - $(".interactions").css("display","block") -} - -function HideInteractionMenu(){ - document.getElementById("interactions").style.animation = "HideInteractionMenu 0.7s ease"; - setTimeout(function(){ - $(".interactions").css("display","none") - },680) -} - -function SetDress(id){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"SetDress", id})) -} - -function CreateArmoryMenu(){ - $(".interactions h2").html("Storage") - - $(".int_con_sec").html("") - $(".int_con_sec").html(` -
-
- -
-
-
-
- -
-
- `) - - document.getElementById("interactions").style.animation = "ShowIneractionMenu 0.7s ease"; - $(".interactions").css("display","block") -} - -function Armory(){ - Close() - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"Armory"})) -} - -function Buy(){ - HideInteractionMenu() - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"Buy"})) -} - -function CreateGarageMenu(){ - $(".interactions h2").html("Garage") - - $(".int_con_sec").html("") - for(let i=0; i -
- -
- - `) - if (Vehicles[i].label.length > 17){ - $("#"+Vehicles[i].model+"-"+Vehicles[i].livery).css("font-size", "15px") - } - } - document.getElementById("interactions").style.animation = "ShowIneractionMenu 0.7s ease"; - $(".interactions").css("display","block") -} - -function SpawnVehicle(id){ - model = id.split('-')[0] - livery = id.split('-')[1] - Close() - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"SpawnVehicle", model, livery})) -} - -function RefreshSearchBTN(){ - if (InSearchMenu == "people"){ - let first_name = document.getElementById("in_first_name").value - let last_name = document.getElementById("in_last_name").value - - if (first_name.length > 0 || last_name.length > 0 ){ - document.getElementById("search_btn").disabled = false - } - else{ - document.getElementById("search_btn").disabled = true - } - } - else{ - let plate = document.getElementById("in_plate").value - - if (plate.length > 0){ - document.getElementById("search_btn").disabled = false - } - else{ - document.getElementById("search_btn").disabled = true - } - - } -} - -function ChangeSearch(id){ - $(".table_container").html(` -
-

No results found

-
- `) - if (id === "people"){ - InSearchMenu = "people" - $("#title_text").html("Person details") - $(".search_in_container").html(` -
-
-
- -
-
-
-
- -
-
-
- `) - $("#fcell").html("First name") - $("#scell").html("Last name") - $("#tcell").html("Sex") - document.getElementById("search_btn").disabled = true - } - else{ - InSearchMenu = "vehicle" - $("#title_text").html("Vehicle details") - $(".search_in_container").html(` -
- -
- `) - $("#fcell").html("Plate") - $("#scell").html("Model") - $("#tcell").html("Type") - document.getElementById("search_btn").disabled = true - } -} - -function RefreshDetailsModal(id){ - MDTTableNum = id - if (InSearchMenu == "people"){ - if (JailStatus === false){ - $("#details_modal .datas_container").html(` -
-
-
- -
-
-

Name: ${MDTTable[id].firstname} ${MDTTable[id].lastname}

-

Sex: ${MDTTable[id].sex}

-

Birth: ${MDTTable[id].dateofbirth}

-
-
-
-

Licences

-
- -
-

Actions

- - - -
- - -
-
- `) - } - else if (MDTTable[id].jail_time > 0){ - $("#details_modal .datas_container").html(` -
-
-
- -
-
-

Name: ${MDTTable[id].firstname} ${MDTTable[id].lastname}

-

Sex: ${MDTTable[id].sex}

-

Birth: ${MDTTable[id].dateofbirth}

-
-
-
-

Licences

-
- -
-

Actions

- - - -
- - -
-
- `) - } - else{ - $("#details_modal .datas_container").html(` -
-
-
- -
-
-

Name: ${MDTTable[id].firstname} ${MDTTable[id].lastname}

-

Sex: ${MDTTable[id].sex}

-

Birth: ${MDTTable[id].dateofbirth}

-
-
-
-

Licences

-
- -
-

Actions

- - - -
- - -
-
- `) - } - CreateNotes(true) - - let TargetIdentifier = MDTTable[MDTTableNum].identifier - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"getlicences", TargetIdentifier})) - } - else{ - $("#details_modal .datas_container").html(` -
-
-
-

Plate: ${MDTTable[id].plate}

-

Model: ${MDTTable[id].model}

-

Type: ${MDTTable[id].class}

-

Owner: ${MDTTable[id].owner}

-
- -
-
- -
-
- `) - CreateNotes(true) - } - CreateIMG() -} - -function CreateIMG(){ - if (MDTTable[MDTTableNum].photo != null && MDTTable[MDTTableNum].photo.length > 0){ - $(".img_container").html(` - - - `) - } - else{ - $(".img_container").html(` - - `) - } -} - -function AddIMG(){ - let Plate = MDTTable[MDTTableNum].plate - let Url = document.getElementById("in_add_img").value - - $(".img_container").html(` - - - `) - - if (InSearchMenu == "people"){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"edit_photo", TargetIdentifier, Url})) - } - else{ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTVehicleAction", type:"edit_photo", Plate, Url})) - } - - document.getElementById("in_add_img").value = "" - - setTimeout(function(){ - DoSearch() - }, 1000) -} - -function CreateSearchElements(){ - $(".table_container").html("") - if (MDTTable.length > 0){ - if (InSearchMenu == "people"){ - for(let i=0; i -
- - - - - - - - - -
${MDTTable[i].firstname}${MDTTable[i].lastname}${MDTTable[i].sex}
- - `) - } - } - else{ - for(let i=0; i - - - - - - - - - -
${MDTTable[i].plate}${MDTTable[i].model}${MDTTable[i].class}
- - `) - } - } - } - else{ - $(".table_container").append(` -
-

No results found

-
- `) - } -} - -function CreateLicences(){ - $(".licences_container").html("") - - if (PlayerLicences == "false"){ - $(".licences_container").html(` -
-

The player in not online

-
- `) - } - else if(PlayerLicences == "none"){ - $(".licences_container").html(` -
-

No licences found

-
- `) - } - else{ - if (PlayerLicences.length != 0){ - for(let i=0; i${PlayerLicences[i].label} - `) - } - } - else{ - $(".licences_container").html(` -
-

No licences found

-
- `) - } - } - - if (Licenses.length != 0){ - for(let i=0; i= LicenseRank){ - $(".licences_container").append(` -
${Licenses[i][1]}
- `) - } - } - } - - PressedLicence[0] = 0 - PressedLicence[1] = 0 -} - -function AddLicence(id, license, label){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - let LicenceType = license - - for(let i=0; i 0 && value2.length === 0){ - SearchType = "firstname" - } - else if(value1.length === 0 && value2.length > 0){ - SearchType = "lastname" - } - else if(value1.length > 0 && value2.length > 0){ - SearchType = "fullname" - } - - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTGetData", type:SearchType, value1, value2, value3:'search'})) - } - else{ - SearchType = "plate" - value1 = document.getElementById("in_plate").value - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTGetData", type:SearchType, value1, value3:'search'})) - } -} - -function CreateShop(value){ - $(".shop").css("display", "block") - setTimeout(function(){ - $(".shop").css("scale", "1") - }, 50) - - if (value == true){ - $(".slider_btn").css("display", "block") - $("#shop_back").css("display", "block") - } - else{ - $(".slider_btn").css("display", "none") - $("#shop_back").css("display", "none") - } - - $(".shop_elements_container").html("") - for(let i=0; i -
-
-
${ShopItems[i].price+MoneyForm}
- -

${ShopItems[i].label}

-
-
- -
-
-
-
- - `) - } -} - -function CloseShop(){ - $(".shop").css("scale", "0") - setTimeout(function(){ - $(".shop").css("display", "none") - }, 600) -} - -function changemoney(){ - let AllMoney = 0 - for (let i = 0; i < ShopItems.length; i++) { - AllMoney += ShopItems[i].price * document.getElementById(ShopItems[i].item).value - } - $('.checkout_container h3').html('TOTAL: '+AllMoney+''+MoneyForm+'') -} - -function BuyInShop(){ - BuyItems = [] - for (let i = 0; i < ShopItems.length; i++) { - if (document.getElementById(ShopItems[i].item).value > 0){ - BuyItems.push([ShopItems[i].item, document.getElementById(ShopItems[i].item).value, ShopItems[i].price, ShopItems[i].label]) - } - } - - if (BuyItems.length > 0){ - let Element = document.getElementById("slider_shop") - let Left = Element.offsetLeft - if (Left == 0){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"BuyInShop", BuyItems, paytype:"money"})) - } - else{ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"BuyInShop", BuyItems, paytype:"bank"})) - } - } - - setTimeout(function(){ - for (let i = 0; i < ShopItems.length; i++) { - document.getElementById(ShopItems[i].item).value = 0 - } - changemoney() - }, 200) -} - -function ChangeSliderbtn(id){ - if (id == "shop_slider"){ - let Element = document.getElementById("slider_shop") - let Left = Element.offsetLeft - if (Left == 0){ - Element.style.left = "50%" - } - else{ - Element.style.left = "0%" - } - } - else if (id == "MDT_slider"){ - let Element = document.getElementById("slider_MDT") - let Left = Element.offsetLeft - if (Left == 0){ - Element.style.left = "50%" - ChangeSearch("vehicles") - } - else{ - Element.style.left = "0%" - ChangeSearch("people") - } - } -} - -function isNumber(evt) { - evt = (evt) ? evt : window.event - var charCode = (evt.which) ? evt.which : evt.keyCode - if (charCode > 31 && (charCode < 48 || charCode > 57)) { - return false - } - return true -} - -function setlenght(id) { - if (document.getElementById(id).value.length === 2 && document.getElementById(id).value[0] == 0){ - document.getElementById(id).value = document.getElementById(id).value.substring(1) - } - if (document.getElementById(id).value.length === 4){ - document.getElementById(id).value = document.getElementById(id).value.substring(1) - } - if (document.getElementById(id).value.length === 0){ - document.getElementById(id).value = 0 - } - changemoney() - return true -} - -function SwitchPage(id){ - $("#camera").css("border", "none") - $("#search").css("border", "none") - $("#sos_alert").css("border", "none") - $("#home").css("border", "none") - $("#incidents").css("border", "none") - $("#"+id).css("border-bottom", "solid 3px var(--main_color)") - - if (id == "home"){ - MoveBackLogo() - $(".page_data_container").html(` -
-
-
-
date 213 23
-
-
-
- -
-
-
-
Cops
-
0
-
-
-
-
-
Rank
-
-
-
-
-
-
Salary
-
100$
-
-
-
- -
Welcome,
Name
- - `) - InsertHomeData() - } - else if (id == "search"){ - MoveLogo() - $(".page_data_container").html(` -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
- - - - - - - - - -
First nameLast nameSexAction
-
-
-
-

No results found

-
-
-
-
- `) - } - else if (id == "camera"){ - MoveLogo() - $(".page_data_container").html(` -
-
-
-
- `) - CreateCameraElements() - } - else if (id == "sos_alert"){ - MoveLogo() - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"getcalls"})) - $(".page_data_container").html(` -
-
-
-
- -
-
- `) - } - else if (id == "incidents"){ - MoveLogo() - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTIncident"})) - $(".page_data_container").html(` -
INCIDENTS
- -
-
INCIDENTS
-
- -
-
- -
-
- -
-
-
CREATE
- -
-
-
TITLE
-
- -
- -
VEHICLE INVOLVED
-
-
-
- -
-
-
- -
-
-
- -
-
-
-
PEOPLE INVOLVED
-
-
-
- -
-
-
- -
-
-
- -
- -
SOCIETY INVOLVED
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
CONTENT
-
- -
-
-
- -
-
-
- `) - Involveds = [[],[],[]] - RefreshInvolveds() - $(".MDT .big_con .light").css("background-color", "#94969e") - } -} - -function MoveLogo(){ - $(".LSDP_logo_img").css({ - "height": "80px", - "left": "15.2px", - }) -} - -function MoveBackLogo(){ - $(".LSDP_logo_img").css({ - "height": "200px", - "left": "870px", - }) -} - -function CreateCameraElements(){ - $(".cam_container").html("") - for (let i = 0; i < Cameras.length; i++) { - if (CamStatus[i] == true){ - $(".cam_container").append(` -
-
-
- -

${Cameras[i].label}

- -
-
- `) - } - else{ - $(".cam_container").append(` -
-
-
- -

${Cameras[i].label}

- -
-
- `) - } - - } -} - -function SendCameraBack(id){ - Close() - cameraid = +id.split('_').pop() + +1 - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"ActivateCamera", cameraid})) -} - -function CloseMDT(){ - OpenedMDT = false - document.getElementById("MDT").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $(".MDT").css("display","none") - }, 400) -} - -function CloseCitizenCall(){ - document.getElementById("create_citizen_call").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $("#create_citizen_call").css("display","none") - }, 400) -} - -function CloseAreaLock(){ - document.getElementById("area_lock").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $("#area_lock").css("display","none") - }, 400) -} - -function ShowCamMenu(){ - $(".cam_label").html(CamLabel) - $(".cam_menu").css("display", "block") -} - -function HideCamMenu(){ - $(".cam_menu").css("display", "none") -} - -function RefreshJailBTN(){ - let time = document.getElementById("in_jail_time").value - let reason = document.getElementById("in_jail_reason").value - - if (time.length > 0 && reason.length > 0){ - document.getElementById("jail_btn").disabled = false - } - else{ - document.getElementById("jail_btn").disabled = true - } -} - -function SendJail(){ - let time = document.getElementById("in_jail_time").value - let reason = document.getElementById("in_jail_reason").value - - if (OpenFromJail == false){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"jail_mdt", TargetIdentifier, time, reason})) - SwitchPage("search") - } - else{ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"jail_marker", TargetIdentifier:Player_target, time, reason})) - } - - document.getElementById("in_jail_time").value = "" - document.getElementById("in_jail_reason").value = "" -} - -function SendUnjail(){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"unjail", TargetIdentifier})) - SwitchPage("search") -} - - -// Get players incidents - -function GetIncidents(Name, value){ - $(".incidents_container").html("") - if (Incidents.length > 0){ - let helptable = [] - for (let i = 0; i < Incidents.length; i++) { - let LocalInvolveds = JSON.parse(Incidents[i].involveds) - if (value){ - for (let _i = 0; _i < LocalInvolveds[1].length; _i++) { - if (LocalInvolveds[1][_i] == Name){ - helptable.push(i) - } - } - } - else{ - for (let _i = 0; _i < LocalInvolveds[0].length; _i++) { - if (LocalInvolveds[0][_i] == Name){ - helptable.push(i) - } - } - } - } - - if (helptable.length > 0){ - for (let i = 0; i < helptable.length; i++) { - $(".incidents_container").append(` -
-
-
${Incidents[helptable[i]].title}
-
${Incidents[helptable[i]].date}
-
- `) - } - } - else{ - $(".incidents_container").html(` -

No incidents have found

- `) - } - - } - else{ - $(".incidents_container").html(` -

No incidents have found

- `) - } -} - -function CreateTypeahead(Class, Table, data){ - let TypeAheadList = [] - - for(let i = 0; i < Table.length; i++){ - if (data == false){ - TypeAheadList.push(Table[i].toString()) - } - else{ - TypeAheadList.push(Table[i][data].toString()) - } - } - - var $input = $(Class); - - $input.typeahead('destroy'); - - $input.typeahead({ - autocomplete: true, - source: TypeAheadList, - }); - - $input.change(function() { - var current = $input.typeahead("getActive"); - matches = []; - - if (current) { - if (current.name == $input.val()) { - matches.push(current.name); - } - } - }); -} - -// Incident menu - -function RefreshAddToInvolvedBTN(id){ - if (id == "incident_title"){ - if (document.getElementById(id).value.length > 0){ - document.getElementById('create_incident').disabled = false - } - else{ - document.getElementById('create_incident').disabled = true - } - } - else if (id == "add_involved_vehicle"){ - if (document.getElementById(id).value.length > 0){ - document.getElementById('add_vehicle').disabled = false - } - else{ - document.getElementById('add_vehicle').disabled = true - } - } - else if (id == "add_involved_people"){ - if (document.getElementById(id).value.length > 0){ - document.getElementById('add_people').disabled = false - } - else{ - document.getElementById('add_people').disabled = true - } - } - else if (id == "add_involved_society"){ - if (document.getElementById(id).value.length > 0){ - document.getElementById('add_society').disabled = false - } - else{ - document.getElementById('add_society').disabled = true - } - } -} - -function CreateIncidents(){ - $(".incidents_con").html("") - if (Incidents.length > 0){ - for (let i = Incidents.length-1; i > -1; i=i-1) { - $(".incidents_con").append(` - - `) - } - } - else{ - $(".incidents_con").html(` -

No incidents have found

- `) - } -} - -function SearchIncidents(id){ - $(".incidents_con").html("") - let filter = document.getElementById(id).value.toUpperCase() - for (let i = 0; i < Incidents.length; i++) { - if (Incidents[i].title.toUpperCase().indexOf(filter) > -1){ - $(".incidents_con").append(` - - `) - } - } -} - -function OpenIncident(Num){ - SwitchPage('incidents') - $('.modal').modal('hide') - setTimeout(function(){ - LoadIncident(Num) - }, 500) -} - -function LoadIncident(Num){ - for (let i = 0; i < Incidents.length; i++) { - if (document.getElementById('incident_'+Incidents[i].id) != undefined){ - document.getElementById('incident_'+Incidents[i].id).classList.remove("choosed") - } - } - - document.getElementById('incident_'+Incidents[Num].id).classList.add("choosed") - - $(".MDT .big_con .light").css("background-color", "var(--main_color)") - - Involveds = JSON.parse(Incidents[Num].involveds) - RefreshInvolveds() - - $("#incident_main_label").html("EDIT") - document.getElementById("incident_main_label").classList.add("edit") - document.getElementById("incident_title").value = Incidents[Num].title - document.getElementById("incident_content").value = Incidents[Num].content - - $(".bottom_btn_con").html(` -
- -
-
- -
- `) -} - -function AddToInvolved(id){ - AddInvolved = id - if (id == 'add_vehicle'){ - let value1 = document.getElementById('add_involved_vehicle').value - document.getElementById('add_involved_vehicle').value = '' - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTGetData", type:'plate', value1, value3:'incident'})) - } - else if (id == 'add_people'){ - let input = document.getElementById('add_involved_people').value - if (input.indexOf(' ') >= 0){ - let value1 = input.split(' ')[0] - let value2 = input.split(' ')[1] - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTGetData", type:'fullname', value1, value2, value3:'incident'})) - } - else{ - let value1 = input - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTGetData", type:'firstname', value1, value3:'incident'})) - } - document.getElementById('add_involved_people').value = '' - } - else if (id == 'add_society'){ - let value1 = document.getElementById('add_involved_society').value - document.getElementById('add_involved_society').value = '' - Involveds[2].push(value1) - RefreshInvolveds() - } - document.getElementById(id).disabled = true -} - -function RefreshInvolveds(){ - for (let i = 0; i < 3; i++) { - $('#involvedcon_'+i).html('') - if (Involveds[i].length > 0){ - for (let _i = 0; _i < Involveds[i].length; _i++) { - $('#involvedcon_'+i).append(` -
-
${Involveds[i][_i]}
- -
- `) - if (Involveds[i].length > 1 && i == 1){ - $('#involvedcon_'+i).css( - "margin-bottom", "-20px" - ) - } - else{ - $('#involvedcon_'+i).css( - "margin-bottom", "0px" - ) - } - } - document.getElementById('involvedcon_'+i).classList.remove("empty") - } - else{ - $('#involvedcon_'+i).css( - "margin-bottom", "0px" - ) - document.getElementById('involvedcon_'+i).classList.add("empty") - } - } -} - -function RemoveInvolved(first, second){ - Involveds[first].splice(second, 1) - RefreshInvolveds() -} - -function CreateIncident(){ - let title = document.getElementById("incident_title").value - let content = document.getElementById("incident_content").value - console.log(Involveds) - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTIncidentAction", type:"create", title, involveds:Involveds, content})) - SwitchPage('incidents') -} - -function DeleteIncident(id){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTIncidentAction", type:"delete", id})) - SwitchPage('incidents') -} - -function SaveIncident(id){ - let title = document.getElementById("incident_title").value - let content = document.getElementById("incident_content").value - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTIncidentAction", type:"save", title, involveds:Involveds, content, id})) - SwitchPage('incidents') -} - -function RefreshFineBTN(){ - let name = document.getElementById("in_fine_name").value - let amount = document.getElementById("in_fine_amount").value - - if (name.length > 0 && amount.length > 0){ - document.getElementById("fine_btn").disabled = false - } - else{ - document.getElementById("fine_btn").disabled = true - } -} - -function SendFine(){ - let name = document.getElementById("in_fine_name").value - let amount = document.getElementById("in_fine_amount").value - let TargetIdentifier = MDTTable[MDTTableNum].identifier - let targetname = MDTTable[MDTTableNum].firstname+" "+MDTTable[MDTTableNum].lastname - - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"givefine", TargetIdentifier, name, amount, targetname})) - - document.getElementById("in_fine_name").value = "" - document.getElementById("in_fine_amount").value = "" -} - -function CreateFines(){ - $(".fines_container").html("") - if (PlayerFines.length > 0){ - let Fines_all = 0 - let Fines_count = PlayerFines.length - for (let i = 0; i < PlayerFines.length; i++) { - $(".fines_container").append(` -
-
-
-
-

${PlayerFines[i].label}

-
-
-

${PlayerFines[i].amount+MoneyForm}

-
-
-
- `) - Fines_all = +Fines_all + +PlayerFines[i].amount - } - - $("#fines_all").html("All: "+Fines_all+MoneyForm) - $("#fines_count").html("Count: "+Fines_count) - } - else{ - $(".fines_container").html(` -

No fines found

- `) - - $("#fines_all").html("All: -") - $("#fines_count").html("Count: -") - } - -} - -function SendFines(){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"showfines", TargetIdentifier})) -} - -function SpeedNotify(){ - document.getElementById("speeding_notify").style.animation = "Show_panel 0.5s ease"; - $(".speeding_notify").css("display", "block") - $(".speeding_notify .main_text").html(`You went with ${PlayerSpeed+Metric} at a ${SpeedLimit+Metric} speed limit`) - $(".speeding_notify .fine").html(SpeedFine+MoneyForm) - setTimeout(function(){ - document.getElementById("speeding_notify").style.animation = "Hide_panel 0.5s ease"; - setTimeout(function(){ - $(".speeding_notify").css("display", "none") - },400) - },5000) -} - -function dragElement(elmnt) { - var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; - - elmnt.onmousedown = dragMouseDown; - - function dragMouseDown(e) { - e = e || window.event; - e.preventDefault(); - - pos3 = e.clientX; - pos4 = e.clientY; - document.onmouseup = closeDragElement; - document.onmousemove = elementDrag; - } - - function elementDrag(e) { - e = e || window.event; - e.preventDefault(); - - pos1 = pos3 - e.clientX; - pos2 = pos4 - e.clientY; - pos3 = e.clientX; - pos4 = e.clientY; - - elmnt.style.opacity = "0.8" - - elmnt.style.top = (elmnt.offsetTop - pos2) + "px"; - elmnt.style.left = (elmnt.offsetLeft - pos1) + "px"; - } - - function closeDragElement() { - elmnt.style.opacity = "1" - document.onmouseup = null; - document.onmousemove = null; - } -} - -function CreateNotes(value){ - $(".notes_container").html("") - if (value == true){ - if (MDTTable[MDTTableNum].notes != undefined){ - for(let i=MDTTable[MDTTableNum].notes.length -1 ; i>-1; i = i-1){ - if (Job.rank >= NoteRank){ - $(".notes_container").append(` -
-
- -
-
-

${MDTTable[MDTTableNum].notes[i].name}

-
${MDTTable[MDTTableNum].notes[i].date}
-
-
-
${MDTTable[MDTTableNum].notes[i].text}
-
-
-
- `) - } - else{ - $(".notes_container").append(` -
-
-
-
-

${MDTTable[MDTTableNum].notes[i].name}

-
${MDTTable[MDTTableNum].notes[i].date}
-
-
-
${MDTTable[MDTTableNum].notes[i].text}
-
-
-
- `) - } - } - } - } - else{ - if (Notes != undefined){ - for(let i=Notes.length -1 ; i>-1; i = i-1){ - if (Job.rank >= NoteRank){ - $(".notes_container").append(` -
-
- -
-
-

${Notes[i].name}

-
${Notes[i].date}
-
-
-
${Notes[i].text}
-
-
-
- `) - } - else{ - $(".notes_container").append(` -
-
-
-
-

${Notes[i].name}

-
${Notes[i].date}
-
-
-
${Notes[i].text}
-
-
-
- `) - } - } - } - } -} - -function DeleteNotes(Number){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - if (InSearchMenu == "people"){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"deletenote", TargetIdentifier, NoteNum:Number+1})) - } - else{ - let Plate = MDTTable[MDTTableNum].plate - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTVehicleAction", type:"deletenote", Plate, NoteNum:Number+1})) - } -} - -function RefreshNoteBTN(){ - let in_note = document.getElementById("in_note").value - - if (in_note.length > 0){ - document.getElementById("note_btn").disabled = false - } - else{ - document.getElementById("note_btn").disabled = true - } -} - -function CreateNote(){ - let TargetIdentifier = MDTTable[MDTTableNum].identifier - let Text = document.getElementById("in_note").value - - if (InSearchMenu == "people"){ - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTUserAction", type:"createnote", TargetIdentifier, Text})) - } - else{ - let Plate = MDTTable[MDTTableNum].plate - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTVehicleAction", type:"createnote", Plate, Text})) - } - - - document.getElementById("in_note").value = "" - document.getElementById("note_btn").disabled = true -} - -function RefreshCreateCallBTN(){ - let in_citizen_call_reason = document.getElementById("in_citizen_call_reason").value - - if (in_citizen_call_reason.length > 0){ - document.getElementById("create_call_btn").disabled = false - } - else{ - document.getElementById("create_call_btn").disabled = true - } -} - -function CreateCall(){ - let text = document.getElementById("in_citizen_call_reason").value - let time = Math.round(Date.now() / (1000 * 60)) - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"create", text, time})) - Close() - document.getElementById("in_citizen_call_reason").value = "" -} - -function AcceptCall(){ - $(".call_actions_container").html(` -
- -
- - `) - - let tableid = +CallNumber + +1 - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"accept", tableid})) - - setTimeout(function(){ - $(".involved_container").html("") - for (let i = 0; i < CitizenCalls[CallNumber].cops.length; i++) { - $(".involved_container").append(` -
- ${CitizenCalls[CallNumber].cops[i].name} -
- `) - if (i +1 < CitizenCalls[CallNumber].cops.length){ - $(".involved_container").append(` -
- `) - } - } - },700) - -} - -function RefreshCallModul(id){ - CallNumber = id.split('_')[1] - let Accepted = false - - $(".involved_container").html("") - for (let i = 0; i < CitizenCalls[CallNumber].cops.length; i++) { - if (CitizenCalls[CallNumber].cops[i].id == PlayerId){ - Accepted = true - } - $(".involved_container").append(` -
- ${CitizenCalls[CallNumber].cops[i].name} -
- `) - if (i +1 < CitizenCalls[CallNumber].cops.length){ - $(".involved_container").append(` -
- `) - } - } - - if (CitizenCalls[CallNumber].closed == false){ - if (Accepted == true){ - $(".call_actions_container").html(` -
- -
- - `) - } - } - else{ - $(".call_actions_container").html(` -

Reason to close

-
- -
- `) - } - -} - -function SendPinOnMap(){ - Close() - let tableid = +CallNumber + +1 - let coords = CitizenCalls[CallNumber].coords - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"blip", coords, tableid})) -} - -function CreateCitizenCalls(){ - $(".alert_container_out").html(` -
- `) - if (CitizenCalls.length > 0){ - for (let i = CitizenCalls.length-1; i > -1; i = i-1) { - if (CitizenCalls[i].cops.length > 0){ - $(".alert_container").append(` -
-
-
-
-

Citizen call

-
${CitizenCalls[i].cops.length}
-
-
${CitizenCalls[i].text}
-
-
- - -
-
-
${CurrentTime-CitizenCalls[i].time} minutes ago
-
${CitizenCalls[i].street}
-
-
-
-
- `) - } - else{ - $(".alert_container").append(` -
-
-
-
-

Citizen call

-
${CitizenCalls[i].cops.length}
-
-
${CitizenCalls[i].text}
-
-
- - -
-
-
${CurrentTime-CitizenCalls[i].time} minutes ago
-
${CitizenCalls[i].street}
-
-
-
-
- `) - } - - if (Job != undefined){ - if (Job.rank >= CitizenCallRank){ - for (let i = CitizenCalls.length-1; i > -1; i = i-1) { - $("#call_"+i+"_delete").css("display", "block") - } - } - } - - if (CitizenCalls[i].closed){ - document.getElementById("alert_element_"+i).style.animation = "DoneAlert 2s ease infinite, Appear_Menu 0.7s ease"; - } - else if (CitizenCalls[i].cops.length > 0){ - document.getElementById("alert_element_"+i).style.animation = "ProgressAlert 2s ease infinite, Appear_Menu 0.7s ease"; - } - } - } - else{ - $(".alert_container_out").html(` -

There isn't any call

- `) - } -} - -function DeleteCall(id){ - let tableid = +id +1 - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"delete", tableid})) -} - -function RefreshCloseCallBTN(){ - let reason = document.getElementById("in_call_reason").value - - if (reason.length > 0){ - document.getElementById("close_call").disabled = false - } - else{ - document.getElementById("close_call").disabled = true - } -} - -function CloseCall(){ - let tableid = +CallNumber + +1 - let text = document.getElementById("in_call_reason").value - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"close", tableid, text})) - - document.getElementById("in_call_reason").value = "" -} - -function SyncDataRange(id){ - $("#range_number").html(document.getElementById(id).value+"m") -} - -function SyncDataMin(id){ - $("#range_min_number").html(document.getElementById(id).value+"min") -} - -function RefreshCreateLockBTN(){ - if (document.getElementById("area_lock_label").value.length > 0){ - document.getElementById("create_lock_btn").disabled = false - } - else{ - document.getElementById("create_lock_btn").disabled = true - } -} - -function ChangeBlipBTN(id){ - $('.blip_btn').removeClass("active_btn") - document.getElementById(id).classList.add("active_btn") -} - -function CreateLock(){ - let label = document.getElementById("area_lock_label").value - let time = document.getElementById("min_area_lock").value - let range = document.getElementById("range_area_lock").value - let sprite = document.getElementsByClassName('active_btn')[0].id - $.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"AreaLock", label, time, range, sprite})) - document.getElementById("range_area_lock").value = "20" - document.getElementById("min_area_lock").value = "1" - Close() - $("#range_min_number").html("1min") - $("#range_number").html("20m") -} \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/html/style.css b/resources/[Developer]/[Nordi]/brutal_policejob/html/style.css deleted file mode 100644 index e0e58729e..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/html/style.css +++ /dev/null @@ -1,1977 +0,0 @@ -@import url('https://fonts.cdnfonts.com/css/visitor'); -@import url('https://fonts.cdnfonts.com/css/digital-numbers'); -@import url('https://fonts.cdnfonts.com/css/stringline'); -@import url('https://fonts.cdnfonts.com/css/montserrat'); - -body{ - font-family: 'Montserrat', sans-serif; - user-select: none; - background: none; -} - -:root{ - --main_color: rgb(251, 133, 16); - --main_color_darker: rgb(143, 80, 17); - --background_color: rgb(34, 34, 39); - --secondary_color: rgb(43, 43, 49); - --text_color: white; - --secondarytext_color: rgb(187, 187, 187); -} - -button{ - outline: none; - border: none; - cursor: pointer; - transition: all 0.2s; -} - -button:disabled{ - opacity: 0.6; - cursor: none; -} - -button:hover{ - filter: brightness(120%); -} - -button:disabled:hover{ - filter: none; -} - -button:active{ - transition: all 0.1s; - filter: brightness(90%); -} - -button:disabled:active{ - filter: none; -} - -::-webkit-scrollbar { - display: none; -} - -hr{ - height: 2px; - background-color: white; -} - -.dropdown .dropdown-menu{ - background-color: var(--background_color); -} - -.dropdown .dropdown-menu .dropdown-item{ - color: var(--text_color); -} - -.dropdown .dropdown-menu .dropdown-item:hover{ - background-color: var(--secondary_color); -} - -.typeahead + .dropdown-menu{ - margin-top: 10px; - background-color: var(--background_color); - color: var(--text_color); - border: solid 2px var(--main_color); -} - -.typeahead + .dropdown-menu a{ - background-color: var(--background_color); - color: var(--text_color); -} - -.typeahead + .dropdown-menu .active > a:hover { - background-color: var(--secondary_color); -} - -.police_menu{ - position: absolute; - background-color: rgba(0, 0, 0, 0.182); - border-radius: 50%; - height: 300px; - width: 300px; - top: 30%; - right: -150px; - display: none; - animation: ShowPoliceMenu 1s ease; -} - -@keyframes ShowPoliceMenu{ - 0%{ - transform: rotate(180deg); - scale: 0; - } - 50%{ - transform: rotate(180deg); - scale: 1; - } - 100%{ - transform: rotate(0deg); - } -} - -@keyframes HidePoliceMenu{ - 50%{ - transform: rotate(180deg); - scale: 1; - } - 100%{ - transform: rotate(180deg); - scale: 0; - } -} - -@keyframes ChangePoliceMenu{ - 0%{ - transform: rotate(0deg); - } - 50%{ - transform: rotate(-180deg); - } - 100%{ - transform: rotate(-360deg); - } -} - -@keyframes BackPoliceMenu{ - 0%{ - transform: rotate(-360deg); - } - 50%{ - transform: rotate(-180deg); - } - 100%{ - transform: rotate(0deg); - } -} - -.police_menu .circle_element{ - height: 70px; - width: 70px; - background-color: var(--main_color); - box-shadow: inset 0px -18px 40px -20px black, inset 0px 5px 6px -4px rgba(255, 255, 255, 0.794), 0px 0px 10px 0px rgba(0, 0, 0, 0.658); - border-radius: 50%; - position: absolute; - top: 50%; - left: 50%; - margin: -35px; - transition: scale 0.2s; - font-size: 30px; - color: white; -} - -.hovered_circle{ - border: solid 2px white; - scale: 1.1; -} - -.hovered_circle.circle_element{ - box-shadow: inset 0px -10px 20px -10px rgba(0, 0, 0, 0.609) inset 0px 5px 6px -4px rgba(255, 255, 255, 0), 0px 0px 7px 0px rgba(0, 0, 0, 0.387); -} - -.police_menu .circles_label{ - width: 70px; - position: absolute; - top: 50%; - left: 50%; - margin: -90px; - margin-top: -15px; - color: white; - font-size: 15px; - font-weight: 600; - text-align: center; -} - -.interactions{ - position: absolute; - top: 10%; - right: 5%; - min-height: 300px; - max-height: 700px; - width: 350px; - background-image: linear-gradient(rgba(0, 0, 0, 0.408)70%, rgba(0, 0, 0, 0)); - border-radius: 20px; - color: white; - text-align: center; - animation: ShowIneractionMenu 0.7s ease; - display: none; - overflow-y: scroll; -} - -.interactions .label{ - position: relative; - height: 50px; - width: 90%; - border-radius: 13px; - background: rgb(56, 56, 56); - color: rgb(255, 255, 255); - font-size: 27px; - text-align: center; - padding: 4px; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.75), 0px 2px 5px -3px rgba(0, 0, 0, 0.531); - overflow: hidden; -} - -.interactions .label .background_effect{ - position: absolute; - left: -10%; - margin-top: -50px; - height: 60px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.154)); - transform: skew(-40deg); - z-index: 0; -} - -@keyframes ShowIneractionMenu{ - 0%{ - transform: translateX(200px); - opacity: 0; - } - 100%{ - opacity: 1; - transform: translateX(0px); - } -} - -@keyframes HideInteractionMenu{ - 0%{ - transform: translateX(0px); - } - 100%{ - opacity: 0; - transform: translateX(200px); - } -} - -.int_con_sec{ - animation: ShowIneractionCon 0.7s ease; -} - -@keyframes ShowIneractionCon{ - 0%{ - scale: 0; - } - 100%{ - scale: 1; - } -} - -.long_btn{ - height: 50px; - width: 250px; - background-color: var(--main_color); - box-shadow: inset 0px -30px 50px -35px rgba(0,0,0,0.75); - border-radius: 9px; - color: white; - font-size: 25px; - font-weight: 700; -} - -.control_btn_container{ - position: absolute; - top: 12.5px; - left: 12.5px; - height: 675px; - width: 85px; - background-color: rgb(44, 44, 44); - border-radius: 15px; - animation: PopOutSideMenu 0.7s ease; - box-shadow: 0 15px 25px -4px rgba(0, 0, 0, 0.705); -} - -@keyframes PopOutSideMenu { - 0%{ - transform: translateX(-80%); - scale: 0.9; - } - 25%{ - scale: 0.9; - } - 45%{ - transform: translateX(0%); - } - 100%{ - scale: 1; - } -} - -@keyframes Appear_Menu{ - 0%{ - scale: 0; - opacity: 0; - } - 50%{ - scale: 1.05; - } - 65%{ - scale: 0.95; - opacity: 1; - } - 100%{ - scale: 1; - } -} - -.control_btn{ - position: relative; - height: 73px; - width: 73px; - background-color: rgb(60, 60, 60); - border-radius: 15px; - color: white; - font-size: 26px; - box-shadow: 0px 2.8px 6px -2px rgba(0, 0, 0, 0.692), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564); - transition: none; - transition: all 0.5s; - overflow: hidden; -} - -.control_btn:hover{ - background-image: linear-gradient(var(--main_color_darker), var(--main_color)); -} - -.control_btn .background_effect{ - position: absolute; - top: 0px; - left: -17%; - height: 50px; - width: 57%; - background-image: linear-gradient(8deg, transparent 55%, rgba(255, 255, 255, 0.123)); - transform: skew(-40deg); - z-index: 0; - transition: all 0.6s ease; -} - -.submenu_btn{ - height: 50px; - width: 80%; - background-color: var(--main_color); - box-shadow: inset 0px -50px 109px -65px rgba(0,0,0,0.75); - border-radius: 9px; - color: white; - font-size: 30px; -} - -.MDT{ - position: absolute; - left: 50%; - top: 50%; - height: 700px; - width: 1100px; - transform: translate(-50%,-50%); - background-color: rgb(30, 32, 40); - border-radius: 20px; - overflow: hidden; - display: none; - animation: Show_panel 0.5s ease; -} - -.MDT hr{ - width: 80%; - color: white; - border: solid 2px white; - margin-left: 10%; - border-radius: 5px; -} - -@keyframes Show_panel{ - 0%{ - opacity: 0; - } - 100%{ - opacity: 1; - } -} - -@keyframes Hide_panel{ - 0%{ - opacity: 1; - } - 80%{ - opacity: 0; - } - 100%{ - transform: translate(-50%, -100%); - } -} - -.MDT .table_container{ - height: 500px; - width: 90%; - margin-left: 5%; - overflow-y: scroll; -} - -.MDT table{ - color: white; - text-align: center; -} - -.MDT table .cell{ - width: 25%; -} - -.MDT .slider_btn{ - position: absolute; - top: 2%; - left: 11%; - height: 55px; - width: 160px; - background-color: rgb(42, 42, 42); - border-radius: 15px; -} - -.not_found_con{ - height: 60px; - width: 100%; - border-radius: 3vh; - color: rgb(210, 210, 210); - font-size: 32px; - background-image: linear-gradient(135deg,transparent, var(--main_color_darker), transparent); -} - -.home_label{ - height: 60px; - width: 100%; - border-radius: 3vh; - color: rgb(210, 210, 210); - font-size: 32px; - background-image: linear-gradient(135deg,transparent, var(--main_color_darker), transparent); -} - -.home_label #job_name{ - font-size: 28px; -} - -.home_label #home_date{ - text-align: center; - font-size: 18px; -} - -.home_label #street{ - font-size: 18px; -} - -.home_stat_con{ - height: 180px; - width: 290px; - background-color: var(--main_color_darker); - border-radius: 15px; - animation: Appear_Menu 0.7s ease; -} - -.LSDP_logo_img{ - position: absolute; - bottom: 20px; - left: 870px; - height: 200px; - opacity: 0.3; - transition: 0.6s ease-in-out; - z-index: 11; -} - -.home_stat_con .label{ - margin: 10px; - font-size: 30px; - font-weight: 600; - color: rgb(171, 171, 171); -} - -.home_stat_con .main{ - margin-left: 40px; - font-size: 70px; - font-weight: 700; - color: rgb(211, 211, 211); -} - -.home_stat_con .small{ - font-size: 45px; -} - -.welcome_text{ - margin-left: 40px; - font-size: 90px; - font-weight: 700; - text-align: left; - color: var(--main_color_darker); -} - -.welcome_text .hand_written{ - font-family: 'Stringline', sans-serif; - margin-top: -30px; - font-size: 70px; - color: rgb(175, 175, 175); -} - -.page_data_container{ - max-height: 700px; -} - -.licences_container{ - min-height: 53px; - max-height: 200px; - width: 100%; - display: inline-block; - border-radius: 10px; - background-color: rgb(43, 43, 43); - padding-bottom: 10px; - box-shadow: inset 0px 0px 4px rgba(0, 0, 0, 0.35); -} - -.licences_container .licence_element{ - min-height: 30px; - width: fit-content; - background-color: rgb(31, 31, 31); - border-radius: 20px; - margin-top: 10px; - margin-left: 5px; - border: solid 2px var(--main_color); - float: left; - box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.422); -} - -.licences_container .licence_element.add{ - border: solid 2px rgb(49, 161, 49); -} - -.licences_container .licence_element .licence_btn{ - background-color: transparent; - height: 30px; - width: 30px; - color: white; -} - -.notes_label{ - padding: 10px; - border-radius: 10px; - background-image: linear-gradient(135deg, var(--main_color_darker) 20%, transparent); -} - -.notes_container{ - max-height: 300px; - overflow-y: auto; -} - -.notes_container .note_element{ - position: relative; - min-height: 50px; - border-radius: 10px; - color: white; - background-color: rgb(43, 43, 43); - margin-bottom: 10px; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 2px 5px -3px rgba(0, 0, 0, 0.531); -} - -.note_element .background_effect{ - position: absolute; - left: -10%; - height: 60px; - width: 55%; - background-image: linear-gradient(8deg, transparent 55%, rgba(255, 255, 255, 0.079)); - transform: skew(-40deg); - z-index: 0; -} - -.notes_container .note_element .main_text{ - position: relative; - margin: 10px; - font-size: 20px; - padding: 10px; - border-radius: 10px; - background-color: rgb(53, 53, 53); - box-shadow: inset 0px 0px 5px -1px rgba(7, 7, 7, 0.75); - z-index: 1; -} - -.notes_container .note_element h5{ - color: rgb(188, 188, 188); -} - -.notes_container .note_element .delete_note{ - position: absolute; - top: 10px; - right: 10px; - padding-left: 5px; - padding-right: 5px; - background-color: rgb(236, 66, 66); - box-shadow: inset 0px -2px 8px 0px rgba(0, 0, 0, 0.377); - border-radius: 8px; - color: white; - font-size: 18px; - font-weight: 700; - z-index: 10; -} - -#details_modal .datas_container h4{ - font-weight: 400; -} - -#details_modal .datas_container h4 b{ - font-weight: 700; -} - -#details_modal .datas_container .veh_img{ - background-color: rgb(83, 83, 83); - border-radius: 10px; - height: 150px; -} - -#details_modal .datas_container .veh_add_img{ - background-color: rgb(72, 72, 72); - border-radius: 10px; - height: 150px; - width: 250px; - color: rgb(228, 228, 228); - font-size: 55px; -} - -#details_modal .datas_container .edit_img{ - margin-top: -22px; - background-color: transparent; - color: white; - font-size: 15px; -} - -.cam_shadow{ - position: absolute; - top: 640px; - height: 50px; - width: 970px; - box-shadow: inset 0px -35px 20px -10px rgb(30, 32, 40); - z-index: 10; -} - -.cam_container{ - max-height: 660px; - overflow-y: auto; -} - -.camera_element{ - position: relative; - height: 240px; - width: 200px; - border-radius: 10px; - background-color: rgb(43, 43, 43); - margin-bottom: 20px; - overflow: hidden; - animation: Appear_Menu 0.7s ease; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 2px 5px -3px rgba(0, 0, 0, 0.531); -} - -.camera_element .background_effect{ - position: absolute; - left: -10%; - height: 60px; - width: 55%; - background-image: linear-gradient(8deg, transparent 55%, rgba(255, 255, 255, 0.356)); - transform: skew(-40deg); - z-index: 0; -} - -.camera_element img{ - height: 53%; - background-color: rgb(77, 77, 77); - border-radius: 10px; -} - -.camera_element h4{ - text-align: center; - color: white; - margin-top: 10px; - font-size: 15px; - width: 90%; - margin-left: 5%; -} - -.alert_container_out{ - max-height: 650px; - overflow-y: auto; -} - -.alert_element{ - position: relative; - height: 240px; - width: 420px; - border-radius: 10px; - background-color: rgb(43, 43, 43); - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - margin-bottom: 40px; - - color: white; - animation: UnreadAlert 2s ease infinite, Appear_Menu 0.7s ease; -} - -@keyframes UnreadAlert{ - 0%{ - box-shadow: inset 40px 0px 40px -50px red , inset -40px 0px 40px -50px rgb(10, 20, 223), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } - 50%{ - box-shadow: inset 40px 0px 40px -50px rgb(10, 20, 223) , inset -40px 0px 40px -50px red, inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } - 100%{ - box-shadow: inset 40px 0px 40px -50px red , inset -40px 0px 40px -50px rgb(10, 20, 223), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } -} - -@keyframes ProgressAlert{ - 0%{ - box-shadow: inset 40px 0px 40px -50px rgb(245, 245, 3), inset -40px 0px 40px -50px rgb(245, 245, 3), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } - 50%{ - box-shadow: inset 40px 0px 40px -50px rgba(245, 245, 3, 0), inset -40px 0px 40px -50px rgba(245, 245, 3, 0), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } - 100%{ - box-shadow: inset 40px 0px 40px -50px rgb(245, 245, 3), inset -40px 0px 40px -50px rgb(245, 245, 3), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } -} - -@keyframes DoneAlert{ - 0%{ - box-shadow: inset 40px 0px 40px -50px rgb(17, 204, 17), inset -40px 0px 40px -50px rgb(17, 204, 17), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } - 100%{ - box-shadow: inset 40px 0px 40px -50px rgb(17, 204, 17), inset -40px 0px 40px -50px rgb(17, 204, 17), inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 4px 6px -4px rgba(0, 0, 0, 0.531); - } -} - -.alert_element .background_effect{ - position: absolute; - left: -10%; - height: 80px; - width: 55%; - background-image: linear-gradient(8deg, transparent 55%, rgba(255, 255, 255, 0.079)); - transform: skew(-40deg); - z-index: 0; -} - -.alert_element h2{ - margin: 10px; -} - -.alert_element .police_on{ - float: inline-end; - margin: 10px; - font-size: 23px; -} - -.alert_element .main_text{ - height: 50%; - width: 80%; - margin-left: 10px; - border-radius: 10px; - font-size: 20px; - padding: 10px; - background-color: rgb(53, 53, 53); - box-shadow: inset 0px 0px 5px -3px rgba(7, 7, 7, 0.75); -} - -.alert_element .street{ - float: inline-end; - margin-top: 20px; - font-size: 15px; - padding-right: 5px; - border-right: solid 2px gray; -} - -.alert_element .time{ - float: inline-end; - margin-right: 10px; - margin-top: 20px; - margin-left: 5px; - font-size: 15px; -} - - -.call_actions_container{ - color: white; -} - -.call_reason_con textarea{ - max-height: 200px; -} - -.involved_container{ - max-height: 250px; - width: 400px; - color: white; - border: solid 2px rgb(73, 73, 73); - background-color: rgb(43, 43, 43); - border-radius: 10px; -} - -.involved_container .involved_element{ - height: 50px; - font-size: 30px; - text-align: center; -} - -.involved_container hr{ - width: 90%; - margin: 0px; - margin-left: 5%; -} - -.table_header{ - background-image: linear-gradient(135deg, var(--main_color_darker) 40%, transparent); - border-radius: 10px; - margin-bottom: 20px; - width: 90%; - height: 60px; - margin-left: 5%; - font-size: 27px; -} - -.table_element{ - position: relative; - background-color: rgba(57, 57, 57, 0.596); - border-radius: 10px; - animation: Appear_Menu 0.7s ease; - font-size: 20px; - font-weight: 400; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.564), 0px 2px 5px -3px rgba(0, 0, 0, 0.531); -} - -.table_element .background_effect{ - position: absolute; - left: -10%; - height: 60px; - width: 55%; - background-image: linear-gradient(8deg, transparent 55%, rgba(255, 255, 255, 0.079)); - transform: skew(-40deg); - z-index: 0; -} - -.table_element table{ - height: 50px; -} - -.close{ - height: 70px; - width: 70px; - color: white; - background-color: transparent; - font-size: 35px; -} - -.search_btn{ - height: 50px; - width: 170px; - background-color: var(--main_color); - color: white; - font-size: 25px; - border-radius: 13px; - box-shadow: inset 0px -20px 50px 0px rgba(0, 0, 0, 0.574); - font-weight: 700; -} - -.details_btn{ - position: relative; - height: 43px; - background-color: var(--main_color); - color: white; - font-size: 18px; - border-radius: 10px; - box-shadow: inset 0px -17px 40px 0px rgba(0, 0, 0, 0.574); - font-weight: 700; - z-index: 9; -} - -.details_btn.red{ - background-color: #FC4100; - display: none; -} - -.input-group input{ - background-color: rgb(46, 46, 52); - color: white; - border: none; - outline: none; - text-align: center; -} - -.input-group input::placeholder{ - color: white; -} - -.input-group input:focus{ - background-color: rgb(46, 46, 52); - color: white; - box-shadow: 0px 0px 0px 3px var(--main_color); -} - -.input-group input::placeholder { - color: rgb(187, 187, 187); -} - -.input-group textarea{ - background-color: rgb(72, 72, 72); - color: white; - border: none; - outline: none; -} - -.input-group textarea::placeholder{ - color: rgb(192, 192, 192); -} - -.input-group textarea:disabled{ - background-color: rgb(64, 64, 64); -} - -.input-group textarea:focus{ - background-color: rgb(65, 65, 65); - color: white; - box-shadow: 0px 0px 0px 2px var(--main_color); -} - -.shop{ - position: absolute; - top: 10%; - left: 5%; - height: 756px; - width: 576px; - background-color: rgba(0, 0, 0, 0.35); - border-radius: 15px; - border: none; - transition: all 0.4s ease-in-out; - display: none; - scale: 0; - transition: all 0.6s ease; -} - -.shop .checkout_container{ - position: absolute; - bottom: 2%; - right: 2%; - height: 25%; - width: 60%; -} - -.shop .checkout_container hr{ - width: 90%; - height: 2px; - background-color: white; - margin-left: 5%; -} - -.shop .checkout_container h3{ - position: absolute; - top: 28%; - left: 50%; - transform: translate(-50%,-50%); - font-weight: 800; - font-size: 38px; - color: rgb(241, 241, 241); - width: 100%; - text-align: center; -} - -.shop h2{ - position: absolute; - transform: translate(-50%, 0%); - left: 50%; - margin-top: -30px; - color: white; - font-weight: 900; - font-size: 56px; - text-shadow: inset 3px 3px 13px rgba(0, 0, 0, 0.262); -} - -.shop .shop_elements_container{ - position: absolute; - top: 15.5%; - left: 50%; - transform: translate(-50%, 0%); - height: 59.5%; - width: 90%; - overflow-y: auto; - scroll-behavior: smooth; -} - -.shop .shop_elements_container .shop_element{ - height: 195px; - width: 140px; - left: 50%; - border-radius: 10px; - background: linear-gradient(135deg, rgba(226, 226, 226, 0.664), rgba(226, 226, 226, 0)); - margin-top: 15px; - margin-bottom: 15px; - transition: all 0.4s; -} - -.shop .shop_elements_container .shop_element:hover{ - box-shadow: inset 20px 20px 50px -10px rgba(226, 226, 226, 0.664); -} - -.shop .shop_elements_container .shop_element:hover img{ - scale: 1.1; - transform: translateY(-10%); -} - -.shop .shop_elements_container .shop_element img{ - margin-top: 5%; - height: 60%; - border-radius: 8px; - transition: all 0.4s; -} - -.shop .shop_elements_container .shop_element h4{ - top: 70%; - font-weight: 400; - font-size: 18px; - color: rgb(241, 241, 241); - text-align: center; -} - -.shop .shop_elements_container .shop_element .price{ - color: rgb(219, 219, 219); - margin-left: 8px; - margin-bottom: -30px; - font-size: 20px; - font-weight: 700; -} - -.shop .shop_elements_container .shop_element .num{ - margin-top: -8px; - left: 50%; - width: 80%; - transform: translate(-50%, 0%); - font-weight: 600; - color: rgb(241, 241, 241); -} - -.shop .shop_elements_container .shop_element .num input{ - font-size: 25px; - padding-top: 3px; - padding-bottom: 3px; -} - -.shop .slider_btn{ - position: absolute; - top: 83%; - left: 10%; - height: 65px; - width: 160px; - background-color: rgb(59, 59, 59); - border-radius: 15px; -} - -.slider_btn .slider{ - position: absolute; - left: 0; - top: -5%; - border-radius: 15px; - height: 110%; - width: 50%; - background-color: var(--main_color); - z-index: 1; - transition: all 0.3s ease; - box-shadow: inset 0px -20px 60px 0px rgba(0, 0, 0, 0.486); -} - -.slider_btn .button_container{ - position: absolute; - left: 0; - height: 100%; - width: 100%; - color: white; - z-index: 10; - font-size: 38px; - text-align: center; - align-items: center; - margin: 0; -} - -.buy_btn{ - height: 75px; - min-width: 150px; - background-color: var(--main_color); - color: white; - font-size: 38px; - border-radius: 10px; - box-shadow: inset 0px -35px 80px 0px rgba(0, 0, 0, 0.574); - font-weight: 700; - padding: 10px; - position: absolute; - bottom: 5%; - left: 50%; - transform: translate(-50%, 0%); -} - -.cam_menu{ - height: 100%; - width: 100%; - font-family: 'Visitor TT1 BRK', sans-serif; - display: none; -} - -.cam_menu .cam_label{ - position: absolute; - bottom: 5%; - left: 50%; - transform: translate(-50%, 0%); - background-color: black; - color: white; - font-size: 35px; - text-align: center; -} - -.cam_menu .cam_online{ - position: absolute; - top: 5%; - right: 5%; - background-color: black; - color: rgb(58, 202, 25); - font-size: 35px; - text-align: center; -} - -.cam_menu .cam_date{ - position: absolute; - top: 5%; - left: 5%; - background-color: black; - color: rgb(255, 255, 255); - font-size: 30px; - text-align: center; -} - -.vehicle_menu{ - display: none; - animation: Show_panel 0.3s ease; -} - -.vehicle_control{ - position: absolute; - top: 40%; - right: 5%; - height: 80px; - width: 340px; - border: solid 3px rgb(73, 73, 73); - background-color: rgb(25, 25, 25); - border-radius: 10px; - box-shadow: inset 0px 2px 5px 0px rgb(133, 133, 133); - cursor: move; -} - -.vehicle_control .vehicle_btn{ - height: 65px; - width: 65px; - margin-top: 5px; - background-color: rgb(72, 72, 72); - border: solid 2.5px rgb(77, 77, 77); - border-radius: 8px; - box-shadow: inset 0px 5px 5px -3px rgb(155, 155, 155), inset 0px -15px 15px -5px rgb(50, 50, 50); - color: rgb(195, 195, 195); - font-size: 30px; - text-align: center; - transition: all 0.2s ease; -} - -.vehicle_control .vehicle_btn_active{ - color: white; - background-color: var(--main_color); - box-shadow: inset 0px 5px 5px -3px rgb(155, 155, 155); -} - -.vehicle_control .vehicle_btn h4{ - margin-top: -10px; - font-size: 20px; - font-weight: 700; -} - -.plate_reader{ - position: absolute; - top: 40%; - left: 5%; - height: 220px; - width: 340px; - border: solid 3px rgb(73, 73, 73); - background-color: rgb(25, 25, 25); - border-radius: 10px; - box-shadow: inset 0px 2px 5px 0px rgb(133, 133, 133); - color: rgb(195, 195, 195); - text-align: center; - display: none; - cursor: move; - animation: Show_panel 0.3s ease; -} - -.plate_reader .indicator{ - position: absolute; - height: 5px; - width: 5px; - border-radius: 100%; - background-color: rgb(196, 28, 28); - box-shadow: inset 0px 1px 2px 0px rgba(195, 195, 195, 0.763); - transition: all 0.5s; -} - -.plate_reader #top{ - top: 15px; - right: 15px; -} - -.plate_reader #bottom{ - top: 115px; - right: 15px; -} - -.plate_reader .veh_speed{ - position: relative; - height: 60px; - width: 100px; - border: solid 2px rgb(73, 73, 73); - background-color: rgb(41, 41, 41); - border-radius: 8px; - font-size: 36px; - font-family: 'Digital Numbers', sans-serif; - box-shadow: inset 0px 5px 5px -3px rgb(155, 155, 155), inset 0px -15px 15px -5px rgb(33, 33, 33); -} - -.plate_reader .veh_plate{ - height: 60px; - width: 150px; - border: solid 2px rgb(73, 73, 73); - background-color: rgb(41, 41, 41); - border-radius: 8px; - font-size: 28px; - padding-top: 6px; - text-align: center; - box-shadow: inset 0px 5px 5px -3px rgb(155, 155, 155), inset 0px -15px 15px -5px rgb(33, 33, 33); -} - -.fine_title_container{ - background-image: linear-gradient(135deg, var(--main_color_darker) 40%, transparent); - border-radius: 10px; - margin-bottom: 20px; - width: 85%; - height: 50px; - font-size: 25px; -} - -.fines_container{ - margin-top: -10px; - max-height: 500px; - overflow-y: auto; -} - -.fine_element{ - position: relative; - min-height: 50px; - border-radius: 10px; - color: white; - background-color: rgb(53, 53, 53); - margin-top: 10px; - text-align: center; - box-shadow: inset 0px 2px 3.5px -3px rgba(255, 255, 255, 0.605), 0px 1.6px 3px -2px rgba(27, 27, 27, 0.879); -} - -.fine_element .background_effect{ - position: absolute; - left: -10%; - top: 0px; - height: 40px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.121)); - transform: skew(-40deg); - z-index: 0; -} - -.incidents_container{ - margin-top: -10px; - max-height: 500px; - overflow-y: auto; -} - -.incidents_container .incident_element{ - position: relative; - min-height: 60px; - border-radius: 10px; - color: white; - background-color: rgb(53, 53, 53); - margin-top: 10px; - box-shadow: inset 0px 2px 3.5px -3px rgba(255, 255, 255, 0.605), 0px 1.6px 3px -2px rgba(27, 27, 27, 0.879); - cursor: pointer; - transition: all 0.3s ease; -} - -.incidents_container .incident_element:hover{ - filter: brightness(120%); -} - -.incidents_container .incident_element .background_effect{ - position: absolute; - left: -10%; - top: 0px; - height: 40px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.121)); - transform: skew(-40deg); - z-index: 0; -} - -.incidents_container .incident_element .label{ - position: absolute; - top: 5px; - left: 10px; - font-size: 30px; - color: white; - font-weight: 700; -} - -.incidents_container .incident_element .date{ - position: absolute; - bottom: 5px; - right: 5px; - font-size: 17px; - color: rgb(207, 207, 207); - font-weight: 400; -} - -.speeding_notify{ - position: absolute; - top: 5%; - left: 50%; - transform: translate(-50%, 0%); - min-height: 160px; - width: 350px; - border-radius: 15px; - background-color: rgb(43, 43, 43); - box-shadow: 2px 3px 7px rgba(43, 43, 43, 0.702); - overflow-x: hidden; - animation: Show_panel 0.3s ease; - display: none; -} - -.speeding_notify .title{ - position: absolute; - top: 10%; - left: 50%; - transform: translate(-50%, 0%); - width: 90%; - height: 50px; - border-radius: 10px; - background-image: linear-gradient(135deg, rgb(212, 29, 29)15%, transparent 95%); - color: rgb(223, 223, 223); - font-size: 35px; - font-weight: 700; - text-align: center; - display: flex; - justify-content: center; - align-items: center; - transform: skew(10deg) translate(-50%, 0%); - animation: ShowSpeedTitle 0.7s ease; -} - -@keyframes ShowSpeedTitle{ - 0%{ - transform: skew(10deg) translate(50%, 0%); - } - 50%{ - transform: skew(10deg) translate(-60%, 0%); - } - 65%{ - transform: skew(10deg) translate(-45%, 0%); - } - 100%{ - transform: skew(10deg) translate(-50%, 0%); - } -} - -.speeding_notify .main_text{ - margin-top: 70px; - margin-left: 12.5%; - width: 75%; - text-align: center; - color: rgb(169, 169, 169); - font-size: 16px; - font-weight: 600; -} - -.speeding_notify .main_text .your_speed{ - color: rgb(212, 29, 29); - font-weight: 900; -} - -.speeding_notify .main_text .speed_limit{ - font-weight: 700; -} - -.speeding_notify .fine{ - margin-bottom: 5px; - text-align: center; - color: rgb(208, 38, 38); - font-size: 33px; - font-weight: 800; - transform: skew(10deg); -} - -.jail_hud{ - position: absolute; - bottom: 3%; - left: 18%; - padding: 15px; - display: none; - border-radius: 10px; - background-color: rgb(51, 51, 51); - box-shadow: 4px 4px 5px 0px rgba(0, 0, 0, 0.611), inset 0px -10px 20px -4px rgba(143, 143, 143, 0.593); - transform: skew(-10deg); -} - -.jail_hud h3{ - color: white; - text-align: center; - font-weight: 900; - font-size: 25px; -} - -.basic_container{ - position: absolute; - top: 50%; - left: 3%; - transform: translate(0%, -50%); - height: 320px; - width: 280px; - background-color: rgb(44, 44, 44); - border-radius: 20px; - animation: Appear_Menu 0.3s ease; - color: rgb(218, 218, 218); - text-align: center; - display: none; -} - -#area_lock{ - top: 50%; - left: 50%; - height: 540px; - transform: translate(-50%, -50%); -} - -.basic_container .label{ - position: relative; - margin-top: 10px; - margin-left: 10px; - height: 50px; - width: 260px; - border-radius: 13px; - background: rgb(73, 73, 73); - color: rgb(255, 255, 255); - font-size: 27px; - text-align: center; - padding: 3px; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.75); - overflow: hidden; -} - -.basic_container .label .background_effect{ - position: absolute; - left: -10%; - top: 0px; - height: 60px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.154)); - transform: skew(-40deg); - z-index: 0; -} - -.basic_container textarea{ - resize: none; - background-color: rgb(61, 61, 61); -} - -.basic_container .item_con{ - max-width: 90%; - padding: 10px; - border-radius: 13px; - background-color: rgb(55, 55, 55); -} - -.basic_container .range_number{ - font-size: 16px; - margin-bottom: -2px; - margin-top: 6px; - color: rgb(181, 181, 181); -} - -.blip_btn{ - height: 50px; - width: 50px; - background-color: rgb(89, 89, 89); - border-radius: 10px; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.75); -} - -.blip_btn.active_btn{ - background-color: var(--main_color); -} - -.range::-webkit-slider-thumb{ - -webkit-appearance: none; - appearance: none; - height: 17px; - width: 17px; - border-radius: 100%; - background: var(--main_color); - cursor: pointer; - box-shadow: none; - outline: none; - transition: 0.3s; -} - -.range::-webkit-slider-thumb:focus{ - height: 20px; - width: 20px; -} - -.range{ - -webkit-appearance: none; - width: 75%; - height: 10px; - border-radius: 10px; - outline: none; - background-color: var(--background_color); -} - -.vehicle_livery{ - position: absolute; - top: 3%; - left: 50%; - transform: translate(-50%, 0%); - height: 110px; - width: 300px; - background-color: rgb(44, 44, 44); - border-radius: 15px; - animation: Appear_Menu 0.3s ease; - color: rgb(194, 194, 194); - text-align: center; - box-shadow: 2px 3px 7px rgba(43, 43, 43, 0.702); - display: none; -} - -.vehicle_livery .val_con{ - margin-top: 10px; - height: 45px; - width: fit-content; - background-color: rgb(30, 49, 176); - border-radius: 10px; - text-align: center; - color: rgb(255, 255, 255); - font-size: 26px; - font-weight: 600; - box-shadow: inset 0px 2px 5px -3px rgb(200, 200, 200), inset 0px -4px 8px -5px rgba(31, 31, 31, 0.766); -} - -.modal_header{ - position: relative; - height: 55px; - width: 100%; - border-radius: 13px; - background: rgb(62, 62, 62); - color: rgb(255, 255, 255); - font-size: 27px; - text-align: center; - padding: 3px; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.75), 0px 2px 5px -3px rgba(0, 0, 0, 0.531); - overflow: hidden; -} - -.modal_header .background_effect{ - position: absolute; - left: -10%; - margin-top: -3px; - height: 60px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.154)); - transform: skew(-40deg); - z-index: 0; -} - -.modal .item_con{ - max-width: 90%; - padding: 10px; - border-radius: 13px; - background-color: rgb(55, 55, 55); -} - -.delete_object{ - position: absolute; - bottom: 3%; - left: 18%;; - background-color: rgb(39, 39, 39); - border-radius: 10px; - animation: Appear_Menu 0.3s ease; - color: rgb(178, 29, 29); - text-align: center; - box-shadow: inset 0px 2px 5px -3px rgba(184, 184, 184, 0.75), 0px 4px 8px -3px rgba(0, 0, 0, 0.531); - display: none; -} - -.delete_object h5{ - font-weight: 700; - font-size: 35px; -} - -.delete_object .background_effect{ - position: absolute; - top: 0; - left: -10%; - height: 60px; - width: 55%; - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.222)); - transform: skew(-40deg); - z-index: 0; -} - -.MDT .title{ - font-size: 30px; - font-weight: 700; - color: white; - text-align: center; -} - -.MDT .small_con{ - position: absolute; - top: 70px; - left: 150px; - height: 600px; - width: 320px; - border-radius: 13px; - background-color: #3a3b42; - box-shadow: 0 15px 25px -4px rgba(0, 0, 0, 0.514); -} - -.MDT .small_con .big_label{ - position: relative; - height: 39px; - width: 300px; - margin-left: 10px; - border-radius: 6px; - background-color: #94969e; - font-size: 23px; - font-weight: 700; - color: white; - text-align: center; - line-height: 39px; - box-shadow: 0px 2.8px 6px -2px rgba(0, 0, 0, 0.692), inset 0px 3px 6px -4px rgba(255, 255, 255, 0.644); - overflow: hidden; -} - -.MDT .big_label::before{ - position: absolute; - content: ''; - top: 0%; - left: -50%; - height: 100%; - width: 100%; - filter: blur(1px); - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.219)); - transform: skew(-40deg); -} - -.MDT .small_con input{ - margin-left: 10px; - height: 38px; - background-color: #55575e; - border-radius: 6px; - line-height: 38px; -} - -.MDT .small_con .incidents_con{ - position: relative; - height: 482px; - width: 300px; - margin-left: 10px; - border-radius: 6px; - background-color: #2e3038; - overflow-y: auto; - padding-bottom: 10px; -} - -.MDT .small_con .incidents_con h3{ - color: rgb(206, 206, 206); - margin-top: 15px; -} - -.MDT .small_con .incidents_con .incident_elm{ - position: relative; - height: 51px; - width: 285px; - margin-left: 7.5px; - margin-top: 7.5px; - border-radius: 6px; - background-color: #797c86; - box-shadow: 0px 2.8px 6px -2px rgba(0, 0, 0, 0.692), inset 0px 3px 6px -4px rgba(255, 255, 255, 0.644); - overflow: hidden; -} - -.MDT .small_con .incidents_con .incident_elm:hover::before{ - left: -45%; -} - -.MDT .small_con .incidents_con .incident_elm::before{ - position: absolute; - content: ''; - top: 0%; - left: -50%; - height: 60%; - width: 100%; - filter: blur(1px); - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.185)); - transform: skew(-35deg); - transition: all 0.2s ease; -} - -.MDT .small_con .incidents_con .incident_elm.choosed{ - background-color: var(--main_color); -} - -.MDT .small_con .incidents_con .incident_elm .incident_label{ - position: absolute; - top: 0px; - left: 7px; - font-size: 20px; - font-weight: 700; - color: white; -} - -.MDT .small_con .incidents_con .incident_elm .name{ - position: absolute; - bottom: 2px; - left: 7px; - font-size: 15px; - font-weight: 600; - color: #E9E9E9; -} - -.MDT .small_con .incidents_con .incident_elm .date{ - position: absolute; - bottom: 2px; - right: 5px; - font-size: 13px; - font-weight: 600; - color: #B5B5B5; -} - -.MDT .big_con{ - position: absolute; - top: 70px; - left: 490px; - height: 600px; - width: 577px; - border-radius: 13px; - background-color: #3a3b42; - box-shadow: 0 15px 25px -4px rgba(0, 0, 0, 0.514); - overflow: hidden; -} - -.MDT .big_con .light{ - position: absolute; - top: 5%; - left: 50%; - transform: translate(-50%, -50%); - background-color: #94969e; - height: 250px; - width: 500px; - filter: blur(150px); - border-radius: 50%; - transition: all 0.4s ease; - opacity: 0.5; -} - -.MDT .big_con .big_label{ - position: relative; - height: 37px; - width: 557px; - margin-left: 10px; - border-radius: 6px; - background-color: #94969e; - font-size: 23px; - font-weight: 700; - color: white; - text-align: center; - box-shadow: 0px 2.8px 6px -2px rgba(0, 0, 0, 0.692), inset 0px 3px 6px -4px rgba(255, 255, 255, 0.644); - overflow: hidden; -} - -.MDT .big_con .big_label.edit{ - background-color: var(--main_color); -} - -.MDT .big_con .small_label{ - position: relative; - height: 35px; - width: 238px; - border-radius: 6px; - background-color: #6d6f78; - font-size: 18px; - font-weight: 700; - color: #F5F5F5; - text-align: center; - line-height: 35px; - box-shadow: 0px 2px 6px -1.4px rgba(0, 0, 0, 0.39), inset 0px 3px 6px -4px rgba(255, 255, 255, 0.644); - overflow: hidden; -} - -.MDT .big_con .small_label::before{ - position: absolute; - content: ''; - top: 0%; - left: -50%; - height: 60%; - width: 100%; - filter: blur(1px); - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.185)); - transform: skew(-35deg); - transition: all 0.2s ease; -} - -.MDT .big_con input{ - height: 35px; - background-color: #55575e; - border-radius: 6px; - font-size: 18px; - color: #D3D3D3; - line-height: 35px; - font-weight: 700; -} - -.MDT .big_con .add_btn{ - height: 35px; - width: 35px; - background-color: var(--main_color); - border-radius: 6px; - color: white; - text-align: center; - font-size: 22px; - margin-left: 6px; -} - -.MDT .big_con .involved_con{ - position: relative; - min-height: 43px; - max-height: 79.5px; - width: 238px; - background-color: #2e3038; - border-radius: 6px; - display: inline-block; - padding-bottom: 6.5px; - overflow-y: auto; - transition: all 0.4s ease; - z-index: 10; -} - -.MDT .big_con .involved_con.empty{ - background-image: url('assets/across_line.png'); - background-size: 100%; - opacity: 30%; - transition: none; -} - -.MDT .big_con .involved_con .involved_elm{ - position: relative; - height: 30px; - float: left; - width: fit-content; - background-color: #6d6f78; - border-radius: 4px; - margin-top: 6.5px; - margin-left: 6.5px; - padding-right: 30px; -} - -.MDT .big_con .involved_con .involved_elm .name{ - font-size: 18px; - font-weight: 600; - color: #c5c7d3; -} - -.MDT .big_con .involved_con .involved_elm .remove_btn{ - position: absolute; - top: 4.5px; - right: 4.5px; - height: 21px; - width: 21px; - background-color: rgb(243, 93, 93); - color: white; - font-size: 12px; - border-radius: 3px; -} - -.MDT .big_con .wide_label{ - position: absolute; - top: 68%; - left: 50%; - transform: translate(-50%, 0%); - height: 35px; - width: 500px; - border-radius: 6px; - background-color: #6d6f78; - font-size: 18px; - font-weight: 700; - color: #F5F5F5; - text-align: center; - line-height: 35px; - box-shadow: 0px 2px 6px -1.4px rgba(0, 0, 0, 0.39), inset 0px 3px 6px -4px rgba(255, 255, 255, 0.644); - overflow: hidden; -} - -.MDT .big_con .wide_label::before{ - position: absolute; - content: ''; - top: 0%; - left: -50%; - height: 100%; - width: 100%; - filter: blur(1px); - background-image: linear-gradient(10deg, transparent 50%, rgba(255, 255, 255, 0.185)); - transform: skew(-35deg); - transition: all 0.2s ease; -} - -.MDT .big_con .description{ - position: absolute; - top: 75%; - left: 50%; - transform: translate(-50%, 0%); - height: 95px; - width: 500px; -} - -.MDT .big_con textarea{ - height: 95px; - width: 500px; - border-radius: 6px; - background-color: #55575e; - font-size: 16px; - font-weight: 400; - color: #D3D3D3; - resize: none; -} - -.MDT .big_con .bottom_btn_con{ - position: absolute; - bottom: 10px; - right: 10px; -} - -.MDT .big_con .create_incident{ - margin-right: 10px; - height: 34px; - border-radius: 6px; - background-color: var(--main_color); - color: white; - font-size: 21px; - font-weight: 700; -} - -.MDT .big_con .delete_incident{ - margin-right: 10px; - height: 34px; - border-radius: 6px; - background-color: rgb(236, 72, 72); - color: white; - font-size: 21px; - font-weight: 700; -} \ No newline at end of file diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/server/errors.lua b/resources/[Developer]/[Nordi]/brutal_policejob/server/errors.lua deleted file mode 100644 index 51132a62c..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/server/errors.lua and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/server/server.lua b/resources/[Developer]/[Nordi]/brutal_policejob/server/server.lua deleted file mode 100644 index bdd6bc768..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/server/server.lua and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/stream/clamp.ytyp b/resources/[Developer]/[Nordi]/brutal_policejob/stream/clamp.ytyp deleted file mode 100644 index 08eaecd70..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/stream/clamp.ytyp and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/stream/p_cs_cuffs_02_s.ydr b/resources/[Developer]/[Nordi]/brutal_policejob/stream/p_cs_cuffs_02_s.ydr deleted file mode 100644 index 05219a0dc..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/stream/p_cs_cuffs_02_s.ydr and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/stream/prop_clamp.ydr b/resources/[Developer]/[Nordi]/brutal_policejob/stream/prop_clamp.ydr deleted file mode 100644 index ca24ad4f8..000000000 Binary files a/resources/[Developer]/[Nordi]/brutal_policejob/stream/prop_clamp.ydr and /dev/null differ diff --git a/resources/[Developer]/[Nordi]/brutal_policejob/sv_utils.lua b/resources/[Developer]/[Nordi]/brutal_policejob/sv_utils.lua deleted file mode 100644 index be9d28b18..000000000 --- a/resources/[Developer]/[Nordi]/brutal_policejob/sv_utils.lua +++ /dev/null @@ -1,61 +0,0 @@ -local YourWebhook = 'WEBHOOK-HERE' -- help: https://docs.brutalscripts.com/site/others/discord-webhook - -function GetWebhook() - return YourWebhook -end - --- Buy here: (4€+VAT) https://store.brutalscripts.com -function notification(source, title, text, time, type) - if Config.BrutalNotify then - TriggerClientEvent('brutal_notify:SendAlert', source, title, text, time, type) - else - TriggerClientEvent('brutal_policejob:client:DefaultNotify', text) - end -end - -function ClearPlayerInventory(source) - if Config.Inventory:lower() == 'ox_inventory' then - exports.ox_inventory:ClearInventory(source) - elseif Config.Inventory:lower() == 'quasar_inventory' then - local saveItems = { - 'id_card', -- Add here the items that you do NOT want to be deleted - 'phone', - } - exports['qs-inventory']:ClearInventory(source, saveItems) - local weapons = exports['qs-inventory']:GetWeaponList() - for k,v in pairs(weapons) do - RemoveItem(source, v.name, 1) - end - elseif Config.Inventory:lower() == 'chezza_inventory' then - local ESX = Core - local xPlayer = ESX.GetPlayerFromId(source) - exports.inventory:clearInventory(xPlayer, true) - elseif Config.Inventory:lower() == 'codem_inventory' then - exports['codem-inventory']:ClearInventory(source) - elseif Config.Inventory:lower() == 'qb_inventory' then - exports['qb-inventory']:ClearInventory(source) - elseif Config.Inventory:lower() == 'origen_inventory' then - exports.origen_inventory:ClearInventory(source) - elseif Config.Inventory:lower() == 'ps-inventory' then - exports['ps-inventory']:ClearInventory(source) - elseif Config['Core']:upper() == 'ESX' then - local ESX = Core - local xPlayer = ESX.GetPlayerFromId(source) - for i=1, #xPlayer.inventory, 1 do - if xPlayer.inventory[i].count > 0 then - xPlayer.setInventoryItem(xPlayer.inventory[i].name, 0) - end - end - end -end - -function SocietyAddMoney(job, price) - if Config['Core']:upper() == 'ESX' then - local society = exports['esx_society']:GetSociety(job) - TriggerEvent('esx_addonaccount:getSharedAccount', society.account, function(account) - account.addMoney(price) - end) - else - exports['qb-management']:AddMoney(job, price) - end -end \ No newline at end of file diff --git a/resources/[cars]/[boats]/MercuryVerado_350_white.png b/resources/[cars]/[boats]/MercuryVerado_350_white.png new file mode 100644 index 000000000..9ff29f3f3 Binary files /dev/null and b/resources/[cars]/[boats]/MercuryVerado_350_white.png differ diff --git a/resources/[cars]/[boats]/Yellowfin_42_Logos.png b/resources/[cars]/[boats]/Yellowfin_42_Logos.png new file mode 100644 index 000000000..45b843b70 Binary files /dev/null and b/resources/[cars]/[boats]/Yellowfin_42_Logos.png differ diff --git a/resources/[cars]/[boats]/dragonsport/carcols.meta b/resources/[cars]/[boats]/dragonsport/carcols.meta new file mode 100644 index 000000000..e123727cb --- /dev/null +++ b/resources/[cars]/[boats]/dragonsport/carcols.meta @@ -0,0 +1,813 @@ + + + + + 571_hydrasport53_modkit + + MKT_SUV + + + sandking_tank_1 + SDKING_TANK1 + + + extra_1 + + VMT_SKIRT + chassis + mod_col_1 + VMCP_DEFAULT + + + + + + + + + + + sandking_tank_2 + SDKING_TANK2 + + + extra_1 + + VMT_SKIRT + chassis + mod_col_1 + VMCP_DEFAULT + + + + + + + + + + + sandking_rollbar + SDKING_BAR1 + + + extra_3 + + VMT_CHASSIS + chassis + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_rollbar2 + SDKING_BAR2 + + + extra_3 + + VMT_CHASSIS + chassis + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_rollbar3 + SDKING_BAR3 + + + extra_3 + + VMT_CHASSIS + chassis + mod_col_3 + VMCP_DEFAULT + + + + + + + + + + + sandking_rearcab + SDKING_CAP + + + extra_3 + + VMT_CHASSIS + chassis + mod_col_2 + VMCP_DEFAULT + + + + + + + + + + + sanking_shade + MNU_SHADE + + + VMT_ROOF + chassis + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_grill_1 + MNU_GRLC + + + misc_a + + VMT_GRILL + chassis + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_grill_2 + MNU_GRLB + + + misc_a + + VMT_GRILL + chassis + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_loops1 + SDKING_BUMF1 + + + VMT_BUMPER_F + bumper_f + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_bumf + SDKING_BUMF2 + + sandking_bullbar1 + + + extra_2 + + VMT_BUMPER_F + bumper_f + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_bumf2 + SDKING_BUMF3 + + + extra_2 + + VMT_BUMPER_F + bumper_f + chassis + VMCP_DEFAULT + + + + + + + + + + + sandking_bumf3 + SDKING_BUMF4 + + sandking_spots + sandking_winch + sandking_bullbar2 + + + extra_2 + + VMT_BUMPER_F + bumper_f + chassis + VMCP_DEFAULT + + + + + + + + + + + + + sandking_spots + bumper_f + + + + sandking_winch + bumper_f + + + + sandking_bullbar1 + extra_2 + + + + sandking_bullbar2 + extra_2 + + + + + + + + + + VMT_ENGINE + + + + + + + VMT_ENGINE + + + + + + + VMT_ENGINE + + + + + + + VMT_ENGINE + + + + + + + VMT_BRAKES + + + + + + + VMT_BRAKES + + + + + + + VMT_BRAKES + + + + + + + VMT_GEARBOX + + + + + + + VMT_GEARBOX + + + + + + + VMT_GEARBOX + + + + + + + VMT_ARMOUR + + + + + + + VMT_ARMOUR + + + + + + + VMT_ARMOUR + + + + + + + VMT_ARMOUR + + + + + + + VMT_ARMOUR + + + HORN_TRUCK + + + + VMT_HORN + + + HORN_COP + + + + VMT_HORN + + + HORN_CLOWN + + + + VMT_HORN + + + HORN_MUSICAL_1 + + + + VMT_HORN + + + HORN_MUSICAL_2 + + + + VMT_HORN + + + HORN_MUSICAL_3 + + + + VMT_HORN + + + HORN_MUSICAL_4 + + + + VMT_HORN + + + HORN_MUSICAL_5 + + + + VMT_HORN + + + HORN_SAD_TROMBONE + + + + VMT_HORN + + + + + + + VMT_SUSPENSION + + + + + + + VMT_SUSPENSION + + + + + + + VMT_SUSPENSION + + + + + + + VMT_SUSPENSION + + + + + + + VMT_SUSPENSION + + + MUSICAL_HORN_BUSINESS_1 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_2 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_3 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_4 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_5 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_6 + + + + VMT_HORN + + + MUSICAL_HORN_BUSINESS_7 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_C0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_D0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_E0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_F0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_G0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_A0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_B0 + + + + VMT_HORN + + + DLC_BUSI2_C_MAJOR_NOTES_C1 + + + + VMT_HORN + + + HIPSTER_HORN_1 + + + + VMT_HORN + + + HIPSTER_HORN_2 + + + + VMT_HORN + + + HIPSTER_HORN_3 + + + + VMT_HORN + + + HIPSTER_HORN_4 + + + + VMT_HORN + + + INDEP_HORN_1 + + + + VMT_HORN + + + INDEP_HORN_2 + + + + VMT_HORN + + + INDEP_HORN_3 + + + + VMT_HORN + + + INDEP_HORN_4 + + + + VMT_HORN + + + LUXE_HORN_1 + + + + VMT_HORN + + + LUXE_HORN_2 + + + + VMT_HORN + + + LUXE_HORN_3 + + + + VMT_HORN + + + LUXORY_HORN_1 + + + + VMT_HORN + + + LUXURY_HORN_2 + + + + VMT_HORN + + + LUXURY_HORN_3 + + + + VMT_HORN + + + ORGAN_HORN_LOOP_01 + + + + VMT_HORN + + + ORGAN_HORN_LOOP_01_PREVIEW + + + + VMT_HORN + + + ORGAN_HORN_LOOP_02 + + + + VMT_HORN + + + ORGAN_HORN_LOOP_02_PREVIEW + + + + VMT_HORN + + + LOWRIDER_HORN_1 + + + + VMT_HORN + + + LOWRIDER_HORN_1_PREVIEW + + + + VMT_HORN + + + LOWRIDER_HORN_2 + + + + VMT_HORN + + + LOWRIDER_HORN_2_PREVIEW + + + + VMT_HORN + + + XM15_HORN_01 + + + + VMT_HORN + + + XM15_HORN_01_PREVIEW + + + + VMT_HORN + + + XM15_HORN_02 + + + + VMT_HORN + + + XM15_HORN_02_PREVIEW + + + + VMT_HORN + + + XM15_HORN_03 + + + + VMT_HORN + + + XM15_HORN_03_PREVIEW + + + + VMT_HORN + + + + + VMT_SKIRT + TOP_TNK + + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/dragonsport/carvariations.meta b/resources/[cars]/[boats]/dragonsport/carvariations.meta new file mode 100644 index 000000000..2d14645cd --- /dev/null +++ b/resources/[cars]/[boats]/dragonsport/carvariations.meta @@ -0,0 +1,112 @@ + + + + + donator_hydrasport53 + + + + 0 + 0 + 0 + 27 + + + + + 111 + 111 + 111 + 111 + + + + + 54 + 158 + 54 + 37 + + + + + 6 + 107 + 0 + 1 + + + + + 44 + 0 + 44 + 5 + + + + + 111 + 0 + 5 + 111 + + + + + 111 + 107 + 0 + 5 + + + + + 95 + 95 + 95 + 111 + + + + + 0 + 0 + 0 + 5 + + + + + 0 + 28 + 44 + 5 + + + + + 10 + 107 + 10 + 111 + + + + + 571_hydrasport53_modkit + + + + + + Yellow Plate + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/dragonsport/fxmanifest.lua b/resources/[cars]/[boats]/dragonsport/fxmanifest.lua new file mode 100644 index 000000000..c1cb16b64 --- /dev/null +++ b/resources/[cars]/[boats]/dragonsport/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'cerulean' +game 'gta5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' \ No newline at end of file diff --git a/resources/[cars]/[boats]/dragonsport/handling.meta b/resources/[cars]/[boats]/dragonsport/handling.meta new file mode 100644 index 000000000..9b2bb2ccc --- /dev/null +++ b/resources/[cars]/[boats]/dragonsport/handling.meta @@ -0,0 +1,134 @@ + + + + + + donator_hydrasport53 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VEHICLE_WEAPON_RADAR + + + + + 0 + 0 + 0 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + + + + + + + + + diff --git a/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.yft b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.yft new file mode 100644 index 000000000..6d4295d84 Binary files /dev/null and b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.yft differ diff --git a/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.ytd b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.ytd new file mode 100644 index 000000000..3fdd02325 Binary files /dev/null and b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53.ytd differ diff --git a/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53_hi.yft b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53_hi.yft new file mode 100644 index 000000000..6d4295d84 Binary files /dev/null and b/resources/[cars]/[boats]/dragonsport/stream/donator_hydrasport53_hi.yft differ diff --git a/resources/[cars]/[boats]/dragonsport/vehicles.meta b/resources/[cars]/[boats]/dragonsport/vehicles.meta new file mode 100644 index 000000000..cfd802032 --- /dev/null +++ b/resources/[cars]/[boats]/dragonsport/vehicles.meta @@ -0,0 +1,124 @@ + + + vehshare + + + + donator_hydrasport53 + donator_hydrasport53 + donator_hydrasport53 + null + donator_hydrasport53 + null + null + null + null + + null + + LAYOUT_BOAT_DINGHY + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + DINGHY_AIM_CAMERA + BOAT_BONNET_CAMERA + TROPIC_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_TROPIC + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_3 + + FLAG_NO_BOOT FLAG_SPAWN_BOAT_ON_TRAILER FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_HAS_LIVERY FLAG_DONT_SPAWN_AS_AMBIENT FLAG_IS_BULKY + + VEHICLE_TYPE_BOAT + VDT_TRUCK + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_TROPIC_FRONT_LEFT + BOAT_TROPIC_FRONT_RIGHT + BOAT_TROPIC_REAR_LEFT + BOAT_REAR_LEFT + + + + + + vehicles_jet_interior + hydrasport53 + + + diff --git a/resources/[cars]/[boats]/explorer/__resource.lua b/resources/[cars]/[boats]/explorer/__resource.lua new file mode 100644 index 000000000..a8874f182 --- /dev/null +++ b/resources/[cars]/[boats]/explorer/__resource.lua @@ -0,0 +1,17 @@ +resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', + 'dlctext.meta', + +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' +data_file 'DLC_TEXT_FILE' 'dlctext.meta' +client_script 'vehicle_names.lua' \ No newline at end of file diff --git a/resources/[cars]/[boats]/explorer/carvariations.meta b/resources/[cars]/[boats]/explorer/carvariations.meta new file mode 100644 index 000000000..e5897b924 --- /dev/null +++ b/resources/[cars]/[boats]/explorer/carvariations.meta @@ -0,0 +1,43 @@ + + + + + + explorer + + + + 122 + 0 + 122 + 04 + 05 + 00 + + + + + + + + + + + + + + + + + + + Standard White + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/explorer/handling.meta b/resources/[cars]/[boats]/explorer/handling.meta new file mode 100644 index 000000000..c8cf634f6 --- /dev/null +++ b/resources/[cars]/[boats]/explorer/handling.meta @@ -0,0 +1,133 @@ + + + + + + explorer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VEHICLE_WEAPON_RADAR + VEHICLE_WEAPON_NOSE_TURRET_VALKYRIE + VEHICLE_WEAPON_SPACE_ROCKET + + + 0 + 0 + 0 + + + 1.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/explorer/stream/explorer.yft b/resources/[cars]/[boats]/explorer/stream/explorer.yft new file mode 100644 index 000000000..4d631ba96 Binary files /dev/null and b/resources/[cars]/[boats]/explorer/stream/explorer.yft differ diff --git a/resources/[cars]/[boats]/explorer/stream/explorer.ytd b/resources/[cars]/[boats]/explorer/stream/explorer.ytd new file mode 100644 index 000000000..5f648303c Binary files /dev/null and b/resources/[cars]/[boats]/explorer/stream/explorer.ytd differ diff --git a/resources/[cars]/[boats]/explorer/stream/explorer_hi.yft b/resources/[cars]/[boats]/explorer/stream/explorer_hi.yft new file mode 100644 index 000000000..b0efe6361 Binary files /dev/null and b/resources/[cars]/[boats]/explorer/stream/explorer_hi.yft differ diff --git a/resources/[cars]/[boats]/explorer/vehicles.meta b/resources/[cars]/[boats]/explorer/vehicles.meta new file mode 100644 index 000000000..b3a006463 --- /dev/null +++ b/resources/[cars]/[boats]/explorer/vehicles.meta @@ -0,0 +1,128 @@ + + + vehshare + + + + explorer + explorer + explorer + explorer + + null + null + null + null + + null + tug + LAYOUT_BOAT_DINGHY + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + BOAT_AIM_CAMERA + BOAT_BONNET_CAMERA + DEFAULT_POV_CAMERA + + + + + + + + + + + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_GENERIC + + + + + + + + + + + + + + + + + + + + + + 30.000000 + 70.000000 + 150.000000 + 300.000000 + 1000.000000 + 1000.000000 + + + + + + + + + + SWANKNESS_2 + + FLAG_NO_BOOT FLAG_TALL_SHIP FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_AVERAGE_CAR FLAG_DONT_SPAWN_AS_AMBIENT FLAG_CANNOT_TAKE_COVER_WHEN_STOOD_ON FLAG_CANNOT_BE_PICKUP_BY_CARGOBOB + VEHICLE_TYPE_BOAT + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + MARQUIS_SIREN_LEFT_CAMERA + MARQUIS_SIREN_RIGHT_CAMERA + + + + + + + BOAT_TUG_FRONT + + + + + + vehshare_truck + explorer + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/gradygray/carvariations.meta b/resources/[cars]/[boats]/gradygray/carvariations.meta new file mode 100644 index 000000000..badde1821 --- /dev/null +++ b/resources/[cars]/[boats]/gradygray/carvariations.meta @@ -0,0 +1,384 @@ + + + + + donator_gradywhite + + + + 0 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 172 + 107 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + 107 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 167 + 3 + 0 + 107 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 169 + 107 + 0 + 107 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 28 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 28 + 107 + 0 + 3 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 170 + 107 + 0 + 170 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 170 + 4 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0_default_modkit + + + + + + Yellow Plate + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/gradygray/fxmanifest.lua b/resources/[cars]/[boats]/gradygray/fxmanifest.lua new file mode 100644 index 000000000..c1cb16b64 --- /dev/null +++ b/resources/[cars]/[boats]/gradygray/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'cerulean' +game 'gta5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' \ No newline at end of file diff --git a/resources/[cars]/[boats]/gradygray/handling.meta b/resources/[cars]/[boats]/gradygray/handling.meta new file mode 100644 index 000000000..603b23036 --- /dev/null +++ b/resources/[cars]/[boats]/gradygray/handling.meta @@ -0,0 +1,134 @@ + + + + + + donator_gradywhite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VEHICLE_WEAPON_RADAR + + + + + 0 + 0 + 0 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + + + + + + + + + diff --git a/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.yft b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.yft new file mode 100644 index 000000000..052ea7552 Binary files /dev/null and b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.yft differ diff --git a/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.ytd b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.ytd new file mode 100644 index 000000000..3f6cfa345 Binary files /dev/null and b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite.ytd differ diff --git a/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite_hi.yft b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite_hi.yft new file mode 100644 index 000000000..052ea7552 Binary files /dev/null and b/resources/[cars]/[boats]/gradygray/stream/donator_gradywhite_hi.yft differ diff --git a/resources/[cars]/[boats]/gradygray/vehicles.meta b/resources/[cars]/[boats]/gradygray/vehicles.meta new file mode 100644 index 000000000..705e48977 --- /dev/null +++ b/resources/[cars]/[boats]/gradygray/vehicles.meta @@ -0,0 +1,124 @@ + + + vehshare + + + + donator_gradywhite + donator_gradywhite + donator_gradywhite + null + donator_gradywhite + null + null + null + null + + null + + LAYOUT_BOAT_DINGHY + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + DINGHY_AIM_CAMERA + BOAT_BONNET_CAMERA + TROPIC_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_TROPIC + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_3 + + FLAG_NO_BOOT FLAG_SPAWN_BOAT_ON_TRAILER FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_HAS_LIVERY FLAG_DONT_SPAWN_AS_AMBIENT FLAG_IS_BULKY + + VEHICLE_TYPE_BOAT + VDT_TRUCK + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_TROPIC_FRONT_LEFT + BOAT_TROPIC_FRONT_RIGHT + BOAT_TROPIC_REAR_LEFT + BOAT_REAR_LEFT + + + + + + vehicles_jet_interior + gradywhite + + + diff --git a/resources/[cars]/[boats]/lautschmer/__resource.lua b/resources/[cars]/[boats]/lautschmer/__resource.lua new file mode 100644 index 000000000..a8874f182 --- /dev/null +++ b/resources/[cars]/[boats]/lautschmer/__resource.lua @@ -0,0 +1,17 @@ +resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', + 'dlctext.meta', + +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' +data_file 'DLC_TEXT_FILE' 'dlctext.meta' +client_script 'vehicle_names.lua' \ No newline at end of file diff --git a/resources/[cars]/[boats]/lautschmer/caraddoncontentunlocks.meta b/resources/[cars]/[boats]/lautschmer/caraddoncontentunlocks.meta new file mode 100644 index 000000000..ed9b3135a --- /dev/null +++ b/resources/[cars]/[boats]/lautschmer/caraddoncontentunlocks.meta @@ -0,0 +1,7 @@ + + + + CU_FRAUSCHER16_VEH + + + diff --git a/resources/[cars]/[boats]/lautschmer/carvariations.meta b/resources/[cars]/[boats]/lautschmer/carvariations.meta new file mode 100644 index 000000000..98357b81d --- /dev/null +++ b/resources/[cars]/[boats]/lautschmer/carvariations.meta @@ -0,0 +1,53 @@ + + + + + + + frauscher16 + + + + 1 + 155 + 3 + 156 + + + + + + + + + + + + + + + + + + Standard White + + + + White Plate 2 + + + + Blue Plate + + + + Yellow Plate + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/lautschmer/handling.meta b/resources/[cars]/[boats]/lautschmer/handling.meta new file mode 100644 index 000000000..b5f7c3c35 --- /dev/null +++ b/resources/[cars]/[boats]/lautschmer/handling.meta @@ -0,0 +1,93 @@ + + + + + + + frauscher16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/lautschmer/stream/frauscher16.yft b/resources/[cars]/[boats]/lautschmer/stream/frauscher16.yft new file mode 100644 index 000000000..37474ab4d Binary files /dev/null and b/resources/[cars]/[boats]/lautschmer/stream/frauscher16.yft differ diff --git a/resources/[cars]/[boats]/lautschmer/stream/frauscher16.ytd b/resources/[cars]/[boats]/lautschmer/stream/frauscher16.ytd new file mode 100644 index 000000000..f7d08e84d Binary files /dev/null and b/resources/[cars]/[boats]/lautschmer/stream/frauscher16.ytd differ diff --git a/resources/[cars]/[boats]/lautschmer/stream/frauscher16_hi.yft b/resources/[cars]/[boats]/lautschmer/stream/frauscher16_hi.yft new file mode 100644 index 000000000..a92da5baf Binary files /dev/null and b/resources/[cars]/[boats]/lautschmer/stream/frauscher16_hi.yft differ diff --git a/resources/[cars]/[boats]/lautschmer/vehicles.meta b/resources/[cars]/[boats]/lautschmer/vehicles.meta new file mode 100644 index 000000000..5a67f345e --- /dev/null +++ b/resources/[cars]/[boats]/lautschmer/vehicles.meta @@ -0,0 +1,123 @@ + + + vehshare + + + + + frauscher16 + frauscher16 + frauscher16 + frauscher16 + frauscher16 + null + null + null + null + + null + SPEEDER + LAYOUT_BOAT_SPEEDER + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_DINGHY_CAMERA + DINGHY_AIM_CAMERA + BOAT_BONNET_CAMERA + SPEEDER_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_JETMAX + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 60.000000 + 120.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_3 + + FLAG_NO_BOOT FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_DONT_SPAWN_AS_AMBIENT + VEHICLE_TYPE_BOAT + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_JETMAX_FRONT_LEFT + BOAT_REAR_RIGHT + BOAT_REAR_RIGHT + BOAT_REAR_RIGHT + + + + + + vehicles_boat_interior + frauscher16 + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/northstar/carcols.meta b/resources/[cars]/[boats]/northstar/carcols.meta new file mode 100644 index 000000000..d9a4f9e94 --- /dev/null +++ b/resources/[cars]/[boats]/northstar/carcols.meta @@ -0,0 +1,5 @@ + + + + + diff --git a/resources/[cars]/[boats]/northstar/carvariations.meta b/resources/[cars]/[boats]/northstar/carvariations.meta new file mode 100644 index 000000000..a023d8d7d --- /dev/null +++ b/resources/[cars]/[boats]/northstar/carvariations.meta @@ -0,0 +1,165 @@ + + + + + donator_bennington_trailer + + + + 0 + 41 + 3 + 156 + + + + + + + + + + + + + + + 1 + 51 + 7 + 156 + + + + + + + + + + + + + + + + + + Standard White + + + + White Plate 2 + + + + Blue Plate + + + + Yellow Plate + + + + + + + + + ptrailer + + + + 0 + 41 + 3 + 156 + + + + + + + + + + + + + + + 1 + 51 + 7 + 156 + + + + + + + + + + + + + + + + + + Standard White + + + + White Plate 2 + + + + Blue Plate + + + + Yellow Plate + + + + + + + + + donator_bennington + + + + 1 + 112 + 112 + 1 + + + + + + + + + + + + + + + 1002_tritoon_modkit + + + + + + + + + + diff --git a/resources/[cars]/[boats]/northstar/fxmanifest.lua b/resources/[cars]/[boats]/northstar/fxmanifest.lua new file mode 100644 index 000000000..c1cb16b64 --- /dev/null +++ b/resources/[cars]/[boats]/northstar/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'cerulean' +game 'gta5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' \ No newline at end of file diff --git a/resources/[cars]/[boats]/northstar/handling.meta b/resources/[cars]/[boats]/northstar/handling.meta new file mode 100644 index 000000000..13efbb814 --- /dev/null +++ b/resources/[cars]/[boats]/northstar/handling.meta @@ -0,0 +1,285 @@ + + + + + speedster200 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ptrailer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20220048 + 0 + 30 + AVERAGE + + + + + + + + + + + + + + + + + + donator_bennington + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VEHICLE_WEAPON_RADAR + + + + + 0 + 0 + 0 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + + + + + + + + + diff --git a/resources/[cars]/[boats]/northstar/stream/donator_bennington.yft b/resources/[cars]/[boats]/northstar/stream/donator_bennington.yft new file mode 100644 index 000000000..9f87f0fbd Binary files /dev/null and b/resources/[cars]/[boats]/northstar/stream/donator_bennington.yft differ diff --git a/resources/[cars]/[boats]/northstar/stream/donator_bennington.ytd b/resources/[cars]/[boats]/northstar/stream/donator_bennington.ytd new file mode 100644 index 000000000..166b3a510 Binary files /dev/null and b/resources/[cars]/[boats]/northstar/stream/donator_bennington.ytd differ diff --git a/resources/[cars]/[boats]/northstar/stream/donator_bennington_hi.yft b/resources/[cars]/[boats]/northstar/stream/donator_bennington_hi.yft new file mode 100644 index 000000000..9f87f0fbd Binary files /dev/null and b/resources/[cars]/[boats]/northstar/stream/donator_bennington_hi.yft differ diff --git a/resources/[cars]/[boats]/northstar/vehicles.meta b/resources/[cars]/[boats]/northstar/vehicles.meta new file mode 100644 index 000000000..ed7558095 --- /dev/null +++ b/resources/[cars]/[boats]/northstar/vehicles.meta @@ -0,0 +1,227 @@ + + + vehshare + + + + donator_bennington_trailer + donator_bennington_trailer + donator_bennington_trailer + null + + null + null + null + null + + null + + LAYOUT_TRUCK + BOATTRAILER_COVER_OFFSET_INFO + EXPLOSION_INFO_DEFAULT + + FOLLOW_ARTIC_CAMERA + ARTIC_AIM_CAMERA + VEHICLE_BONNET_CAMERA_STANDARD + DEFAULT_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_TRAILER_SMALL + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + SWANKNESS_1 + + FLAG_SPAWN_BOAT_ON_TRAILER FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_DONT_SPAWN_AS_AMBIENT FLAG_BLOCK_FROM_ATTRACTOR_SCENARIO + VEHICLE_TYPE_TRAILER + VPT_NONE + VC_UTILITY + VWT_SPORT + + + + + + + + + + + + + + + + + + + donator_bennington + donator_bennington + donator_bennington + null + donator_bennington + null + null + null + null + + null + + LAYOUT_BOAT_DINGHY + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + DINGHY_AIM_CAMERA + BOAT_BONNET_CAMERA + TROPIC_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_TROPIC + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_3 + + FLAG_EXTRAS_ALL FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_HAS_LIVERY FLAG_DONT_SPAWN_AS_AMBIENT FLAG_IS_BULKY + + VEHICLE_TYPE_BOAT + VDT_TRUCK + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_TROPIC_FRONT_LEFT + BOAT_TROPIC_FRONT_RIGHT + BOAT_TROPIC_REAR_LEFT + BOAT_REAR_LEFT + + + + + + vehicles_jet_interior + ptrailer + + + vehicles_jet_interior + tritoon + + + diff --git a/resources/[cars]/[boats]/sr650fly/carvariations.meta b/resources/[cars]/[boats]/sr650fly/carvariations.meta new file mode 100644 index 000000000..bac74d17c --- /dev/null +++ b/resources/[cars]/[boats]/sr650fly/carvariations.meta @@ -0,0 +1,71 @@ + + + + + + + sr650fly + + + + 3 + 1 + 0 + 0 + + + + + + + + + + + + + + + 2 + 2 + 0 + 5 + + + + + + + + + + + + + + + + + + Standard White + + + + White Plate 2 + + + + Blue Plate + + + + Yellow Plate + + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[boats]/sr650fly/fxmanifest.lua b/resources/[cars]/[boats]/sr650fly/fxmanifest.lua new file mode 100644 index 000000000..f1f98cc96 --- /dev/null +++ b/resources/[cars]/[boats]/sr650fly/fxmanifest.lua @@ -0,0 +1,18 @@ +fx_version 'cerulean' +game 'gta5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', + 'dlctext.meta', +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' +data_file 'DLC_TEXT_FILE' 'dlctext.meta' + +client_script 'vehicle_names.lua' diff --git a/resources/[cars]/[boats]/sr650fly/handling.meta b/resources/[cars]/[boats]/sr650fly/handling.meta new file mode 100644 index 000000000..555a4df45 --- /dev/null +++ b/resources/[cars]/[boats]/sr650fly/handling.meta @@ -0,0 +1,93 @@ + + + + + + + sr650fly + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/[cars]/[boats]/sr650fly/stream/sr650fly.yft b/resources/[cars]/[boats]/sr650fly/stream/sr650fly.yft new file mode 100644 index 000000000..c7adcab42 Binary files /dev/null and b/resources/[cars]/[boats]/sr650fly/stream/sr650fly.yft differ diff --git a/resources/[cars]/[boats]/sr650fly/stream/sr650fly.ytd b/resources/[cars]/[boats]/sr650fly/stream/sr650fly.ytd new file mode 100644 index 000000000..69bf5b0de Binary files /dev/null and b/resources/[cars]/[boats]/sr650fly/stream/sr650fly.ytd differ diff --git a/resources/[cars]/[boats]/sr650fly/stream/sr650fly_hi.yft b/resources/[cars]/[boats]/sr650fly/stream/sr650fly_hi.yft new file mode 100644 index 000000000..7a6eef1f2 Binary files /dev/null and b/resources/[cars]/[boats]/sr650fly/stream/sr650fly_hi.yft differ diff --git a/resources/[cars]/[boats]/sr650fly/vehicles.meta b/resources/[cars]/[boats]/sr650fly/vehicles.meta new file mode 100644 index 000000000..864d8a02c --- /dev/null +++ b/resources/[cars]/[boats]/sr650fly/vehicles.meta @@ -0,0 +1,140 @@ + + + vehshare + + + + + sr650fly + sr650fly + sr650fly + sr650fly + + null + null + null + null + + null + jetmax + LAYOUT_BOAT_DINGHY + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + BOAT_AIM_CAMERA + BOAT_BONNET_CAMERA + DEFAULT_POV_CAMERA + + + + + + + + + + + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_GENERIC + + + + + + + + + + + + + + + + + + + + + + 50.000000 + 150.000000 + 300.000000 + 800.000000 + 1600.000000 + 3200.000000 + + + + + + + + + + + FLAG_NO_BOOT FLAG_PEDS_CAN_STAND_ON_TOP FLAG_EXTRAS_CONVERTIBLE FLAG_GEN_NAVMESH FLAG_LAW_ENFORCEMENT FLAG_DONT_SPAWN_IN_CARGEN FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_DONT_SPAWN_AS_AMBIENT + VEHICLE_TYPE_BOAT + VPT_NONE + VDT_TRUCKDIGI + VC_BOAT + VWT_SPORT + + + + + S_M_Y_USCG_01 + + + + + + + + + + + REWARD_WEAPON_CARBINERIFLE + REWARD_AMMO_CARBINERIFLE + REWARD_STAT_WEAPON + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_PREDATOR_FRONT_LEFT + BOAT_PREDATOR_FRONT_RIGHT + BOAT_PREDATOR_REAR_LEFT + BOAT_PREDATOR_REAR_RIGHT + + + + + + vehicles_jet_interior + sr650fly + + + diff --git a/resources/[cars]/[boats]/wetfin800/carvariations.meta b/resources/[cars]/[boats]/wetfin800/carvariations.meta new file mode 100644 index 000000000..9a0c0be5c --- /dev/null +++ b/resources/[cars]/[boats]/wetfin800/carvariations.meta @@ -0,0 +1,621 @@ + + + + + donator_42ftyellowfin_trailer + + + + 47 + 121 + 4 + 156 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 58 + 60 + 3 + 156 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 86 + 86 + 4 + 156 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 114 + 23 + 0 + 156 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 121 + 122 + 0 + 156 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000_yftrailer_modkit + + + + + + White Plate 2 + + + + Blue Plate + + + + Yellow Plate + + + + + + + + + donator_42ftyellowfin + + + + 0 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 172 + 107 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + 107 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 167 + 3 + 0 + 107 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 169 + 107 + 0 + 107 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 28 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 28 + 107 + 0 + 3 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 4 + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 170 + 107 + 0 + 170 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 170 + 4 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1001_42ftyellowfin_modkit + + + + + + Yellow Plate + + + + + + + + + diff --git a/resources/[cars]/[boats]/wetfin800/fxmanifest.lua b/resources/[cars]/[boats]/wetfin800/fxmanifest.lua new file mode 100644 index 000000000..c1cb16b64 --- /dev/null +++ b/resources/[cars]/[boats]/wetfin800/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'cerulean' +game 'gta5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', +} + +data_file 'HANDLING_FILE' 'handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta' +data_file 'CARCOLS_FILE' 'carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta' \ No newline at end of file diff --git a/resources/[cars]/[boats]/wetfin800/handling.meta b/resources/[cars]/[boats]/wetfin800/handling.meta new file mode 100644 index 000000000..da283ff35 --- /dev/null +++ b/resources/[cars]/[boats]/wetfin800/handling.meta @@ -0,0 +1,200 @@ + + + + + donator_42ftyellowfin_trailer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20220048 + 0 + 30 + AVERAGE + + + + + + + + + + + + + + + + + + donator_42ftyellowfin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8000000 + 0 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VEHICLE_WEAPON_RADAR + + + + + 0 + 0 + 0 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + 0.000000 + 0.000000 + + + + + + + + + + + diff --git a/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.yft b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.yft new file mode 100644 index 000000000..2a629f81a Binary files /dev/null and b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.yft differ diff --git a/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.ytd b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.ytd new file mode 100644 index 000000000..4d641fb63 Binary files /dev/null and b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin.ytd differ diff --git a/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin_hi.yft b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin_hi.yft new file mode 100644 index 000000000..2a629f81a Binary files /dev/null and b/resources/[cars]/[boats]/wetfin800/stream/donator_42ftyellowfin_hi.yft differ diff --git a/resources/[cars]/[boats]/wetfin800/vehicles.meta b/resources/[cars]/[boats]/wetfin800/vehicles.meta new file mode 100644 index 000000000..6d46bb590 --- /dev/null +++ b/resources/[cars]/[boats]/wetfin800/vehicles.meta @@ -0,0 +1,219 @@ + + + vehshare + + + + donator_42ftyellowfin_trailer + donator_42ftyellowfin_trailer + donator_42ftyellowfin_trailer + null + + null + null + null + null + + null + + LAYOUT_UNKNOWN + TRAILERS_COVER_OFFSET_INFO + EXPLOSION_INFO_DEFAULT + + FOLLOW_ARTIC_CAMERA + ARTIC_AIM_CAMERA + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_TRAILER_GENERIC + + + + + + + + + + + + + + + + + + + + + + 500.000000 + 500.000000 + 500.000000 + 500.000000 + 500.000000 + 500.000000 + + + + + + + + + + SWANKNESS_1 + + FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_DONT_SPAWN_AS_AMBIENT + VEHICLE_TYPE_TRAILER + VPT_NONE + VC_UTILITY + VWT_SPORT + + + + + + + + + + + + + + + + + + donator_42ftyellowfin + donator_42ftyellowfin + donator_42ftyellowfin + null + donator_42ftyellowfin + null + null + null + null + + null + + LAYOUT_BOAT_PREDATOR + STANDARD_COVER_OFFSET_INFO + EXPLOSION_INFO_BOAT_MEDIUM + + FOLLOW_BOAT_CAMERA + DINGHY_AIM_CAMERA + BOAT_BONNET_CAMERA + TROPIC_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_BOAT_TROPIC + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_3 + + FLAG_NO_BOOT FLAG_SPAWN_BOAT_ON_TRAILER FLAG_EXTRAS_REQUIRE FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_HEADLIGHTS_USE_ACTUAL_BONE_POS FLAG_HAS_LIVERY FLAG_DONT_SPAWN_AS_AMBIENT FLAG_IS_BULKY + + VEHICLE_TYPE_BOAT + VDT_TRUCK + VPT_NONE + VDT_TRUCK + VC_BOAT + VWT_SPORT + + + + + + + + + + + + VEH_WINDOW_FRONT_LEFT_CAMERA + VEH_WINDOW_FRONT_RIGHT_CAMERA + + + + + + + BOAT_TROPIC_FRONT_LEFT + BOAT_TROPIC_FRONT_RIGHT + BOAT_TROPIC_REAR_LEFT + BOAT_REAR_LEFT + + + + + + vehicles_jet_interior + 42ftyellowfin + + + diff --git a/resources/[cars]/[boats]/yellowf_sign_1.png b/resources/[cars]/[boats]/yellowf_sign_1.png new file mode 100644 index 000000000..ba23d9edc Binary files /dev/null and b/resources/[cars]/[boats]/yellowf_sign_1.png differ diff --git a/resources/[cars]/[boats]/yellowf_sign_4.png b/resources/[cars]/[boats]/yellowf_sign_4.png new file mode 100644 index 000000000..ce6cb41d7 Binary files /dev/null and b/resources/[cars]/[boats]/yellowf_sign_4.png differ diff --git a/resources/[cars]/[boats]/yellowf_sign_6.png b/resources/[cars]/[boats]/yellowf_sign_6.png new file mode 100644 index 000000000..b054f8a0a Binary files /dev/null and b/resources/[cars]/[boats]/yellowf_sign_6.png differ diff --git a/resources/[cars]/[lkws]/muleflatbed/data/carvariations.meta b/resources/[cars]/[lkws]/muleflatbed/data/carvariations.meta new file mode 100644 index 000000000..2811fa99e --- /dev/null +++ b/resources/[cars]/[lkws]/muleflatbed/data/carvariations.meta @@ -0,0 +1,62 @@ + + + + + Mulef + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + standard white + + + + white plate 2 + + + + + + + + + diff --git a/resources/[cars]/[lkws]/muleflatbed/data/dlctext.meta b/resources/[cars]/[lkws]/muleflatbed/data/dlctext.meta new file mode 100644 index 000000000..22bb4c390 --- /dev/null +++ b/resources/[cars]/[lkws]/muleflatbed/data/dlctext.meta @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[lkws]/muleflatbed/data/handling.meta b/resources/[cars]/[lkws]/muleflatbed/data/handling.meta new file mode 100644 index 000000000..977df2035 --- /dev/null +++ b/resources/[cars]/[lkws]/muleflatbed/data/handling.meta @@ -0,0 +1,62 @@ + + + + + MULEF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20224048 + 20000 + 0 + AVERAGE + + + + + + + + \ No newline at end of file diff --git a/resources/[cars]/[lkws]/muleflatbed/data/vehicles.meta b/resources/[cars]/[lkws]/muleflatbed/data/vehicles.meta new file mode 100644 index 000000000..6c8bb8361 --- /dev/null +++ b/resources/[cars]/[lkws]/muleflatbed/data/vehicles.meta @@ -0,0 +1,140 @@ + + + vehshare + + + + mulef + mulef + MULEF + MULEF + MAIBATSU + null + null + null + null + + null + + LAYOUT_VAN_MULE + MULE_COVER_OFFSET_INFO + EXPLOSION_INFO_TRUCK + + DEFAULT_FOLLOW_VEHICLE_CAMERA + BOX_VEHICLE_AIM_CAMERA + DEFAULT_VEHICLE_BONNET_CAMERA + DEFAULT_POV_CAMERA_NO_REVERSE_LOOKAROUND_LOW + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_TRUCK_HIDDEN_EXHAUST + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 40.000000 + 80.000000 + 160.000000 + 750.000000 + 750.000000 + + + + + + + + + + + SWANKNESS_1 + + FLAG_BIG FLAG_NO_BOOT FLAG_AVOID_TURNS FLAG_EXTRAS_STRONG FLAG_PEDS_CAN_STAND_ON_TOP FLAG_BLOCK_FROM_ATTRACTOR_SCENARIO + VEHICLE_TYPE_CAR + VPT_FRONT_AND_BACK_PLATES + VDT_TRUCK + VC_COMMERCIAL + VWT_SPORT + + + + + + VEH_EXT_BOOT + + + + + + + + WHEEL_WIDE_REAR_RIGHT_CAMERA + WHEEL_WIDE_REAR_LEFT_CAMERA + + Truck + + + + + VAN_MULE_FRONT_LEFT + VAN_BENSON_FRONT_RIGHT + + + + + + vehicles_van_interior + mulef + + + diff --git a/resources/[cars]/[lkws]/muleflatbed/fxmanifest.lua b/resources/[cars]/[lkws]/muleflatbed/fxmanifest.lua new file mode 100644 index 000000000..717fceb4a --- /dev/null +++ b/resources/[cars]/[lkws]/muleflatbed/fxmanifest.lua @@ -0,0 +1,26 @@ +-- fxmanifest.lua + +fx_version 'cerulean' +game 'gta5' + +author 'Dein Name' +description 'Addon Fahrzeug-Paket' +version '1.0.0' + +files { + 'data/vehicles.meta', + 'data/carvariations.meta', + 'data/carcols.meta', + 'data/handling.meta', + 'data/dlctext.meta' +} + +data_file 'HANDLING_FILE' 'data/handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta' +data_file 'CARCOLS_FILE' 'data/carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta' +data_file 'DLCTEXT_FILE' 'data/dlctext.meta' + +-- Stream für Modelle & Texturen +-- Modelle liegen im stream-Ordner (z.B. .yft, .ytd, .hi.yft) +-- Der stream-Ordner muss nicht extra deklariert werden, wird automatisch erkannt diff --git a/resources/[cars]/[lkws]/muleflatbed/stream/mulef.yft b/resources/[cars]/[lkws]/muleflatbed/stream/mulef.yft new file mode 100644 index 000000000..35612877d Binary files /dev/null and b/resources/[cars]/[lkws]/muleflatbed/stream/mulef.yft differ diff --git a/resources/[cars]/[lkws]/muleflatbed/stream/mulef.ytd b/resources/[cars]/[lkws]/muleflatbed/stream/mulef.ytd new file mode 100644 index 000000000..35f4926d4 Binary files /dev/null and b/resources/[cars]/[lkws]/muleflatbed/stream/mulef.ytd differ diff --git a/resources/[cars]/[lkws]/muleflatbed/stream/mulef_hi.yft b/resources/[cars]/[lkws]/muleflatbed/stream/mulef_hi.yft new file mode 100644 index 000000000..3c2b1e393 Binary files /dev/null and b/resources/[cars]/[lkws]/muleflatbed/stream/mulef_hi.yft differ diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/handling.meta b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/handling.meta new file mode 100644 index 000000000..44977f321 --- /dev/null +++ b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/handling.meta @@ -0,0 +1,140 @@ + + + + + + UH1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2044000 + 401000 + 20 + AVERAGE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HANDLING_TYPE_FLYING + + + + VEHICLE_WEAPON_WATER_CANNON + VEHICLE_WEAPON_SEARCHLIGHT + + + + 0 + 0 + 0 + + + 3.000000 + 0.000000 + + + -0.400000 + 0.000000 + + + 0.707000 + 0.000000 + + + -0.500000 + 0.000000 + + + 0.000000 + 0.000000 + + + 25.000000 + 0.000000 + + + -0.080000 + 0.000000 + + + + + + + + + + + diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/vehicles.meta b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/vehicles.meta new file mode 100644 index 000000000..a3811d28d --- /dev/null +++ b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/data/vehicles.meta @@ -0,0 +1,128 @@ + + + vehshare + + + + + uh1 + uh1 + uh1 + VALKYRIE + + null + null + null + null + + null + HUNTER + LAYOUT_HELI_SWIFT + ANNIHILATOR_COVER_OFFSET_INFO + EXPLOSION_INFO_DEFAULT + + FOLLOW_HELI_CAMERA + HELI_AIM_CAMERA + ANNIHILATOR_BONNET_CAMERA + ANNIHILATOR_POV_CAMERA + + + + + + + + + + + + + + VFXVEHICLEINFO_HELI_GENERIC + + + + + + + + + + + + + + + + + + + + + + 20.000000 + 90.000000 + 130.000000 + 260.000000 + 750.000000 + 750.000000 + + + + + + + + + + SWANKNESS_4 + + FLAG_NO_BOOT FLAG_LAW_ENFORCEMENT FLAG_DRIVER_NO_DRIVE_BY FLAG_NO_RESPRAY FLAG_ALLOWS_RAPPEL FLAG_DONT_SPAWN_IN_CARGEN FLAG_DONT_SPAWN_AS_AMBIENT FLAG_DONT_TIMESLICE_WHEELS FLAG_HAS_LIVERY + VEHICLE_TYPE_HELI + VPT_NONE + VDT_LAZER + VC_HELICOPTER + VWT_SPORT + + + + + s_m_y_swat_01 + + + + + + VEH_EXT_DOOR_DSIDE_R + VEH_EXT_DOOR_PSIDE_R + + + VEH_EXT_DOOR_DSIDE_R + VEH_EXT_DOOR_PSIDE_R + + + + + + REWARD_WEAPON_SNIPERRIFLE + REWARD_AMMO_SNIPERRIFLE + REWARD_STAT_WEAPON + + + HELI_REAR_ROTOR_CAMERA + + + + + + + + + + + vehicles_jet_interior + uh1nasa + + + + diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/fxmanifest.lua b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/fxmanifest.lua new file mode 100644 index 000000000..717fceb4a --- /dev/null +++ b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/fxmanifest.lua @@ -0,0 +1,26 @@ +-- fxmanifest.lua + +fx_version 'cerulean' +game 'gta5' + +author 'Dein Name' +description 'Addon Fahrzeug-Paket' +version '1.0.0' + +files { + 'data/vehicles.meta', + 'data/carvariations.meta', + 'data/carcols.meta', + 'data/handling.meta', + 'data/dlctext.meta' +} + +data_file 'HANDLING_FILE' 'data/handling.meta' +data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta' +data_file 'CARCOLS_FILE' 'data/carcols.meta' +data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta' +data_file 'DLCTEXT_FILE' 'data/dlctext.meta' + +-- Stream für Modelle & Texturen +-- Modelle liegen im stream-Ordner (z.B. .yft, .ytd, .hi.yft) +-- Der stream-Ordner muss nicht extra deklariert werden, wird automatisch erkannt diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.yft b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.yft new file mode 100644 index 000000000..63c8d6ac2 Binary files /dev/null and b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.yft differ diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.ytd b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.ytd new file mode 100644 index 000000000..0da64d36e Binary files /dev/null and b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1.ytd differ diff --git a/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1_hi.yft b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1_hi.yft new file mode 100644 index 000000000..593e3e352 Binary files /dev/null and b/resources/[cars]/[policecars]/[heli_boat]/uh1_police/stream/uh1_hi.yft differ diff --git a/resources/[cars]/[policecars]/k9suv2020/data/vehicles.meta b/resources/[cars]/[policecars]/k9suv2020/data/vehicles.meta index c2b53313c..827c24bf7 100644 --- a/resources/[cars]/[policecars]/k9suv2020/data/vehicles.meta +++ b/resources/[cars]/[policecars]/k9suv2020/data/vehicles.meta @@ -15,7 +15,7 @@ null null - POLICE + rebla LAYOUT_STD_EXITFIXUP POLICE3_COVER_OFFSET_INFO EXPLOSION_INFO_DEFAULT diff --git a/resources/[cars]/[policecars]/torrence/data/vehicles.meta b/resources/[cars]/[policecars]/torrence/data/vehicles.meta index a10d87275..9704c67cf 100644 --- a/resources/[cars]/[policecars]/torrence/data/vehicles.meta +++ b/resources/[cars]/[policecars]/torrence/data/vehicles.meta @@ -91,7 +91,7 @@ SWANKNESS_2 - FLAG_HAS_EXTRAS FLAG_EXTRAS_STRONG FLAG_EXTRAS_REQUIRE FLAG_HAS_INTERIOR_EXTRAS FLAG_AVERAGE_CAR + FLAG_HAS_EXTRAS FLAG_EXTRAS_STRONG FLAG_EXTRAS_REQUIRE FLAG_HAS_INTERIOR_EXTRAS FLAG_AVERAGE_CAR FLAG_HAS_LIVERY FLAG_LAW_ENFORCEMENT FLAG_EMERGENCY_SERVICE VEHICLE_TYPE_CAR VPT_FRONT_AND_BACK_PLATES VDT_GENTAXI diff --git a/resources/[cars]/[trailer]/long_boattrailer/data/vehicles.meta b/resources/[cars]/[trailer]/long_boattrailer/data/vehicles.meta new file mode 100644 index 000000000..6ed751358 --- /dev/null +++ b/resources/[cars]/[trailer]/long_boattrailer/data/vehicles.meta @@ -0,0 +1,113 @@ + + + vehshare + + + + boattrailer3 + boattrailer3 + boatrailer + boatrailer3 + + null + null + null + null + + null + + LAYOUT_TRUCK + BOATTRAILER_COVER_OFFSET_INFO + EXPLOSION_INFO_DEFAULT + + FOLLOW_ARTIC_CAMERA + ARTIC_AIM_CAMERA + VEHICLE_BONNET_CAMERA_STANDARD + DEFAULT_POV_CAMERA + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_TRAILER_SMALL + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + SWANKNESS_1 + + FLAG_EXTRAS_STRONG FLAG_EXTRAS_RARE FLAG_PEDS_CAN_STAND_ON_TOP FLAG_GEN_NAVMESH FLAG_DONT_SPAWN_AS_AMBIENT FLAG_BLOCK_FROM_ATTRACTOR_SCENARIO + VEHICLE_TYPE_TRAILER + VPT_NONE + VC_UTILITY + VWT_SPORT + + + + + + + + + + + + + + + + + + + + + vehshare_truck + cartrailer + + + + \ No newline at end of file diff --git a/resources/[cars]/[trailer]/long_boattrailer/fxmanifest.lua b/resources/[cars]/[trailer]/long_boattrailer/fxmanifest.lua new file mode 100644 index 000000000..0fcd9f512 --- /dev/null +++ b/resources/[cars]/[trailer]/long_boattrailer/fxmanifest.lua @@ -0,0 +1,18 @@ +-- fxmanifest.lua + +fx_version 'cerulean' +game 'gta5' + +author 'Dein Name' +description 'Addon Fahrzeug-Paket' +version '1.0.0' + +files { + 'data/vehicles.meta', +} + +data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta' + +-- Stream für Modelle & Texturen +-- Modelle liegen im stream-Ordner (z.B. .yft, .ytd, .hi.yft) +-- Der stream-Ordner muss nicht extra deklariert werden, wird automatisch erkannt diff --git a/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.yft b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.yft new file mode 100644 index 000000000..a890e402b Binary files /dev/null and b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.yft differ diff --git a/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.ytd b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.ytd new file mode 100644 index 000000000..f1a5b483f Binary files /dev/null and b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer3.ytd differ diff --git a/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer_hi3.yft b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer_hi3.yft new file mode 100644 index 000000000..01b6ceba3 Binary files /dev/null and b/resources/[cars]/[trailer]/long_boattrailer/stream/boattrailer_hi3.yft differ diff --git a/resources/[carscripts]/lc_fuel/config.lua b/resources/[carscripts]/lc_fuel/config.lua index 94b6badc1..e5b220a45 100644 --- a/resources/[carscripts]/lc_fuel/config.lua +++ b/resources/[carscripts]/lc_fuel/config.lua @@ -587,7 +587,11 @@ Config.Electric = { "dilettante2", "khamelion", "tw_elec_scooter", - "bomberbike" + "bomberbike", + "gblod4", + "gbbriosof", + "gbneonct" + } } diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/.fxap b/resources/[carscripts]/mt_dealerships/.fxap similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/.fxap rename to resources/[carscripts]/mt_dealerships/.fxap diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/.vscode/settings.json b/resources/[carscripts]/mt_dealerships/.vscode/settings.json similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/.vscode/settings.json rename to resources/[carscripts]/mt_dealerships/.vscode/settings.json diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/catalogue.lua b/resources/[carscripts]/mt_dealerships/client/catalogue.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/catalogue.lua rename to resources/[carscripts]/mt_dealerships/client/catalogue.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/dashboard.lua b/resources/[carscripts]/mt_dealerships/client/dashboard.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/dashboard.lua rename to resources/[carscripts]/mt_dealerships/client/dashboard.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/functions.lua b/resources/[carscripts]/mt_dealerships/client/functions.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/functions.lua rename to resources/[carscripts]/mt_dealerships/client/functions.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/main.lua b/resources/[carscripts]/mt_dealerships/client/main.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/main.lua rename to resources/[carscripts]/mt_dealerships/client/main.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/nui.lua b/resources/[carscripts]/mt_dealerships/client/nui.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/nui.lua rename to resources/[carscripts]/mt_dealerships/client/nui.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/client/tablet.lua b/resources/[carscripts]/mt_dealerships/client/tablet.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/client/tablet.lua rename to resources/[carscripts]/mt_dealerships/client/tablet.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/configs/config.lua b/resources/[carscripts]/mt_dealerships/configs/config.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/configs/config.lua rename to resources/[carscripts]/mt_dealerships/configs/config.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/configs/vehicles.lua b/resources/[carscripts]/mt_dealerships/configs/vehicles.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/configs/vehicles.lua rename to resources/[carscripts]/mt_dealerships/configs/vehicles.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/dealerships.sql b/resources/[carscripts]/mt_dealerships/dealerships.sql similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/dealerships.sql rename to resources/[carscripts]/mt_dealerships/dealerships.sql diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/dealerships/fmpdm.lua b/resources/[carscripts]/mt_dealerships/dealerships/fmpdm.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/dealerships/fmpdm.lua rename to resources/[carscripts]/mt_dealerships/dealerships/fmpdm.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/dealerships/laryscars.lua b/resources/[carscripts]/mt_dealerships/dealerships/laryscars.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/dealerships/laryscars.lua rename to resources/[carscripts]/mt_dealerships/dealerships/laryscars.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/dealerships/map4allpdm.lua b/resources/[carscripts]/mt_dealerships/dealerships/map4allpdm.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/dealerships/map4allpdm.lua rename to resources/[carscripts]/mt_dealerships/dealerships/map4allpdm.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/fxmanifest.lua b/resources/[carscripts]/mt_dealerships/fxmanifest.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/fxmanifest.lua rename to resources/[carscripts]/mt_dealerships/fxmanifest.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/locales/en.json b/resources/[carscripts]/mt_dealerships/locales/en.json similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/locales/en.json rename to resources/[carscripts]/mt_dealerships/locales/en.json diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/locales/pt.json b/resources/[carscripts]/mt_dealerships/locales/pt.json similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/locales/pt.json rename to resources/[carscripts]/mt_dealerships/locales/pt.json diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/server/callbacks.lua b/resources/[carscripts]/mt_dealerships/server/callbacks.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/server/callbacks.lua rename to resources/[carscripts]/mt_dealerships/server/callbacks.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/server/catalogue.lua b/resources/[carscripts]/mt_dealerships/server/catalogue.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/server/catalogue.lua rename to resources/[carscripts]/mt_dealerships/server/catalogue.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/server/dashboard.lua b/resources/[carscripts]/mt_dealerships/server/dashboard.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/server/dashboard.lua rename to resources/[carscripts]/mt_dealerships/server/dashboard.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/server/functions.lua b/resources/[carscripts]/mt_dealerships/server/functions.lua similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/server/functions.lua rename to resources/[carscripts]/mt_dealerships/server/functions.lua diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-BVw8Zv1g.js b/resources/[carscripts]/mt_dealerships/web/build/assets/index-BVw8Zv1g.js similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-BVw8Zv1g.js rename to resources/[carscripts]/mt_dealerships/web/build/assets/index-BVw8Zv1g.js diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-BywWR2Zw.js b/resources/[carscripts]/mt_dealerships/web/build/assets/index-BywWR2Zw.js similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-BywWR2Zw.js rename to resources/[carscripts]/mt_dealerships/web/build/assets/index-BywWR2Zw.js diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-Ckp60UNN.js b/resources/[carscripts]/mt_dealerships/web/build/assets/index-Ckp60UNN.js similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-Ckp60UNN.js rename to resources/[carscripts]/mt_dealerships/web/build/assets/index-Ckp60UNN.js diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-yg9jBeC4.js b/resources/[carscripts]/mt_dealerships/web/build/assets/index-yg9jBeC4.js similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/web/build/assets/index-yg9jBeC4.js rename to resources/[carscripts]/mt_dealerships/web/build/assets/index-yg9jBeC4.js diff --git a/resources/[Developer]/[Nordi]/mt_dealerships/web/build/index.html b/resources/[carscripts]/mt_dealerships/web/build/index.html similarity index 100% rename from resources/[Developer]/[Nordi]/mt_dealerships/web/build/index.html rename to resources/[carscripts]/mt_dealerships/web/build/index.html diff --git a/resources/[housing]/qs-housing/shared/furniture.lua b/resources/[housing]/qs-housing/shared/furniture.lua index 42e9d06c5..77e5dd8d2 100644 --- a/resources/[housing]/qs-housing/shared/furniture.lua +++ b/resources/[housing]/qs-housing/shared/furniture.lua @@ -38,7 +38,7 @@ Config.FurnitureShops = { showRoom = vec4(2745.395751953125, 3476.0009765625, 56.43648910522461, 100.0), offset = vec3(3.5, 1.3, 0.0), -- showRoom offset blip = { - active = true, + active = false, sprite = 207, color = 17, scale = 0.8, diff --git a/resources/[inventory]/cs_shops/config/config.lua b/resources/[inventory]/cs_shops/config/config.lua index 49b0fe054..9230691b7 100644 --- a/resources/[inventory]/cs_shops/config/config.lua +++ b/resources/[inventory]/cs_shops/config/config.lua @@ -1224,12 +1224,6 @@ CodeStudio.Products = { itemPrice = 0, itemInfo = "Submachine gun for rapid fire", }, - ['weapon_sniperrifle'] = { - itemName = "Sniper Rifle", - itemStock = 50, - itemPrice = 0, - itemInfo = "Sniper for Long Range", - }, ['weapon_appistol'] = { itemName = "Klog 19 A", itemStock = 50, diff --git a/resources/[inventory]/nordi_bbq/client.lua b/resources/[inventory]/nordi_bbq/client.lua index d54acae40..730502bfc 100644 --- a/resources/[inventory]/nordi_bbq/client.lua +++ b/resources/[inventory]/nordi_bbq/client.lua @@ -1,47 +1,63 @@ local QBCore = exports['qb-core']:GetCoreObject() --- Debug Print Function +-- Debug-Funktion local function Debug(msg) - print("^2[Grill Debug] ^7" .. msg) -- Changed from Coffee to Grill + print("^2[Grill Debug] ^7" .. msg) end +-- Warte auf vollständige Initialisierung von QBCore CreateThread(function() - Debug("Script starting...") - for _, prop in pairs(Config.GrillProps) do -- Changed from CoffeeProps to GrillProps + if not QBCore then + Debug("QBCore nicht gefunden, warte...") + while not QBCore do + QBCore = exports['qb-core']:GetCoreObject() + Wait(100) + end + end + + Debug("QBCore initialisiert") + + -- Registriere Grill-Props für qb-target + for _, prop in pairs(Config.GrillProps) do + Debug("Registriere Target für Prop: " .. tostring(prop)) exports['qb-target']:AddTargetModel(prop, { options = { { - num = 1, type = "client", - event = "nordi_grill:client:OpenMenu", -- Changed event name - icon = 'fas fa-fire', -- Changed icon - label = 'Grillen', -- Changed label + event = "nordi_bbq:OpenGrillMenu", + icon = "fas fa-fire", + label = "Grillen", } }, distance = 2.0 }) end - Debug("Target options registered") + + Debug("Target-Optionen registriert") end) --- Event Handler for opening the menu -RegisterNetEvent('nordi_grill:client:OpenMenu') -- Changed event name -AddEventHandler('nordi_grill:client:OpenMenu', function() -- Changed event name - Debug("Opening menu...") - OpenGrillMenu() -- Changed function name +-- Event zum Öffnen des Grill-Menüs +RegisterNetEvent('nordi_bbq:OpenGrillMenu', function() + Debug("Öffne Grill-Menü") + OpenGrillMenu() end) -function CheckIngredients(requirements) +-- Funktion zum Überprüfen der Zutaten +function CheckIngredients(recipe) local hasItems = true local missingItems = {} - for _, requirement in ipairs(requirements) do - local hasItem = QBCore.Functions.HasItem(requirement.item, requirement.amount) - if not hasItem then + if not recipe or not recipe.requires then + Debug("Rezept oder Anforderungen fehlen") + return false, {} + end + + for _, item in pairs(recipe.requires) do + if not QBCore.Functions.HasItem(item.item, item.amount) then hasItems = false table.insert(missingItems, { - item = requirement.item, - required = requirement.amount + item = item.item, + amount = item.amount }) end end @@ -49,68 +65,84 @@ function CheckIngredients(requirements) return hasItems, missingItems end -function ShowMissingIngredientsWarning(missingItems) - local warningText = "Fehlende Zutaten:\n" - for _, item in ipairs(missingItems) do - local itemLabel = QBCore.Shared.Items[item.item].label - warningText = warningText .. "- " .. itemLabel .. " (benötigt: " .. item.required .. ")\n" +-- Funktion zum Anzeigen fehlender Zutaten +function ShowMissingIngredients(missingItems) + local text = "Fehlende Zutaten:\n" + + for _, item in pairs(missingItems) do + local itemLabel = QBCore.Shared.Items[item.item] and QBCore.Shared.Items[item.item].label or item.item + text = text .. "- " .. itemLabel .. " (" .. item.amount .. "x)\n" end - QBCore.Functions.Notify(warningText, "error", 5000) + QBCore.Functions.Notify(text, "error", 5000) end -function OpenGrillMenu() -- Changed function name - Debug("Building menu options...") - local options = {} +-- Funktion zum Öffnen des Grill-Menüs +function OpenGrillMenu() + Debug("Erstelle Grill-Menü") - for _, food in ipairs(Config.GrillOptions) do -- Changed from CoffeeOptions to GrillOptions - local hasIngredients, missing = CheckIngredients(food.requires) - local description = food.description .. "\n\nBenötigt:" + local menuOptions = {} + + for _, recipe in pairs(Config.GrillRecipes) do + local hasIngredients, _ = CheckIngredients(recipe) + local status = hasIngredients and "~g~✓" or "~r~✗" - for _, req in ipairs(food.requires) do - local itemLabel = QBCore.Shared.Items[req.item].label - local hasItem = QBCore.Functions.HasItem(req.item, req.amount) - local status = hasItem and "~g~✓" or "~r~✗" - description = description .. "\n- " .. req.amount .. "x " .. itemLabel .. " " .. status + -- Erstelle Beschreibung mit Zutaten + local description = recipe.description .. "\n\nZutaten:" + for _, item in pairs(recipe.requires) do + local itemLabel = QBCore.Shared.Items[item.item] and QBCore.Shared.Items[item.item].label or item.item + local hasItem = QBCore.Functions.HasItem(item.item, item.amount) + local itemStatus = hasItem and "~g~✓" or "~r~✗" + description = description .. "\n- " .. item.amount .. "x " .. itemLabel .. " " .. itemStatus end - - table.insert(options, { - title = food.label, + + table.insert(menuOptions, { + title = recipe.label, description = description, - icon = food.icon, + icon = recipe.icon or "fas fa-drumstick-bite", onSelect = function() - local canMake, missingItems = CheckIngredients(food.requires) - if canMake then - PrepareFood(food) -- Changed function name - else - ShowMissingIngredientsWarning(missingItems) - end + StartGrilling(recipe) end }) end - - Debug("Showing menu...") - lib.registerContext({ - id = 'grill_menu', -- Changed ID - title = 'Grill', -- Changed title - options = options - }) - - lib.showContext('grill_menu') -- Changed context ID + + -- Registriere und zeige das Menü mit ox_lib + if lib and lib.registerContext then + lib.registerContext({ + id = 'grill_menu', + title = 'Grill', + options = menuOptions + }) + + lib.showContext('grill_menu') + else + Debug("FEHLER: ox_lib nicht verfügbar") + QBCore.Functions.Notify("Fehler beim Laden des Menüs", "error") + end end -function PrepareFood(selectedFood) -- Changed function name - Debug("Starting food preparation...") - local player = PlayerPedId() - local animDict = "amb@prop_human_bbq@male@base" -- Changed animation - local anim = "base" -- Changed animation +-- Funktion zum Starten des Grillvorgangs +function StartGrilling(recipe) + Debug("Starte Grillvorgang für: " .. recipe.label) + + -- Überprüfe Zutaten erneut + local hasIngredients, missingItems = CheckIngredients(recipe) + + if not hasIngredients then + ShowMissingIngredients(missingItems) + return + end + + -- Animation und Progressbar + local animDict = "amb@prop_human_bbq@male@base" + local anim = "base" RequestAnimDict(animDict) while not HasAnimDictLoaded(animDict) do - Wait(0) + Wait(10) end - - QBCore.Functions.Progressbar("grill_food", selectedFood.label.." wird gegrillt...", Config.ProgressTime or 5000, false, true, { -- Changed text and function name + + QBCore.Functions.Progressbar("grill_food", "Grille " .. recipe.label .. "...", Config.GrillTime, false, true, { disableMovement = true, disableCarMovement = true, disableMouse = false, @@ -120,16 +152,10 @@ function PrepareFood(selectedFood) -- Changed function name anim = anim, flags = 49, }, {}, {}, function() -- Success - Debug("Food preparation successful, triggering server event...") - TriggerServerEvent('grill-script:giveFood', selectedFood.item, selectedFood.requires) -- Changed event name - end, function() -- Cancelled - Debug("Food preparation cancelled") - QBCore.Functions.Notify("Zubereitung abgebrochen", "error") + Debug("Grillvorgang abgeschlossen") + TriggerServerEvent('nordi_bbq:server:GiveGrilledFood', recipe.item, recipe.requires) + end, function() -- Cancel + Debug("Grillvorgang abgebrochen") + QBCore.Functions.Notify("Grillvorgang abgebrochen", "error") end) end - --- Debug Event -RegisterNetEvent('grill-script:debug') -- Changed event name -AddEventHandler('grill-script:debug', function(msg) - Debug(msg) -end) diff --git a/resources/[inventory]/nordi_bbq/config.lua b/resources/[inventory]/nordi_bbq/config.lua index 689cc9dd2..fa5719d4d 100644 --- a/resources/[inventory]/nordi_bbq/config.lua +++ b/resources/[inventory]/nordi_bbq/config.lua @@ -1,72 +1,65 @@ Config = {} --- Change coffee props to grill props +-- Grill-Props (Standard-GTA-Props) Config.GrillProps = { - `prop_bbq_1`, - `prop_bbq_2`, - `prop_bbq_3`, - `prop_bbq_4`, - `prop_bbq_5`, - `bzzz_grill_small_a`, - `bzzz_grill_small_b`, - `bzzz_grill_a`, - `smallbbqtrailer`, - `bigbbqtrailer`, - - -- Add any other grill props you want to use + "prop_bbq_1", + "prop_bbq_2", + "prop_bbq_3", + "prop_bbq_4", + "prop_bbq_5" } --- Progressbar duration in ms -Config.ProgressTime = 5000 -- Maybe increase time for grilling +-- Zeit zum Grillen (in ms) +Config.GrillTime = 5000 --- Change coffee options to grilling options -Config.GrillOptions = { - { - label = "Hamburger", - description = "Ein saftiger Hamburger", - item = "hamburger", - icon = "fa-solid fa-burger", - requires = { - {item = "raw_beef", amount = 1}, - {item = "burger_bun", amount = 1}, - } - }, - { - label = "Cheeseburger", - description = "Ein Hamburger mit Käse", - item = "cheeseburger", - icon = "fa-solid fa-burger", - requires = { - {item = "raw_beef", amount = 1}, - {item = "burger_bun", amount = 1}, - {item = "cheese", amount = 1} - } - }, +-- Grill-Rezepte +Config.GrillRecipes = { { label = "Steak", description = "Ein perfekt gegrilltes Steak", - item = "steak", - icon = "fa-solid fa-drumstick-bite", + item = "cooked_bbq_ribeye", + icon = "fas fa-drumstick-bite", requires = { - {item = "ribeye_steak", amount = 1}, + {item = "rawmeat", amount = 1} } - }, - { - label = "Bratwurst", - description = "Eine leckere Bratwurst", - item = "grilled_sausage", - icon = "fa-solid fa-hotdog", - requires = { - {item = "raw_sausage", amount = 1}, - } - }, - { - label = "Gegrilltes Gemüse", - description = "Grillgemüse – weil Salat keine Röstaromen hat", - item = "grilled_vegetables", - icon = "fa-solid fa-carrot", - requires = { - {item = "vegetables", amount = 1}, - } - }, + } + -- Hier kannst du weitere Rezepte hinzufügen } + +-- Überprüfe, ob alle Items existieren +CreateThread(function() + Wait(5000) -- Warte auf vollständige Initialisierung + + local QBCore = exports['qb-core']:GetCoreObject() + if not QBCore or not QBCore.Shared or not QBCore.Shared.Items then + print("^1FEHLER: QBCore.Shared.Items nicht verfügbar^7") + return + end + + local missingItems = {} + + -- Überprüfe Rezept-Items + for _, recipe in pairs(Config.GrillRecipes) do + if not QBCore.Shared.Items[recipe.item] then + table.insert(missingItems, recipe.item) + end + + -- Überprüfe Zutaten + for _, req in pairs(recipe.requires) do + if not QBCore.Shared.Items[req.item] then + table.insert(missingItems, req.item) + end + end + end + + if #missingItems > 0 then + print("^1WARNUNG: Folgende Items fehlen in QBCore.Shared.Items:^7") + for _, item in ipairs(missingItems) do + print("^1- " .. item .. "^7") + end + else + print("^2Alle Grill-Items existieren in QBCore.Shared.Items^7") + end +end) + + diff --git a/resources/[inventory]/nordi_bbq/fxmanifest.lua b/resources/[inventory]/nordi_bbq/fxmanifest.lua index 4af09a048..a526e220a 100644 --- a/resources/[inventory]/nordi_bbq/fxmanifest.lua +++ b/resources/[inventory]/nordi_bbq/fxmanifest.lua @@ -1,9 +1,8 @@ - fx_version 'cerulean' game 'gta5' -description 'Kaffee mit qb_target' -author 'Nordi' +description 'Grill-Script' +author 'Nord98' version '1.0.0' shared_scripts { @@ -25,4 +24,4 @@ dependencies { 'qb-target', 'qb-core', 'ox_lib' -} \ No newline at end of file +} diff --git a/resources/[inventory]/nordi_bbq/server.lua b/resources/[inventory]/nordi_bbq/server.lua index 7709e0ee6..41e580ad0 100644 --- a/resources/[inventory]/nordi_bbq/server.lua +++ b/resources/[inventory]/nordi_bbq/server.lua @@ -1,56 +1,58 @@ local QBCore = exports['qb-core']:GetCoreObject() --- Debug Print Function +-- Debug-Funktion local function Debug(msg) - print("^2[Grill Debug] ^7" .. msg) -- Changed from Coffee to Grill + print("^2[Grill Debug] ^7" .. msg) end -RegisterNetEvent('grill-script:giveFood') -- Changed event name -AddEventHandler('grill-script:giveFood', function(itemName, requirements) -- Changed event name - Debug("Give food event triggered") -- Changed text +-- Event zum Geben des gegrillten Essens +RegisterNetEvent('nordi_bbq:server:GiveGrilledFood', function(itemName, requirements) local src = source local Player = QBCore.Functions.GetPlayer(src) - - if Player then - -- Check if the item is in the allowed grill options - local isValidItem = false - for _, food in ipairs(Config.GrillOptions) do -- Changed from CoffeeOptions to GrillOptions - if food.item == itemName then - isValidItem = true - break - end - end - - if isValidItem then - Debug("Valid food item requested") -- Changed text - -- Double-check ingredients - local hasAllItems = true - for _, requirement in ipairs(requirements) do - if not Player.Functions.HasItem(requirement.item, requirement.amount) then - hasAllItems = false - break - end - end - - if hasAllItems then - Debug("Player has all required items") - -- Remove required items - for _, requirement in ipairs(requirements) do - Player.Functions.RemoveItem(requirement.item, requirement.amount) - TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove") - end - - -- Give the finished food - Player.Functions.AddItem(itemName, 1) - TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[itemName], "add") - TriggerClientEvent('QBCore:Notify', src, "Du hast " .. QBCore.Shared.Items[itemName].label .. " gegrillt!", "success") -- Changed text - else - Debug("Player missing required items") - TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error") - end - else - Debug("Invalid food item requested: " .. itemName) -- Changed text - TriggerClientEvent('QBCore:Notify', src, "Fehler beim Grillen!", "error") -- Changed text + + if not Player then + Debug("Spieler nicht gefunden") + return + end + + -- Überprüfe, ob das Item in den erlaubten Rezepten ist + local validRecipe = false + for _, recipe in pairs(Config.GrillRecipes) do + if recipe.item == itemName then + validRecipe = true + break end end + + if not validRecipe then + Debug("Ungültiges Rezept: " .. itemName) + TriggerClientEvent('QBCore:Notify', src, "Fehler beim Grillen!", "error") + return + end + + -- Überprüfe Zutaten + local hasAllItems = true + for _, requirement in pairs(requirements) do + if not Player.Functions.HasItem(requirement.item, requirement.amount) then + hasAllItems = false + break + end + end + + if hasAllItems then + -- Entferne Zutaten + for _, requirement in pairs(requirements) do + Player.Functions.RemoveItem(requirement.item, requirement.amount) + TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[requirement.item], "remove") + end + + -- Gib das fertige Essen + Player.Functions.AddItem(itemName, 1) + TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[itemName], "add") + + local itemLabel = QBCore.Shared.Items[itemName] and QBCore.Shared.Items[itemName].label or itemName + TriggerClientEvent('QBCore:Notify', src, "Du hast " .. itemLabel .. " gegrillt!", "success") + else + TriggerClientEvent('QBCore:Notify', src, "Du hast nicht alle benötigten Zutaten!", "error") + end end) diff --git a/resources/[inventory]/pickle_consumables/config.lua b/resources/[inventory]/pickle_consumables/config.lua index 003e6398f..688186dfa 100644 --- a/resources/[inventory]/pickle_consumables/config.lua +++ b/resources/[inventory]/pickle_consumables/config.lua @@ -158,7 +158,7 @@ Config.Items = { prop = { model = `prop_choc_ego`, boneId = 18905, offset = vec3(0.1114, 0.0389, 0.0497), rotation = vec3(160.2057, 77.8283, -7.5425) }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 6, thirst = 0, stress = 0, armor = 0, @@ -171,7 +171,7 @@ Config.Items = { prop = { model = `prop_choc_ego`, boneId = 18905, offset = vec3(0.13, 0.05, 0.02), rotation = vec3(120.0, 196.0, 60.0) }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 6, thirst = 0, stress = 0, armor = 0, @@ -185,7 +185,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_restaurant_eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 15, thirst = 0, stress = 0, armor = 0, @@ -199,7 +199,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 15, thirst = 0, stress = 0, armor = 0, @@ -213,7 +213,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 8, thirst = 0, stress = 0, armor = 0, @@ -241,7 +241,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 8, thirst = 0, stress = 0, armor = 0, @@ -255,7 +255,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -269,7 +269,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -283,7 +283,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -297,7 +297,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -339,7 +339,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 20, thirst = 0, stress = 0, armor = 0, @@ -353,7 +353,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -395,7 +395,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 6, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -479,7 +479,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 15, thirst = 0, stress = 0, armor = 0, @@ -493,7 +493,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -507,7 +507,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -521,7 +521,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -535,7 +535,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 20, thirst = 0, stress = 0, armor = 0, @@ -549,7 +549,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 20, thirst = 0, stress = 0, armor = 0, @@ -563,7 +563,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 20, thirst = 0, stress = 0, armor = 0, @@ -577,7 +577,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 20, thirst = 0, stress = 0, armor = 0, @@ -689,7 +689,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -698,7 +698,7 @@ Config.Items = { } }, ["scookie"] = { - uses = 2, + uses = 1, prop = { model = `bzzz_sugary_cookie_a`, boneId = 60309, offset = vec3(0.1114, 0.0389, 0.0497), rotation = vec3(160.2057, 77.8283, -7.5425) }, idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, @@ -740,12 +740,12 @@ Config.Items = { } }, ["marshmallows"] = { - uses = 1, + uses = 4 prop = { model = `v_ret_ml_chips4`, boneId = 60309, offset = vec3(0.1114, 0.0389, 0.0497), rotation = vec3(160.2057, 77.8283, -7.5425) }, idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 4, thirst = 0, stress = 0, armor = 0, @@ -759,7 +759,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 15, thirst = 0, stress = 0, armor = 0, @@ -773,7 +773,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 15, thirst = 0, stress = 0, armor = 0, @@ -787,7 +787,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 4, thirst = 0, stress = 0, armor = 0, @@ -801,7 +801,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -815,7 +815,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 8, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -829,7 +829,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -843,7 +843,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -857,7 +857,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -871,7 +871,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -885,7 +885,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -899,7 +899,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -927,7 +927,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -941,7 +941,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -955,7 +955,7 @@ Config.Items = { idle = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mp_player_inteat@burger", anim = "mp_player_int_eat_burger_fp", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -969,7 +969,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -983,7 +983,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -997,7 +997,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -1011,7 +1011,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 30, thirst = 0, stress = 0, armor = 0, @@ -1025,7 +1025,7 @@ Config.Items = { idle = { dict = "anim@scripted@island@special_peds@pavel@hs4_pavel_ig5_caviar_p1", anim = "base_idle", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz@restaurant@eat", anim = "bzzz_restaurant_eat", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -1039,7 +1039,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 8, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -1053,7 +1053,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 8, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -1067,21 +1067,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 8, - thirst = 0, - stress = 0, - armor = 0, - alcohol = 0, - stamina = 0, - } - }, - ["hors_hunder_ings"] = { - uses = 4, - prop = { model = `prop_food_cb_nugets`, boneId = 60309, offset = vec3(0.1114, 0.0389, 0.0497), rotation = vec3(160.2057, 77.8283, -7.5425) }, - idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, - animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, - status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 8, + hunger = 10, thirst = 0, stress = 0, armor = 0, @@ -1265,7 +1251,7 @@ Config.Items = { idle = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "bzzz_popcorn_animation", anim = "bzzz_popcorn_animation", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. - hunger = 10, + hunger = 25, thirst = 0, stress = 0, armor = 0, @@ -1294,7 +1280,7 @@ Config.Items = { animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 10, + thirst = 25, stress = 0, armor = 0, alcohol = 0, @@ -1308,14 +1294,14 @@ Config.Items = { animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 10, + thirst = 25, stress = 0, armor = 0, alcohol = 0, stamina = 0, } }, - ["ecoal_dose"] = { + ["ecola_dose"] = { uses = 1, prop = { model = `prop_ecola_can`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, @@ -1703,7 +1689,7 @@ Config.Items = { animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 10, + thirst = 25, stress = 0, armor = 0, alcohol = 0, @@ -1732,7 +1718,7 @@ Config.Items = { animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 10, + thirst = 25, stress = 0, armor = 0, alcohol = 0, @@ -1747,7 +1733,7 @@ Config.Items = { effect = { name = "drunk", time = 40000, intensity = 1.0 }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 10, + thirst = 20, stress = 0, armor = 0, alcohol = 0, @@ -2028,7 +2014,7 @@ Config.Items = { }, ["sprunk"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2042,7 +2028,7 @@ Config.Items = { }, ["ecola"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2056,7 +2042,7 @@ Config.Items = { }, ["ornageo"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2070,7 +2056,7 @@ Config.Items = { }, ["ecola_light"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2084,7 +2070,7 @@ Config.Items = { }, ["sludgie"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2098,7 +2084,7 @@ Config.Items = { }, ["juice"] = { uses = 2, - prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + prop = { model = `prop_cs_bs_cup`, boneId = 28422, offset = vec3(0.0, 0.00, -0.07), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. @@ -2335,13 +2321,13 @@ Config.Items = { } }, ["applejuice"] = { - uses = 1, - prop = { model = `bzzz_tree_juice_red`, boneId = 28422, offset = vec3(0.0, 0.00, 0.00), rotation = vec3(0.0, 0.0, 0.0) }, + uses = 2, + prop = { model = `bzzz_tree_juice_red`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 6, + thirst = 20, stress = 0, armor = 0, alcohol = 0, @@ -2349,13 +2335,27 @@ Config.Items = { } }, ["orangejuice"] = { - uses = 1, - prop = { model = `bzzz_tree_juice_red`, boneId = 28422, offset = vec3(0.0, 0.00, 0.00), rotation = vec3(0.0, 0.0, 0.0) }, + uses = 2, + prop = { model = `bzzz_tree_juice_red`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. hunger = 0, - thirst = 6, + thirst = 20, + stress = 0, + armor = 0, + alcohol = 0, + stamina = 0, + } + }, + ["grapejuice"] = { + uses = 2, + prop = { model = `bzzz_tree_juice_red`, boneId = 28422, offset = vec3(0.0, 0.00, -0.20), rotation = vec3(0.0, 0.0, 0.0) }, + idle = { dict = "amb@code_human_wander_drinking_fat@beer@male@base", anim = "static", time = 2000, params = { nil, nil, nil, 49 } }, + animation = { dict = "mini@sprunk", anim = "plyr_buy_drink_pt2", time = 2000, params = { nil, nil, nil, 49 } }, + status = { -- Per use. Values are based on percentage of the max value of the status. If below zero, it will remove the status percentage. + hunger = 0, + thirst = 20, stress = 0, armor = 0, alcohol = 0, @@ -2365,5 +2365,4 @@ Config.Items = { - } diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/.fxap b/resources/[jobs]/[police]/gs_trackerdart/.fxap similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/.fxap rename to resources/[jobs]/[police]/gs_trackerdart/.fxap diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds.awc b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds.awc similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds.awc rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds.awc diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds.awc.xml b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds.awc.xml similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds.awc.xml rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds.awc.xml diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot01.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot01.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot01.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot01.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot02.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot02.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot02.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot02.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot03.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot03.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot03.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot03.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot04.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot04.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot04.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot04.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot05.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot05.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot05.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot05.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot06.wav b/resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot06.wav similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/audiodirectory/custom_sounds/shoot06.wav rename to resources/[jobs]/[police]/gs_trackerdart/audiodirectory/custom_sounds/shoot06.wav diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/bridge/cl_bridge.lua b/resources/[jobs]/[police]/gs_trackerdart/bridge/cl_bridge.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/bridge/cl_bridge.lua rename to resources/[jobs]/[police]/gs_trackerdart/bridge/cl_bridge.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/bridge/sv_bridge.lua b/resources/[jobs]/[police]/gs_trackerdart/bridge/sv_bridge.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/bridge/sv_bridge.lua rename to resources/[jobs]/[police]/gs_trackerdart/bridge/sv_bridge.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/client/cl_functions.lua b/resources/[jobs]/[police]/gs_trackerdart/client/cl_functions.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/client/cl_functions.lua rename to resources/[jobs]/[police]/gs_trackerdart/client/cl_functions.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/client/cl_main.lua b/resources/[jobs]/[police]/gs_trackerdart/client/cl_main.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/client/cl_main.lua rename to resources/[jobs]/[police]/gs_trackerdart/client/cl_main.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/config.lua b/resources/[jobs]/[police]/gs_trackerdart/config.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/config.lua rename to resources/[jobs]/[police]/gs_trackerdart/config.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/data/audioexample_sounds.dat54.rel b/resources/[jobs]/[police]/gs_trackerdart/data/audioexample_sounds.dat54.rel similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/data/audioexample_sounds.dat54.rel rename to resources/[jobs]/[police]/gs_trackerdart/data/audioexample_sounds.dat54.rel diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/data/audioexample_sounds.dat54.rel.xml b/resources/[jobs]/[police]/gs_trackerdart/data/audioexample_sounds.dat54.rel.xml similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/data/audioexample_sounds.dat54.rel.xml rename to resources/[jobs]/[police]/gs_trackerdart/data/audioexample_sounds.dat54.rel.xml diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/fxmanifest.lua b/resources/[jobs]/[police]/gs_trackerdart/fxmanifest.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/fxmanifest.lua rename to resources/[jobs]/[police]/gs_trackerdart/fxmanifest.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/server/sv_main.lua b/resources/[jobs]/[police]/gs_trackerdart/server/sv_main.lua similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/server/sv_main.lua rename to resources/[jobs]/[police]/gs_trackerdart/server/sv_main.lua diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/stream/trackerdart.ydr b/resources/[jobs]/[police]/gs_trackerdart/stream/trackerdart.ydr similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/stream/trackerdart.ydr rename to resources/[jobs]/[police]/gs_trackerdart/stream/trackerdart.ydr diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/stream/trackerdart.ytyp b/resources/[jobs]/[police]/gs_trackerdart/stream/trackerdart.ytyp similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/stream/trackerdart.ytyp rename to resources/[jobs]/[police]/gs_trackerdart/stream/trackerdart.ytyp diff --git a/resources/[Developer]/[Anna]/gs_trackerdart/ui/index.html b/resources/[jobs]/[police]/gs_trackerdart/ui/index.html similarity index 100% rename from resources/[Developer]/[Anna]/gs_trackerdart/ui/index.html rename to resources/[jobs]/[police]/gs_trackerdart/ui/index.html diff --git a/resources/[phone]/roadphone/public/img/Apps/advertising.png b/resources/[phone]/roadphone/public/img/Apps/advertising.png index 1397d1a1c..d96f13490 100644 Binary files a/resources/[phone]/roadphone/public/img/Apps/advertising.png and b/resources/[phone]/roadphone/public/img/Apps/advertising.png differ diff --git a/resources/[phone]/roadphone/public/static/config/config.json b/resources/[phone]/roadphone/public/static/config/config.json index e93529ef2..3187604be 100644 --- a/resources/[phone]/roadphone/public/static/config/config.json +++ b/resources/[phone]/roadphone/public/static/config/config.json @@ -409,7 +409,7 @@ "disallowJobs": [] }, { - "name": "Kleinanzeigen", + "name": "StreetList", "icon": "/public/img/Apps/advertising.png", "default": true, "category": "apps", @@ -626,7 +626,7 @@ "redirect": "darkchat" }, { - "name": "Kleinanzeigen", + "name": "StreetList", "icon": "/public/img/Apps/advertising.png", "description": "Erstellen Sie Werbung", "stars": 4.7, diff --git a/resources/[qb]/qb-core/shared/items.lua b/resources/[qb]/qb-core/shared/items.lua index 5d9511d73..5c3018e66 100644 --- a/resources/[qb]/qb-core/shared/items.lua +++ b/resources/[qb]/qb-core/shared/items.lua @@ -19,9 +19,1342 @@ QBShared.Items = { weight = 0, image = 'weed_seed.png', type = 'item', +<<<<<<< HEAD label = 'AK47 Seed', description = 'A weed seed of AK47', name = 'weed_ak47_seed', +======= + shouldClose = true, + name = 'cigs', + image = 'cigs.png', + unique = false, + }, + packtomatos = { + useable = false, + label = 'Packung Tomaten', + description = '', + weight = 600, + type = 'item', + shouldClose = false, + name = 'packtomatos', + image = 'packtomatos.png', + unique = true, + }, + ecola_zero_flasche = { + useable = true, + label = 'E-Cola Zero Flasche', + description = 'Flasche Cola', + weight = 80, + type = 'item', + shouldClose = true, + name = 'ecola_zero_flasche', + image = 'ecolazerobottle.png', + unique = false, + }, + gatecrack = { + useable = false, + label = 'Gatecrack', + description = 'Handy software to tear down some fences', + weight = 0, + type = 'item', + shouldClose = true, + name = 'gatecrack', + image = 'usb_device.png', + unique = false, + }, + ammo_beanbag = { + useable = true, + label = 'Beanbag Ammo', + description = 'Munition für die Beanbag Shotgun', + weight = 100, + type = 'item', + shouldClose = true, + name = 'ammo_beanbag', + image = 'beanbag_ammo.png', + unique = false, + }, + heimdalls_guard_bread = { + useable = true, + label = 'Heimdalls Guard Bread', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'heimdalls_guard_bread', + image = 'HeimdallsGuardBread.png', + unique = true, + }, + weapontint_mk2_13 = { + useable = true, + label = 'Bold Pink Tint', + description = 'Bold Pink Weapon Tint for MK2 Weapons', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_mk2_13', + image = 'weapontint_black.png', + unique = false, + }, + novalmin = { + useable = true, + label = 'Novalmin', + description = '', + weight = 20, + type = 'item', + shouldClose = true, + name = 'novalmin', + image = 'Novalmin.png', + unique = false, + }, + glucoseg40 = { + useable = true, + label = 'Glucose 40%', + description = '', + weight = 10, + type = 'item', + shouldClose = true, + name = 'glucoseg40', + image = 'glucoseg40.png', + unique = false, + }, + gg_hunting_arrowammo = { + useable = true, + label = 'Armbrust Pfeile', + description = '', + weight = 20, + type = 'item', + shouldClose = true, + name = 'gg_hunting_arrowammo', + image = 'gg_hunting_arrowammo.png', + unique = false, + }, + aktexyz = { + useable = false, + label = 'Akte XYZ', + description = '', + weight = 100, + type = 'item', + shouldClose = false, + name = 'aktexyz', + image = 'aktexyz.png', + unique = true, + }, + erz = { + useable = false, + label = 'Metallerz', + description = '', + weight = 2000, + type = 'item', + shouldClose = false, + name = 'erz', + image = 'erz.png', + unique = false, + }, + creditcard = { + useable = false, + label = 'Bankkarte', + description = 'Ich brauch Geld', + weight = 0, + type = 'item', + shouldClose = true, + name = 'creditcard', + image = 'creditcard.png', + unique = true, + }, + weapon_advancedrifle = { + useable = false, + label = 'Advanced Rifle', + description = 'An assault version of a rapid-fire, magazine-fed automatic rifle designed for infantry use', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_advancedrifle', + image = 'weapon_advancedrifle.png', + ammotype = 'AMMO_RIFLE', + }, + doener = { + useable = true, + label = 'Döner', + description = 'Döner macht schöner...', + weight = 200, + type = 'item', + shouldClose = true, + name = 'doener', + image = 'doner.png', + unique = true, + }, + meth_pipe = { + useable = false, + label = 'Leere Methpfeife', + description = 'Leere Pfeife zum möglichen Glück was keins ist', + weight = 500, + type = 'item', + shouldClose = false, + name = 'meth_pipe', + image = 'Meth pfeife.png', + unique = false, + }, + rifle_defaultclip = { + useable = true, + label = 'Gewehr Magazin', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'rifle_defaultclip', + image = 'rifle_defaultclip.png', + unique = true, + }, + spark_plug = { + useable = true, + label = 'Premium Zündkerzen', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'spark_plug', + image = 'spark_plug.png', + unique = false, + }, + ['5-fach_impfung_hund'] = { + useable = true, + label = '5-fach Impfung Hund', + description = '', + weight = 20, + type = 'item', + shouldClose = true, + name = '5-fach_impfung_hund', + image = 'hundeimpfstoff.png', + unique = false, + }, + firework2 = { + useable = true, + label = 'Poppelers', + description = 'Fireworks', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'firework2', + image = 'firework2.png', + unique = false, + }, + weapon_pistol50 = { + useable = false, + label = 'Tropical Eagle', + description = 'Für alle, die denken, normale Pistolen fühlen sich einfach zu sehr nach Spielzeug an.', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_pistol50', + image = 'tropical_eagle.png', + ammotype = 'AMMO_PISTOL', + }, + nitrous = { + useable = true, + label = 'Nitrous', + description = 'Speed up, gas pedal! :D', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'nitrous', + image = 'nitrous.png', + unique = false, + }, + cash = { + useable = false, + label = 'Bargeld', + description = 'Nur Bares ist wares...', + weight = 0, + type = 'item', + shouldClose = false, + name = 'cash', + image = 'cash.png', + unique = false, + }, + j_and_js = { + useable = true, + label = 'J&J’s', + description = 'Kleine, bunte Schockodrops mit knackiger Hülle und weichem Kern', + weight = 150, + type = 'item', + shouldClose = true, + name = 'j_and_js', + image = 'ChatGPT_Image_27._Apr._2025__12_06_23-removebg-preview.png', + unique = true, + }, + ev_motor = { + useable = true, + label = 'EV_Motor', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'ev_motor', + image = 'ev_motor.png', + unique = false, + }, + rifle_drum = { + useable = true, + label = 'Gewehr Trommelmagzin', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'rifle_drum', + image = 'drum_attachment.png', + unique = true, + }, + pistol_ammo = { + useable = true, + label = 'Pistolen Munition', + description = 'Peng in klein', + weight = 200, + type = 'item', + shouldClose = true, + name = 'pistol_ammo', + image = 'pistolenmuni.png', + unique = false, + }, + weed_amnesia = { + useable = true, + label = 'Amnesia 2g', + description = 'A weed bag with 2g Amnesia', + weight = 200, + type = 'item', + shouldClose = false, + name = 'weed_amnesia', + image = 'weed_baggy.png', + unique = false, + }, + tier_leckerlis = { + useable = true, + label = 'Tier Leckerlis', + description = 'Freude für deinen Vierbeiner.', + weight = 100, + type = 'item', + shouldClose = true, + name = 'tier_leckerlis', + image = 'pet_treats.png', + unique = false, + }, + weapon_compactrifle = { + useable = false, + label = 'Compact Rifle', + description = 'A compact version of an assault rifle', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_compactrifle', + image = 'weapon_compactrifle.png', + ammotype = 'AMMO_RIFLE', + }, + weapon_minismg = { + useable = false, + label = 'Mini SMG', + description = 'A mini handheld light weight machine gun', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_minismg', + image = 'weapon_minismg.png', + ammotype = 'AMMO_SMG', + }, + coffee_beans = { + useable = false, + label = 'Packung Kaffeepulver', + description = '', + weight = 200, + type = 'item', + shouldClose = false, + name = 'coffee_beans', + image = 'coffee_beans.png', + unique = false, + }, + jords_cean_reeze_alkoholfrei = { + useable = true, + label = 'Njord\'s Ocean Breeze (alkoholfrei)', + description = 'Eine kühle Meeresbrise in Form eines Getränks, die erfrischend und exotisch zugleich ist.', + weight = 200, + type = 'item', + shouldClose = true, + name = 'njords_ocean_breeze_alkoholfrei', + image = 'NjordsOceanBreeze.png', + unique = false, + }, + veh_exterior = { + useable = true, + label = 'Exterior', + description = 'Upgrade vehicle exterior', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'veh_exterior', + image = 'veh_exterior.png', + unique = false, + }, + revolver_barrel = { + useable = false, + label = 'Revolverlauf', + description = 'Revolver-Abzug: Ein kurzer Zug, der großen Knall bringt', + weight = 250, + type = 'item', + shouldClose = false, + name = 'revolver_barrel', + image = 'axehandle.png', + unique = false, + }, + chemical_set = { + useable = false, + label = 'Chemikalien-Set', + description = 'Dein persönliches Labor für Experimente, die besser nicht in der Küche stattfinden.', + weight = 1000, + type = 'item', + shouldClose = false, + name = 'chemical_set', + image = 'lab.png', + unique = false, + }, + grip_attachment = { + useable = true, + label = 'Grip', + description = 'A grip for a weapon', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'grip_attachment', + image = 'grip_attachment.png', + unique = false, + }, + chainsaw = { + useable = false, + label = 'Kettensäge', + description = 'Fichtenmoped..... Benzinbiber..... ', + weight = 600, + type = 'item', + shouldClose = false, + name = 'chainsaw', + image = 'chainsaw.png', + unique = true, + }, + jelly_beans = { + useable = true, + label = 'Jelly Beans', + description = 'Bunte, kleine Köstlichkeiten mit knackiger Hülle und fruchtig-süßem Kern – ein Farbtupfer voller Geschmack.', + weight = 150, + type = 'item', + shouldClose = true, + name = 'jelly_beans', + image = 'file_00000000007861f7963805e1f6fecfc5-removebg-preview.png', + unique = true, + }, + sprunk_dose = { + useable = true, + label = 'Sprunk Dose', + description = 'Dose Zitronen Limo', + weight = 50, + type = 'item', + shouldClose = true, + name = 'sprunk_dose', + image = 'sprunk_dose.png', + unique = false, + }, + weapontint_mk2_1 = { + useable = true, + label = 'Classic Gray Tint', + description = 'Classic Gray Weapon Tint for MK2 Weapons', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_mk2_1', + image = 'weapontint_black.png', + unique = false, + }, + weapontint_mk2_4 = { + useable = true, + label = 'Classic Beige Tint', + description = 'Classic Beige Weapon Tint for MK2 Weapons', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_mk2_4', + image = 'weapontint_black.png', + unique = false, + }, + drum_mechanism = { + useable = false, + label = 'Trommel Mechanismus', + description = 'Der Dreh, der alles verändert – Spannung in jeder Umdrehung', + weight = 200, + type = 'item', + shouldClose = false, + name = 'drum_mechanism', + image = 'Trommel.png', + unique = false, + }, + woodbug = { + useable = false, + label = 'Borkenkäfer', + description = 'Deutsche Borkenkäfer dürfen dies....', + weight = 4, + type = 'item', + shouldClose = false, + name = 'woodbug', + image = 'woodbug.png', + unique = false, + }, + thors_thunder_storm = { + useable = true, + label = 'Thors Thunder Storm', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'thors_thunder_storm', + image = 'ThorsThunderStorm.png', + unique = true, + }, + water_bottle = { + useable = true, + label = 'Wasser Flasche ', + description = 'Gerüchte sagen, es stammt aus einem Gletscher – wahrscheinlich eher aus dem Hahn hinterm Werkstor.', + weight = 100, + type = 'item', + shouldClose = true, + name = 'water_bottle', + image = 'wasserflasche.png', + unique = false, + }, + stancing_kit = { + useable = true, + label = 'Stancing Kit', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'stancing_kit', + image = 'stancing_kit.png', + unique = false, + }, + rifle_scope = { + useable = true, + label = 'Gewehrvisier', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'rifle_scope', + image = 'smallscope_attachment.png', + unique = true, + }, + whiskey = { + useable = true, + label = 'Whiskey', + description = 'For all the thirsty out there', + weight = 500, + type = 'item', + shouldClose = true, + name = 'whiskey', + image = 'whiskey.png', + unique = false, + }, + ev_coolant = { + useable = true, + label = 'EV_Kühlkit', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'ev_coolant', + image = 'ev_coolant.png', + unique = false, + }, + skadis_hunt = { + useable = true, + label = 'Skadi\'s Hunt', + description = 'So erfrischend und eisig wie Skadis frostige Heimat.', + weight = 200, + type = 'item', + shouldClose = true, + name = 'skadis_hunt', + image = 'SkadisHunt.png', + unique = true, + }, + tavor25 = { + useable = true, + label = 'Tavor 2,5 mg', + description = '', + weight = 20, + type = 'item', + shouldClose = true, + name = 'tavor25', + image = 'tavor25.png', + unique = false, + }, + weapon_sniperrifle = { + useable = false, + label = 'ABM Sniper Rifle', + description = 'Wenn man mal das Gesetzt von weiter weg vertreten muss.', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_sniperrifle', + image = 'screenshot_414-removebg-preview.png', + ammotype = 'AMMO_SNIPER', + }, + split_end_muzzle_brake = { + useable = true, + label = 'Split End Muzzle Brake', + description = 'A muzzle brake for a weapon', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'split_end_muzzle_brake', + image = 'split_end_muzzle_brake.png', + unique = false, + }, + filament = { + useable = false, + label = 'Filament', + description = '', + weight = 100, + type = 'item', + shouldClose = false, + name = 'filament', + image = 'filament.png', + unique = false, + }, + weapon_switchblade = { + weight = 1000, + type = 'weapon', + unique = true, + useable = false, + label = 'Switchblade', + name = 'weapon_switchblade', + image = 'weapon_switchblade.png', + description = 'A knife with a blade that springs out from the handle when a button is pressed', + }, + mg_ammo = { + useable = true, + label = 'MG ammo', + description = 'Ammo for Machine Guns', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'mg_ammo', + image = 'mg_ammo.png', + unique = false, + }, + big_bottle_lemonade = { + useable = true, + label = 'große Flasche Sprunk', + description = '', + weight = 600, + type = 'item', + shouldClose = true, + name = 'big_bottle_lemonade', + image = 'big_bottle_lemonade.png', + unique = false, + }, + certificate = { + useable = false, + label = 'Certificate', + description = 'Certificate that proves you own certain stuff', + weight = 0, + type = 'item', + shouldClose = true, + name = 'certificate', + image = 'certificate.png', + unique = false, + }, + tyre_replacement = { + useable = true, + label = 'Premium Reifen', + description = 'die Premium Schuhe der Kraftfahrzeuge', + weight = 0, + type = 'item', + shouldClose = true, + name = 'tyre_replacement', + image = 'tyre_replacement.png', + unique = false, + }, + metalscrap = { + useable = false, + label = 'Metallschrott', + description = 'Der Stoff, aus dem DIY-Träume sind', + weight = 500, + type = 'item', + shouldClose = false, + name = 'metalscrap', + image = 'scrap-iron.png', + unique = false, + }, + aluminum = { + useable = false, + label = 'Aluminium', + description = 'Nice piece of metal that you can probably use for something', + weight = 100, + type = 'item', + shouldClose = false, + name = 'aluminum', + image = 'aluminum.png', + unique = false, + }, + waffle_icream = { + useable = true, + label = 'Sandwich Eis', + description = 'Cremiges Vanilleeis, umhüllt von zwei zarten Waffelschichten – der Klassiker im Retro-Look für echte Eisliebhaber.', + weight = 100, + type = 'item', + shouldClose = true, + name = 'waffle_icream', + image = 'waffle_icream.png', + unique = true, + }, + semi_slick_tyres = { + useable = true, + label = 'Reifen semi slick', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'semi_slick_tyres', + image = 'semi_slick_tyres.png', + unique = false, + }, + boxorangejuice = { + useable = false, + label = 'Kiste Orangensaft', + description = '', + weight = 1000, + type = 'item', + shouldClose = false, + name = 'boxorangejuice', + image = 'boxorangejuice.png', + unique = true, + }, + lysergic_acid = { + useable = false, + label = 'Lysergsäure', + description = 'Der geheime VIP-Zugang zu einer anderen Realität', + weight = 1000, + type = 'item', + shouldClose = false, + name = 'lysergic_acid', + image = 'acid.png', + unique = false, + }, + weapontint_mk2_6 = { + useable = true, + label = 'Classic Blue Tint', + description = 'Classic Blue Weapon Tint for MK2 Weapons', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_mk2_6', + image = 'weapontint_black.png', + unique = false, + }, + weapon_compactlauncher = { + weight = 1000, + type = 'weapon', + unique = true, + useable = false, + label = 'Compact Launcher', + name = 'weapon_compactlauncher', + image = 'weapon_compactlauncher.png', + description = 'A compact grenade launcher', + }, + weapontint_3 = { + useable = true, + label = 'Pink Tint', + description = 'Pink Weapon Tint', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_3', + image = 'weapontint_pink.png', + unique = false, + }, + rwd_drivetrain = { + useable = true, + label = 'RWD', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'rwd_drivetrain', + image = 'rwd_drivetrain.png', + unique = false, + }, + weapon_batton = { + useable = false, + label = 'Waffenlauf Lang', + description = 'Ein Lauf auf Stahl mit einer hohen Genauigkeit ', + weight = 1000, + type = 'item', + shouldClose = false, + name = 'weapon_batton', + image = 'weapon_batton.png', + unique = false, + }, + fish_and_chips = { + useable = true, + label = 'Fish and Chips', + description = 'very british ^^', + weight = 200, + type = 'item', + shouldClose = true, + name = 'fish_and_chips', + image = 'fishandchips.png', + unique = false, + }, + weapon_sled = { + useable = false, + label = 'Pistolenschlitten', + description = 'Der flinke Kurier, der das Feuer in Bewegung bringt', + weight = 250, + type = 'item', + shouldClose = false, + name = 'weapon_sled', + image = 'Waffenschlitten.png', + unique = false, + }, + harness = { + useable = true, + label = 'Race Harness', + description = 'Racing Harness so no matter what you stay in the car', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'harness', + image = 'harness.png', + unique = true, + }, + fenystil = { + useable = true, + label = 'Fenistil', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'fenystil', + image = 'fenystil.png', + unique = false, + }, + weapon_stone_hatchet = { + weight = 1000, + type = 'weapon', + unique = true, + useable = true, + label = 'Stone Hatchet', + name = 'weapon_stone_hatchet', + image = 'weapon_stone_hatchet.png', + description = 'Stone Hatchet', + }, + veh_tint = { + useable = true, + label = 'Tints', + description = 'Install vehicle tint', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'veh_tint', + image = 'veh_tint.png', + unique = false, + }, + joint = { + useable = true, + label = 'Joint', + description = 'Die Friedenspfeife 2.0', + weight = 500, + type = 'item', + shouldClose = true, + name = 'joint', + image = 'joint7.png', + unique = false, + }, + boxmilk = { + useable = false, + label = 'Karton mit Milch', + description = '', + weight = 1200, + type = 'item', + shouldClose = false, + name = 'boxmilk', + image = 'boxmilk.png', + unique = true, + }, + cooked_kebab = { + useable = true, + label = 'gegrilltes Schaschlick', + description = '', + weight = 200, + type = 'item', + shouldClose = true, + name = 'cooked_kebab', + image = 'cooked_kebab.png', + unique = false, + }, + pussycat = { + useable = true, + label = 'Pussycat', + description = 'Für die einsamen Nächte.', + weight = 40, + type = 'item', + shouldClose = true, + name = 'pussycat', + image = 'pussycat.png', + unique = false, + }, + rolling_paper = { + useable = false, + label = 'Drehpapier', + description = 'Der Stoff, der Gras und Tabak zusammenhält', + weight = 200, + type = 'item', + shouldClose = true, + name = 'rolling_paper', + image = 'rolling_paper2.png', + unique = false, + }, + quickclot = { + useable = true, + label = 'Wundschnellverband', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'quickclot', + image = '40053-QuikClot-Combat-Gauze-01-removebg-preview.png', + unique = false, + }, + potatobag = { + useable = false, + label = 'Sack Kartoffeln', + description = '', + weight = 1000, + type = 'item', + shouldClose = false, + name = 'potatobag', + image = 'potatobag.png', + unique = true, + }, + drum_attachment = { + useable = true, + label = 'Drum', + description = 'A drum for a weapon', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'drum_attachment', + image = 'drum_attachment.png', + unique = false, + }, + sniper_defaultclip = { + useable = true, + label = 'Sniper Magzin', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'sniper_defaultclip', + image = 'sniper_defaultclip.png', + unique = true, + }, + weapon_combatpdw = { + useable = false, + label = 'Zig MPX', + description = 'Ab Werk leise', + weight = 1000, + type = 'weapon', + shouldClose = true, + name = 'weapon_combatpdw', + image = 'zigmpx.png', + unique = true, + }, + weapon_handle = { + useable = false, + label = 'Griff', + description = 'Der perfekte Halt – für dich und deine Waffen-Fantasien', + weight = 200, + type = 'item', + shouldClose = false, + name = 'weapon_handle', + image = 'snspistol_part_3.png', + unique = false, + }, + sifs_olden_harvest = { + useable = true, + label = 'Sifs Golden Harvest', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'sifs_olden_harvest', + image = 'SifsGoldenHarvest.png', + unique = true, + }, + trojan_usb = { + useable = false, + label = 'Trojan USB', + description = 'Handy software to shut down some systems', + weight = 0, + type = 'item', + shouldClose = true, + name = 'trojan_usb', + image = 'usb_device.png', + unique = false, + }, + pistol_compensator = { + useable = true, + label = 'Pistolen Kompensator', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'pistol_compensator', + image = 'comp_attachment.png', + unique = true, + }, + packing_bandage = { + useable = true, + label = 'Verbandpäckchen', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'packing_bandage', + image = 'screenshot_478-removebg-preview.png', + unique = false, + }, + urapidil3 = { + useable = true, + label = 'Urapidil 3,0 mg', + description = '', + weight = 20, + type = 'item', + shouldClose = true, + name = 'urapidil3', + image = 'urapidil1.png', + unique = false, + }, + kaugummi = { + useable = true, + label = 'Kaugummi ', + description = 'Damit dein Maul net mehr so Stinkt...', + weight = 40, + type = 'item', + shouldClose = true, + name = 'kaugummi', + image = 'kaugummi.png', + unique = false, + }, + sniper_grip = { + useable = true, + label = 'Marksmangewehr Griff', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'sniper_grip', + image = 'ar_grip.png', + unique = true, + }, + gg_captured_hen = { + useable = true, + label = 'Gefangenes Huhn', + description = '', + weight = 5000, + type = 'item', + shouldClose = true, + name = 'gg_captured_hen', + image = 'gg_captured_hen.png', + unique = true, + }, + odins_mead = { + useable = true, + label = ' Odin\'s Mead', + description = 'Ein weises Getränk, so alt wie die Geschichten von Asgard selbst.', + weight = 200, + type = 'item', + shouldClose = true, + name = 'odins_mead', + image = 'OdinsMead.png', + unique = false, + }, + propofol_100 = { + useable = true, + label = 'Propofol (100ml)', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'propofol_100', + image = 'Propofol-00409469924-removebg-preview.png', + unique = false, + }, + bbq_seasoning = { + useable = true, + label = 'BBQ Gewürze', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'bbq_seasoning', + image = 'bbq_seasoning.png', + unique = false, + }, + rohkaffee = { + useable = false, + label = 'Rohkaffee', + description = '', + weight = 4, + type = 'item', + shouldClose = false, + name = 'rohkaffee', + image = 'rohkaffee.png', + unique = false, + }, + weapon_ball = { + useable = false, + label = 'Ball', + description = 'A solid or hollow spherical or egg-shaped object that is kicked, thrown, or hit in a game', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_ball', + image = 'weapon_ball.png', + ammotype = 'AMMO_BALL', + }, + donut = { + useable = true, + label = 'Donut', + description = 'Dooooonuuuuts', + weight = 100, + type = 'item', + shouldClose = true, + name = 'donut', + image = 'donut.png', + unique = false, + }, + twerks_candy = { + useable = true, + label = 'Ego Chaser Schockriegel', + description = 'It\'s all about you.', + weight = 100, + type = 'item', + shouldClose = true, + name = 'twerks_candy', + image = 'twerks_candy.png', + unique = false, + }, + orange = { + useable = false, + label = 'Orange', + description = '', + weight = 100, + type = 'item', + shouldClose = false, + name = 'orange', + image = 'orange.png', + unique = false, + }, + big_bottle_cola = { + useable = true, + label = 'große Flasche E-Cola', + description = '', + weight = 600, + type = 'item', + shouldClose = true, + name = 'big_bottle_cola', + image = 'big_bottle_cola.png', + unique = false, + }, + corn_cob = { + useable = true, + label = 'Maiskolben', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'corn_cob', + image = 'corn_cob.png', + unique = false, + }, + weapon_militaryrifle = { + useable = true, + label = 'Weapon Militaryrifle', + description = 'Weapon Militaryrifle', + weight = 1000, + type = 'weapon', + unique = true, + name = 'weapon_militaryrifle', + image = 'weapon_assaultrifle.png', + ammotype = 'AMMO_RIFLE', + }, + dackels = { + useable = false, + label = 'Dackelschreck', + description = '', + weight = 100, + type = 'item', + shouldClose = false, + name = 'dackels', + image = 'dacklschreck.png', + unique = true, + }, + heavy_duty_muzzle_brake = { + useable = true, + label = 'HD Muzzle Brake', + description = 'A muzzle brake for a weapon', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'heavy_duty_muzzle_brake', + image = 'heavy_duty_muzzle_brake.png', + unique = false, + }, + largescope_attachment = { + useable = true, + label = 'Large Scope', + description = 'A large scope for a weapon', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'largescope_attachment', + image = 'largescope_attachment.png', + unique = false, + }, + v6_engine = { + useable = true, + label = 'V6 Motor', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'v6_engine', + image = 'v6_engine.png', + unique = false, + }, + cottoncandy = { + useable = true, + label = 'Zuckerwatte', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'cottoncandy', + image = 'screenshot_693-removebg-preview.png', + unique = false, + }, + remote = { + useable = false, + label = 'TV Fernbedienung', + description = '', + weight = 100, + type = 'item', + shouldClose = false, + name = 'remote', + image = 'remote.png', + unique = true, + }, + juice = { + useable = true, + label = 'Saft', + description = 'Wenn hier Anna nass macht dann bin ICH das !!!!', + weight = 100, + type = 'item', + shouldClose = true, + name = 'juice', + image = 'juice.png', + unique = false, + }, + weapontint_mk2_19 = { + useable = true, + label = 'Bold Cyan Features Tint', + description = 'Bold Cyan Features Weapon Tint for MK2 Weapons', + weight = 1000, + type = 'item', + shouldClose = true, + name = 'weapontint_mk2_19', + image = 'weapontint_black.png', + unique = false, + }, + shotgun_grip = { + useable = true, + label = 'Shotgun Griff', + description = '', + weight = 100, + type = 'item', + shouldClose = true, + name = 'shotgun_grip', + image = 'grip_attachment.png', + unique = true, + }, + weaponlicense = { + useable = true, + label = 'Weapon License', + description = 'Weapon License', + weight = 0, + type = 'item', + shouldClose = true, + name = 'weaponlicense', + image = 'weapon_license.png', + unique = true, + }, + weapon_candycane = { + weight = 1000, + type = 'weapon', + unique = true, + useable = true, + label = 'Candy Cane', + name = 'weapon_candycane', + image = 'weapon_candycane', + description = 'Candy Cane', + }, + cheeseanachos = { + useable = true, + label = 'Nachos mit Käsesauce', + description = 'Knusprige Nachos, überzogen mit cremiger, würziger Käsesauce', + weight = 200, + type = 'item', + shouldClose = true, + name = 'cheeseanachos', + image = 'ChatGPT_Image_26._Apr._2025__18_25_48-removebg-preview.png', + unique = true, + }, + weapon_crowbar = { + weight = 1000, + type = 'weapon', + unique = true, + useable = false, + label = 'Crowbar', + name = 'weapon_crowbar', + image = 'weapon_crowbar.png', + description = 'An iron bar with a flattened end, used as a lever', + }, + air_filter = { + useable = true, + label = 'Premium Luftfilter', + description = 'sollte das Baby wieder nach Luft schreien, einmal wechseln', + weight = 0, + type = 'item', + shouldClose = true, + name = 'air_filter', + image = 'air_filter.png', + unique = false, + }, + fwd_drivetrain = { + useable = true, + label = 'FWD', + description = '', + weight = 0, + type = 'item', + shouldClose = true, + name = 'fwd_drivetrain', + image = 'fwd_drivetrain.png', + unique = false, +>>>>>>> 766a02311067e985e42fd349bf96b56616cee2f0 }, jerry_can = { unique = false, diff --git a/resources/[qb]/qb-smallresources/client/fireworks.lua b/resources/[qb]/qb-smallresources/client/fireworks.lua index 60117f600..4877fd820 100644 --- a/resources/[qb]/qb-smallresources/client/fireworks.lua +++ b/resources/[qb]/qb-smallresources/client/fireworks.lua @@ -71,12 +71,19 @@ local function startFirework(asset, coords) Wait(1000) fireworkTime -= 1 end - UseParticleFxAssetNextCall('scr_indep_fireworks') - for _ = 1, math.random(5, 10), 1 do + + -- Debug-Nachricht hinzugefügt + print("Countdown beendet, starte Feuerwerk mit Asset: " .. asset) + + for i = 1, math.random(5, 10), 1 do local firework = fireworkList[asset][math.random(1, #fireworkList[asset])] + + -- Debug-Nachricht hinzugefügt + print("Starte Feuerwerk-Effekt: " .. firework) + UseParticleFxAssetNextCall(asset) StartNetworkedParticleFxNonLoopedAtCoord(firework, fireworkLoc.x, fireworkLoc.y, fireworkLoc.z + 42.5, 0.0, 0.0, 0.0, math.random() * 0.3 + 0.5, false, false, false) - Wait(math.random() * 500) + Wait(math.random(100, 500)) -- Feste Werte für bessere Konsistenz end fireworkLoc = nil end) @@ -99,9 +106,15 @@ CreateThread(function() end end end + + -- Debug-Nachricht hinzugefügt + print("Alle Feuerwerk-Assets geladen") end) RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName) + -- Debug-Nachricht hinzugefügt + print("Feuerwerk-Event ausgelöst mit Item: " .. itemName .. " und Asset: " .. assetName) + QBCore.Functions.Progressbar('spawn_object', Lang:t('firework.place_progress'), 3000, false, true, { disableMovement = true, disableCarMovement = true, @@ -116,6 +129,10 @@ RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName) TriggerServerEvent('consumables:server:UseFirework', itemName) TriggerEvent('qb-inventory:client:ItemBox', QBCore.Shared.Items[itemName], 'remove') local pos = GetEntityCoords(PlayerPedId()) + + -- Debug-Nachricht hinzugefügt + print("Starte Feuerwerk an Position: " .. pos.x .. ", " .. pos.y .. ", " .. pos.z) + startFirework(assetName, pos) end, function() -- Cancel StopAnimTask(PlayerPedId(), 'anim@narcotics@trash', 'drop_front', 1.0) diff --git a/resources/[standalone]/[rcore_tv]/rcore_television/config.lua b/resources/[standalone]/[rcore_tv]/rcore_television/config.lua index 3ce3328c1..80db49058 100644 --- a/resources/[standalone]/[rcore_tv]/rcore_television/config.lua +++ b/resources/[standalone]/[rcore_tv]/rcore_television/config.lua @@ -15,7 +15,7 @@ Config.DetectorType = 2 -- 2 = BT Target -- 3 = QB Target -- 4 = OX Target -Config.TargetZoneType = 3 +Config.TargetZoneType = 0 -- i will leave this function open, just in case you had anticheat. Config.SetPlayerInvisible = function() @@ -320,6 +320,29 @@ Config.resolution = { ['distance'] = 20, ['ScreenOffSet'] = vec3(-1.414970, -0.077085, 0.883600) }, + [60046420] = { + ['Job'] = nil, -- Nordi Schlafzimmer + ['distance'] = 20, + ['CameraOffSet'] = { + ['y'] = -3.0, + ['x'] = 0.0, + ['rotationOffset'] = vec3(0.000000, 0.000000, 0.000000), + ['z'] = 0.35 + }, + ['distanceToOpen'] = 1.5, + ['ItemToOpen'] = nil, + ['ScreenOffSet'] = vec3(-1.127840, -0.093100, 1.138510), + ['ScreenSize'] = vec3(-0.021280, -0.011970, 0.000000) +}, + + + + + + + + + [1522819744] = { --Job = { ["police"] = {"*"}, }, --ItemToOpen = { "remote", "another item" }, diff --git a/resources/[tools]/Loading_Screen/html/script.js b/resources/[tools]/Loading_Screen/html/script.js index 76cb2ea7a..60d483593 100644 --- a/resources/[tools]/Loading_Screen/html/script.js +++ b/resources/[tools]/Loading_Screen/html/script.js @@ -4,7 +4,7 @@ const tips = [ "Konto leer? Entdecke unsere einzigartigen Jobs", "Bleibe in deiner Rolle und verbesser das RP-Erlebnis aller", "Keine Lust zu laufen? Besuche unsere Fahrzeughändler in der ganzen Stadt", - "Entdecke unsere custom Funktionen und Aktivitäten", + "Entdecke unsere einzigartigen Funktionen und Aktivitäten", "Sei respektvoll gegenüber anderen Spielern und dem Team", "Join our community events for special rewards", "Denke daran, alle Fehler oder Probleme zu melden", diff --git a/resources/[um]/um-multicharacter/server/list/slotslist.lua b/resources/[um]/um-multicharacter/server/list/slotslist.lua index c81305d95..c943fb3a4 100644 --- a/resources/[um]/um-multicharacter/server/list/slotslist.lua +++ b/resources/[um]/um-multicharacter/server/list/slotslist.lua @@ -13,13 +13,14 @@ Slots.List = { {license = "license:0eafabe308cf0eaca0b0fbf5c1ca13f756d224f2", totalSlot = 3}, {license = "license:fff901d8f6568f356416076df59251aede9c6b68", totalSlot = 2}, {license = "license:f890b0820373e5721abc1177513f0ad82e33785b", totalSlot = 2}, - {license = "license:7670072db4258a31e67f66e432cd307d9e3495bd", totalSlot = 2}, + {license = "license:7670072db4258a31e67f66e432cd307d9e3495bd", totalSlot = 3}, {license = "license:af732c42d19a3d8b6a0169ebb13fc135e1d26859", totalSlot = 2}, {license = "license:ce2d42d247530f908b29287321e18ba52fe62925", totalSlot = 3}, {license = "license:4caf5e96ae09a88da5a00e8de4d1e72434ce8dcf", totalSlot = 2}, {license = "license:dae8d3f44cc7de24638a82ff53a7643475267ef0", totalSlot = 3}, {license = "license:916536709a866cb002a6b9622590e03a3e7d8517", totalSlot = 2}, {license = "license:de50c7c0120d4dfd8c98349a4911b6da9b0f709c", totalSlot = 3}, + {license = "license:db7890ba1b25901be9904565d40cb4cf7212db39", totalSlot = 6},