Standalone
Agency-Seatbelt V2 कॉन्फ़िगरेशन
FiveM के लिए स्टैंडअलोन सीट बेल्ट, 2.0.0 के लिए पूरी तरह नए सिरे से बनाई गई। स्वचालित कारों में अपने आप बंध जाती है.
v2.0.0सशुल्क4 पेज

01कॉन्फ़िगरेशन
त्वरित इंस्टॉलेशन · config.lua · Agency-Seatbelt V2
-- ╔══════════════════════════════════════════════════════════════╗
-- ║ A G E N C Y S E A T B E L T · 2.0 ║
-- ╠══════════════════════════════════════════════════════════════╣
-- ║ Everything a server owner is meant to change lives in this ║
-- ║ file. Nothing here is read anywhere else than where the ║
-- ║ comment says, and every single option below is actually ║
-- ║ used — the 1.x config carried thirty settings that did ║
-- ║ nothing, which is worse than having no setting at all. ║
-- ║ ║
-- ║ Texts do NOT belong here. They live in locales/, and ║
-- ║ Config.Text further down overrides any of them. ║
-- ╚══════════════════════════════════════════════════════════════╝
Config = {}
-- =====================================================
-- 1. GENERAL
-- =====================================================
-- Interface language. 25 ship with the resource:
--
-- ar Arabic bg Bulgarian cs Czech da Danish de German
-- el Greek en English es Spanish fi Finnish fr French
-- hi Hindi hr Croatian hu Hungarian it Italian ja Japanese
-- ko Korean nl Dutch pl Polish pt Portuguese ro Romanian
-- ru Russian sv Swedish tr Turkish uk Ukrainian zh Chinese
--
-- English is the base and the fallback: a key missing in another language is
-- shown in English, never as its raw key name. Right-to-left (ar) is handled
-- by the interface on its own.
Config.Locale = 'en'
-- 'auto' finds QBCore, QBox or ESX on its own and falls back to standalone when
-- there is none. The script needs no framework to work — the framework is only
-- used for notifications and for the /seatbelt permission check. Force a
-- specific one with 'qbcore', 'esx', or turn detection off with 'standalone'.
Config.Framework = 'auto'
-- Console output about detection, state changes and crash maths. Server console
-- always, and the player's F8 only while this is on.
Config.Debug = false
-- Title on notifications sent by this resource.
Config.NotifyTitle = 'Seatbelt'
-- =====================================================
-- 2. KEY AND COMMAND
-- =====================================================
-- The default key. It is registered through RegisterKeyMapping, so every player
-- can rebind it in the game's own Settings ▸ Key Bindings ▸ FiveM screen without
-- touching this file. Use the FiveM names: 'K', 'F5', 'MOUSE2', 'NUMPAD5'…
Config.Key = 'K'
-- Chat command that does the same thing. Set to false to register none.
Config.Command = 'seatbelt'
-- Getting out is blocked while buckled. Instead of the key silently doing
-- nothing, the first press explains why, and holding it this long unbuckles and
-- lets the player out in one motion. Set to 0 to require a separate unbuckle.
Config.HoldExitMs = 900
-- =====================================================
-- 3. WHERE THE BELT APPLIES
-- =====================================================
-- Vehicle classes that have no belts. 8 motorcycles, 13 cycles, 14 boats,
-- 15 helicopters, 16 planes, 21 trains.
-- Full list: docs.fivem.net/natives/?_0x29439776AAA00A62
Config.ExcludedClasses = { 8, 13, 14, 15, 16, 21 }
-- Individual models that are excluded on top of the classes above.
Config.ExcludedModels = {}
-- Passengers get a belt of their own. With this off only the driver's seat (-1)
-- can buckle, and passengers are never reminded.
Config.PassengersCanBuckle = true
-- Buckling is remembered while the player stays in the same vehicle. Changing
-- seat keeps the belt; changing vehicle always starts unbuckled.
Config.KeepBeltOnSeatChange = true
-- =====================================================
-- 4. AUTOMATIC BELT (Agency Zero and any self-driving car)
-- =====================================================
-- A car that drives itself fastens the belt itself. This is what the Agency Zero
-- does the moment somebody sits down in it, and it is why the option exists —
-- but it is written for any vehicle, so a server can hand it to a taxi, a bus or
-- a mission car without touching a line of code.
Config.AutoBuckle = {
enabled = true,
-- ── Which cars fasten the belt by themselves ──────────────────────────
--
-- Every vehicle on the server, not just the ones listed below. One line
-- for a server that wants belts to be automatic everywhere and the key to
-- stay for taking it off again. The excluded classes still apply, so no
-- motorbike grows a seatbelt.
allVehicles = false,
-- The list. Spawn names as they are in the vehicle's meta, lower case,
-- exactly what you would type after /car. This is the setting to edit:
--
-- models = { 'zero', 'taxi', 'bus', 'mycar' },
--
-- 'zero' is Agency Zero (Project 0), from the Agency-Zero resource — it
-- drives itself, so it fastens the belt itself. Ignored while
-- allVehicles is on, because then every car is on the list.
models = { 'zero' },
-- Any vehicle currently driving autonomously buckles too, recognised by the
-- state bag its own script sets. Agency-Zero sets `agAuto` while the
-- autopilot has the wheel; leave the name as it is unless another resource
-- of yours uses a different one. Set `statebag` to false to switch this off
-- and go by the model list alone.
statebag = 'agAuto',
-- Milliseconds between sitting down and the belt closing. Short enough to
-- feel automatic, long enough that the click is heard as its own moment
-- rather than on top of the door.
delay = 1100,
-- One press of the exit key opens an automatic belt and gets the player
-- out in the same motion — no unbuckling first, no holding. It was not
-- their decision to put the belt on, so it should not be their work to
-- take it off. Only applies to belts the car fastened; a belt the player
-- fastened themselves still follows Config.HoldExitMs.
exitReleases = true,
-- A player who unbuckles by hand inside such a car is not buckled again for
-- as long as they stay in it. Turning this off makes the car overrule them
-- on the next check, which is the correct behaviour for a prison transport
-- and the wrong one for everything else.
respectManualRelease = true,
-- Show the small "automatic" note when it happens.
notify = true,
-- Deliberately not a player setting and not in the menu: this is what the
-- car does, the same way its doors open on their own. A player who does not
-- want it takes the belt off, and it stays off until they leave that car.
}
-- =====================================================
-- 5. THE PLAYER'S OWN SETTINGS
-- =====================================================
-- A small menu on /aseatbelt where a player sets the things that are only about
-- them: whether they want to be reminded, whether it makes noise, and where the
-- card sits. Their choice is kept on their own machine and survives a
-- reconnect.
--
-- Everything else stays here in the config, because it is the server's decision
-- and not the player's. The automatic belt in particular is not in the menu —
-- that is what the car does, not a preference.
--
-- The values set further down in this file are the starting point for every
-- player who has not changed anything.
Config.Menu = {
enabled = true,
command = 'aseatbelt',
-- Which rows a player may change. A row set to false is not shown at all
-- rather than shown greyed out: a setting nobody can move is not
-- information, it is clutter. With every row off, the menu does not open.
allow = {
reminder = true, -- be reminded when driving unbelted
sound = true, -- make any noise at all
volume = true, -- how loud
position = true, -- where the card sits on screen
chip = true, -- the short confirmation after buckling
},
}
-- =====================================================
-- 6. REMINDER
-- =====================================================
Config.Reminder = {
enabled = true,
-- Below this speed nobody is reminded of anything (km/h).
speed = 25,
-- Milliseconds between two reminders.
interval = 5000,
-- Seconds the card stays on screen.
duration = 4.0,
-- After this many ignored reminders the card turns red and the beep gets
-- sharper. 0 keeps it calm forever.
escalateAfter = 3,
-- Above this speed it starts red straight away (km/h).
escalateSpeed = 110,
sound = true,
showSpeed = true,
-- Passengers are reminded as well. Only has an effect with
-- Config.PassengersCanBuckle on.
passengers = false,
}
-- =====================================================
-- 7. CRASH AND EJECTION
-- =====================================================
Config.Ejection = {
enabled = true,
-- Minimum speed at the moment of impact (km/h).
speed = 65.0,
-- How much speed has to be lost in one 50 ms step for it to count as a
-- crash (km/h). Full braking loses about 2, a wall takes 30 and up. This is
-- the number that decides whether hard braking throws people through the
-- windshield, so it is deliberately far above anything brakes can do.
deceleration = 22.0,
-- On top of the speed drop the vehicle must actually have hit something.
-- Leave this on: it is what separates a crash from a rally handbrake turn.
requireCollision = true,
-- How hard the ped is thrown. 1.0 is already violent.
force = 1.0,
-- Health taken on landing, plus or minus `damageVariance`.
damage = 45,
damageVariance = 15,
-- Milliseconds of ragdoll after the throw.
ragdollMs = 5000,
-- The windshield breaks where the ped went through it.
smashWindshield = true,
-- Red flash, shake and the crash card.
screenEffect = true,
-- Unbelted NPCs riding along are thrown as well, when this client owns them.
ejectNpcs = true,
}
-- =====================================================
-- 8. SOUND
-- =====================================================
-- Each of the five events below takes one of two forms, and the form decides
-- where the sound comes from:
--
-- 'name.mp3' a file in html/sfx, played by the interface
-- { name = ..., set = ... } a sound the game already has
-- false silent
--
-- The belt itself uses files, because no sound in the game is a seatbelt and
-- the ones that come close are phone and menu clicks. The warnings stay with
-- the game's own tones: those are HUD beeps rather than objects, and they
-- belong next to the rest of the interface.
Config.Sound = {
enabled = true,
-- Applies to both forms below. The clips themselves are normalised to
-- almost full scale, so this is the only thing setting how loud the belt is
-- next to the engine.
volume = 0.35,
-- Five real buckle recordings ship in html/sfx. Which one you use is
-- taste, so they are all included:
--
-- buckle.mp3 dry and close, one clean snap (shipped)
-- buckle-2.mp3 the same kind of snap, a touch softer
-- buckle-3.mp3 brighter, with the housing rattling after it
-- unbuckle-2.mp3 a short, flat release (shipped)
-- unbuckle.mp3 a longer release: button, then the tongue coming out
--
buckle = 'buckle.mp3',
unbuckle = 'unbuckle-2.mp3',
-- The car fastening the belt is the same physical event as a player doing
-- it, so it is the same sound. Put a different file or a game sound here if
-- you want the automatic belt to announce itself.
auto = 'buckle.mp3',
reminder = { name = 'Beep_Red', set = 'DLC_HEIST_HACKING_SNAKE_SOUNDS' },
warning = { name = '5_SEC_WARNING', set = 'HUD_MINI_GAME_SOUNDSET' },
-- Only applies to the { name = , set = } form: the sound comes from the
-- player's own position rather than flat in the ear, so a passenger hears
-- the driver. A file played by the interface is always heard by that one
-- player — which is the trade for having a belt that sounds like a belt.
positional = true,
}
-- =====================================================
-- 9. INTERFACE
-- =====================================================
Config.UI = {
-- Accent colour, as three channels. Every border, glow and keycap in the
-- interface is built from these, so one line here re-colours all of it.
-- Agency gold: 226, 182, 73. Cyan would be 0, 212, 255.
accent = '226, 182, 73',
-- Where the reminder sits: 'bottom', 'bottom-left', 'bottom-right', 'top'.
position = 'bottom',
-- Whole interface scale. 1.0 is designed for 1080p and up.
scale = 1.0,
-- The small chip that says "belt on" / "belt off" for a moment after every
-- change. Off if your HUD already shows the belt (Agency-Hud does).
statusChip = true,
statusChipMs = 1800,
-- Notifications through Agency-Notify when it is running. With this off the
-- framework's own notification is used, and standalone servers fall back to
-- the game's ticker.
useAgencyNotify = true,
-- Send a notification on every buckle and unbuckle. The chip above already
-- says it, so this is off by default — two messages for one key press is
-- exactly the kind of noise that makes people uninstall a script.
notifyOnToggle = false,
}
-- =====================================================
-- 10. OTHER RESOURCES
-- =====================================================
Config.Integration = {
-- Agency-Hud reads the belt state and shows it in the vehicle panel. It
-- polls the export on its own; this only fires the extra event that makes
-- the change instant instead of up to 200 ms late.
agencyHud = true,
-- The state is published as a replicated state bag, so other resources can
-- read any player's belt without an event:
-- Player(serverId).state.seatbelt -- client and server
-- Turning it off keeps the exports working and stops the replication.
stateBag = true,
}
-- =====================================================
-- 11. OWN TEXTS (optional)
-- =====================================================
-- Anything set here wins over locales/ for every language and survives updating
-- the resource. Keys are the ones in locales/en.lua.
--
-- Config.Text = {
-- buckled = 'Belt on',
-- unbuckled = 'Belt off',
-- }
Config.Text = {}