F.A.Q
Setup
1Config.Locale = 'en'Additional locales can be added in the locales/ folder.
- Advanced (
Config.RealTerminalItem = true, the default): a list of Geiger items, each with its own model, color theme, battery capacity and drain rate, set inConfig.AdvancedItems - Simple (
Config.RealTerminalItem = false): one Geiger item for all players, set inConfig.SimpleMode
The model field on each item controls the display mode:
- Overlay (
model-modern,model-standard,model-retro): the counter shows on screen and the player moves freely - 3D device (
dgm_geiger): a 3D model attaches to the player's chest and the interface draws live on its screen. The player holds it while it is open
Use /movegeiger while the on-screen counter is open, and /resetgeigerpos to put it back.
Radiation
Inside a radiation zone, radiation increases based on the zone's maxRadiation, force multiplier, and whether the zone is dynamic (distance-based) or flat. Vehicle and clothing protection reduce the effective amount.
Yes. It is stored in the ml_player_radiation table, saved every 5 minutes and on disconnect.
Yes, with Config.PlayerEffects.AutoRemove.Enabled = true, the default. Radiation decays only below SafeThreshold (150) and after GracePeriod (12 seconds) without new exposure. Above that, players need a cure item.
Screen effects grow stronger and the player loses health every 5 seconds: 1 HP at 500, up to 8 HP at 950 by default. Both are set in Config.PlayerEffects.
Yes, by default. Radiation is stored per character and survives death, respawn and reconnect. While a player is down it stops accumulating and does no damage. To reset it on respawn:
1Config.OnDeath = {
2 StopEffects = true,
3 ResetOnRespawn = true,
4}Protection
Yes, if Config.VehicleProtection.Enabled = true. The default multiplier of 0.6 blocks 40%. Motorcycles, bikes, boats and helicopters give no protection, planes do. Single models can have their own multiplier.
Each entry of Config.ClothingProtection.Suits lists component, drawable and texture combinations for male and female peds, with a protection share. The file ships gas masks and two anti-radiation suits already mapped. With RespectWear = true, a worn-out piece stops protecting.
They block a share of radiation for a set number of minutes, and the item is consumed on use. They ship turned off: set Config.ImmunityItems.Enabled = true and add entries, using the commented iodine_pill example.
Battery
While the counter is open, the battery drains once a minute at the item's batteryDrain rate: 0.8 for retro models, 0.5 for the others. A warning shows below Config.Battery.lowThreshold (20 units), and at 0 the counter closes. The level is stored in the item metadata and saved every 30 seconds.
They use the Config.Battery.rechargeItem item, battery by default. Each use consumes one and restores Config.Battery.rechargeAmount units (50), up to the item's batteryMax.
Yes. Set Config.Battery.enabled = false and the counter never drains.
Zones
Three shapes: sphere, box and poly.
With dynamic = true, radiation grows as the player gets closer to the center. With false, it stays at maxRadiation across the whole zone.
Yes. Set debug = true on any zone in Config.RadiationZones to see its wireframe.
Integration
Yes, three ways:
- Server export:
exports.ml_radiation:GetPlayerRadiation(source) - Client export:
exports.ml_radiation:GetRadiation() - State bag:
LocalPlayer.state.radiation(synced every second)
Yes, with the server exports SetRadiation, AddRadiation and RemoveRadiation. Your resource must be listed in Config.AdminExportResources.
Yes. Config.OnDeath.StopEffects covers it when the framework reports the player as dead. If your downed state keeps the ped alive, call the exports from your ambulance script:
1exports.ml_radiation:PauseRadiation()
2exports.ml_radiation:ResumeRadiation()ml_healthsystem reads the radiation level for its disease system through its own radiation integration. To let it also apply the health loss and the screen effects, set Config.HealthSystemIntegration = true and disableDamage and disableVisuals to true in Config.HealthSystemSettings. Zones and the Geiger Counter keep working the same way.
Updates
- Download latest from CFX Portal
- Backup
shared/config.luaandserver/config_server.lua - Replace all files except config
- Restart the resource
Radiation data is stored in the database and survives updates.