diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/__resource.lua b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/__resource.lua new file mode 100644 index 000000000..e85b41837 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/__resource.lua @@ -0,0 +1,20 @@ +resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5' + +files { + 'vehicles.meta', + 'carvariations.meta', + 'carcols.meta', + 'handling.meta', + 'vehiclelayouts.meta', -- Not Required +} + +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' -- Not Required + + +client_script { + 'vehicle_names.lua' -- Not Required +} \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carcols.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carcols.meta new file mode 100644 index 000000000..6a46bd68e --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carcols.meta @@ -0,0 +1,1363 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VehicleLight_car_utility + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Maxlasd18charger + + + + + + Maxlasd18charger + + + + + + + VehicleLight_sirenlight + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carvariations.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carvariations.meta new file mode 100644 index 000000000..d5b4193e7 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/carvariations.meta @@ -0,0 +1,38 @@ + + + + + + Maxlasd18charger + + + + 0 + 0 + 0 + 0 + 28 + 0 + + + + + + + + 0_default_modkit + + + + + + Police guv plate + + + + + + + + + \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/handling.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/handling.meta new file mode 100644 index 000000000..4de441d9e --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/handling.meta @@ -0,0 +1,67 @@ + + + + + + 18CHARGER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 440010 + 0 + 0 + AVERAGE + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger+hi.ytd b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger+hi.ytd new file mode 100644 index 000000000..75c7eef7a --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger+hi.ytd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2189fbe8d7c4e5b80f3122ab5c6fa1d2370b5a9569e72c095347b46efebaabf +size 2205553 diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.yft b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.yft new file mode 100644 index 000000000..e62145187 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.yft @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:863640e11756e55b712f9704ee288c9abc4fec422db895f3eeb7d1ab56785861 +size 2167805 diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.ytd b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.ytd new file mode 100644 index 000000000..84048eebd --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger.ytd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:704340d987b655ad6d728fe54ecf38a6a07fe51e9ceb90910885b8a7eca5dcdf +size 6394599 diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger_hi.yft b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger_hi.yft new file mode 100644 index 000000000..822694ab4 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/stream/Maxlasd18charger_hi.yft @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa01eb98159c928a6b0d52da3f38aeb5beaf2661936f67d4cbec05d8d5a9d20a +size 6086655 diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/ulc.lua b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/ulc.lua new file mode 100644 index 000000000..2b65552b7 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/ulc.lua @@ -0,0 +1,752 @@ + +--[[ + Ultimate Lighting Controller Config + the ULC resource is required to use this configuration + get the resource here: https://github.com/Flohhhhh/ultimate-lighting-controller/releases/latest + To learn how to setup and use ULC visit here: https://docs.dwnstr.com/ulc/overview +]] + +return +{names = {"lasd16asapc","lasd16asapd","lasd16fpiu","lasd16fpiub"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "red", extra = 2, linkedExtras = {5,1}, oppositeExtras = {}, offExtras = {3,4}, repair = false}, + {label = "Stage 2", key = 2, color = "red", extra = 6, linkedExtras = {2,3}, oppositeExtras = {}, offExtras = {1,4,5}, repair = false}, + {label = "Stage 3", key = 3, color = "red", extra = 4, linkedExtras = {3}, oppositeExtras = {}, offExtras = {1,2,5}, repair = false}, + {label = "Parking Lights", key = 4, color = "amber", extra = 8, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + }, +}, + +{names = {"lasd16asap","lasd16asapb","lasd16rfr","lasd16rfrb"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {2,5}, oppositeExtras = {}, offExtras = {3,4,6}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 2, linkedExtras = {3}, oppositeExtras = {}, offExtras = {1,4,5,6}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 3, linkedExtras = {4}, oppositeExtras = {}, offExtras = {1,2,5,6}, repair = false}, + {label = "Parking Lights", key = 4, color = "amber", extra = 8, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lasd13fasap","lasd13fpiu1","lasd13fpiu2","lasd13fpiu3","lasd13fpiu4","lasd13fpiu5","lasd13fsfpiu"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "red", extra = 5, linkedExtras = {}, oppositeExtras = {}, offExtras = {6}, repair = false}, + {label = "Stage 2", key = 2, color = "red", extra = 6, linkedExtras = {}, oppositeExtras = {}, offExtras = {5}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lacpvic","lasd06m","lasd06u","lasdcrownvic","lasd18taurus","Maxlasd18charger","lasd18chrg","lasdchg","lasd18taurus","lasdchrg14","lasdparamount","lasdsd7100","lasdvicslicktop","lasd05cvpi","lasd06cvpi","lasd06cvpicarson","lasd06cvpisd7100","lasd08cvpi","lasd08cvpilomita","lasd08cvpitransit"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 7, linkedExtras = {8,9}, oppositeExtras = {}, offExtras = {6}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 8, linkedExtras = {7}, oppositeExtras = {}, offExtras = {9}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 6, linkedExtras = {8}, oppositeExtras = {}, offExtras = {7,9}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lasd08tahoe","lasd08tahoe2","lasd14tahoe","lasd06tahoe","lasd15k9b","lasd15tahoeb","lasdexp","lasdexp2","lasdfpiu5","lasdtahoe4","lasdtahoe","lasdtahoe2","lasdtahoe3","lasd15k9","lasd15k9b","lasd15tahoe","lasd15tahoeb","lasd20k9","lasd20lp","lasd20tahoe","lasd20tfs","lasd20lp","lasd20tfs","lasd20tunm","lasdtahoelan"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {3}, oppositeExtras = {}, offExtras = {4,5,6,2}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 7, linkedExtras = {3,4,6,2}, oppositeExtras = {}, offExtras = {1,5}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 8, linkedExtras = {5,6,4}, oppositeExtras = {}, offExtras = {1,2,3}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lasd20lp"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {3}, oppositeExtras = {}, offExtras = {2,4,5}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 6, linkedExtras = {2,3,5}, oppositeExtras = {}, offExtras = {4,1}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 7, linkedExtras = {4,5}, oppositeExtras = {}, offExtras = {1,3,2}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"met2"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 5, linkedExtras = {}, oppositeExtras = {}, offExtras = {3,6,7,8,9,10,11,12}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 6, linkedExtras = {7,8,9}, oppositeExtras = {}, offExtras = {3,5,10,11,12}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 10, linkedExtras = {3,11,12}, oppositeExtras = {}, offExtras = {4,5,6,7,8,9}, repair = false}, + {label = "Steady Spotlights", key = 6, color = "green", extra = 4, linkedExtras = {}, oppositeExtras = {}, offExtras = {3,10,11,12}, repair = false} + }, + defaultStages = { + useDefaults = true, + enableKeys = {1}, + disableKeys = {2,3,6} + } +}, +{names = {"met3"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 5, linkedExtras = {}, oppositeExtras = {}, offExtras = {3,6,7,8,9,10,11,12}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 6, linkedExtras = {7,8,9}, oppositeExtras = {}, offExtras = {3,5,10,11,12}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 10, linkedExtras = {3,11,12}, oppositeExtras = {}, offExtras = {4,5,6,7,8,9}, repair = false}, + {label = "Steady Spotlights", key = 6, color = "green", extra = 4, linkedExtras = {}, oppositeExtras = {}, offExtras = {3,10,11,12}, repair = false} + }, + defaultStages = { + useDefaults = true, + enableKeys = {1}, + disableKeys = {2,3,6} + } +}, +{names = {"sd20asap"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {}, oppositeExtras = {}, offExtras = {2}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 2, linkedExtras = {}, oppositeExtras = {}, offExtras = {1}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, + +{names = {"sd20fpiu", "lasdfpiu3"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {}, oppositeExtras = {}, offExtras = {2}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 2, linkedExtras = {}, oppositeExtras = {}, offExtras = {1}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, + +{names = {"lasd23tahoe","lasd23k9t"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 1, linkedExtras = {3}, oppositeExtras = {}, offExtras = {4,5,6,2}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 2, linkedExtras = {3,4,6}, oppositeExtras = {}, offExtras = {5,1}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 5, linkedExtras = {6,4}, oppositeExtras = {}, offExtras = {3,2,1}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, + +{names = {"lasd23tunm","lasd22tunm"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "Stage 1", key = 1, color = "green", extra = 7, linkedExtras = {2,1}, oppositeExtras = {}, offExtras = {3,4,5}, repair = false}, + {label = "Stage 2", key = 2, color = "green", extra = 10, linkedExtras = {2,3}, oppositeExtras = {}, offExtras = {1,4,5}, repair = false}, + {label = "Stage 3", key = 3, color = "green", extra = 9, linkedExtras = {5,3,4}, oppositeExtras = {}, offExtras = {1,2}, repair = false} + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, + +{names = {"lasd20funm"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "STAGE 1", key = 1, color = "green", extra = 1, linkedExtras = {2}, oppositeExtras = {}, offExtras = {3,4,5}, repair = false}, + {label = "STAGE 2", key = 2, color = "green", extra = 2, linkedExtras = {3}, oppositeExtras = {}, offExtras = {1,4,5}, repair = false}, + {label = "STAGE 3", key = 3, color = "green", extra = 4, linkedExtras = {3,5}, oppositeExtras = {}, offExtras = {1,2}, repair = false} + }, + stages = { + useStages = true, + stageKeys = {2,3,1}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lasd12", "LASD13"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "TKDN LGHT", key = 1, color = "green", extra = 11, linkedExtras = {}, oppositeExtras = {}, offExtras = {12}, repair = false}, + {label = "STAGE LGHT", key = 2, color = "green", extra = 12, linkedExtras = {}, oppositeExtras = {}, offExtras = {11}, repair = false}, + }, + stages = { + useStages = false, + stageKeys = {}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +}, +{names = {"lasd25fpiu","lasdfpiu5","lasdtahoe4","lasd20fpiu"}, + steadyBurnConfig = { + forceOn = false, useTime = false, + disableWithLights = false, + sbExtras = {} + }, + parkConfig = { + usePark = false, + useSync = false, + syncWith = {}, + pExtras = {}, + dExtras = {} + }, + hornConfig = { + useHorn = false, + hornExtras = {}, + disableExtras = {} + }, + brakeConfig = { + useBrakes = false, + speedThreshold = 3, + brakeExtras = {}, + disableExtras = {} + }, + reverseConfig = { + useReverse = false, + reverseExtras = {}, + disableExtras = {} + }, + doorConfig = { + useDoors = false, + driverSide = {enable = {}, disable = {}}, + passSide = {enable = {}, disable = {}}, + trunk = {enable ={}, disable = {}} + }, + buttons = { + {label = "STAGE 2", key = 1, color = "green", extra = 5, linkedExtras = {10}, oppositeExtras = {}, offExtras = {9,8,6,7}, repair = false}, + {label = "STAGE 3", key = 2, color = "green", extra = 9, linkedExtras = {7, 6}, oppositeExtras = {}, offExtras = {8,5,10}, repair = false}, + {label = "PARK", key = 3, color = "green", extra = 8, linkedExtras = {6, 9}, oppositeExtras = {}, offExtras = {8,5,10,7}, repair = false}, + }, + stages = { + useStages = true, + stageKeys = {1,2,3}, + }, + defaultStages = { + useDefaults = false, + enableKeys = {}, + disableKeys = {} + } +} \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/vehicles.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/vehicles.meta new file mode 100644 index 000000000..91841e939 --- /dev/null +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/Maxlasd18charger/vehicles.meta @@ -0,0 +1,138 @@ + + + vehshare + + + + Maxlasd18charger + Maxlasd18charger + 18CHARGER + Maxlasd18charger + Maxlasd18charger + null + null + null + null + + null + str392m + LAYOUT_STANDARD + BUFFALO_COVER_OFFSET_INFO + EXPLOSION_INFO_DEFAULT + + DEFAULT_FOLLOW_VEHICLE_CAMERA + BOX_VEHICLE_AIM_CAMERA + VEHICLE_BONNET_CAMERA_STANDARD + DEFAULT_POV_CAMERA_LOOKAROUND + + + + + + + + + + + + + + + + + + + + + + + + + + + + VFXVEHICLEINFO_CAR_GENERIC + + + + + + + + + + + + + + + + + + + + + + 15.000000 + 30.000000 + 70.000000 + 140.000000 + 500.000000 + 500.000000 + + + + + + + + + + + SWANKNESS_1 + + FLAG_USE_INTERIOR_RED_LIGHT FLAG_LAW_ENFORCEMENT FLAG_EMERGENCY_SERVICE FLAG_NO_RESPRAY FLAG_DONT_SPAWN_IN_CARGEN FLAG_REPORT_CRIME_IF_STANDING_ON FLAG_HAS_LIVERY + VEHICLE_TYPE_CAR + VPT_FRONT_AND_BACK_PLATES + VDT_RACE + VC_EMERGENCY + VWT_SPORT + + + + + + + + + + + + WHEEL_FRONT_RIGHT_CAMERA + WHEEL_FRONT_LEFT_CAMERA + WHEEL_REAR_RIGHT_CAMERA + WHEEL_REAR_LEFT_CAMERA + + + + + + + STD_POLICE3_FRONT_LEFT + STD_POLICE3_FRONT_RIGHT + STD_POLICE2_REAR_LEFT + STD_POLICE2_REAR_RIGHT + + + + + + vehicles_race_interior + vehicles_race_generic + + + vehicles_race_generic + Maxlasd18charger + + + \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd22tunm/vehicles.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd22tunm/vehicles.meta index 96eb05fb5..0b975432d 100644 --- a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd22tunm/vehicles.meta +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd22tunm/vehicles.meta @@ -15,7 +15,7 @@ null null - bison + SHERIFF2 LAYOUT_STANDARD GRESLEY_COVER_OFFSET_INFO EXPLOSION_INFO_DEFAULT diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/stream/lasd23tunm.ytd b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/stream/lasd23tunm.ytd index 913ea3434..ebed6d18f 100644 --- a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/stream/lasd23tunm.ytd +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/stream/lasd23tunm.ytd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc6c8e364f07c04dab84aa98382f7df0b7b528e956dcdf766d04ef53a70b23fd -size 7171117 +oid sha256:5dfdfd6a9e2156baf9bd204cd6382c4fd54014dd2df36f1b6203afcffc1f525f +size 5748481 diff --git a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/vehicles.meta b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/vehicles.meta index 2bcfe59d9..0358e2fd6 100644 --- a/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/vehicles.meta +++ b/resources/[EGRP-CarPacks]/[lasd-packs]/lasd23tunm/vehicles.meta @@ -15,7 +15,7 @@ null null - bison + SHERIFF2 LAYOUT_STANDARD GRESLEY_COVER_OFFSET_INFO EXPLOSION_INFO_DEFAULT diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/.fxap b/resources/[EGRP-CarPacks]/ebu_flatbeds/.fxap new file mode 100644 index 000000000..70d15391c Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_flatbeds/.fxap differ diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/Readme.md b/resources/[EGRP-CarPacks]/ebu_flatbeds/Readme.md new file mode 100644 index 000000000..9458cb207 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_flatbeds/Readme.md @@ -0,0 +1,67 @@ +###### +## There are no longer circles- makesure to read the controls. Bed controls are done at the back left or right of the truck. +##### + +## Default Controls: +[E] - At bed to attach / detach vehicle (useable in vehicle on bed as well) +[LeftArrow] - Attach, Wind winch +[RightArrow] - Unwind winch +[UpArrow] - Raise Bed (automatic, click once) +[DownArrow] - Lower Bed (automatic, click once) +[G] - Remove Rope +[SHIFT] - Access Hand Winch controls +[SHIFT] + [LeftArrow] - Grab winch +[SHIFT] + [RightArrow] - Return winch +[SHIFT] + [E] - Attach winch + +## How to use: +# For ROLLING beds: +1. Lower bed +2. Ensure the vehicle is behind the truck close to the bed +3. Press Left Arrow next to the flatbed truck body to attach the winch +4. Press Left Arrow again to wind the winch +5. Press E when the vehicle is ON the bed. If the vehicle is inside the bed, or too high, press E to disconnect then E again to reconnect the car. + +# For Static beds: +1. Ensure the car is behind the truck. +2. Press E next to the truck, or inside the car. + + + +## Exports / Events: +# wind start/stop winding the winch +targetflatbedWind(truck) +# OR connect target or wind start/stop winding the winch +targetflatbedWind(truck, target) +# event: +"ebu_flatbeds:client:targetflatbedWind" + +# start/stop unwinding the winch +targetflatbedUnWind(truck) +# event: +"ebu_flatbeds:client:targetflatbedUnWind" + +# attach/detach vehicle on bed +targetflatbedAtt(truck) +# event: +"ebu_flatbeds:client:targetflatbedAtt" + +# delete rope attached to truck +targetflatbedRope(truck) +# event +"ebu_flatbeds:client:targetflatbedRope" + +# toggle wheel lift on truck (if applicable) +targetflatbedWheel(truck) +# event: +"ebu_flatbeds:client:targetflatbedWheel" + +# Raise / stop the bed +targetflatbedRaise(truck) +# event: +"ebu_flatbeds:client:targetflatbedRaise" + +# Lower /stop the bed +targetflatbedLower(truck) +# event: +"ebu_flatbeds:client:targetflatbedLower" \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/client/client.lua b/resources/[EGRP-CarPacks]/ebu_flatbeds/client/client.lua new file mode 100644 index 000000000..0201bd590 Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_flatbeds/client/client.lua differ diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/client/utils.lua b/resources/[EGRP-CarPacks]/ebu_flatbeds/client/utils.lua new file mode 100644 index 000000000..b8a301956 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_flatbeds/client/utils.lua @@ -0,0 +1,241 @@ +if not Config.DisableExtKeyControls then + RegisterKeyMapping('+bedLower', Config.Controlmessages.LowerBed, 'keyboard', 'DOWN') + RegisterKeyMapping('+bedRaise', Config.Controlmessages.RaiseBed, 'keyboard', 'UP') + RegisterKeyMapping('+flatbedWheel', Config.Controlmessages.WheelLift, 'keyboard', 'H') + if Config.EnableRopes then + RegisterKeyMapping('+flatbedWind', Config.Controlmessages.WindWinch..' / '..Config.Controlmessages.GrabWinch, 'keyboard', 'LEFT') + RegisterKeyMapping('+flatbedUWind', Config.Controlmessages.ExtendWinch..' / '..Config.Controlmessages.ReturnWinch, 'keyboard', 'RIGHT') + RegisterKeyMapping('+flatbedRope', Config.Controlmessages.DetachWinch..' / '..Config.Controlmessages.AttachWinch, 'keyboard', 'G') + end +end + +if not Config.DisableInVehControl then + RegisterKeyMapping('+flatbedAtt', Config.Controlmessages.AttachVehicle, 'keyboard', 'E') +end + +RegisterKeyMapping('+flatbedWarp', 'Flatbed Get In Car', 'keyboard', 'F') + +function loadComplete(car, truck) + --This is called once a vehicle is loaded onto a truck + +end + +--allowed() is the function that determines if the player is allowed to use the controls. DO NOT RENAME THE FUNCTION +--Place whatever job check code you want in here, return true if allowed, false if not +function allowed() + return true +end + +--This function allows checks for vehicle ownership before attaching ropes or to the bed +-- args [truck(entity), car(entity)] +function checkOwnership(truck, car) + return true +end + +--This function returns if the vehicle is locked or not when trying to get in the loaded vehicle from next to the trailer +--false = NOT locked true == LOCKED +function IsVehicleLocked(car) + return DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 2 or DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 10 +end + +--======NOTIFICATIONS======-- +function LoadCompleteNotif() + EndTextCommandThefeedPostTickerForced(1,1) + ThefeedNextPostBackgroundColor(184) + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiLoadCompleteMessage) + EndTextCommandThefeedPostTicker(true, true) + Wait(3000) + EndTextCommandThefeedPostTickerForced(1,1) +end + +function UnLoadCompleteNotif() + EndTextCommandThefeedPostTickerForced(1,1) + ThefeedNextPostBackgroundColor(184) + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiUnLoadCompleteMessage) + EndTextCommandThefeedPostTicker(true, true) + Wait(3000) + EndTextCommandThefeedPostTickerForced(1,1) +end + +function FBBlockedNotif() + EndTextCommandThefeedPostTickerForced(1,1) + ThefeedNextPostBackgroundColor(6) + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiFBBlockedMessage) + EndTextCommandThefeedPostTicker(true, true) + Wait(3000) + EndTextCommandThefeedPostTickerForced(1,1) +end + +function BlockedMessage() + EndTextCommandThefeedPostTickerForced(1,1) + ThefeedNextPostBackgroundColor(6) + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiBlockedMessage) + EndTextCommandThefeedPostTicker(true, true) + Wait(3000) + EndTextCommandThefeedPostTickerForced(1,1) +end + + + +--Help Text Messages +function message(lineOne, lineTwo, lineThree, duration, loop) + BeginTextCommandDisplayHelp("THREESTRINGS") + AddTextComponentSubstringPlayerName(lineOne) + AddTextComponentSubstringPlayerName(lineTwo or "") + AddTextComponentSubstringPlayerName(lineThree or "") + + -- shape (always 0), loop (bool), makeSound (bool), duration (5000 max 5 sec) + EndTextCommandDisplayHelp(0, loop, false, duration or 5000) +end + + +--Advanced Functions +function validTruck(veh) + local playerPos = GetEntityCoords(PlayerPedId()) + local truckCoords = GetEntityCoords(veh) + if trucks and #trucks > 0 and has_value(trucks, GetEntityModel(veh)) and #(playerPos - truckCoords) < 10 then + return true + end + return false +end + +--Target +if Config.UseTarget then + --QB CORE + local bones = {"seat_dside_f", "seat_dside_r", "seat_pside_f", "seat_pside_f", 'boot', "scoop", 'chassis'} + local options = {} + options[#options+1] = { + num = 1, + icon = 'fa-solid fa-car-side', + label = '[Winch] Attach Winch', + action = function(entity) + playerAttach(entity) + end, + canInteract = function(entity, distance, data) + return winchInHand and Config.EnableRopes + end, + } + options[#options+1] = { + num = 2, + icon = 'fa-solid fa-angles-left', + label = '[Winch] Attach / Wind Winch', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedWind", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() and Config.EnableRopes + end, + } + options[#options+1] = { + num = 3, + icon = 'fa-solid fa-angles-right', + label = '[Winch] UnWind Winch', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedUnWind", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() and Config.EnableRopes + end, + } + options[#options+1] = { + num = 4, + icon = 'fa-solid fa-angles-up', + label = '[Winch] Raise Bed', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedRaise", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() + end, + } + options[#options+1] = { + num = 5, + icon = 'fa-solid fa-angles-down', + label = '[Winch] Lower Bed', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedLower", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() + end, + } + options[#options+1] = { + num = 6, + icon = 'fa-solid fa-ban', + label = '[Winch] Remove Winch', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedRope", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() and Config.EnableRopes + end, + } + options[#options+1] = { + num = 7, + icon = 'fa-solid fa-car-side', + label = '[Winch] Attach / Detach Vehicle', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedAtt", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() + end, + } + options[#options+1] = { + num = 8, + icon = 'fa-solid fa-truck-ramp-box', + label = '[Winch] Toggle Wheel Lift', + action = function(entity) + TriggerEvent("ebu_flatbeds:client:targetflatbedWheel", entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].wheellift and allowed() and Config.EnableRopes + end, + } + --Grab winch from truck + options[#options+1] = { + num = 9, + icon = 'fa-solid fa-car-side', + label = '[Winch] Grab Winch', + action = function(entity) + playerGrab(entity, PlayerPedId()) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and allowed() and Config.EnableRopes + end, + } + --Grab winch from winched car + options[#options+1] = { + num = 10, + icon = 'fa-solid fa-car-side', + label = '[Winch] Grab Veh Winch', + action = function(entity) + playerGrabVeh(entity, PlayerPedId()) + end, + canInteract = function(entity, distance, data) + return getIsVehWinched(entity) and allowed() and Config.EnableRopes + end, + } + options[#options+1] = { + num =11, + icon = 'fa-solid fa-car-side', + label = '[Winch] Return Winch', + action = function(entity) + playerReturn(entity) + end, + canInteract = function(entity, distance, data) + return Config.Trucks[GetEntityModel(entity)] and Config.Trucks[GetEntityModel(entity)].type ~= "static" and winchInHand and Config.EnableRopes + end, + } + + exports['qb-target']:AddTargetBone(bones, { + options = options, + distance = 5.5 + }) + +end + diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/config.lua b/resources/[EGRP-CarPacks]/ebu_flatbeds/config.lua new file mode 100644 index 000000000..a9a6ad77f --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_flatbeds/config.lua @@ -0,0 +1,1143 @@ +Config = {} + +Config.Debug = false -- Used for support + +Config.InteractDistance = 2.0 -- Distance to check if near a truck on foot +Config.CloseVehiclesDistance = 10.0 -- Distance to check for nearby vehicles +Config.GetInDistance = 3.5 + + +--Ctrl + Shift Bed Control +Config.DisableCabControl = true -- Disables Left Stick Control and Ctrl + Shift while driving. +Config.DisableSpeed = 3.0 -- Speed at which the controls get disabled + +--Rope/Winch Config +Config.EnableRopes = true -- if disabled, ALL rope / winching is disabled +Config.WinchSpeed = 0.11 -- Winch Speed. HIGHLY suggest adjusting in 0.1 increments +Config.MaxWinchLength = 50 +Config.MinWindDistance = 2.6 +Config.ModifierKey = 21 -- Default 21 (SHIFT): Key to hold to see secondary winch controls +Config.ModifierKeyName = '~INPUT_SPRINT~' -- Match name to number here https://docs.fivem.net/docs/game-references/controls/ +Config.AutoWinchOnDetach = true -- Automatically attach winch rope when detaching from bed +Config.AutoAttach = true --Automatically attach a vehicle when it reaches the min winch length +Config.Doublecheck = true -- Double locks the vehicle onto the bed to try and ensure its touching the bed + +Config.LegacyMove = false -- Set to true if the new winch method does not work for you + + +--Bed Movement +Config.BedSpeed = 0.0003 -- Speed of the bed movement +Config.DisableUnloadOnUp = true --Prevent Unloading car when bed is up + +--NOTIFICATIONS-- +Config.Notifications = true -- See utils.lua for functions + +--TRANSLATIONS More customization in utils.lua including key controls +Config.NotiUnLoadCompleteMessage = "Unload Complete" +Config.NotiLoadCompleteMessage = "Loading Complete" +Config.NotiBlockedMessage = "Unloading zone blocked" +Config.NotiFBBlockedMessage = "Flatbed blocked or occupied" + +--========Target System========-- +Config.UseTarget = false --Enable Target system. Set up in utils.lua. Supports qb-target by default + +--If the below are disabled, it is recommened to set Config.ShowMarkers and Config.ShowHelp to false +Config.DisableExtKeyControls = false --Disable key controls for bed control. Attach/Detach from inside vehicle separate +Config.DisableInVehControl = false --Disable key controls for in vehicle. + +--========Markers & Prompts=======-- +--Increases tick rate from 0.01 to 0.08 - 0.1 when in range +Config.ShowMarkers = true -- Display markers at interaction points +Config.ShowHelp = true -- Display help prompts + +Config.MarkerDistance = 5.0 -- Distance from point to see marker +Config.WaitTimer = 3000 -- Update rate to check for nearby trailer seconds * 1000 (Default 3000) + +Config.MessageDistance = 2.0 -- Distance from point to display message (Default 2.0) +Config.Marker = { + type = 1, -- marker shape: https://docs.fivem.net/docs/game-references/markers/ (Default 27) + + Size = 1.0, -- marker size (Default 2.0) + + Color = { -- RGBA color + red = 100, + green = 200, + blue = 200, + alpha = 150 + }, + heightOffset = 0.0, -- Height from ground for marker. Marker at ground Z (Default 0.0) + Bob = false, -- Marker bobbing up and down (Default false) + faceCamera = false, -- Marker always faces camera (Default false) + rotate = false -- Marker rotates (Default false) +} + +Config.Controlmessages = { + LowerBed = "Lower", + RaiseBed = "Raise bed", + AttachVehicle = "Attach/Detach", + WindWinch = "Wind", + ExtendWinch = "Unwind", + DetachWinch = "Detach Winch", + GrabWinch = "Grab Winch", + ReturnWinch = "Return Winch", + AttachWinch = "Attach Winch", + WheelLift = "WheelLift" +} + +--========Trucks========-- +Config.Trucks = { + + --Bagged + [GetHashKey('bcsandking5500wr2')] = { + type = 'rolling', -- Rolling for moving beds, static for flatbeds like the vanilla flatbed + boneName = 'misc_a', -- Name of the bone to attach to Generally embedded in the flatbed + hasBedControl = true, + MaxUnwindDistance = 10.0, -- Max distance in meters the winch will unwind + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 0.4, -0.1), -- Offset from the boneName position + carHeightOffset = 0.375, -- Height to adjust attached car by + winchBone = 'misc_b', -- Bone for winch Rope + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, -- How far backwards from the winch bone to check from + animation = true, + animExt = 1 + }, + [GetHashKey('ct660tow')] = { + type = 'rolling', -- Rolling for moving beds, static for flatbeds like the vanilla flatbed + boneName = 'misc_a', -- Name of the bone to attach to Generally embedded in the flatbed + hasBedControl = true, + MaxUnwindDistance = 10.0, -- Max distance in meters the winch will unwind + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 0.4, -0.1), -- Offset from the boneName position + carHeightOffset = 0.375, -- Height to adjust attached car by + winchBone = 'misc_b', -- Bone for winch Rope + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, -- How far backwards from the winch bone to check from + MinPos = 0.03, -- Position of the bed when raised fully + MaxPos = 0.26 -- Position of the bed when lowered fully + }, + [GetHashKey('bcthauler2')] = { + type = 'trailer', -- Trailer + boneName = 'misc_a', -- Name of the bone to attach to Generally embedded in the flatbed + hasBedControl = true, + MaxUnwindDistance = 10.0, -- Max distance in meters the winch will unwind + BedControl = {vector3(-1.0,4.0,-0.55),vector3(1.0,4.0,-0.55)}, + winchBone = 'misc_b', -- Bone for winch Rope + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, -- How far backwards from the winch bone to check from + }, + [GetHashKey('bc205500w')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 0.8, 0.0), + carHeightOffset = 0.2, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.028, + MaxPos = 0.26 + }, + [GetHashKey('bcsandking5500wr')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 0.8, 0.0), + carHeightOffset = -0.05, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 3.0, --How far backwards from the winch bone to check from + MinPos = 0.03, --Position of the bed when raised fully + MaxPos = 0.26 -- Position of the bed when lowered fully + }, + --Code3 + [GetHashKey('c3rollback')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-6.0,-0.55)}, + carPosition = vector3(0.0, 0.5, 0.2), + carHeightOffset = -0.05, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.02, + MaxPos = 0.25 + }, + [GetHashKey('c3pwrollback')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.6,-0.55)}, + carPosition = vector3(0.0, 0.5, 0.2), + carHeightOffset = -0.05, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.02, + MaxPos = 0.22 + }, + [GetHashKey('c3f350rollback')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.6,-0.55)}, + carPosition = vector3(0.0, 0.5, 0.2), + carHeightOffset = -0.05, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.02, + MaxPos = 0.23 + }, + [GetHashKey('c3navistar')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.2,-0.55),vector3(1.8,-5.2,-0.55)}, + carPosition = vector3(0.0, 0.4, -0.4), + carHeightOffset = 0.0, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.02, + MaxPos = 0.27 + }, + [GetHashKey('c3silvrollback')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.9,-0.55)}, + carPosition = vector3(0.0, 0.5, -0.0), + carHeightOffset = -0.05, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.02, + MaxPos = 0.23 + }, + + --Redneck + [GetHashKey('f550rb')] = { + type = 'rolling', + staticBed = false, + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.75,-0.55),vector3(1.8,-4.75,-0.55)}, + carPosition = vector3(0.0, -0.0, 0.0), + carHeightOffset = 0.2, + winchBone = 'attach_male', + winchDistCheck = 5.0, + winchOffset = 8.0, + MinPos = 0.00, + MaxPos = 0.33 + + }, + [GetHashKey('f550rbc')] = { + type = 'rolling', + staticBed = false, + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.75,-0.55),vector3(1.8,-4.75,-0.55)}, + carPosition = vector3(0.0, -0.0, 0.0), + carHeightOffset = -0.2, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.33 + }, + [GetHashKey('20ramrbc')] = { + type = 'rolling', + staticBed = false, + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.75,-0.55),vector3(1.8,-4.75,-0.55)}, + carPosition = vector3(0.0, -0.0, 0.0), + carHeightOffset = 0, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.33 + + }, + + --https://www.gta5-mods.com/vehicles/freightliner-m2-crew-cab-flatbed-add-on-script-beta [[VEHICLE ONLY]] + [GetHashKey('flatbedm2')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55), vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 1.2, -0.1), + carHeightOffset = 0.2, + winchBone = 'misc_b', + winchDistCheck = 10.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0 , --How far backwards from the winch bone to check from + MinPos = 0.025, + MaxPos = 0.22 + }, + + --LordGooben + [GetHashKey('lgc19flatbed')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, 1.2, -0.1), + carHeightOffset = 0.5, + winchBone = 'misc_b', + winchDistCheck = 10.0, + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.028, + MaxPos = 0.23 + }, + + --MAOAM + [GetHashKey('biftowmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,0.55),vector3(1.8,-1.5,0.55)}, + unloadPos = {vector3(-2.0,-2.0,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.06), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 5.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.25, + wheellift = 5 + + }, + [GetHashKey('389towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,0.55),vector3(1.8,-1.5,0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + + }, + [GetHashKey('389towmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,0.55),vector3(1.8,-1.5,0.55)}, + carPosition = vector3(0.0, -0.1, 0.06), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + + }, + [GetHashKey('389towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.9,0.55),vector3(1.8,-1.9,0.55)}, + carPosition = vector3(0.0, -0.3, -0.12), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.22, + wheellift = 5 + + }, + [GetHashKey('389towmfd5')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.9,0.55),vector3(1.8,-1.9,0.55)}, + carPosition = vector3(0.0, -0.3, -0.12), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.22, + wheellift = 5 + + }, + [GetHashKey('389towmfd6')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 12.0, + BedControl = {vector3(-1.8,-2.5,0.55), vector3(1.8,-2.5,0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.14, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.035, + MaxPos = 0.25, + wheellift = 5 + + }, + + [GetHashKey('389towmfd7')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.9,0.55),vector3(1.8,-1.9,0.55)}, + carPosition = vector3(0.0, -1.2, -0.08), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.036, + MaxPos = 0.24, + wheellift = 5 + + }, + + [GetHashKey('112towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 11.0, + BedControl = {vector3(-1.8,-7.5,-0.55),vector3(1.8,-7.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.2), + carHeightOffset = 0.0, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + }, + [GetHashKey('t112towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 11.0, + BedControl = {vector3(-1.8,-7.5,-0.55),vector3(1.8,-7.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.2), + carHeightOffset = 0.0, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + }, + [GetHashKey('108towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-3.0,-0.55),vector3(1.8,-3.0,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.4, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + }, + [GetHashKey('t108towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-3.0,-0.55),vector3(1.8,-3.0,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.4, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + }, + [GetHashKey('108utwmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-3.0,-0.55),vector3(1.8,-3.0,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.55, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21 + }, + + [GetHashKey('440towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-6.5,-0.55),vector3(1.8,-6.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.1, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.24, + wheellift = 5 + }, + [GetHashKey('t440towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-6.5,-0.55),vector3(1.8,-6.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.1, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.24, + wheellift = 5 + }, + [GetHashKey('440towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.45, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.26, + wheellift = 5 + }, + [GetHashKey('t440towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.45, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.26, + wheellift = 5 + }, + [GetHashKey('cortowmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.25,-0.55),vector3(1.8,-5.25,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.05, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.26, + wheellift = 5 + }, + [GetHashKey('tcortowmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.25,-0.55),vector3(1.8,-5.25,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.05, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.26, + wheellift = 5 + }, + [GetHashKey('112utwmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-2.5,-0.55),vector3(1.8,-2.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.6, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25 + }, + + [GetHashKey('112utwmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-2.5,-0.55),vector3(1.8,-2.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.6, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25 + }, + + [GetHashKey('112towmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-7.0,-0.55),vector3(1.8,-7.0,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.25, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.23, + wheellift = 5 + + }, + + [GetHashKey('112towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.3, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.23, + wheellift = 5 + }, + [GetHashKey('t112towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.3, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.0, + MaxPos = 0.23, + wheellift = 5 + }, + [GetHashKey('t112towmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.3, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.23, + wheellift = 5 + }, + [GetHashKey('t112towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.3, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.23, + wheellift = 5 + }, + [GetHashKey('112towmfd5')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-3.0,-0.55),vector3(1.8,-3.0,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.35, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.24, + wheellift = 5 + }, + [GetHashKey('t112towmfd5')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-3.0,-0.55),vector3(1.8,-3.0,-0.55)}, + carPosition = vector3(0.0, -0.1, 0.0), + carHeightOffset = 0.35, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.24, + wheellift = 5 + }, + [GetHashKey('112towmfd6')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 12.0, + BedControl = {vector3(-1.8,-3.0,0.55),vector3(1.8,-3.0,0.55)}, + carPosition = vector3(0.0, -1.2, -0.08), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.01, + MaxPos = 0.24, + wheellift = 5 + + }, + [GetHashKey('t112towmfd6')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 12.0, + BedControl = {vector3(-1.8,-3.0,0.55),vector3(1.8,-3.0,0.55)}, + carPosition = vector3(0.0, -1.2, -0.08), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.24, + wheellift = 5 + + }, + [GetHashKey('112boxmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-6.0,-0.55),vector3(1.8,-6.0,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.3, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.25, + wheellift = 5 + }, + + [GetHashKey('800towmfd4')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-2.5,-0.55),vector3(1.8,-7.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = 0.0, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.0, + MaxPos = 0.21 + }, + + [GetHashKey('550towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,0.55),vector3(1.8,-1.5,0.55)}, + carPosition = vector3(0.0, -0.1, -0.5), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 5.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.17, + wheellift = 5 + }, + [GetHashKey('t550towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,0.55),vector3(1.8,-1.5,0.55)}, + carPosition = vector3(0.0, -0.1, -0.5), + carHeightOffset = 0.375, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 5.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.17, + wheellift = 5 + }, + + --MAOAM Public Release https://www.gta5-mods.com/vehicles/peterbilt-337-tuning-by-mfd-fivem + [GetHashKey('Gtow')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.0,-0.55),vector3(1.8,-4.0,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.2), + carHeightOffset = 0.0, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 10.0, --How far backwards from the winch bone to check from + MinPos = 0.01, + MaxPos = 0.2 + }, + + [GetHashKey('106towmfd1')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + [GetHashKey('t106towmfd1')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + [GetHashKey('106towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + [GetHashKey('t106towmfd2')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + [GetHashKey('106towmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + [GetHashKey('t106towmfd3')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-1.5,-0.55),vector3(1.8,-1.5,-0.55)}, + carPosition = vector3(0.0, -0.2, -1.0), + carHeightOffset = 0.35, --Will vary per truck + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.00, + MaxPos = 0.21, + wheellift = 5 + }, + --Paul + [GetHashKey('rollback2')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.1, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.025, + MaxPos = 0.23 + }, + [GetHashKey('rollback3')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.1, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.025, + MaxPos = 0.23 + }, + [GetHashKey('rollback4')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.9,-0.55),vector3(1.8,-4.9,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.2, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.23 + }, + [GetHashKey('rollback14')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.22, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.032, + MaxPos = 0.23 + }, + [GetHashKey('rollback1')] = { + type = 'rolling', + boneName = 'misc_a', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.22, + winchBone = 'misc_b', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.032, + MaxPos = 0.23 + }, + + --Flair + [GetHashKey('independent389')] = { + type = 'rolling', + boneName = 'misc_z', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-6.4,-0.55),vector3(1.8,-6.4,-0.55)}, + carPosition = vector3(0.0, -0.2, 0.0), + carHeightOffset = -0.05, + winchBone = 'attach_male', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, --How far backwards from the winch bone to check from + MinPos = 0.03, + MaxPos = 0.23, + wheellift = 5 + }, + + --Other + [GetHashKey('towy')] = { + type = 'rolling', + boneName = 'misc_b', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.5,-0.55),vector3(1.8,-5.5,-0.55)}, + carPosition = vector3(0.0, 0.4, -0.1), + carHeightOffset = -0.1, + winchBone = 'misc_a', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.028, + MaxPos = 0.26 + }, + + [GetHashKey('ramtow')] = { + type = 'rolling', + boneName = 'misc_f', + hasBedControl = true, + MaxUnwindDistance = 10.0, + BedControl = {vector3(-1.8,-5.0,-0.55),vector3(1.8,-5.0,-0.55)}, + carPosition = vector3(0.0, -0.5, 0.0), + carHeightOffset = 0.15, + winchBone = 'misc_w', + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 8.0, --How far backwards from the winch bone to check from + MinPos = 0.028, + MaxPos = 0.26 + }, + + + --STATIC BEDS + [GetHashKey('flatbed')] = { + type = 'static', + carloadPos = vector3(0.0, -10.0, -0.55), + BedControl = {vector3(-2.0, -5.0, -0.55)}, + carPosition = vector3(0.0, -2.3, 0.4), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.7, + }, + [GetHashKey('slamtruck')] = { + type = 'static', + carloadPos = vector3(0.0, -8.0, -0.55), + BedControl = {vector3(-2.0, -4.0, -0.55)}, + carPosition = vector3(0.0, -2.3, 0.4), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.7, + chkDist = 4.0 + }, + + --PICKUP TRUCK EXAMPLE + [GetHashKey('sadler')] = { + type = 'static', + carloadPos = vector3(0.0, -5.5, -0.55), + BedControl = {vector3(-1.5, -3.0, -0.55)}, + carPosition = vector3(0.0, -2.2, 0.8), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.6, + }, + + --Corentin + [GetHashKey('flatbed1amber')] = { + type = 'static', + carloadPos = vector3(-1.0, -9.0, -0.55), + BedControl = {vector3(-2.0, -5.0, -0.55)}, + carPosition = vector3(0.0, -1.9, 0.1), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.3, + }, + + [GetHashKey('flatbed2amber')] = { + type = 'static', + carloadPos = vector3(-1.0, -9.0, -0.55), + BedControl = {vector3(-2.0, -5.0, -0.55)}, + carPosition = vector3(0.0, -3.3, 0.0), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.3, + }, + + [GetHashKey('flatbed3amber')] = { + type = 'static', + carloadPos = vector3(-1.0, -9.0, -0.55), + BedControl = {vector3(-2.0, -5.0, -0.55)}, + carPosition = vector3(0.0, -3.3, 0.0), + bikePositions = {vector3(0.0, -2.3, 0.8)}, + carHeightOffset = -0.3, + }, + --lorewave + [GetHashKey('nkbrickade')] = { + type = 'rolling', -- Rolling for moving beds, static for flatbeds like the vanilla flatbed + boneName = 'scoop', -- Name of the bone to attach to Generally embedded in the flatbed + hasBedControl = true, + MaxUnwindDistance = 10.0, -- Max distance in meters the winch will unwind + BedControl = {vector3(-1.8,-4,-0.55),vector3(1.8,-4,-0.55)}, + carPosition = vector3(0.0, 0.4, -0.1), -- Offset from the boneName position + carHeightOffset = 17.9, -- Height to adjust attached car by + winchBone = 'misc_x', -- Bone for winch Rope + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, -- How far backwards from the winch bone to check from + MinPos = 0.03, -- Position of the bed when raised fully + MaxPos = 0.28, -- Position of the bed when lowered fully + bedOffset = 19.5, + chkDist = 6.0, + unloadOffset = 0.1 + }, + [GetHashKey('nkguardian')] = { + type = 'rolling', -- Rolling for moving beds, static for flatbeds like the vanilla flatbed + boneName = 'scoop', -- Name of the bone to attach to Generally embedded in the flatbed + hasBedControl = true, + MaxUnwindDistance = 10.0, -- Max distance in meters the winch will unwind + BedControl = {vector3(-1.8,-4.5,-0.55),vector3(1.8,-4.5,-0.55)}, + carPosition = vector3(0.0, -0.1, -0.1), -- Offset from the boneName position + carHeightOffset = 13.55, -- Height to adjust attached car by + winchBone = 'misc_x', -- Bone for winch Rope + winchDistCheck = 5.0, -- How far from winchOffset to check for a vehicle + winchOffset = 12.0, -- How far backwards from the winch bone to check from + MinPos = 0.03, -- Position of the bed when raised fully + MaxPos = 0.28, -- Position of the bed when lowered fully + bedOffset = 14.5, + chkDist = 5.0, + unloadOffset = 0.1 + }, +} + +Config.BlacklistedVehs = { + 'kamacho' +} \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/fxmanifest.lua b/resources/[EGRP-CarPacks]/ebu_flatbeds/fxmanifest.lua new file mode 100644 index 000000000..5cd94b750 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_flatbeds/fxmanifest.lua @@ -0,0 +1,27 @@ +fx_version 'adamant' +game 'gta5' +lua54 'yes' + +description 'Flatbeds Winch Script' +author 'Theebu' + +version '0.7.7b' + +shared_scripts { + 'config.lua', +} + +client_scripts { + 'client/utils.lua', + 'client/client.lua' +} + +server_scripts { + 'server/server.lua' +} + +escrow_ignore { + 'config.lua', + 'client/utils.lua' +} +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_flatbeds/server/server.lua b/resources/[EGRP-CarPacks]/ebu_flatbeds/server/server.lua new file mode 100644 index 000000000..be7f213d4 Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_flatbeds/server/server.lua differ diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/.fxap b/resources/[EGRP-CarPacks]/ebu_trailer/.fxap new file mode 100644 index 000000000..5be7789d0 Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_trailer/.fxap differ diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/client/client.lua b/resources/[EGRP-CarPacks]/ebu_trailer/client/client.lua new file mode 100644 index 000000000..f060ee1fb Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_trailer/client/client.lua differ diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/client/utils.lua b/resources/[EGRP-CarPacks]/ebu_trailer/client/utils.lua new file mode 100644 index 000000000..f70ada36a --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_trailer/client/utils.lua @@ -0,0 +1,151 @@ +RegisterKeyMapping("+trailerAttach", Config.Controlmessages.AttachVehicle, "keyboard", "g") +RegisterKeyMapping("+trailerInteract", Config.Controlmessages.RampInteract, "keyboard", "e") +RegisterKeyMapping("+trailerDetach", Config.Controlmessages.DetachAllVehicle, "keyboard", "h") + +RegisterKeyMapping("+trailerWarp", "Get in attached vehicle", "keyboard", "f") +RegisterKeyMapping("+trailerConnect", "Connect any trailer", "keyboard", "j") + +function NotiAtt() -- Attached notification + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiLoadMessage) + EndTextCommandThefeedPostTicker(true, true) +end + +function NotiDet() -- Detached notification + BeginTextCommandThefeedPost("STRING") + AddTextComponentSubstringPlayerName(Config.NotiUnLoadMessage) + EndTextCommandThefeedPostTicker(true, true) +end + +-- Use this function for job locking. If the job is correct, return true. +-- Please refer to your framework's job system for how to implement, I do not support +-- job checking integration. -Theebu +function allowed() + return true +end + +--This function returns if the vehicle is locked or not when trying to get in the loaded vehicle from next to the trailer +--false = NOT locked true == LOCKED +function IsVehicleLocked(car) + + return DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 2 or DecorGetInt(car, '_VEH_DOOR_LOCK_STATUS') == 10 +end + +--Help Text Messages +function message(lineOne, lineTwo, lineThree, duration) + BeginTextCommandDisplayHelp("THREESTRINGS") + AddTextComponentSubstringPlayerName(lineOne) + AddTextComponentSubstringPlayerName(lineTwo or "") + AddTextComponentSubstringPlayerName(lineThree or "") + + -- shape (always 0), loop (bool), makeSound (bool), duration (5000 max 5 sec) + EndTextCommandDisplayHelp(0, false, false, duration or 5000) +end + +if Config.UseTarget then + --QB CORE + if Config.Target == 'qb-target' then + exports['qb-target']:AddTargetBone({'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet"}, { + options = { + { + icon = 'fa-solid fa-truck-ramp-box', + label = 'Toggle Ramp', + action = function(entity) + interactCheck(entity) + end, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + }, + { + icon = 'fa-solid fa-lock', + label = 'Attach load', + action = function(entity) + attachAllCheck(entity) + end, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + }, + { + icon = 'fa-solid fa-lock-open', + label = 'Detach load', + action = function(entity) + detachAllCheck(entity) + end, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + }, + { + icon = 'fa-solid fa-lock-open', + label = 'Attach/Detach Vehicle', + action = function(entity) + attachCheck2(entity) + end, + canInteract = function(entity, distance, data) + local vehCoords = GetEntityCoords(entity) + local vehicle = getVehicleInDirection(vector3(vehCoords.x, vehCoords.y, vehCoords.z + 1.0), vector3(vehCoords.x, vehCoords.y, vehCoords.z - 8.0), entity) + return allowed() and DoesEntityExist(vehicle) and Config.Trailers[GetEntityModel(vehicle)] and vehicle ~= entity + end, + } + }, + distance = 5.5, + }) + elseif Config.Target == 'ox_target' then + exports["ox_target"]:addGlobalVehicle( + { + { + icon = 'fa-solid fa-truck-ramp-box', + label = 'Toggle Ramp', + bones = {'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet"}, + distance = 2.0, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + onSelect = function(data) + interactCheck(data.entity) + end + }, + { + icon = 'fa-solid fa-lock', + label = 'Attach load', + bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet", + distance = 2.0, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + onSelect = function(data) + attachAllCheck(data.entity) + end + }, + { + icon = 'fa-solid fa-lock-open', + label = 'Detach load', + bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet", + distance = 2.0, + canInteract = function(entity, distance, data) + return Config.Trailers[GetEntityModel(entity)] and allowed() + end, + onSelect = function(data) + detachAllCheck(data.entity) + end + }, + { + icon = 'fa-solid fa-lock-open', + label = 'Attach/Detach Vehicle', + bones = 'boot', 'chassis', "door_dside_f", "door_dside_r", "door_pside_f", "door_pside_f", "bonnet", + distance = 2.0, + canInteract = function(entity, distance, data) + local vehCoords = GetEntityCoords(entity) + local vehicle = getVehicleInDirection(vector3(vehCoords.x, vehCoords.y, vehCoords.z + 1.0), vector3(vehCoords.x, vehCoords.y, vehCoords.z - 8.0), entity) + return allowed() and DoesEntityExist(vehicle) and Config.Trailers[GetEntityModel(vehicle)] and vehicle ~= entity + end, + onSelect = function(data) + attachCheck2(data.entity) + end + } + } + ) + end +end diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/config.lua b/resources/[EGRP-CarPacks]/ebu_trailer/config.lua new file mode 100644 index 000000000..12978cef1 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_trailer/config.lua @@ -0,0 +1,352 @@ +Config = {} + +Config.CheckDistance = 11 -- Distance to check for nearby trailers +Config.InteractDistance = 2.5 -- Distance from point control works + +Config.rampInstant = false -- Instantly open/close ramp. Enable if ramps won't close + +Config.AttachNotify = true -- Enable notifications +Config.NotiLoadMessage = 'Vehicle Loaded' +Config.NotiUnLoadMessage = 'Vehicle Unloaded' + +Config.UseExternalTrailerConnect = false -- Set to True if you want to use ebu_trailerconnect with the whitelist/blacklist control +--========Interaction Type========-- +--======[[see utils.lua to modify]]======-- +Config.UseTarget = false -- If True, Markers & Prompts will be disabled except for in vehicle +Config.Target = 'qb-target' + + +--========Markers & Prompts=======-- +--Increases tick rate from 0.01 to 0.08 - 0.1 when in range +Config.WaitTimer = 3000 -- Update rate to check for nearby trailer seconds * 1000 (Default 3000) +Config.ShowMarkers = true -- Display markers at interaction points +Config.ShowHelp = true -- Display help prompts +Config.MessageDistance = 2.0 -- Distance from point to display message (Default 2.0) +Config.Marker = { + type = 1, -- marker shape: https://docs.fivem.net/docs/game-references/markers/ (Default 27) + + Size = 1.0, -- marker size (Default 2.0) + + Color = { -- RGBA color + red = 100, + green = 200, + blue = 200, + alpha = 150 + }, + heightOffset = 0.0, -- Height from ground for marker. Marker at ground Z (Default 0.0) + Bob = false, -- Marker bobbing up and down (Default false) + faceCamera = false, -- Marker always faces camera (Default false) + rotate = false -- Marker rotates (Default false) +} +Config.Controlmessages = { + RampInteract = " Toggle Ramp", + AttachVehicle = " Attach/Detach vehicle", + AttachAllVehicle = " Attach All", + DetachAllVehicle = " Detach All", +} + + + +--========Trailers=======-- +--[[ CONFIG EXAMPLE AND EXPLANATIONS + + [GetHashKey('[MODELNAME]')] = { -- Enter the spawn name + hasRamp = true, -- true or false : If false, trailer functions still work but no interaction for the ramp will be present + + rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)}, -- array | (x,y,z) positon from center of trailer. Point of ramp interaction circle + isRampExtra = true, -- (optional) true or false : Sets if the ramp is an extra. If false or not present, treats as a door + rampDoorNum = 3, -- door or extra number | Can be an array of numbers + doorwithRampNums = {2,3}, -- doors that will open or close when the ramp is toggled + extraswithRampNums = {-1,2} -- extras that will toggle when the ramp is toggled. If negative, will set the extra to be opposite the door + }, + +]] +Config.Trailers = { + + [GetHashKey('blomenroehr')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)}, + rampDoorNum = 5, + }, + + [GetHashKey('3ctrailer')] = { + hasRamp = true, + + rampPos = {vector3(-2.0,-4.0,0.25),vector3(2.0,-4.0,0.25)}, + rampDoorNum = 5, + }, + + + [GetHashKey('cotrailer')] = { + hasRamp = true, + + rampPos = {vector3(-2.0,-4.0,-0.55),vector3(2.0,-4.0,-0.55)}, + rampDoorNum = 5, + + }, + [GetHashKey('shauler')] = { + hasRamp = true, + + rampPos = {vector3(-2.0,-4.0,0.25),vector3(2.0,-4.0,0.25)}, + rampDoorNum = 5, + }, + [GetHashKey('godzcoe')] = { + hasRamp = false, + + rampPos = {vector3(-2.0,-4.0,-0.55),vector3(2.0,-4.0,-0.55)}, + rampDoorNum = 5, + }, + [GetHashKey('thauler')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.0, -0.25), vector3(-1.5, -3.0, -0.25)}, + rampDoorNum = 5, + }, + [GetHashKey('btrailer')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)}, + rampDoorNum = 5, + }, + [GetHashKey('bclandscape')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -4.0, -0.45), vector3(-1.5, -4.0, -0.45)}, + rampDoorNum = 5, + }, + [GetHashKey('trailersmall')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -4.0, -0.45), vector3(-1.5, -4.0, -0.45)}, + rampDoorNum = 5, + }, + [GetHashKey('camperman')] = { + hasRamp = true, + + rampPos = {vector3(2.0, -6.0, 0.1), vector3(-1.5, -6.0, 0.1)}, + rampDoorNum = 4, + }, + [GetHashKey('chauler')] = { + + attNode = 'boot', + heightOff = 0.5, + hasRamp = true, + + rampPos = {vector3(1.5, -2.7, -0.25), vector3(-1.5, -2.7, -0.25)}, + rampDoorNum = 5, + }, + [GetHashKey('cartrailer')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.7, -1.0), vector3(-1.5, -3.7, -1.0)}, + isRampExtra = true, + rampDoorNum = 5, + + }, + [GetHashKey('semihauler')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -7.5, -1.4), vector3(1.8, -7.5, -1.4)}, + rampDoorNum = 5, + }, + [GetHashKey('bigtex40')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)}, + rampDoorNum = 5, + }, + [GetHashKey('loadtrail')] = { + hasRamp = true, + isRampExtra = true, + + rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)}, + rampDoorNum = 1, + }, + [GetHashKey('bigtex20')] = { --bigtex20hasRamp = true, + + rampPos = {vector3(-1.8, -3.0, -0.8), vector3(1.8, -3.0, -0.8)}, + rampDoorNum = 5, + }, + [GetHashKey('godzhauler')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, 0.1), vector3(1.8, -5.0, 0.1)}, + rampDoorNum = 5, + }, + [GetHashKey('godzenclosed')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)}, + isRampExtra = true, + rampDoorNum = 3, + doorwithRampNums = {2,3}, + }, + [GetHashKey('enclosedgoose')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -0.5), vector3(1.8, -5.5, -0.5)}, + rampDoorNum = {0,5}, + }, + [GetHashKey('godzbenson')] = { + + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -1.0), vector3(1.8, -5.5, -1.0)}, + rampDoorNum = 5, + }, + [GetHashKey('trailers3')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)}, + rampDoorNum = 5, + }, + [GetHashKey('trflat')] = { + hasRamp = false, + + rampPos = {vector3(-1.8, -5.5, 0.0), vector3(1.8, -5.5, 0.0)}, + rampDoorNum = 5, + }, + [GetHashKey('17fontaine')] = { + hasRamp = false, + + rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)}, + rampDoorNum = 5, + }, + [GetHashKey('17fontainev2')] = { + hasRamp = false, + + rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)}, + rampDoorNum = 5, + }, + [GetHashKey('17fontainev3')] = { + hasRamp = false, + + rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)}, + rampDoorNum = 5, + }, + [GetHashKey('17fontainev4')] = { + hasRamp = false, + + rampPos = {vector3(-1.8, -5.5, -3.0), vector3(1.8, -5.5, -3.0)}, + rampDoorNum = 5, + }, + [GetHashKey('20fttrailer')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.7, -1.0), vector3(-1.5, -3.7, -1.0)}, + isRampExtra = true, + rampDoorNum = 3, + + }, + [GetHashKey('8220b')] = { + + hasRamp = true, + + rampPos = {vector3(-1.8, -3.0, -0.1), vector3(1.8, -3.0, -0.1)}, + rampDoorNum = 5, + }, + [GetHashKey('8220')]= { + + hasRamp = true, + + rampPos = {vector3(-1.8, -3.0, -0.1), vector3(1.8, -3.0, -0.1)}, + rampDoorNum = 5, + + }, + [GetHashKey('8250')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -9.0, 0.1), vector3(1.8, -9.0, 0.1)}, + rampDoorNum = 5, + }, + [GetHashKey('pjutility')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.0, 0.2), vector3(-1.5, -3.0, 0.2)}, + rampDoorNum = 5, + }, + [GetHashKey('bigtexb')] = { + hasRamp = true, + + rampPos = {vector3(2.5, -4.0, -1.0), vector3(-2.5, -4.0, -1.0)}, + rampDoorNum = 5, + }, + [GetHashKey('ehauler')] = { + + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -0.0), vector3(1.8, -5.5, -0.0)}, + rampDoorNum = 5, + }, + [GetHashKey('pjtrailer')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, -1.0), vector3(1.8, -5.0, -1.0)}, + rampDoorNum = 5, + }, + [GetHashKey('ctrailer')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.5, -0.6), vector3(1.8, -5.5, -0.6)}, + rampDoorNum = 5, + }, + [GetHashKey('btex20')] = { + hasRamp = true, + + rampPos = {vector3(2.0, -5.0, -0.0), vector3(-2.0, -5.0, 0.0)}, + rampDoorNum = 5, + + }, + [GetHashKey('40ft')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)}, + isRampExtra = true, + rampDoorNum = 3, + + }, + [GetHashKey('eagerbeaver')] = { + hasRamp = true, + + rampPos = {vector3(2.0, -5.0, -0.0), vector3(-2.0, -5.0, 0.0)}, + rampDoorNum = 5, + + }, + [GetHashKey('valdeztrailer')] = { + hasRamp = true, + + rampPos = {vector3(1.5, -3.0, -0.45), vector3(-1.5, -3.0, -0.45)}, + rampDoorNum = 5, + }, + [GetHashKey('zJuksCarHauler40ft')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -12.0, 0.1), vector3(1.8, -12.0, 0.1)}, + isRampExtra = true, + rampDoorNum = 6, + }, + + [GetHashKey('trailkinght')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)}, + isRampExtra = true, + rampDoorNum = {8,9}, + }, + [GetHashKey('boogie36ftr')] = { + hasRamp = true, + + rampPos = {vector3(-1.8, -5.0, -0.8), vector3(1.8, -5.0, -0.8)}, + isRampExtra = true, + rampDoorNum = 1, + }, +} + +--========Vehicles with Toggled Extras=======-- +-- When a vehicle is attached, selected extras will be turned on. Useful for models with tie down extras + +-- Can be hashes or strings +Config.TogVehs = { + --['kamacho'] = {1}, +} \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/fxmanifest.lua b/resources/[EGRP-CarPacks]/ebu_trailer/fxmanifest.lua new file mode 100644 index 000000000..e6b0f60f6 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_trailer/fxmanifest.lua @@ -0,0 +1,23 @@ +fx_version 'adamant' +game 'gta5' + +description 'Trailer Script' +author 'theebu' +lua54 'yes' +version '0.6.3' + +client_scripts { + 'config.lua', + 'client/client.lua', + 'client/utils.lua' +} + +server_scripts { + 'server/server.lua' +} + +escrow_ignore { + 'config.lua', + 'client/utils.lua' +} +dependency '/assetpacks' \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/readme.md b/resources/[EGRP-CarPacks]/ebu_trailer/readme.md new file mode 100644 index 000000000..43205d6d2 --- /dev/null +++ b/resources/[EGRP-CarPacks]/ebu_trailer/readme.md @@ -0,0 +1,16 @@ +## ebu_trailer VERSION 6 +## author: theebu | https://discord.gg/SvxZj2h + + +## EXPORTS: +exports['ebu_trailer']:AttachVeh([vehicle]) +# [vehicle] is the target car to attach +# This runs the attach command to attach to a trailer. The trailer must be in the config + +exports['ebu_trailer']:attachAll([trailer]) +# [trailer] is the target trailer to attach to +# This attaches all vehicles on the target trailer + +exports['ebu_trailer']:detachAll([trailer]) +# [trailer] is the target trailer to detach from +# This detaches all vehicles on the target trailer \ No newline at end of file diff --git a/resources/[EGRP-CarPacks]/ebu_trailer/server/server.lua b/resources/[EGRP-CarPacks]/ebu_trailer/server/server.lua new file mode 100644 index 000000000..085116456 Binary files /dev/null and b/resources/[EGRP-CarPacks]/ebu_trailer/server/server.lua differ diff --git a/resources/[EGRP-Discord-Integration]/Discord-VehRestriction/config.lua b/resources/[EGRP-Discord-Integration]/Discord-VehRestriction/config.lua index e5d52eb86..84cd0e78b 100644 --- a/resources/[EGRP-Discord-Integration]/Discord-VehRestriction/config.lua +++ b/resources/[EGRP-Discord-Integration]/Discord-VehRestriction/config.lua @@ -4067,6 +4067,7 @@ Config.VehicleRestrictions = { "23f150prbb", "23f150st", "23gmc2", + "Maxlasd18charger", "23gmc2visor", "23gmcleo", "23gmcleoslick", @@ -5175,6 +5176,7 @@ Config.VehicleRestrictions = { "lasd13fsfpiu", "lasd16ram", "lasd18taurus", + "Maxlasd18charger", "lasd16chrgr", "lax20fpiu", "lasd20funm", diff --git a/resources/lvc/SIRENS.lua b/resources/lvc/SIRENS.lua index f59756b1b..7ce6dec01 100644 --- a/resources/lvc/SIRENS.lua +++ b/resources/lvc/SIRENS.lua @@ -314,7 +314,7 @@ SIREN_ASSIGNMENTS = { ['SH8172'] = { 18, 19, 20}, ['lasd1997'] = { 18, 19, 20}, ['lasd1997amber'] = { 18, 19, 20}, - + ['Maxlasd18charger'] = { 18, 19, 20, 36, 34, 37 }, ['senorapd18fpiu_817'] = { 18, 19, 20}, ['transportram'] = { 18, 19, 20}, diff --git a/resources/ulc/config.lua b/resources/ulc/config.lua index 37b44d134..f8772909b 100644 --- a/resources/ulc/config.lua +++ b/resources/ulc/config.lua @@ -392,7 +392,7 @@ Config = { "MPD21ppv", "sos23hoe", - + "Maxlasd18charger", "146charger", "122charger", diff --git a/server.cfg b/server.cfg index 0380fa0c2..5f584d8b8 100644 --- a/server.cfg +++ b/server.cfg @@ -207,6 +207,12 @@ ensure ebu_pmjstc ensure ebu_trlights ensure ebu_flagger ensure ebu_connect +ensure ebu_trailer +ensure ebu_flatbeds +ensure Maxlasd18charger +ensure + + ensure reverse-hud ensure helicam ensure tommys-pov