Skip to content

Temperature System & Jamming

This resource aims to provide an immersive and authentic store robbery experience by incorporating various gameplay elements that mimic real-life scenarios

The Temperature System simulates the heating of weapons during sustained fire, affecting weapon performance and visual feedback.

  • Dynamic Weapon Heating: Weapons heat up as they’re fired, with each weapon having unique heat characteristics.
  • Visual Feedback: Configurable smoke effects provide visual cues for weapon temperature.
  • Performance Impact: As weapons heat up, their behavior may change, adding a tactical element to sustained firefights.
  • Cooling Mechanics: Weapons cool down over time when not in use, encouraging tactical pauses in combat.


Config.WeaponSettings = {
TemperatureSystem = {
Enabled = true,
UseSmokeEffects = true,
},
UseJammingSystem = true,
-- Other settings...
}

Each weapon can be configured with the following heat-related parameters:

  • overheatThreshold: The point at which the weapon begins to overheat.
  • degreesPerBullet: How much the weapon heats up per shot.
  • cooldownRate: How quickly the weapon cools down when not in use.

Example for WEAPON_PISTOL:

Config.Weapons[`WEAPON_PISTOL`] = {
overheatThreshold = 200.0,
degreesPerBullet = 4.0,
cooldownRate = 0.2,
-- Other weapon-specific settings...
}

The Weapon Jamming system introduces the possibility of weapons malfunctioning during intense firefights, adding an element of unpredictability and encouraging weapon maintenance.

  • Probability-Based Jamming: Each weapon has a unique chance to jam based on its quality and condition.
  • Heat-Influenced Jamming: Weapon temperature may affect the likelihood of jamming, creating a connection between sustained fire and reliability.
  • Unjamming Mechanic: Players must perform an action to unjam their weapon, adding tension to combat situations.

Each weapon has a configurable jam percentage:

// Some code
Config.Weapons[`WEAPON_PISTOL`] = {
jamPercentage = 0.08,
-- Other weapon-specific settings...
}

Both the Temperature System and Weapon Jamming can be influenced by weapon components like suppressors and grips:

Config.Weapons[`WEAPON_PISTOL`] = {
components = {
suppressor = {
hash = `COMPONENT_AT_PI_SUPP_02`,
temperatureMultiplier = 0.8,
recoilMultiplier = 0.9
},
grip = {
hash = nil,
temperatureMultiplier = 0.9,
recoilMultiplier = 0.8
}
},
-- Other weapon-specific settings...
}