JRS COREDocumentation
Scripts

Interface

27 scripts dans le dossier [INTERFACE]

HUD, menus, notifications and other on-screen systems.

Ce dossier contient 27 scripts. Choisis un script dans les onglets ci-dessous.

Paid (server only)   jrs-Radio

jrs core Radio with persistent physical towers and maintenance jobs

Resource jrs-Radio
Folder [INTERFACE]
Version 3.25.3-jrs-radio-optional-strawberry
Author jrs team
Depends on jrs_core, jrs_inventory, oxmysql, pma-voice
Interface Yes (NUI)
Languages ar, en
Code size 6,161 Lua lines

Commands

  • /radiotowerstatus

Exports

GetRadioSignal, HasRadioSignal

Database tables

jrs_radio_towers

config/config.lua - 98 options#

General

Setting Default What it does
CoreResource "jrs_core" REDEMPIRE resources
InventoryResource "jrs_inventory" Réglage pour inventory resource.
RadioItem "radio" Objets d'inventaire utilisés par radio item. Les noms doivent exister dans la table jrs_items.
RequireRadioItem true Requires radio item : true = oui, false = non (par défaut true).
Debug false Debug output for debug : true = oui, false = non (par défaut false).
VoiceChat "pma" Voice system: "pma" or "saltychat"
VoiceResource "pma-voice" Réglage pour voice resource.
Language "ar" Langue de l’interface de ce script (en ou ar).
CheckItemInterval 2500 Réglage de durée pour check item interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
MinFrequency 0 Minimum ou niveau requis pour min frequency.
MaxFrequency 999.99 Limite maximale pour max frequency.
SOSCooldown 10000 Réglage de durée pour sos cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
JoinCooldown 750 Réglage de durée pour join cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
AutoReconnect table Restore the player's previous radio channel after this resource restarts.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ DelayMs 3500 Réglage de durée pour delay ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ RetryDelayMs 2500 Réglage de durée pour retry delay ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ MaxAttempts 2 Limite maximale pour max attempts.
TowerSystem table Radio tower / signal system.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ DefaultRadius 1000.0 Default coverage settings. Each tower can override these values.
  ↳ StrongSignalDistance 400.0 Distance en unités de jeu pour strong signal distance.
  ↳ ClientCheckInterval 400 How often the local client recalculates its signal.
  ↳ SignalReportInterval 1000 How often the server receives an authoritative position/signal refresh.
  ↳ SignalReportCooldown 500 Réglage de durée pour signal report cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ BroadcastStep 4 Only rebroadcast player-list signal changes when strength changes by this amount.
  ↳ NoSignalDisableBit 64 A dedicated pma-voice disable bit used while outside all tower coverage. Existing pma-voice bits currently occupy lower values, so 64 is reserved here.
  ↳ NotifyOnSignalLost true Interrupteur pour notify on signal lost : true = activé, false = désactivé (par défaut true).
  ↳ NotifyOnSignalRestored true Interrupteur pour notify on signal restored : true = activé, false = désactivé (par défaut true).
  ↳ Interference table Table d'entrées interference. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

يمكنك تعديل الأبراج الحالية أو إضافة أبراج جديدة من عندك بكل سهولة!

Setting Default What it does
RadioTowers table radius : [float] أقصى مدى لتغطية الإشارة بالأمتار (Coverage radius) strongDistance : [float] مدى الإشارة القوية والممتازة (Strong signal radius) enabled : [boolean] true لتفعيل البرج، false لتعطيله
TowerBlip table Map blip settings for radio towers.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Sprite -1018697504 -1018697504 (blip_bolt) = Lightning bolt / electric power transmission (recommended) 877823184 (blip_rc_crackpot) = Marko Dragic Tesla laboratory tower -1962480616 (blip_rc_lightning) = Stranger lightning bolt
  ↳ Scale 0.75 Taux ou multiplicateur pour scale.
  ↳ Color "BLIP_MODIFIER_MP_COLOR_21" Bright Cyan / Electric Blue
  ↳ DisabledColor "BLIP_MODIFIER_MP_COLOR_2" Red
  ↳ Display 2 Always show on radar and map
CustomTower table Dynamic beacon used by the streamed custom towers.
  ↳ Enabled true فعّل true لإظهار برج الستريم في فلنتاين فقط، ثم أعد تشغيل jrs-Radio. false keeps the existing native poles and all maintenance missions.
  ↳ SpawnAllOnSync false false = each tower prop is created only when a player is within SpawnDistance. Spawning all 10 towers across the whole map at login (true) stalled client model streaming (every RequestModel timed out).
  ↳ ModelLoadTimeoutMs 10000 Réglage de durée pour model load timeout ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ SpawnDistance 550.0 Used only when SpawnAllOnSync is false.
  ↳ DespawnDistance 700.0 Distance en unités de jeu pour despawn distance.
  ↳ Lamp table Table d'entrées lamp. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Variants table Table d'entrées variants. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
TowerManagement table Persistent physical tower management.
  ↳ NativePoles table position is saved (anchor_* columns), so the prompt, signal and repair all sit on that pole. The prompt only shows when that pole is really there. Moving a tower's coords in this file re-resolves it on restart.
  ↳ Placement table Table d'entrées placement. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Interaction table Table d'entrées interaction. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Admin table Qui est autorisé : métiers, groupes ou permissions pour admin.
  ↳ Repair table Table d'entrées repair. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Mission table Field repair mission dispatched to technicians (RDO Stranger / Bounty scale)
  ↳ Store table Supply prompt (G) next to "Tower Control" at every tower pole. Sells the kit Repair.RequiredItems consumes. Paid in cash through jrs_core.
  ↳ Maintenance table Table d'entrées maintenance. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

Radio Tower Sabotage Configuration / إعدادات تخريب أبراج الراديو

Setting Default What it does
TowerSabotage table Table d'entrées tower sabotage. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ AllowEveryone true Who can sabotage: true allows all players (outlaws, civilians), false restricts to AllowedJobs
  ↳ AllowedJobs table Qui est autorisé : métiers, groupes ou permissions pour allowed jobs.
  ↳ BlockedJobs table Disallow law enforcement and certified technicians from sabotaging towers
  ↳ RequiredItem nil e.g. "lockpick" or nil
  ↳ CooldownSeconds 180 Cooldown in seconds before the same tower can be sabotaged again
  ↳ FineAmount 35.0 Financial fine automatically deducted/issued against the vandal
  ↳ BountyReward 25.0 Bounty registered in police wanted board
  ↳ BlipDurationSeconds 120 Duration in seconds that the live tracking blip stays active on the vandal (visible ONLY to Sheriff & Mayor)
  ↳ AllowLawEmergencyRepair false Allow town sheriff, deputies and mayor to perform emergency repairs on sabotaged towers
  ↳ Control 0x8AAA0AE4 Prompt control: [X] = 0x8AAA0AE4 (INPUT_INTERACTION_SECONDARY)
  ↳ PromptLabel "Sabotage Tower" Texte affiché au joueur pour prompt label. Modifie-le pour traduire ou renommer.
  ↳ Minigame table Minigame settings for sabotage
TowerTownLaw table Mapping of Radio Towers to their governing Town Law and Government City
  ↳ valentine table Table d'entrées valentine. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ rhodes table Table d'entrées rhodes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ saint_denis table Table d'entrées saint denis. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ blackwater table Table d'entrées blackwater. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ strawberry table Table d'entrées strawberry. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ armadillo table Table d'entrées armadillo. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ tumbleweed table Table d'entrées tumbleweed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ annesburg table Table d'entrées annesburg. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ van_horn table Table d'entrées van horn. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ emerald_ranch table Table d'entrées emerald ranch. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Locale table Langue de l’interface de ce script (en ou ar).
  ↳ en table Table d'entrées en. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ ar table Table d'entrées ar. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
ProtectedFrequenciesEnabled true Job names are compared without case sensitivity. Enable this only when you want specific frequencies restricted by job. When false, every valid frequency is open to every job.
Whitelisted table Table d'entrées whitelisted. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 2 table Table d'entrées 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 3 table Table d'entrées 3. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 4 table Table d'entrées 4. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 5 table Table d'entrées 5. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 6 table Table d'entrées 6. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 7 table Table d'entrées 7. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 8 table Table d'entrées 8. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 9 table Table d'entrées 9. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 10 table Table d'entrées 10. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 11 table Table d'entrées 11. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
SOS table Table d'entrées sos. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ blip table Réglages du blip ou de l’icône de carte pour blip.

Paid (server only)   jrs_alert

Resource jrs_alert
Folder [INTERFACE]
Version 1.0.0
Author jrs team
Depends on jrs_core, jrs_inventory
Interface No
Languages ar, en
Code size 339 lignes Lua
config/config.lua - 15 options#

General

Setting Default What it does
cooldown 120 2m -- times
jrs_Notify true Interrupteur pour jrs notify : true = activé, false = désactivé (par défaut true).
Image "police" Réglage pour image.
Image_2 "doctor" Réglage pour image 2.
lang table Langue de l’interface de ce script (en ou ar).
  ↳ 1 "police_help_needed" Réglage pour 1.
  ↳ 2 "doctor_way" Réglage pour 2.
  ↳ 3 "no_doctors" Réglage pour 3.
alerts table Table d'entrées alerts. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ police table job name
  ↳ medic table Table d'entrées medic. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ doctor table Table d'entrées doctor. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
medicresponse "resp" Réglage pour medicresponse.
cancelblipcommand "calert" removes alert
alertcooldown 10 seconds

Paid (server only)   jrs_animmenu

jrs core Animation Menu for jrs_core

Resource jrs_animmenu
Folder [INTERFACE]
Version 1.10.0
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 7,077 Lua lines

Commands

  • /-jrs_anim_fav_
  • /-jrs_animmenu_open
  • /-jrs_quick_handsup
  • /-jrs_quick_point
  • /cancelanim
  • /crawl
  • /prone
  • /stopanim

Exports

ForceStandUp, IsPlayingAnimation, IsProne, OpenSeatsMenu, ToggleProne

Database tables

IF

config/config.lua - 330 options#

General

Setting Default What it does
CoreResource "jrs_core" Réglage pour core resource.
PetsResource "jrs_pets" Optional Pets-tab integration. Keep this as the actual resource folder name; it lets servers that rename the pets resource retain the integration without editing client code.
StoreThemeResource "jrs_stores" documentation for the shared theme source only; jrs_animmenu deliberately does not depend on jrs_stores, so animations keep working while stores are stopped or restarted.
DatabaseTable "jrs_animmenu" Réglage pour database table.
SharedAnimationDistance 3.0 Distance en unités de jeu pour shared animation distance.
SharedAnimationCooldown 750 Réglage de durée pour shared animation cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
SharedRequestCooldown 8000 ms between requests from one player
SharedRequestTimeout 12000 ms the target has to answer
SharedRequestKeys table Touche ou contrôle utilisé pour shared request keys. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
  ↳ Accept 0xC7B5340A ENTER
  ↳ Decline 0x156F7119 BACKSPACE
Debug false Debug output for debug : true = oui, false = non (par défaut false).
AnimCallCommand "a" Réglages d'animation pour anim call command.
QuickEmoteKeys table B = finger point. Press B once to point, press B again to put the hand down. Always points straight ahead relative to the ped's own facing -- it does not track the camera/mouse at all.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ RaiseHands 0x8CC9CD42 X
  ↳ Point 0x4CC0E2FE B
  ↳ PointHold false false = press B to point, press B again to stop (default). true = FiveM behaviour, hold B to point and release to stop.
  ↳ NotifyHandsUpLevel false Show a small notification with the active hands up level.
PointingAnim table B pointing animation: always the forward (000) clip from this dict.
  ↳ dict "ai_react@point@witness" Réglages d'animation pour dict.
  ↳ directions table Table d'entrées directions. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ enterSuffix "_enter" Réglage pour enter suffix.
  ↳ loopSuffix "_loop" Réglage pour loop suffix.
  ↳ exitSuffix "_exit" Réglage pour exit suffix.
  ↳ HoldStill true pressed again (default). false = keep playing the clip's own natural motion (_loop clip) instead.
  ↳ holdFlag 30 earlier ones. Deliberately does NOT include 32 (player control): on this specific clip set, combining that bit with hold-last-frame (2) is what caused the player's own movement to freeze in earlier attempts.
  ↳ loopFlag 49 1 (loop) + 16 (upper body) + 32 (player keeps control) = used only when HoldStill is false, to keep the clip's natural moving loop going.
HandsUpLevels table Tap X to raise one level; tapping past the last level lowers the hands. flag: 31 keeps the player standing still, 49 lets the player walk with the hands up (1 loop + 16 upper body + 32 player control).
  ↳ 1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 2 table Table d'entrées 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 3 table Table d'entrées 3. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
NotHoldKeye true Interrupteur pour not hold keye : true = activé, false = désactivé (par défaut true).
AnimMenuKeyPress true Interrupteur pour anim menu key press : true = activé, false = désactivé (par défaut true).
AnimMenuKey 0x80F28E95 Touche ou contrôle utilisé pour anim menu key. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
OpenMenuCommandEnable true Interrupteur pour open menu command enable : true = activé, false = désactivé (par défaut true).
OpenMenuCommand "animmenu" Réglage pour open menu command.

Keys 1..5 (INPUT_SELECT_QUICKSELECT_*) belong to the jrs_inventory quick

Setting Default What it does
AllowKeybind true every frame, so a number press fired a favourite emote instead of using the item sitting in that quick slot. The inventory owns 1..5; favourites keep 6, 7 and 8, and favourites 1..5 stay available from the anim menu itself.
Keybind table Table d'entrées keybind. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 6 0xA1FDE2A6 [3] = 0x4F49CC4C, -- reserved: jrs_inventory quick slot 3 [4] = 0x8F9F9E58, -- reserved: jrs_inventory quick slot 4 [5] = 0xAB62E997, -- reserved: jrs_inventory quick slot 5
  ↳ 7 0xB03A913B Réglage pour 7.
  ↳ 8 0x42385422 Réglage pour 8.
Prop table Modèle ou entité du jeu utilisé pour prop.
  ↳ 1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 2 table Table d'entrées 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 3 table Table d'entrées 3. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 4 table Table d'entrées 4. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 5 table Table d'entrées 5. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 6 table Table d'entrées 6. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 7 table Table d'entrées 7. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 8 table Table d'entrées 8. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 9 table Table d'entrées 9. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 10 table Table d'entrées 10. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 11 table Table d'entrées 11. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 12 table Table d'entrées 12. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 13 table Table d'entrées 13. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 14 table Table d'entrées 14. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 15 table Table d'entrées 15. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Anim table Réglages d'animation pour anim.
  ↳ 8 table [5] = {female=true, name="Camp Management", itsAnimation="command", command="camp_manage"}, [6] = {female=true, name="Load Camp", itsAnimation="command", command="camp_load"}, [7] = {female=true, name="Ranch Man
  ↳ 100 table Table d'entrées 100. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 101 table Table d'entrées 101. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 103 table Table d'entrées 103. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 104 table Table d'entrées 104. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 105 table Table d'entrées 105. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 106 table Table d'entrées 106. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 107 table Table d'entrées 107. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 108 table Table d'entrées 108. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 109 table Table d'entrées 109. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 110 table Table d'entrées 110. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 111 table Table d'entrées 111. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 112 table Table d'entrées 112. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 113 table Table d'entrées 113. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 114 table Table d'entrées 114. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 115 table Table d'entrées 115. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 116 table Table d'entrées 116. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 117 table Table d'entrées 117. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 118 table Table d'entrées 118. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 119 table Table d'entrées 119. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 120 table Table d'entrées 120. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 121 table Table d'entrées 121. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 122 table Table d'entrées 122. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 123 table Table d'entrées 123. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 124 table Table d'entrées 124. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 125 table Table d'entrées 125. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 126 table Table d'entrées 126. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 127 table Table d'entrées 127. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 128 table Table d'entrées 128. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 129 table Table d'entrées 129. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 130 table Table d'entrées 130. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 131 table Table d'entrées 131. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 132 table Table d'entrées 132. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 134 table Table d'entrées 134. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 135 table Table d'entrées 135. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 136 table Table d'entrées 136. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 137 table Table d'entrées 137. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 138 table Table d'entrées 138. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 139 table Table d'entrées 139. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 140 table Table d'entrées 140. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 141 table Table d'entrées 141. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 142 table Table d'entrées 142. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 143 table Table d'entrées 143. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 144 table Table d'entrées 144. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 145 table Table d'entrées 145. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 150 table Table d'entrées 150. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 151 table Table d'entrées 151. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 152 table Table d'entrées 152. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 153 table Table d'entrées 153. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 154 table Table d'entrées 154. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 155 table Table d'entrées 155. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 156 table Table d'entrées 156. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 157 table Table d'entrées 157. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 158 table Table d'entrées 158. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 159 table Table d'entrées 159. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 160 table Table d'entrées 160. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 161 table Table d'entrées 161. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 162 table Table d'entrées 162. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 163 table Table d'entrées 163. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 164 table Table d'entrées 164. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 165 table Table d'entrées 165. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 167 table Table d'entrées 167. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 168 table Table d'entrées 168. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 169 table Table d'entrées 169. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 170 table Table d'entrées 170. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 171 table Table d'entrées 171. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 172 table Table d'entrées 172. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 173 table Table d'entrées 173. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 174 table Table d'entrées 174. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 176 table Table d'entrées 176. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 177 table Table d'entrées 177. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 178 table Table d'entrées 178. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 179 table Table d'entrées 179. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 181 table Table d'entrées 181. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 182 table Table d'entrées 182. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 183 table Table d'entrées 183. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 184 table Table d'entrées 184. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 186 table Table d'entrées 186. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 187 table Table d'entrées 187. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 188 table Table d'entrées 188. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 189 table Table d'entrées 189. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 190 table Table d'entrées 190. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 191 table Table d'entrées 191. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 192 table Table d'entrées 192. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 193 table Table d'entrées 193. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 194 table Table d'entrées 194. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 195 table Table d'entrées 195. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 196 table Table d'entrées 196. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 197 table Table d'entrées 197. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 198 table Table d'entrées 198. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 199 table Table d'entrées 199. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 200 table Table d'entrées 200. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 201 table Table d'entrées 201. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 202 table Table d'entrées 202. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 203 table Table d'entrées 203. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 204 table Table d'entrées 204. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 205 table Table d'entrées 205. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 206 table Table d'entrées 206. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

Portable chairs (merged from jrs_chair). Placed from the "Chairs" tab in the

Setting Default What it does
Chairs table normal seat target (every model below is in FurnitureInteractions.ChairModels or has its own seat definition). Chairs are temporary: they are removed when the owner leaves / switches character, or the resource stops.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ MaxPerPlayer 2 placed at the same time, per player
  ↳ PlaceCooldown 3000 ms between two placements
  ↳ PlaceDistance 1.2 start distance in front of the player
  ↳ MinDistance 0.8 Distance en unités de jeu pour min distance.
  ↳ MaxDistance 3.0 arrow up/down moves the chair between Min and Max
  ↳ ServerMaxDistance 4.5 server check (player <-> placed chair)
  ↳ PickupDistance 1.8 hold-to-pick-up prompt range (own chairs only)
  ↳ PickupHoldMs 1000 Nombre pour pickup hold ms (par défaut 1000).
  ↳ ModelLoadTimeout 8000 Réglage de durée pour model load timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ Keys table Touche ou contrôle utilisé pour keys. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
  ↳ Models table id = stable key (NUI label animmenu_chair_<id>), icon = Font Awesome name.
Notes from the README#
text
# JRS Animation Menu
Animation, dance, walking-style, prop, favorite and contextual furniture interaction menu for RedM using `jrs_core`.
## Requirements
- `jrs_core`
- `oxmysql`
Start order:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_animmenu
'''
## Database
No manual SQL import is required. The resource automatically creates the table configured in:
'''lua
Config.DatabaseTable = "jrs_animmenu"
'''
Favorites and custom animation commands are stored per character using the active JRS character `identifier` and `charidentifier`.
## Core integration
The resource connects directly to `jrs_core`.
- Character loading uses the JRS character-ready API/events.
- Current job is read from the active JRS character.
- No external menu/input API is required.
- Shared animations are routed through the server and validated for nearby players.
## Menu categories
The NUI is English and separates content into four tabs:
- Animations
- Walking
- Dances
- Props
Dance emotes, looped dance animations and shared dance animations are routed to the Dances tab. Walking styles are kept out of the normal animation list.
### JRS interaction refresh
- Uses a native RedM contextual prompt on **E**.
- Uses a projected, animated proximity arrow over supported furniture.
- The translucent preview ped is created **only after Interact is completed**; proximity alone never spawns it.
- The old header image was removed from both the main menu and input dialog.
- The old ground marker is disabled by default; a subtle proximity light remains configurable.
- Furniture scan/update intervals were tightened while avoiding per-frame object scans.
## Expanded animation library
This build adds 207 additional entries that were not already present by their underlying animation/scenario/emote/walking-style data:
- 88 animations
- 59 scenarios
- 18 emotes
- 24 walking styles/reset entries
- 18 clothing-motion animations
When a new animation had the same visible name as an existing entry but used different animation data, it is kept as an alternate entry instead of replacing the

Paid (server only)   jrs_announce

JRS Announce - per-instance tribe newspapers for jrs_core / jrs_inventory

Resource jrs_announce
Folder [INTERFACE]
Version 2.7.0
Author jrs
Depends on jrs_core, jrs_inventory, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 1,570 Lua lines

Commands

  • /givenewspaper

Database tables

jrs_newspaper_publications, jrs_newspapers

config.lua - 18 options#

General

Setting Default What it does
CoreResource "jrs_core" Réglage pour core resource.
InventoryResource "jrs_inventory" Réglage pour inventory resource.
ItemName "newspaper" Objets d'inventaire utilisés par item name. Les noms doivent exister dans la table jrs_items.
AdminCommand "newspaperadmin" Qui est autorisé : métiers, groupes ou permissions pour admin command.
AdminGroups table Admin groups are read directly from jrs_core User.group.
  ↳ owner true Interrupteur pour owner : true = activé, false = désactivé (par défaut true).
  ↳ admin true Interrupteur pour admin : true = activé, false = désactivé (par défaut true).
  ↳ support true Interrupteur pour support : true = activé, false = désactivé (par défaut true).
MessageMaxLength 700 Limite maximale pour message max length.
NameMaxLength 80 Limite maximale pour name max length.
UrlMaxLength 2048 Limite maximale pour url max length.
PublishCooldownSeconds 60 Réglage de durée pour publish cooldown seconds. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
AnnouncementDurationMs 10000 Réglage de durée pour announcement duration ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
NotificationDurationMs 4500 Réglage de durée pour notification duration ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
GpsCommand "newsgps" Players type /newsgps to set a waypoint to the last announcement that shared its location (only newspapers whose design allows location sharing).
GpsWindowSeconds 300 Nombre pour gps window seconds (par défaut 300).
ImageHosts table Hosts a writer may attach a picture from (https only). Every player loads the picture, so an open list would let anyone log the IP of the whole server. Subdomains are allowed automatically. Empty table = any https host.
Debug false Debug output for debug : true = oui, false = non (par défaut false).
Notes from the README#
text
# jrs_announce v2.0.0
Complete replacement for the old `jrs_announceV2` resource.
## What changed
- No VORP dependency.
- Uses `jrs_core`, `jrs_inventory`, and `oxmysql` only.
- One inventory item only: `newspaper`.
- Every item instance stores only `{ newspaper_id = <id> }` in JRS inventory metadata.
- Newspaper name, tribe name, logo and background are stored centrally in `jrs_newspapers`.
- Editing a newspaper updates every existing item immediately because items resolve the current database record when used.
- Deleting a newspaper invalidates every existing item linked to that ID.
- Server validates the exact `itemId` and `newspaper_id` before publishing.
- Admin UI supports create, edit, enable/disable, delete, refresh, and issuing another copy.
- Publications are saved in `jrs_newspaper_publications`.
## Installation
1. Import `install/jrs_announce.sql`.
2. Copy `install/item_images/newspaper.png` into the item-image directory used by your `jrs_inventory` UI if your inventory expects item images there.
3. Put the resource folder in your resources directory as `jrs_announce`.
4. Start in this order:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_announce
'''
5. In game, admins use:
'''text
/newspaperadmin
'''
Admin permission is read directly from `jrs_core` (`User.group`). No ACE permission or direct users-table lookup is used. Allowed JRS groups are configured in `
'''lua
Config.AdminGroups = {
    owner = true,
    admin = true,
    support = true,
}
'''
## Important item behavior
The `newspaper` definition's `items.metadata` column is a `varchar(1)` on this server - too narrow to ever hold real JSON, so `jrs_inventory`'s default-metadata
## Editing behavior
Editing does **not** create a new inventory item. An existing copy only keeps its stable `newspaper_id`, so a changed name/logo/background is read live from the
## v2.0.2
- Newspaper use now captures the exact `itemId` directly from the JRS inventory `jrs:use` event.
- No longer depends only on `jrsCore:getLastUsedId`, preventing false `missing valid data` errors when the inventory definition cache has not refreshed.
## v2.0.3 inventory compatibility
This build targets the current JRS Inventory API. The usable-item callback receives the exact `itemId` and `metaData` from `jrs_inventory`, so `jrs_announce` no

Paid (server only)   jrs_backpack

Unique wearable backpacks with persistent JRS Inventory storage

Resource jrs_backpack
Folder [INTERFACE]
Version 1.2.2
Author JRS
Depends on jrs_core, jrs_inventory, oxmysql
Interface No
Code size 1,037 Lua lines
config.lua - 40 options#

General

Setting Default What it does
Backpacks table Each backpack has its own inventory item, storage capacity and wearable object. The existing "backpack" item remains the large backpack for compatibility.
  ↳ small table Table d'entrées small. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ medium table Table d'entrées medium. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ large table Table d'entrées large. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
AutoInstallItems true Automatically handles install items : true = oui, false = non (par défaut true).
StoragePrefix "jrs_backpack_" Réglage pour storage prefix.
Ground table Ground placement and animation while a backpack storage is open.
  ↳ forwardOffset 0.90 Nombre pour forward offset (par défaut 0.90).
  ↳ groundOffset 0.0 Nombre pour ground offset (par défaut 0.0).
  ↳ headingOffset 180.0 Nombre pour heading offset (par défaut 180.0).
  ↳ rotation vector3(0.0, 0.0, 0.0) Réglage pour rotation.
  ↳ scenario "WORLD_HUMAN_CROUCH_INSPECT" Réglages d'animation pour scenario.
  ↳ openDelayMs 350 Réglage de durée pour open delay ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
ToggleCommand "bag" /bag toggles only the visible object. Using an inventory item opens its storage.
ToggleKey "" Example: 'B'. Leave empty to avoid a key conflict.
ToggleKeyDescription "Show or hide backpack" Touche ou contrôle utilisé pour toggle key description. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
ModelLoadTimeoutMs 10000 Réglage de durée pour model load timeout ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
VisualRefreshMs 1000 Nombre pour visual refresh ms (par défaut 1000).
ServerValidationMs 3000 Nombre pour server validation ms (par défaut 3000).
RequestCooldownMs 600 Réglage de durée pour request cooldown ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
InventoryResource "jrs_inventory" Réglage pour inventory resource.
NotifyTitle "Backpack" Texte affiché au joueur pour notify title. Modifie-le pour traduire ou renommer.
Admin table Admin: allows staff to inspect any player's backpack storage.
  ↳ AcePermission "command" ACE permission required (e.g. 'command', 'group.admin', 'admin')
  ↳ Command "viewbag" /viewbag <server_id>
Messages table Texte affiché au joueur pour messages. Modifie-le pour traduire ou renommer.
  ↳ equipped 'The backpack is now visible... Réglage pour equipped.
  ↳ placed "The backpack is on the ground." Réglage pour placed.
  ↳ returned 'The backpack is back on you... Réglage pour returned.
  ↳ shown "Backpack shown." Réglage pour shown.
  ↳ hidden "Backpack hidden." Réglage pour hidden.
  ↳ closeStorageFirst 'Close the backpack storage ... Réglage pour close storage first.
  ↳ useFirst "Use a backpack item first." Réglage pour use first.
  ↳ noLongerOwned 'You no longer have this bac... Réglage pour no longer owned.
  ↳ notYourBag 'You cannot use the storage ... Réglage pour not your bag.
  ↳ storageFailed 'The backpack storage could ... Réglage pour storage failed.
  ↳ nestedBag 'You cannot place a backpack... Réglage pour nested bag.
  ↳ adminNoPlayer "Usage: /%s &lt;server_id&gt;" Qui est autorisé : métiers, groupes ou permissions pour admin no player.
  ↳ adminNotFound 'That player has no equipped... Qui est autorisé : métiers, groupes ou permissions pour admin not found.
  ↳ adminOpened "Opened backpack for player %s." Qui est autorisé : métiers, groupes ou permissions pour admin opened.
Notes from the README#
text
# jrs_backpack
Three wearable backpacks built specifically for REDEMPIRE Core (`jrs_core` and `jrs_inventory`).
## Backpack types
| Item name | Label | Object | Capacity |
| --- | --- | --- | ---: |
| `backpack_small` | Small Backpack | `p_ambpack02x` | 15 kg |
| `backpack_medium` | Medium Backpack | `p_ambpack01x` | 25 kg |
| `backpack` | Large Backpack | `p_ambpack04x` | 40 kg |
The original `backpack` item is retained as the large backpack, so existing player items continue to work.
## Features
- Every physical backpack item has its own persistent storage.
- Storage capacity is selected from the backpack type.
- Storage follows the same item when it is given, dropped or picked up.
- Using a backpack places its matching object in front of the player and starts a crouched inspection animation.
- Closing the backpack storage removes the ground object and returns the backpack to the player's back.
- Equipping another backpack replaces the visible object immediately.
- `/bag` shows or hides the equipped backpack object.
- Backpack objects are synchronized for nearby players.
- No backpack type can be placed inside another backpack.
- The object is removed when the player no longer owns its item.
## Starting the resource
The resource is inside `[JRS_newscript]`, so an existing server configuration line such as:
'''cfg
ensure [JRS_newscript]
'''
starts it automatically. After updating the resource, run:
'''text
restart jrs_backpack
'''
Item definitions are installed and reloaded automatically. If the inventory does not show the two new items immediately, restart it once:
'''text
restart jrs_inventory
restart jrs_backpack
'''
## Configuration
Edit `Config.Backpacks` in `config.lua` to change:
- Item names, labels and descriptions.
- Backpack item weights.
- Storage capacities.
- Object models.
- Bone, position and rotation values for each wearable object.
- Ground placement distance, rotation and inspection animation in `Config.Ground`.
The default attachment values are individually tuned for the three included RedM objects.

Free (included in JRS Core)   jrs_bathing

Independent bathhouse and trough washing with metabolism integration

Resource jrs_bathing
Folder [INTERFACE]
Version 1.5.8
Author jrs team
Depends on jrs_character, jrs_core, jrs_metabolism
Interface No
Languages bathi
Code size 2,485 Lua lines

Commands

  • /exitbath
  • /safebathexit

Exports

GetClosestConsumer, IsBusy

config/bathing_client.cfg.lua - 18 options#

General

Setting Default What it does
EnableBlips true Active ou désactive blips (par défaut true).
BlipName "Bath House" Réglages du blip ou de l’icône de carte pour blip name.
UndressCommand "undress" Réglage pour undress command.
DressCommand "rc" Réglage pour dress command.
BathExitAnimPhase 0.35 Exit (S): outro plays until this scene phase (0-1, player out of the tub), then the exit finishes like the D exit (placed outside the door, dressed).
BathingZones table Table d'entrées bathing zones. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ SaintDenis table Table d'entrées saint denis. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Valentine table Table d'entrées valentine. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Annesburg table Table d'entrées annesburg. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Strawberry table Table d'entrées strawberry. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Blackwater table Table d'entrées blackwater. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Vanhorn table Table d'entrées vanhorn. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Rhodes table Table d'entrées rhodes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Tumbleweed table Table d'entrées tumbleweed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
BathingModes table Table d'entrées bathing modes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

2026-09-12 correction: that claim was wrong for Q specifically - Q isn't in

Setting Default What it does
PromptDefs nil with 0xDE794E3E, Q's entry in jrs_utils/shared/keys.lua's canonical keyboard table - the same table whose E/G/X/R/D/S/W values already match what this file uses successfully for every other prompt here.
Prompts table Table d'entrées prompts. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
CreatedEntries table Table d'entrées created entries. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

Paid (server only)   jrs_camera

JRS Camera Pro - handheld, fixed/tripod and synchronized Rockstar studio camera for RedM.

Resource jrs_camera
Folder [INTERFACE]
Version 2.3.1
Author JRS Team
Depends on jrs_core
Interface No
Languages ar, en
Code size 2,615 Lua lines

Commands

  • /cameradebug
  • /cameradiag

Exports

IsCameraActive, IsCameraMode, OpenAlbum, OpenFixedCameraPlacement, OpenGallery, StartCamera, StopCamera, UseFixedCamera

config/config.lua - 116 options#

General

Setting Default What it does
Lang "ar" 'en' for English. Matches locales/<lang>.lua.
Debug table Diagnostic logging, off by default. Flip Enabled to true to re-trace with /cameradiag and /cameradebug.
  ↳ Enabled false Active ou désactive enabled (par défaut false).
  ↳ WeaponTraceIntervalMs 3000 Réglage de durée pour weapon trace interval ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
KeyCam 0xF84FA74F INPUT_AIM / MOUSE RIGHT CLICK (reliable camera activation)
KeyCamFallbacks table INPUT_INSPECT_ZOOM fallback
KeyPickUpCam 0xB28318C0 MOUSE LEFT CLICK / INPUT_ATTACK
KeyMoreZoom 0x911CB09E UP ARROW (INPUT_SNIPER_ZOOM_IN_ONLY)
KeyLessZoom 0x4403F97F DOWN ARROW (INPUT_SNIPER_ZOOM_OUT_ONLY)
KeyNextFilter 0x65F9EC5B RIGHT ARROW (INPUT_VEH_FLY_ROLL_RIGHT_ONLY)
KeyOldFilter 0x20190AB4 LEFT ARROW (INPUT_VEH_FLY_ROLL_LEFT_ONLY)
KeyTakePhoto 0x2CD5343E ENTER (INPUT_FRONTEND_ACCEPT)
KeyExitCamera 0x156F7119 BACKSPACE (INPUT_FRONTEND_CANCEL)
ChangeBackground table S / W (INPUT_MOVE_DOWN_ONLY, INPUT_MOVE_UP_ONLY)
ChangeBackgroundFallbacks table Fallback: Down Arrow / Up Arrow
KeyStudioPose 0xCEE12B50 E (INPUT_PICKUP)
KeyStudioPoseFallback 0x5415BE48 G (INPUT_INTERACT_LOCKON_DETACH)
KeyPoseNext 0xB4E465B4 D / Right (INPUT_MOVE_RIGHT_ONLY)
KeyPosePrev 0x7065027D A / Left (INPUT_MOVE_LEFT_ONLY)
TakePhotoTime 2000 HUD/prompt hide duration around capture
ItemFixedCamera "fixedcamera" Objets d'inventaire utilisés par item fixed camera. Les noms doivent exister dans la table jrs_items.
CommandsHUD table Table d'entrées commands hud. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
SudioCameraJobs table Compatible with job checks
StudioCameraJobs Config.SudioCameraJobs Qui est autorisé : métiers, groupes ou permissions pour studio camera jobs.
CommandGalleryPhotos "gallery" Rockstar Photo Mode album commands
CommandGalleryAliases table Table d'entrées command gallery aliases. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Zoom table Table d'entrées zoom. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Filters table Table d'entrées filters. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
General table Table d'entrées general. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ RefreshRate 450 Taux ou multiplicateur pour refresh rate.
  ↳ FreezePlayer true Interrupteur pour freeze player : true = activé, false = désactivé (par défaut true).
  ↳ HideRadar true Hides radar : true = oui, false = non (par défaut true).
  ↳ HideHudDuringPhoto true Hides hud during photo : true = oui, false = non (par défaut true).
  ↳ LookSensitivityX 4.5 Nombre pour look sensitivity x (par défaut 4.5).
  ↳ LookSensitivityY 4.5 Nombre pour look sensitivity y (par défaut 4.5).
  ↳ MinPitch -70.0 Minimum ou niveau requis pour min pitch.
  ↳ MaxPitch 70.0 Limite maximale pour max pitch.
  ↳ PhotoCooldown 2000 Réglage de durée pour photo cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ SessionRequestTimeout 3500 Réglage de durée pour session request timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ CameraOffset vector3(0.0, 0.12, 1.58) Réglage pour camera offset.
  ↳ ViewfinderFX table Real RDR2 PostFX names for Viewfinder and Capture
  ↳ StudioViewfinderFX table Table d'entrées studio viewfinder fx. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ PhotoFX "CameraTakePicture" Réglage pour photo fx.
  ↳ StudioPhotoFX "CameraTakePicture" Réglage pour studio photo fx.
  ↳ ShowInfoOverlay true On-screen HUD showing active filter name and zoom level
  ↳ PhotoFlash table Vintage Screen Blur Flash with 3D Environmental Light & Smoke
  ↳ OperateAnim table Photographer pose when operating fixed/studio camera
Handheld table Table d'entrées handheld. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Cameras table Table d'entrées cameras. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
FixedCamera table Table d'entrées fixed camera. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Model "p_camera01x" Modèle ou entité du jeu utilisé pour model.
  ↳ UseItem true Active ou désactive item (par défaut true).
  ↳ RemoveItemOnPlace true Removes 1 item when placed, returns 1 item when picked up
  ↳ EnableCommand true Active ou désactive command (par défaut true).
  ↳ CommandName "fixedcam" Texte affiché au joueur pour command name. Modifie-le pour traduire ou renommer.
  ↳ PlacementDistance 1.10 Distance en unités de jeu pour placement distance.
  ↳ InteractionDistance 2.25 Distance en unités de jeu pour interaction distance.
  ↳ MaxPlacementDistanceFromPlayer 4.0 Distance en unités de jeu pour max placement distance from player.
  ↳ CameraHeightOffset 1.38 Nombre pour camera height offset (par défaut 1.38).
  ↳ CameraForwardOffset 0.38 Forward at the camera lens
  ↳ CameraHeadingOffset 0.0 Nombre pour camera heading offset (par défaut 0.0).
  ↳ MaxPanAngle 35.0 Authentic tripod pan swivel limit (+/- degrees left/right)
  ↳ MinPitch -20.0 Tripod tilt down limit
  ↳ MaxPitch 20.0 Tripod tilt up limit
  ↳ LookSensitivityX 2.0 Smooth tripod swivel sensitivity
  ↳ LookSensitivityY 2.0 Smooth tripod tilt sensitivity
  ↳ AllowZoom true Allows zoom : true = oui, false = non (par défaut true).
  ↳ AllowFilters true Allows filters : true = oui, false = non (par défaut true).
  ↳ OwnerOnlyPickup true Interrupteur pour owner only pickup : true = activé, false = désactivé (par défaut true).
  ↳ RemoveOnPlayerDrop true Interrupteur pour remove on player drop : true = activé, false = désactivé (par défaut true).
  ↳ OnePerPlayer true Interrupteur pour one per player : true = activé, false = désactivé (par défaut true).
Studio table Table d'entrées studio. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ InteractionRadius 6.0 Distance en unités de jeu pour interaction radius.
  ↳ ValidationRadius 35.0 Distance en unités de jeu pour validation radius.
  ↳ BackdropSearchRadius 35.0 Distance en unités de jeu pour backdrop search radius.
  ↳ CameraPropSearchRadius 15.0 Distance en unités de jeu pour camera prop search radius.
  ↳ CameraModels table Modèle ou entité du jeu utilisé pour camera models.
  ↳ FlashModels table Modèle ou entité du jeu utilisé pour flash models.
  ↳ CameraHeightOffset 1.38 Nombre pour camera height offset (par défaut 1.38).
  ↳ CameraForwardOffset 0.38 Forward at the studio camera lens
  ↳ CameraHeadingOffset 0.0 Nombre pour camera heading offset (par défaut 0.0).
  ↳ MaxPanAngle 35.0 Authentic studio camera swivel limit (+/- degrees left/right)
  ↳ MinPitch -20.0 Studio camera tilt down limit
  ↳ MaxPitch 20.0 Studio camera tilt up limit
  ↳ LookSensitivityX 2.0 Nombre pour look sensitivity x (par défaut 2.0).
  ↳ LookSensitivityY 2.0 Nombre pour look sensitivity y (par défaut 2.0).
  ↳ AllowZoom true Allows zoom : true = oui, false = non (par défaut true).
  ↳ AllowFilters true Allows filters : true = oui, false = non (par défaut true).
  ↳ SpawnMissingProps true Ensures studio camera & flash stand exist in the studio
  ↳ ShowBlips true Studio map blips
  ↳ BlipStyle joaat('BLIP_STYLE_SHOP') Réglages du blip ou de l’icône de carte pour blip style.
  ↳ BlipSprite 1364029453 blip_photo_studio
  ↳ BlipScale 0.22 Réglages du blip ou de l’icône de carte pour blip scale.
  ↳ PosingRadius 4.0 Posing area radius for customers in front of backdrop
  ↳ Locations table Built-in RDR2 photo studios with exact camera & backdrop coordinates & headings
  ↳ BackdropModels table Backdrop models capable of the Canvas expression
  ↳ BackgroundValues table Values sent to the Canvas expression, cyclically wrapped
StudioPoses table Authentic Victorian / Wild West portrait poses for studio customers
Server table Table d'entrées server. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ CoreResource "jrs_core" Réglage pour core resource.
  ↳ InventoryResource "jrs_inventory" Réglage pour inventory resource.
  ↳ RequireCharacter true Requires character : true = oui, false = non (par défaut true).
  ↳ RequireFixedCameraItem true Requires fixed camera item : true = oui, false = non (par défaut true).
  ↳ StrictHandheldWeaponCheck false Interrupteur pour strict handheld weapon check : true = activé, false = désactivé (par défaut false).
  ↳ VerifyHandheldWeapon false Interrupteur pour verify handheld weapon : true = activé, false = désactivé (par défaut false).
  ↳ RequireStudioJob true If set to false, any player can use the studio camera
  ↳ AllowAceStudio true Allows ace studio : true = oui, false = non (par défaut true).
  ↳ StudioAce "jrs_camera.studio" Réglage pour studio ace.
  ↳ SessionTimeoutMs 10 * 60 * 1000 Réglage de durée pour session timeout ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ RequestCooldownMs 750 Réglage de durée pour request cooldown ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ BackgroundCooldownMs 250 Réglage de durée pour background cooldown ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ PhotoAuditCooldownMs 1500 Réglage de durée pour photo audit cooldown ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ Debug false Debug output for debug : true = oui, false = non (par défaut false).
Notes from the README#
text
# JRS Camera Pro (v2.3.0)
Authentic 1890s RedM photography suite with server-authorized sessions, handheld cameras, synchronized tripod cameras, period photo studios, vintage shutter ani
---
## Key Features
1. **Authentic 1890s Magnesium Flash & Screen Blur**
   - Implements full-screen optical lens defocus/depth blur via `OJDominoBlur` animpostfx.
   - Smooth quadratic exposure bloom fade recreating physical photographic plate exposure.
   - 3D environmental dynamic lighting (`DrawLightWithRange`) synchronized across all nearby players.
   - Magnesium flash powder particle smoke effect (`exp_grd_flashbang` on `scr_net_photographer`).
   - Authentic camera shutter audio cues.
2. **Vintage Shutter & Operating Animations**
   - Authentic photographer stance: photographer positions behind the tripod camera holding the bulb shutter cable.
   - Shutter action: triggers `script_rc@abi3@ig@stage_01@ig2_photopose` -> `idle_takepic_blwphotographer` upon capture.
   - Grounded placement and pickup: uses crouching inspection animations (`WORLD_HUMAN_CROUCH_INSPECT`).
3. **Photo Studios (Blackwater & Saint Denis)**
   - **Correct Real-World Headings**: Camera faces backdrop directly (Blackwater: Camera 268° -> Backdrop; Saint Denis: Camera 88° -> Backdrop).
   - **Synchronized Backdrops**: 8 native Rockstar studio backdrop variations, switchable via `[W]` and `[S]` keys.
   - **Customer Posing Mechanics**: When standing on the studio portrait marker, clients can press `[A]` and `[D]` to cycle through 8 period poses (Gentleman, T
4. **Fixed / Tripod Camera (`fixedcamera`)**
   - Placed in the world using the `fixedcamera` inventory item (via `jrs_inventory` or `/fixedcam` command).
   - Deducts item on placement and restores it when picked up by the owner.
   - Solid collision and ground alignment using `p_camera01x`.
5. **Security & Synchronization**
   - Server-side token validation and distance verification for all capture and studio operations.
   - Clean network event architecture with zero memory leaks.
---
## Configuration (`config/config.lua`)
| Setting | Default | Description |
| :--- | :--- | :--- |
| `Config.Lang` | `'en'` | Interface language (`'en'` or `'ar'`) |
| `Config.KeyTakePhoto` | `0x07CE1E09` | Capture key (`[ENTER]`) |
| `Config.KeyLeaveCam` | `0x156F7119` | Exit camera key (`[BACKSPACE]`) |
| `Config.ChangeBackground` | `{ prev = 0xD27782E3, next = 0x8FD015D8 }` | Backdrop navigation (`[S]` and `[W]`) |
| `Config.General.PhotoFlash.EnableBlur` | `true` | Enables `OJDominoBlur` screen defocus effect |
| `Config.General.PhotoFlash.DurationMs` | `450` | Flash bloom and blur duration in milliseconds |
| `Config.FixedCamera.ItemName` | `'fixedcamera'` | Database inventory item for the tripod camera |
| `Config.FixedCamera.RemoveItemOnPlace` | `true` | Consume item on placement and restore on pickup |
| `Config.Server.RequireStudioJob` | `false` | Set to `true` to restrict studio cameras to specific jobs |
---
## Commands
- `/fixedcam` - Place a tripod camera at your feet (requires `fixedcamera` item in inventory).
- `/camgallery` - Open the Rockstar Social Club photo gallery.
- `/camdiag` - Print diagnostic information to the F8 console.
---
## Dependencies

Free (included in JRS Core)   jrs_chat

JRS Chat - RedM roleplay chat, roleplay channels and personal/global music UI for jrs_core

Resource jrs_chat
Folder [INTERFACE]
Version 2.3.2-pad-guard
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 2,810 Lua lines

Commands

  • /-jrs_chat_open
  • /sheriff
  • /sherrif

Exports

addMessage, addSuggestion, isChatOpen

Database tables

jrs_chat_mutes, jrs_chat_nicknames

config/config.lua - 188 options#

General

Setting Default What it does
OpenKey "T" Core chat
OpenControlHash 0x9720FCEE INPUT_MP_TEXT_CHAT_ALL (RedM default: T)
EnableKeyMappingFallback true Active ou désactive key mapping fallback (par défaut true).
AutoSuggestions true Automatically handles suggestions : true = oui, false = non (par défaut true).
ShowChatWindowSeconds 5 Nombre pour show chat window seconds (par défaut 5).
DefaultChatEnabled true Interrupteur pour default chat enabled : true = activé, false = désactivé (par défaut true).
DefaultChatGlobal true Interrupteur pour default chat global : true = activé, false = désactivé (par défaut true).
DefaultChatDistance 10.0 Distance en unités de jeu pour default chat distance.
MaxMessageLength 300 Limite maximale pour max message length.
DateFormat "%H:%M" Réglage pour date format.
PrintToConsole true Interrupteur pour print to console : true = activé, false = désactivé (par défaut true).
ShowConnectMessages false Shows connect messages : true = oui, false = non (par défaut false).
StaffGroups table Staff permissions. jrs_core group is checked first, ACE is also supported.
  ↳ owner true Interrupteur pour owner : true = activé, false = désactivé (par défaut true).
  ↳ god true Interrupteur pour god : true = activé, false = désactivé (par défaut true).
  ↳ admin true Interrupteur pour admin : true = activé, false = désactivé (par défaut true).
StaffAce "jrs.chat.staff" Réglage pour staff ace.
Music table Music system. /music = personal player UI (every player; audio is local to that player only) /musicall = server-wide player UI (staff only; permission is validated server-side)
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ allowPersonal true Allows personal : true = oui, false = non (par défaut true).
  ↳ defaultVolume 65 Nombre pour default volume (par défaut 65).
  ↳ notifyPlayersOnGlobal true Interrupteur pour notify players on global : true = activé, false = désactivé (par défaut true).
  ↳ cache table Table d'entrées cache. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ commands table Table d'entrées commands. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
ServerMusic Config.Music Backward-compatible alias used internally by older integrations.
TextDistance 12.0 RP text
DrawTextDistance 12.0 Distance en unités de jeu pour draw text distance.
TextDuration 7 seconds
ShowTime true Shows time : true = oui, false = non (par défaut true).
MeDoOverhead table Overhead behavior. /me /do /try stay 3D-only by default, can be toggled locally with /toggleoverhead, and respect line of sight.
  ↳ Only3D true Interrupteur pour only3 d : true = activé, false = désactivé (par défaut true).
  ↳ UseLineOfSight true Active ou désactive line of sight (par défaut true).
Max3DTextLength 112 Texte affiché au joueur pour max3 d text length. Modifie-le pour traduire ou renommer.
TextHeadBoneOffset 0.38 height above SKEL_Head bone (RedM 21030)
TextZOffset 1.95 fallback height above entity root coords
TextVerticalOffset -0.005 Texte affiché au joueur pour text vertical offset. Modifie-le pour traduire ou renommer.
DistanceBetweenTexts 0.038 Distance en unités de jeu pour distance between texts.
TextRefreshRate 25 ms between screen position updates
TypingText true Interrupteur pour typing text : true = activé, false = désactivé (par défaut true).
TypingLabel "[......]" fallback when animation is disabled
TypingAnimate true Interrupteur pour typing animate : true = activé, false = désactivé (par défaut true).
TypingBaseDots 5 five fixed dots; the sixth dot blinks
TypingAnimationInterval 450 ms
TypingColor "#e7c56c" Réglage pour typing color.
TextColors table Texte affiché au joueur pour text colors. Modifie-le pour traduire ou renommer.
  ↳ me "#e7c56c" Réglage pour me.
  ↳ do "#e57373" Réglage pour do.
  ↳ trypos "#7ad6a3" Réglage pour trypos.
  ↳ tryneg "#e57373" Réglage pour tryneg.
  ↳ ooc "#f4f0e7" Réglage pour ooc.
  ↳ typing "#e7c56c" Réglage pour typing.
Prefixes table Table d'entrées prefixes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ me "ME:" Réglage pour me.
  ↳ do "DO:" Réglage pour do.
  ↳ trypos "" Réglage pour trypos.
  ↳ tryneg "" Réglage pour tryneg.
  ↳ ooc "OOC:" Réglage pour ooc.
  ↳ typing "" Réglage pour typing.
HtmlTemplate [[ Réglage pour html template.
Commands table Commands
  ↳ clear "clear" Réglage pour clear.
  ↳ clearAll "clearall" Réglage pour clear all.
  ↳ announce "announce" Réglage pour announce.
  ↳ staff "ac" Réglage pour staff.
  ↳ report "report" Réglage pour report.
  ↳ reportReply "reportr" Réglage pour report reply.
  ↳ toggleReports "togglereport" Réglage pour toggle reports.
  ↳ me "me" Réglage pour me.
  ↳ do "do" Réglage pour do.
  ↳ try "try" Réglage pour try.
  ↳ ooc "ooc" Réglage pour ooc.
  ↳ pm "pm" Réglage pour pm.
  ↳ help "help" Réglage pour help.
  ↳ medic "medic" Réglage pour medic.
  ↳ police "police" Réglage pour police.
  ↳ gossip "gossip" Réglage pour gossip.
  ↳ callPolice "callpolice" Réglage pour call police.
  ↳ callDoctor "calldoctor" Réglage pour call doctor.
  ↳ clearAlerts "calert" Réglage pour clear alerts.
  ↳ hideChat "hidechat" Réglage pour hide chat.
  ↳ nick "nick" Réglage pour nick.
  ↳ mute "mute" Réglage pour mute.
  ↳ unmute "unmute" Réglage pour unmute.
  ↳ muted "muted" Réglage pour muted.
  ↳ photo "photo" Réglage pour photo.
  ↳ global "global" Réglage pour global.
  ↳ say "say" Réglage pour say.
  ↳ whisper "whisper" Réglage pour whisper.
  ↳ reply "reply" Réglage pour reply.
  ↳ toggleChat "togglechat" Réglage pour toggle chat.
  ↳ toggleOverhead "toggleoverhead" Réglage pour toggle overhead.
Features table Table d'entrées features. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ clear true Interrupteur pour clear : true = activé, false = désactivé (par défaut true).
  ↳ clearAll true Interrupteur pour clear all : true = activé, false = désactivé (par défaut true).
  ↳ announce true Interrupteur pour announce : true = activé, false = désactivé (par défaut true).
  ↳ staff true Interrupteur pour staff : true = activé, false = désactivé (par défaut true).
  ↳ report true Interrupteur pour report : true = activé, false = désactivé (par défaut true).
  ↳ me true Interrupteur pour me : true = activé, false = désactivé (par défaut true).
  ↳ do true Interrupteur pour do : true = activé, false = désactivé (par défaut true).
  ↳ try true Interrupteur pour try : true = activé, false = désactivé (par défaut true).
  ↳ ooc true Interrupteur pour ooc : true = activé, false = désactivé (par défaut true).
  ↳ pm true Interrupteur pour pm : true = activé, false = désactivé (par défaut true).
  ↳ help true Interrupteur pour help : true = activé, false = désactivé (par défaut true).
  ↳ jobChannels true Interrupteur pour job channels : true = activé, false = désactivé (par défaut true).
  ↳ gossip true Interrupteur pour gossip : true = activé, false = désactivé (par défaut true).
  ↳ policeAlert true Interrupteur pour police alert : true = activé, false = désactivé (par défaut true).
  ↳ doctorAlert true Interrupteur pour doctor alert : true = activé, false = désactivé (par défaut true).
  ↳ nick true Interrupteur pour nick : true = activé, false = désactivé (par défaut true).
  ↳ mute true Interrupteur pour mute : true = activé, false = désactivé (par défaut true).
  ↳ photo true Interrupteur pour photo : true = activé, false = désactivé (par défaut true).
TryChance 50 Taux ou multiplicateur pour try chance.
RoleplayDistance 10.0 Distance en unités de jeu pour roleplay distance.
GlobalOOC false Interrupteur pour global ooc : true = activé, false = désactivé (par défaut false).
WhisperDistance 10.0 Distance en unités de jeu pour whisper distance.
Channels table Local / Global / Staff channel tabs for the default (no-slash) chat box. When disabled, typed text falls back to Config.DefaultChatEnabled behaviour.
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ default "local" Réglage pour default.
  ↳ labels table Table d'entrées labels. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
ChannelColors table Table d'entrées channel colors. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ local "#a9c9ef" Réglage pour local.
Notes from the README#
text
# jrs_chat 2.0.0
JRS Chat for RedM / `jrs_core`, rebuilt around the readable visual style and workflow ideas supplied in `JRS Chat` while keeping the JRS integrations open and e
## Requirements
- `jrs_core`
- `oxmysql`
- RedM / Cfx server
## Installation
1. Rename/use the resource folder as `jrs_chat`.
2. Disable the stock `chat` resource if it would create a second chat UI.
3. Start dependencies before this resource:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_chat
'''
The manifest includes `provide 'chat'` for resources that depend on the standard chat resource.
## What was ported from the supplied JRS chat idea/theme
- Original readable JRS UI textures used by the chat (`bg_1`, `bg_2`, `bgorigin`, `box_bg`).
- JRS fonts used for tabs/header styling.
- Antique message-card visual style.
- Local / Global / Staff tabs.
- Me / Do / Try quick buttons.
- Emoji tab, categories and search.
- Message history and suggestions.
- Character-name chat header with optional badge and time.
- `/global`, `/say`, `/whisper`, `/reply`, `/togglechat`, `/toggleoverhead` compatibility aliases.
- `/staff` alias while the original JRS `/ac` command remains available.
- 3D-only `/me`, `/do`, `/try` by default with line-of-sight support.
- Optional chat console logging.
- Optional join/leave system messages.
- Photo, nickname and mute systems kept in JRS and styled with the same UI language.
No JRS encrypted Lua logic is required by this resource. The resulting JRS resource is independent.
## Music system
Music is command-first and then controlled through an in-game UI.
### Player music
`/music`
- Available to normal players when `Config.Music.allowPersonal = true`.
- Opens **Personal Music Player**.
- Accepts a YouTube URL or an 11-character YouTube video ID.
- Play / Pause / Stop / Volume controls.
- Audio stays completely local to that player; no server event broadcasts the personal track.
### Staff global music
`/musicall`
- Requests the **Global Music Control** UI.
- Permission is validated with `JRSChat.IsStaff()` on the server.

Paid (server only)   jrs_church_bells

JRS Church Bells - scheduled and job/admin controlled church bells for RedM

Resource jrs_church_bells
Folder [INTERFACE]
Version 1.0.1
Author jrs
Depends on jrs_core
Interface No
Code size 737 lignes Lua
config.lua - 25 options#

General

Setting Default What it does
Debug false Debug output for debug : true = oui, false = non (par défaut false).
CoreResource "jrs_core" Réglage pour core resource.
AutomaticSchedule true Uses the in-game RDR2 clock (GetClockHours/GetClockMinutes).
ScheduleCheckInterval 500 ms
Interaction table Native prompt. INPUT_DYNAMIC_SCENARIO is E on the default RedM keyboard layout.
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ control 0xCEFD9220 INPUT_CONTEXT (E)
  ↳ drawDistance 8.0 Distance en unités de jeu pour draw distance.
  ↳ useDistance 2.0 Distance en unités de jeu pour use distance.
  ↳ requestAccessEvery 3000 ms
  ↳ promptText "Ring Church Bell" Texte affiché au joueur pour prompt text. Modifie-le pour traduire ou renommer.
  ↳ groupText "Church Bell" Qui est autorisé : métiers, groupes ou permissions pour group text.
Security table Table d'entrées security. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ maxServerUseDistance 4.0 The server always checks job/admin permission and cooldown. When OneSync server-side entity coordinates are available, distance is also checked.
  ↳ requireServerDistanceCheck false Requires server distance check : true = oui, false = non (par défaut false).
  ↳ maxManualTolls 12 Limite maximale pour max manual tolls.
ManualCooldownSeconds 12 Réglage de durée pour manual cooldown seconds. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
Command "churchbell" Réglage pour command.
Permissions table Qui est autorisé : métiers, groupes ou permissions pour permissions.
  ↳ allowAdmins true Allows admins : true = oui, false = non (par défaut true).
  ↳ adminGroups table JRS Core administration groups.
  ↳ jobs table No jobs allowed — admin groups only.
  ↳ ace "jrs.churchbells" Optional ACE permission: add_ace group.admin jrs.churchbells allow
Locations table Coordonnées du monde (x, y, z) pour locations.
  ↳ Valentine table Table d'entrées valentine. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Notes from the README#
text
# jrs_church_bells
Church bell resource for RedM using RDR2's native church bell sound set.
## Included
- Valentine church bell sound: `CHURCH_BELL_SOUNDS / VAL_SINGLE_TOLL`
- Automatic in-game schedule:
  - 06:00 = 6 tolls
  - 12:00 = 12 tolls
  - 18:00 = 6 tolls
- Manual native prompt near the Valentine church.
- JRS Core job/admin permission checks.
- Admin groups enabled by default: `owner`, `admin`, `support`.
- Allowed church jobs enabled by default: `priest`, `preacher`, `church`.
- Server-side cooldown and permission validation.
- Optional ACE permission: `jrs.churchbells`.
- Admin/job command: `/churchbell [location] [tolls]`.
## Install
1. Copy `jrs_church_bells` into your resources folder.
2. Make sure `jrs_core` starts first.
3. Add:
'''cfg
ensure jrs_core
ensure jrs_church_bells
'''
## Valentine coordinates
The sound origin is already set at the Valentine church bell:
'''lua
vector3(-230.11424, 797.50195, 135.25150)
'''
The default manual interaction point is:
'''lua
vector3(-231.75000, 796.38000, 124.63000)
'''
If your custom Valentine church interior places the bell rope/control somewhere else, only change
`interactionCoords` in `config.lua`.
## Job permission
Edit:
'''lua
Config.Permissions.jobs = {
    priest = 0,
    preacher = 0,
    church = 0
}
'''
The number is the minimum allowed job grade.
## Admin permission

Free (included in JRS Core)   jrs_city

jrs core native zone notifications for jrs_core

Resource jrs_city
Folder [INTERFACE]
Version 1.3.0
Author jrs team
Depends on jrs_core
Interface Yes (NUI)
Languages ar, en
Code size 3,128 Lua lines

Commands

  • /jrscitydebug
  • /jrscitytest

Exports

GetCurrentCity, GetCurrentZone, IsInCity, ShowMessage, ShowZoneCard

config/config.lua - 35 options#

General

Setting Default What it does
CoreResource "jrs_core" Réglage pour core resource.
Debug false Debug output for debug : true = oui, false = non (par défaut false).
Detection table Detection mirrors RedM's own zone hierarchy. The UI is shown only when the resolved location actually changes.
  ↳ Interval 500 Réglage de durée pour interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ WaitForCharacter true Interrupteur pour wait for character : true = activé, false = désactivé (par défaut true).
  ↳ CharacterReadyTimeout 10000 Réglage de durée pour character ready timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ NotifyOnInitialDetection true Interrupteur pour notify on initial detection : true = activé, false = désactivé (par défaut true).
  ↳ PauseWhenDead true Interrupteur pour pause when dead : true = activé, false = désactivé (par défaut true).
  ↳ PauseWhenPauseMenuOpen true Interrupteur pour pause when pause menu open : true = activé, false = désactivé (par défaut true).
  ↳ Priority table Highest priority first.
Notification table Texte affiché au joueur pour notification. Modifie-le pour traduire ou renommer.
  ↳ Duration 4000 Réglage de durée pour duration. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ Sound table Table d'entrées sound. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ UI table Table d'entrées ui. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Details table Table d'entrées details. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ ShowDistrict true Shows district : true = oui, false = non (par défaut true).
  ↳ ShowState true Shows state : true = oui, false = non (par défaut true).
  ↳ ShowDay false Shows day : true = oui, false = non (par défaut false).
  ↳ ShowTime true Shows time : true = oui, false = non (par défaut true).
  ↳ ShowTemperature true Shows temperature : true = oui, false = non (par défaut true).
  ↳ ShowWind true Shows wind : true = oui, false = non (par défaut true).
  ↳ Use24Hour false Interrupteur pour use24 hour : true = activé, false = désactivé (par défaut false).
  ↳ TemperatureUnit "C" 'C' or 'F'
  ↳ WindUnit "auto" 'auto', 'kph', or 'mph'
Days table Table d'entrées days. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 0 "SUN" Réglage pour 0.
  ↳ 1 "MON" Réglage pour 1.
  ↳ 2 "TUE" Réglage pour 2.
  ↳ 3 "WED" Réglage pour 3.
  ↳ 4 "THU" Réglage pour 4.
  ↳ 5 "FRI" Réglage pour 5.
  ↳ 6 "SAT" Réglage pour 6.
DisabledZoneHashes table Add a native zone hash here to disable it without editing the large zone table.
NameOverrides table Override any zone's display name by native hash.
CustomNativeZones table Extra custom native entries can be added here.
config/zones.lua - 321 options#

General

Setting Default What it does
NativeZoneData table Native RedM map zone metadata. Edit NameOverrides in config.lua for custom display names.
  ↳ -1004072985 table Table d'entrées 1004072985. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -103399754 table Table d'entrées 103399754. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1037423548 table Table d'entrées 1037423548. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1043500161 table Table d'entrées 1043500161. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -105598602 table Table d'entrées 105598602. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1073312073 table Table d'entrées 1073312073. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -108848014 table Table d'entrées 108848014. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1099073636 table Table d'entrées 1099073636. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1114958242 table Table d'entrées 1114958242. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1118608187 table Table d'entrées 1118608187. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1161186391 table Table d'entrées 1161186391. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1164281509 table Table d'entrées 1164281509. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1168459546 table Table d'entrées 1168459546. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1173672830 table Table d'entrées 1173672830. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -120156735 table Table d'entrées 120156735. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1203685470 table Table d'entrées 1203685470. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -120578354 table Table d'entrées 120578354. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1207133769 table Table d'entrées 1207133769. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1217490622 table Table d'entrées 1217490622. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1225359404 table Table d'entrées 1225359404. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1229593481 table Table d'entrées 1229593481. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1231793417 table Table d'entrées 1231793417. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1247148211 table Table d'entrées 1247148211. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1247294802 table Table d'entrées 1247294802. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1276586360 table Table d'entrées 1276586360. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1287619521 table Table d'entrées 1287619521. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1288973891 table Table d'entrées 1288973891. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1289136221 table Table d'entrées 1289136221. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1300497193 table Table d'entrées 1300497193. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1308233316 table Table d'entrées 1308233316. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1319956120 table Table d'entrées 1319956120. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1349514245 table Table d'entrées 1349514245. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1356490953 table Table d'entrées 1356490953. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1359523911 table Table d'entrées 1359523911. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1369817450 table Table d'entrées 1369817450. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -138648964 table Table d'entrées 138648964. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -139400310 table Table d'entrées 139400310. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1410384421 table Table d'entrées 1410384421. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1419869345 table Table d'entrées 1419869345. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1420336129 table Table d'entrées 1420336129. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -146460093 table Table d'entrées 146460093. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1472363892 table Table d'entrées 1472363892. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1496551068 table Table d'entrées 1496551068. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1504425495 table Table d'entrées 1504425495. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1521776363 table Table d'entrées 1521776363. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1524959147 table Table d'entrées 1524959147. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1532919875 table Table d'entrées 1532919875. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1539536559 table Table d'entrées 1539536559. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -154855189 table Table d'entrées 154855189. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -156397252 table Table d'entrées 156397252. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1592070727 table Table d'entrées 1592070727. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1622112934 table Table d'entrées 1622112934. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1633799162 table Table d'entrées 1633799162. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1657629123 table Table d'entrées 1657629123. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1660988219 table Table d'entrées 1660988219. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -166839571 table Table d'entrées 166839571. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1692509313 table Table d'entrées 1692509313. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1699818764 table Table d'entrées 1699818764. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1708386982 table Table d'entrées 1708386982. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1753216046 table Table d'entrées 1753216046. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1768736648 table Table d'entrées 1768736648. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1769528472 table Table d'entrées 1769528472. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1774142845 table Table d'entrées 1774142845. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1777630136 table Table d'entrées 1777630136. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1781130443 table Table d'entrées 1781130443. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1817904483 table Table d'entrées 1817904483. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1821194396 table Table d'entrées 1821194396. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1825355772 table Table d'entrées 1825355772. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1851305682 table Table d'entrées 1851305682. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1860484356 table Table d'entrées 1860484356. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1894004139 table Table d'entrées 1894004139. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1902025470 table Table d'entrées 1902025470. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1926488450 table Table d'entrées 1926488450. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1942169613 table Table d'entrées 1942169613. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1947415645 table Table d'entrées 1947415645. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -196675805 table Table d'entrées 196675805. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1973391500 table Table d'entrées 1973391500. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1988735197 table Table d'entrées 1988735197. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -1999797981 table Table d'entrées 1999797981. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2000021141 table Table d'entrées 2000021141. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2001518509 table Table d'entrées 2001518509. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2028095666 table Table d'entrées 2028095666. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2034338067 table Table d'entrées 2034338067. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2035208924 table Table d'entrées 2035208924. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2038495927 table Table d'entrées 2038495927. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2040708515 table Table d'entrées 2040708515. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2049654576 table Table d'entrées 2049654576. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2066240242 table Table d'entrées 2066240242. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2074284650 table Table d'entrées 2074284650. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -209915926 table Table d'entrées 209915926. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2126414432 table Table d'entrées 2126414432. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2133063188 table Table d'entrées 2133063188. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -2145992129 table Table d'entrées 2145992129. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -215175141 table Table d'entrées 215175141. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -218679770 table Table d'entrées 218679770. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -221059932 table Table d'entrées 221059932. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -247856387 table Table d'entrées 247856387. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -259784188 table Table d'entrées 259784188. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -261541730 table Table d'entrées 261541730. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -264897431 table Table d'entrées 264897431. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -291091669 table Table d'entrées 291091669. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -336631570 table Table d'entrées 336631570. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -346622837 table Table d'entrées 346622837. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -410208673 table Table d'entrées 410208673. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -419963911 table Table d'entrées 419963911. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -420810761 table Table d'entrées 420810761. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -425430549 table Table d'entrées 425430549. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -438809735 table Table d'entrées 438809735. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -473051294 table Table d'entrées 473051294. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -484064781 table Table d'entrées 484064781. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -493344856 table Table d'entrées 493344856. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -49694339 table Table d'entrées 49694339. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -504005310 table Table d'entrées 504005310. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -512529193 table Table d'entrées 512529193. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -545967610 table Table d'entrées 545967610. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -557290573 table Table d'entrées 557290573. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -576782619 table Table d'entrées 576782619. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -61172588 table Table d'entrées 61172588. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ -619014970 table Table d'entrées 619014970. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Notes from the README#
text
# jrs_city
Version 1.2.1
Native RedM location notifications for `jrs_core`.
## How it works
The client reads RedM native map-zone hashes and resolves the current location using this priority:
1. Town
2. Printed map location
3. Written map location
4. Water locations
5. District
6. State
The notification is a single transparent NUI element, so its background, title, district, state, time, temperature and wind always appear and disappear together
The bundled native zone metadata contains 320 mapped RedM zones.
## Install
'''cfg
ensure jrs_core
ensure jrs_city
'''
## Test
'''text
/jrscitytest
'''
With `Config.Debug = true`:
'''text
/jrscitydebug
'''
## Main settings
Edit `config.lua` to control notification size, position, duration, details and zone detection interval.
The default background is `html/assets/box_a_bg_1.png` and is rendered at 340px wide, smaller than its original 432px size.
## Exports
'''lua
local zone = exports.jrs_city:GetCurrentZone()
local city = exports.jrs_city:GetCurrentCity()
local inValentine = exports.jrs_city:IsInCity('Valentine')
'''
## Notification sound
The supplied MP3 is bundled as:
'''text
html/assets/zone_open.mp3
'''
Configure it in `config.lua`:
'''lua
Config.Notification.Sound = {
    Enabled = true,
    File = 'assets/zone_open.mp3',

Paid (server only)   jrs_freecam

Job-restricted standalone free camera for RedM

Resource jrs_freecam
Folder [INTERFACE]
Version 1.1.2-redm
Author jrs team
Depends on jrs_core, oxmysql
Interface No
Languages ar, en
Code size 1,071 Lua lines

Commands

  • /freecamfilter
  • /freecamhelpers
  • /freecamprevfilter

Exports

GrantFreecamAccess, HasFreecamAccess, IsActive, RevokeFreecamAccess, SetActive

Database tables

jrs_freecam_access

config/config.lua - 39 options#

General

Setting Default What it does
ActivationCommand "freecam" Command and optional key used to toggle the free camera.
ActivationKey "" Command-only activation: freecam opens ONLY via the /freecam command, with no keyboard bind. Leave empty to keep it command-only (set a key like 'F6' to also bind a key).
UseAcePermission false Optional ACE restriction. When enabled, add this to server.cfg: add_ace group.admin jrs.freecam allow
AcePermission "jrs.freecam" Qui est autorisé : métiers, groupes ou permissions pour ace permission.
AdminOnly true permission database), NOT by job. Any admin rank (server_owner, full_access, medium, few) may use the free camera. Set to false to fall back to the legacy job restriction below for non-admins.
JobRequirement table Legacy job restriction through jrs_core (only used when Config.AdminOnly=false). The key is the job name and the value is the minimum required grade.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Jobs table Qui est autorisé : métiers, groupes ou permissions pour jobs.
CameraRange 100.0 Maximum distance the camera may travel from its activation point. Set to 0.0 to remove the range limit.
MoveSpeed 6.0 Camera movement and rotation.
FastMoveMultiplier 4.0 Taux ou multiplicateur pour fast move multiplier.
MouseSensitivity 8.0 Nombre pour mouse sensitivity (par défaut 8.0).
RollSpeed 55.0 Nombre pour roll speed (par défaut 55.0).
ZoomSpeed 45.0 Nombre pour zoom speed (par défaut 45.0).
MinFov 20.0 Minimum ou niveau requis pour min fov.
MaxFov 120.0 Limite maximale pour max fov.
FreezePlayer true Camera behavior.
HideGameHud true Hides game hud : true = oui, false = non (par défaut true).
ShowHelpersByDefault true Shows helpers by default : true = oui, false = non (par défaut true).
EnableFilters true Active ou désactive filters (par défaut true).
UseStreamingFocus true Active ou désactive streaming focus (par défaut true).
ControllerModel scriptedball Invisible RedM object used as a camera controller.
ModelLoadTimeout 5000 Réglage de durée pour model load timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
Filters table Photo mode filters copied from jrs_camera. These use Animpostfx, which is the same method used by the RedM camera resource.
Controls table RedM controls. Normal player controls are disabled while freecam is active.
  ↳ Forward 0x6319DB71 Arrow Up
  ↳ Backward 0x05CA7C52 Arrow Down
  ↳ Left 0xA65EBAB4 Arrow Left
  ↳ Right 0xDEB34313 Arrow Right
  ↳ Up INPUT_COVER Q
  ↳ Down INPUT_CONTEXT E
  ↳ Fast INPUT_SPRINT Left Shift
  ↳ ZoomIn 0xF78D7337 Mouse wheel up
  ↳ ZoomOut 0xD0842EDF Mouse wheel down
  ↳ RollLeft INPUT_MOVE_LEFT_ONLY A / D roll the camera because movement now uses the arrows.
  ↳ RollRight INPUT_MOVE_RIGHT_ONLY Réglage pour roll right.
  ↳ FilterPrevious INPUT_CREATOR_LT Page Up / Page Down switch the new photo-mode filters.
  ↳ FilterNext INPUT_CREATOR_RT Réglage pour filter next.
  ↳ Reset INPUT_OPEN_SATCHEL_MENU B
Notes from the README#
text
# REDEMPIRE FreeCam for RedM
Standalone RedM free camera with jrs_core job access and Red Dead photo-mode filters.
## Installation
1. Rename the folder to `jrs_freecam` and place it in your resources directory.
2. Make sure `jrs_core` starts first.
3. Add:
'''cfg
ensure jrs_core
ensure jrs_freecam
'''
## Job access
Edit `Config.JobRequirement.Jobs` in `config.lua`:
'''lua
Config.JobRequirement = {
    Enabled = true,
    Jobs = {
        photographer = 0, -- job name = minimum grade
    },
}
'''
To allow more than one job:
'''lua
Jobs = {
    photographer = 0,
    reporter = 2,
}
'''
## Controls
- `/freecam` or `F6` when key mapping is supported: open/close freecam
- Arrow Up/Down: forward/backward
- Arrow Left/Right: move left/right
- Q/E: move up/down
- Left Shift: faster movement
- Mouse: camera rotation
- Mouse wheel: zoom
- A/D: camera roll
- Page Up/Page Down: previous/next filter
- B: reset roll and zoom
- `/freecamfilter`: next filter
- `/freecamprevfilter`: previous filter
- `/freecamhelpers`: show/hide controls
## Filters
The filter list and application method were copied from `jrs_camera`:
- PhotoMode_FilterGame01-18
- PhotoMode_FilterModern01-10

Paid (server only)   jrs_gramophone

jrs core Gramophone - synchronized gramophone system for jrs_core

Resource jrs_gramophone
Folder [INTERFACE]
Version 1.1.0
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 1,741 Lua lines

Database tables

jrs_gramophone_playlist_songs, jrs_gramophone_playlists, jrs_gramophones

config/config.lua - 75 options#

General

Setting Default What it does
CoreResource "jrs_core" Réglage pour core resource.
InventoryResource "jrs_inventory" Réglage pour inventory resource.
Locale "ar" Langue de l’interface de ce script (en ou ar).
Debug false Debug output for debug : true = oui, false = non (par défaut false).
InteractionDistance 2.5 Distance en unités de jeu pour interaction distance.
StreamDistance 65.0 Distance en unités de jeu pour stream distance.
SyncInterval 5000 Réglage de durée pour sync interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
VolumeStep 0.10 Nombre pour volume step (par défaut 0.10).
SeekSeconds 10 Nombre pour seek seconds (par défaut 10).
DefaultRange 20.0 Distance en unités de jeu pour default range.
DefaultVolume 1.0 Nombre pour default volume (par défaut 1.0).
PlayCost 0.0 money charged when a new song is started; 0 disables charging
Prop table Modèle ou entité du jeu utilisé pour prop.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Model "p_phonograph01x" Modèle ou entité du jeu utilisé pour model.
Marker table Ground marker under gramophone stations. Fully disabled: the prompt already tells the player they can interact, so the marker was pure visual noise.
  ↳ Enabled false Active ou désactive enabled (par défaut false).
  ↳ Distance 8.0 Distance en unités de jeu pour distance.
  ↳ Scale 0.18 Taux ou multiplicateur pour scale.
  ↳ R 115 Nombre pour r (par défaut 115).
  ↳ G 72 Nombre pour g (par défaut 72).
  ↳ B 145 Nombre pour b (par défaut 145).
  ↳ A 170 Nombre pour a (par défaut 170).
Controls table Table d'entrées controls. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Open 0xC7B5340A Réglage pour open.
  ↳ Place 0x07CE1E61 Réglage pour place.
  ↳ Cancel 0xF84FA74F Réglage pour cancel.
  ↳ Take 0xF3830D8E Réglage pour take.
  ↳ RotateLeft 0x7F8D09B8 Réglage pour rotate left.
  ↳ RotateRight 0x4CC0E2FE Réglage pour rotate right.
Portable table Table d'entrées portable. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Item "phonograph" Objets d'inventaire utilisés par item. Les noms doivent exister dans la table jrs_items.
  ↳ Model "p_phonograph01x" Modèle ou entité du jeu utilisé pour model.
  ↳ OwnerOnlyTake true Interrupteur pour owner only take : true = activé, false = désactivé (par défaut true).
  ↳ OwnerOnlyUse true only the owner can open / control a placed phonograph
  ↳ MaxPerCharacter 3 Limite maximale pour max per character.
  ↳ Range table Owner can widen/narrow how far a placed phonograph is heard (metres), from its music panel.
  ↳ PlacementDistance 1.8 Distance en unités de jeu pour placement distance.
  ↳ RotationStep 4.0 Nombre pour rotation step (par défaut 4.0).
  ↳ RayDistance 10.0 Furniture-style placement (same keys/panel as house furniture): the ghost follows the crosshair up to RayDistance; G places it only while it is within MaxDistance of the player (server allows 4.5).
  ↳ MaxDistance 4.0 Distance en unités de jeu pour max distance.
  ↳ SaveToDatabase false Interrupteur pour save to database : true = activé, false = désactivé (par défaut false).
  ↳ Blip table Map blip on the owner's own placed phonographs (owner only).
Playlists table Table d'entrées playlists. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Shared true Interrupteur pour shared : true = activé, false = désactivé (par défaut true).
  ↳ MaxPlaylists 20 Limite maximale pour max playlists.
  ↳ MaxSongsPerPlaylist 50 Limite maximale pour max songs per playlist.
  ↳ MaxNameLength 24 Limite maximale pour max name length.
Logs table Table d'entrées logs. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled false Active ou désactive enabled (par défaut false).
  ↳ BotName "REDEMPIRE Gramophone" Texte affiché au joueur pour bot name. Modifie-le pour traduire ou renommer.
  ↳ ServerName "REDEMPIRE Server" Texte affiché au joueur pour server name. Modifie-le pour traduire ou renommer.
  ↳ Color 7506394 Nombre pour color (par défaut 7506394).
Stations table One physical station = one entry. Use allowedJobs = false for public access.
Text table Texte affiché au joueur pour text. Modifie-le pour traduire ou renommer.
  ↳ Open "Open Gramophone" Réglage pour open.
  ↳ Place "Place Gramophone" Réglage pour place.
  ↳ Cancel "Cancel" Réglage pour cancel.
  ↳ Take "Take Phonograph" Réglage pour take.
  ↳ RotateLeft "Rotate Left" Réglage pour rotate left.
  ↳ RotateRight "Rotate Right" Réglage pour rotate right.
  ↳ Group "Gramophone" Qui est autorisé : métiers, groupes ou permissions pour group.
  ↳ NoAccess 'You do not have access to t... Réglage pour no access.
  ↳ InvalidLink 'Please enter a valid YouTub... Réglage pour invalid link.
  ↳ TooFar 'You are too far from the gr... Réglage pour too far.
  ↳ MaxVolume "Maximum volume reached." Limite maximale pour max volume.
  ↳ MinVolume "Minimum volume reached." Minimum ou niveau requis pour min volume.
  ↳ NoMoney "You do not have enough money." Montant d'argent pour no money. Les récompenses passent par le multiplicateur d'économie de jrs_core.
  ↳ Placed "Phonograph placed." Réglage pour placed.
  ↳ Taken 'Phonograph returned to your... Réglage pour taken.
  ↳ MaxPortable 'You reached the maximum num... Limite maximale pour max portable.
  ↳ NotOwner 'Only the owner can take thi... Réglage pour not owner.
  ↳ InventoryMissing "jrs_inventory is not available." Réglage pour inventory missing.
  ↳ ItemMissing 'You do not have a phonograp... Objets d'inventaire utilisés par item missing. Les noms doivent exister dans la table jrs_items.
Notes from the README#
text
# REDEMPIRE Gramophone
A synchronized gramophone system built directly for `jrs_core`.
## Features
- Fixed gramophone stations with per-job access.
- YouTube link playback with synchronized play/pause and seek state.
- Distance-based volume attenuation.
- Volume up/down, rewind, forward, and timeline seek.
- Shared or per-character playlists.
- Song history in the UI.
- Optional portable gramophone item using `jrs_inventory`.
- Portable gramophones persist in the database and can be taken back by their owner.
- Optional play cost and Discord webhook logging.
- Automatic database table creation.
- No framework adapter file; the resource connects directly to `jrs_core`.
## Requirements
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_gramophone
'''
`jrs_inventory` is only required when `Config.Portable.Enabled = true`.
## Portable item
If portable gramophones are enabled, add an item named `gramophone` to your REDEMPIRE items table and mark it usable.
Example:
'''sql
INSERT INTO `items`
(`item`, `label`, `limit`, `can_remove`, `type`, `usable`, `descriptions`, `metadata`, `category`)
VALUES
('gramophone', 'Gramophone', 2.00, 1, 'item_standard', 1, 'A portable gramophone', '0', 'tools')
ON DUPLICATE KEY UPDATE
`label` = VALUES(`label`),
`limit` = VALUES(`limit`),
`can_remove` = VALUES(`can_remove`),
`type` = VALUES(`type`),
`usable` = VALUES(`usable`),
`descriptions` = VALUES(`descriptions`),
`metadata` = VALUES(`metadata`),
`category` = VALUES(`category`);
'''
## Configuration
Edit `config.lua`.
Important sections:
- `Config.Stations` - fixed locations, allowed jobs, range and initial volume.
- `Config.Portable` - portable item and placement settings.

Paid (server only)   jrs_idcard

Routine status/diagnostic output is silenced by default so the server console stays clean on boot. Set Config.Debug = true to bring these messages back.

Resource jrs_idcard
Folder [INTERFACE]
Version 2.9.0
Author jrs team
Depends on jrs_core, jrs_inventory
Interface Yes (NUI)
Languages ar, en
Code size 5,000 Lua lines

Commands

  • /idcardphoto
  • /idphoto

Exports

OpenBinderCard, OpenDeed, ShowBinderCard, StartNewCharacterCreationSession, StartNewCharacterPhotoSession, StartPhotoUpdateSession

Database tables

does, jrs_id_numbers, jrs_idcard, jrs_idcard_fake, jrs_idcard_locations, never

config/config.lua - 81 options#

General

Setting Default What it does
Debug false Debug output for debug : true = oui, false = non (par défaut false).

The item the registry hands out. It must exist in the live items table

Setting Default What it does
Item "idcard" (see items.sql) - jrs_inventory item names are case sensitive.
Price 1.0 Cost of a first registration.
ReissuePrice 2.0 Cost of extracting a replacement copy of an ID card that already exists. The record (and the permanent six digit identity number) is unchanged; only the physical item is reprinted.

The registry has a "License Binder" tab to take the full binder, and a

Setting Default What it does
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Price 0.0 cost of taking a binder from the registry tab
  ↳ GiveOnFirstId true free binder with the first ID card (once per character)
  ↳ GiveOnNewCharacter true free binder when the creator ID is finalized (once per character)
EnterNameAutomatic false Interrupteur pour enter name automatic : true = activé, false = désactivé (par défaut false).

Turn this off to go back to the old behaviour where every field is typed.

Setting Default What it does
PullIdentityFromCharacter true Interrupteur pour pull identity from character : true = activé, false = désactivé (par défaut true).
WorldDate table from here and not from the real-world clock. Keep this in step with jrs_character's Config.WorldDate - both must agree or the age printed on the card will not match the age the character system reports.
  ↳ year 1899 Nombre pour year (par défaut 1899).
  ↳ month 6 Nombre pour month (par défaut 6).
  ↳ day 1 Nombre pour day (par défaut 1).
MinimumAge 18 No card is issued below this age. Matches jrs_character's Config.MinimumAge.
MaximumAge 80 PullIdentityFromCharacter is on: that age is the character's real lived age (base age plus playtime) and a long-lived character must still be able to get their own card. Set to false to disable.
ShowDistance 1.5 How close another player must be for SHOW NEARBY to reach them.
ServerName "REDEMPIRE" Printed under the photo on the card.
UseAnim true Play the writing animation while the registry form is open.
ImageUploadUrl 'https://imgbb.com/' External image host opened by the UPLOAD IMAGE button. After uploading, copy the Direct Link and paste it into Photo URL.

These rows are only the FIRST-RUN seed. The live list lives in the SQL table

Setting Default What it does
DefaultPed "s_m_m_vhtdealer_01" added or removed from the Script Admin Hub survive a restart. Editing a row here after the seed has run changes nothing - move the office in-game instead (Add Registry Here / Remove Nearest Registry).
DefaultDistance 3.0 Distance en unités de jeu pour default distance.
InteractionDistance 3.0 Fallback interaction radius for rows that carry no distance of their own (older SQL rows, and admin-added offices).
ClerkZOffset table Hand height correction for one office's clerk, keyed by city, in metres (+ raises, - lowers). Client-side only - takes effect on resource restart, no re-seed needed.
  ↳ Strawberry 0.0 Nombre pour strawberry (par défaut 0.0).

Maps each office / city to its Country/State (البلد) and Origin (المنشأ).

Setting Default What it does
CityOrigins table When registering, the script directly populates nationality (country) and birth1 (place of birth / origin) based on the area.
  ↳ Valentine table Table d'entrées valentine. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Blackwater table Table d'entrées blackwater. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Rhodes table Table d'entrées rhodes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Saint Denis table Table d'entrées saint denis. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Strawberry table Table d'entrées strawberry. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Annesburg table Table d'entrées annesburg. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Tumbleweed table Table d'entrées tumbleweed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Armadillo table Table d'entrées armadillo. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Van Horn table Table d'entrées van horn. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Colter table Table d'entrées colter. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Wapiti table Table d'entrées wapiti. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Emerald Ranch table Table d'entrées emerald ranch. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ MacFarlane table Table d'entrées mac farlane. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Lagras table Table d'entrées lagras. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Guarma table Table d'entrées guarma. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Locations table Coordonnées du monde (x, y, z) pour locations.

Clerks are created only while a player is near their office and deleted

Setting Default What it does
PedSpawnDistance 60.0 again on the way out, so nine offices do not hold nine peds in the pool for the whole session.
PedDespawnDistance 90.0 Distance en unités de jeu pour ped despawn distance.

**1869246576 is the official Government Seal / Senior Badge sprite (distinct from **

Setting Default What it does
BlipSprite 1869246576 Réglages du blip ou de l’icône de carte pour blip sprite.
BlipColor "BLIP_MODIFIER_MP_COLOR_27" Royal Purple
BlipScale 0.7 Réglages du blip ou de l’icône de carte pour blip scale.
Keys table Touche ou contrôle utilisé pour keys. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
  ↳ enter "INPUT_FRONTEND_RB" Réglage pour enter.
  ↳ reissue "INPUT_FRONTEND_LB" Réglage pour reissue.

How it is caught: showing a card to an on-duty officer rolls DetectionChance

Setting Default What it does
FakeId table against jrs_police's own IsOnDutyOfficer check. Nothing else can tell the two cards apart - not the inventory label, not the item image, not the booklet.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Item "fakeid" jrs_inventory. A forgery that announces itself in a loot list is not a forgery. The owner can still tell which one they are holding: opening it shows a small mark only they can see.
  ↳ Label "ID Card" Texte affiché au joueur pour label. Modifie-le pour traduire ou renommer.
  ↳ Description "Official citizen identity card." Texte affiché au joueur pour description. Modifie-le pour traduire ou renommer.
  ↳ Price 15.0 forging a new identity
  ↳ CopyPrice 10.0 reprinting the forgery you already own
  ↳ DestroyPrice 0 burning the record so you can forge a different one
  ↳ DetectionChance 45 Chance (0-100) that an on-duty officer spots the forgery each time the card is shown to them. Every show is an independent roll, so flashing a forged card at the law repeatedly is a real risk, not a free retry.
  ↳ DetectionMinimumGrade 0 Minimum police grade that can spot a forgery at all. 0 = any officer.
  ↳ PoliceAlertChance 20 Chance (0-100) that buying a forgery is noticed and dispatched to police through jrs_theftsystem's own alert bridge.
  ↳ FollowBlackMarket true The forger standing next to the Black Market merchant.
  ↳ BlackMarketOffset 3.5 metres from the merchant
  ↳ Ped "a_m_m_unibtailor_01" Modèle ou entité du jeu utilisé pour ped.
  ↳ Distance 2.0 Distance en unités de jeu pour distance.
  ↳ Keys table Touche ou contrôle utilisé pour keys. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
  ↳ Blip false Off by default: the forger is meant to be found, not routed to.
  ↳ BlipSprite 587827268 Réglages du blip ou de l’icône de carte pour blip sprite.
  ↳ BlipScale 0.2 Réglages du blip ou de l’icône de carte pour blip scale.

Off by default: nothing is sent anywhere until Enabled is set to true and a

Setting Default What it does
  ↳ Enabled false Active ou désactive enabled (par défaut false).
  ↳ Url "" Réglage pour url.
  ↳ Name "REDEMPIRE Registry" Texte affiché au joueur pour name. Modifie-le pour traduire ou renommer.
  ↳ Colour 10038562 Nombre pour colour (par défaut 10038562).
  ↳ Registered 'HAS REGISTERED THEIR IDENTI... Réglage pour registered.
  ↳ Reissued 'HAS EXTRACTED A COPY OF THE... Réglage pour reissued.
  ↳ Forged 'HAS BOUGHT A FORGED IDENTIT... Réglage pour forged.
  ↳ Exposed 'WAS CAUGHT CARRYING A FORGE... Réglage pour exposed.

Integrated Portrait Photo Studio & ID upon Character Creation

Setting Default What it does
PortraitStudio table Table d'entrées portrait studio. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ DefaultPhoto "assets/img/default_portrait.jpg" Fallback photo URL if webhook is not set:
  ↳ CameraFov 32.0 Camera FOV for passport/portrait framing:

Paid (server only)   jrs_instruments

Play the piano at any piano and instruments anywhere (guitar, banjo, fiddle, harmonica, mandolin, concertina, trumpet, jaw harp) - game scenarios, heard by everyone near

Resource jrs_instruments
Folder [INTERFACE]
Version 1.0.0
Author jrs team
Depends on jrs_core
Interface Yes (NUI)
Languages ar, en
Code size 255 lignes Lua
config.lua - 11 options#

General

Setting Default What it does
Command "play" opens the instrument list
StopKey 0x8CC9CD42 X stops playing
PianoKey 0x760A9C6F G at a piano
PianoStyleKey 0xCEFD9220 E cycles the piano style
PianoRadius 2.2 Distance en unités de jeu pour piano radius.
RequireItems false Optional: require an inventory item to play an instrument (item name or nil). Only 'guitar' exists in jrs_items right now.
Instruments table Table d'entrées instruments. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
PianoModels table Pianos found in the world by model. Styles cycle with E.
PianoStyles table Table d'entrées piano styles. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
PianoFemaleScenario "PROP_HUMAN_ABIGAIL_PIANO" Réglages d'animation pour piano female scenario.
PianoSeatOffset vector3(0.0, -0.78, 0.0) Where the player sits relative to the piano if the world has no piano scenario point there.

Paid (server only)   jrs_killcam

Client-side cinematic bullet kill camera for RedM

Resource jrs_killcam
Folder [INTERFACE]
Version 1.0.0
Author JRS
Interface No
Code size 776 lignes Lua

Exports

IsActive, Play

config.lua - 49 options#

General

Setting Default What it does
Enabled true Active ou désactive enabled (par défaut true).
Debug false Debug output for debug : true = oui, false = non (par défaut false).
Trigger table The production trigger stays close to RDR2's Dynamic Kill Cam: lethal hits.
  ↳ FatalHitsOnly true Interrupteur pour fatal hits only : true = activé, false = désactivé (par défaut true).
  ↳ HeadshotsAlways false Interrupteur pour headshots always : true = activé, false = désactivé (par défaut false).
  ↳ ChancePercent 100 Taux ou multiplicateur pour chance percent.
  ↳ MinimumDistance 3.0 Distance en unités de jeu pour minimum distance.
  ↳ MaximumDistance 250.0 Distance en unités de jeu pour maximum distance.
  ↳ CooldownSeconds 5.0 Réglage de durée pour cooldown seconds. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
Targets table Table d'entrées targets. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Players true Interrupteur pour players : true = activé, false = désactivé (par défaut true).
  ↳ HumanNPCs true Interrupteur pour human np cs : true = activé, false = désactivé (par défaut true).
  ↳ Animals false Interrupteur pour animals : true = activé, false = désactivé (par défaut false).
Detection table Table d'entrées detection. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ DamageEventWindowMs 900 Damage events select the exact victim. Aim/raycast checks are the fallback.
  ↳ ResolveWindowMs 900 Nombre pour resolve window ms (par défaut 900).
  ↳ RaycastDistance 300.0 Distance en unités de jeu pour raycast distance.
  ↳ RaycastRadius 0.12 Distance en unités de jeu pour raycast radius.
  ↳ RaycastFlags 511 Nombre pour raycast flags (par défaut 511).
  ↳ ImpactMaxDistanceFromTarget 4.0 Distance en unités de jeu pour impact max distance from target.
  ↳ ShotDebounceMs 45 Nombre pour shot debounce ms (par défaut 45).
Camera table Table d'entrées camera. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ TransitionInMs 90 Nombre pour transition in ms (par défaut 90).
  ↳ TransitionOutMs 130 Nombre pour transition out ms (par défaut 130).
  ↳ MinimumTravelMs 650 Minimum ou niveau requis pour minimum travel ms.
  ↳ MaximumTravelMs 1250 Limite maximale pour maximum travel ms.
  ↳ TravelMsPerMeter 18.0 Nombre pour travel ms per meter (par défaut 18.0).
  ↳ EndHoldMs 260 Nombre pour end hold ms (par défaut 260).
  ↳ StartFov 48.0 Nombre pour start fov (par défaut 48.0).
  ↳ EndFov 28.0 Nombre pour end fov (par défaut 28.0).
  ↳ StartBehindMuzzle 0.55 Nombre pour start behind muzzle (par défaut 0.55).
  ↳ EndBeforeImpact 0.72 Nombre pour end before impact (par défaut 0.72).
  ↳ SideOffset 0.20 Nombre pour side offset (par défaut 0.20).
  ↳ ArcHeight 0.22 Nombre pour arc height (par défaut 0.22).
  ↳ LookAhead 0.09 Nombre pour look ahead (par défaut 0.09).
SlowMotion table Table d'entrées slow motion. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ TimeScale 0.22 Taux ou multiplicateur pour time scale.
Controls table Table d'entrées controls. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ DisableDuringCamera true Turns off during camera : true = oui, false = non (par défaut true).
  ↳ AllowSkip true Allows skip : true = oui, false = non (par défaut true).
  ↳ SkipControl 0x156F7119 INPUT_FRONTEND_CANCEL / Backspace on the default RedM mapping.
TestCommand table Client-only test command. Aim at a ped and run /jrs_killcam_test.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Name "jrs_killcam_test" Texte affiché au joueur pour name. Modifie-le pour traduire ou renommer.
AllowedWeaponGroups table Firearm groups only. Add/remove groups without changing client/main.lua.
BlockedWeapons table Optional weapon names, for example: 'WEAPON_REPEATER_CARBINE'.
HeadBones table RDR skeleton bone IDs accepted as head hits.
  ↳ 0x796E true SKEL_HEAD
Notes from the README#
text
# jrs_killcam
Standalone client-side cinematic kill camera for RedM. It detects a confirmed
firearm hit, calculates a path from the shooter's hand/muzzle to the impact, and
plays a short local slow-motion camera. Damage, death and server ownership are
not replaced or delayed.
## Installation
1. Copy `jrs_killcam` into the server's resources directory.
2. Add `ensure jrs_killcam` to `server.cfg`.
3. Restart the resource or server.
No framework, inventory, database or server-side dependency is required.
## Default behaviour
- Activates for lethal firearm hits.
- Supports players and human NPCs.
- Runs only on the shooter's client.
- Does not freeze, revive, damage or make either player invincible.
- Restores the gameplay camera and time scale on completion, skip, player
  death, pause, error, resource stop or resource restart.
- Five-second cooldown prevents repeated cameras during rapid combat.
## Test
Aim at a player or human NPC and run:
'''text
/jrs_killcam_test
'''
This tests the camera without damaging the target. The test command can be
disabled in `config.lua` after setup.
For the real trigger, kill a supported target with a revolver, pistol, repeater,
rifle, sniper rifle or shotgun from at least the configured minimum distance.
## Important configuration
- `Config.Trigger.FatalHitsOnly`: use only lethal hits.
- `Config.Trigger.HeadshotsAlways`: allow non-lethal headshots too.
- `Config.Trigger.ChancePercent`: frequency from 0 to 100.
- `Config.Trigger.MinimumDistance`: prevents awkward point-blank cameras.
- `Config.SlowMotion.TimeScale`: local visual time scale.
- `Config.Camera`: travel time, FOV and offsets.
- `Config.Targets`: players, human NPCs and animals.
- `Config.BlockedWeapons`: weapon names that must never trigger the camera.
## Exports
'''lua
local started = exports.jrs_killcam:Play(targetPed, impactCoords)
local active = exports.jrs_killcam:IsActive()
'''
`impactCoords` may be omitted. `Play` intentionally bypasses the normal kill,
distance and cooldown checks so another trusted client resource can request a
cinematic directly.
## Technical note

Paid (server only)   jrs_license_book

Official Citizen License Binder & Registry - JRS_STORE Unified Theme

Resource jrs_license_book
Folder [INTERFACE]
Version 1.3.0
Author JRS TEAM
Depends on jrs_core, jrs_inventory, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 1,475 Lua lines

Exports

GetStoredLicenses, GiveBinder, HasLicense, OpenBinder, PlayerHasBinder

Database tables

jrs_license_binder, jrs_license_binder_issued

config.lua - 32 options#

General

Setting Default What it does
Locale "ar" اللغات المدعومة: 'ar' أو 'en'
Item "license_binder" اسم الآيتم في الحقيبة
AltItem "license_book" اسم بديل إضافي إن وجد
ItemLabel "دفتر الرخص" بيانات إنشاء الآيتم التلقائي في قاعدة البيانات (jrs_items)
ItemLabelEn "License Binder" Objets d'inventaire utilisés par item label en. Les noms doivent exister dans la table jrs_items.
ItemDescription 'دفتر جلدي رسمي لحفظ وتنظيم ... Objets d'inventaire utilisés par item description. Les noms doivent exister dans la table jrs_items.
ItemDescriptionEn 'An official leather binder ... Objets d'inventaire utilisés par item description en. Les noms doivent exister dans la table jrs_items.
ItemWeight 0.20 Limite maximale pour item weight.
ItemCategory "documents" Objets d'inventaire utilisés par item category. Les noms doivent exister dans la table jrs_items.
Command "licenses" الأوامر لفتح الدفتر (بالإضافة لاستخدامه كـ Item من الحقيبة)
CommandAliases table Table d'entrées command aliases. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
RequireItem true هل يلزم وجود دفتر الرخص في الحقيبة لفتح القائمة؟
ShowDistance 3.5 المسافة القصوى بالأمتار لإظهار الرخصة أو الصك لشخص قريب
AutoCloseSharedSeconds 16 مدة إغلاق عرض الرخصة التلقائي عند الشخص المستقبل (بالثواني)
AutoInstallDatabase true التثبيت التلقائي لجدول قاعدة البيانات والآيتم
AutoRegisterItem true Automatically handles register item : true = oui, false = non (par défaut true).
UseAnimation true رسائل التنبيه والأنيميشن
AnimDict nil Réglages d'animation pour anim dict.
Scenario "WORLD_HUMAN_WRITE_NOTEBOOK" أنيميشن دفتر الملاحظات الواقعي في RDR2
  ↳ Weaponlicence table 1. رخص الأسلحة والهوية
  ↳ idcard table Table d'entrées idcard. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ fakeid table Table d'entrées fakeid. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ house_deed table 2. صكوك المنازل والعقارات
  ↳ property_deed table Table d'entrées property deed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ guarma_voucher table Table d'entrées guarma voucher. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ voucher_flame_shoes table Table d'entrées voucher flame shoes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ jrs_store_deed table 3. صكوك المتاجر والشراء التجاري
  ↳ jrs_store_title table Texte affiché au joueur pour jrs store title. Modifie-le pour traduire ou renommer.
  ↳ saloon_deed table Table d'entrées saloon deed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ generalstore_deed table Table d'entrées generalstore deed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ gunstore_deed table Table d'entrées gunstore deed. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ truckr table Table d'entrées truckr. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

Paid (server only)   jrs_mapcolor

jrs core Map Color - synchronized admin-controlled map region colors

Resource jrs_mapcolor
Folder [INTERFACE]
Version 2.4.1
Author jrs team
Depends on jrs_core
Interface Yes (NUI)
Languages ar, en
Code size 1,578 Lua lines

Exports

GetAvailableStyles, GetRegionColor, GetState, IsAdmin, OpenAdminMenu, SetRegionColor

Database tables

IF, jrs_mapcolor

config/config.lua - 17 options#

General

Setting Default What it does
Debug false Debug output for debug : true = oui, false = non (par défaut false).
REDEMPIRE table Table d'entrées redempire. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ CoreResource "jrs_core" Réglage pour core resource.
  ↳ MysqlResource "oxmysql" Réglage pour mysql resource.
GlobalEnabled true The server is authoritative. Players cannot toggle map colors locally. GlobalEnabled is true so Government/Admin can color specific zones, while all regions default to false (white map base).
Persistence table Persist admin changes in database (oxmysql) and local file backup.
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ type "database" Réglage pour type.
  ↳ table "jrs_mapcolor" Réglage pour table.
  ↳ file "mapcolor_state.json" Réglage pour file.
Admin table Qui est autorisé : métiers, groupes ou permissions pour admin.
  ↳ command "mapcoloradmin" Réglage pour command.
  ↳ allowedGroups table REDEMPIRE groups allowed to use the menu.
  ↳ acePermission nil Optional ACE permission in addition to REDEMPIRE groups. Set nil to use REDEMPIRE groups only.
  ↳ identifiers table Optional identifiers that can always use the menu. Example: 'license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
AvailableStyles table Styles exposed in the admin UI. These are region/blip styles used by the RDR2 map-region native.
Regions table Stable IDs are used by the UI and persisted state.
Notes from the README#
text
# jrs_mapcolor
Server-synchronized RedM map region color controller with a dedicated admin NUI.
## Features
- Admin-only map color control menu.
- Enable/disable the complete map-color system for all players.
- Enable/disable individual regions for all players.
- Change each region to one of the configured available styles/colors.
- Changes synchronize instantly to connected players.
- New players receive the current server state automatically.
- Admin changes are persisted in `mapcolor_state.json` by default.
- No player-side E toggle and no public `/mapcolor` toggle.
- Server validates every admin action; NUI events cannot bypass permissions.
## Install
Add to `server.cfg`:
'''cfg
ensure jrs_mapcolor
'''
By default the menu reads the player group directly from `jrs_core` and allows:
- `admin`
- `superadmin`
- `owner`
Change them in `Config.Admin.allowedGroups`. No extra ACE setup is required for the default REDEMPIRE configuration.
ACE can still be enabled as an additional permission method by setting `Config.Admin.acePermission`, and exact identifiers can be whitelisted in `Config.Admin.i
## Admin menu
'''text
/mapcoloradmin
'''
The command only opens when the server confirms the player has permission.
## Configuration
- `Config.GlobalEnabled`: default global state.
- `Config.Persistence.enabled`: save admin changes across restarts.
- `Config.Admin.command`: admin menu command.
- `Config.Admin.allowedGroups`: REDEMPIRE groups allowed to use the menu.
- `Config.Admin.acePermission`: optional extra ACE permission.
- `Config.AvailableStyles`: colors/styles exposed to admins.
- `Config.Regions`: configured map regions and defaults.
## Persistent state
When an admin makes a change, `mapcolor_state.json` is generated inside the resource. Delete that file or press **Defaults** in the admin menu to return to valu
## Region Coverage
The admin menu includes 74 named map hashes grouped as States, Mexico / Nuevo Paraiso, Districts, Town & Local Regions, Town & Property Outlines, and Bounty & L
## Mexico / Nuevo Paraiso
A dedicated menu section exposes the native Mexico map regions:
- Nuevo Paraiso (`0x33F2D34F`)
- Diez Coronas (`0x8966022D`)
- Perdido (`0x27253ED3`)

Free (included in JRS Core)   jrs_metabolism

JRS Core Metabolism - BCC-style local mount horse HUD with robust jrs_stable lifecycle bridge and native core/live-meter sync

Resource jrs_metabolism
Folder [INTERFACE]
Version 1.50.5
Author jrs team
Depends on jrs_character, jrs_core, jrs_inventory
Interface Yes (NUI)
Languages ar, en
Code size 19,429 Lua lines

Commands

  • /eagleeye
  • /eagleeye_select
  • /edithud
  • /ee
  • /gotobath
  • /hudhide
  • /hudreload
  • /metahud
  • /pee
  • /setdirt
  • /setpee
  • /testcaneat
  • /urinate

Exports

AddPlayerDirtLevel, ClearPlayerDirtAfterBath, ClearPlayerDirtLevel, ClearStableHorse, CloseInv, GetArmourHud, GetDirtLevel, GetFixedDirtLevel, GetPvpState, GetStableHorse, GetStableHorseCondition, GetUrineLevel, IsCharacterTransitionActive, IsDirtSystemLoaded, Relieve, SetArmourHud, SetCharacterTransition, SetLastDirtyState, SetPlayerDirtLevel, SetPlayerUrineLevel, SetStableHorse, SyncPvpState, UpdatePlayerDirtLevel, addHunger, addMetabolism, addStress, addThirst, changeValue, getAlcohol, getDirt

Database tables

jrs_metabolism

config/armour.cfg.lua - 6 options#

General

Setting Default What it does
ArmourHUD table REDEMPIRE Armour HUD integration. This is optional: jrs_metabolism still starts normally when jrs_armour is not installed/running.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ SourceResource "jrs_armour" Réglage pour source resource.
  ↳ DefaultColor "#d7d7d7" Réglage pour default color.
  ↳ ActiveRefreshMs 1000 lightweight fallback sync while armor is equipped
  ↳ IdleRefreshMs 3000 slower check while no armor is equipped
config/main.cfg.lua - 233 options#

General

Setting Default What it does
ArmourHUD Config.ArmourHUD Réglage pour armour hud.
DevMode true Interrupteur pour dev mode : true = activé, false = désactivé (par défaut true).
Debug false Debug output for debug : true = oui, false = non (par défaut false).
HideNativeAmmo true true: hide RedM's original ammo numbers (the custom weapon HUD remains visible). false: keep RedM's original ammo display.
LowAmmoThreshold 5 Turn the loaded-ammo number red at this amount or lower.
HudAutoHide table Automatically hide every HUD icon while the player is dead or another UI/menu is open.
  ↳ OnDeath true Interrupteur pour on death : true = activé, false = désactivé (par défaut true).
  ↳ OnNuiFocus true inventory and most NUI menus
  ↳ OnStateBagMenu true common inventory/menu state-bag flags
  ↳ OnPauseMenu true Interrupteur pour on pause menu : true = activé, false = désactivé (par défaut true).
  ↳ OnMap true Interrupteur pour on map : true = activé, false = désactivé (par défaut true).
  ↳ OnCinematic true Interrupteur pour on cinematic : true = activé, false = désactivé (par défaut true).
  ↳ OnScreenFade true Interrupteur pour on screen fade : true = activé, false = désactivé (par défaut true).
  ↳ CheckInterval 150 Réglage de durée pour check interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
Performance table Table d'entrées performance. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ CompassInterval 75 Réglage de durée pour compass interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ VoiceInterval 100 Réglage de durée pour voice interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ AdminMuteFallback 2000 Qui est autorisé : métiers, groupes ou permissions pour admin mute fallback.
  ↳ NearbyPlayersInterval 2000 Réglage de durée pour nearby players interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ TelegramInterval 5000 Réglage de durée pour telegram interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ HouseRefreshInterval 60000 Réglage de durée pour house refresh interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ TemperatureInterval 2000 Réglage de durée pour temperature interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ StressShotInterval 150 Réglage de durée pour stress shot interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ StressShotCooldown 2500 Réglage de durée pour stress shot cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ PoisonIdleInterval 1000 Réglage de durée pour poison idle interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ PoisonRunCheck 500 Nombre pour poison run check (par défaut 500).
  ↳ WeaponInterval 300 Réglage de durée pour weapon interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
HorseHud table JRS metabolism remains the owner of the HUD. When jrs_stable is running, its active horse can be used as the horse source; native mount detection remains the safe fallback.
  ↳ ShowStatNumbers true true = show the stable horse level (1..100); trainer rank 1..4 is the fallback
  ↳ MountedInterval 250 live refresh while mounted
  ↳ UnmountedInterval 900 Réglage de durée pour unmounted interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ NotReadyInterval 1500 Réglage de durée pour not ready interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ UseStableIntegration true Active ou désactive stable integration (par défaut true).
  ↳ StableResource "jrs_stable" Réglage pour stable resource.
  ↳ StableMaxDistance 80.0 Distance en unités de jeu pour stable max distance.
  ↳ ShowStableHorseWhenUnmounted false Shows stable horse when unmounted : true = oui, false = non (par défaut false).

2026-09-07: turned OFF by request - the horse HUD goes back to the

Setting Default What it does
  ↳ ShowHorseCondition false and persists horse hunger/thirst exactly as before; this only stops the two extra HUD cores from being drawn. Set back to true to show them again, no other change needed.
  ↳ ConditionInterval 1500 how often the condition state bag is read
DirtSystem table Integrated dirt system (merged from tp_dirtsystem). Dirt is stored inside jrs_metabolism meta, so no extra SQL column is required.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ MaxLevel 10000 Limite maximale pour max level.
  ↳ DirtyThreshold 6000 Nombre pour dirty threshold (par défaut 6000).
  ↳ TickInterval 1000 Réglage de durée pour tick interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ ServerSyncInterval 60000 Réglage de durée pour server sync interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ ParticleRenderingDistance 15.0 Distance en unités de jeu pour particle rendering distance.
  ↳ ParticleRefreshInterval 5000 Réglage de durée pour particle refresh interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ FliesEnabled false In RDO living players do not have cartoon flies swarming them
  ↳ Temperature table Table d'entrées temperature. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ PlayerActions table Red Dead Online physical dirt mechanics
  ↳ WaterWash table Red Dead Online natural water wash (rivers, lakes, creeks, swimming)
  ↳ RainWash table Red Dead Online natural rain wash
  ↳ Notifications table Table d'entrées notifications. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
DrugEffect true Interrupteur pour drug effect : true = activé, false = désactivé (par défaut true).
Start_stress true Interrupteur pour start stress : true = activé, false = désactivé (par défaut true).
StressGainPerShot 2 Nombre pour stress gain per shot (par défaut 2).
DrugEffectTime 60000 drug effect time
InitialValues table Table d'entrées initial values. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Thirst 100 Max 100.
  ↳ Hunger 100 Max 100.
RealisticSprintStaminaDescrease true The following is a realistic sprinting stamina decrease system, if you don't like it, set it to false.
SprintStaminaDrain table for a moment, stamina bottoms out, sprint is cut, and it reads as "running is slow". Amount/IntervalMs are now yours to set, and Enabled = false removes the drain entirely while keeping the rest of the sprint handling.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Amount 0.05 per tick (balanced drain rate while sprinting)
  ↳ IntervalMs 100 how often it is applied
AimStaminaFreeze table Aiming / scope zoom no longer burns stamina (native breath-hold). Enabled = false restores the vanilla drain.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
ServerGuard table thirst up, stress/alcohol/poison/dirt down) are capped per player per rolling minute; anything above is clamped and the client is resynced. Server exports (exports.jrs_metabolism:addHunger etc.) are not limited.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ LogBlocked true Logs blocked : true = oui, false = non (par défaut true).
  ↳ MaxGainPerMinute table Limite maximale pour max gain per minute.
DisablePlayerRunWhileDrunk true Set it to false if you wan't the players to be able to run while drunk.
AlcoholConsiderDrunk 50 The value when a player reaches while drinking to consider as being drunk.
AlcoholConsiderVeryDrunk 80 Nombre pour alcohol consider very drunk (par défaut 80).
AlcoholRemoveByTime 3 Time in seconds.
AlcoholRemoveByTimeValue 1 The alcohol value to be removed based on @AlcoholRemoveByTime (MAX ALCOHOL == 100)
HungerStripeValue 0 When hunger reaches 0, player slowly loses health from starvation.
ThirstStripeValue 0 When thirst reaches 0, player slowly loses health from dehydration.
HealthDamageValue 1 Nombre pour health damage value (par défaut 1).
StarvationMinHealthPercent 0.25 RDR2: empty cores never kill you - the outer bar just stops refilling. Our improvement keeps a slow starvation/dehydration bleed, but it stops at this share of max health instead of killing (0 = old lethal behaviour).
TimeRateRepeat 5 Time in seconds.
HungerDrainIdle 0.05 Standing / resting / riding: ~2h47 real (halved 10-04, players: too fast).
HungerDrainWalking 0.06 Walking: ~2h19 real.
HungerDrainRunning 0.08 Running / sprinting: ~1h44 real.
ThirstDrainIdle 0.05 Standing / resting / riding: ~2h47 real.
ThirstDrainWalking 0.08 Walking: ~1h44 real.
ThirstDrainRunning 0.15 Running / sprinting: ~56 real minutes.
SwimDrainThirst 0.08 Extra per tick while swimming (stamina core).
SwimDrainHunger 0.015 Nombre pour swim drain hunger (par défaut 0.015).
RDOCores table Red Dead Online Core System Parity
  ↳ SyncNativeCores true Sync Hunger -> ATTRIBUTE_CORE_HEALTH (0), Thirst -> ATTRIBUTE_CORE_STAMINA (1)
  ↳ HealthRegenEnabled true Health auto-recharges when well-fed (stops completely when Hunger = 0)
  ↳ HealthRegenCombatCooldownMs 6000 Cooldown in milliseconds after taking damage before health recharges
  ↳ StaminaRegenScaleWithThirst true Stamina recharges fast when hydrated, slow (0.35x) when dehydrated
  ↳ StarvationPulseEffect true Pulsing heartbeat vignette & audio when starving (hunger = 0)
  ↳ DehydrationFatigueEffect true Panting audio and fatigue camera vibration when running while dehydrated
  ↳ WeightSystemEnabled true RDO Weight system (Underweight, Average, Overweight damage & stamina scaling)
MinTemperature -4 If the player temperature is that low, it will start doing damage to your health.
MinTemperatureDamage 1 Set to false if you don't want to damage the player.
MinTemperatureDrainThirst 0 Set to 0 if you don't want to drain thirst in freezing cold.
MinTemperatureDrainHunger 0.04 Body burns extra calories (hunger) in freezing cold to stay warm (RDO parity).
MaxTemperature 42 If the player temperature is that high, it will start draining more water and hunger. (42°C As default)
MaxTemperatureDrainThirst 0.05 Perspiration in extreme desert/heat drains hydration faster (RDO parity).
MaxTemperatureDrainHunger 0.01 Slight extra fatigue in extreme heat.
ClothingExtraTemperature true Do not modify the hashes without knowledge.
ClothingListHashes table Table d'entrées clothing list hashes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ hat table Table d'entrées hat. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ gloves table Table d'entrées gloves. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ shirt table Table d'entrées shirt. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ pants table Table d'entrées pants. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ boots table Table d'entrées boots. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ vest table Table d'entrées vest. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ coats table Table d'entrées coats. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ closed_coats table Table d'entrées closed coats. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ ponchos_1 table Table d'entrées ponchos 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ ponchos_2 table Table d'entrées ponchos 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
DrinkCupAnimDuration 60000 Determines how long the user will hold the coffee before throwing it away.
DrinkBottleAnimDuration 60000 Determines how long the user will hold a bottle before throwing it away.
EatBowlAnimDuration 60000 Determines how long the user will hold the bowl or plate before throwing it away.
Notifications table Table d'entrées notifications. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ NotificationWarningDelay 2 If the player is feeling hungry, thirsty or stressed, it will display him a message very X minutes as a warning.
  ↳ Hunger table Table d'entrées hunger. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Thirst table Table d'entrées thirst. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Stress table Table d'entrées stress. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Temperature table Temperature Notification Values are equal to the configuration options above (MinTemperature & MaxTemperature).
  ↳ Alcohol table Fires once the player crosses Config.AlcoholConsiderDrunk (below).
SaltyChat true Interrupteur pour salty chat : true = activé, false = désactivé (par défaut true).
DefaultMicRange 1 max 4
VoiceKey 0x4BC9DABB Push-to-talk (N). Uses the logical RedM control, so rebinding the key still works.
VoicePressingDelay 500 Réglage de durée pour voice pressing delay. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
UpdateHUDDelay 200 Live updates for metabolism HUD cores without delay.
TemperatureColors table You can use rgb, rgba & hashes.
  ↳ Default "rgba(0, 0, 0, 0.623)" Réglage pour default.
  ↳ Cold table Table d'entrées cold. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Hot table Table d'entrées hot. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Population table This counts streamed/active players around the local JRS character, not the total server slot count. Values mirror the JRS HUD reference supplied with this resource migration.
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ detectDistance 50.0 Distance en unités de jeu pour detect distance.
  ↳ thresholds table Table d'entrées thresholds. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
ChangingRangeData table Distance en unités de jeu pour changing range data.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ MarkerDisplayMs 1500 How long the voice-range ring stays on the ground after the range changes. 5000ms read as "stuck" in game, the ring outlived the change it announced.
  ↳ RGBA table Fallback, used only if a range below has no colour of its own.
  ↳ RangeColors table The ring on the ground now reads as the voice range itself, instead of being the same green at every distance. Indexes match pma-voice's voiceModes order: 1 whisper, 2 normal, 3 loud, 4 shouting.
  ↳ Alpha 60 Ring opacity (0-255).
Snakes table Table d'entrées snakes. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
Prop table Modèle ou entité du jeu utilisé pour prop.

This file is a shared_script, so SendNotification runs on both sides -

Setting Default What it does
shake table Table d'entrées shake. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 2 table Table d'entrées 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 3 table Table d'entrées 3. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 4 table Table d'entrées 4. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ 5 table Table d'entrées 5. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

stress < RunOnlyStress -> full sprint

Setting Default What it does
1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ min 30 Minimum ou niveau requis pour min.
  ↳ max 60 Limite maximale pour max.
  ↳ timeout math.random(30000, 40000) Réglage de durée pour timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
2 table Table d'entrées 2. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ min 60 Minimum ou niveau requis pour min.
  ↳ max 70 Limite maximale pour max.
  ↳ timeout math.random(20000, 30000) Réglage de durée pour timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
3 table Table d'entrées 3. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ min 70 Minimum ou niveau requis pour min.
  ↳ max 80 Limite maximale pour max.
  ↳ timeout math.random(10000, 20000) Réglage de durée pour timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
4 table Table d'entrées 4. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ min 80 Minimum ou niveau requis pour min.
  ↳ max 90 Limite maximale pour max.
  ↳ timeout math.random(5000, 10000) Réglage de durée pour timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
5 table Table d'entrées 5. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ min 90 Minimum ou niveau requis pour min.
  ↳ max 100 Limite maximale pour max.
  ↳ timeout math.random(9000, 15000) Réglage de durée pour timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.

How often metabolism values are written to the database. The defaults

Setting Default What it does
SaveInterval 120000 background flush, 2 minutes
MinSaveInterval 30000 never save the same player more often than this
ForceSaveOnDisconnect true always flush when a player leaves

What happens to the meters when a player goes down. Reset values are only

Setting Default What it does
ResetHunger false Interrupteur pour reset hunger : true = activé, false = désactivé (par défaut false).
ResetThirst false Interrupteur pour reset thirst : true = activé, false = désactivé (par défaut false).
ResetStress true Interrupteur pour reset stress : true = activé, false = désactivé (par défaut true).
ResetDirt false Interrupteur pour reset dirt : true = activé, false = désactivé (par défaut false).
HungerOnRespawn 50 Réglage de durée pour hunger on respawn. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
ThirstOnRespawn 50 Réglage de durée pour thirst on respawn. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.

Rename any of these to avoid clashing with another resource. An empty

Setting Default What it does
HudEditor "hudsettings" open the HUD layout editor
SprintCheck "sprintcheck" report everything currently blocking sprint
SprintFix "sprintfix" emergency release of movement restrictions
HudExport "hudexport" admin: dump the current layout as config Lua

Set enabled = false if jrs_core is not on this server: the button then never

Setting Default What it does
enabled true Active ou désactive enabled (par défaut true).
resource "jrs_core" Réglage pour resource.
event "jrs_core:hud:openEditor" Réglage pour event.
label "Core HUD" Texte affiché au joueur pour label. Modifie-le pour traduire ou renommer.
hint 'Saves these settings, close... Réglage pour hint.

RDR2-style tracking vision: hold/toggle to desaturate the screen and

Setting Default What it does
Enabled true Active ou désactive enabled (par défaut true).
ToggleControl 0 toggle) is gated to its own menu/vehicle context, so a plain on-foot toggle here does not fight any of them for the same keypress. Disabled: Z no longer toggles Eagle Eye (default = scroll-wheel click below).
SecondaryControls table Additional single controls that toggle Eagle Eye (Middle Mouse Click / Caps Lock / INPUT_SPECIAL_ABILITY).
DrainPerSecond 6.0 lost per second while active
RegenPerSecond 10.0 regained per second while off
MinToActivate 5 can't turn back on below this
HighlightRadius 60.0 How far around the player Eagle Eye reaches - both for this resource's own built-in corpse highlight, and as the radius handed to every jrs_metabolism:eagleEye:tick listener.
TickInterval 350 ms between highlight/broadcast passes
MaxMarkers 60 cap on highlight markers drawn per frame (performance)
DrawMarkers false Set to false so 3D yellow box markers do NOT appear over animals or connected scripts
LevelScaling table Level-scaling: higher level characters gain longer duration, faster recharge, and larger radius.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ MaxLevel 100 Limite maximale pour max level.
  ↳ MaxDrainReduction 0.60 Up to 60% slower drain at max level (lasts 2.5x longer)
  ↳ MaxRegenBonus 1.00 Up to +100% faster refill at max level (fills twice as fast)
  ↳ MaxRadiusBonus 30.0 Up to +30 meters radius at max level (reaches up to 90m)
  ↳ AwardXP true Grants character XP while actively using Eagle Eye
  ↳ XPAmount 5 XP granted per interval
  ↳ XPIntervalSeconds 15 Seconds of active vision per XP tick
  ↳ MaxXPAwardsPerHour 40 Server cap: at most this many XP ticks per player per hour
SelectableScripts table Selectable scripts and targets that can be toggled via command /ee [name] or /eagleeye_select
  ↳ herbs table Table d'entrées herbs. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ hunting table Table d'entrées hunting. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ mining table Table d'entrées mining. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ farming table Table d'entrées farming. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ lumberjack table Table d'entrées lumberjack. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ corpses table Table d'entrées corpses. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ persons table Table d'entrées persons. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ players table Table d'entrées players. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ animals table Modèle ou entité du jeu utilisé pour animals.
  ↳ vehicles table Table d'entrées vehicles. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
CorpseOutlineColor table Nearby dead bodies, kills, downed game
PersonOutlineColor table Living NPCs / persons
PlayerOutlineColor table Other players
AnimalOutlineColor table Living wild/domestic animals
VehicleOutlineColor table Mounts, horses, wagons
ScreenTint table nothing at all. DrawRect is proven elsewhere in this codebase (jrs_camera, jrs_pets/target_hud, jrs_casino) so this always shows something even if the optional extras below are left blank.
PostFx "EagleEye" Optional extra polish: AnimpostfxPlay('EagleEye') is the authentic RDR2 vision effect.
TimecycleModifier "" Réglage pour timecycle modifier.
TimecycleStrength 1.0 Nombre pour timecycle strength (par défaut 1.0).
BlockWhileSwimming true The ability refuses to (re)activate, and force-deactivates if already on, while any of these are true.
BlockWhileRagdoll true Interrupteur pour block while ragdoll : true = activé, false = désactivé (par défaut true).
BlockWhileAiming true Interrupteur pour block while aiming : true = activé, false = désactivé (par défaut true).
config/smoking.cfg.lua - 1 options#

Scope of this pass: the 15 "hand to mouth" smoking items (cigars, pipes,

Setting Default What it does
Smoking table Table d'entrées smoking. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
config/urine.cfg.lua - 22 options#

General

Setting Default What it does
Urine table Lightweight bladder system. Set Enabled to false to disable it completely. There is no health damage; the only gameplay effect is an optional, very small movement penalty at the critical stage.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Initial 0 Nombre pour initial (par défaut 0).
  ↳ Prompt table Only shown standing at a bathhouse door (asked from jrs_bathing through exports.jrs_bathing:GetClosestConsumer(); falls back to TownRestriction.Bathhouses within Radius when jrs_bathing is stopped).
  ↳ PeeDuration 5500 Réglage de durée pour pee duration. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ WarningAt 85 Nombre pour warning at (par défaut 85).
  ↳ CriticalAt 95 Nombre pour critical at (par défaut 95).
  ↳ NoticeCooldownMs 120000 Réglage de durée pour notice cooldown ms. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ CriticalMovementEnabled true Interrupteur pour critical movement enabled : true = activé, false = désactivé (par défaut true).
  ↳ CriticalMoveRate 0.95 Taux ou multiplicateur pour critical move rate.
  ↳ Drain table { level added, interval in milliseconds }
  ↳ BlockOnMount true Interrupteur pour block on mount : true = activé, false = désactivé (par défaut true).
  ↳ BlockInVehicle true Interrupteur pour block in vehicle : true = activé, false = désactivé (par défaut true).
  ↳ BlockWhileArmed true Interrupteur pour block while armed : true = activé, false = désactivé (par défaut true).
  ↳ MaleScenario "WORLD_HUMAN_PEE" Men use the native standing scenario. Women use a female crouching animation; set Enabled to false below to use the standing scenario for everyone instead, or replace Dict/Name with another tested female anim.
  ↳ FemaleAnimation table Réglages d'animation pour female animation.
  ↳ Messages table Texte affiché au joueur pour messages. Modifie-le pour traduire ou renommer.
  ↳ SafezoneRestriction table Safe Zone restriction: In unsafe areas, peeing is allowed anywhere via command. In safe areas (towns / safe zones), peeing is only permitted via bathrooms.
  ↳ OuthouseModels table World Outhouse / Restroom prop models detected dynamically (including player home toilets)
  ↳ OuthouseRadius 1.8 Distance en unités de jeu pour outhouse radius.
  ↳ AdditionalBathrooms table Additional public toilets / outhouse locations across safezones and towns

Each entry is { centre, radius }. The radius covers the populated area

Setting Default What it does
  ↳ TownRestriction table generously - players just outside town limits can still use /pee freely.
config/water.cfg.lua - 16 options#

General

Setting Default What it does
WaterActions table Table d'entrées water actions. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ GroupTitle "River" Title displayed above the prompt group
  ↳ GroupTitleLocale "metabolism_water_prompt_title" Langue de l’interface de ce script (en ou ar).
  ↳ RequireRightClick true Right-click requirement: prompts only appear when holding or pressing right-click near water
  ↳ RightClickGraceMs 3500 Nombre pour right click grace ms (par défaut 3500).
  ↳ DetectShoreline true Detect river/lake when standing on the shore/bank facing water as well as standing in water
  ↳ Prompts table Locale is preferred over Label when the key resolves; Label is the fallback so an unlocalised prompt still reads correctly.
  ↳ AddDrinkThirstValue 30 Thirst restored after drinking directly from a supported water source.
  ↳ ChanceToBeDamaged table Chance for unsafe natural water to damage the player (disabled for Red Dead Online style).
  ↳ ToggleRiverActions table Table d'entrées toggle river actions. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Dirt table Uses the DirtSystem already integrated into jrs_metabolism.
  ↳ WaterTypes table Table d'entrées water types. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

To map the sea properly: stand in it, run /watertype, and add the hash

Setting Default What it does
  ↳ UnmappedWater table it prints to WaterTypes as "sea". Once every body is mapped, this can be turned off for strict matching.
  ↳ Bottle table server (server/server_water.lua): the empty bottle is taken and the full one granted as one step, and the empty one is put back if the grant fails, so a failed fill can never eat the bottle.
  ↳ DebugCommand "watertype" Prints the water-type hash the player is standing in, for filling in WaterTypes above. Admin-facing, harmless, client-side only.

Paid (server only)   jrs_microphone

jrs core Realistic Microphone and Megaphone

Resource jrs_microphone
Folder [INTERFACE]
Version 1.0.1
Author jrs team
Depends on PolyZone, jrs_core, jrs_inventory, pma-voice
Interface No
Languages ar, en
Code size 1,161 Lua lines

Commands

  • /micprop
  • /micpropadd
config/config.lua - 33 options#

General

Setting Default What it does
Debug false Debug output for debug : true = oui, false = non (par défaut false).
ShowZone false Shows zone : true = oui, false = non (par défaut false).
MegaphoneItem "megaphone" Usable inventory item.
MegaphoneRange 50.0 Distance en unités de jeu pour megaphone range.
AudioEffect table Requires in server.cfg: setr voice_useNativeAudio true setr voice_enableSubmix 1
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ submixName "jrs_amplified_voice" Texte affiché au joueur pour submix name. Modifie-le pour traduire ou renommer.
  ↳ effectSlot 0 Nombre pour effect slot (par défaut 0).
  ↳ outputSlot 0 Nombre pour output slot (par défaut 0).
  ↳ lowFrequency 320.0 Megaphone / PA-style band pass. Raise lowFrequency and lower highFrequency for a harsher, older loudspeaker sound.
  ↳ highFrequency 4800.0 Nombre pour high frequency (par défaut 4800.0).
  ↳ ringModMix 0.08 Nombre pour ring mod mix (par défaut 0.08).
  ↳ fudge 0.0 Nombre pour fudge (par défaut 0.0).
StageMicrophoneControl 0xCEFD9220 Fixed microphone interaction. INPUT_CONTEXT / E on RedM.
StageMicrophoneRange 50.0 Distance en unités de jeu pour stage microphone range.
EnableMegaphoneProp true Handheld megaphone prop and animation. Bone offsets may need small adjustments for custom character models or clothing.
MegaphoneProp "p_cs_megaphone01x" Modèle ou entité du jeu utilisé pour megaphone prop.
MegaphoneBoneName "SKEL_R_HAND" Texte affiché au joueur pour megaphone bone name. Modifie-le pour traduire ou renommer.
MegaphoneFallbackBone 1852930 Used only if the named bone cannot be resolved on a custom ped model.
MegaphoneOffset vector3(0.090, 0.015, -0.035... Attach to the main right-hand bone. The p_cs_megaphone01x model behaves more reliably on the hand bone than on the finger chain.
MegaphoneRotation vector3(-88.0, 18.0, -108.0) Réglage pour megaphone rotation.
EnableMegaphonePropCalibration true Development helper. Use /micprop with six values while holding the item: /micprop x y z rotX rotY rotZ Example: /micprop 0.090 0.015 -0.035 -88.0 18.0 -108.0
MegaphoneAnimation table Réglages d'animation pour megaphone animation.
  ↳ enabled true Active ou désactive enabled (par défaut true).
  ↳ dict "amb_rest@world_human_smokin... Réglages d'animation pour dict.
  ↳ name "wip_base" Texte affiché au joueur pour name. Modifie-le pour traduire ou renommer.
  ↳ flag 31 Nombre pour flag (par défaut 31).
  ↳ blendInSpeed 1.0 Nombre pour blend in speed (par défaut 1.0).
  ↳ blendOutSpeed -1.0 Nombre pour blend out speed (par défaut -1.0).
  ↳ playbackRate 0.0 Taux ou multiplicateur pour playback rate.
MicrophoneProp "p_phonograph01x" Static microphone prop used by configured microphone zones.
PropSpawnDistance 150.0 Distance en unités de jeu pour prop spawn distance.
MicrophoneZones table Table d'entrées microphone zones. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.

Paid (server only)   jrs_minigames

Resource jrs_minigames
Folder [INTERFACE]
Version 2.0.0-unified-minigames
Author jrs team
Interface Yes (NUI)
Languages ar, en
Code size 558 lignes Lua

Exports

CancelSafeCrackingMiniGame, IsSafeCrackingActive, StartSafeCrackingMiniGame, initiate, jrs_lockpick, jrs_lockpick_secure, lockpick

config/safecracking.lua - 9 options#

General

Setting Default What it does
CoreResource "jrs_core" REDEMPIRE
RequireCharacterReady true Requires character ready : true = oui, false = non (par défaut true).
CharacterReadyTimeout 15000 Réglage de durée pour character ready timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
MinTumblers 1 Minigame limits
MaxTumblers 20 Limite maximale pour max tumblers.
ConfirmPrompt "Confirm" UI prompts
RotatePrompt "Rotate" Texte affiché au joueur pour rotate prompt. Modifie-le pour traduire ou renommer.
CancelPrompt "Cancel" Texte affiché au joueur pour cancel prompt. Modifie-le pour traduire ou renommer.
FreezePlayer false Player handling while the minigame is open.

Paid (server only)   jrs_orcabridge

Sends online player snapshots to the sector Discord bot

Resource jrs_orcabridge
Folder [INTERFACE]
Version 1.0.0
Interface No
Code size 336 lignes Lua

Database tables

jrs_orcabridge_links

Paid (server only)   jrs_pausemenu

REDEMPIRE base menu: sidebar dashboard over jrs_core, with the Store Money shop, dual-track Battle Pass, dual-track loot crates, daily rewards, server events and town elections

Resource jrs_pausemenu
Folder [INTERFACE]
Version 6.42.5
Author jrs team
Depends on jrs_core, jrs_inventory, oxmysql
Interface Yes (NUI)
Languages ar, en, init
Code size 26,161 Lua lines

Commands

  • /cratepremium
  • /electionsreload
  • /givestoremoney
  • /jrs_givecoins
  • /logout
  • /safeexit
  • /sendpackage

Exports

AddBattlePassLevels, AddBattlePassXp, AddPlaytimeCoins, AddStoreMoney, CanOpen, Close, GetBattlePassSummary, GetCustomerSpending, GetPlayerPauseData, GetStoreMoney, GetWebCatalog, IsCharacterReady, IsOpen, Open, SetBattlePassPremium, SyncCustomerRoles, TakeStoreMoney, Toggle, WebPurchase

Database tables

IF, above, below, jrs_pausemenu_accounts, jrs_pausemenu_admin_log, jrs_pausemenu_battlepass, jrs_pausemenu_battlepass_claims, jrs_pausemenu_cart, jrs_pausemenu_character_height, jrs_pausemenu_crates, jrs_pausemenu_custom_products, jrs_pausemenu_daily_rewards, jrs_pausemenu_discounts, jrs_pausemenu_event_progress, jrs_pausemenu_event_winners, jrs_pausemenu_events, jrs_pausemenu_events_seeded, jrs_pausemenu_migrations, jrs_pausemenu_parcels, jrs_pausemenu_payments

config/avatar.lua - 5 options#

General

Setting Default What it does
Avatar table Table d'entrées avatar. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Provider 'steam_xml' Réglage pour provider.
  ↳ Fallback "default_avatar.jpg" Réglage pour fallback.
  ↳ CacheSeconds 21600 Nombre pour cache seconds (par défaut 21600).
config/basemenu.lua - 18 options#

EVERY TAB HERE IS BACKED BY A REAL SYSTEM.

Setting Default What it does
BaseMenu table Table d'entrées base menu. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ DefaultTab "home" Which tab the menu opens on. Must be one of the tab ids below and must be enabled, or 'home' is used.
  ↳ Keybind table Keyboard shortcut. RegisterKeyMapping publishes it to RedM's own key settings screen, so a player can rebind it there; this is only the default. Set Key = '' to register the command without a default binding.
  ↳ Scales table choice is stored against their character, so it follows them to any machine. The server clamps to this exact list - a value that is not here is rejected.
  ↳ DefaultScale 100 Taux ou multiplicateur pour default scale.
  ↳ Defaults table Defaults for a character that has never opened Settings.
  ↳ RateLimit table Per-player throttles, in milliseconds. These are the floor between two accepted requests of the same kind; anything faster is dropped.

requires names the resource that owns the tab's data. When that

Setting Default What it does
  ↳ Tabs table resource is not started the tab is not sent to the UI at all. Leave it nil for a tab that needs nothing but the core.
  ↳ Integrations table Integrations. Each one is optional: switch it off, or point it at a different resource, and the feature that depends on it disappears from the menu instead of failing when clicked.
  ↳ Levels table no entry here still shows - just under its own raw key - so a new job script never has to wait on a config update to appear. ACTIVITIES & ROLES LEVELS TREE (شجرة المهن والأنشطة العامة)
  ↳ BusinessLevels table BUSINESS & COMMERCIAL ENTERPRISES TREE (شجرة الأعمال والاستثمار)
  ↳ RanchLabels table instance id once a second owner takes the same location) rather than a label. Mirrors the comments in config/store/ranches.lua - if a location is renamed there, mirror it here too.
  ↳ RanchLabels_ar table Table d'entrées ranch labels ar. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Help table HELP tab content. Plain data, shown as written. Anything that names a key here is a real binding registered by this resource or by the RedM client itself.
  ↳ Help_ar table Table d'entrées help ar. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ CommandGroups table on this server (verified against the resources' RegisterCommand calls), so each button runs something real. Group them freely; a button whose command is removed later just does nothing until it is edited here.
  ↳ AdminCommands table Qui est autorisé : métiers, groupes ou permissions pour admin commands.
config/battlepass.lua - 13 options#

General

Setting Default What it does
BattlePass table REDEMPIRE Battle Pass. The 100 standard and 100 premium rewards below preserve the exact item IDs, quantities and reward types supplied by the server owner.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ SeasonId "pc_season_01" Réglage pour season id.
  ↳ SeasonName "BATTLE PASS" Texte affiché au joueur pour season name. Modifie-le pour traduire ou renommer.
  ↳ MaxLevel 100 Limite maximale pour max level.

OutboundShare scales what the pass writes; 1.0 means "all of it".

Setting Default What it does
  ↳ CoreLink table Enabled = false stops the pass awarding core XP at all - the level still tracks the core, it just stops contributing to it.
  ↳ Table "jrs_pausemenu_battlepass" Réglage pour table.
  ↳ SaveInterval 60000 Réglage de durée pour save interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ ClaimCooldown 700 Réglage de durée pour claim cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ Premium table Table d'entrées premium. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ BuyLevel table Minimum ou niveau requis pour buy level.
  ↳ Ui table Table d'entrées ui. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Rewards table Table d'entrées rewards. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
config/battlepass_pool.lua - 5 options#

LOAD ORDER MATTERS. This file must load AFTER battlepass.lua (the source) and

Setting Default What it does
BattlePassPool table Table d'entrées battle pass pool. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Off here and the three pools are exactly what their own files say.

Instead the whole injected block is given a total weight of

Setting Default What it does
  ↳ Share 1.0 Share x (what the pool already totals). At 1.0 a roll is a coin flip between the pool's own rewards and a battle-pass one, whatever pool it is. Set 0.5 for "a third of rolls", 2.0 for "two thirds".
  ↳ RarityWeights table How that block is split between the entries inside it. Relative only - the numbers are shares of the block, not weights in the final pool, so changing Share does not require touching these.
  ↳ Targets table Which systems receive them.
config/client.lua - 12 options#

General

Setting Default What it does
Controls table Table d'entrées controls. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Pause 0xD82E0BD2 P / Controller Start
  ↳ PauseAlternate 0x4A903C11 ESC
PauseMenu table Table d'entrées pause menu. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ ReplaceNativeMenu true Interrupteur pour replace native menu : true = activé, false = désactivé (par défaut true).
  ↳ ToggleCooldown 350 Réglage de durée pour toggle cooldown. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ CloseSuppression 950 Nombre pour close suppression (par défaut 950).
  ↳ DisablePlayerControlWhileOpen true Turns off player control while open : true = oui, false = non (par défaut true).
UiApps table RedM UI applications opened by the Map and Settings cards.
  ↳ Map "map" Réglage pour map.
  ↳ Settings "settings_menu" Réglage pour settings.
  ↳ LaunchTimeout 3000 Réglage de durée pour launch timeout. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
config/crates.lua - 9 options#

WEIGHTS, NOT PERCENTAGES

Setting Default What it does
Crates table Table d'entrées crates. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Table "jrs_pausemenu_crates" Premium ownership and the per-character open counter.
  ↳ SaveInterval 60000 Réglage de durée pour save interval. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
  ↳ ClaimCooldown 900 Floor between two accepted openings from the same player, in ms.
  ↳ RevealMs 2600 How long the reveal reel spins. The result is already decided and already granted before it starts.
  ↳ Premium table PREMIUM. Same shape as Config.BattlePass.Premium: bought once, kept forever, priced in one of the character's real currencies.

Openings are TICKET-ONLY: every crate costs ticketCost x the

Setting Default What it does
  ↳ Payment table STORE tab (config/store/packages.lua, crate_ticket) with a FINITE stock that depletes per sale and auto-restocks - the scarcity is the point. To go back to cash openings: RequireTicket = false.
  ↳ List table The crates, in the order they are shown.
Notes from the README#
text
# REDEMPIRE Pause Menu 6.32.1
## "The server did not answer in time" - the rate limiter was eating the request
Reported against the LEVELS tab, but it could hit any of JOBS / LEVELS / ASSETS
/ EVENTS, and it had nothing to do with the database being slow. Every table
these sections read was checked on the live server: the biggest is
`jrs_properties` at 134 rows, `jrs_job_levels` has two, and each is indexed on
the column it is filtered by. The queries were never the problem.
`allow()` was. When a request arrived inside its rate-limit window the handler
did `return` - **answering nothing at all**. The page cannot tell "refused" from
"still coming", so its only way out was the 10-second timeout in
`requestSection()`, which is the SOMETHING WENT WRONG screen. Two separate
faults stacked up:
1. **One stamp covered every section.** `allow(src, 'Section')` used a single
   timestamp for all of them, so opening JOBS and then LEVELS within a second
   was treated as the same request repeated - when they are two different
   questions with two different answers. Clicking two tabs in a row was enough
   to kill the second one. Sections are now keyed individually
   (`Section:levels`), so a throttle can only ever delay a repeat of the *same*
   tab. `selectProfession` shared that stamp too, so pressing SELECT just after
   the JOBS tab loaded silently did nothing; it has its own key now.
2. **A throttled request was never served.** It is now **deferred** rather than
   dropped: `schedule()` runs the work immediately, or schedules it for the
   moment the window closes. A second request for the same key while one is
   already deferred is dropped - because the deferred one is about to answer it
   too. So a spam loop still cannot make the server build more than one payload
   per window per key, which is the entire point of the limit, and an honest
   click always gets its tab. Verified under a fake clock over five scenarios
   including a 21-request burst, which collapses to exactly one build.
`saveBaseSettings` keeps the old plain `allow()`, because it is the one caller
that already *answers* when it refuses ("Please wait a moment before saving
again"). Deferring a write would mean the next click lands on a form the server
is still storing.
## Two smaller things in the same pass
- **The section timeout is 5s with one silent retry**, not 10s and done. Ten
  seconds of blank panel reads as broken long before the error admits it, and
  with the server now able to defer a reply by up to its window, a first miss is
  far more likely to be timing than failure. The skeleton stays up through the
  retry rather than restarting, and the error only appears if the second attempt
  is ignored too - confirmed it retries exactly once and does not loop.
- **The query watchdog stopped parking a thread for 8 seconds per query.** It
  was one `Wait(8000)` after *every* query, including the ones that answered in
  a millisecond, so opening the menu left a couple of dozen threads sitting in
  the scheduler with nothing to do. It polls now and exits as soon as the query
  has answered.
## sql/jrs_pausemenu.sql is complete again

Paid (server only)   jrs_player_tags

Nearby player names, server IDs, and up to three purchasable tag names per character

Resource jrs_player_tags
Folder [INTERFACE]
Version 3.3.0
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 1,226 Lua lines

Database tables

IF, jrs_player_tags

config/config.lua - 37 options#

General

Setting Default What it does
Enabled true Master switch for the nearby player name / ID overlay.
Command "tag" Open your own tag editor (requires granted access)
ManageCommand "tagmenu" Open the in-game permission manager
ManagementGroups table Only these jrs_core groups can grant/revoke tag access. Tag access itself is granted in-game and saved per character in MySQL.
  ↳ owner true Interrupteur pour owner : true = activé, false = désactivé (par défaut true).
  ↳ admin true Interrupteur pour admin : true = activé, false = désactivé (par défaut true).
AllowSelfEdit true Allows self edit : true = oui, false = non (par défaut true).
HoldControl 0x8AAA0AD4 Nearby player overlay (name + server ID for everyone, optional special tag above it) Uses the key from the former jrs_playernames resource by default.
HoldToShow true Interrupteur pour hold to show : true = activé, false = désactivé (par défaut true).
DrawDistance 30.0 Distance en unités de jeu pour draw distance.
TagDrawDistance 10.0 Distance en unités de jeu pour tag draw distance.
HeightOffset 0.22 Extra clearance above the SKEL_Head bone (not a root offset anymore - client.lua anchors to the actual head bone so this just decides how far the tag floats above the hair).
RefreshRate 50 Taux ou multiplicateur pour refresh rate.
ShowSelf true Shows self : true = oui, false = non (par défaut true).
OnlyOnScreen true Interrupteur pour only on screen : true = activé, false = désactivé (par défaut true).
ShowPlayerName true Shows player name : true = oui, false = non (par défaut true).
ShowServerId true Shows server id : true = oui, false = non (par défaut true).
ShowVoiceIndicator true Shows voice indicator : true = oui, false = non (par défaut true).
MaxTagLength 32 Tag settings
DefaultTagText "TAG" Texte affiché au joueur pour default tag text. Modifie-le pour traduire ou renommer.
DefaultTagColor "#ffffff" Réglage pour default tag color.

THE LIMIT IS ENFORCED ON THE SERVER, not by the interface. The editor draws

Setting Default What it does
MaxNames 3 this many cards, but server/server.lua clamps the saved list to the same number regardless of what a client sends, so a modified page cannot save a fourth name.
TagColors table Colour swatches offered in the editor. The player may also enter any hex colour by hand; these are only the quick picks, and the list can be any length. Names are shown under each swatch.

Turning this off does not take access away from anyone who already has it;

Setting Default What it does
Purchasable table it only stops the store's grant event from being honoured.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ GrantEvent "jrs_pausemenu:grant:GiveTagName" The grant event jrs_pausemenu's store delivery calls, and the event this resource answers on. Both are server-only; see server/server.lua.
  ↳ ResultEvent "jrs_pausemenu:grant:result" Réglage pour result event.
  ↳ StartingText "TAG" What a bought tag starts as, before the player edits it.
  ↳ StartingColor "#e7c56c" Réglage pour starting color.

Stack above every head, top to bottom:

Setting Default What it does
Level table [ name ] name + ID (unchanged) Nothing here is new data: everything is read from replicated state bags that jrs_core / jrs_servertag already publish, so the server is untouched.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ ShowBadges true Shows badges : true = oui, false = non (par défaut true).
  ↳ ShowServerTag true jrs_servertag tier icon while the player wears the tag
  ↳ ShowDutyJob true police star / doctor cross, ONLY while on duty
  ↳ Ranks table Rank emblem by core level (1..100). shape is drawn by the NUI: circle | shield | star | sheriff | crown | diamond
  ↳ DutyJobs table On-duty job icon. A job matches when its name CONTAINS one of the words (so medicval / doctorsd / sheriffbw all match).
Debug false Debug output for debug : true = oui, false = non (par défaut false).
Notes from the README#
text
# REDEMPIRE Player Tags
Nearby player identity overlay, plus the custom name tag shown above a
character's head.
## Nearby overlay
- Hold the configured key to show nearby character names and Server IDs.
- Uses the current `jrs_core` character name, with a RedM player-name fallback
  while identity is not ready.
- Optional voice/talking indicator.
- A character with tag access shows their custom tag above the name/ID line.
- Join-order safe: clients receive the current player/tag cache on character ready.
## Three names per character (3.1.0)
A character keeps up to **three** saved tag names, each with its own colour, and
picks which one is active. Only the active name is shown above their head.
- `Config.MaxNames` sets the limit. **It is enforced on the server**: whatever
  the page sends, `server/server.lua` clamps the saved list, so a modified
  interface cannot save a fourth name.
- `Config.TagColors` is the list of quick-pick swatches. A player can also enter
  any hex colour.
- The names live in the `slots` column (JSON) with `active_slot` beside it. The
  active name is *also* written to `tag_text` / `tag_color`, which is what the
  overlay broadcast and every drawing path already read - so nothing about how a
  tag reaches other screens changed, and a row written before this feature still
  works: it becomes slot one.
- The columns are added by an additive `ALTER TABLE ... ADD COLUMN IF NOT EXISTS`
  on boot. Nothing is backfilled and nothing is dropped.
## Buying a tag (3.1.0)
Tag access can now be bought from the REDEMPIRE store as **CUSTOM NAME TAG**
(`config/store/tagname.lua` in `jrs_pausemenu`), as well as granted by an admin.
- The store's delivery step triggers `Config.Purchasable.GrantEvent`
  (`jrs_pausemenu:grant:GiveTagName`) and waits for the answer on
  `Config.Purchasable.ResultEvent`. Both handlers here are **server-only**
  (`AddEventHandler`, never `RegisterNetEvent`), so no client can grant itself a
  tag without paying.
- The grant reads its own row back before reporting success, so a failure
  refunds instead of charging for a tag nobody got.
- **A second purchase is refused**: the three name slots come with the one
  unlock, so buying again would add nothing. The refusal arrives at the store as
  an ordinary delivery failure and is refunded with the reason shown.
- `Config.Purchasable.Enabled = false` stops the grant event being honoured. It
  does not take access away from anyone who already has it.
## Interface
The editor is built on `html/theme/unified-ui.css` - the same shared theme the
weather admin panel, `jrs_stores` and `jrs_farming`'s dashboards use - so it
matches the rest of the server's tooling rather than approximating it.
`html/panel.css` adds layout only.

Paid (server only)   jrs_rcboat

JRS remote-controlled RC boat rental and multiplayer racing for RedM

Resource jrs_rcboat
Folder [INTERFACE]
Version 1.5.3
Author JRS
Interface Yes (NUI)
Languages ar, en
Code size 2,816 Lua lines

Commands

  • /rcboatcp
  • /rcboatracetest
  • /rcboattest
config.lua - 103 options#

General

Setting Default What it does
Debug false Debug output for debug : true = oui, false = non (par défaut false).
BoatModel "RCBOAT" Native RDR2 RC boat, hash 0x5E56769C
RentalPrice 10 Montant d'argent pour rental price. Les récompenses passent par le multiplicateur d'économie de jrs_core.
CurrencyType 0 jrs_core: 0 = Cash, 1 = Gold, 2 = rol, 3 = Dirty Money
PayFromBank false Set PayFromBank = true to charge/refund through jrs_banking's real bank ledger (the balance shown on the metabolism HUD) instead of cash.
BankName "SaintDenis" branch used for the debit/credit when PayFromBank is on
InteractDistance 2.2 Distance en unités de jeu pour interact distance.
DrawDistance 12.0 Distance en unités de jeu pour draw distance.
MaxBoatDistance 450.0 Distance en unités de jeu pour max boat distance.
MaxSessionSeconds 0 0 = unlimited until the player exits
RentalCooldownSeconds 3 Réglage de durée pour rental cooldown seconds. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
Controls table Table d'entrées controls. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Forward 0x8FD015D8 W
  ↳ Backward 0xD27782E3 S
  ↳ Left 0x7065027D A
  ↳ Right 0xB4E465B4 D
  ↳ Exit 0x156F7119 BACKSPACE
Movement table Table d'entrées movement. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ MaxForwardSpeed 7.5 Limite maximale pour max forward speed.
  ↳ MaxReverseSpeed 3.0 Limite maximale pour max reverse speed.
  ↳ Acceleration 4.2 Nombre pour acceleration (par défaut 4.2).
  ↳ Deceleration 3.4 Nombre pour deceleration (par défaut 3.4).
  ↳ TurnSpeed 58.0 Nombre pour turn speed (par défaut 58.0).
  ↳ MinTurnMultiplier 0.28 Minimum ou niveau requis pour min turn multiplier.
ShoreProtection table Table d'entrées shore protection. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ MinWaterDepth 0.18 Minimum water depth (meters) required to allow boat travel
  ↳ LookaheadDistance 1.4 Lookahead scan distance (meters) in front of the boat to detect banks/shore
  ↳ PushbackForce 1.4 Elastic repulsion impulse applied to bounce the boat back into water when it reaches the shore
  ↳ MaxSurfaceDelta 0.14 Maximum height (meters) the boat is permitted to rise above the water surface
  ↳ MinSurfaceClearance 0.12 Minimum ou niveau requis pour min surface clearance.
  ↳ SafeReturnZOffset 0.04 Nombre pour safe return z offset (par défaut 0.04).
  ↳ ReturnToLastSafeWater true Interrupteur pour return to last safe water : true = activé, false = désactivé (par défaut true).
  ↳ SafePositionUpdateMs 100 Breadcrumb history of deep-water positions for safe recovery
  ↳ SafeHistorySize 64 Nombre pour safe history size (par défaut 64).
  ↳ SafeHistoryMinDistance 0.50 Distance en unités de jeu pour safe history min distance.
  ↳ LandRecoveryDelayMs 80 Delay before recovering boat back to water if it somehow ends up on land
  ↳ ShoreBrakeMs 280 Nombre pour shore brake ms (par défaut 280).
Camera table Table d'entrées camera. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Offset vector3(0.0, -4.2, 2.0) Réglage pour offset.
  ↳ LookAtOffset vector3(0.0, 0.8, 0.25) Réglage pour look at offset.
  ↳ Fov 55.0 Nombre pour fov (par défaut 55.0).
  ↳ TransitionMs 450 Nombre pour transition ms (par défaut 450).
  ↳ FollowSmoothness 9.0 Nombre pour follow smoothness (par défaut 9.0).
  ↳ KeepAboveWater true Interrupteur pour keep above water : true = activé, false = désactivé (par défaut true).
  ↳ MinHeightAboveWater 1.15 Minimum ou niveau requis pour min height above water.
  ↳ MinLookAtAboveWater 0.10 Minimum ou niveau requis pour min look at above water.
UI table Table d'entrées ui. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
Prompt table Texte affiché au joueur pour prompt. Modifie-le pour traduire ou renommer.
  ↳ Control 0xCEFD9220 E
  ↳ Title "RC Boat Rental" Texte affiché au joueur pour title. Modifie-le pour traduire ou renommer.
  ↳ Text "Rent RC Boat" Texte affiché au joueur pour text. Modifie-le pour traduire ou renommer.
Blip table Map blip so the rental station / bot can be found from a distance.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Sprite 2005921736 2005921736 = Canoe / Boat sprite (matches jrs_boats)
  ↳ Scale 0.2 Taux ou multiplicateur pour scale.
  ↳ Colour "BLIP_MODIFIER_MP_COLOR_32" White
BoatBlip table Map blip attached to the RC boat entity while driving
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ Sprite 2005921736 Réglages du blip ou de l’icône de carte pour sprite.
  ↳ Scale 0.18 Taux ou multiplicateur pour scale.
  ↳ Colour "BLIP_MODIFIER_MP_COLOR_32" White
  ↳ Name table Texte affiché au joueur pour name. Modifie-le pour traduire ou renommer.
Race table Multiplayer race settings.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ EntryFee 0 Race still uses the normal boat rental price above. This is an OPTIONAL additional race entry fee.
  ↳ Reward 5 Montant d'argent pour reward. Les récompenses passent par le multiplicateur d'économie de jrs_core.
  ↳ MinPlayers 2 Minimum ou niveau requis pour min players.
  ↳ MaxPlayers 4 Limite maximale pour max players.
  ↳ LobbyCountdownSeconds 8 Once at least MinPlayers are queued, this lobby countdown begins.
  ↳ StartCountdownSeconds 3 Nombre pour start countdown seconds (par défaut 3).
  ↳ StartSpacing 1.65 Separation between RC boats on the starting line.
  ↳ CheckpointRadius 1.0 How close the boat must be to count a checkpoint.
  ↳ CircleSegments 40 Visual circle around the active checkpoint.
  ↳ CircleHeightAboveWater 0.18 Nombre pour circle height above water (par défaut 0.18).
  ↳ ShowNextCheckpoint true Shows next checkpoint : true = oui, false = non (par défaut true).
  ↳ FinishHoldSeconds 5 Seconds after a winner is decided before every race boat is returned.
RentalScene table Table d'entrées rental scene. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ SpawnEntitiesOnStart true Interrupteur pour spawn entities on start : true = activé, false = désactivé (par défaut true).
  ↳ PedModel "A_M_M_SDDockForeman_01" If the configured ped model fails to load on a specific build, the script will fall back to the current player's model so the seller NPC is never invisible.
  ↳ FallbackPedModels table Modèle ou entité du jeu utilisé pour fallback ped models.
  ↳ FallbackToPlayerModel true Interrupteur pour fallback to player model : true = activé, false = désactivé (par défaut true).
  ↳ PedScenario "WORLD_HUMAN_STAND_WAITING" Modèle ou entité du jeu utilisé pour ped scenario.
  ↳ TableModel "p_table04x" Modèle ou entité du jeu utilisé pour table model.
  ↳ TableTopHeight 0.78 Nombre pour table top height (par défaut 0.78).
  ↳ TableZOffset 0.0 Nombre pour table z offset (par défaut 0.0).
  ↳ SnapTableToGround false Interrupteur pour snap table to ground : true = activé, false = désactivé (par défaut false).
  ↳ DecorProps table Local offsets are relative to the table entity itself, so the props stay exactly on top of the table instead of floating in the air.
  ↳ DisplayBoat table Table d'entrées display boat. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
PlayerControl table Touche ou contrôle utilisé pour player control. Les contrôles sont des valeurs hash de la liste des entrées du jeu.
  ↳ Enabled true Active ou désactive enabled (par défaut true).
  ↳ PropModel "RCBOAT" Use the exact same native RC boat model as the handheld prop. RCBOAT is a vehicle model, so the client creates a non-colliding display vehicle and attaches it to the player's hand for the control animation.
  ↳ PropEntityType "vehicle" Modèle ou entité du jeu utilisé pour prop entity type.
  ↳ PropBone "SKEL_R_Hand" Modèle ou entité du jeu utilisé pour prop bone.
  ↳ PropOffset vector3(0.12, 0.03, -0.04) Modèle ou entité du jeu utilisé pour prop offset.
  ↳ PropRotation vector3(5.0, 82.0, 95.0) Modèle ou entité du jeu utilisé pour prop rotation.
  ↳ Scenario "WORLD_HUMAN_CROUCH_INSPECT" Réglages d'animation pour scenario.
  ↳ FaceBoatOnStart true Interrupteur pour face boat on start : true = activé, false = désactivé (par défaut true).
Rentals table raceCheckpoints MUST be in the order players have to pass them. Put the checkpoints on the water. Z can be approximate; the client snaps the visual circle to the actual water surface when possible.
  ↳ 1 table Table d'entrées 1. Ajoute, supprime ou modifie les entrées en suivant les exemples du fichier.
EnableTestCommand false Active ou désactive test command (par défaut false).
Notes from the README#
text
# jrs_rcboat
Version 1.5.3
## Water recovery
- Records a rolling history of confirmed water positions while the RC boat moves.
- If the boat leaves the lake or reaches dry land, it is moved back to the geographically closest recorded water point.
- Preserves the saved heading and keeps the existing camera/session active.
- No vehicle delete/recreate is needed, so recovery is immediate and smooth.

Paid (server only)   jrs_scenes

RP scenes: /scene pins a short text in the world for nearby players (Arabic-safe NUI rendering)

Resource jrs_scenes
Folder [INTERFACE]
Version 0.1.0
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 301 lignes Lua

Database tables

jrs_scenes

config.lua - 10 options#

General

Setting Default What it does
Command "scene" /scene <text>
RemoveCommand "scenedel" removes the nearest of your scenes (admins: anyone's)
MaxLength 180 Limite maximale pour max length.
MaxPerCharacter 3 Limite maximale pour max per character.
DurationMinutes 120 scenes expire on their own (kept across restarts until then)
CooldownSeconds 15 Réglage de durée pour cooldown seconds. L'unité (secondes, minutes ou millisecondes) est en général dans le nom de l'option ou le commentaire des options voisines.
ViewDistance 9.0 how close you must be to read it
RemoveDistance 3.0 Distance en unités de jeu pour remove distance.
SyncRadius 120.0 server only sends scenes this close to you
AdminGroups table Qui est autorisé : métiers, groupes ou permissions pour admin groups.

Paid (server only)   progressbar

Advanced Progress Bar

Resource progressbar
Folder [INTERFACE]
Version 1.0.0
Author jrs team
Interface Yes (NUI)
Languages ar, en
Code size 349 lignes Lua

Commands

  • /testprog

Exports

Progress, ProgressWithStartAndTick, ProgressWithStartEvent, ProgressWithTickEvent, isDoingSomething

Notes from the README#
text
# Lv-ProgressBar
# 🕹️ FiveM Progress Bar
A dynamic, customizable progress bar for FiveM/QBCore. Perfect for immersive roleplay interactions!
## ✨ **Features**
- **Step Visualization**: Dynamic steps fill up as progress advances.
- **Real-Time Percentage**: Clean percentage display with smooth animations.
- **Cancel Support**: Actions can be interrupted, resetting the UI.
- **Easy Integration**: Designed for QB-Core but adaptable to any framework.
## 🛠️ **Installation**
1. Download the `progressbar` folder.
2. Add it to your FiveM server’s `resources` directory.
3. Add `ensure progressbar` to your `server.cfg`.
4. Trigger the progress bar in-game with:
'''lua
servar
TriggerClientEvent('progressbar:client:hud', _source ,label, duration)
claint
TriggerEvent('progressbar:client:hud' ,label, duration)
exports['progressbar']:Progress({
    label = "Repairing Vehicle",
    duration = 10000, -- 10 seconds
}, function(cancelled)
    if not cancelled then
        -- Action completed
    end
end)
Modification
.progress-step.active {
    background-color: #FF0000; /* Red progress steps */
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.5); /* Glow effect */
}

Paid (server only)   radialmenu

Resource radialmenu
Folder [INTERFACE]
Version 1.0.0
Interface No
Code size 18 lignes Lua
JRS Core · Framework RedM gratuit et open source · créé par JRS TEAM