From 1577accbd169934c6808c042060e21458220806b Mon Sep 17 00:00:00 2001 From: KingMcDonalds Date: Mon, 6 Jun 2022 13:39:05 -0700 Subject: [PATCH] fire script holes --- resources/firehook/cl_weaponNames.lua | 1 + resources/firehook/fxmanifest.lua | 19 + resources/firehook/meta/pedpersonality.meta | 384 ++++++++++++++++++ resources/firehook/meta/weaponanimations.meta | 112 +++++ resources/firehook/meta/weaponarchetypes.meta | 13 + resources/firehook/meta/weapons.meta | 231 +++++++++++ resources/firehook/stream/w_me_hook.ydr | 3 + resources/firehook/stream/w_me_hook.ytd | 3 + resources/firehose/FireHose.net.dll | Bin 0 -> 69120 bytes resources/firehose/FireHoseServer.net.dll | Bin 0 -> 6656 bytes resources/firehose/client.lua | 98 +++++ resources/firehose/config.lua | 21 + resources/firehose/fxmanifest.lua | 39 ++ resources/firehose/html/app.js | 42 ++ resources/firehose/html/main.css | 236 +++++++++++ resources/firehose/html/reset.css | 132 ++++++ resources/firehose/html/sounds/detach.ogg | Bin 0 -> 17050 bytes resources/firehose/html/sounds/pickup.ogg | Bin 0 -> 14973 bytes resources/firehose/html/sounds/place.ogg | Bin 0 -> 17050 bytes resources/firehose/html/ui.html | 51 +++ resources/firehose/server.lua | 23 ++ resources/firehose/settings/hud.ini | 17 + resources/firehose/settings/settings.ini | 73 ++++ resources/firehose/settings/trucks.ini | 146 +++++++ server.cfg | 2 + 25 files changed, 1646 insertions(+) create mode 100644 resources/firehook/cl_weaponNames.lua create mode 100644 resources/firehook/fxmanifest.lua create mode 100644 resources/firehook/meta/pedpersonality.meta create mode 100644 resources/firehook/meta/weaponanimations.meta create mode 100644 resources/firehook/meta/weaponarchetypes.meta create mode 100644 resources/firehook/meta/weapons.meta create mode 100644 resources/firehook/stream/w_me_hook.ydr create mode 100644 resources/firehook/stream/w_me_hook.ytd create mode 100644 resources/firehose/FireHose.net.dll create mode 100644 resources/firehose/FireHoseServer.net.dll create mode 100644 resources/firehose/client.lua create mode 100644 resources/firehose/config.lua create mode 100644 resources/firehose/fxmanifest.lua create mode 100644 resources/firehose/html/app.js create mode 100644 resources/firehose/html/main.css create mode 100644 resources/firehose/html/reset.css create mode 100644 resources/firehose/html/sounds/detach.ogg create mode 100644 resources/firehose/html/sounds/pickup.ogg create mode 100644 resources/firehose/html/sounds/place.ogg create mode 100644 resources/firehose/html/ui.html create mode 100644 resources/firehose/server.lua create mode 100644 resources/firehose/settings/hud.ini create mode 100644 resources/firehose/settings/settings.ini create mode 100644 resources/firehose/settings/trucks.ini diff --git a/resources/firehook/cl_weaponNames.lua b/resources/firehook/cl_weaponNames.lua new file mode 100644 index 000000000..844277e65 --- /dev/null +++ b/resources/firehook/cl_weaponNames.lua @@ -0,0 +1 @@ +AddTextEntry("WEAPON_HOOK", "Fire Hook") diff --git a/resources/firehook/fxmanifest.lua b/resources/firehook/fxmanifest.lua new file mode 100644 index 000000000..989db165b --- /dev/null +++ b/resources/firehook/fxmanifest.lua @@ -0,0 +1,19 @@ +fx_version 'cerulean' +games {'gta5'} +description 'Add-on weapon generated using vWeaponsToolkit' + +files{ + '**/weaponcomponents.meta', + '**/weaponarchetypes.meta', + '**/weaponanimations.meta', + '**/pedpersonality.meta', + '**/weapons.meta', +} + +data_file 'WEAPONCOMPONENTSINFO_FILE' '**/weaponcomponents.meta' +data_file 'WEAPON_METADATA_FILE' '**/weaponarchetypes.meta' +data_file 'WEAPON_ANIMATIONS_FILE' '**/weaponanimations.meta' +data_file 'PED_PERSONALITY_FILE' '**/pedpersonality.meta' +data_file 'WEAPONINFO_FILE' '**/weapons.meta' + +client_script 'cl_weaponNames.lua' diff --git a/resources/firehook/meta/pedpersonality.meta b/resources/firehook/meta/pedpersonality.meta new file mode 100644 index 000000000..87c742a52 --- /dev/null +++ b/resources/firehook/meta/pedpersonality.meta @@ -0,0 +1,384 @@ + + + + + + UNHOLSTER_UNARMED + + + + WEAPON_HOOK + + unarmed_holster_2h_melee + + + + + UNHOLSTER_2H_MELEE + + + + WEAPON_HOOK + + 2h_melee_holster_2h_melee + + + + + UNHOLSTER_1H + + + + WEAPON_HOOK + + 1h_holster_2h_melee + + + + + UNHOLSTER_2H + + + + WEAPON_HOOK + + 2h_holster_2h_melee + + + + + UNHOLSTER_MINIGUN + + + + WEAPON_HOOK + WEAPON_GOLFCLUB + + mini_holster_2h_melee + + + + + UNHOLSTER_UNARMED_STEALTH + + + + WEAPON_HOOK + + unarmed_holster_unarmed + + + + + UNHOLSTER_2H_MELEE_STEALTH + + + + WEAPON_HOOK + + unarmed_holster_unarmed + + + + + UNHOLSTER_1H_STEALTH + + + + WEAPON_HOOK + + 1h_holster_unarmed + + + + + UNHOLSTER_2H_STEALTH + + + + WEAPON_HOOK + + 2h_holster_unarmed + + + + + + + DEFAULT_ACTION + + + + + WEAPON_HOOK + + + + MOVE_ACTION@P_M_ZERO@UNARMED@CORE + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@UPPER + UpperbodyAndIk_filter + + + + + + + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@TRANS@DEFAULT + + MOVE_ACTION@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE + + + + + + + + WEAPON_HOOK + + + + MOVE_STEALTH@P_M_ZERO@UNARMED@CORE + WEAPONS@MELEE_STEALTH_1H + UpperbodyAndIk_filter + + + + + + + MOVE_STEALTH@GENERIC@TRANS@2H_MELEE + + MOVE_STEALTH@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE_STEALTH + + + + + + + + + + MP_FEMALE_ACTION + + + + + WEAPON_HOOK + + + + MOVE_ACTION@P_M_ZERO@UNARMED@CORE + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@UPPER + UpperbodyAndIk_filter + + + + + + + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@TRANS@MP_FEMALE + + MOVE_ACTION@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE + + + + + + + + WEAPON_HOOK + + + + MOVE_STEALTH@P_M_ZERO@UNARMED@CORE + WEAPONS@MELEE_STEALTH_1H + UpperbodyAndIk_filter + + + + + + + MOVE_STEALTH@MP_FEMALE@2H_MELEE@TRANS + + MOVE_STEALTH@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE_STEALTH + + + + + + + + + + MICHAEL_ACTION + + + + + WEAPON_HOOK + + + + MOVE_ACTION@P_M_ZERO@UNARMED@CORE + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@UPPER + UpperbodyAndIk_filter + + + + + + + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@TRANS@P_M_ZERO + + MOVE_ACTION@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE + + + + + + + + WEAPON_HOOK + + + + MOVE_STEALTH@P_M_ZERO@UNARMED@CORE + WEAPONS@MELEE_STEALTH_1H + UpperbodyAndIk_filter + + + + + + + MOVE_STEALTH@GENERIC@2H_MELEE_WEAPON@P_M_ZERO + + MOVE_STEALTH@P_M_ZERO@HOLSTER + UNHOLSTER_2H_MELEE_STEALTH + + + + + + + + + + FRANKLIN_ACTION + + + + + WEAPON_HOOK + + + + MOVE_ACTION@P_M_ONE@UNARMED@CORE + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@UPPER + UpperbodyAndIk_filter + + + + + + + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@TRANS@P_M_ONE + + MOVE_ACTION@P_M_ONE@HOLSTER + UNHOLSTER_2H_MELEE + + + + + + + + WEAPON_HOOK + + + + MOVE_STEALTH@P_M_ONE@UNARMED@CORE + WEAPONS@MELEE_STEALTH_1H@P_M_ONE + UpperbodyAndIk_filter + + + + + + + MOVE_STEALTH@GENERIC@2H_MELEE_WEAPON@P_M_ONE + + MOVE_STEALTH@P_M_ONE@HOLSTER + UNHOLSTER_2H_MELEE_STEALTH + + + + + + + + + + TREVOR_ACTION + + + + + WEAPON_HOOK + + + + MOVE_ACTION@P_M_TWO@UNARMED@CORE + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@UPPER + UpperbodyAndIk_filter + + + + + + + MOVE_ACTION@GENERIC@2H_MELEE_GOLFCLUB@TRANS@P_M_TWO + + MOVE_ACTION@P_M_TWO@HOLSTER + UNHOLSTER_2H_MELEE + + + + + + + + WEAPON_HOOK + + + + MOVE_STEALTH@P_M_TWO@UNARMED@CORE + WEAPONS@MELEE_STEALTH_1H@P_M_TWO + UpperbodyAndIk_filter + + + + + + + MOVE_STEALTH@GENERIC@2H_MELEE_WEAPON@P_M_TWO + + MOVE_STEALTH@P_M_TWO@HOLSTER + UNHOLSTER_2H_MELEE_STEALTH + + + + + + + + + + + diff --git a/resources/firehook/meta/weaponanimations.meta b/resources/firehook/meta/weaponanimations.meta new file mode 100644 index 000000000..905c4e92a --- /dev/null +++ b/resources/firehook/meta/weaponanimations.meta @@ -0,0 +1,112 @@ + + + + + + + + + + + + weapons@melee_2h@golfclub + BothArms_filter + + move_strafe_melee_unarmed + move_ped_strafing_stealth + move_strafe@melee_large_weapon + melee@holster + + + + + + + + + + + + + melee@large_wpn@streamed_core + melee@large_wpn@streamed_variations + + + + reaction@shellshock@unarmed + MOVE_JUMP@WEAPONS@2H_MELEE + MOVE_FALL@WEAPONS@2H_MELEE + + + + + + + + + + + + + + + + Default + + + move_m@generic + + + + Cover_Wpn_Melee1h + weapons@first_person@aim_idle@generic@melee@large_wpn@gclub@ + BothArms_filter + + move_strafe_melee_unarmed_fps + move_ped_strafing_stealth + move_strafe@melee_large_weapon_fps_gclub + weapons@first_person@aim_idle@generic@melee@large_wpn@gclub@ + weapons@first_person@aim_rng@generic@pistol@pistol_str + + + + + + + + + + + + melee@large_wpn@streamed_core_fps_gclub + melee@large_wpn@streamed_variations + + + + reaction@shellshock@unarmed + + + + RightArm_NoSpine_filter + RightArm_NoSpine_filter + + + + + + + + + weapons@first_person@aim_idle@p_m_zero@melee@large_wpn@gclub@aim_trans@unholster_to_idle + weapons@first_person@aim_idle@remote_clone@melee@two_handed@golf_club + + weapons@first_person@aim_idle@p_m_zero@melee@large_wpn@gclub@fidgets@a + weapons@first_person@aim_idle@p_m_zero@melee@large_wpn@gclub@fidgets@b + weapons@first_person@aim_idle@p_m_zero@melee@large_wpn@gclub@fidgets@c + + + + + + + diff --git a/resources/firehook/meta/weaponarchetypes.meta b/resources/firehook/meta/weaponarchetypes.meta new file mode 100644 index 000000000..2a63749d2 --- /dev/null +++ b/resources/firehook/meta/weaponarchetypes.meta @@ -0,0 +1,13 @@ + + + + + + w_me_hook + w_me_hook + NULL + + + + + diff --git a/resources/firehook/meta/weapons.meta b/resources/firehook/meta/weapons.meta new file mode 100644 index 000000000..102890635 --- /dev/null +++ b/resources/firehook/meta/weapons.meta @@ -0,0 +1,231 @@ + + + + + + + + + SLOT_WEAPON_HOOK + + + + + + + + + WEAPON_HOOK + w_me_hook + + + + + Melee + + diff --git a/resources/firehook/stream/w_me_hook.ydr b/resources/firehook/stream/w_me_hook.ydr new file mode 100644 index 000000000..ab9af5d35 --- /dev/null +++ b/resources/firehook/stream/w_me_hook.ydr @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad6c7390d2a4443263c747795baeec78fe17be918fe83611ba353f1ed6b9f42 +size 202691 diff --git a/resources/firehook/stream/w_me_hook.ytd b/resources/firehook/stream/w_me_hook.ytd new file mode 100644 index 000000000..9d0aec343 --- /dev/null +++ b/resources/firehook/stream/w_me_hook.ytd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:136bd2f38c69c531700428a2758c8b976ce29e8d5b048525a654050837d3cd55 +size 423873 diff --git a/resources/firehose/FireHose.net.dll b/resources/firehose/FireHose.net.dll new file mode 100644 index 0000000000000000000000000000000000000000..3188ec7709c7f32908fc1e8dffd841482b10c919 GIT binary patch literal 69120 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 literal 0 HcmV?d00001 diff --git a/resources/firehose/FireHoseServer.net.dll b/resources/firehose/FireHoseServer.net.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d47becf7771208456ce7372bb1dade569c782ec GIT binary patch literal 6656 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 literal 0 HcmV?d00001 diff --git a/resources/firehose/client.lua b/resources/firehose/client.lua new file mode 100644 index 000000000..dd866a1fb --- /dev/null +++ b/resources/firehose/client.lua @@ -0,0 +1,98 @@ +ESX = nil +QBCore = nil + +if Config.UseESX then + Citizen.CreateThread(function() + while not ESX do + TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) + Citizen.Wait(500) + end + end) + + RegisterNetEvent('esx:playerLoaded') + AddEventHandler('esx:playerLoaded', function(xPlayer) + ESX.PlayerData = xPlayer + if ESX.PlayerData.job and ESX.PlayerData.job.name == Config.JobName then + --Gives The Player FireHose Perms + TriggerEvent('fhose:canUseNozzles', true) + else + --Remove The FireHose Perms + TriggerEvent('fhose:canUseNozzles', false) + end + end) + + RegisterNetEvent('esx:setJob') + AddEventHandler('esx:setJob', function(job) + ESX.PlayerData.job = job + if ESX.PlayerData.job and ESX.PlayerData.job.name == Config.JobName then + --Gives The Player FireHose Perms + TriggerEvent('fhose:canUseNozzles', true) + else + --Remove The FireHose Perms + TriggerEvent('fhose:canUseNozzles', false) + end + end) +elseif Config.UseQBUS then + QBCore = exports['qb-core']:GetCoreObject() + RegisterNetEvent('QBCore:Client:OnPlayerLoaded') + AddEventHandler('QBCore:Client:OnPlayerLoaded', function() + local PlayerJob = QBCore.Functions.GetPlayerData().job + if PlayerJob.name == Config.JobName then + --Gives The Player FireHose Perms + TriggerEvent('fhose:canUseNozzles', true) + else + --Remove The FireHose Perms + TriggerEvent('fhose:canUseNozzles', false) + end + end) + + RegisterNetEvent('QBCore:Client:OnJobUpdate') + AddEventHandler('QBCore:Client:OnJobUpdate', function(job) + local PlayerJob = job + if PlayerJob.name == Config.JobName then + --Gives The Player FireHose Perms + TriggerEvent('fhose:canUseNozzles', true) + else + --Remove The FireHose Perms + TriggerEvent('fhose:canUseNozzles', false) + end + end) +else + --Gives The Player FireHose Perms + if Config.UseWhitelist then + TriggerServerEvent('fhose:requestPermissions') + else + TriggerEvent('fhose:canUseNozzles', true) + end +end + +AddEventHandler('fhose:onPumpBreak', function() + ShowNotification("~r~You Broke The Fire Hose!") +end) + +AddEventHandler('fhose:requestEquipPump', function() + if Config.UseESX then + --You can do checks here for inventory or other stuff + TriggerEvent("fhose:equipPump") + elseif Config.UseQBUS then + --You can do checks here for inventory or other stuff + TriggerEvent("fhose:equipPump") + else + TriggerEvent("fhose:equipPump") + end +end) + +AddEventHandler('fhose:playSplashParticle', function(pdict, pname, posx, posy, posz, heading) + Citizen.CreateThread(function() + UseParticleFxAssetNextCall(pdict) + local pfx = StartParticleFxLoopedAtCoord(pname, posx, posy, posz, 0.0, 0.0, heading, 1.0, false, false, false, false) + Citizen.Wait(200) + StopParticleFxLooped(pfx, 0) + end) +end) + +function ShowNotification(msg) + SetNotificationTextEntry('STRING') + AddTextComponentString(msg) + DrawNotification(0,1) +end \ No newline at end of file diff --git a/resources/firehose/config.lua b/resources/firehose/config.lua new file mode 100644 index 000000000..48eb3b01d --- /dev/null +++ b/resources/firehose/config.lua @@ -0,0 +1,21 @@ +Config = {} + +--If you dont use esx nor use qbus set UseESX to false and UseQBUS to false +--You can then use the identifier whitelist or the role whitelist + +--If you use esx enable this +Config.UseESX = false + +--If you use qbus enable this +Config.UseQBUS = false + +--Required Job To Use The FireHose +Config.JobName = "firefighter" + +--Standalone identifier whitelist +--Set UseWhitelist To True To Use The Whitelist +Config.UseWhitelist = false +Config.Identifiers = { + "steam:11000012430xfa", + "license:1123d12313" +} \ No newline at end of file diff --git a/resources/firehose/fxmanifest.lua b/resources/firehose/fxmanifest.lua new file mode 100644 index 000000000..10b65b2e3 --- /dev/null +++ b/resources/firehose/fxmanifest.lua @@ -0,0 +1,39 @@ +fx_version 'bodacious' +games {'gta5'} + +-- Resource stuff +name 'Fire Hose' +description 'Dynamic Fire Hose Script By ToxicScripts' +version 'v1' +author 'Toxic Scripts' + +-- Adds additional logging, useful when debugging issues. +client_debug_mode 'false' +server_debug_mode 'false' + +-- Leave this set to '0' to prevent compatibility issues +-- and to keep the save files your users. +experimental_features_enabled '0' + +ui_page 'html/ui.html' + +files { + 'settings/*.ini', + 'html/reset.css', + 'html/main.css', + 'html/app.js', + 'html/ui.html', + 'html/sounds/*.ogg', +} + +-- Files & scripts +shared_script 'config.lua' + +client_scripts { + 'FireHose.net.dll', + 'client.lua' +} +server_scripts { + 'FireHoseServer.net.dll', + 'server.lua' +} \ No newline at end of file diff --git a/resources/firehose/html/app.js b/resources/firehose/html/app.js new file mode 100644 index 000000000..736a69ec7 --- /dev/null +++ b/resources/firehose/html/app.js @@ -0,0 +1,42 @@ +var colorInc = 100 / 3; +var currentProgress = 100; +setProgress(currentProgress) + +function setProgress(val) { + if (val >= 0 && val <= 100) { + //Progress Bar Animation Code From https://codepen.io/junebug12851/pen/mJZNqN + var valOrig = val; + currentProgress = val; + val = 100 - val; + + $(".progress").parent().removeClass(); + $(".progress .water").css("top", val + "%"); + if (valOrig < colorInc * 1) + $(".progress").parent().addClass("red"); + else if (valOrig < colorInc * 2) + $(".progress").parent().addClass("orange"); + else + $(".progress").parent().addClass("green"); + } else { + $(".progress").parent().removeClass(); + $(".progress").parent().addClass("green"); + $(".progress .water").css("top", 0 + "%"); + $(".progress .percent").text(100 + "%"); + currentProgress = 100; + } +} + +window.addEventListener('message', function(event) { + if (event.data.action === "openui") { + var type = event.data.type; + if (type === "show") { + $('.mainDiv').show(); + } else if (type === "hide") { + $('.mainDiv').hide(); + } + } else if (event.data.action === "updateTank") { + var type = event.data.type; + setProgress(type); + } +}); +$('.mainDiv').hide(); \ No newline at end of file diff --git a/resources/firehose/html/main.css b/resources/firehose/html/main.css new file mode 100644 index 000000000..9ee16c93b --- /dev/null +++ b/resources/firehose/html/main.css @@ -0,0 +1,236 @@ +* { + box-sizing: border-box; +} + +.mainDiv { + margin-top: 50%; + margin-left: 18%; +} + +.green .progress, +.red .progress, +.orange .progress { + position: relative; + border-radius: 50%; +} + +.green .progress, +.red .progress, +.orange .progress { + width: 70px; + height: 70px; +} + +.green .progress { + border: 5px solid #3ab93a; +} + +.green .progress { + box-shadow: 0 0 20px #029502; +} + +.green .progress, +.red .progress, +.orange .progress { + transition: all 1s ease; +} + +.green .progress .inner, +.red .progress .inner, +.orange .progress .inner { + position: absolute; + overflow: hidden; + z-index: 2; + border-radius: 50%; +} + +.green .progress .inner, +.red .progress .inner, +.orange .progress .inner { + width: 60px; + height: 60px; +} + +.green .progress .inner, +.red .progress .inner, +.orange .progress .inner { + border: 1px solid #1a1a1a; +} + +.green .progress .inner, +.red .progress .inner, +.orange .progress .inner { + transition: all 1s ease; +} + +.green .progress .inner .water, +.red .progress .inner .water, +.orange .progress .inner .water { + position: absolute; + z-index: 1; + width: 200%; + height: 200%; + left: -50%; + border-radius: 40%; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + -webkit-animation-name: spin; + animation-name: spin; +} + +.green .progress .inner .water { + top: 25%; +} + +.green .progress .inner .water { + background: rgba(83, 252, 83, 0.5); +} + +.green .progress .inner .water, +.red .progress .inner .water, +.orange .progress .inner .water { + transition: all 1s ease; +} + +.green .progress .inner .water, +.red .progress .inner .water, +.orange .progress .inner .water { + -webkit-animation-duration: 10s; + animation-duration: 10s; +} + +.green .progress .inner .water { + box-shadow: 0 0 20px #63a063; +} + +.green .progress .inner .glare, +.red .progress .inner .glare, +.orange .progress .inner .glare { + position: absolute; + top: -120%; + left: -120%; + z-index: 5; + width: 200%; + height: 200%; + transform: rotate(45deg); + border-radius: 50%; +} + +.green .progress .inner .glare, +.red .progress .inner .glare, +.orange .progress .inner .glare { + background-color: rgba(255, 255, 255, 0.15); +} + +.green .progress .inner .glare, +.red .progress .inner .glare, +.orange .progress .inner .glare { + transition: all 1s ease; +} + +.green .progress .inner .percent, +.red .progress .inner .percent, +.orange .progress .inner .percent { + position: absolute; + width: 100%; + height: 100%; + font-weight: bold; + text-align: center; +} + +.green .progress .inner .percent, +.red .progress .inner .percent, +.orange .progress .inner .percent { + line-height: 60px; + font-size: 20px; +} + +.green .progress .inner .percent { + color: #03c603; +} + +.green .progress .inner .percent { + text-shadow: 0 0 10px #029502; +} + +.green .progress .inner .percent, +.red .progress .inner .percent, +.orange .progress .inner .percent { + transition: all 1s ease; +} + +.red .progress { + border: 5px solid #ed3b3b; +} + +.red .progress { + box-shadow: 0 0 20px #7a0b0b; +} + +.red .progress .inner .water { + top: 75%; +} + +.red .progress .inner .water { + background: rgba(237, 59, 59, 0.5); +} + +.red .progress .inner .water { + box-shadow: 0 0 20px #9b0e0e; +} + +.red .progress .inner .percent { + color: #a30f0f; +} + +.red .progress .inner .percent { + text-shadow: 0 0 10px #7a0b0b; +} + +.orange .progress { + border: 5px solid #f07c3e; +} + +.orange .progress { + box-shadow: 0 0 20px #7e320a; +} + +.orange .progress .inner .water { + top: 50%; +} + +.orange .progress .inner .water { + background: rgba(240, 124, 62, 0.5); +} + +.orange .progress .inner .water { + box-shadow: 0 0 20px #a0400c; +} + +.orange .progress .inner .percent { + color: #a8430d; +} + +.orange .progress .inner .percent { + text-shadow: 0 0 10px #7e320a; +} + +@-webkit-keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} \ No newline at end of file diff --git a/resources/firehose/html/reset.css b/resources/firehose/html/reset.css new file mode 100644 index 000000000..40a400b4c --- /dev/null +++ b/resources/firehose/html/reset.css @@ -0,0 +1,132 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + + +/* HTML5 display-role reset for older browsers */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/resources/firehose/html/sounds/detach.ogg b/resources/firehose/html/sounds/detach.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fd347109c8c2585d0bafe1ebd22e5f1f84336f28 GIT binary patch literal 17050 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 K${_w9^M3(II0<0@ literal 0 HcmV?d00001 diff --git a/resources/firehose/html/sounds/place.ogg b/resources/firehose/html/sounds/place.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fd347109c8c2585d0bafe1ebd22e5f1f84336f28 GIT binary patch literal 17050 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 + + + + + + + + + + +

+
+
+
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/resources/firehose/server.lua b/resources/firehose/server.lua new file mode 100644 index 000000000..1dba95a9e --- /dev/null +++ b/resources/firehose/server.lua @@ -0,0 +1,23 @@ +RegisterServerEvent('fhose:requestPermissions') +AddEventHandler('fhose:requestPermissions', function() + local idFound = false + for _, id in ipairs(GetPlayerIdentifiers(source)) do + if listcontains(Config.Identifiers, id) then + idFound = true + TriggerClientEvent('fhose:canUseNozzles', source, true) + break + end + end + if not idFound then + TriggerClientEvent('fhose:canUseNozzles', source, false) + end +end) + +function listcontains(list, var) + for i = 1, #list do + if list[i] == var then + return true + end + end + return false +end \ No newline at end of file diff --git a/resources/firehose/settings/hud.ini b/resources/firehose/settings/hud.ini new file mode 100644 index 000000000..59597040e --- /dev/null +++ b/resources/firehose/settings/hud.ini @@ -0,0 +1,17 @@ +//This Is The Vanilla Blue Bar +{[Vanilla] +Enabled false +//Position In X,Y +Position 0,584 +//The Bar Height +Height 6 +//Normal Color In ARGB Format +ColorNormal 150,0,119,255 +//Warning Color In ARGB Format +ColorWarning 150,0,188,255 +} + +//This is the native bar using html,css,js +{[Native] +Enabled true +} \ No newline at end of file diff --git a/resources/firehose/settings/settings.ini b/resources/firehose/settings/settings.ini new file mode 100644 index 000000000..c8a46ac0d --- /dev/null +++ b/resources/firehose/settings/settings.ini @@ -0,0 +1,73 @@ +{[Info] +//Interaction Key Use For Handling Actions (E) +InteractionKey 38 +//Interaction Key Use For Handling Secondary Actions (G) +InteractionKey2 47 +//Gun Type Switch Key (Middle Mouse Button) +GunTypeSwitchKey 27 +//The Water Supply Decrease Rate, Decrease the value for slower water consumption +WaterSupplyRate 0.5 +//FireTruck And Fire Hydrants Detection Range, If you have issues such as not seeing the pickup message +//On some trucks while they are added in the trucks.ini they might be chunky and you might need to increase this +DetectionRange 2 +//Debug And See Data On Screen +EnableDebug false +//Debug And See Capacity Data On Screen +EnableCapacityDebug false +} + +{[Locales] +HoverTextFont 4 +//The Text Display Style, 3D for 3D text, NOTIFI for notifications, NOTIFI2 for upper left corner, SUBTITLE for screen subtitle +DisplayStyle 3D +PlaceHose [~r~E~w~] Place Fire Hose +PickupHose [~g~E~w~] Pickup Fire Hose +DropHose Press ~r~E~w~ To Drop Fire Hose +AttachHose [~g~G~w~] Attach Hydrant Hose +DettachHose [~r~G~w~] Dettach Hydrant Hose +VehiclesConnected Vehicles Already Connected +GunSwitch Switched To ~GUN_NAME~ +GUN_NAME_WATER ~g~Water Gun +GUN_NAME_PRESSURE ~b~Pressurized Water Gun +GUN_NAME_FOAM ~y~Foam Gun +} + +{[HoseInfo] +RopeLength 3 +//Fire Truck Hose Cable Max Length +RopeMaxLength 17.0 +//Hydrant Hose Cable Max Length +HydrantHoseMaxLength 17.0 +RopeBendFactor 100.0 +ExplodeAfterRopeBreak true +} + +{[GunInfo] +//Pressure Increase Key, Arrow Right +PressureIncreaseKey 175 +//Presure Decrease Key, Arrow Left +PressureDecreaseKey 174 +//Pressure Increase and Decrease Rate +PressureChangeRate 0.1 +//Water Gun Pressure Info, Format: Minimum,Current,Maximum +WaterGunPressure 0.4,1,2 +//Foam Gun Pressure Info, Format: Minimum,Current,Maximum +FoamGunPressure 0.4,1,2 +//Other Data +//The Foam And The Pressurized Water Fire Take Out Radius +FoamFireTakeOutRadius 1 +WaterFireTakeOutRadius 1 +//Hydrant Default Weapons +//The Truck Weapons, WATER for Vanilla Water, FOAM for Foam, PRESSURE for Pressurized Water Cannon +//If this is commented like this then the spray wouldnt be useable +//HydrantWeapons WATER +HydrantWeapons WATER +} + +//Hydrant Hose Connection, You Can Edit This To Edit The Connection Location On The Hydrants +{[HydrantInfo] +//Model, Offsets(X,Y,Z) +prop_fire_hydrant_1,0.0,0.0,0.5 +prop_fire_hydrant_2,0.0,0.0,0.5 +prop_fire_hydrant_4,0.0,0.0,0.5 +} \ No newline at end of file diff --git a/resources/firehose/settings/trucks.ini b/resources/firehose/settings/trucks.ini new file mode 100644 index 000000000..14bd5ff29 --- /dev/null +++ b/resources/firehose/settings/trucks.ini @@ -0,0 +1,146 @@ +//Fire Truck Hose Connection, You Must Add Your FireTrucks Model Names Here +{[TruckInfo] +Model firetruk +//Fire Hose Attach Offset +AttachOffset 0,-3.5,0 +//Other Vehicles/Hydrant Attach Offset +OtherAttachOffset 0,-3.5,0 +//This The Detection Location And 3d Text location +HelpTextOffset 0,-3.5,0 +Capacity 100 +//Can Merge Supplies And Connect With Other Trucks +CanAttachToOthers false +//The Truck Weapons, WATER for Vanilla Water, FOAM for Foam, PRESSURE for Pressurized Water Cannon +//If this is not set then the spray wouldnt be useable +//The Truck Weapons Will Come In The Same Sequence While Switching, WATER -> FOAM -> PRESSURE +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model fdtanker +AttachOffset 0.45,-4.7,0.4 +OtherAttachOffset 0.45,-4.7,0.4 +HelpTextOffset 0.4,-4.7,0.4 +Capacity 200 +CanAttachToOthers true +//This Truck Supports No Weapon So You Cant Shoot From The Hose +} + +{[TruckInfo] +Model bf350 +AttachOffset -0.3,-4.0,1.3 +OtherAttachOffset -0.47,-4.30,0.62 +HelpTextOffset 0,-4.34,1 +Capacity 150 +CanAttachToOthers true +} + +{[TruckInfo] +Model brush +AttachOffset -0.225,-4.04,0.9 +OtherAttachOffset -0.01,-4.0,1.075 +HelpTextOffset 0,-4.34,1 +Capacity 150 +CanAttachToOthers true +} + +{[TruckInfo] +Model ENFORCER +AttachOffset -0.97,0.45,-0.45 +OtherAttachOffset -0.97,-0.15,-0.4 +HelpTextOffset -1.205,0.5,0.4 +Capacity 120 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model ftank +AttachOffset -0.9,0.6,0.2 +OtherAttachOffset -0.82,0.425,0 +HelpTextOffset -1.205,0.5,0.4 +Capacity 80 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model fwild +AttachOffset -1,-0.525,0.1 +OtherAttachOffset -0.87,-0.75,0 +HelpTextOffset -1.205,-0.7,0.4 +Capacity 80 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model mctanker +AttachOffset -0.87,0.325,0.05 +OtherAttachOffset 0.475,-5.7,0.5 +HelpTextOffset -1.205,0.5,0.4 +Capacity 200 +CanAttachToOthers true +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model pladder +AttachOffset -1,0.43,0.27 +OtherAttachOffset -1,0.275,0 +HelpTextOffset -1.205,0.5,0.4 +Capacity 120 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model fcpierceenforcer +AttachOffset -1,0.65,0.2 +OtherAttachOffset -1,0.8,-0.2 +HelpTextOffset -1.205,0.7,0.4 +Capacity 120 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model enforcerta +AttachOffset -0.97,0.45,-0.3 +OtherAttachOffset -0.97,-0.15,-0.3 +HelpTextOffset -1.205,0.5,0.4 +Capacity 120 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model enladder +AttachOffset -1,0.65,0.2 +OtherAttachOffset -1,0.8,-0.2 +HelpTextOffset -1.205,0.7,0.4 +Capacity 120 +CanAttachToOthers false +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model bulldog +AttachOffset -0.225,-4.04,0.9 +OtherAttachOffset -1,-3.6,-0.1 +HelpTextOffset 0,-4.34,0 +Capacity 100 +CanAttachToOthers true +Weapons WATER,FOAM,PRESSURE +} + +{[TruckInfo] +Model enforcerf +AttachOffset -0.225,-4.04,0.9 +OtherAttachOffset -1,-3.6,-0.1 +HelpTextOffset 0,-4.34,0 +Capacity 100 +CanAttachToOthers true +Weapons WATER,FOAM,PRESSURE +} + diff --git a/server.cfg b/server.cfg index 66610ae75..c1909e04d 100644 --- a/server.cfg +++ b/server.cfg @@ -171,6 +171,8 @@ start Join-Transition start CarWipe start EGRP-Notifications start AI-Vehiclelock +start firehoses +start firehook #[-----Discord Perms-----] start discord_perms