adding new script vehicls

This commit is contained in:
KingMcDonalds
2025-06-04 19:16:07 -07:00
parent 8299331b58
commit 1dc75c669f
120 changed files with 18887 additions and 929 deletions
Binary file not shown.
+5
View File
@@ -0,0 +1,5 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://docs.londonstudios.net/
Binary file not shown.
+398
View File
@@ -0,0 +1,398 @@
vRP = nil
ESX = nil
if ConfigHose.Notifications.Enabled and ConfigHose.Notifications.Framework.vRP then
local Tunnel = module("vrp", "lib/Tunnel")
local Proxy = module("vrp", "lib/Proxy")
vRP = Proxy.getInterface("vRP")
end
if ConfigHose.Notifications.Enabled and ConfigHose.Notifications.Framework.ESX then
ESX = exports["es_extended"]:getSharedObject()
end
if ConfigHose.EnablePositioningCommand then
TriggerEvent('chat:addSuggestion', '/'.."findhosepositioning", "Find positioning of the hose/supply line on your fire truck")
RegisterCommand("findhosepositioning", function(source, args)
local ped = PlayerPedId()
local targetVehicle = GetVehiclePedIsIn(ped, false)
if targetVehicle == nil or targetVehicle == 0 then
Notify("No vehicle found!")
else
local model = `p_ld_soc_ball_01`
SetEntityAlpha(targetVehicle, 150, false)
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local ballProp = CreateObject(model, coords, false, false, false)
while not DoesEntityExist(ballProp) do Wait(0) end
SetModelAsNoLongerNeeded(model)
local offSet = {0.0, 0.0, 0.0}
local rotation = {0.0, 0.0, 0.0}
local offSetComplete = false
while not offSetComplete do
if targetVehicle ~= nil and targetVehicle ~= 0 then
DetachEntity(ballProp, true, false)
AttachEntityToEntity(ballProp, targetVehicle, -1, offSet[1], offSet[2], offSet[3], rotation[1], rotation[2], rotation[3], true, false, true, false, 1, true)
if not IsControlReleased(0, 207) then --page down
offSet = {offSet[1], offSet[2], offSet[3] - 0.01}
end
if not IsControlReleased(0, 208) then --page up
offSet = {offSet[1], offSet[2], offSet[3] + 0.01}
end
if not IsControlReleased(0, 173) then --arrow down
offSet = {offSet[1], offSet[2] - 0.01, offSet[3]}
end
if not IsControlReleased(0, 172) then --arrow up
offSet = {offSet[1], offSet[2] + 0.01, offSet[3]}
end
if not IsControlReleased(0, 174) then --arrow left
offSet = {offSet[1] - 0.01, offSet[2], offSet[3]}
end
if not IsControlReleased(0, 175) then --arrow right
offSet = {offSet[1] + 0.01, offSet[2], offSet[3]}
end
if IsControlJustPressed(0, 191) then -- enter - finish
offSetComplete = true
end
end
Wait(0)
end
Notify("OffSet Values are now printed in your console")
print("OffSet: {"..offSet[1]..", "..offSet[2]..", "..offSet[3].."}")
DeleteEntity(ballProp)
ResetEntityAlpha(targetVehicle)
end
end, false)
end
function Notify(text)
if not ConfigHose.Notifications.Enabled then
return
end
if ConfigHose.Notifications.Framework.ESX then
if ESX ~= nil then
ESX.ShowNotification(text)
end
elseif ConfigHose.Notifications.Framework.QBCore then
TriggerEvent('QBCore:Notify', text, 'primary')
elseif ConfigHose.Notifications.Framework.QBX then
exports.qbx_core:Notify(text, 'primary')
elseif ConfigHose.Notifications.Framework.vRP then
vRP.notify(source, {text})
elseif ConfigHose.Notifications.Framework.okok then
exports['okokNotify']:Alert("Smart Hose", text, 2000, 'info', true)
else
showBaseNotification(text)
end
end
function showBaseNotification(message)
-- Base game notifications
SetNotificationTextEntry("STRING")
AddTextComponentString(message)
DrawNotification(0,1)
end
-- General Functions @GeneralFunctions
function DisplayHelpText(text)
SetTextComponentFormat("STRING")
AddTextComponentString(text)
DisplayHelpTextFromStringLabel(0, 0, ConfigHose.Notifications.HelpTextSound, -1)
end
function drawInstructionalText(msg, coords)
AddTextEntry('instructionalText', msg)
SetFloatingHelpTextWorldPosition(1, coords)
SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0)
BeginTextCommandDisplayHelp('instructionalText')
AddTextComponentSubstringPlayerName(msg)
EndTextCommandDisplayHelp(2, false, false, -1)
end
function IsFireHoseEnabled()
return (HoseManager.nozzle and not HoseManager.nozzleDropped)
end
exports("IsFireHoseEnabled", IsFireHoseEnabled)
function IsFireHoseShooting()
return HoseManager.pressed
end
exports("IsFireHoseShooting", IsFireHoseShooting)
function IsFireHoseShootingWater()
return ParticleManager.isWaterDecal
end
exports("IsFireHoseShootingWater", IsFireHoseShootingWater)
function GetCurrentDecalCoords()
return ParticleManager.CurrentDecalCoords
end
exports("GetCurrentDecalCoords", GetCurrentDecalCoords)
function GetCurrentHosePressure()
return ParticleManager.particleScale
end
exports("GetCurrentHosePressure", GetCurrentHosePressure)
local vehicleModels = getVehicleModelsFromCapacities()
local interactionId = "menuId"
if ConfigHose.InteractType.TruckInteraction.Drawtext or ConfigHose.InteractType.TruckInteraction.ScreenPrompt then
CreateThread(function()
while true do
Wait(1)
local pos = GetEntityCoords(PlayerPedId())
local vehicle = GetClosestVehicle(pos)
local inRange = false
if vehicle and DoesEntityExist(vehicle) and IsVehicleDriveable(vehicle, false) then
local vehicleModel = GetEntityModel(vehicle)
local vehicleSettings = ConfigHose.Rope.VehicleSettings[vehicleModel] or {}
local useBone = vehicleSettings.useBone or false
local bones = vehicleSettings.bones or {}
local offsets = vehicleSettings.offsets or {{x = 0.0, y = 0.0, z = 0.0}}
local attachmentPoints = {}
if useBone then
for _, boneName in ipairs(bones) do
local boneIndex = GetEntityBoneIndexByName(vehicle, boneName)
if boneIndex ~= -1 then
local bonePos = GetWorldPositionOfEntityBone(vehicle, boneIndex)
table.insert(attachmentPoints, bonePos)
else
print("Bone " .. boneName .. " not found in vehicle model.")
end
end
else
for _, offset in ipairs(offsets) do
local offsetWorldPos = GetOffsetFromEntityInWorldCoords(vehicle, offset.x, offset.y, offset.z)
table.insert(attachmentPoints, offsetWorldPos)
end
end
local closestPoint = attachmentPoints[1]
local minDistance = #(pos - closestPoint)
for _, point in ipairs(attachmentPoints) do
local distance = #(pos - point)
if distance < minDistance then
closestPoint = point
minDistance = distance
end
end
local promptCoords = closestPoint
local vehicleDistance = #(pos - promptCoords)
if not IsPedInAnyVehicle(PlayerPedId(), false) and vehicleDistance < 3.0 then
inRange = true
local text = HoseManager.nozzle and ConfigHose.Translations.storeHoseMessage or ConfigHose.Translations.grabHoseMessage
if ConfigHose.InteractType.TruckInteraction.Drawtext then
drawInstructionalText(text, promptCoords)
elseif ConfigHose.InteractType.TruckInteraction.ScreenPrompt then
DisplayHelpText(text)
end
if IsControlJustReleased(0, ConfigHose.Keys.Interact) then
if not HoseManager.nozzle and isPermissionAllowed() then
InitializeFireHose()
AttachRopeToProp()
else
UnequipFireHose()
end
end
end
end
if not inRange then
Wait(2500)
end
end
end)
elseif ConfigHose.InteractType.TruckInteraction.ThirdEye.enabled then
if ConfigHose.InteractType.TruckInteraction.ThirdEye.oxTarget then
local VehicleOptions = {
{
label = ConfigHose.Translations.thirdEyeMessage,
icon = "fa-solid fa-water",
onSelect = function()
if not HoseManager.nozzle and isPermissionAllowed() then
InitializeFireHose()
AttachRopeToProp()
else
UnequipFireHose()
end
end,
}
}
exports.ox_target:addModel(vehicleModels, VehicleOptions)
end
if ConfigHose.InteractType.TruckInteraction.ThirdEye.qbTarget then
exports['qb-target']:AddTargetModel(vehicleModels, {
options = {
{
label = ConfigHose.Translations.thirdEyeMessage,
icon = "fa-solid fa-water",
action = function()
if not HoseManager.nozzle and isPermissionAllowed() then
InitializeFireHose()
AttachRopeToProp()
else
UnequipFireHose()
end
end,
},
},
distance = 3.0
})
end
elseif ConfigHose.InteractType.TruckInteraction.WorldInteraction then
CreateThread(function()
local interactionActive = false
local idleWait = 1000
while true do
Wait(idleWait)
if IsPedInAnyVehicle(PlayerPedId(), false) then
if interactionActive then
for _, model in ipairs(vehicleModels) do
exports.interact:RemoveModelInteraction(model, interactionId)
end
interactionActive = false
end
idleWait = 1500
else
local pos = GetEntityCoords(PlayerPedId())
local vehicle = GetClosestVehicle(pos)
if vehicle and DoesEntityExist(vehicle) then
local vehicleModel = GetEntityModel(vehicle)
local isAllowedModel = false
for _, model in ipairs(vehicleModels) do
if model == vehicleModel then
isAllowedModel = true
break
end
end
if isAllowedModel then
local vehicleSettings = ConfigHose.Rope.VehicleSettings[vehicleModel] or {}
local useBone = vehicleSettings.useBone or false
local bones = vehicleSettings.bones or {}
local offsets = vehicleSettings.offsets or {{x = 0.0, y = 0.0, z = 0.0}}
local attachmentPoints = {}
if useBone then
for _, boneName in ipairs(bones) do
local boneIndex = GetEntityBoneIndexByName(vehicle, boneName)
if boneIndex ~= -1 then
local bonePos = GetWorldPositionOfEntityBone(vehicle, boneIndex)
table.insert(attachmentPoints, bonePos)
else
print("Bone " .. boneName .. " not found in vehicle model.")
end
end
else
for _, offset in ipairs(offsets) do
local offsetWorldPos = GetOffsetFromEntityInWorldCoords(vehicle, offset.x, offset.y, offset.z)
table.insert(attachmentPoints, offsetWorldPos)
end
end
local closestPoint = attachmentPoints[1]
local minDistance = #(pos - closestPoint)
for _, point in ipairs(attachmentPoints) do
local distance = #(pos - point)
if distance < minDistance then
closestPoint = point
minDistance = distance
end
end
local promptCoords = closestPoint
local vehicleDistance = #(pos - promptCoords)
if vehicleDistance < 4.0 then
if not interactionActive then
exports.interact:AddModelInteraction({
model = vehicleModel,
offset = promptCoords - GetEntityCoords(vehicle),
name = 'Menu',
id = interactionId,
distance = 8.0,
interactDst = 2.5,
ignoreLos = true,
bone = 'bodyshell',
options = {
{
label = ConfigHose.Translations.grabHoseWorldInteraction,
action = function()
if not HoseManager.nozzle then
InitializeFireHose()
AttachRopeToProp()
else
UnequipFireHose()
end
end,
},
}
})
interactionActive = true
end
idleWait = 0
else
if interactionActive then
exports.interact:RemoveModelInteraction(vehicleModel, interactionId)
interactionActive = false
end
idleWait = 500
end
else
if interactionActive then
exports.interact:RemoveModelInteraction(vehicleModel, interactionId)
interactionActive = false
end
idleWait = 1000
end
else
if interactionActive then
for _, model in ipairs(vehicleModels) do
exports.interact:RemoveModelInteraction(model, interactionId)
end
interactionActive = false
end
idleWait = 1500
end
end
end
end)
else
warn('Invalid interaction configuration')
end
+677
View File
@@ -0,0 +1,677 @@
ConfigHose = {
-- @ https://docs.fivem.net/docs/game-references/controls/#controls
Keys = {
Interact = 38, -- E
SwitchDecalTypeKey = 47,-- G
ShootHose = 24, -- INPUT_ATTACK
DropHose = 38, -- E
PickupHose = 47, -- G
IncreasePressure = 172, -- Arrow Up
DecreasePressure = 173, -- Arrow Down
},
HoseModel = `WEAPON_HOSE`,
EnablePositioningCommand = false,
-- This enables the /findhosepositioning command to help you find the right vehicle offsets for either
-- the hose connection or the supply line connection point. See our documentation for more info.
JobCheck = {
EnablePermissions = false, -- If set to false, all below job checks will be disabled, even if they are enabled in the config.lua
AcePermissions = {
Enabled = false,
Permission = "usehose"
},
ESX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use ESX job check
Jobs = {"fireman"} -- A user can have any of the following jobs, allowing you to add multiple
}
},
-- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both
vRP = {
Enabled = false,
CheckGroup = {
Enabled = false, -- Enable this to use vRP group check
Groups = {"fireman"}, -- A user can have any of the following groups, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use vRP permission check
Permissions = {"fireman.usehose"} -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBCore = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBCore job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use QBCore permission check
Permissions = {"fireman.usehose"}, -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBX job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
}
},
},
Translations = {
storeHoseMessage = "Press E to store hose",
cannotStoreHoseMessage = "You can only store the hose in the vehicle you grabbed it from.",
vehicleUnavailableMessage = "The vehicle you grabbed the hose from is no longer available.",
grabHoseMessage = "Press E to grab hose",
thirdEyeMessage = "Grab/Store Hose",
grabHoseWorldInteraction = "Grab Hose",
tankIsEmpty = "Tank is empty! Cannot shoot water!",
maxRopes = "This vehicle has reached the maximum number of ropes.",
waterTypeDisplay = "Hose Type ~INPUT_DETONATE~ (Water)\nPressure ~INPUT_CELLPHONE_UP~ | ~INPUT_CELLPHONE_DOWN~ ",
foamTypeDisplay = "Hose Type ~INPUT_DETONATE~ (Foam)\nPressure ~INPUT_CELLPHONE_UP~ | ~INPUT_CELLPHONE_DOWN~ ",
cantCarryFoam = "This vehicle cannot carry foam!",
maximumPressure = "Maximum pressure reached!",
minimumPressure = "Minimum pressure reached!",
noPermission = "You do not have access to use the hose.",
pickupHoseMessage = "Press G to pick up the hose"
},
Notifications = {
Enabled = true,
HelpTextSound = false,
Framework = {
QBCore = false,
QBX = false,
ESX = false,
vRP = false,
okok = false,
}
},
InteractType = {
TruckInteraction = {
Drawtext = true,
ScreenPrompt = false,
WorldInteraction = false,
ThirdEye = {
enabled = false,
qbTarget = false,
oxTarget = false,
}
},
},
Rope = {
Hose = {
HoseropeInitialLength = 32.5, -- Initial rope length (recommended)
HoseropeLength = 1000.0, -- Rope Max length (recommended)
DrawMarker = true, -- Draw marker on the floor when the hose is dropped.
GrabAnimationDict = 'anim@scripted@freemode@tunprep_ig_grab_midd@male@',
GrabAnimationName = 'tunprep_ig_grab_midd',
PickupAnimationDict = 'veh@common@bicycle@ds',
PickupAnimationName = 'pickup',
},
-- if useBone = true, "offsets" field will be ignored; otherwise custom offsets are enabled.
VehicleSettings = {
[`brush`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -0.90, y = -0.02, z = -0.050 },
{ x = 0.87, y = -0.1050, z = 0.0140 },
{x = -0.57, y = -3.68, z = 0.0},
},
maxRopes = 2,
},
[`brushram`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -0.90, y = -0.02, z = -0.050 },
{ x = 0.87, y = -0.1050, z = 0.0140 },
{x = -0.57, y = -3.68, z = 0.0},
},
maxRopes = 2,
},
[`bulldog`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`enforcer`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`EnforcerEng`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`enforcerf`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`enforcerta`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`engine`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`firef350`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`firetruk13`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`hazf350tec`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`ladder6a`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`rescue6`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`rescue6a`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`rescue9e`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[` `] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`tender6`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`tender9b`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`tower6`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`mmladder`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`prescue`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`rescue1`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`walkinarrow`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`16ramcsquad`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`20Maxfdramsquad`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`20ramcsquad`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`23sierrafire`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`24rampumper`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`heavypump`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`heavyrescue`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`heavytank`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`heavywild`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`f550csquad`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`f550super6`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacod6`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdbug`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofddztrk`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdeng`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdfoam`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdpat`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdrs`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdsup`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdt3`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdtrlr`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdusartrk`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdusartrlr`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lacofdutil`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lafdcab`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`lafdtiller`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`redf350brush21`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`tanker_water`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`velocity`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`x3bearcat`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`x3bearcat2`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.14, y = 0.92, z = -0.1 },
{ x = 1.11, y = 0.93, z = -0.09 },
},
maxRopes = 1,
},
[`enladder`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -0.98, y = 2.4, z = -0.09 },
{ x = 0.98, y = 2.41, z = -0.07 },
},
maxRopes = 2,
},
[`fdgator`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -0.98, y = 2.4, z = -0.09 },
{ x = 0.98, y = 2.41, z = -0.07 },
},
maxRopes = 2,
},
},
},
Decals = {
InitialPressure = 0.5, -- Starting Pressure
MaxPressure = 1.5, -- Maximum Pressure Possible
LowestPressure = 0.3, -- Minimum Pressure Possible
PressureIncrement = 0.1, -- How much the Pressure goes up / down
DecalLife = 20.0 -- How long the decals stay on the floor.
},
WaterTank = {
minWaterLevel = 1, -- Minimum water level to shoot water
waterDepletionRate = 1, -- Water depletion rate per second when shooting
MaxwaterDepletionRate = 10, -- Maximum water depletion rate -> Highest Pressure Possible will always remove this amount of water
fillRate = 150,
-- Vehicles that you can interact with should go here along with the capacity and if they can carry foam.
-- Example: [`firetruk`] = { capacity = 7000, carryFoam = true|false, fullTank = true|false },
VehicleWaterCapacities = {
[`britishladder`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`britishladderels`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`rearmount`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`rearmountels`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`lacofdrs`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`lacofdsup`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`x3bearcat`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`hazf350tec`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`enforcerf`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`enladder`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`ldfoam`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`tower6`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`tender9b`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`mmladder`] = { capacity = 7000, carryFoam = true, fullTank = false },
[`24rampumper`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`f550super6`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`heavyrescue`] = { capacity = 5000, carryFoam = false, fullTank = false },
[`velocity`] = { capacity = 5000, carryFoam = false, fullTank = false },
}
},
experimentalFeature = {
waterPhysics = false,
}
}
@@ -0,0 +1,372 @@
<?xml version="1.0" encoding="UTF-8"?>
<CPedModelInfo__PersonalityDataList>
<MovementModeUnholsterData>
<Item>
<Name>UNHOLSTER_UNARMED</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>unarmed_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_2H_MELEE</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>2h_melee_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_1H</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>1h_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_2H</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>2h_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_MINIGUN</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>mini_holster_2h_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_UNARMED_STEALTH</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>unarmed_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_2H_MELEE_STEALTH</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>unarmed_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_1H_STEALTH</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>1h_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
<Item>
<Name>UNHOLSTER_2H_STEALTH</Name>
<UnholsterClips>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<Clip>2h_holster_unarmed</Clip>
</Item>
</UnholsterClips>
</Item>
</MovementModeUnholsterData>
<MovementModes>
<Item>
<Name>DEFAULT_ACTION</Name>
<MovementModes>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_action@p_m_zero@unarmed@core</MovementClipSetId>
<WeaponClipSetId />
<WeaponClipFilterId />
<UpperBodyShadowExpressionEnabled value="false" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="true" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_ACTION@GENERIC@TRANS@UNARMED</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_ACTION@P_M_ZERO@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_stealth@p_m_zero@unarmed@core</MovementClipSetId>
<WeaponClipSetId>weapons@melee_stealth_1h</WeaponClipSetId>
<WeaponClipFilterId>UpperbodyAndIk_filter</WeaponClipFilterId>
<UpperBodyShadowExpressionEnabled value="true" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="false" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>move_stealth@generic@trans@unarmed</Item>
</IdleTransitions>
<UnholsterClipSetId>move_stealth@p_m_zero@holster</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED_STEALTH</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
</MovementModes>
</Item>
<Item>
<Name>MP_FEMALE_ACTION</Name>
<MovementModes>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>MOVE_ACTION@MP_FEMALE@UNARMED@CORE</MovementClipSetId>
<WeaponClipSetId />
<WeaponClipFilterId />
<UpperBodyShadowExpressionEnabled value="false" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="true" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_ACTION@MP_FEMALE@UNARMED@TRANS@</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_ACTION@P_M_ZERO@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_stealth@p_m_zero@unarmed@core</MovementClipSetId>
<WeaponClipSetId>weapons@melee_stealth_1h</WeaponClipSetId>
<WeaponClipFilterId>UpperbodyAndIk_filter</WeaponClipFilterId>
<UpperBodyShadowExpressionEnabled value="true" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="false" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_STEALTH@MP_FEMALE@UNARMED@TRANS</Item>
</IdleTransitions>
<UnholsterClipSetId>move_stealth@p_m_zero@holster</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED_STEALTH</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
</MovementModes>
</Item>
<Item>
<Name>MICHAEL_ACTION</Name>
<MovementModes>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_action@p_m_zero@unarmed@core</MovementClipSetId>
<WeaponClipSetId />
<WeaponClipFilterId />
<UpperBodyShadowExpressionEnabled value="false" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="true" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_ACTION@P_M_ZERO@UNARMED@TRANS@A</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_ACTION@P_M_ZERO@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_stealth@p_m_zero@unarmed@core</MovementClipSetId>
<WeaponClipSetId>weapons@melee_stealth_1h</WeaponClipSetId>
<WeaponClipFilterId>UpperbodyAndIk_filter</WeaponClipFilterId>
<UpperBodyShadowExpressionEnabled value="true" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="false" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>move_stealth@p_m_zero@unarmed@trans@a</Item>
</IdleTransitions>
<UnholsterClipSetId>move_stealth@p_m_zero@holster</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED_STEALTH</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
</MovementModes>
</Item>
<Item>
<Name>FRANKLIN_ACTION</Name>
<MovementModes>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_action@p_m_one@unarmed@core</MovementClipSetId>
<WeaponClipSetId />
<WeaponClipFilterId />
<UpperBodyShadowExpressionEnabled value="false" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="true" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_ACTION@P_M_ONE@UNARMED@TRANS@A</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_ACTION@P_M_ONE@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_stealth@p_m_one@unarmed@core</MovementClipSetId>
<WeaponClipSetId>weapons@melee_stealth_1h@p_m_one</WeaponClipSetId>
<WeaponClipFilterId>UpperbodyAndIk_filter</WeaponClipFilterId>
<UpperBodyShadowExpressionEnabled value="true" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="false" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>move_stealth@p_m_one@unarmed@trans@a</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_STEALTH@P_M_ONE@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED_STEALTH</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
</MovementModes>
</Item>
<Item>
<Name>TREVOR_ACTION</Name>
<MovementModes>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_action@p_m_two@unarmed@core</MovementClipSetId>
<WeaponClipSetId />
<WeaponClipFilterId />
<UpperBodyShadowExpressionEnabled value="false" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="true" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>MOVE_ACTION@P_M_TWO@UNARMED@TRANS@A</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_ACTION@P_M_TWO@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
<Item>
<Item>
<Weapons>
<Item>WEAPON_HOSE</Item>
</Weapons>
<ClipSets>
<Item>
<MovementClipSetId>move_stealth@p_m_two@unarmed@core</MovementClipSetId>
<WeaponClipSetId>weapons@melee_stealth_1h@p_m_two</WeaponClipSetId>
<WeaponClipFilterId>UpperbodyAndIk_filter</WeaponClipFilterId>
<UpperBodyShadowExpressionEnabled value="true" />
<UpperBodyFeatheredLeanEnabled value="false" />
<UseWeaponAnimsForGrip value="false" />
<UseLeftHandIk value="false" />
<IdleTransitionBlendOutTime value="0.500000" />
<IdleTransitions>
<Item>move_stealth@p_m_two@unarmed@trans@a</Item>
</IdleTransitions>
<UnholsterClipSetId>MOVE_STEALTH@P_M_TWO@HOLSTER</UnholsterClipSetId>
<UnholsterClipData>UNHOLSTER_UNARMED_STEALTH</UnholsterClipData>
</Item>
</ClipSets>
</Item>
</Item>
</MovementModes>
</Item>
</MovementModes>
</CPedModelInfo__PersonalityDataList>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<CWeaponModelInfo__InitDataList>
<InitDatas>
<!-- Battle Axe -->
<Item>
<modelName>w_am_hose</modelName>
<txdName>w_am_hose</txdName>
<ptfxAssetName>NULL</ptfxAssetName>
<lodDist value="500"/>
</Item>
</InitDatas>
</CWeaponModelInfo__InitDataList>
+236
View File
@@ -0,0 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?>
<CWeaponInfoBlob>
<SlotNavigateOrder>
<Item>
<WeaponSlots>
<Item>
<OrderNumber value="104" />
<Entry>SLOT_HOSE</Entry>
</Item>
</WeaponSlots>
</Item>
<Item>
<WeaponSlots>
<Item>
<OrderNumber value="125" />
<Entry>SLOT_HOSE</Entry>
</Item>
</WeaponSlots>
</Item>
</SlotNavigateOrder>
<SlotBestOrder>
<WeaponSlots>
<Item>
<OrderNumber value="172" />
<Entry>SLOT_HOSE</Entry>
</Item>
</WeaponSlots>
</SlotBestOrder>
<Infos>
<Item>
<Infos />
</Item>
<Item>
<Infos>
<Item type="CWeaponInfo">
<Name>WEAPON_HOSE</Name>
<Model>w_am_hose</Model>
<Audio />
<Slot>SLOT_HOSE</Slot>
<DamageType>FIRE_EXTINGUISHER</DamageType>
<Explosion>
<Default>DONTCARE</Default>
<HitCar>DONTCARE</HitCar>
<HitTruck>DONTCARE</HitTruck>
<HitBike>DONTCARE</HitBike>
<HitBoat>DONTCARE</HitBoat>
<HitPlane>DONTCARE</HitPlane>
</Explosion>
<FireType>VOLUMETRIC_PARTICLE</FireType>
<WheelSlot>WHEEL_THROWABLE_SPECIAL</WheelSlot>
<Group>GROUP_FIREEXTINGUISHER</Group>
<AmmoInfo ref="AMMO_FIREEXTINGUISHER" />
<AimingInfo ref="FIRE_EXT_STRAFE" />
<ClipSize value="2000" />
<AccuracySpread value="1.000000" />
<AccurateModeAccuracyModifier value="0.500000" />
<RunAndGunAccuracyModifier value="2.000000" />
<RunAndGunAccuracyMaxModifier value="1.000000" />
<RecoilAccuracyMax value="1.000000" />
<RecoilErrorTime value="0.000000" />
<RecoilRecoveryRate value="1.000000" />
<RecoilAccuracyToAllowHeadShotAI value="1000.000000" />
<MinHeadShotDistanceAI value="1000.000000" />
<MaxHeadShotDistanceAI value="1000.000000" />
<HeadShotDamageModifierAI value="1000.000000" />
<RecoilAccuracyToAllowHeadShotPlayer value="0.175000" />
<MinHeadShotDistancePlayer value="5.000000" />
<MaxHeadShotDistancePlayer value="40.000000" />
<HeadShotDamageModifierPlayer value="18.000000" />
<Damage value="0.000000" />
<DamageTime value="0.000000" />
<DamageTimeInVehicle value="0.000000" />
<DamageTimeInVehicleHeadShot value="0.000000" />
<HitLimbsDamageModifier value="0.500000" />
<NetworkHitLimbsDamageModifier value="0.800000" />
<LightlyArmouredDamageModifier value="0.750000" />
<Force value="0.000000" />
<ForceHitPed value="0.000000" />
<ForceHitVehicle value="0.000000" />
<ForceHitFlyingHeli value="0.000000" />
<OverrideForces />
<ForceMaxStrengthMult value="1.000000" />
<ForceFalloffRangeStart value="0.000000" />
<ForceFalloffRangeEnd value="50.000000" />
<ForceFalloffMin value="1.000000" />
<ProjectileForce value="0.000000" />
<FragImpulse value="250.000000" />
<Penetration value="0.010000" />
<VerticalLaunchAdjustment value="0.000000" />
<DropForwardVelocity value="0.000000" />
<Speed value="2000.000000" />
<BulletsInBatch value="1" />
<BatchSpread value="0.000000" />
<ReloadTimeMP value="-1.000000" />
<ReloadTimeSP value="-1.000000" />
<VehicleReloadTime value="-1.000000" />
<AnimReloadRate value="1.000000" />
<BulletsPerAnimLoop value="1" />
<TimeBetweenShots value="0.000000" />
<TimeLeftBetweenShotsWhereShouldFireIsCached value="-1.000000" />
<SpinUpTime value="0.000000" />
<SpinTime value="0.000000" />
<SpinDownTime value="0.000000" />
<AlternateWaitTime value="-1.000000" />
<BulletBendingNearRadius value="0.000000" />
<BulletBendingFarRadius value="0.750000" />
<BulletBendingZoomedRadius value="0.375000" />
<FirstPersonBulletBendingNearRadius value="0.000000" />
<FirstPersonBulletBendingFarRadius value="0.750000" />
<FirstPersonBulletBendingZoomedRadius value="0.375000" />
<Fx>
<EffectGroup>WEAPON_EFFECT_GROUP_PISTOL_SMALL</EffectGroup>
<FlashFx>weap_extinguisher</FlashFx>
<FlashFxAlt />
<MuzzleSmokeFx />
<MuzzleSmokeFxMinLevel value="0.000000" />
<MuzzleSmokeFxIncPerShot value="0.000000" />
<MuzzleSmokeFxDecPerSec value="0.000000" />
<ShellFx />
<TracerFx />
<PedDamageHash>BulletSmall</PedDamageHash>
<TracerFxChanceSP value="0.000000" />
<TracerFxChanceMP value="0.000000" />
<FlashFxChanceSP value="0.000000" />
<FlashFxChanceMP value="0.000000" />
<FlashFxAltChance value="0.000000" />
<FlashFxScale value="1.000000" />
<FlashFxLightEnabled value="false" />
<FlashFxLightCastsShadows value="true" />
<FlashFxLightOffsetDist value="0.000000" />
<FlashFxLightRGBAMin x="0.000000" y="0.000000" z="0.000000" />
<FlashFxLightRGBAMax x="0.000000" y="0.000000" z="0.000000" />
<FlashFxLightIntensityMinMax x="0.000000" y="0.000000" />
<FlashFxLightRangeMinMax x="0.000000" y="0.000000" />
<FlashFxLightFalloffMinMax x="0.000000" y="0.000000" />
<GroundDisturbFxEnabled value="false" />
<GroundDisturbFxDist value="5.000000" />
<GroundDisturbFxNameDefault />
<GroundDisturbFxNameSand />
<GroundDisturbFxNameDirt />
<GroundDisturbFxNameWater />
<GroundDisturbFxNameFoliage />
</Fx>
<InitialRumbleDuration value="0" />
<InitialRumbleIntensity value="0.000000" />
<InitialRumbleIntensityTrigger value="0.300000" />
<RumbleDuration value="110" />
<RumbleIntensity value="0.020000" />
<RumbleIntensityTrigger value="0.100000" />
<RumbleDamageIntensity value="1.000000" />
<NetworkPlayerDamageModifier value="1.000000" />
<NetworkPedDamageModifier value="1.000000" />
<NetworkHeadShotPlayerDamageModifier value="1.000000" />
<LockOnRange value="45.000000" />
<WeaponRange value="50.000000" />
<BulletDirectionOffsetInDegrees value="0.000000" />
<AiSoundRange value="-1.000000" />
<AiPotentialBlastEventRange value="-1.000000" />
<DamageFallOffRangeMin value="50.000000" />
<DamageFallOffRangeMax value="50.000000" />
<DamageFallOffModifier value="0.300000" />
<VehicleWeaponHash />
<DefaultCameraHash>HIP_AIM_CAMERA</DefaultCameraHash>
<CoverCameraHash>HIP_AIM_IN_COVER_CAMERA</CoverCameraHash>
<CoverReadyToFireCameraHash />
<RunAndGunCameraHash>HIP_RUN_AND_GUN_CAMERA</RunAndGunCameraHash>
<CinematicShootingCameraHash />
<AlternativeOrScopedCameraHash />
<RunAndGunAlternativeOrScopedCameraHash />
<CinematicShootingAlternativeOrScopedCameraHash />
<CameraFov value="45.000000" />
<ZoomFactorForAccurateMode value="1.000000" />
<RecoilShakeHash />
<RecoilShakeHashFirstPerson />
<AccuracyOffsetShakeHash />
<MinTimeBetweenRecoilShakes value="150" />
<RecoilShakeAmplitude value="1.000000" />
<ExplosionShakeAmplitude value="-1.000000" />
<ReticuleHudPosition x="0.000000" y="0.000000" />
<AimOffsetMin x="0.000000" y="0.000000" z="0.000000" />
<AimProbeLengthMin value="0.000000" />
<AimOffsetMax x="0.000000" y="0.000000" z="0.000000" />
<AimProbeLengthMax value="0.000000" />
<TorsoAimOffset x="0.150000" y="0.550000" />
<TorsoCrouchedAimOffset x="0.200000" y="0.050000" />
<LeftHandIkOffset x="0.025000" y="0.110000" z="0.075000" />
<ReticuleMinSizeStanding value="0.650000" />
<ReticuleMinSizeCrouched value="0.550000" />
<ReticuleScale value="0.300000" />
<ReticuleStyleHash>WEAPON_PISTOL</ReticuleStyleHash>
<FirstPersonReticuleStyleHash />
<PickupHash />
<MPPickupHash />
<HumanNameHash>WT_HOSE</HumanNameHash>
<MovementModeConditionalIdle />
<StatName>EXTINGUISHER</StatName>
<KnockdownCount value="-1" />
<KillshotImpulseScale value="1.000000" />
<NmShotTuningSet>Normal</NmShotTuningSet>
<AttachPoints />
<GunFeedBone />
<TargetSequenceGroup />
<WeaponFlags>CarriedInHand Automatic CanFreeAim AnimCrouchFire UsableOnFoot UsableClimbing AllowEarlyExitFromFireAnimAfterBulletFired DoesRevivableDamage CanBeFiredLikeGun NonViolent SuppressGunshotEvent</WeaponFlags>
<TintSpecValues ref="TINT_DEFAULT" />
<FiringPatternAliases ref="NULL" />
<ReloadUpperBodyFixupExpressionData ref="default" />
<AmmoDiminishingRate value="0" />
<AimingBreathingAdditiveWeight value="1.000000" />
<FiringBreathingAdditiveWeight value="1.000000" />
<StealthAimingBreathingAdditiveWeight value="0.000000" />
<StealthFiringBreathingAdditiveWeight value="0.000000" />
<AimingLeanAdditiveWeight value="1.000000" />
<FiringLeanAdditiveWeight value="1.000000" />
<StealthAimingLeanAdditiveWeight value="0.000000" />
<StealthFiringLeanAdditiveWeight value="0.000000" />
<ExpandPedCapsuleRadius value="0.000000" />
<AudioCollisionHash />
<HudDamage value="0" />
<HudSpeed value="100" />
<HudCapacity value="100" />
<HudAccuracy value="10" />
<HudRange value="35" />
</Item>
</Infos>
</Item>
</Infos>
<Name>Hose</Name>
</CWeaponInfoBlob>
+43
View File
@@ -0,0 +1,43 @@
-- Please do not rename this resource folder
fx_version 'cerulean'
game 'gta5'
lua54 'yes'
author 'London Studios'
description 'Smart Hose'
version 'Alpha'
shared_script 'config.lua'
client_scripts {
'cl_smarthose.lua',
'cl_utils.lua'
}
files {
'data/pedpersonality.meta',
'data/weaponarchetypes.meta',
'data/weapons.meta',
'data/weaponanimations.meta',
}
server_scripts {
'sv_smarthose.lua',
'sv_utils.lua'
}
escrow_ignore {
'config.lua',
'data/*.meta',
'sv_utils.lua',
'stream/rope.ytd',
'cl_utils.lua',
}
data_file 'WEAPONINFO_FILE' 'data/weapons.meta'
data_file 'WEAPON_METADATA_FILE' 'data/weaponarchetypes.meta'
data_file 'WEAPON_ANIMATIONS_FILE' 'data/weaponanimations.meta'
data_file 'PED_PERSONALITY_FILE' 'data/pedpersonality.meta'
dependency '/assetpacks'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+90
View File
@@ -0,0 +1,90 @@
if ConfigHose.JobCheck.ESX.Enabled then
ESX = exports["es_extended"]:getSharedObject()
end
if ConfigHose.JobCheck.vRP.Enabled then
local Tunnel = module("vrp", "lib/Tunnel")
local Proxy = module("vrp", "lib/Proxy")
vRP = Proxy.getInterface("vRP")
vRPclient = Tunnel.getInterface("vRP","vRP")
end
if ConfigHose.JobCheck.QBCore.Enabled then
QBCore = exports['qb-core']:GetCoreObject()
end
function UserHasPermission(source, location)
if not location.EnablePermissions then
return true
end
if location.AcePermissions.Enabled then
if IsPlayerAceAllowed(source, location.AcePermissions.Permission) then
return true
end
end
-- ESX Permissions
if location.ESX.Enabled then
local xPlayer = ESX.GetPlayerFromId(source)
if location.ESX.CheckJob.Enabled then
for k, v in pairs(location.ESX.CheckJob.Jobs) do
if xPlayer.job.name == v then
return true
end
end
end
end
-- vRP Permission
if location.vRP.Enabled then
if location.vRP.CheckPermission.Enabled then
for k, v in pairs(location.vRP.CheckPermission.Permissions) do
if vRP.hasPermission({vRP.getUserId({source}),v}) then
return true
end
end
end
if location.vRP.CheckGroup.Enabled then
for k, v in pairs(location.vRP.CheckGroup.Groups) do
if vRP.hasGroup({vRP.getUserId({source}),v}) then
return true
end
end
end
end
-- QBCore Permission
if location.QBCore.Enabled then
local player = QBCore.Functions.GetPlayer(source)
if location.QBCore.CheckJob.Enabled then
for k, v in pairs(location.QBCore.CheckJob.Jobs) do
if player.PlayerData.job.name == v then
return true
end
end
end
if location.QBCore.CheckPermission.Enabled then
for k, v in pairs(location.QBCore.CheckPermission.Permissions) do
if QBCore.Functions.HasPermission(source, v) then
return true
end
end
end
end
if location.QBX.Enabled then
local player = exports.qbx_core:GetPlayer(source)
if location.QBX.CheckJob.Enabled then
for k, v in pairs(location.QBX.CheckJob.Jobs) do
if player.PlayerData.job.name == v then
return true
end
end
end
end
return false
end
Binary file not shown.
+5
View File
@@ -0,0 +1,5 @@
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
[InternetShortcut]
IDList=
URL=https://docs.londonstudios.net/
Binary file not shown.
+142
View File
@@ -0,0 +1,142 @@
vRP = nil
ESX = nil
if Config.Notifications.Enabled and Config.Notifications.Framework.vRP then
local Tunnel = module("vrp", "lib/Tunnel")
local Proxy = module("vrp", "lib/Proxy")
vRP = Proxy.getInterface("vRP")
end
if Config.Notifications.Enabled and Config.Notifications.Framework.ESX then
ESX = exports["es_extended"]:getSharedObject()
end
if Config.EnablePositioningCommand then
TriggerEvent('chat:addSuggestion', '/'.."findhosepositioning", "Find positioning of the hose/supply line on your fire truck")
RegisterCommand("findhosepositioning", function(source, args)
local ped = PlayerPedId()
local targetVehicle = GetVehiclePedIsIn(ped, false)
if targetVehicle == nil or targetVehicle == 0 then
Notify("No vehicle found!")
else
local model = `p_ld_soc_ball_01`
SetEntityAlpha(targetVehicle, 150, false)
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local ballProp = CreateObject(model, coords, false, false, false)
while not DoesEntityExist(ballProp) do Wait(0) end
SetModelAsNoLongerNeeded(model)
local offSet = {0.0, 0.0, 0.0}
local rotation = {0.0, 0.0, 0.0}
local offSetComplete = false
while not offSetComplete do
if targetVehicle ~= nil and targetVehicle ~= 0 then
DetachEntity(ballProp, true, false)
AttachEntityToEntity(ballProp, targetVehicle, -1, offSet[1], offSet[2], offSet[3], rotation[1], rotation[2], rotation[3], true, false, true, false, 1, true)
if not IsControlReleased(0, 207) then --page down
offSet = {offSet[1], offSet[2], offSet[3] - 0.01}
end
if not IsControlReleased(0, 208) then --page up
offSet = {offSet[1], offSet[2], offSet[3] + 0.01}
end
if not IsControlReleased(0, 173) then --arrow down
offSet = {offSet[1], offSet[2] - 0.01, offSet[3]}
end
if not IsControlReleased(0, 172) then --arrow up
offSet = {offSet[1], offSet[2] + 0.01, offSet[3]}
end
if not IsControlReleased(0, 174) then --arrow left
offSet = {offSet[1] - 0.01, offSet[2], offSet[3]}
end
if not IsControlReleased(0, 175) then --arrow right
offSet = {offSet[1] + 0.01, offSet[2], offSet[3]}
end
if IsControlJustPressed(0, 191) then -- enter - finish
offSetComplete = true
end
end
Wait(0)
end
Notify("OffSet Values are now printed in your console")
print("OffSet: {"..offSet[1]..", "..offSet[2]..", "..offSet[3].."}")
DeleteEntity(ballProp)
ResetEntityAlpha(targetVehicle)
end
end, false)
end
function Notify(text)
if not Config.Notifications.Enabled then
return
end
if Config.Notifications.Framework.ESX then
if ESX ~= nil then
ESX.ShowNotification(text)
end
elseif Config.Notifications.Framework.QBCore then
TriggerEvent('QBCore:Notify', text, 'info')
elseif Config.Notifications.Framework.QBX then
exports.qbx_core:Notify(text, 'primary')
elseif Config.Notifications.Framework.vRP then
vRP.notify(source, {text})
elseif Config.Notifications.Framework.okok then
exports['okokNotify']:Alert("Supply Line", text, 2000, 'info', true)
else
showBaseNotification(text)
end
end
function showBaseNotification(message)
-- Base game notifications
SetNotificationTextEntry("STRING")
AddTextComponentString(message)
DrawNotification(0,1)
end
function DisplayHelpText(text)
SetTextComponentFormat("STRING")
AddTextComponentString(text)
DisplayHelpTextFromStringLabel(0, 0, ConfigHose.Notifications.HelpTextSound, -1)
end
function drawInstructionalText(msg, coords)
AddTextEntry('instructionalText', msg)
SetFloatingHelpTextWorldPosition(1, coords.x, coords.y, coords.z)
SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0)
BeginTextCommandDisplayHelp('instructionalText')
AddTextComponentSubstringPlayerName(msg)
EndTextCommandDisplayHelp(2, false, false, -1)
end
function DrawTextOnScreen(text, x, y, scale, r, g, b, a, center)
SetTextFont(0)
SetTextProportional(1)
SetTextScale(scale, scale)
SetTextColour(r, g, b, a)
SetTextDropshadow(0, 0, 0, 0, 255)
SetTextEdge(2, 0, 0, 0, 150)
SetTextDropShadow()
SetTextOutline()
SetTextEntry("STRING")
if center then
SetTextCentre(1)
end
AddTextComponentString(text)
DrawText(x, y)
end
+210
View File
@@ -0,0 +1,210 @@
Config = {
SupplyLineKeys = {
ConnectHydrant = 20, -- Z
StartStopFilling = 74, -- H
},
-- if useBone = true, "offsets" field will be ignored; otherwise custom offsets are enabled.
VehicleSettings = {
[`britishladder`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = 0.8710, y = 0.1550, z = 0.0140 },
},
},
[`britishladderels`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = 0.8710, y = 0.1550, z = 0.0140 },
},
},
[`rearmount`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.07, y = 0.9, z = -0.1 },
},
},
[`rearmountels`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = -1.07, y = 0.9, z = -0.1 },
},
},
[`ldfoam`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = 1.03, y = 0.1, z = -0.02 },
{ x = -0.93, y = 0.1, z = -0.52 },
},
},
[`ldfoamels`] = {
useBone = false,
bones = {}, -- to add bones do "bone_name" you can have multiple by doing "bonename", "bonename_2"
offsets = {
{ x = 1.03, y = 0.1, z = -0.02 },
{ x = -0.93, y = 0.1, z = -0.52 },
},
},
},
EnablePositioningCommand = false,
-- This enables the /findhosepositioning command to help you find the right vehicle offsets for either
-- the hose connection or the supply line connection point. See our documentation for more info.
HydrantOffsets = {
{ model = `prop_fire_hydrant_4`, offsets = {x = 0.0, y = -0.27, z = 0.58} },
{ model = `prop_fire_hydrant_2`, offsets = {x = 0.1, y = 0.0, z = 0.4} },
{ model = `prop_fire_hydrant_1`, offsets = {x = 0.05, y = 0.0, z = 0.6} },
},
Translations = {
stopFilling = "Press Z to disconnect line\nPress H to stop filling",
startFilling = "Press Z to disconnect line\nPress H to fill tank with water",
thirdEyeConnect = "Connect line to vehicle",
thirdEyeDisconnect ="Disconnect line from vehicle",
thirdEyeStartFill = "Start filling up vehicle",
thirdEyeStopFill = "Stop filling up vehicle",
connectLine = "Press Z to connect line to truck",
waterLevel = "Water Level:",
noPermission = "You do not have access to use the supply line.",
placeHydrantCommandHelp = "Place or remove a fire hydrant",
placeHydrantCommandHelpArgument = "place/remove",
placeHydrantCommandSuccess = "Hydrant placed successfully!",
placeHydrantCommandCancel = "Placement cancelled!",
removeHydrantCommandSuccess = "Hydrant removed!",
noVehicleNearby = "No vehicle nearby found!",
cantHoldWater = "This vehicle cannot hold water",
},
PlaceHydrantCommand = {
Enabled = true,
CommandName = "hydrant",
PlaceArgument = "place",
RemoveArgument = "remove",
Permissions = {
EnablePermissions = false,
AcePermissions = {
Enabled = false,
-- The permission name will be command.hydrant
},
ESX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use ESX job check
Jobs = {"fireman"} -- A user can have any of the following jobs, allowing you to add multiple
}
},
-- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both
vRP = {
Enabled = false,
CheckGroup = {
Enabled = false, -- Enable this to use vRP group check
Groups = {"fireman"}, -- A user can have any of the following groups, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use vRP permission check
Permissions = {"fireman.usehose"} -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBCore = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBCore job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use QBCore permission check
permissions = {"fireman.usehose"}, -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBX job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
}
},
},
},
Notifications = {
Enabled = true,
Framework = {
QBCore = false,
QBX = false,
ESX = false,
vRP = false,
okok = false,
}
},
InteractType = {
HydrantInteraction = {
Drawtext = true,
ScreenPrompt = false,
WorldInteraction = false,
ThirdEye = {
enabled = false,
qbTarget = false,
oxTarget = false,
}
},
},
JobCheck = {
EnablePermissions = false, -- If set to false, all below job checks will be disabled, even if they are enabled in the config.lua
AcePermissions = {
Enabled = false,
Permission = "usehose"
},
ESX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use ESX job check
Jobs = {"fireman"} -- A user can have any of the following jobs, allowing you to add multiple
}
},
-- We've added vRP integration. All you need to do is enable it below. Then, configure if you wish to check for groups or permissions, or even both
vRP = {
Enabled = false,
CheckGroup = {
Enabled = false, -- Enable this to use vRP group check
Groups = {"fireman"}, -- A user can have any of the following groups, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use vRP permission check
Permissions = {"fireman.usehose"} -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBCore integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBCore = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBCore job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
},
CheckPermission = {
Enabled = false, -- Enable this to use QBCore permission check
permissions = {"fireman.usehose"}, -- A user can have any of the following permissions, allowing you to add multiple
},
},
-- We've added QBX integration. All you need to do is enable it below. Then, configure if you wish to check for jobs or permissions, or even both
QBX = {
Enabled = false,
CheckJob = {
Enabled = false, -- Enable this to use QBX job check
Jobs = {"fireman"}, -- A user can have any of the following jobs, meaning you can add different jobs
}
},
},
}
+29
View File
@@ -0,0 +1,29 @@
-- Please do not rename this resource folder
fx_version 'cerulean'
game 'gta5'
use_experimental_fxv2_oal 'yes'
lua54 'yes'
author 'London Studios'
description 'Supply-Line'
version '1.0.0'
shared_script 'config.lua'
client_scripts {
'cl_supplyline.lua',
'cl_utils.lua',
}
server_scripts {
'sv_supplyline.lua',
'sv_utils.lua'
}
escrow_ignore {
'config.lua',
'sv_utils.lua',
'cl_utils.lua',
}
dependency '/assetpacks'
Binary file not shown.
+94
View File
@@ -0,0 +1,94 @@
if Config.JobCheck.ESX.Enabled then
ESX = exports["es_extended"]:getSharedObject()
end
if Config.JobCheck.vRP.Enabled then
local Tunnel = module("vrp", "lib/Tunnel")
local Proxy = module("vrp", "lib/Proxy")
vRP = Proxy.getInterface("vRP")
vRPclient = Tunnel.getInterface("vRP","vRP")
end
if Config.JobCheck.QBCore.Enabled then
QBCore = exports['qb-core']:GetCoreObject()
end
function UserHasPermission(source, location)
if not location.EnablePermissions then
return true
end
if location.AcePermissions.Enabled then
if location.AcePermissions.Permission ~= nil then
if IsPlayerAceAllowed(source, location.AcePermissions.Permission) then
return true
end
else
return true
end
end
-- ESX Permissions
if location.ESX.Enabled then
local xPlayer = ESX.GetPlayerFromId(source)
if location.ESX.CheckJob.Enabled then
for k, v in pairs(location.ESX.CheckJob.Jobs) do
if xPlayer.job.name == v then
return true
end
end
end
end
-- vRP Permission
if location.vRP.Enabled then
if location.vRP.CheckPermission.Enabled then
for k, v in pairs(location.vRP.CheckPermission.Permissions) do
if vRP.hasPermission({vRP.getUserId({source}),v}) then
return true
end
end
end
if location.vRP.CheckGroup.Enabled then
for k, v in pairs(location.vRP.CheckGroup.Groups) do
if vRP.hasGroup({vRP.getUserId({source}),v}) then
return true
end
end
end
end
-- QBCore Permission
if location.QBCore.Enabled then
local player = QBCore.Functions.GetPlayer(source)
if location.QBCore.CheckJob.Enabled then
for k, v in pairs(location.QBCore.CheckJob.Jobs) do
if player.PlayerData.job.name == v then
return true
end
end
end
if location.QBCore.CheckPermission.Enabled then
for k, v in pairs(location.QBCore.CheckPermission.permissions) do
if QBCore.Functions.HasPermission(source, v) then
return true
end
end
end
end
if location.QBX.Enabled then
local player = exports.qbx_core:GetPlayer(source)
if location.QBX.CheckJob.Enabled then
for k, v in pairs(location.QBX.CheckJob.Jobs) do
if player.PlayerData.job.name == v then
return true
end
end
end
end
return false
end
@@ -915,24 +915,6 @@ data_file 'CARCOLS_FILE' 'data/33hellcat/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/33hellcat/carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'data/33hellcat/dlctext.meta'
-- ghoulchall24
files {
'data/ghoulchall24/vehicles.meta',
'data/ghoulchall24/carvariations.meta',
'data/ghoulchall24/carcols.meta',
'data/ghoulchall24/handling.meta',
'data/ghoulchall24/vehiclelayouts.meta',
}
data_file 'HANDLING_FILE' 'data/ghoulchall24/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/ghoulchall24/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/ghoulchall24/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/ghoulchall24/carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'data/ghoulchall24/dlctext.meta'
@@ -1,659 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVarGlobal>
<Kits>
<Item>
<kitName>905_ghoulchall24_modkit</kitName>
<id value="905" />
<kitType>MKT_SPECIAL</kitType>
<visibleMods>
<Item>
<modelName>ghoulchall24_badges</modelName>
<modShopLabel>ghoulchall24_badges</modShopLabel>
<linkedModels />
<turnOffBones>
<Item>misc_w</Item>
</turnOffBones>
<type>VMT_WING_L</type>
<bone>chassis</bone>
<collisionBone>chassis</collisionBone>
<cameraPos>VMCP_DEFAULT</cameraPos>
<audioApply value="1.000000" />
<weight value="20" />
<turnOffExtra value="false" />
<disableBonnetCamera value="false" />
<allowBonnetSlide value="true" />
</Item>
<Item>
<modelName>ghoulchall24_badgez</modelName>
<modShopLabel>ghoulchall24_badgez</modShopLabel>
<linkedModels />
<turnOffBones>
<Item>misc_w</Item>
</turnOffBones>
<type>VMT_WING_L</type>
<bone>chassis</bone>
<collisionBone>chassis</collisionBone>
<cameraPos>VMCP_DEFAULT</cameraPos>
<audioApply value="1.000000" />
<weight value="20" />
<turnOffExtra value="false" />
<disableBonnetCamera value="false" />
<allowBonnetSlide value="true" />
</Item>
</visibleMods>
<linkMods>
</linkMods>
<statMods>
<Item>
<identifier />
<modifier value="25" />
<audioApply value="1.000000" />
<weight value="20" />
<type>VMT_ENGINE</type>
</Item>
<Item>
<identifier />
<modifier value="50" />
<audioApply value="1.000000" />
<weight value="20" />
<type>VMT_ENGINE</type>
</Item>
<Item>
<identifier />
<modifier value="75" />
<audioApply value="1.000000" />
<weight value="20" />
<type>VMT_ENGINE</type>
</Item>
<Item>
<identifier />
<modifier value="100" />
<audioApply value="1.000000" />
<weight value="20" />
<type>VMT_ENGINE</type>
</Item>
<Item>
<identifier />
<modifier value="25" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_BRAKES</type>
</Item>
<Item>
<identifier />
<modifier value="50" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_BRAKES</type>
</Item>
<Item>
<identifier />
<modifier value="100" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_BRAKES</type>
</Item>
<Item>
<identifier />
<modifier value="25" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_GEARBOX</type>
</Item>
<Item>
<identifier />
<modifier value="50" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_GEARBOX</type>
</Item>
<Item>
<identifier />
<modifier value="100" />
<audioApply value="1.000000" />
<weight value="5" />
<type>VMT_GEARBOX</type>
</Item>
<Item>
<identifier />
<modifier value="20" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_ARMOUR</type>
</Item>
<Item>
<identifier />
<modifier value="40" />
<audioApply value="1.000000" />
<weight value="10" />
<type>VMT_ARMOUR</type>
</Item>
<Item>
<identifier />
<modifier value="60" />
<audioApply value="1.000000" />
<weight value="20" />
<type>VMT_ARMOUR</type>
</Item>
<Item>
<identifier />
<modifier value="80" />
<audioApply value="1.000000" />
<weight value="30" />
<type>VMT_ARMOUR</type>
</Item>
<Item>
<identifier />
<modifier value="100" />
<audioApply value="1.000000" />
<weight value="40" />
<type>VMT_ARMOUR</type>
</Item>
<Item>
<identifier />
<modifier value="5" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_SUSPENSION</type>
</Item>
<Item>
<identifier />
<modifier value="10" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_SUSPENSION</type>
</Item>
<Item>
<identifier />
<modifier value="15" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_SUSPENSION</type>
</Item>
<Item>
<identifier />
<modifier value="20" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_SUSPENSION</type>
</Item>
<Item>
<identifier />
<modifier value="25" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_SUSPENSION</type>
</Item>
<Item>
<identifier>HORN_TRUCK</identifier>
<modifier value="1766676233" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_COP</identifier>
<modifier value="2904189469" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_CLOWN</identifier>
<modifier value="2543206147" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_MUSICAL_1</identifier>
<modifier value="1732399718" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_MUSICAL_2</identifier>
<modifier value="2046162893" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_MUSICAL_3</identifier>
<modifier value="2194999691" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_MUSICAL_4</identifier>
<modifier value="2508304100" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_MUSICAL_5</identifier>
<modifier value="3707223535" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HORN_SAD_TROMBONE</identifier>
<modifier value="632950117" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_1</identifier>
<modifier value="3628534289" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_2</identifier>
<modifier value="3892554122" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_3</identifier>
<modifier value="4112892878" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_4</identifier>
<modifier value="116877169" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_5</identifier>
<modifier value="2684983719" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_6</identifier>
<modifier value="2982690084" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>MUSICAL_HORN_BUSINESS_7</identifier>
<modifier value="3203290992" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_C0</identifier>
<modifier value="771284519" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_D0</identifier>
<modifier value="2586621229" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_E0</identifier>
<modifier value="283386134" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_F0</identifier>
<modifier value="3884502400" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_G0</identifier>
<modifier value="265723083" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_A0</identifier>
<modifier value="1746883687" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_B0</identifier>
<modifier value="1919870950" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>DLC_BUSI2_C_MAJOR_NOTES_C1</identifier>
<modifier value="1085277077" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HIPSTER_HORN_1</identifier>
<modifier value="444549672" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HIPSTER_HORN_2</identifier>
<modifier value="1603064898" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HIPSTER_HORN_3</identifier>
<modifier value="240366033" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>HIPSTER_HORN_4</identifier>
<modifier value="960137118" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>INDEP_HORN_1</identifier>
<modifier value="3572144790" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>INDEP_HORN_2</identifier>
<modifier value="3801396714" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>INDEP_HORN_3</identifier>
<modifier value="2843657151" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>INDEP_HORN_4</identifier>
<modifier value="3341811489" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>LUXE_HORN_1</identifier>
<modifier value="3199657341" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>LUXE_HORN_2</identifier>
<modifier value="2900378064" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>LUXE_HORN_3</identifier>
<modifier value="3956195248" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>LUXORY_HORN_1</identifier>
<modifier value="676333254" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>LUXURY_HORN_2</identifier>
<modifier value="2099578296" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>LUXURY_HORN_3</identifier>
<modifier value="1373384483" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>ORGAN_HORN_LOOP_01</identifier>
<modifier value="2916775806" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>ORGAN_HORN_LOOP_01_PREVIEW</identifier>
<modifier value="3714706952" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>ORGAN_HORN_LOOP_02</identifier>
<modifier value="2611860261" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>ORGAN_HORN_LOOP_02_PREVIEW</identifier>
<modifier value="3206770359" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>LOWRIDER_HORN_1</identifier>
<modifier value="310529291" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>LOWRIDER_HORN_1_PREVIEW</identifier>
<modifier value="2965568987" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<Item>
<identifier>LOWRIDER_HORN_2</identifier>
<modifier value="55291550" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
<!-- PREVIEW HORN - FOR MOD SHOP USE ONLY -->
<Item>
<identifier>LOWRIDER_HORN_2_PREVIEW</identifier>
<modifier value="965054819" />
<audioApply value="1.000000" />
<weight value="0" />
<type>VMT_HORN</type>
</Item>
</statMods>
<slotNames />
<liveryNames>
<Item>shaker_sign_1</Item>
<Item>shaker_sign_2</Item>
<Item>shaker_sign_3</Item>
</liveryNames>
</Item>
</Kits>
<Lights>
<Item>
<id value="903" />
<indicator>
<intensity value="0.375000" />
<falloffMax value="2.500000" />
<falloffExponent value="8.000000" />
<innerConeAngle value="30.000000" />
<outerConeAngle value="80.000000" />
<emmissiveBoost value="false" />
<color value="0xFFFF8000" />
</indicator>
<rearIndicatorCorona>
<size value="0.000000" />
<size_far value="0.000000" />
<intensity value="0.000000" />
<intensity_far value="0.000000" />
<color value="0x00000000" />
<numCoronas value="1" />
<distBetweenCoronas value="128" />
<distBetweenCoronas_far value="255" />
<xRotation value="0.000000" />
<yRotation value="0.000000" />
<zRotation value="0.000000" />
<zBias value="0.250000" />
<pullCoronaIn value="false" />
</rearIndicatorCorona>
<frontIndicatorCorona>
<size value="0.000000" />
<size_far value="0.000000" />
<intensity value="0.000000" />
<intensity_far value="0.000000" />
<color value="0x00000000" />
<numCoronas value="1" />
<distBetweenCoronas value="128" />
<distBetweenCoronas_far value="255" />
<xRotation value="0.000000" />
<yRotation value="0.000000" />
<zRotation value="0.000000" />
<zBias value="0.250000" />
<pullCoronaIn value="false" />
</frontIndicatorCorona>
<tailLight>
<intensity value="0.250000" />
<falloffMax value="4.000000" />
<falloffExponent value="16.000000" />
<innerConeAngle value="45.000000" />
<outerConeAngle value="90.000000" />
<emmissiveBoost value="false" />
<color value="0xFFFF0000" />
</tailLight>
<tailLightCorona>
<size value="0.000000" />
<size_far value="0.000000" />
<intensity value="0.000000" />
<intensity_far value="0.000000" />
<color value="0xFFFF1E05" />
<numCoronas value="2" />
<distBetweenCoronas value="40" />
<distBetweenCoronas_far value="1" />
<xRotation value="0.000000" />
<yRotation value="3.112000" />
<zRotation value="0.333000" />
<zBias value="0.232000" />
<pullCoronaIn value="false" />
</tailLightCorona>
<tailLightMiddleCorona>
<size value="0.000000" />
<size_far value="0.000000" />
<intensity value="0.000000" />
<intensity_far value="0.000000" />
<color value="0x00000000" />
<numCoronas value="1" />
<distBetweenCoronas value="128" />
<distBetweenCoronas_far value="255" />
<xRotation value="0.000000" />
<yRotation value="0.000000" />
<zRotation value="0.000000" />
<zBias value="0.250000" />
<pullCoronaIn value="false" />
</tailLightMiddleCorona>
<headLight>
<intensity value="1.000000" />
<falloffMax value="35.000000" />
<falloffExponent value="16.000000" />
<innerConeAngle value="0.000000" />
<outerConeAngle value="60.209999" />
<emmissiveBoost value="false" />
<color value="0xFFFFFFCC" />
<textureName>VehicleLight_car_standardmodern</textureName>
<mirrorTexture value="false" />
</headLight>
<headLightCorona>
<size value="0.000000" />
<size_far value="0.000000" />
<intensity value="0.000000" />
<intensity_far value="0.000000" />
<color value="0xFFFFFFFF" />
<numCoronas value="1" />
<distBetweenCoronas value="128" />
<distBetweenCoronas_far value="255" />
<xRotation value="0.000000" />
<yRotation value="0.094000" />
<zRotation value="0.478000" />
<zBias value="0.250000" />
<pullCoronaIn value="false" />
</headLightCorona>
<reversingLight>
<intensity value="0.500000" />
<falloffMax value="4.000000" />
<falloffExponent value="32.000000" />
<innerConeAngle value="45.000000" />
<outerConeAngle value="90.000000" />
<emmissiveBoost value="false" />
<color value="0xFFFFFFFF" />
</reversingLight>
<reversingLightCorona>
<size value="0.800000" />
<size_far value="2.000000" />
<intensity value="1.500000" />
<intensity_far value="1.000000" />
<color value="0x00F7F7F7" />
<numCoronas value="1" />
<distBetweenCoronas value="128" />
<distBetweenCoronas_far value="255" />
<xRotation value="0.000000" />
<yRotation value="0.000000" />
<zRotation value="0.000000" />
<zBias value="0.250000" />
<pullCoronaIn value="false" />
</reversingLightCorona>
<name>ghoulchall24</name>
</Item>
</Lights>
</CVehicleModelInfoVarGlobal>
@@ -1,53 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVariation>
<variationData>
<Item>
<modelName>ghoulchall24</modelName>
<colors>
<Item>
<indices content="char_array">
3
12
4
0
103
0
</indices>
<liveries>
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
</colors>
<kits>
<Item>905_ghoulchall24_modkit</Item>
</kits>
<windowsWithExposedEdges/>
<plateProbabilities>
<Probabilities>
<Item>
<Name>White Plate 2</Name>
<Value value="80"/>
</Item>
<Item>
<Name>Blue Plate</Name>
<Value value="10"/>
</Item>
<Item>
<Name>Yellow Plate</Name>
<Value value="10"/>
</Item>
</Probabilities>
</plateProbabilities>
<lightSettings value="1270"/>
<sirenSettings value="0"/>
</Item>
</variationData>
</CVehicleModelInfoVariation>
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<CExtraTextMetaFile>
<hasGlobalTextFile value="true"/>
<hasAdditionalText value="false"/>
<isTitleUpdate value="false"/>
</CExtraTextMetaFile>
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData">
<handlingName>ghoulchall24</handlingName>
<fMass value="2100.000000" />
<fInitialDragCoeff value="7.000000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" />
<vecInertiaMultiplier x="1.000000" y="1.000000" z="1.600000" />
<fDriveBiasFront value="0.00000" />
<nInitialDriveGears value="5" />
<fInitialDriveForce value="1.550000" />
<fDriveInertia value="0.700000" />
<fClutchChangeRateScaleUpShift value="2.900000" />
<fClutchChangeRateScaleDownShift value="3.900000" />
<fInitialDriveMaxFlatVel value="220.000000" />
<fBrakeForce value="3.500000" />
<fBrakeBiasFront value="0.650000" />
<fHandBrakeForce value="3.800000" />
<fSteeringLock value="42.000000" />
<fTractionCurveMax value="2.650000" />
<fTractionCurveMin value="2.500000" />
<fTractionCurveLateral value="22.500000" />
<fTractionSpringDeltaMax value="0.150000" />
<fLowSpeedTractionLossMult value="0.500000" />
<fCamberStiffnesss value="0.000000" />
<fTractionBiasFront value="0.500000" />
<fTractionLossMult value="1.000000" />
<fSuspensionForce value="2.400000" />
<fSuspensionCompDamp value="1.400000" />
<fSuspensionReboundDamp value="2.300000" />
<fSuspensionUpperLimit value="0.18000" />
<fSuspensionLowerLimit value="-0.140000" />
<fSuspensionRaise value="0.000000" />
<fSuspensionBiasFront value="0.490000" />
<fAntiRollBarForce value="0.900000" />
<fAntiRollBarBiasFront value="0.600000" />
<fRollCentreHeightFront value="0.000000" />
<fRollCentreHeightRear value="0.000000" />
<fCollisionDamageMult value="0.700000" />
<fWeaponDamageMult value="1.000000" />
<fDeformationDamageMult value="0.700000" />
<fEngineDamageMult value="1.500000" />
<fPetrolTankVolume value="65.000000" />
<fOilVolume value="5.000000" />
<fSeatOffsetDistX value="0.000000" />
<fSeatOffsetDistY value="0.000000" />
<fSeatOffsetDistZ value="0.000000" />
<nMonetaryValue value="150000" />
<strModelFlags>440010</strModelFlags>
<strHandlingFlags>0</strHandlingFlags>
<strDamageFlags>0</strDamageFlags>
<AIHandling>AVERAGE</AIHandling>
<SubHandlingData>
<Item type="CCarHandlingData">
<fBackEndPopUpCarImpulseMult value="0.500000" />
<fBackEndPopUpBuildingImpulseMult value="0.250000" />
<fBackEndPopUpMaxDeltaSpeed value="1.750000" />
</Item>
<Item type="NULL" />
<Item type="NULL" />
</SubHandlingData>
</Item><!--DEMONBOI HANDLING ENDS HERE-->
</HandlingData>
</CHandlingDataMgr>
@@ -1,121 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfo__InitDataList>
<residentTxd>vehshare</residentTxd>
<residentAnims />
<InitDatas>
<Item>
<modelName>ghoulchall24</modelName>
<txdName>ghoulchall24</txdName>
<handlingId>ghoulchall24</handlingId>
<gameName>ghoulchall24</gameName>
<vehicleMakeName>Dodge</vehicleMakeName>
<expressionDictName>null</expressionDictName>
<expressionName>null</expressionName>
<animConvRoofDictName>va_ghoulchall24</animConvRoofDictName>
<animConvRoofName>roof</animConvRoofName>
<animConvRoofWindowsAffected>
<Item>VEH_EXT_WINDOW_LF</Item>
<Item>VEH_EXT_WINDOW_RF</Item>
</animConvRoofWindowsAffected>
<ptfxAssetName>null</ptfxAssetName>
<audioNameHash>xa21</audioNameHash>
<layout>LAYOUT_LOW_CHEETAH</layout>
<coverBoundOffsets>GAUNTLET_COVER_OFFSET_INFO</coverBoundOffsets>
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
<scenarioLayout />
<cameraName>FOLLOW_CHEETAH_CAMERA</cameraName>
<aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName>
<bonnetCameraName>VEHICLE_BONNET_CAMERA_MID</bonnetCameraName>
<povCameraName>REDUCED_NEAR_CLIP_POV_CAMERA</povCameraName>
<FirstPersonDriveByIKOffset x="0.000000" y="-0.055000" z="-0.020000" />
<FirstPersonDriveByUnarmedIKOffset x="-0.050000" y="-0.080000" z="-0.020000" />
<FirstPersonProjectileDriveByIKOffset x="0.000000" y="-0.100000" z="-0.010000" />
<FirstPersonProjectileDriveByPassengerIKOffset x="0.000000" y="-0.100000" z="-0.010000" />
<FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="-0.055000" z="-0.020000" />
<FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.050000" y="-0.110000" z="-0.020000" />
<FirstPersonMobilePhoneOffset x="0.135000" y="0.173000" z="0.550000" />
<FirstPersonPassengerMobilePhoneOffset x="0.136000" y="0.138000" z="0.445000" />
<PovCameraOffset x="0.000000" y="-0.325000" z="0.655000" />
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
<vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
<shouldUseCinematicViewMode value="true" />
<shouldCameraTransitionOnClimbUpDown value="false" />
<shouldCameraIgnoreExiting value="false" />
<AllowPretendOccupants value="true" />
<AllowJoyriding value="true" />
<AllowSundayDriving value="true" />
<AllowBodyColorMapping value="true" />
<wheelScale value="0.279700" />
<wheelScaleRear value="0.279700" />
<dirtLevelMin value="0.000000" />
<dirtLevelMax value="2.990000" />
<envEffScaleMin value="0.000000" />
<envEffScaleMax value="1.000000" />
<envEffScaleMin2 value="0.000000" />
<envEffScaleMax2 value="1.000000" />
<damageMapScale value="0.600000" />
<damageOffsetScale value="0.800000" />
<diffuseTint value="0x00FFFFFF" />
<steerWheelMult value="1.000000" />
<HDTextureDist value="5.000000" />
<lodDistances content="float_array">
35.000000
65.000000
90.000000
120.000000
300.000000
500.000000
</lodDistances>
<minSeatHeight value="0.831" />
<identicalModelSpawnDistance value="20" />
<maxNumOfSameColor value="10" />
<defaultBodyHealth value="1000.000000" />
<pretendOccupantsScale value="1.000000" />
<visibleSpawnDistScale value="1.000000" />
<trackerPathWidth value="2.000000" />
<weaponForceMult value="1.000000" />
<frequency value="90" />
<swankness>SWANKNESS_4</swankness>
<maxNum value="4" />
<flags>FLAG_HAS_LIVERY FLAG_SPORTS FLAG_SPAWN_ON_TRAILER FLAG_PARKING_SENSORS FLAG_RICH_CAR</flags>
<type>VEHICLE_TYPE_CAR</type>
<plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
<dashboardType>VDT_RACE</dashboardType>
<vehicleClass>VC_MUSCLE</vehicleClass>
<wheelType>VWT_MUSCLE</wheelType>
<trailers />
<additionalTrailers />
<drivers />
<extraIncludes />
<doorsWithCollisionWhenClosed />
<driveableDoors />
<bumpersNeedToCollideWithMap value="false" />
<needsRopeTexture value="false" />
<requiredExtras />
<rewards />
<cinematicPartCamera>
<Item>WHEEL_FRONT_RIGHT_CAMERA</Item>
<Item>WHEEL_FRONT_LEFT_CAMERA</Item>
<Item>WHEEL_REAR_RIGHT_CAMERA</Item>
<Item>WHEEL_REAR_LEFT_CAMERA</Item>
</cinematicPartCamera>
<NmBraceOverrideSet />
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
<buoyancySphereSizeScale value="1.000000" />
<pOverrideRagdollThreshold type="NULL" />
<firstPersonDrivebyData>
<Item>LOW_RAPIDGT_FRONT_LEFT</Item>
<Item>LOW_RAPIDGT_FRONT_RIGHT</Item>
</firstPersonDrivebyData>
</Item>
</InitDatas>
<txdRelationships>
<Item>
<parent>vehicles_race_generic</parent>
<child>ghoulchall24</child>
</Item>
</txdRelationships>
</CVehicleModelInfo__InitDataList>
@@ -0,0 +1,3 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
-- Leaked By: Leaking Hub | J. Snow | leakinghub.com
this_is_a_map 'yes'
Binary file not shown.

After

Width:  |  Height:  |  Size: 696 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

+26
View File
@@ -0,0 +1,26 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
files {
'vehicles.meta',
'carvariations.meta',
'carcols.meta',
'handling.meta',
'vehiclelayouts.meta',
'peds.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 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.META'
data_file 'PED_METADATA_FILE' 'peds.meta'
client_script {
'vehicle_names.lua'
}
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More