adding new scripts

This commit is contained in:
KingMcDonalds
2025-07-07 15:57:37 -07:00
parent 64af84baad
commit 56dbe534c8
249 changed files with 45394 additions and 49 deletions
+16
View File
@@ -0,0 +1,16 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
files {
'vehicles.meta',
'carvariations.meta',
'carcols.meta',
'handling.meta',
'vehiclelayouts.meta',
}
data_file 'HANDLING_FILE' 'handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
data_file 'CARCOLS_FILE' 'carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'
File diff suppressed because it is too large Load Diff
+199
View File
@@ -0,0 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVariation>
<variationData>
<Item>
<modelName>19mustgt</modelName>
<colors>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item> <Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
30
0
0
0
11
13
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
</liveries>
</Item>
</colors>
<kits>
<Item>0_default_modkit</Item>
</kits>
<windowsWithExposedEdges />
<plateProbabilities>
<Probabilities />
</plateProbabilities>
<lightSettings value="904" />
<sirenSettings value="212752" />
</Item>
</variationData>
</CVehicleModelInfoVariation>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CExtraTextMetaFile>
<hasGlobalTextFile value="true"/>
<hasAdditionalText value="false"/>
<isTitleUpdate value="false"/>
</CExtraTextMetaFile>
+67
View File
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData"><!--19MUSTGT HANDLING STARTS HERE-->
<handlingName>19MUSTGT</handlingName>
<fMass value="1200.000000" />
<fInitialDragCoeff value="9.150000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="-0.070000" z="0.000000" />
<vecInertiaMultiplier x="1.200000" y="1.500000" z="1.600000" />
<fDriveBiasFront value="0.000000" />
<nInitialDriveGears value="7" />
<fInitialDriveForce value="0.333750" />
<fDriveInertia value="1.000000" />
<fClutchChangeRateScaleUpShift value="4.600000" />
<fClutchChangeRateScaleDownShift value="4.600000" />
<fInitialDriveMaxFlatVel value="153.850000" />
<fBrakeForce value="0.840000" />
<fBrakeBiasFront value="0.600000" />
<fHandBrakeForce value="0.800000" />
<fSteeringLock value="40.0000000" />
<fTractionCurveMax value="2.630000" />
<fTractionCurveMin value="2.495000" />
<fTractionCurveLateral value="22.500000" />
<fTractionSpringDeltaMax value="0.150000" />
<fLowSpeedTractionLossMult value="1.000000" />
<fCamberStiffnesss value="0.000000" />
<fTractionBiasFront value="0.4980000" />
<fTractionLossMult value="1.000000" />
<fSuspensionForce value="2.600000" />
<fSuspensionCompDamp value="1.300000" />
<fSuspensionReboundDamp value="2.800000" />
<fSuspensionUpperLimit value="0.070000" />
<fSuspensionLowerLimit value="-0.110000" />
<fSuspensionRaise value="0.02000" />
<fSuspensionBiasFront value="0.470000" />
<fAntiRollBarForce value="0.800000" />
<fAntiRollBarBiasFront value="0.680000" />
<fRollCentreHeightFront value="0.400000" />
<fRollCentreHeightRear value="0.400000" />
<fCollisionDamageMult value="0.700000" />
<fWeaponDamageMult value="1.000000" />
<fDeformationDamageMult value="0.700000" />
<fEngineDamageMult value="1.500000" />
<fPetrolTankVolume value="60.000000" />
<fOilVolume value="5.000000" />
<fSeatOffsetDistX value="0.000000" />
<fSeatOffsetDistY value="0.000000" />
<fSeatOffsetDistZ value="0.000000" />
<nMonetaryValue value="150000" />
<strModelFlags>440010</strModelFlags>
<strHandlingFlags>0</strHandlingFlags>
<strDamageFlags>0</strDamageFlags>
<AIHandling>SPORTS_CAR</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><!--19MUSTGT HANDLING ENDS HERE-->
</HandlingData>
</CHandlingDataMgr>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+115
View File
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfo__InitDataList>
<residentTxd>vehshare</residentTxd>
<residentAnims />
<InitDatas>
<Item>
<modelName>19mustgt</modelName>
<txdName>19mustgt</txdName>
<handlingId>19MUSTGT</handlingId>
<gameName>MustangGT</gameName>
<vehicleMakeName>FORD</vehicleMakeName>
<expressionDictName>null</expressionDictName>
<expressionName>null</expressionName>
<animConvRoofDictName>null</animConvRoofDictName>
<animConvRoofName>null</animConvRoofName>
<animConvRoofWindowsAffected />
<ptfxAssetName>null</ptfxAssetName>
<audioNameHash>ta185amv8</audioNameHash>
<layout>LAYOUT_LOW</layout>
<coverBoundOffsets>GROWLER_COVER_OFFSET_INFO</coverBoundOffsets>
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
<scenarioLayout />
<cameraName>FOLLOW_CHEETAH_CAMERA</cameraName>
<aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName>
<bonnetCameraName>VEHICLE_BONNET_CAMERA_LOW_LOW</bonnetCameraName>
<povCameraName>REDUCED_NEAR_CLIP_POV_CAMERA</povCameraName>
<FirstPersonDriveByIKOffset x="0.040000" y="-0.120000" z="-0.035000" />
<FirstPersonDriveByUnarmedIKOffset x="0.03000" y="-0.010000" z="-0.035000" />
<FirstPersonProjectileDriveByIKOffset x="0.070000" y="-0.110000" z="-0.080000" />
<FirstPersonProjectileDriveByPassengerIKOffset x="-0.120000" y="-0.1100000" z="-0.070000" />
<FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="-0.10000" z="-0.035000" />
<FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="-0.060000" z="-0.020000" />
<FirstPersonMobilePhoneOffset x="0.165000" y="0.128000" z="0.553000" />
<FirstPersonPassengerMobilePhoneOffset x="0.221000" y="0.093000" z="0.441000" />
<PovCameraOffset x="0.000000" y="-0.300000" z="0.600000" />
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
<vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
<shouldUseCinematicViewMode value="true" />
<shouldCameraTransitionOnClimbUpDown value="false" />
<shouldCameraIgnoreExiting value="false" />
<AllowPretendOccupants value="true" />
<AllowJoyriding value="true" />
<AllowSundayDriving value="true" />
<AllowBodyColorMapping value="true" />
<wheelScale value="0.283000" />
<wheelScaleRear value="0.283000" />
<dirtLevelMin value="0.000000" />
<dirtLevelMax value="0.300000" />
<envEffScaleMin value="0.000000" />
<envEffScaleMax value="1.000000" />
<envEffScaleMin2 value="0.000000" />
<envEffScaleMax2 value="1.000000" />
<damageMapScale value="0.600000" />
<damageOffsetScale value="0.600000" />
<diffuseTint value="0x00FFFFFF" />
<steerWheelMult value="0.850000" />
<HDTextureDist value="5.000000" />
<lodDistances content="float_array">
15.000000
30.000000
70.000000
140.000000
500.000000
500.000000
</lodDistances>
<minSeatHeight value="0.928" />
<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_3</swankness>
<maxNum value="999" />
<flags>FLAG_HAS_LIVERY FLAG_EXTRAS_ALL FLAG_SPORTS FLAG_PARKING_SENSORS</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>
<Item>EXTRA_1 EXTRA_2</Item>
</extraIncludes>
<doorsWithCollisionWhenClosed />
<driveableDoors />
<bumpersNeedToCollideWithMap value="true" />
<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>Truck</NmBraceOverrideSet>
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
<buoyancySphereSizeScale value="1.000000" />
<pOverrideRagdollThreshold type="NULL" />
<firstPersonDrivebyData>
<Item>STD_DILETTANTE_FRONT_LEFT</Item>
<Item>STD_DILETTANTE_FRONT_RIGHT</Item>
<Item>STD_BALLER_REAR_LEFT</Item>
<Item>STD_BALLER_REAR_RIGHT</Item>
</firstPersonDrivebyData>
</Item>
</InitDatas>
<txdRelationships />
</CVehicleModelInfo__InitDataList>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

+17
View File
@@ -0,0 +1,17 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
-- Leaked By: Leaking Hub | Joshua Y. | https://discord.gg/aXWXXst
files {
'vehicles.meta',
'carvariations.meta',
'carcols.meta',
'handling.meta',
'vehiclelayouts.meta',
}
data_file 'HANDLING_FILE' 'handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
data_file 'CARCOLS_FILE' 'carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'
+756
View File
@@ -0,0 +1,756 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVarGlobal>
<Sirens>
<Item>
<id value="8733"/> <!--24TACTRD By Ferious Development FEB 2024-->
<name>24tactrd</name>
<timeMultiplier value="1.00000000"/>
<lightFalloffMax value="125.00000000"/>
<lightFalloffExponent value="125.00000000"/>
<lightInnerConeAngle value="2.29061000"/>
<lightOuterConeAngle value="70.00000000"/>
<lightOffset value="0.00000000"/>
<textureName>VehicleLight_sirenlight</textureName>
<sequencerBpm value="900"/>
<leftHeadLight>
<sequencer value="0"/>
</leftHeadLight>
<rightHeadLight>
<sequencer value="0"/>
</rightHeadLight>
<leftTailLight>
<sequencer value="0"/>
</leftTailLight>
<rightTailLight>
<sequencer value="0"/>
</rightTailLight>
<leftHeadLightMultiples value="1"/>
<rightHeadLightMultiples value="1"/>
<leftTailLightMultiples value="2"/>
<rightTailLightMultiples value="2"/>
<useRealLights value="true"/>
<sirens>
<Item> <!--Siren 1-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284102833"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284102833"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 2-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212748618"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212748618"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 3-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="613566464"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="613566464"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 4-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212748617"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212748617"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 5-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284102834"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284102834"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 6-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFF00"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 7-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2685272272"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2685272272"/>
<multiples value="3"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFF0000FF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 8-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="167887236"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="167887236"/>
<multiples value="3"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="1.00000000"/>
<size value="1.00000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 9-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="10500865"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="10500865"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 10-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4164816768"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4164816768"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFF00"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 11-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 12-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 13-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2189443153"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2189443153"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 14-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1409618182"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1409618182"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFD700"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 15-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2152727569"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2152727569"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFD700"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 16-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="3493072130"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="3493072130"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFD700"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 17-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="109158504"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="109158504"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFD700"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 18-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2290123088"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2290123088"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 19-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4164816768"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="false"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4164816768"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.00000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="false"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 20-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4294967295"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="2.50000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="5.50000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
</sirens>
</Item>
</Sirens>
</CVehicleModelInfoVarGlobal>
+191
View File
@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVariation>
<variationData>
<!--24TACTRD By Ferious Development FEB 2024-->
<Item>
<modelName>24tactrd</modelName>
<colors>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item> <Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
<Item value="false" />
</liveries>
</Item>
<Item>
<indices content="char_array">
134
134
0
0
32
</indices>
<liveries>
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="false" />
<Item value="true" />
</liveries>
</Item>
</colors>
<kits>
<Item>0_default_modkit</Item>
</kits>
<windowsWithExposedEdges />
<plateProbabilities>
<Probabilities />
</plateProbabilities>
<lightSettings value="1" />
<sirenSettings value="8733" />
</Item>
</variationData>
</CVehicleModelInfoVariation>
+67
View File
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData"><!--24TACTRD By Ferious Development FEB 2024-->
<handlingName>24tactrd</handlingName>
<fMass value="2200.000000" />
<fInitialDragCoeff value="13.000000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.00000" />
<vecInertiaMultiplier x="1.300000" y="1.300000" z="1.300000" />
<fDriveBiasFront value="0.500000" />
<nInitialDriveGears value="5" />
<fInitialDriveForce value="0.339000" />
<fDriveInertia value="1.000000" />
<fClutchChangeRateScaleUpShift value="4.300000" />
<fClutchChangeRateScaleDownShift value="4.300000" />
<fInitialDriveMaxFlatVel value="140.000000" />
<fBrakeForce value="0.300000" />
<fBrakeBiasFront value="0.650000" />
<fHandBrakeForce value="0.400000" />
<fSteeringLock value="36.000000" />
<fTractionCurveMax value="2.500000" />
<fTractionCurveMin value="2.100000" />
<fTractionCurveLateral value="20.000000" />
<fTractionSpringDeltaMax value="0.130000" />
<fLowSpeedTractionLossMult value="1.000000" />
<fCamberStiffnesss value="0.000000" />
<fTractionBiasFront value="0.510000" />
<fTractionLossMult value="0.1500000" />
<fSuspensionForce value="1.200000" />
<fSuspensionCompDamp value="1.100000" />
<fSuspensionReboundDamp value="1.400000" />
<fSuspensionUpperLimit value="0.250000" />
<fSuspensionLowerLimit value="-0.300000" />
<fSuspensionRaise value="0.000000" />
<fSuspensionBiasFront value="0.50000" />
<fAntiRollBarForce value="0.600000" />
<fAntiRollBarBiasFront value="0.300000" />
<fRollCentreHeightFront value="0.555000" />
<fRollCentreHeightRear value="0.555000" />
<fCollisionDamageMult value="1.100000" />
<fWeaponDamageMult value="1.000000" />
<fDeformationDamageMult value="0.800000" />
<fEngineDamageMult value="1.500000" />
<fPetrolTankVolume value="65.000000" />
<fOilVolume value="5.000000" />
<fSeatOffsetDistX value="0.100000" />
<fSeatOffsetDistY value="-0.250000" />
<fSeatOffsetDistZ value="-0.400000" />
<nMonetaryValue value="50000" />
<strModelFlags>240010</strModelFlags>
<strHandlingFlags>800008</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><!--24TACTRD HANDLING ENDS HERE-->
</HandlingData>
</CHandlingDataMgr>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+156
View File
@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfo__InitDataList>
<residentTxd>vehshare</residentTxd>
<residentAnims />
<InitDatas><!--24TACTRD By Ferious Development FEB 2024-->
<Item>
<modelName>24tactrd</modelName>
<txdName>24tactrd</txdName>
<handlingId>24tactrd</handlingId>
<gameName>Toyota</gameName>
<vehicleMakeName>TacomaTRD</vehicleMakeName>
<expressionDictName>null</expressionDictName>
<expressionName>null</expressionName>
<animConvRoofDictName>null</animConvRoofDictName>
<animConvRoofName>null</animConvRoofName>
<animConvRoofWindowsAffected />
<ptfxAssetName>null</ptfxAssetName>
<audioNameHash>GAUNTLET</audioNameHash>
<layout>LAYOUT_BISON</layout>
<coverBoundOffsets>BISON_COVER_OFFSET_INFO</coverBoundOffsets>
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
<scenarioLayout />
<cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
<aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName>
<bonnetCameraName>VEHICLE_BONNET_CAMERA_STANDARD</bonnetCameraName>
<povCameraName>DEFAULT_POV_CAMERA</povCameraName>
<FirstPersonDriveByIKOffset x="0.040000" y="-0.060000" z="-0.040000" />
<FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonProjectileDriveByIKOffset x="0.075000" y="-0.128000" z="-0.020000" />
<FirstPersonProjectileDriveByPassengerIKOffset x="0.000000" y="0.058000" z="-0.058000" />
<FirstPersonProjectileDriveByRearLeftIKOffset x="0.000000" y="-0.058000" z="-0.055000" />
<FirstPersonProjectileDriveByRearRightIKOffset x="0.000000" y="-0.058000" z="-0.055000" />
<FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.015000" z="-0.040000" />
<FirstPersonDriveByRightPassengerIKOffset x="-0.043000" y="-0.043000" z="-0.055000" />
<FirstPersonDriveByRightRearPassengerIKOffset x="0.000000" y="0.015000" 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.143000" y="0.278000" z="0.565000" />
<FirstPersonPassengerMobilePhoneOffset x="0.204000" y="0.176000" z="0.490000" />
<FirstPersonMobilePhoneSeatIKOffset>
<Item>
<Offset x="0.204000" y="0.131000" z="0.490000" />
<SeatIndex value="2" />
</Item>
<Item>
<Offset x="0.204000" y="0.131000" z="0.490000" />
<SeatIndex value="3" />
</Item>
</FirstPersonMobilePhoneSeatIKOffset>
<PovCameraOffset x="0.000000" y="-0.170000" z="0.550000" />
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.020000" />
<PovRearPassengerCameraOffset x="0.000000" y="0.000000" z="0.020000" />
<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.300000" />
<wheelScaleRear value="0.300000" />
<dirtLevelMin value="0.300000" />
<dirtLevelMax value="0.850000" />
<envEffScaleMin value="0.000000" />
<envEffScaleMax value="1.000000" />
<envEffScaleMin2 value="0.000000" />
<envEffScaleMax2 value="1.000000" />
<damageMapScale value="0.600000" />
<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.962" />
<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_DONT_SPAWN_IN_CARGEN FLAG_LAW_ENFORCEMENT FLAG_HAS_LIVERY FLAG_BIG FLAG_CAN_HONK_WHEN_FLEEING FLAG_AVOID_TURNS FLAG_EXTRAS_REQUIRE FLAG_PEDS_CAN_STAND_ON_TOP FLAG_USE_FAT_INTERIOR_LIGHT FLAG_IS_BULKY FLAG_BLOCK_FROM_ATTRACTOR_SCENARIO FLAG_CANNOT_TAKE_COVER_WHEN_STOOD_ON FLAG_EXTRAS_ONLY_BREAK_WHEN_DESTROYED</flags>
<type>VEHICLE_TYPE_CAR</type>
<plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
<dashboardType>VDT_ZTYPE</dashboardType>
<vehicleClass>VC_VAN</vehicleClass>
<wheelType>VWT_SUV</wheelType>
<trailers>
<Item>boattrailer</Item>
<Item>trailersmall</Item>
</trailers>
<additionalTrailers>
<Item>trailersmall2</Item>
</additionalTrailers>
<drivers>
<Item>
<driverName>S_M_M_AutoShop_01</driverName>
<npcName />
</Item>
<Item>
<driverName>S_M_M_AutoShop_02</driverName>
<npcName />
</Item>
<Item>
<driverName>S_M_M_Trucker_01</driverName>
<npcName />
</Item>
</drivers>
<extraIncludes>
<Item>EXTRA_1</Item>
</extraIncludes>
<doorsWithCollisionWhenClosed />
<driveableDoors />
<bumpersNeedToCollideWithMap value="false" />
<needsRopeTexture value="false" />
<requiredExtras>
<Item>EXTRA_1</Item>
</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>Truck</NmBraceOverrideSet>
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
<buoyancySphereSizeScale value="1.000000" />
<pOverrideRagdollThreshold type="NULL" />
<firstPersonDrivebyData>
<Item>RANGER_BISON_FRONT_LEFT</Item>
<Item>VAN_RUMPO_FRONT_RIGHT</Item>
<Item>RANGER_BISON_REAR_LEFT</Item>
<Item>RANGER_BISON_REAR_RIGHT</Item>
</firstPersonDrivebyData>
</Item>
</InitDatas>
<txdRelationships>
<Item>
<parent>vehicles_bob_brown_interior</parent>
<child>24tactrd</child>
</Item>
</txdRelationships>
</CVehicleModelInfo__InitDataList>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -817,7 +817,9 @@ Config.VehicleRestrictions = {
"mpf250rb",
"24mustanggt4d",
"speed1",
" ",
"f350bubba",
"19mustgt",
},
['EG | Owner'] = {
"Staff-EGRPescal21",
@@ -830,8 +832,10 @@ Config.VehicleRestrictions = {
"x3bearcat",
"x3bearcat2",
"mrap",
"f350bubba",
"staff-sl23hoe",
"maxchasrt",
"19mustgt",
"bearcat",
"18charger",
"18chargerb",
@@ -973,6 +977,7 @@ Config.VehicleRestrictions = {
"am_srt15",
"mpf250rb",
"24mustanggt4d",
"f350bubba",
"speed1",
"boxville5",
"cognoscenti2",
+16
View File
@@ -0,0 +1,16 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
files {
'vehicles.meta',
'carvariations.meta',
'carcols.meta',
'handling.meta',
'vehiclelayouts.meta',
}
data_file 'HANDLING_FILE' 'handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
data_file 'CARCOLS_FILE' 'carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'
File diff suppressed because it is too large Load Diff
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--2017-2020 F350 Bubba LEO Truck Whelen June 2025 Ferious Dev-->
<CVehicleModelInfoVariation>
<variationData>
<Item>
<modelName>f350bubba</modelName>
<colors>
<Item>
<indices content="char_array">
0
70
0
0
0
0
</indices>
</Item>
</colors>
<windowsWithExposedEdges/>
<plateProbabilities>
<Probabilities>
<Item>
<Name>Police guv plate</Name>
<Value value="100"/>
</Item>
</Probabilities>
</plateProbabilities>
<lightSettings value="0"/>
<sirenSettings value="41714"/>
</Item>
</variationData>
</CVehicleModelInfoVariation>
+67
View File
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--2017-2020 F350 Bubba LEO Truck Whelen June 2025 Ferious Dev-->
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData">
<handlingName>f350bubba</handlingName>
<fMass value="2750.000000" />
<fInitialDragCoeff value="8.500000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="-0.200000" />
<vecInertiaMultiplier x="1.200000" y="1.200000" z="1.150000" />
<fDriveBiasFront value="0.200000" />
<nInitialDriveGears value="6" />
<fInitialDriveForce value="0.300000" />
<fDriveInertia value="1.000000" />
<fClutchChangeRateScaleUpShift value="1.500000" />
<fClutchChangeRateScaleDownShift value="1.500000" />
<fInitialDriveMaxFlatVel value="145.000000" />
<fBrakeForce value="0.600000" />
<fBrakeBiasFront value="0.550000" />
<fHandBrakeForce value="0.400000" />
<fSteeringLock value="30.000000" />
<fTractionCurveMax value="2.200000" />
<fTractionCurveMin value="1.950000" />
<fTractionCurveLateral value="23.000000" />
<fTractionSpringDeltaMax value="0.130000" />
<fLowSpeedTractionLossMult value="1.300000" />
<fCamberStiffnesss value="0.000000" />
<fTractionBiasFront value="0.494000" />
<fTractionLossMult value="0.500000" />
<fSuspensionForce value="3.800000" />
<fSuspensionCompDamp value="2.800000" />
<fSuspensionReboundDamp value="4.000000" />
<fSuspensionUpperLimit value="0.140000" />
<fSuspensionLowerLimit value="-0.160000" />
<fSuspensionRaise value="0.000000" />
<fSuspensionBiasFront value="0.470000" />
<fAntiRollBarForce value="1.200000" />
<fAntiRollBarBiasFront value="0.580000" />
<fRollCentreHeightFront value="0.020000" />
<fRollCentreHeightRear value="0.020000" />
<fCollisionDamageMult value="1.000000" />
<fWeaponDamageMult value="1.000000" />
<fDeformationDamageMult value="0.800000" />
<fEngineDamageMult value="1.500000" />
<fPetrolTankVolume value="70.000000" />
<fOilVolume value="6.500000" />
<fSeatOffsetDistX value="0.200000" />
<fSeatOffsetDistY value="0.000000" />
<fSeatOffsetDistZ value="0.000000" />
<nMonetaryValue value="25000" />
<strModelFlags>400010</strModelFlags>
<strHandlingFlags>0</strHandlingFlags>
<strDamageFlags>0</strDamageFlags>
<AIHandling>TRUCK</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>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+61
View File
@@ -0,0 +1,61 @@
--[[
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 = {"f350bubba"},
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 = "Response PTN", key = 1, color = "green", extra = 9, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false},
{label = "Lightbar Response PTN", key = 2, color = "green", extra = 10, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false},
{label = "Park PTN", key = 3, color = "green", extra = 11, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false},
{label = "Park Lightbar PTN", key = 4, color = "green", extra = 12, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false},
{label = "Side Scene", key = 5, color = "green", extra = 5, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false},
{label = "Rear Scene", key = 6, color = "green", extra = 6, linkedExtras = {}, oppositeExtras = {}, offExtras = {}, repair = false}
},
stages = {
useStages = false,
stageKeys = {},
},
defaultStages = {
useDefaults = false,
enableKeys = {},
disableKeys = {}
}
}
+140
View File
@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--2017-2020 F350 Bubba LEO Truck Whelen June 2025 Ferious Dev-->
<CVehicleModelInfo__InitDataList>
<residentTxd>vehshare</residentTxd>
<residentAnims />
<InitDatas>
<Item>
<modelName>f350bubba</modelName>
<txdName>f350bubba</txdName>
<handlingId>f350bubba</handlingId>
<gameName>f350bubba</gameName>
<vehicleMakeName>20FORD</vehicleMakeName>
<expressionDictName>null</expressionDictName>
<expressionName>null</expressionName>
<animConvRoofDictName></animConvRoofDictName>
<animConvRoofName></animConvRoofName>
<animConvRoofWindowsAffected />
<ptfxAssetName>null</ptfxAssetName>
<audioNameHash>aq07powerstroke67</audioNameHash>
<layout>LAYOUT_RANGER</layout>
<coverBoundOffsets>GRANGER_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.150000" 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.635000" />
<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_TRUCK_RIG</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.292300" />
<wheelScaleRear value="0.292300" />
<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">
35.000000
45.000000
150.000000
250.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_EXTRAS_STRONG FLAG_HAS_LIVERY FLAG_EXTRAS_ALL FLAG_LAW_ENFORCEMENT FLAG_EMERGENCY_SERVICE FLAG_NO_RESPRAY FLAG_DONT_SPAWN_IN_CARGEN FLAG_HAS_INTERIOR_EXTRAS FLAG_REPORT_CRIME_IF_STANDING_ON</flags>
<type>VEHICLE_TYPE_CAR</type>
<plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
<dashboardType>VDT_FEROCI</dashboardType>
<vehicleClass>VC_EMERGENCY</vehicleClass>
<wheelType>VWT_SUV</wheelType>
<trailers>
<Item>boattrailer</Item>
<Item>trailersmall</Item>
</trailers>
<additionalTrailers>
<Item>trailersmall2</Item>
</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>RANGER_CAVALCADE_FRONT_LEFT</Item>
<Item>RANGER_FRONT_RIGHT</Item>
<Item>RANGER_PRANGER_REAR_LEFT</Item>
<Item>RANGER_PRANGER_REAR_RIGHT</Item>
</firstPersonDrivebyData>
</Item>
</InitDatas>
<txdRelationships>
<Item>
<parent>vehicles_feroci_interior</parent>
<child>f250</child>
</Item>
</txdRelationships>
</CVehicleModelInfo__InitDataList>
Binary file not shown.
+16
View File
@@ -0,0 +1,16 @@
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
files {
'vehicles.meta',
'carvariations.meta',
'carcols.meta',
'handling.meta',
'vehiclelayouts.meta',
}
data_file 'HANDLING_FILE' 'handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'
data_file 'CARCOLS_FILE' 'carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'
+758
View File
@@ -0,0 +1,758 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVarGlobal>
<Sirens>
<Item>
<id value="3520"/> <!-- 2022 Batt Fire Expedition By Ferious Development August 2022 -->
<name>fire22exp</name>
<timeMultiplier value="1.00000000"/>
<lightFalloffMax value="125.00000000"/>
<lightFalloffExponent value="125.00000000"/>
<lightInnerConeAngle value="2.29061000"/>
<lightOuterConeAngle value="70.00000000"/>
<lightOffset value="0.00000000"/>
<textureName>VehicleLight_sirenlight</textureName>
<sequencerBpm value="700"/>
<leftHeadLight>
<sequencer value="0"/>
</leftHeadLight>
<rightHeadLight>
<sequencer value="0"/>
</rightHeadLight>
<leftTailLight>
<sequencer value="0"/>
</leftTailLight>
<rightTailLight>
<sequencer value="0"/>
</rightTailLight>
<leftHeadLightMultiples value="1"/>
<rightHeadLightMultiples value="1"/>
<leftTailLightMultiples value="2"/>
<rightTailLightMultiples value="2"/>
<useRealLights value="true"/>
<sirens>
<Item> <!--Siren 1-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2169016448"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2169016448"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 2-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1109534016"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1109534016"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 3-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="742916128"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="742916128"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 4-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="303204378"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="303204378"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 5-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="608718944"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="608718944"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 6-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1217417605"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1217417605"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 7-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4042322160"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="4042322160"/>
<multiples value="3"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 8-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="252645135"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="252645135"/>
<multiples value="3"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 9-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1109534016"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1109534016"/>
<multiples value="3"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="5.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 10-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1112151050"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1112151050"/>
<multiples value="3"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="5.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 11-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2718510096"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2718510096"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 12-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212432930"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1212432930"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 13-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2694901796"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2694901796"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 14-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="168429441"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="168429441"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 15-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFF0000"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 16-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284142597 "/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="2284142597 "/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFF00"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 17-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="3841997120"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="3841997120"/>
<multiples value="2"/>
<direction value="true"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFF00"/>
<intensity value="0.50000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 18-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="7503901"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="3.14159265"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="7503901"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="0.00000000"/>
<size value="0.00000000"/>
<pull value="0.00000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFF00"/>
<intensity value="1.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 19-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="false"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="22937950"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="1.10000000"/>
<pull value="0.10000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="5.00000000"/>
<lightGroup value="0"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="false"/>
<castShadows value="true"/>
</Item>
<Item> <!--Siren 20-->
<rotation>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1577147905"/>
<multiples value="1"/>
<direction value="false"/>
<syncToBpm value="true"/>
</rotation>
<flashiness>
<delta value="0.00000000"/>
<start value="0.00000000"/>
<speed value="0.00000000"/>
<sequencer value="1577147905"/>
<multiples value="2"/>
<direction value="false"/>
<syncToBpm value="true"/>
</flashiness>
<corona>
<intensity value="50.00000000"/>
<size value="0.50000000"/>
<pull value="0.02000000"/>
<faceCamera value="false"/>
</corona>
<color value="0xFFFFFFFF"/>
<intensity value="5.00000000"/>
<lightGroup value="1"/>
<rotate value="false"/>
<scale value="true"/>
<scaleFactor value="100"/>
<flash value="true"/>
<light value="true"/>
<spotLight value="true"/>
<castShadows value="true"/>
</Item>
</sirens>
</Item>
</Sirens>
</CVehicleModelInfoVarGlobal>
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 2022 Batt Fire Expedition By Ferious Development August 2022 -->
<CVehicleModelInfoVariation>
<variationData>
<Item>
<modelName>fire22exp</modelName>
<colors>
<Item>
<indices content="char_array">
134
131
0
27
0
0
</indices>
</Item>
</colors>
<windowsWithExposedEdges/>
<plateProbabilities>
<Probabilities>
<Item>
<Name>Police guv plate</Name>
<Value value="100"/>
</Item>
</Probabilities>
</plateProbabilities>
<lightSettings value="1"/>
<sirenSettings value="3520"/>
</Item>
</variationData>
</CVehicleModelInfoVariation>
+67
View File
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 2022 Batt Fire Expedition By Ferious Development August 2022 -->
<CHandlingDataMgr>
<HandlingData>
<Item type="CHandlingData">
<handlingName>fire22exp</handlingName>
<fMass value="2400.000000" />
<fInitialDragCoeff value="8.500000" />
<fPercentSubmerged value="85.000000" />
<vecCentreOfMassOffset x="0.000000" y="0.000000" z="0.000000" />
<vecInertiaMultiplier x="1.200000" y="1.600000" z="2.000000" />
<fDriveBiasFront value="0.500000" />
<nInitialDriveGears value="6" />
<fInitialDriveForce value="0.190000" />
<fDriveInertia value="1.000000" />
<fClutchChangeRateScaleUpShift value="1.300000" />
<fClutchChangeRateScaleDownShift value="1.300000" />
<fInitialDriveMaxFlatVel value="140.000000" />
<fBrakeForce value="0.900000" />
<fBrakeBiasFront value="0.500000" />
<fHandBrakeForce value="0.600000" />
<fSteeringLock value="40.000000" />
<fTractionCurveMax value="2.150000" />
<fTractionCurveMin value="1.850000" />
<fTractionCurveLateral value="18.500000" />
<fTractionSpringDeltaMax value="0.130000" />
<fLowSpeedTractionLossMult value="1.500000" />
<fCamberStiffnesss value="0.000000" />
<fTractionBiasFront value="0.500000" />
<fTractionLossMult value="0.800000" />
<fSuspensionForce value="2.800000" />
<fSuspensionCompDamp value="1.400000" />
<fSuspensionReboundDamp value="3.000000" />
<fSuspensionUpperLimit value="0.100000" />
<fSuspensionLowerLimit value="-0.120000" />
<fSuspensionRaise value="0.000000" />
<fSuspensionBiasFront value="0.510000" />
<fAntiRollBarForce value="0.400000" />
<fAntiRollBarBiasFront value="0.530000" />
<fRollCentreHeightFront value="0.290000" />
<fRollCentreHeightRear value="0.300000" />
<fCollisionDamageMult value="1.000000" />
<fWeaponDamageMult value="1.000000" />
<fDeformationDamageMult value="1.000000" />
<fEngineDamageMult value="1.600000" />
<fPetrolTankVolume value="65.000000" />
<fOilVolume value="5.000000" />
<fSeatOffsetDistX value="0.000000" />
<fSeatOffsetDistY value="0.000000" />
<fSeatOffsetDistZ value="0.000000" />
<nMonetaryValue value="50000" />
<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>
Binary file not shown.
Binary file not shown.
Binary file not shown.
+138
View File
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfo__InitDataList> <!-- 2022 Batt Fire Expedition By Ferious Development August 2022 -->
<residentTxd>vehshare</residentTxd>
<residentAnims />
<InitDatas>
<Item>
<modelName>fire22exp</modelName>
<txdName>fire22exp</txdName>
<handlingId>fire22exp</handlingId>
<gameName>Expedition</gameName>
<vehicleMakeName>FORD</vehicleMakeName>
<expressionDictName>null</expressionDictName>
<expressionName>null</expressionName>
<animConvRoofDictName>null</animConvRoofDictName>
<animConvRoofName>null</animConvRoofName>
<animConvRoofWindowsAffected />
<ptfxAssetName>null</ptfxAssetName>
<audioNameHash>LANDSTALKER</audioNameHash>
<layout>LAYOUT_STANDARD</layout>
<coverBoundOffsets>GRESLEY_COVER_OFFSET_INFO</coverBoundOffsets>
<explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
<scenarioLayout />
<cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
<aimCameraName>DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA</aimCameraName>
<bonnetCameraName>VEHICLE_BONNET_CAMERA_MID_HIGH</bonnetCameraName>
<povCameraName>DEFAULT_POV_CAMERA</povCameraName>
<FirstPersonDriveByIKOffset x="0.000000" y="-0.055000" z="-0.015000" />
<FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonProjectileDriveByIKOffset x="0.035000" y="-0.080000" z="0.000000" />
<FirstPersonProjectileDriveByPassengerIKOffset x="-0.120000" y="-0.120000" z="0.000000" />
<FirstPersonProjectileDriveByRearLeftIKOffset x="0.000000" y="0.020000" z="0.000000" />
<FirstPersonProjectileDriveByRearRightIKOffset x="0.000000" y="0.020000" z="0.000000" />
<FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="-0.055000" z="-0.035000" />
<FirstPersonDriveByRightRearPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
<FirstPersonMobilePhoneOffset x="0.143000" y="0.236000" z="0.545000" />
<FirstPersonPassengerMobilePhoneOffset x="0.136000" y="0.223000" z="0.425000" />
<FirstPersonMobilePhoneSeatIKOffset>
<Item>
<Offset x="0.136000" y="0.116000" z="0.455000" />
<SeatIndex value="2" />
</Item>
<Item>
<Offset x="0.136000" y="0.116000" z="0.455000" />
<SeatIndex value="3" />
</Item>
</FirstPersonMobilePhoneSeatIKOffset>
<PovCameraOffset x="0.000000" y="-0.200000" z="0.600000" />
<PovCameraVerticalAdjustmentForRollCage value="0.000000" />
<PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
<PovRearPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
<vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
<shouldUseCinematicViewMode value="true" />
<shouldCameraTransitionOnClimbUpDown value="false" />
<shouldCameraIgnoreExiting value="false" />
<AllowPretendOccupants value="true" />
<AllowJoyriding value="true" />
<AllowSundayDriving value="true" />
<AllowBodyColorMapping value="true" />
<wheelScale value="0.339000" />
<wheelScaleRear value="0.339000" />
<dirtLevelMin value="0.000000" />
<dirtLevelMax value="0.550000" />
<envEffScaleMin value="0.000000" />
<envEffScaleMax value="1.000000" />
<envEffScaleMin2 value="0.000000" />
<envEffScaleMax2 value="1.000000" />
<damageMapScale value="0.600000" />
<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.928" />
<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_3</swankness>
<maxNum value="999" />
<flags>FLAG_ATTACH_TRAILER_ON_HIGHWAY FLAG_ATTACH_TRAILER_IN_CITY FLAG_HAS_LIVERY FLAG_EXTRAS_STRONG FLAG_EXTRAS_REQUIRE FLAG_LAW_ENFORCEMENT FLAG_EMERGENCY_SERVICE FLAG_HAS_INTERIOR_EXTRAS FLAG_DONT_SPAWN_AS_AMBIENT FLAG_DONT_SPAWN_IN_CARGEN FLAG_NO_RESPRAY</flags>
<type>VEHICLE_TYPE_CAR</type>
<plateType>VPT_BACK_PLATES</plateType>
<dashboardType>VDT_FEROCI</dashboardType>
<vehicleClass>VC_EMERGENCY</vehicleClass>
<wheelType>VWT_SUV</wheelType>
<trailers />
<additionalTrailers />
<drivers />
<extraIncludes>
<Item>EXTRA_1</Item>
</extraIncludes>
<doorsWithCollisionWhenClosed />
<driveableDoors />
<bumpersNeedToCollideWithMap value="true" />
<needsRopeTexture value="false" />
<requiredExtras>
<Item>EXTRA_1</Item>
</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>Truck</NmBraceOverrideSet>
<buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
<buoyancySphereSizeScale value="1.000000" />
<pOverrideRagdollThreshold type="NULL" />
<firstPersonDrivebyData>
<Item>STD_DILETTANTE_FRONT_LEFT</Item>
<Item>STD_DILETTANTE_FRONT_RIGHT</Item>
<Item>STD_BALLER_REAR_LEFT</Item>
<Item>STD_BALLER_REAR_RIGHT</Item>
</firstPersonDrivebyData>
</Item>
</InitDatas>
<txdRelationships>
<Item>
<parent>vehicles_bob_brown_interior</parent>
<child>22expxl</child>
</Item>
</txdRelationships>
</CVehicleModelInfo__InitDataList>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
<!-- FOR A MORE READABLE DOCUMENTATION, GO TO https://docs.nights-software.com/resources/ers/#creating-ers-callouts -->
# Callout-Creator-Pack
This pack includes an example of how to create a callout.
██████╗░███████╗░█████╗░██████╗░ ███╗░░░███╗███████╗
██╔══██╗██╔════╝██╔══██╗██╔══██╗ ████╗░████║██╔════╝
██████╔╝█████╗░░███████║██║░░██║ ██╔████╔██║█████╗░░
██╔══██╗██╔══╝░░██╔══██║██║░░██║ ██║╚██╔╝██║██╔══╝░░
██║░░██║███████╗██║░░██║██████╔╝ ██║░╚═╝░██║███████╗
╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝╚═════╝░ ╚═╝░░░░░╚═╝╚══════╝
> **Note:** Nights Software does not provide ticket support for building callouts. Read the documentation instead. This option is made to provide skilled developers the freedom to build their own callouts.
## How to Build Callouts
1. **Nights Software has created a Callout Creator Pack to help you create your own callouts. This pack includes an example callout and a documentation on how to create your own callouts.**
- [Download the free Callout Creator Pack here](https://store.nights-software.com/package/6374594).
## Task List for creating one callout
- [x] **Task 1**
- Enter the `night_ers/callouts/plugins/` folder and copy an existing `.lua` callout file or paste in a newly created callout file.
- [x] **Task 2**
- Rename the file to your desired callout name.
- [x] **Task 3**
- Adjust the config, client and server code (all of them) within your new file to your liking.
- [x] **Task 4**
- Test the callout and make sure it works as intended by restarting the script and spawning the callout afterwards.
## How to use ERS functions
Find all functions used in callouts in the [Nights Software ERS Documentation](https://docs.nights-software.com/resources/ers/#creating-ers-callouts)
@@ -0,0 +1,108 @@
--============================== BUILD CALLOUTS =================================--
function ERS_BuildCallout(pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local plyPed = PlayerPedId()
Config.Callouts[calloutDataClient.calloutId].client(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
end
--================ Open source functions (Edit these if you like.) =================--
function ERS_SetRandomDamageToVehicle(vehicle)
ERS_RequestNetControlForEntity(vehicle)
if DoesEntityExist(vehicle) then
SetVehicleBodyHealth(vehicle, math.random(0, 1000) + 0.0)
SetVehicleEngineHealth(vehicle, math.random(0, 1000) + 0.0)
-- Burst random tires
for i = 0, GetVehicleNumberOfWheels(vehicle) - 1 do
if math.random(100) < 10 then -- 10% chance to burst each tire
SetVehicleTyreBurst(vehicle, i, true, 1000.0)
end
end
-- Apply visual damage
for i = 0, 5 do -- Randomly damage some parts of the vehicle
if math.random(100) < 70 then -- 70% chance to apply damage to each part
SetVehicleDamage(vehicle, 0.5 * i, 0.5 * i, 0.5 * i, 500.0, 100.0, true)
end
end
else
if Config.Debug then
print("Vehicle does not exist.")
end
end
end
function ERS_CreateFlareAtCoordinate(coords)
AddExplosion(coords.x, coords.y, coords.z-1.0, 22, 1.0, true, false, 1.0)
end
function ERS_GivePedParachute(ped) -- Does not work on every ped.
ERS_RequestNetControlForEntity(ped)
if not DoesEntityExist(ped) then
if Config.Debug then
print("Ped does not exist.")
end
return
end
local weaponHash = GetHashKey("GADGET_PARACHUTE")
GiveWeaponToPed(ped, weaponHash, 1, false, true)
-- This sets the ped's parachute as visible if applicable to the model
SetPedComponentVariation(ped, 5, 8, 0, 2)
end
function ERS_SelectRandomPartyMusic()
local files = {
"party1",
"party2",
"party3",
}
local soundFile = files[math.random(#files)]
if Config.Debug then
print("Selected party music file: "..soundFile)
end
return soundFile
end
function ERS_CreateTemporaryBlipForEntities(entityList, timeoutInMs)
if Config.ShowBlipsForEntitiesOnCallouts then
local blipList = {}
local blip = nil
for index, entityNetId in pairs(entityList) do
local ent = NetworkGetEntityFromNetworkId(entityNetId)
ERS_RequestNetControlForEntity(ent)
if DoesEntityExist(ent) then
blip = AddBlipForEntity(ent)
SetBlipSprite(blip, Config.CalloutEntityBlipSprite)
SetBlipColour(blip, Config.CalloutEntityBlipColour)
SetBlipScale(blip, Config.CalloutEntityBlipScale)
SetBlipFlashes(blip, false)
-- SetBlipShowCone(blip, true)
table.insert(blipList, blip)
else
if Config.Debug then
print("Could not find entity with entityNetId "..entityNetId)
end
end
end
Citizen.SetTimeout(timeoutInMs, function()
for index, blipId in ipairs(blipList) do
if DoesBlipExist(blipId) then
RemoveBlip(blipId)
else
if Config.Debug then
print("Could not find blip with blipId "..blipId)
end
end
end
end)
else
if Config.Debug then
print("Showing blips for entities on callouts is disabled. The script will not create a blip for any entity.")
end
end
end
@@ -0,0 +1,79 @@
--============================== BUILD CALLOUTS =================================--
local BuildCalloutQueue = {}
local processingBuildCalloutQueue = false
RegisterServerEvent(Config.EventPrefix..':buildCallout')
AddEventHandler(Config.EventPrefix..':buildCallout', function(calloutData)
local src = source
table.insert(BuildCalloutQueue, {src = src, calloutData = calloutData})
processBuildCalloutQueue()
end)
function processBuildCalloutQueue()
if processingBuildCalloutQueue or #BuildCalloutQueue == 0 then
return
end
processingBuildCalloutQueue = true
local request = table.remove(BuildCalloutQueue, 1)
local src = request.src
local calloutData = request.calloutData
local calloutBuilt = false
local pedList = {}
local vehicleList = {}
local objectList = {}
local propList = {}
local playersList = {}
local fireList = {}
local smokeList = {}
DebugPrint("Attempting to build callout: "..calloutData.CalloutName)
calloutBuilt = Config.Callouts[calloutData.calloutId].server(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
-- Check if callout was built
if calloutBuilt then
ERS_InsertEntitiesIntoCalloutList(src, pedList, vehicleList, objectList, fireList, smokeList)
QueueUpdateRequest(function(success)
if success then
DebugPrint("[processBuildCalloutQueue] Update completed successfully.")
-- Update callout UI for the owner & attached players of the callout
DebugPrint("[processBuildCalloutQueue] Updating callout user interface for hostId "..src)
TriggerClientEvent(Config.EventPrefix..':updateCalloutUserInterface', src, src)
for index, callout in ipairs(ActiveCalloutsList) do
if callout.hostId == src then
for i, userServerId in pairs(callout.playersList) do
DebugPrint("[processBuildCalloutQueue] Updating callout user interface for attached playerId "..userServerId)
TriggerClientEvent(Config.EventPrefix..':updateCalloutUserInterface', userServerId, src)
end
break
end
end
TriggerClientEvent(Config.EventPrefix..':startCallout', src, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutData)
DebugPrint("Successfully built callout: "..calloutData.CalloutName)
else
DebugPrint("[processBuildCalloutQueue] Update failed or was skipped.")
end
end)
else
local message = Config.Messages[Config.Language].ServerCouldNotBuildCalloutError
TriggerClientEvent(Config.EventPrefix..':notificationMessage', src, message)
print("^1ERROR^7 It is possible you forgot to return true at the end of your callout server function OR:")
print("^1ERROR^7 None of the enabled callouts could be built, please make sure you have at least 1 callout enabled.")
end
Citizen.SetTimeout(1000, function()
processingBuildCalloutQueue = false
processBuildCalloutQueue()
end)
end
--================ Open source functions =================--
--
@@ -0,0 +1,99 @@
Config.Callouts["abandoned_vehicle"] = {
Enabled = true,
CalloutName = "Abandoned vehicle",
CalloutDescriptions = {
"Investigate a vehicle left in a deserted area; check for any distressed occupants or suspicious items.",
"Alert: abandoned car found near a construction site; ensure it is not obstructing any operations or posing a hazard.",
"Units required: car discovered with doors open and no one around; examine the scene for any signs of foul play.",
"Notice: vehicle parked in an unusual spot for an extended period; verify it is not a stolen or abandoned car.",
"Alert: report of a vehicle left in a school zone; determine if it poses any danger to children and staff.",
"Incident reported: vehicle found with the engine running but no driver in sight; ensure it is secure and investigate.",
"Respond to a situation involving a car left on train tracks; coordinate with transportation authorities to prevent accidents.",
"Situation alert: vehicle discovered with hazardous materials warning signs; prioritize safety and coordinate with hazmat teams.",
"Alert: car abandoned in a flood-prone area; assess the risk of it being swept away and causing damage.",
"Response needed: suspicious vehicle found near a high-security facility; check for any potential threats or security breaches.",
},
CalloutUnitsRequired = {
description = "Tow",
policeRequired = false,
ambulanceRequired = false,
fireRequired = false,
towRequired = true,
},
CalloutLocations = {
[1] = vector3(482.5813, -902.2799, 35.9722),
[2] = vector3(-498.6677, 6267.7412, 11.3615),
[3] = vector3(-742.7029, 5812.6357, 17.4803),
[4] = vector3(-767.0907, 5543.6484, 33.4922),
[5] = vector3(-916.5244, 5250.4307, 83.9764),
[6] = vector3(-525.5445, 4948.1494, 147.3998),
[7] = vector3(151.7183, 4416.7876, 75.6445),
[8] = vector3(1466.3269, 4531.2056, 52.0130),
[9] = vector3(1504.0210, 3749.1111, 34.0672),
[10] = vector3(1547.0118, 3635.0022, 34.4262),
[11] = vector3(1986.4946, 3661.6140, 33.5053),
[12] = vector3(2458.8081, 3812.0923, 40.1474),
[13] = vector3(2672.1116, 3534.7649, 51.9782),
[14] = vector3(2568.6899, 2890.6724, 39.7117),
[15] = vector3(1522.8920, 787.9393, 77.4461),
[16] = vector3(1123.0111, 258.1617, 80.8556),
[17] = vector3(1019.5189, -698.3103, 56.8416),
[18] = vector3(1167.9501, -1548.5294, 34.6922),
[19] = vector3(1112.2905, -2524.5283, 32.4943),
[20] = vector3(599.6377, -2757.5508, 6.0598),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
for index, vehNetId in pairs(vehicleList) do
local veh = NetToVeh(vehNetId)
if DoesEntityExist(veh) then
ERS_RequestNetControlForEntity(veh)
ERS_SetRandomDamageToVehicle(veh)
for i = 0, 7 do -- Tire indices range from 0 to 7
if math.random(100) < 75 then
SetVehicleTyreBurst(veh, i, true, 1000.0)
end
end
local numDoors = GetNumberOfVehicleDoors(veh)
for i = 0, numDoors - 1 do
if math.random(100) < 50 then
SetVehicleDoorOpen(veh, i, false, false)
end
end
local randomDirtLevel = math.random(0, 15)
SetVehicleDirtLevel(veh, randomDirtLevel+.0)
end
end
ERS_CreateTemporaryBlipForEntities(vehicleList, 15000)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
-- Build vehicle
local vehModel = ERS_GetRandomModel(Config.randomVehicles)
local vehType = "automobile"
local vehCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local vehHeading = math.random(360)
local vehNetId = ERS_CreateVehicle(vehModel, vehType, vehCoords, vehHeading)
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
table.insert(vehicleList, vehNetId)
return true
end
}
@@ -0,0 +1,141 @@
Config.Callouts["aircraft_hard_landing"] = {
Enabled = true,
CalloutName = "Potential hard landing (Aircraft)",
CalloutDescriptions = {
"Emergency responders are required to mitigate the aftermath of a potential aircraft crash.",
"Authorities report an aircraft in distress, demanding immediate intervention to ensure safety.",
"Aircraft emergency reported, necessitating urgent action to minimize further damage.",
"Critical situation with an aircraft in trouble; additional units are needed for support.",
"Immediate response needed to address an aircraft facing imminent danger.",
"An aircraft is in jeopardy, posing a severe threat; reinforcements are necessary to avert disaster.",
"Emergency crews are requesting backup to assist in managing an aircraft emergency and prevent its escalation.",
"An urgent call for help has been issued to handle an aircraft emergency and ensure safety.",
"Responders are on the scene of an aircraft emergency and need extra support to stabilize the situation.",
"A serious emergency involving an aircraft demands swift action to prevent a catastrophic outcome.",
},
CalloutUnitsRequired = {
description = "Police, Ambulance, Fire.",
policeRequired = true,
ambulanceRequired = true,
fireRequired = true,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(776.0710, -2065.0103, 29.3829),
-- [2] = vector3(2278.6301, 2969.2185, 46.5811),
-- [3] = vector3(2840.2234, 1553.8225, 24.5741),
-- [4] = vector3(2821.8545, 1511.8513, 24.7242),
-- [5] = vector3(2458.3921, 1457.0712, 36.2040),
-- [6] = vector3(1127.5670, -2489.8242, 33.3611),
-- [7] = vector3(233.3477, 6399.8403, 31.6335),
-- [8] = vector3(1346.0159, 6383.4556, 33.4101),
-- [9] = vector3(2050.1416, 3683.3496, 34.5879),
-- [10] = vector3(683.1802, 120.5065, 80.7545),
-- Add more to 40
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local aircraft
for index, vehNetId in pairs(vehicleList) do
local veh = NetToVeh(vehNetId)
if DoesEntityExist(veh) then
ERS_RequestNetControlForEntity(veh)
aircraft = veh
SetVehicleEngineOn(aircraft, true, true, false)
end
end
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
if index == 1 then
ERS_ApplyBloodToPed(ped)
-- Specify the destination coordinates
local destinationX = calloutDataClient.Coordinates.x
local destinationY = calloutDataClient.Coordinates.y
local destinationZ = calloutDataClient.Coordinates.z
-- Set other parameters for the plane mission
local missionFlag = 17 -- This can vary based on your requirements
local angularDrag = 0.0 -- Adjust as needed
local unk = 0 -- Unknown parameter, usually set to 0
local targetHeading = 0.0 -- Heading angle to face when reaching the destination
local maxZ = 250.0 -- Maximum altitude
local minZ = 0.0 -- Minimum altitude
TaskPlaneMission(ped, aircraft, 0, 0, destinationX, destinationY, destinationZ, missionFlag, angularDrag, unk, targetHeading, maxZ, minZ)
else
ERS_ApplyBloodToPed(ped)
local chance = math.random(100)
if chance > 50 then
TaskLeaveAnyVehicle(ped)
TaskSetBlockingOfNonTemporaryEvents(ped, true)
else
TaskSetBlockingOfNonTemporaryEvents(ped, true)
end
end
end
end
ERS_CreateTemporaryBlipForEntities(vehicleList, 15000)
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
-- Build vehicle
local vehModel = ERS_GetRandomModel(Config.randomPlanes)
local vehType = "plane"
local vehCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z+150)
local vehHeading = math.random(360)
local vehNetId = ERS_CreateVehicle(vehModel, vehType, vehCoords, vehHeading)
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
table.insert(vehicleList, vehNetId)
-- Build pilot
local pedModel = "s_m_m_pilot_01"
local pedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z+150)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
SetPedIntoVehicle(ped, vehicle, -1)
table.insert(pedList, pedNetId)
-- Build passengers
for seatIndex = 0, 5 do -- seats planes
if GetPedInVehicleSeat(vehicle, seatIndex) == 0 then
local passengerPedModel = ERS_GetRandomModel(Config.randomPeds)
local passengerPedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z+150)
local passengerPedHeading = math.random(360)
local passengerPedNetId = ERS_CreatePed(passengerPedModel, passengerPedCoords, passengerPedHeading)
local passengerPed = NetworkGetEntityFromNetworkId(pedNetId)
SetPedIntoVehicle(passengerPed, vehicle, seatIndex)
table.insert(pedList, passengerPedNetId)
end
end
return true
end
}
@@ -0,0 +1,136 @@
Config.Callouts["airport_fire"] = {
Enabled = true,
CalloutName = "Fire at an airport",
CalloutDescriptions = {
"A fire has broken out at the airport, requiring immediate intervention from fire services.",
"Emergency teams are needed to extinguish a fire at the airport.",
"Authorities report an airport fire threatening nearby structures, necessitating urgent action.",
"A large fire has erupted at the airport, and additional firefighting units are needed to contain it.",
"Immediate response required to an airport fire endangering surrounding areas.",
"A fire at the airport is escalating, and reinforcements are needed to assist local fire services.",
"Fire crews are requesting backup to control a severe fire at the airport.",
"An urgent call for assistance has been made to deal with an airport fire spreading towards nearby properties.",
"Responders are on the scene of an airport fire and require additional support to prevent further damage.",
"A significant fire at the airport demands immediate intervention to protect lives and property.",
},
CalloutUnitsRequired = {
description = "Fire.",
policeRequired = false,
ambulanceRequired = false,
fireRequired = true,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(1740.46, 3327.01, 41.22),
[2] = vector3(1746.42, 3306.86, 41.22),
[3] = vector3(1725.30, 3294.12, 41.22),
[4] = vector3(1722.81, 3320.40, 41.22),
[5] = vector3(1697.10, 3289.78, 41.15),
[6] = vector3(1693.23, 3293.00, 41.15),
[7] = vector3(2143.53, 4785.09, 40.97),
[8] = vector3(2139.51, 4772.66, 41.00),
[9] = vector3(2132.91, 4771.54, 40.97),
[10] = vector3(-1482.70, -3253.20, 13.95),
[11] = vector3(-1348.19, -3286.84, 13.94),
[12] = vector3(-1282.99, -3333.97, 14.14),
[13] = vector3(-1265.18, -3424.46, 14.14),
[14] = vector3(-1119.58, -3487.74, 14.14),
[15] = vector3(-1136.13, -3520.39, 14.14),
[16] = vector3(-1916.21, -2994.46, 13.94),
[17] = vector3(-1785.29, -2761.26, 13.94),
[18] = vector3(-948.39, -2930.32, 13.94),
[19] = vector3(-925.56, -3041.93, 13.95),
[20] = vector3(-938.65, -2800.90, 13.97),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local vehicle
for index, vehNetId in pairs(vehicleList) do
local veh = NetToVeh(vehNetId)
if DoesEntityExist(veh) then
vehicle = veh
ERS_RequestNetControlForEntity(vehicle)
ERS_SetRandomDamageToVehicle(vehicle)
SetVehicleBodyHealth(vehicle, 0)
SetVehicleEngineHealth(vehicle, 0)
end
end
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
TaskSetBlockingOfNonTemporaryEvents(ped, true)
TaskTurnPedToFaceEntity(ped, vehicle, -1)
Wait(1000)
local scenario = ERS_SelectRandomBystanderScenario()
TaskStartScenarioInPlace(ped, scenario, 0, true)
end
end
ERS_CreateTemporaryBlipForEntities(vehicleList, 15000)
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 20
if UsingSmartFires then
-- Full version
local fireSize = Config.RandomLargeFireOrSmokeSize[math.random(#Config.RandomLargeFireOrSmokeSize)]
local fireType = Config.AllFireTypes[math.random(#Config.AllFireTypes)]
local fireId = exports['SmartFires']:CreateFire(vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z-0.5), fireSize, fireType)
DebugPrint("Created fire with ID: "..fireId)
table.insert(fireList, fireId)
else
-- Lite version
local fireSize = Config.RandomLargeFireOrSmokeSize[math.random(#Config.RandomLargeFireOrSmokeSize)]
local fireType = "normal"
local fireId = exports['SmartFiresLite']:CreateFire(vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z-0.5), fireSize, fireType)
DebugPrint("Created fire with SmartFiresLite with ID: "..fireId)
table.insert(fireList, fireId)
end
-- Build vehicle
local vehModel = ERS_GetRandomModel(Config.randomAirportVehicles)
local vehType = "automobile"
local vehCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local vehHeading = math.random(360)
local vehNetId = ERS_CreateVehicle(vehModel, vehType, vehCoords, vehHeading)
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
table.insert(vehicleList, vehNetId)
-- Build bystander(s)
local randomAmountOfBystanders = math.random(3)
for i = 1, randomAmountOfBystanders do
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomAirportPeds)
local pedCoords = vector3(coords.x, coords.y, coords.z)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
end
return true
end
}
@@ -0,0 +1,82 @@
Config.Callouts["airport_tresspass"] = {
Enabled = true,
CalloutName = "Trespassing at the airport",
CalloutDescriptions = {
"Respond to a report of trespassing at the airport; locate and apprehend the individual.",
"Alert: unauthorized person on airport property; deploy units to secure the area and ensure safety.",
"Units needed: report of trespassing at the airport; focus on locating the trespasser and assessing any potential threats.",
"Notice: trespassing incident at the airport reported; act promptly to control the situation and prevent disruptions.",
"Alert: report of unauthorized entry at the airport; intervention needed to ensure safety and remove the trespasser.",
"Incident reported: trespassing at the airport; take action to investigate and enforce security protocols.",
"Respond to a situation involving unauthorized entry at the airport; prioritize security and coordinate with airport authorities.",
"Situation alert: trespassing in progress at the airport; secure the area and apprehend the individual.",
"Alert: report of unauthorized presence at the airport; respond swiftly to address the situation and ensure safety.",
"Response needed: trespassing at the airport; secure the area, locate the individual, and enforce security measures.",
},
CalloutUnitsRequired = {
description = "Police.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-1360.23, -2220.66, 13.94),
[2] = vector3(-1760.41, -2858.64, 15.13),
[3] = vector3(-1427.77, -3142.13, 13.93),
[4] = vector3(-909.73, -3190.05, 13.94),
[5] = vector3(-1097.16, -2911.45, 13.94),
[6] = vector3(-1261.79, -2780.29, 13.94),
[7] = vector3(-1193.88, -2543.16, 13.94),
[8] = vector3(-989.01, -2375.95, 13.94),
[9] = vector3(-1157.98, -2742.06, 13.95),
[10] = vector3(1701.78, 3266.63, 41.14),
[11] = vector3(1054.73, 3072.05, 41.51),
[12] = vector3(1425.41, 3088.31, 40.88),
},
PedChanceToFleeFromPlayer = 100, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 10000,-- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 15000,-- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "flee", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
ERS_SetPedToFleeFromPlayer(ped)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 15
-- Build peds
local randomAmountOfSuspects = math.random(4)
for i = 1, randomAmountOfSuspects do
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(coords.x, coords.y, coords.z+1.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
end
return true
end
}
@@ -0,0 +1,122 @@
Config.Callouts[#Config.Callouts+1] = {
Enabled = true,
CalloutName = "Person Attacked by a dog",
CalloutDescriptions = {
"Respond immediately to a report of a person being attacked by a dog; secure the area and provide medical assistance.",
"Emergency alert: person under attack by a dog; deploy units to manage the situation and ensure the victim's safety.",
"Urgent response required: individual attacked by a dog; focus on providing aid and controlling the animal.",
"Critical situation: dog attack on a person; act swiftly to assist the victim and contain the dog.",
"Alert: report of a dog attacking a person; immediate intervention needed to ensure safety and provide help.",
"Dog attack incident: urgent action required to secure the area and assist the injured person.",
"Handle an emergency involving a dog attack on a person; prioritize the victim's safety and coordinate with animal control.",
"Emergency situation: person being attacked by a dog; ensure the area is safe and provide necessary assistance.",
"Urgent alert: individual attacked by a dog; respond quickly to manage the scene and help the victim.",
"Critical response needed: dog attack on a person; secure the area, assist the injured, and control the animal.",
},
CalloutUnitsRequired = {
description = "Police, Ambulance.",
policeRequired = true,
ambulanceRequired = true,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-1016.5710, -1280.4180, 6.1974),
[2] = vector3(-101.3984, -446.6597, 35.9044),
[3] = vector3(-137.1873, -433.7953, 34.1178),
[4] = vector3(-353.7449, -992.6283, 29.2972),
[5] = vector3(1141.6670, -643.3297, 56.7655),
[6] = vector3(627.6739, -103.4051, 73.4221),
[7] = vector3(428.5690, 6507.1108, 28.0105),
[8] = vector3(-556.6186, 6240.6646, 8.9844),
[9] = vector3(-1007.1041, 5032.3906, 179.1540),
[10] = vector3(-1678.2893, 4244.0859, 78.9253),
[11] = vector3(-1438.6696, 828.6215, 184.3856),
[12] = vector3(-526.8943, 285.0213, 83.0205),
[13] = vector3(-603.4233, -1307.2855, 12.2781),
[14] = vector3(252.2129, -1993.1140, 20.3490),
[15] = vector3(170.6650, -1825.4866, 28.1628),
[16] = vector3(376.8596, -1836.3699, 28.3408),
[17] = vector3(830.2681, -795.4789, 26.2482),
[18] = vector3(707.4484, -863.0705, 23.8887),
[19] = vector3(349.2947, -1140.6333, 29.3828),
[20] = vector3(182.8992, -1222.9861, 29.3061),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 100, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 10000,-- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 15000,-- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "attack",-- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local dogPedList = {}
local targetPed
local dogPed
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
TaskSetBlockingOfNonTemporaryEvents(ped, true)
if ERS_IsPedAnAnimalPed(ped) then
dogPed = ped
table.insert(dogPedList, PedToNet(dogPed))
else
targetPed = ped
ERS_ApplyBloodToPed(ped)
end
end
end
if DoesEntityExist(dogPed) and DoesEntityExist(targetPed) then
TaskCombatPed(dogPed, targetPed, 0, 16)
local chance = math.random(100)
if chance > 50 then
-- Ped fights back
TaskCombatPed(targetPed, dogPed, 0, 16)
else
-- Ped flees
ERS_ClearPedTasksAndBlockEvents(targetPed)
TaskReactAndFleePed(targetPed, dogPed)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, dogPedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 5
-- Build ped
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(coords.x, coords.y, coords.z+1.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
-- Build dog
coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomDogs)
local pedCoords = vector3(coords.x, coords.y, coords.z+1.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
return true
end
}
@@ -0,0 +1,124 @@
Config.Callouts["animal_fire"] = {
Enabled = true,
CalloutName = "Animal on fire",
CalloutDescriptions = {
"An animal has caught fire, requiring immediate intervention to save it.",
"Emergency teams are needed to extinguish flames on a burning animal.",
"Authorities report an animal on fire, necessitating urgent action to prevent further harm.",
"A critical situation with an animal ablaze; additional units are needed to assist.",
"Immediate response required to rescue an animal engulfed in flames.",
"An animal is burning, posing a severe threat; reinforcements are needed to handle the situation.",
"Emergency crews are requesting backup to save an animal on fire and prevent the flames from spreading.",
"An urgent call for help has been issued to deal with an animal caught in a fire.",
"Responders are on the scene of an animal on fire and need extra support to control the flames.",
"A serious emergency involving an animal on fire demands swift action to protect both the animal and nearby areas.",
},
CalloutUnitsRequired = {
description = "Police, Fire.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = true,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(1425.4738, -2374.1970, 67.0164),
-- [2] = vector3(2278.6301, 2969.2185, 46.5811),
-- [3] = vector3(2840.2234, 1553.8225, 24.5741),
-- [4] = vector3(2821.8545, 1511.8513, 24.7242),
-- [5] = vector3(2458.3921, 1457.0712, 36.2040),
-- [6] = vector3(1127.5670, -2489.8242, 33.3611),
-- [7] = vector3(233.3477, 6399.8403, 31.6335),
-- [8] = vector3(1346.0159, 6383.4556, 33.4101),
-- [9] = vector3(2050.1416, 3683.3496, 34.5879),
-- [10] = vector3(683.1802, 120.5065, 80.7545),
-- Add more to 40
},
PedChanceToFleeFromPlayer = 70, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 10, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 1000, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 5000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "flee", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local victim
local suspectPedList = {}
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
TaskSetBlockingOfNonTemporaryEvents(ped, true)
if ERS_IsPedAnAnimalPed(ped) then
victim = ped
StartEntityFire(victim)
ERS_ApplyBloodToPed(victim)
elseif index == 2 then
table.insert(suspectPedList, PedToNet(ped))
ERS_SetPedToFleeFromPlayer(ped)
else
TaskTurnPedToFaceEntity(ped, victim, -1)
Wait(1000)
local scenario = ERS_SelectRandomBystanderScenario()
TaskStartScenarioInPlace(ped, scenario, 0, true)
end
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, suspectPedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 10
-- Build fire
if UsingSmartFires then
-- Full version
local fireSize = Config.RandomSmallFireOrSmokeSize[math.random(#Config.RandomSmallFireOrSmokeSize)]
local fireType = Config.NormalFireTypes[math.random(#Config.NormalFireTypes)]
local fireId = exports['SmartFires']:CreateFire(vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z-0.5), fireSize, fireType)
DebugPrint("Created fire with ID: "..fireId)
table.insert(fireList, fireId)
else
-- Lite version
local fireSize = Config.RandomSmallFireOrSmokeSize[math.random(#Config.RandomSmallFireOrSmokeSize)]
local fireType = "normal"
local fireId = exports['SmartFiresLite']:CreateFire(vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z-0.5), fireSize, fireType)
DebugPrint("Created fire with SmartFiresLite with ID: "..fireId)
table.insert(fireList, fireId)
end
-- Build victim
local pedModel = ERS_GetRandomModel(Config.calloutAnimals)
local pedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
-- Build suspect & bystander(s)
local randomAmountOfBystanders = math.random(3)
for i = 1, randomAmountOfBystanders do
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(coords.x, coords.y, coords.z)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
end
return true
end
}
@@ -0,0 +1,85 @@
Config.Callouts["animal_lion_loose"] = {
Enabled = true,
CalloutName = "Lion on the loose",
CalloutDescriptions = {
"Respond to a report of a lion on the loose; ensure public safety and coordinate with animal control.",
"Alert: wild lion spotted in the area; deploy units to contain the animal and protect civilians.",
"Units needed: emergency call for a lion on the loose; focus on securing the area and preventing any harm.",
"Notice: lion reported roaming freely; act promptly to control the situation and provide assistance.",
"Alert: report of a lion on the loose; intervention needed to secure the scene and ensure safety.",
"Incident reported: lion sighted in the vicinity; take action to deliver urgent response and support.",
"Respond to a situation involving a loose lion; prioritize public safety and coordinate with wildlife experts.",
"Situation alert: lion on the loose; provide immediate assistance and ensure the area is secure.",
"Alert: report of a lion roaming freely; respond swiftly to address the emergency and offer necessary support.",
"Response needed: lion on the loose; ensure public safety, provide aid, and secure the area.",
},
CalloutUnitsRequired = {
description = "Police",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(1934.6595, 3031.3896, 45.7164),
[2] = vector3(-214.8435, 1035.7235, 234.5423),
[3] = vector3(-466.8387, -1162.0983, 23.6649),
[4] = vector3(-2076.1177, -437.1109, 9.8332),
[5] = vector3(-2281.7795, 474.2083, 172.9490),
[6] = vector3(-2295.1606, 188.0179, 167.6016),
[7] = vector3(-2939.5046, 650.9875, 24.1793),
[8] = vector3(-3188.0657, 1012.1148, 20.0270),
[9] = vector3(-1552.5914, 1392.1687, 125.7523),
[10] = vector3(-435.6132, 1137.1411, 325.9044),
[11] = vector3(-95.6399, 1867.1407, 198.5176),
[12] = vector3(925.4871, 2210.6370, 48.5551),
[13] = vector3(1518.1306, 1657.1375, 111.3717),
[14] = vector3(1526.4376, 1083.3717, 113.4257),
[15] = vector3(2120.0583, 2712.8020, 49.2382),
[16] = vector3(2398.5566, 3368.1067, 47.5749),
[17] = vector3(2025.1345, 3822.0681, 33.0109),
[18] = vector3(1698.8066, 4934.4023, 42.0782),
[19] = vector3(2336.7585, 5165.4336, 50.9019),
[20] = vector3(-496.6979, 6083.9131, 29.3845),
},
PedChanceToFleeFromPlayer = 100, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 10, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 10000, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 15000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "flee",-- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
TaskReactAndFleePed(ped, plyPed)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 30000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
-- Build lion
local AnimalPedModel = "a_c_mtlion"
local animalPedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z+1.0)
local animalPedHeading = math.random(360)
local animalPedNetId = ERS_CreatePed(AnimalPedModel, animalPedCoords, animalPedHeading)
local animalPed = NetworkGetEntityFromNetworkId(animalPedNetId)
table.insert(pedList, animalPedNetId)
return true
end
}
@@ -0,0 +1,114 @@
Config.Callouts["animal_on_road"] = {
Enabled = true,
CalloutName = "Animal Blocking the Road",
CalloutDescriptions = {
"An unexpected type of animal has appeared on the road, causing a disruption in traffic flow.",
"Emergency services have been called to intervene in a situation where an animal is impeding traffic on the road.",
"Reports indicate a disturbance on the roadway, with an unidentified creature causing a commotion.",
"A peculiar incident has unfolded on the road, requiring immediate attention to ensure public safety.",
"Emergency services have been dispatched to address an obstruction on the road, involving an animal.",
"A surprising encounter has occurred on the road, with an unknown creature causing a hindrance to traffic.",
"Witnesses report an unusual occurrence on the road, with an unidentified animal creating a hazard for motorists.",
"An incident has occurred on the road, with an animal posing a potential threat to drivers.",
"Emergency services have been alerted to a situation where an unidentified creature is obstructing the roadway.",
"Reports suggest an unexpected type of animal on the road, involving an animal that requires immediate assistance.",
},
CalloutUnitsRequired = {
description = "Police, animal rescue.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(2080.73, 2626.99, 52.40),
[2] = vector3(903.23, 161.76, 74.04),
[3] = vector3(1113.25, 417.18, 83.67),
[4] = vector3(1543.74, 892.82, 77.47),
[5] = vector3(1614.32, 1105.89, 82.08),
[6] = vector3(2052.10, 2595.61, 53.69),
[7] = vector3(2236.29, 2788.25, 44.15),
[8] = vector3(2853.91, 3515.08, 54.34),
[9] = vector3(2859.30, 3601.57, 52.95),
[10] = vector3(2878.75, 4194.57, 50.14),
[11] = vector3(2775.87, 4404.12, 48.96),
[12] = vector3(2649.70, 5079.81, 44.83),
[13] = vector3(2114.19, 6027.16, 50.92),
[14] = vector3(1528.76, 6442.59, 23.29),
[15] = vector3(8900.44, 6471.33, 31.35),
[16] = vector3(-176.06, 6199.81, 31.19),
[17] = vector3(-477.35, 5862.80, 33.60),
[18] = vector3(-1189.78, 5261.50, 52.16),
[19] = vector3(-2015.21, 4496.73, 57.07),
[20] = vector3(-2241.45, 4260.30, 45.70),
[21] = vector3(-2474.10, 3637.44, 13.92),
[22] = vector3(-2631.86, 2855.54, 16.70),
[23] = vector3(-2707.72, 2295.90, 18.40),
[24] = vector3(-3096.80, 1315.54, 20.22),
[25] = vector3(-2988.84, 374.60, 14.79),
[26] = vector3(-2553.09, -164.87, 20.33),
[27] = vector3(-2164.92, -343.06, 13.19),
[28] = vector3(-1821.37, -608.59, 11.26),
[29] = vector3(-926.08, -564.75, 18.87),
[30] = vector3(-887.70, -512.39, 21.50),
[31] = vector3(-471.13, -528.49, 25.33),
[32] = vector3(-146.59, -492.57, 29.13),
[33] = vector3(290.05, -522.58, 34.08),
[34] = vector3(-739.99, -1160.85, 10.67),
[35] = vector3(1112.01, -2084.58, 38.69),
[36] = vector3(1012.97, -900.33, 30.53),
[37] = vector3(1291.97, -645.74, 67.81),
[38] = vector3(1092.31, 758.75, 152.95),
[39] = vector3(239.35, 1337.28, 238.19),
[40] = vector3(-637.12, 1752.96, 210.16),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
ClearPedTasks(ped)
if Config.Debug then
print("Found animal entity: "..ped)
end
TaskWanderStandard(ped, 10.0, 10)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
--ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 20
local randomAmountOfAnimals = math.random(1, 8)
local randomAnimalPedModel = ERS_GetRandomModel(Config.calloutAnimals)
for i = 1, randomAmountOfAnimals do
-- Build animals of the same type.
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local animalPedCoords = vector3(coords.x, coords.y, coords.z)
local animalPedHeading = math.random(360)
local animalPedNetId = ERS_CreatePed(randomAnimalPedModel, animalPedCoords, animalPedHeading)
local animalPed = NetworkGetEntityFromNetworkId(animalPedNetId)
table.insert(pedList, animalPedNetId)
end
return true
end
}
@@ -0,0 +1,119 @@
Config.Callouts["animal_on_tracks"] = {
Enabled = true,
CalloutName = "Animal on the train tracks",
CalloutDescriptions = {
"Investigate reports of an animal on the train tracks; secure the area and ensure safety.",
"Alert: dispatch units to remove an animal from the train tracks; prevent potential accidents.",
"Units required: respond to reports of an animal on the train tracks and take necessary actions.",
"Notice: check reports of an animal obstructing the train tracks; implement safety measures.",
"Alert: respond promptly to reports of an animal on the train tracks; prioritize safety and clear the tracks.",
"Incident reported: look into reports of an animal on the train tracks to prevent disruptions.",
"Investigate reports of an animal on the train tracks; coordinate with relevant authorities for removal.",
"Situation alert: address reports of an animal obstructing the train tracks; ensure the area is cleared.",
"Alert: handle reports of an animal on the train tracks and follow protocols to ensure safety.",
"Response needed: investigate reports of an animal on the train tracks and take appropriate actions to remove it.",
},
CalloutUnitsRequired = {
description = "Police",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(153.18, -2083.33, 17.14),
[2] = vector3(272.54, -1867.12, 26.86),
[3] = vector3(664.85, -1103.13, 23.69),
[4] = vector3(669.08, -1097.25, 23.48),
[5] = vector3(669.67, -735.04, 24.08),
[6] = vector3(735.63, -524.24, 27.11),
[7] = vector3(738.73, -512.96, 27.39),
[8] = vector3(1431.49, -967.60, 61.45),
[9] = vector3(1573.22, -941.38, 70.74),
[10] = vector3(1757.88, -819.74, 88.22),
[11] = vector3(1826.75, -767.81, 94.47),
[12] = vector3(2079.20, -692.69, 96.97),
[13] = vector3(2237.53, -559.26, 96.02),
[14] = vector3(2645.90, 130.26, 93.94),
[15] = vector3(2672.17, 459.43, 94.66),
[16] = vector3(2163.94, 1410.07, 79.75),
[17] = vector3(1913.86, 2183.46, 61.62),
[18] = vector3(2476.13, 2765.11, 37.96),
[19] = vector3(2615.23, 2934.57, 39.95),
[20] = vector3(2854.46, 3427.33, 46.75),
[21] = vector3(2837.95, 3821.68, 44.12),
[22] = vector3(2064.51, 3656.00, 38.55),
[23] = vector3(1742.14, 3470.76, 38.84),
[24] = vector3(711.45, 3177.26, 42.10),
[25] = vector3(-85.88, 3497.44, 53.25),
[26] = vector3(-392.81, 3885.08, 76.91),
[27] = vector3(-505.23, 5186.76, 89.23),
[28] = vector3(-358.47, 5913.59, 45.39),
[29] = vector3(-180.77, 6101.54, 31.60),
[30] = vector3(99.54, 6310.35, 31.64),
[31] = vector3(465.13, 6437.98, 31.85),
[32] = vector3(877.99, 6437.00, 32.14),
[33] = vector3(1233.69, 6432.33, 31.81),
[34] = vector3(1666.08, 6345.36, 43.10),
[35] = vector3(2401.34, 5879.92, 60.57),
[36] = vector3(2623.79, 5468.85, 62.03),
[37] = vector3(2692.14, 5276.94, 62.17),
[38] = vector3(2894.65, 4847.27, 63.09),
[39] = vector3(3011.50, 4143.03, 58.34),
[40] = vector3(2957.92, 3709.76, 54.91),
[41] = vector3(2480.69, 2363.09, 36.98),
[42] = vector3(2610.93, 1603.51, 28.46),
[43] = vector3(669.48, -1056.83, 22.44),
[44] = vector3(769.45, -1525.64, 20.49),
[45] = vector3(537.58, -2617.92, 12.90),
[46] = vector3(217.48, -2524.09, 6.44),
[47] = vector3(217.23, -2199.28, 13.34),
[48] = vector3(68.30, -2589.99, 6.00),
[49] = vector3(221.95, -2728.21, 6.13),
[50] = vector3(217.77, -2624.48, 6.37),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
local pos = GetEntityCoords(ped)
local randomChance = math.random(100)
if randomChance < 50 then
SetEntityHealth(ped, 0)
else
TaskWanderInArea(ped, pos.x, pos.y, pos.z, 10.0, 10000, 10000)
end
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local pedModel = ERS_GetRandomModel(Config.allAnimals)
local pedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
return true
end
}
@@ -0,0 +1,86 @@
Config.Callouts["animal_rat_plague"] = {
Enabled = true,
CalloutName = "Extreme rat plague",
CalloutDescriptions = {
"Emergency: respond to reports of an extreme rat plague; ensure the safety of residents and contain the infestation.",
"Urgent alert: dispatch pest control units to address a severe rat infestation; prevent the spread of disease and damage.",
"Critical response required: attend to reports of a rat plague; secure the area and implement extermination measures.",
"Notice: check reports of a rat infestation; take immediate action to control the population and protect public health.",
"Alert: respond promptly to reports of an extreme rat plague; prioritize the safety of the community and prevent further spread.",
"Incident reported: investigate severe rat infestation; coordinate with pest control services to manage the situation effectively.",
"Immediate action: address reports of a rat plague; use appropriate methods to eradicate the rats and ensure safety.",
"Situation alert: assist with controlling an extreme rat infestation; secure the area and implement necessary measures.",
"Emergency response: handle reports of a rat plague and follow protocols to contain and eliminate the infestation.",
"Response needed: investigate reports of a severe rat infestation urgently; take appropriate actions to protect public health and safety.",
},
CalloutUnitsRequired = {
description = "Police, Animal Rescue.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-156.5135, 1941.9556, 195.2362),
[2] = vector3(1986.7726, 3050.1509, 47.2151),
[3] = vector3(1714.2148, 3695.8870, 34.4959),
[4] = vector3(3.2913, -1739.9449, 29.3052),
[5] = vector3(-467.1143, -1707.0049, 18.8235),
[6] = vector3(-817.2072, -1332.6687, 5.1324),
[7] = vector3(-1004.5860, -1460.5331, 4.9887),
[8] = vector3(-1121.3344, -1982.2427, 13.1626),
[9] = vector3(-806.9633, -1097.7111, 10.6082),
[10] = vector3(506.8831, 3111.2585, 40.6679),
[11] = vector3(1960.8220, 3770.2551, 32.2001),
[12] = vector3(2504.1604, 4080.2524, 38.6310),
[13] = vector3(-345.4866, -1563.9071, 25.2083),
[14] = vector3(-211.5286, 6287.9878, 31.4894),
[15] = vector3(248.5705, 6474.3198, 30.7680),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local coords = calloutDataClient.Coordinates
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
ClearPedTasks(ped)
TaskWanderInArea(ped, coords.x, coords.y, coords.z, 20.0, 5000, 10000)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 30000)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 20
local randomAmountOfAnimals = math.random(25, 50)
local randomAnimalPedModel = "a_c_rat"
for i = 1, randomAmountOfAnimals do
-- Build animals of the same type.
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local animalPedCoords = vector3(coords.x, coords.y, coords.z)
local animalPedHeading = math.random(360)
local animalPedNetId = ERS_CreatePed(randomAnimalPedModel, animalPedCoords, animalPedHeading)
local animalPed = NetworkGetEntityFromNetworkId(animalPedNetId)
table.insert(pedList, animalPedNetId)
end
return true
end
}
@@ -0,0 +1,91 @@
Config.Callouts["animals_escaped"] = {
Enabled = true,
CalloutName = "Escaped farm animals",
CalloutDescriptions = {
"Emergency: respond to reports of Escaped farm animals; ensure the safety of people and animals in the area.",
"Urgent alert: dispatch units to corral Escaped farm animals; prevent them from causing accidents or damage.",
"Critical response required: attend to reports of Escaped farm animals; secure the area and prevent them from wandering further.",
"Notice: check reports of Escaped farm animals; implement measures to safely return them to their enclosure.",
"Alert: respond promptly to reports of Escaped farm animals; prioritize the safety of both the farm animals and the public.",
"Incident reported: investigate Escaped farm animals sightings; coordinate with local authorities and farmers to manage the situation.",
"Immediate action: address reports of Escaped farm animals; use appropriate methods to round them up and ensure their safety.",
"Situation alert: assist with corralling Escaped farm animals; ensure the area is safe and the farm animals are unharmed.",
"Emergency response: handle reports of Escaped farm animals and follow protocols to safely capture and return them.",
"Response needed: investigate reports of Escaped farm animals urgently; take appropriate actions to prevent harm and secure the animals.",
},
CalloutUnitsRequired = {
description = "Police, Animal Rescue.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-156.5135, 1941.9556, 195.2362),
[2] = vector3(1466.7488, 992.6075, 114.9633),
[3] = vector3(1499.7604, 1483.1517, 105.4204),
[4] = vector3(1517.8981, 1748.6394, 109.8674),
[5] = vector3(235.0015, 2621.3835, 46.2649),
[6] = vector3(2559.9636, 4217.8853, 41.0057),
[7] = vector3(2681.3750, 4837.1987, 33.4963),
[8] = vector3(2231.8330, 5172.8379, 59.2566),
[9] = vector3(-458.1834, 5884.9546, 32.9752),
[10] = vector3(1484.6155, 4508.0635, 52.6044),
[11] = vector3(2527.8472, 4688.5127, 33.6504),
[12] = vector3(2695.5269, 4217.3936, 43.5792),
[13] = vector3(641.7357, 1772.3513, 194.4283),
[14] = vector3(-62.1715, 1856.3737, 200.6837),
[15] = vector3(-2177.8003, -385.5692, 13.2969),
[16] = vector3(1981.4440, 4971.6411, 42.1647),
[17] = vector3(2244.5688, 5189.4077, 60.3518),
[18] = vector3(2838.7747, 4742.7949, 47.9336),
[19] = vector3(2986.2134, 4558.3813, 51.6006),
[20] = vector3(895.3198, 294.8879, 87.3205),
},
PedChanceToFleeFromPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 0, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 0, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 0, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 1000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "none", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_unarmed",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local coords = calloutDataClient.Coordinates
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
ClearPedTasks(ped)
TaskWanderInArea(ped, coords.x, coords.y, coords.z, 20.0, 5000, 10000)
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 30000)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 20
local randomAmountOfAnimals = math.random(1, 8)
local randomAnimalPedModel = ERS_GetRandomModel(Config.cattleAnimals)
for i = 1, randomAmountOfAnimals do
-- Build animals of the same type.
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local animalPedCoords = vector3(coords.x, coords.y, coords.z)
local animalPedHeading = math.random(360)
local animalPedNetId = ERS_CreatePed(randomAnimalPedModel, animalPedCoords, animalPedHeading)
local animalPed = NetworkGetEntityFromNetworkId(animalPedNetId)
table.insert(pedList, animalPedNetId)
end
return true
end
}
@@ -0,0 +1,148 @@
Config.Callouts["animals_under_attack"] = {
Enabled = true,
CalloutName = "Farm animals under attack by wild animals",
CalloutDescriptions = {
"Emergency: respond immediately to reports of Farm animals being attacked by wild animals; ensure the safety of the herd.",
"Urgent alert: dispatch units to the location where Farm animals are under attack; protect the livestock and manage the threat.",
"Critical response: attend to an incident involving Farm animals being attacked; prioritize safeguarding the animals and mitigating the danger.",
"Immediate action: investigate reports of wild animals attacking Farm animals; secure the area and protect the herd.",
"Alert: respond to a situation where Farm animals are being attacked by animals; take necessary measures to ensure their safety.",
"Incident reported: handle reports of livestock under attack; coordinate with local authorities and animal control to manage the situation.",
"Situation alert: assist in protecting Farm animals from an animal attack; ensure the safety of the livestock and contain the threat.",
"Emergency response: deal with an incident of Farm animals being attacked by wild animals; follow protocols to protect the herd and secure the area.",
"Immediate intervention: respond to reports of Farm animals under attack; prioritize the safety of the animals and take necessary actions.",
"Response needed: investigate an incident where Farm animals are being attacked by animals; take appropriate measures to protect the livestock and manage the situation.",
},
CalloutUnitsRequired = {
description = "Police.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-156.5135, 1941.9556, 195.2362),
[2] = vector3(1466.7488, 992.6075, 114.9633),
[3] = vector3(1499.7604, 1483.1517, 105.4204),
[4] = vector3(1517.8981, 1748.6394, 109.8674),
[5] = vector3(235.0015, 2621.3835, 46.2649),
[6] = vector3(2559.9636, 4217.8853, 41.0057),
[7] = vector3(2681.3750, 4837.1987, 33.4963),
[8] = vector3(2231.8330, 5172.8379, 59.2566),
[9] = vector3(-458.1834, 5884.9546, 32.9752),
[10] = vector3(1484.6155, 4508.0635, 52.6044),
[11] = vector3(2527.8472, 4688.5127, 33.6504),
[12] = vector3(2695.5269, 4217.3936, 43.5792),
[13] = vector3(641.7357, 1772.3513, 194.4283),
[14] = vector3(-62.1715, 1856.3737, 200.6837),
[15] = vector3(-2177.8003, -385.5692, 13.2969),
[16] = vector3(1981.4440, 4971.6411, 42.1647),
[17] = vector3(2244.5688, 5189.4077, 60.3518),
[18] = vector3(2838.7747, 4742.7949, 47.9336),
[19] = vector3(2986.2134, 4558.3813, 51.6006),
[20] = vector3(895.3198, 294.8879, 87.3205),
[21] = vector3(2254.5916, 4926.0264, 40.9015),
},
PedChanceToFleeFromPlayer = 25, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 50, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 10, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 100, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 15000, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 30000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "attack", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_knife",
"weapon_bat",
"weapon_hammer",
"weapon_wrench",
"weapon_pistol",
"weapon_microsmg",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local wildAnimal
local cattlePedsList = {}
local coords = calloutDataClient.Coordinates
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
if index == 1 then
wildAnimal = ped
local function StartAnimalAttackLoop(wildAnimal, cattlePedsList)
Citizen.CreateThread(function()
ERS_RequestNetControlForEntity(wildAnimal)
while not IsPedDeadOrDying(wildAnimal, true) and #cattlePedsList > 0 do
for i = #cattlePedsList, 1, -1 do
if IsPedDeadOrDying(NetToPed(cattlePedsList[i]), true) then
table.remove(cattlePedsList, i)
end
end
if #cattlePedsList > 0 then
local targetPed = NetToPed(cattlePedsList[math.random(#cattlePedsList)])
TaskCombatPed(wildAnimal, targetPed, 0, 16)
end
Citizen.Wait(2500)
end
if IsPedDeadOrDying(wildAnimal, true) then
if Config.Debug then
print("The wild animal is dead or deleted...")
end
else
if Config.Debug then
print("All cattle animals are dead or deleted, stopped loop and tasking to attack player.")
end
TaskCombatPed(wildAnimal, plyPed, 0, 16)
end
end)
end
Citizen.SetTimeout(1000, function()
StartAnimalAttackLoop(wildAnimal, cattlePedsList)
end)
else
table.insert(cattlePedsList, pedNetId)
TaskWanderInArea(ped, coords.x, coords.y, coords.z, 40.0, 5000, 10000)
end
end
end
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 20
-- Build wild animal
local randomWildAnimalPedModel = ERS_GetRandomModel(Config.wildAnimals)
local wildAnimalPedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local wildAnimalPedHeading = math.random(360)
local wildAnimalPedNetId = ERS_CreatePed(randomWildAnimalPedModel, wildAnimalPedCoords, wildAnimalPedHeading)
local wildAnimalPed = NetworkGetEntityFromNetworkId(wildAnimalPedNetId)
table.insert(pedList, wildAnimalPedNetId)
-- Build cattle animals of the same type.
local randomAmountOfAnimals = math.random(1, 8)
local randomAnimalPedModel = ERS_GetRandomModel(Config.cattleAnimals)
for i = 1, randomAmountOfAnimals do
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local animalPedCoords = vector3(coords.x, coords.y, coords.z)
local animalPedHeading = math.random(360)
local animalPedNetId = ERS_CreatePed(randomAnimalPedModel, animalPedCoords, animalPedHeading)
local animalPed = NetworkGetEntityFromNetworkId(animalPedNetId)
table.insert(pedList, animalPedNetId)
end
return true
end
}
@@ -0,0 +1,139 @@
Config.Callouts["anpr_alert"] = {
Enabled = true,
CalloutName = "ANPR Alert",
CalloutDescriptions = {
"An ANPR alert has been reported, requiring immediate police response.",
"Emergency assistance is needed to manage and address an ANPR alert.",
"Reports indicate an ANPR alert, necessitating urgent police intervention.",
"An ANPR alert has been reported, and backup is needed to maintain order and ensure safety.",
"Emergency services have been requested to address an ANPR alert.",
"A request for assistance has been made by officers responding to an ANPR alert.",
"Additional units are required to support officers managing an ANPR alert.",
"Emergency backup is required to assist officers in handling an ANPR alert.",
"A call for assistance has been issued by officers dealing with an ANPR alert.",
"Reports suggest a situation where immediate police assistance is crucial to manage and address an ANPR alert.",
},
CalloutUnitsRequired = {
description = "Police.",
policeRequired = true,
ambulanceRequired = false,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(252.45, -991.78, 29.15),
[2] = vector3(442.52, -544.01, 28.28),
[3] = vector3(676.55, -219.48, 44.30),
[4] = vector3(365.68, -108.07, 66.25),
[5] = vector3(-817.47, -126.34, 37.52),
[6] = vector3(-309.89, -15.74, 48.35),
[7] = vector3(-2354.87, -285.41, 14.13),
[8] = vector3(-1000.02, -602.68, 18.39),
[9] = vector3(199.27, 6574.46, 31.80),
[10] = vector3(1391.85, 6500.05, 19.76),
[11] = vector3(1723.97, 6387.80, 34.03),
[12] = vector3(2553.27, 5194.82, 50.78),
[13] = vector3(-136.89, 6224.72, 31.34),
[14] = vector3(2600.13, 5119.80, 44.78),
[15] = vector3(2446.42, 4009.14, 37.06),
[16] = vector3(1831.28, 3258.06, 44.10),
[17] = vector3(1977.05, 3081.72, 47.07),
[18] = vector3(2558.44, 2702.69, 41.77),
[19] = vector3(2854.36, 2819.08, 53.09),
[20] = vector3(254.91, 2848.28, 43.59),
[21] = vector3(85.82, 3595.74, 39.75),
[22] = vector3(-821.40, 5761.81, 5.54),
[23] = vector3(-300.05, 6057.30, 31.35),
[24] = vector3(1244.97, -383.18, 69.11),
[25] = vector3(-862.40, -656.93, 27.53),
[26] = vector3(-866.07, -939.28, 15.85),
[27] = vector3(-188.73, -891.99, 29.34),
[28] = vector3(-707.01, -1611.40, 22.79),
[29] = vector3(738.92, -2466.61, 20.22),
[30] = vector3(1240.60, -2054.46, 44.35),
[31] = vector3(1969.42, -921.52, 79.16),
[32] = vector3(2454.87, 977.85, 86.22),
[33] = vector3(2207.62, 2999.60, 45.54),
[34] = vector3(1696.63, 3510.35, 36.47),
[35] = vector3(226.92, 2973.63, 42.71),
[36] = vector3(-1254.90, 2537.62, 18.12),
[37] = vector3(-1785.69, 4736.50, 57.01),
[38] = vector3(-303.03, 6231.18, 31.45),
[39] = vector3(-54.87, 6311.50, 31.33),
[40] = vector3(1940.65, 6254.72, 43.52),
},
PedChanceToFleeFromPlayer = 75, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 25, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 10, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 25, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 10000, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 30000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "flee", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_poolcue",
"weapon_golfclub",
"weapon_crowbar",
"weapon_bat",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local vehicle
for index, vehNetId in pairs(vehicleList) do
local veh = NetToVeh(vehNetId)
if DoesEntityExist(veh) then
vehicle = veh
ERS_RequestNetControlForEntity(vehicle)
else
if Config.Debug then
print("Could not find vehicle entity.")
end
end
Wait(500)
end
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
TaskSetBlockingOfNonTemporaryEvents(ped, true)
if not IsPedInAnyVehicle(ped, true) then
TaskEnterVehicle(ped, vehicle, 5000, -1, 2.0, 1, 0)
Wait(2000)
ERS_SetPedToFleeFromPlayer(ped)
else
ERS_SetPedToFleeFromPlayer(ped)
end
end
end
ERS_CreateTemporaryBlipForEntities(vehicleList, 15000)
ERS_CreateTemporaryBlipForEntities(pedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, pedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
-- Build vehicle
local vehModel = ERS_GetRandomModel(Config.randomVehicles)
local vehType = "automobile"
local vehCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z)
local vehHeading = math.random(360)
local vehNetId = ERS_CreateVehicle(vehModel, vehType, vehCoords, vehHeading)
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
table.insert(vehicleList, vehNetId)
-- Build ped
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z + 3.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
SetPedIntoVehicle(ped, vehicle, -1)
table.insert(pedList, pedNetId)
return true
end
}
@@ -0,0 +1,120 @@
Config.Callouts["armed_robbery"] = {
Enabled = true,
CalloutName = "Reports of an Armed Burglary",
CalloutDescriptions = {
"Respond to a report of an armed burglary; secure the area and apprehend the suspect.",
"Alert: armed burglary in progress; deploy units to the location and ensure public safety.",
"Units needed: report of a burglary involving a weapon; focus on securing the scene and detaining the suspect.",
"Notice: armed burglary reported; act promptly to control the situation and prevent harm.",
"Alert: report of an armed burglary; intervention needed to apprehend the suspect and ensure safety.",
"Incident reported: armed burglary; take action to secure the premises and protect bystanders.",
"Respond to a situation involving an armed burglary; prioritize public safety and coordinate with law enforcement.",
"Situation alert: armed burglary in progress; secure the area and detain the suspect.",
"Alert: report of a burglary with a weapon; respond swiftly to address the situation and ensure safety.",
"Response needed: armed burglary; secure the area, apprehend the suspect, and restore order.",
},
CalloutUnitsRequired = {
description = "Police, Ambulance.",
policeRequired = true,
ambulanceRequired = true,
fireRequired = false,
towRequired = false,
},
CalloutLocations = {
[1] = vector3(-462.7426, -1789.1514, 20.7425),
[2] = vector3(-1349.7474, -978.6703, 8.3487),
[3] = vector3(-1298.3502, -793.9792, 17.5649),
[4] = vector3(-79.0676, -420.0754, 36.9070),
[5] = vector3(269.7047, -454.0890, 45.1490),
[6] = vector3(384.5264, -330.8739, 46.8860),
[7] = vector3(-259.4929, -1608.9178, 31.8465),
[8] = vector3(-179.2647, -1740.8966, 30.2026),
[9] = vector3(19.5304, -1796.9473, 26.8921),
[10] = vector3(182.0713, -1936.4159, 21.0075),
[11] = vector3(483.6955, -1976.0867, 24.5434),
[12] = vector3(558.0399, -1791.2672, 29.1919),
[13] = vector3(791.4307, -2481.0999, 20.9120),
[14] = vector3(365.3052, -2552.9727, 6.2214),
[15] = vector3(-236.2226, -2470.8672, 6.0014),
[16] = vector3(-607.5613, -2315.1016, 13.8226),
[17] = vector3(-586.1891, -1164.0364, 22.1743),
[18] = vector3(-707.7452, -923.6995, 19.0100),
[19] = vector3(-710.3022, -866.9073, 23.3419),
[20] = vector3(371.6894, 30.0890, 92.0128),
},
PedChanceToFleeFromPlayer = 50, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToAttackPlayer = 50, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToSurrender = 20, -- Value between 0 and 100 -> Lower is less chance.
PedChanceToObtainWeapons = 100, -- Value between 0 and 100 -> Lower is less chance.
PedActionMinimumTimeoutInMs = 10000, -- Milliseconds for the minimum timeout time to start the secondary action listed above.
PedActionMaximumTimeoutInMs = 15000, -- Milliseconds for the maximum timeout time to start the secondary action. Must be a higher number than the minimum!
PedActionOnNoActionFound = "attack", -- When no action of the above options is found. It'll perform this action after the set timeout. Options: "none", "attack", "flee", "surrender"
PedWeaponData = { -- The ped will be given one randomly selected weapon (in hand) from these weapons if PedChanceToObtainWeapons passed.
"weapon_pistol",
},
client = function(plyPed, pedList, vehicleList, playersList, objectList, propList, fireList, smokeList, calloutDataClient)
local plyGroupHash = GetPedRelationshipGroupHash(plyPed)
local retval, suspectGroupHash = AddRelationshipGroup("SUSPECT_GROUP_HASH")
local victim
local suspectPedList = {}
for index, pedNetId in pairs(pedList) do
local ped = NetToPed(pedNetId)
if DoesEntityExist(ped) then
ERS_RequestNetControlForEntity(ped)
if index == 1 then
victim = ped
ERS_ClearPedTasksAndBlockEvents(ped)
Wait(100)
TaskHandsUp(ped, -1, 0, -1, true)
else
SetPedRelationshipGroupHash(ped, suspectGroupHash)
SetEntityCanBeDamagedByRelationshipGroup(ped, false, suspectGroupHash)
SetRelationshipBetweenGroups(5, suspectGroupHash, plyGroupHash)
SetRelationshipBetweenGroups(5, plyGroupHash, suspectGroupHash)
ERS_ClearPedTasksAndBlockEvents(ped)
ERS_SpawnConfiguredWeaponForPed(ped, calloutDataClient)
Wait(100)
TaskAimGunAtEntity(ped, victim, -1, false)
table.insert(suspectPedList, pedNetId)
end
end
end
ERS_CreateTemporaryBlipForEntities(suspectPedList, 15000)
ERS_PerformTimedActionOnPed(calloutDataClient, suspectPedList)
end,
server = function(request, src, calloutData, pedList, vehicleList, objectList, propList, playersList, fireList, smokeList)
local diameter = 15
-- Build victim
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(calloutData.Coordinates.x, calloutData.Coordinates.y, calloutData.Coordinates.z+1.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
-- Build peds
local randomAmountOfSuspects = math.random(4)
for i = 1, randomAmountOfSuspects do
local coords = ERS_GetRandomCoordinateWithinRangeOfCoordinate(calloutData.Coordinates, diameter)
local pedModel = ERS_GetRandomModel(Config.randomPeds)
local pedCoords = vector3(coords.x, coords.y, coords.z+1.0)
local pedHeading = math.random(360)
local pedNetId = ERS_CreatePed(pedModel, pedCoords, pedHeading)
local ped = NetworkGetEntityFromNetworkId(pedNetId)
table.insert(pedList, pedNetId)
end
return true
end
}

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