adding tow script
This commit is contained in:
@@ -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
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<CVehicleModelInfoVariation>
|
||||
<variationData>
|
||||
<Item>
|
||||
<modelName>Maxlasd18charger</modelName>
|
||||
<colors>
|
||||
<Item>
|
||||
<indices content="char_array">
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
28
|
||||
0
|
||||
</indices>
|
||||
<liveries>
|
||||
<Item value="false" />
|
||||
</liveries>
|
||||
</Item>
|
||||
</colors>
|
||||
<kits>
|
||||
<Item>0_default_modkit</Item>
|
||||
</kits>
|
||||
<windowsWithExposedEdges />
|
||||
<plateProbabilities>
|
||||
<Probabilities>
|
||||
<Item>
|
||||
<Name>Police guv plate</Name>
|
||||
<Value value="100" />
|
||||
</Item>
|
||||
</Probabilities>
|
||||
</plateProbabilities>
|
||||
<lightSettings value="239" />
|
||||
<sirenSettings value="352" />
|
||||
</Item>
|
||||
</variationData>
|
||||
</CVehicleModelInfoVariation>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<CHandlingDataMgr>
|
||||
<HandlingData>
|
||||
<Item type="CHandlingData">
|
||||
<handlingName>18CHARGER</handlingName>
|
||||
<fMass value="1850.000000" />
|
||||
<fInitialDragCoeff value="6.000000" />
|
||||
<fPercentSubmerged value="85.000000" />
|
||||
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||
<vecInertiaMultiplier x="1.000000" y="1.600000" z="1.600000" />
|
||||
<fDriveBiasFront value="0.000000" />
|
||||
<nInitialDriveGears value="8" />
|
||||
<fInitialDriveForce value="0.500000" />
|
||||
<fDriveInertia value="1.800000" />
|
||||
<fClutchChangeRateScaleUpShift value="2.000000" />
|
||||
<fClutchChangeRateScaleDownShift value="2.000000" />
|
||||
<fInitialDriveMaxFlatVel value="355.000000" />
|
||||
<fBrakeForce value="1.900000" />
|
||||
<fBrakeBiasFront value="0.525000" />
|
||||
<fHandBrakeForce value="0.600000" />
|
||||
<fSteeringLock value="40.000000" />
|
||||
<fTractionCurveMax value="2.750000" />
|
||||
<fTractionCurveMin value="2.650000" />
|
||||
<fTractionCurveLateral value="22.500000" />
|
||||
<fTractionSpringDeltaMax value="0.020000" />
|
||||
<fLowSpeedTractionLossMult value="1.000000" />
|
||||
<fCamberStiffnesss value="0.000000" />
|
||||
<fTractionBiasFront value="0.484000" />
|
||||
<fTractionLossMult value="1.000000" />
|
||||
<fSuspensionForce value="2.100000" />
|
||||
<fSuspensionCompDamp value="1.400000" />
|
||||
<fSuspensionReboundDamp value="2.200000" />
|
||||
<fSuspensionUpperLimit value="0.090000" />
|
||||
<fSuspensionLowerLimit value="-0.120000" />
|
||||
<fSuspensionRaise value="0.000000" />
|
||||
<fSuspensionBiasFront value="0.470000" />
|
||||
<fAntiRollBarForce value="1.100000" />
|
||||
<fAntiRollBarBiasFront value="0.580000" />
|
||||
<fRollCentreHeightFront value="0.360000" />
|
||||
<fRollCentreHeightRear value="0.360000" />
|
||||
<fCollisionDamageMult value="1.000000" />
|
||||
<fWeaponDamageMult value="1.000000" />
|
||||
<fDeformationDamageMult value="0.800000" />
|
||||
<fEngineDamageMult value="1.500000" />
|
||||
<fPetrolTankVolume value="65.000000" />
|
||||
<fOilVolume value="5.000000" />
|
||||
<fSeatOffsetDistX value="0.000000" />
|
||||
<fSeatOffsetDistY value="0.000000" />
|
||||
<fSeatOffsetDistZ value="0.000000" />
|
||||
<nMonetaryValue value="35000" />
|
||||
<strModelFlags>440010</strModelFlags>
|
||||
<strHandlingFlags>0</strHandlingFlags>
|
||||
<strDamageFlags>0</strDamageFlags>
|
||||
<AIHandling>AVERAGE</AIHandling>
|
||||
<SubHandlingData>
|
||||
<Item type="CCarHandlingData">
|
||||
<fBackEndPopUpCarImpulseMult value="0.100000" />
|
||||
<fBackEndPopUpBuildingImpulseMult value="0.030000" />
|
||||
<fBackEndPopUpMaxDeltaSpeed value="0.600000" />
|
||||
</Item>
|
||||
<Item type="NULL" />
|
||||
<Item type="NULL" />
|
||||
</SubHandlingData>
|
||||
</Item>
|
||||
</HandlingData>
|
||||
</CHandlingDataMgr>
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -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 = {}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CVehicleModelInfo__InitDataList>
|
||||
<residentTxd>vehshare</residentTxd>
|
||||
<residentAnims />
|
||||
<InitDatas>
|
||||
<Item>
|
||||
<modelName>Maxlasd18charger</modelName>
|
||||
<txdName>Maxlasd18charger</txdName>
|
||||
<handlingId>18CHARGER</handlingId>
|
||||
<gameName>Maxlasd18charger</gameName>
|
||||
<vehicleMakeName>Maxlasd18charger</vehicleMakeName>
|
||||
<expressionDictName>null</expressionDictName>
|
||||
<expressionName>null</expressionName>
|
||||
<animConvRoofDictName>null</animConvRoofDictName>
|
||||
<animConvRoofName>null</animConvRoofName>
|
||||
<animConvRoofWindowsAffected />
|
||||
<ptfxAssetName>null</ptfxAssetName>
|
||||
<audioNameHash>str392m</audioNameHash>
|
||||
<layout>LAYOUT_STANDARD</layout>
|
||||
<coverBoundOffsets>BUFFALO_COVER_OFFSET_INFO</coverBoundOffsets>
|
||||
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
|
||||
<scenarioLayout />
|
||||
<cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
|
||||
<aimCameraName>BOX_VEHICLE_AIM_CAMERA</aimCameraName>
|
||||
<bonnetCameraName>VEHICLE_BONNET_CAMERA_STANDARD</bonnetCameraName>
|
||||
<povCameraName>DEFAULT_POV_CAMERA_LOOKAROUND</povCameraName>
|
||||
<FirstPersonDriveByIKOffset x="0.000000" y="-0.050000" z="-0.030000" />
|
||||
<FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||
<FirstPersonProjectileDriveByIKOffset x="0.000000" y="-0.088000" z="0.093000" />
|
||||
<FirstPersonProjectileDriveByPassengerIKOffset x="0.020000" y="0.060000" z="-0.090000" />
|
||||
<FirstPersonProjectileDriveByRearLeftIKOffset x="0.000000" y="0.000000" z="-0.055000" />
|
||||
<FirstPersonProjectileDriveByRearRightIKOffset x="0.000000" y="0.000000" z="-0.055000" />
|
||||
<FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="-0.040000" />
|
||||
<FirstPersonDriveByRightPassengerIKOffset x="-0.045000" y="-0.048000" z="-0.040000" />
|
||||
<FirstPersonDriveByRightRearPassengerIKOffset x="0.000000" y="0.000000" z="-0.040000" />
|
||||
<FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||
<FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||
<FirstPersonMobilePhoneOffset x="0.150000" y="0.268000" z="0.503000" />
|
||||
<FirstPersonPassengerMobilePhoneOffset x="0.136000" y="0.223000" z="0.425000" />
|
||||
<FirstPersonMobilePhoneSeatIKOffset>
|
||||
<Item>
|
||||
<Offset x="0.156000" y="0.223000" z="0.493000" />
|
||||
<SeatIndex value="2" />
|
||||
</Item>
|
||||
<Item>
|
||||
<Offset x="0.156000" y="0.223000" z="0.493000" />
|
||||
<SeatIndex value="3" />
|
||||
</Item>
|
||||
</FirstPersonMobilePhoneSeatIKOffset>
|
||||
<PovCameraOffset x="0.000000" y="-0.235000" z="0.590000" />
|
||||
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
|
||||
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.030000" />
|
||||
<PovRearPassengerCameraOffset x="0.000000" y="0.000000" z="0.070000" />
|
||||
<vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
|
||||
<shouldUseCinematicViewMode value="true" />
|
||||
<shouldCameraTransitionOnClimbUpDown value="false" />
|
||||
<shouldCameraIgnoreExiting value="false" />
|
||||
<AllowPretendOccupants value="true" />
|
||||
<AllowJoyriding value="true" />
|
||||
<AllowSundayDriving value="true" />
|
||||
<AllowBodyColorMapping value="true" />
|
||||
<wheelScale value="0.250000" />
|
||||
<wheelScaleRear value="0.250000" />
|
||||
<dirtLevelMin value="0.000000" />
|
||||
<dirtLevelMax value="50.000000" />
|
||||
<envEffScaleMin value="0.000000" />
|
||||
<envEffScaleMax value="1.000000" />
|
||||
<envEffScaleMin2 value="0.000000" />
|
||||
<envEffScaleMax2 value="1.000000" />
|
||||
<damageMapScale value="0.900000" />
|
||||
<damageOffsetScale value="1.000000" />
|
||||
<diffuseTint value="0x00FFFFFF" />
|
||||
<steerWheelMult value="1.000000" />
|
||||
<HDTextureDist value="5.000000" />
|
||||
<lodDistances content="float_array">
|
||||
15.000000
|
||||
30.000000
|
||||
70.000000
|
||||
140.000000
|
||||
500.000000
|
||||
500.000000
|
||||
</lodDistances>
|
||||
<minSeatHeight value="0.966" />
|
||||
<identicalModelSpawnDistance value="20" />
|
||||
<maxNumOfSameColor value="10" />
|
||||
<defaultBodyHealth value="1000.000000" />
|
||||
<pretendOccupantsScale value="1.000000" />
|
||||
<visibleSpawnDistScale value="1.000000" />
|
||||
<trackerPathWidth value="2.000000" />
|
||||
<weaponForceMult value="1.000000" />
|
||||
<frequency value="100" />
|
||||
<swankness>SWANKNESS_1</swankness>
|
||||
<maxNum value="999" />
|
||||
<flags>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</flags>
|
||||
<type>VEHICLE_TYPE_CAR</type>
|
||||
<plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
|
||||
<dashboardType>VDT_RACE</dashboardType>
|
||||
<vehicleClass>VC_EMERGENCY</vehicleClass>
|
||||
<wheelType>VWT_SPORT</wheelType>
|
||||
<trailers />
|
||||
<additionalTrailers />
|
||||
<drivers />
|
||||
<extraIncludes />
|
||||
<doorsWithCollisionWhenClosed />
|
||||
<driveableDoors />
|
||||
<bumpersNeedToCollideWithMap value="false" />
|
||||
<needsRopeTexture value="false" />
|
||||
<requiredExtras />
|
||||
<rewards />
|
||||
<cinematicPartCamera>
|
||||
<Item>WHEEL_FRONT_RIGHT_CAMERA</Item>
|
||||
<Item>WHEEL_FRONT_LEFT_CAMERA</Item>
|
||||
<Item>WHEEL_REAR_RIGHT_CAMERA</Item>
|
||||
<Item>WHEEL_REAR_LEFT_CAMERA</Item>
|
||||
</cinematicPartCamera>
|
||||
<NmBraceOverrideSet />
|
||||
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
|
||||
<buoyancySphereSizeScale value="1.000000" />
|
||||
<pOverrideRagdollThreshold type="NULL" />
|
||||
<firstPersonDrivebyData>
|
||||
<Item>STD_POLICE3_FRONT_LEFT</Item>
|
||||
<Item>STD_POLICE3_FRONT_RIGHT</Item>
|
||||
<Item>STD_POLICE2_REAR_LEFT</Item>
|
||||
<Item>STD_POLICE2_REAR_RIGHT</Item>
|
||||
</firstPersonDrivebyData>
|
||||
</Item>
|
||||
</InitDatas>
|
||||
<txdRelationships>
|
||||
<Item>
|
||||
<parent>vehicles_race_interior</parent>
|
||||
<child>vehicles_race_generic</child>
|
||||
</Item>
|
||||
<Item>
|
||||
<parent>vehicles_race_generic</parent>
|
||||
<child>Maxlasd18charger</child>
|
||||
</Item>
|
||||
</txdRelationships>
|
||||
</CVehicleModelInfo__InitDataList>
|
||||
@@ -15,7 +15,7 @@
|
||||
<animConvRoofName>null</animConvRoofName>
|
||||
<animConvRoofWindowsAffected />
|
||||
<ptfxAssetName>null</ptfxAssetName>
|
||||
<audioNameHash>bison</audioNameHash>
|
||||
<audioNameHash>SHERIFF2</audioNameHash>
|
||||
<layout>LAYOUT_STANDARD</layout>
|
||||
<coverBoundOffsets>GRESLEY_COVER_OFFSET_INFO</coverBoundOffsets>
|
||||
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
|
||||
|
||||
Binary file not shown.
@@ -15,7 +15,7 @@
|
||||
<animConvRoofName>null</animConvRoofName>
|
||||
<animConvRoofWindowsAffected />
|
||||
<ptfxAssetName>null</ptfxAssetName>
|
||||
<audioNameHash>bison</audioNameHash>
|
||||
<audioNameHash>SHERIFF2</audioNameHash>
|
||||
<layout>LAYOUT_STANDARD</layout>
|
||||
<coverBoundOffsets>GRESLEY_COVER_OFFSET_INFO</coverBoundOffsets>
|
||||
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
|
||||
|
||||
Binary file not shown.
@@ -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"
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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'
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
@@ -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},
|
||||
}
|
||||
@@ -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'
|
||||
@@ -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
|
||||
Binary file not shown.
@@ -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",
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -392,7 +392,7 @@ Config = {
|
||||
"MPD21ppv",
|
||||
"sos23hoe",
|
||||
|
||||
|
||||
"Maxlasd18charger",
|
||||
|
||||
"146charger",
|
||||
"122charger",
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user