HUD, menus, notifications and other on-screen systems.
This folder has 27 scripts. Pick a script in the tabs below.
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" |
Setting for inventory resource. |
RadioItem |
"radio" |
Inventory items used by radio item. Names must exist in the jrs_items table. |
RequireRadioItem |
true |
Requires radio item: true = yes, false = no (default true). |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
VoiceChat |
"pma" |
Voice system: "pma" or "saltychat" |
VoiceResource |
"pma-voice" |
Setting for voice resource. |
Language |
"ar" |
Interface language of this script (en or ar). |
CheckItemInterval |
2500 |
Time setting for check item interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
MinFrequency |
0 |
Minimum or level requirement for min frequency. |
MaxFrequency |
999.99 |
Upper limit for max frequency. |
SOSCooldown |
10000 |
Time setting for sos cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
JoinCooldown |
750 |
Time setting for join cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
AutoReconnect |
table |
Restore the player's previous radio channel after this resource restarts. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DelayMs |
3500 |
Time setting for delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ RetryDelayMs |
2500 |
Time setting for retry delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MaxAttempts |
2 |
Upper limit for max attempts. |
TowerSystem |
table |
Radio tower / signal system. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DefaultRadius |
1000.0 |
Default coverage settings. Each tower can override these values. |
↳ StrongSignalDistance |
400.0 |
Distance in game units that applies to 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 |
Time setting for signal report cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ 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 |
Switch for notify on signal lost: true = on, false = off (default true). |
↳ NotifyOnSignalRestored |
true |
Switch for notify on signal restored: true = on, false = off (default true). |
↳ Interference |
table |
Table of interference entries. Add, remove or edit entries following the examples in the file. |
يمكنك تعديل الأبراج الحالية أو إضافة أبراج جديدة من عندك بكل سهولة!
| 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 |
Turns enabled on or off (default 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 |
Rate or multiplier for 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 |
Time setting for model load timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ SpawnDistance |
550.0 |
Used only when SpawnAllOnSync is false. |
↳ DespawnDistance |
700.0 |
Distance in game units that applies to despawn distance. |
↳ Lamp |
table |
Table of lamp entries. Add, remove or edit entries following the examples in the file. |
↳ Variants |
table |
Table of variants entries. Add, remove or edit entries following the examples in the file. |
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 of placement entries. Add, remove or edit entries following the examples in the file. |
↳ Interaction |
table |
Table of interaction entries. Add, remove or edit entries following the examples in the file. |
↳ Admin |
table |
Who is allowed: jobs, groups or permissions for admin. |
↳ Repair |
table |
Table of repair entries. Add, remove or edit entries following the examples in the file. |
↳ 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 of maintenance entries. Add, remove or edit entries following the examples in the file. |
Radio Tower Sabotage Configuration / إعدادات تخريب أبراج الراديو
| Setting | Default | What it does |
|---|---|---|
TowerSabotage |
table |
Table of tower sabotage entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ AllowEveryone |
true |
Who can sabotage: true allows all players (outlaws, civilians), false restricts to AllowedJobs |
↳ AllowedJobs |
table |
Who is allowed: jobs, groups or permissions for 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" |
Text shown to the player for prompt label. Change it to translate or rebrand. |
↳ Minigame |
table |
Minigame settings for sabotage |
TowerTownLaw |
table |
Mapping of Radio Towers to their governing Town Law and Government City |
↳ valentine |
table |
Table of valentine entries. Add, remove or edit entries following the examples in the file. |
↳ rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ saint_denis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
↳ blackwater |
table |
Table of blackwater entries. Add, remove or edit entries following the examples in the file. |
↳ strawberry |
table |
Table of strawberry entries. Add, remove or edit entries following the examples in the file. |
↳ armadillo |
table |
Table of armadillo entries. Add, remove or edit entries following the examples in the file. |
↳ tumbleweed |
table |
Table of tumbleweed entries. Add, remove or edit entries following the examples in the file. |
↳ annesburg |
table |
Table of annesburg entries. Add, remove or edit entries following the examples in the file. |
↳ van_horn |
table |
Table of van horn entries. Add, remove or edit entries following the examples in the file. |
↳ emerald_ranch |
table |
Table of emerald ranch entries. Add, remove or edit entries following the examples in the file. |
Locale |
table |
Interface language of this script (en or ar). |
↳ en |
table |
Table of en entries. Add, remove or edit entries following the examples in the file. |
↳ ar |
table |
Table of ar entries. Add, remove or edit entries following the examples in the file. |
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 of whitelisted entries. Add, remove or edit entries following the examples in the file. |
↳ 1 |
table |
Table of 1 entries. Add, remove or edit entries following the examples in the file. |
↳ 2 |
table |
Table of 2 entries. Add, remove or edit entries following the examples in the file. |
↳ 3 |
table |
Table of 3 entries. Add, remove or edit entries following the examples in the file. |
↳ 4 |
table |
Table of 4 entries. Add, remove or edit entries following the examples in the file. |
↳ 5 |
table |
Table of 5 entries. Add, remove or edit entries following the examples in the file. |
↳ 6 |
table |
Table of 6 entries. Add, remove or edit entries following the examples in the file. |
↳ 7 |
table |
Table of 7 entries. Add, remove or edit entries following the examples in the file. |
↳ 8 |
table |
Table of 8 entries. Add, remove or edit entries following the examples in the file. |
↳ 9 |
table |
Table of 9 entries. Add, remove or edit entries following the examples in the file. |
↳ 10 |
table |
Table of 10 entries. Add, remove or edit entries following the examples in the file. |
↳ 11 |
table |
Table of 11 entries. Add, remove or edit entries following the examples in the file. |
SOS |
table |
Table of sos entries. Add, remove or edit entries following the examples in the file. |
↳ blip |
table |
Map blip or icon settings for 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 Lua lines |
config/config.lua - 15 options#
General
| Setting | Default | What it does |
|---|---|---|
cooldown |
120 |
2m -- times |
jrs_Notify |
true |
Switch for jrs notify: true = on, false = off (default true). |
Image |
"police" |
Setting for image. |
Image_2 |
"doctor" |
Setting for image 2. |
lang |
table |
Interface language of this script (en or ar). |
↳ 1 |
"police_help_needed" |
Setting for 1. |
↳ 2 |
"doctor_way" |
Setting for 2. |
↳ 3 |
"no_doctors" |
Setting for 3. |
alerts |
table |
Table of alerts entries. Add, remove or edit entries following the examples in the file. |
↳ police |
table |
job name |
↳ medic |
table |
Table of medic entries. Add, remove or edit entries following the examples in the file. |
↳ doctor |
table |
Table of doctor entries. Add, remove or edit entries following the examples in the file. |
medicresponse |
"resp" |
Setting for medicresponse. |
cancelblipcommand |
"calert" |
removes alert |
alertcooldown |
10 |
seconds |
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" |
Setting for core resource. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
ItemName |
"newspaper" |
Inventory items used by item name. Names must exist in the jrs_items table. |
AdminCommand |
"newspaperadmin" |
Who is allowed: jobs, groups or permissions for admin command. |
AdminGroups |
table |
Admin groups are read directly from jrs_core User.group. |
↳ owner |
true |
Switch for owner: true = on, false = off (default true). |
↳ admin |
true |
Switch for admin: true = on, false = off (default true). |
↳ support |
true |
Switch for support: true = on, false = off (default true). |
MessageMaxLength |
700 |
Upper limit for message max length. |
NameMaxLength |
80 |
Upper limit for name max length. |
UrlMaxLength |
2048 |
Upper limit for url max length. |
PublishCooldownSeconds |
60 |
Time setting for publish cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
AnnouncementDurationMs |
10000 |
Time setting for announcement duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
NotificationDurationMs |
4500 |
Time setting for notification duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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 |
Number for gps window seconds (default 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 = yes, false = no (default false). |
Notes from the README#
# 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` noPaid (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 of small entries. Add, remove or edit entries following the examples in the file. |
↳ medium |
table |
Table of medium entries. Add, remove or edit entries following the examples in the file. |
↳ large |
table |
Table of large entries. Add, remove or edit entries following the examples in the file. |
AutoInstallItems |
true |
Automatically handles install items: true = yes, false = no (default true). |
StoragePrefix |
"jrs_backpack_" |
Setting for storage prefix. |
Ground |
table |
Ground placement and animation while a backpack storage is open. |
↳ forwardOffset |
0.90 |
Number for forward offset (default 0.90). |
↳ groundOffset |
0.0 |
Number for ground offset (default 0.0). |
↳ headingOffset |
180.0 |
Number for heading offset (default 180.0). |
↳ rotation |
vector3(0.0, 0.0, 0.0) |
Setting for rotation. |
↳ scenario |
"WORLD_HUMAN_CROUCH_INSPECT" |
Animation settings for scenario. |
↳ openDelayMs |
350 |
Time setting for open delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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" |
Key or control used for toggle key description. Controls are hash values from the game input list. |
ModelLoadTimeoutMs |
10000 |
Time setting for model load timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
VisualRefreshMs |
1000 |
Number for visual refresh ms (default 1000). |
ServerValidationMs |
3000 |
Number for server validation ms (default 3000). |
RequestCooldownMs |
600 |
Time setting for request cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
NotifyTitle |
"Backpack" |
Text shown to the player for notify title. Change it to translate or rebrand. |
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 |
Text shown to the player for messages. Change it to translate or rebrand. |
↳ equipped |
'The backpack is now visible... |
Setting for equipped. |
↳ placed |
"The backpack is on the ground." |
Setting for placed. |
↳ returned |
'The backpack is back on you... |
Setting for returned. |
↳ shown |
"Backpack shown." |
Setting for shown. |
↳ hidden |
"Backpack hidden." |
Setting for hidden. |
↳ closeStorageFirst |
'Close the backpack storage ... |
Setting for close storage first. |
↳ useFirst |
"Use a backpack item first." |
Setting for use first. |
↳ noLongerOwned |
'You no longer have this bac... |
Setting for no longer owned. |
↳ notYourBag |
'You cannot use the storage ... |
Setting for not your bag. |
↳ storageFailed |
'The backpack storage could ... |
Setting for storage failed. |
↳ nestedBag |
'You cannot place a backpack... |
Setting for nested bag. |
↳ adminNoPlayer |
"Usage: /%s <server_id>" |
Who is allowed: jobs, groups or permissions for admin no player. |
↳ adminNotFound |
'That player has no equipped... |
Who is allowed: jobs, groups or permissions for admin not found. |
↳ adminOpened |
"Opened backpack for player %s." |
Who is allowed: jobs, groups or permissions for admin opened. |
Notes from the README#
# 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 |
Turns blips on or off (default true). |
BlipName |
"Bath House" |
Map blip or icon settings for blip name. |
UndressCommand |
"undress" |
Setting for undress command. |
DressCommand |
"rc" |
Setting for 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 of bathing zones entries. Add, remove or edit entries following the examples in the file. |
↳ SaintDenis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
↳ Valentine |
table |
Table of valentine entries. Add, remove or edit entries following the examples in the file. |
↳ Annesburg |
table |
Table of annesburg entries. Add, remove or edit entries following the examples in the file. |
↳ Strawberry |
table |
Table of strawberry entries. Add, remove or edit entries following the examples in the file. |
↳ Blackwater |
table |
Table of blackwater entries. Add, remove or edit entries following the examples in the file. |
↳ Vanhorn |
table |
Table of vanhorn entries. Add, remove or edit entries following the examples in the file. |
↳ Rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ Tumbleweed |
table |
Table of tumbleweed entries. Add, remove or edit entries following the examples in the file. |
BathingModes |
table |
Table of bathing modes entries. Add, remove or edit entries following the examples in the file. |
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 of prompts entries. Add, remove or edit entries following the examples in the file. |
CreatedEntries |
table |
Table of created entries entries. Add, remove or edit entries following the examples in the file. |
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 |
Turns enabled on or off (default false). |
↳ WeaponTraceIntervalMs |
3000 |
Time setting for weapon trace interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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" |
Inventory items used by item fixed camera. Names must exist in the jrs_items table. |
CommandsHUD |
table |
Table of commands hud entries. Add, remove or edit entries following the examples in the file. |
SudioCameraJobs |
table |
Compatible with job checks |
StudioCameraJobs |
Config.SudioCameraJobs |
Who is allowed: jobs, groups or permissions for studio camera jobs. |
CommandGalleryPhotos |
"gallery" |
Rockstar Photo Mode album commands |
CommandGalleryAliases |
table |
Table of command gallery aliases entries. Add, remove or edit entries following the examples in the file. |
Zoom |
table |
Table of zoom entries. Add, remove or edit entries following the examples in the file. |
Filters |
table |
Table of filters entries. Add, remove or edit entries following the examples in the file. |
General |
table |
Table of general entries. Add, remove or edit entries following the examples in the file. |
↳ RefreshRate |
450 |
Rate or multiplier for refresh rate. |
↳ FreezePlayer |
true |
Switch for freeze player: true = on, false = off (default true). |
↳ HideRadar |
true |
Hides radar: true = yes, false = no (default true). |
↳ HideHudDuringPhoto |
true |
Hides hud during photo: true = yes, false = no (default true). |
↳ LookSensitivityX |
4.5 |
Number for look sensitivity x (default 4.5). |
↳ LookSensitivityY |
4.5 |
Number for look sensitivity y (default 4.5). |
↳ MinPitch |
-70.0 |
Minimum or level requirement for min pitch. |
↳ MaxPitch |
70.0 |
Upper limit for max pitch. |
↳ PhotoCooldown |
2000 |
Time setting for photo cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ SessionRequestTimeout |
3500 |
Time setting for session request timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CameraOffset |
vector3(0.0, 0.12, 1.58) |
Setting for camera offset. |
↳ ViewfinderFX |
table |
Real RDR2 PostFX names for Viewfinder and Capture |
↳ StudioViewfinderFX |
table |
Table of studio viewfinder fx entries. Add, remove or edit entries following the examples in the file. |
↳ PhotoFX |
"CameraTakePicture" |
Setting for photo fx. |
↳ StudioPhotoFX |
"CameraTakePicture" |
Setting for 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 of handheld entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Cameras |
table |
Table of cameras entries. Add, remove or edit entries following the examples in the file. |
FixedCamera |
table |
Table of fixed camera entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Model |
"p_camera01x" |
Game model or entity used for model. |
↳ UseItem |
true |
Turns item on or off (default true). |
↳ RemoveItemOnPlace |
true |
Removes 1 item when placed, returns 1 item when picked up |
↳ EnableCommand |
true |
Turns command on or off (default true). |
↳ CommandName |
"fixedcam" |
Text shown to the player for command name. Change it to translate or rebrand. |
↳ PlacementDistance |
1.10 |
Distance in game units that applies to placement distance. |
↳ InteractionDistance |
2.25 |
Distance in game units that applies to interaction distance. |
↳ MaxPlacementDistanceFromPlayer |
4.0 |
Distance in game units that applies to max placement distance from player. |
↳ CameraHeightOffset |
1.38 |
Number for camera height offset (default 1.38). |
↳ CameraForwardOffset |
0.38 |
Forward at the camera lens |
↳ CameraHeadingOffset |
0.0 |
Number for camera heading offset (default 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 = yes, false = no (default true). |
↳ AllowFilters |
true |
Allows filters: true = yes, false = no (default true). |
↳ OwnerOnlyPickup |
true |
Switch for owner only pickup: true = on, false = off (default true). |
↳ RemoveOnPlayerDrop |
true |
Switch for remove on player drop: true = on, false = off (default true). |
↳ OnePerPlayer |
true |
Switch for one per player: true = on, false = off (default true). |
Studio |
table |
Table of studio entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ InteractionRadius |
6.0 |
Distance in game units that applies to interaction radius. |
↳ ValidationRadius |
35.0 |
Distance in game units that applies to validation radius. |
↳ BackdropSearchRadius |
35.0 |
Distance in game units that applies to backdrop search radius. |
↳ CameraPropSearchRadius |
15.0 |
Distance in game units that applies to camera prop search radius. |
↳ CameraModels |
table |
Game model or entity used for camera models. |
↳ FlashModels |
table |
Game model or entity used for flash models. |
↳ CameraHeightOffset |
1.38 |
Number for camera height offset (default 1.38). |
↳ CameraForwardOffset |
0.38 |
Forward at the studio camera lens |
↳ CameraHeadingOffset |
0.0 |
Number for camera heading offset (default 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 |
Number for look sensitivity x (default 2.0). |
↳ LookSensitivityY |
2.0 |
Number for look sensitivity y (default 2.0). |
↳ AllowZoom |
true |
Allows zoom: true = yes, false = no (default true). |
↳ AllowFilters |
true |
Allows filters: true = yes, false = no (default true). |
↳ SpawnMissingProps |
true |
Ensures studio camera & flash stand exist in the studio |
↳ ShowBlips |
true |
Studio map blips |
↳ BlipStyle |
joaat('BLIP_STYLE_SHOP') |
Map blip or icon settings for blip style. |
↳ BlipSprite |
1364029453 |
blip_photo_studio |
↳ BlipScale |
0.22 |
Map blip or icon settings for 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 of server entries. Add, remove or edit entries following the examples in the file. |
↳ CoreResource |
"jrs_core" |
Setting for core resource. |
↳ InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
↳ RequireCharacter |
true |
Requires character: true = yes, false = no (default true). |
↳ RequireFixedCameraItem |
true |
Requires fixed camera item: true = yes, false = no (default true). |
↳ StrictHandheldWeaponCheck |
false |
Switch for strict handheld weapon check: true = on, false = off (default false). |
↳ VerifyHandheldWeapon |
false |
Switch for verify handheld weapon: true = on, false = off (default false). |
↳ RequireStudioJob |
true |
If set to false, any player can use the studio camera |
↳ AllowAceStudio |
true |
Allows ace studio: true = yes, false = no (default true). |
↳ StudioAce |
"jrs_camera.studio" |
Setting for studio ace. |
↳ SessionTimeoutMs |
10 * 60 * 1000 |
Time setting for session timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ RequestCooldownMs |
750 |
Time setting for request cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BackgroundCooldownMs |
250 |
Time setting for background cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ PhotoAuditCooldownMs |
1500 |
Time setting for photo audit cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Notes from the README#
# 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.
---
## DependenciesFree (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 |
Turns key mapping fallback on or off (default true). |
AutoSuggestions |
true |
Automatically handles suggestions: true = yes, false = no (default true). |
ShowChatWindowSeconds |
5 |
Number for show chat window seconds (default 5). |
DefaultChatEnabled |
true |
Switch for default chat enabled: true = on, false = off (default true). |
DefaultChatGlobal |
true |
Switch for default chat global: true = on, false = off (default true). |
DefaultChatDistance |
10.0 |
Distance in game units that applies to default chat distance. |
MaxMessageLength |
300 |
Upper limit for max message length. |
DateFormat |
"%H:%M" |
Setting for date format. |
PrintToConsole |
true |
Switch for print to console: true = on, false = off (default true). |
ShowConnectMessages |
false |
Shows connect messages: true = yes, false = no (default false). |
StaffGroups |
table |
Staff permissions. jrs_core group is checked first, ACE is also supported. |
↳ owner |
true |
Switch for owner: true = on, false = off (default true). |
↳ god |
true |
Switch for god: true = on, false = off (default true). |
↳ admin |
true |
Switch for admin: true = on, false = off (default true). |
StaffAce |
"jrs.chat.staff" |
Setting for 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 |
Turns enabled on or off (default true). |
↳ allowPersonal |
true |
Allows personal: true = yes, false = no (default true). |
↳ defaultVolume |
65 |
Number for default volume (default 65). |
↳ notifyPlayersOnGlobal |
true |
Switch for notify players on global: true = on, false = off (default true). |
↳ cache |
table |
Table of cache entries. Add, remove or edit entries following the examples in the file. |
↳ commands |
table |
Table of commands entries. Add, remove or edit entries following the examples in the file. |
ServerMusic |
Config.Music |
Backward-compatible alias used internally by older integrations. |
TextDistance |
12.0 |
RP text |
DrawTextDistance |
12.0 |
Distance in game units that applies to draw text distance. |
TextDuration |
7 |
seconds |
ShowTime |
true |
Shows time: true = yes, false = no (default 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 |
Switch for only3 d: true = on, false = off (default true). |
↳ UseLineOfSight |
true |
Turns line of sight on or off (default true). |
Max3DTextLength |
112 |
Text shown to the player for max3 d text length. Change it to translate or rebrand. |
TextHeadBoneOffset |
0.38 |
height above SKEL_Head bone (RedM 21030) |
TextZOffset |
1.95 |
fallback height above entity root coords |
TextVerticalOffset |
-0.005 |
Text shown to the player for text vertical offset. Change it to translate or rebrand. |
DistanceBetweenTexts |
0.038 |
Distance in game units that applies to distance between texts. |
TextRefreshRate |
25 |
ms between screen position updates |
TypingText |
true |
Switch for typing text: true = on, false = off (default true). |
TypingLabel |
"[......]" |
fallback when animation is disabled |
TypingAnimate |
true |
Switch for typing animate: true = on, false = off (default true). |
TypingBaseDots |
5 |
five fixed dots; the sixth dot blinks |
TypingAnimationInterval |
450 |
ms |
TypingColor |
"#e7c56c" |
Setting for typing color. |
TextColors |
table |
Text shown to the player for text colors. Change it to translate or rebrand. |
↳ me |
"#e7c56c" |
Setting for me. |
↳ do |
"#e57373" |
Setting for do. |
↳ trypos |
"#7ad6a3" |
Setting for trypos. |
↳ tryneg |
"#e57373" |
Setting for tryneg. |
↳ ooc |
"#f4f0e7" |
Setting for ooc. |
↳ typing |
"#e7c56c" |
Setting for typing. |
Prefixes |
table |
Table of prefixes entries. Add, remove or edit entries following the examples in the file. |
↳ me |
"ME:" |
Setting for me. |
↳ do |
"DO:" |
Setting for do. |
↳ trypos |
"" |
Setting for trypos. |
↳ tryneg |
"" |
Setting for tryneg. |
↳ ooc |
"OOC:" |
Setting for ooc. |
↳ typing |
"" |
Setting for typing. |
HtmlTemplate |
[[ |
Setting for html template. |
Commands |
table |
Commands |
↳ clear |
"clear" |
Setting for clear. |
↳ clearAll |
"clearall" |
Setting for clear all. |
↳ announce |
"announce" |
Setting for announce. |
↳ staff |
"ac" |
Setting for staff. |
↳ report |
"report" |
Setting for report. |
↳ reportReply |
"reportr" |
Setting for report reply. |
↳ toggleReports |
"togglereport" |
Setting for toggle reports. |
↳ me |
"me" |
Setting for me. |
↳ do |
"do" |
Setting for do. |
↳ try |
"try" |
Setting for try. |
↳ ooc |
"ooc" |
Setting for ooc. |
↳ pm |
"pm" |
Setting for pm. |
↳ help |
"help" |
Setting for help. |
↳ medic |
"medic" |
Setting for medic. |
↳ police |
"police" |
Setting for police. |
↳ gossip |
"gossip" |
Setting for gossip. |
↳ callPolice |
"callpolice" |
Setting for call police. |
↳ callDoctor |
"calldoctor" |
Setting for call doctor. |
↳ clearAlerts |
"calert" |
Setting for clear alerts. |
↳ hideChat |
"hidechat" |
Setting for hide chat. |
↳ nick |
"nick" |
Setting for nick. |
↳ mute |
"mute" |
Setting for mute. |
↳ unmute |
"unmute" |
Setting for unmute. |
↳ muted |
"muted" |
Setting for muted. |
↳ photo |
"photo" |
Setting for photo. |
↳ global |
"global" |
Setting for global. |
↳ say |
"say" |
Setting for say. |
↳ whisper |
"whisper" |
Setting for whisper. |
↳ reply |
"reply" |
Setting for reply. |
↳ toggleChat |
"togglechat" |
Setting for toggle chat. |
↳ toggleOverhead |
"toggleoverhead" |
Setting for toggle overhead. |
Features |
table |
Table of features entries. Add, remove or edit entries following the examples in the file. |
↳ clear |
true |
Switch for clear: true = on, false = off (default true). |
↳ clearAll |
true |
Switch for clear all: true = on, false = off (default true). |
↳ announce |
true |
Switch for announce: true = on, false = off (default true). |
↳ staff |
true |
Switch for staff: true = on, false = off (default true). |
↳ report |
true |
Switch for report: true = on, false = off (default true). |
↳ me |
true |
Switch for me: true = on, false = off (default true). |
↳ do |
true |
Switch for do: true = on, false = off (default true). |
↳ try |
true |
Switch for try: true = on, false = off (default true). |
↳ ooc |
true |
Switch for ooc: true = on, false = off (default true). |
↳ pm |
true |
Switch for pm: true = on, false = off (default true). |
↳ help |
true |
Switch for help: true = on, false = off (default true). |
↳ jobChannels |
true |
Switch for job channels: true = on, false = off (default true). |
↳ gossip |
true |
Switch for gossip: true = on, false = off (default true). |
↳ policeAlert |
true |
Switch for police alert: true = on, false = off (default true). |
↳ doctorAlert |
true |
Switch for doctor alert: true = on, false = off (default true). |
↳ nick |
true |
Switch for nick: true = on, false = off (default true). |
↳ mute |
true |
Switch for mute: true = on, false = off (default true). |
↳ photo |
true |
Switch for photo: true = on, false = off (default true). |
TryChance |
50 |
Rate or multiplier for try chance. |
RoleplayDistance |
10.0 |
Distance in game units that applies to roleplay distance. |
GlobalOOC |
false |
Switch for global ooc: true = on, false = off (default false). |
WhisperDistance |
10.0 |
Distance in game units that applies to 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 |
Turns enabled on or off (default true). |
↳ default |
"local" |
Setting for default. |
↳ labels |
table |
Table of labels entries. Add, remove or edit entries following the examples in the file. |
ChannelColors |
table |
Table of channel colors entries. Add, remove or edit entries following the examples in the file. |
↳ local |
"#a9c9ef" |
Setting for local. |
Notes from the README#
# 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 Lua lines |
config.lua - 25 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
CoreResource |
"jrs_core" |
Setting for 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 |
Turns enabled on or off (default true). |
↳ control |
0xCEFD9220 |
INPUT_CONTEXT (E) |
↳ drawDistance |
8.0 |
Distance in game units that applies to draw distance. |
↳ useDistance |
2.0 |
Distance in game units that applies to use distance. |
↳ requestAccessEvery |
3000 |
ms |
↳ promptText |
"Ring Church Bell" |
Text shown to the player for prompt text. Change it to translate or rebrand. |
↳ groupText |
"Church Bell" |
Who is allowed: jobs, groups or permissions for group text. |
Security |
table |
Table of security entries. Add, remove or edit entries following the examples in the file. |
↳ 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 = yes, false = no (default false). |
↳ maxManualTolls |
12 |
Upper limit for max manual tolls. |
ManualCooldownSeconds |
12 |
Time setting for manual cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Command |
"churchbell" |
Setting for command. |
Permissions |
table |
Who is allowed: jobs, groups or permissions for permissions. |
↳ allowAdmins |
true |
Allows admins: true = yes, false = no (default 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 |
World coordinates (x, y, z) used for locations. |
↳ Valentine |
table |
Table of valentine entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
# 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 permissionFree (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" |
Setting for core resource. |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Detection |
table |
Detection mirrors RedM's own zone hierarchy. The UI is shown only when the resolved location actually changes. |
↳ Interval |
500 |
Time setting for interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ WaitForCharacter |
true |
Switch for wait for character: true = on, false = off (default true). |
↳ CharacterReadyTimeout |
10000 |
Time setting for character ready timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ NotifyOnInitialDetection |
true |
Switch for notify on initial detection: true = on, false = off (default true). |
↳ PauseWhenDead |
true |
Switch for pause when dead: true = on, false = off (default true). |
↳ PauseWhenPauseMenuOpen |
true |
Switch for pause when pause menu open: true = on, false = off (default true). |
↳ Priority |
table |
Highest priority first. |
Notification |
table |
Text shown to the player for notification. Change it to translate or rebrand. |
↳ Duration |
4000 |
Time setting for duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ Sound |
table |
Table of sound entries. Add, remove or edit entries following the examples in the file. |
↳ UI |
table |
Table of ui entries. Add, remove or edit entries following the examples in the file. |
Details |
table |
Table of details entries. Add, remove or edit entries following the examples in the file. |
↳ ShowDistrict |
true |
Shows district: true = yes, false = no (default true). |
↳ ShowState |
true |
Shows state: true = yes, false = no (default true). |
↳ ShowDay |
false |
Shows day: true = yes, false = no (default false). |
↳ ShowTime |
true |
Shows time: true = yes, false = no (default true). |
↳ ShowTemperature |
true |
Shows temperature: true = yes, false = no (default true). |
↳ ShowWind |
true |
Shows wind: true = yes, false = no (default true). |
↳ Use24Hour |
false |
Switch for use24 hour: true = on, false = off (default false). |
↳ TemperatureUnit |
"C" |
'C' or 'F' |
↳ WindUnit |
"auto" |
'auto', 'kph', or 'mph' |
Days |
table |
Table of days entries. Add, remove or edit entries following the examples in the file. |
↳ 0 |
"SUN" |
Setting for 0. |
↳ 1 |
"MON" |
Setting for 1. |
↳ 2 |
"TUE" |
Setting for 2. |
↳ 3 |
"WED" |
Setting for 3. |
↳ 4 |
"THU" |
Setting for 4. |
↳ 5 |
"FRI" |
Setting for 5. |
↳ 6 |
"SAT" |
Setting for 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 of 1004072985 entries. Add, remove or edit entries following the examples in the file. |
↳ -103399754 |
table |
Table of 103399754 entries. Add, remove or edit entries following the examples in the file. |
↳ -1037423548 |
table |
Table of 1037423548 entries. Add, remove or edit entries following the examples in the file. |
↳ -1043500161 |
table |
Table of 1043500161 entries. Add, remove or edit entries following the examples in the file. |
↳ -105598602 |
table |
Table of 105598602 entries. Add, remove or edit entries following the examples in the file. |
↳ -1073312073 |
table |
Table of 1073312073 entries. Add, remove or edit entries following the examples in the file. |
↳ -108848014 |
table |
Table of 108848014 entries. Add, remove or edit entries following the examples in the file. |
↳ -1099073636 |
table |
Table of 1099073636 entries. Add, remove or edit entries following the examples in the file. |
↳ -1114958242 |
table |
Table of 1114958242 entries. Add, remove or edit entries following the examples in the file. |
↳ -1118608187 |
table |
Table of 1118608187 entries. Add, remove or edit entries following the examples in the file. |
↳ -1161186391 |
table |
Table of 1161186391 entries. Add, remove or edit entries following the examples in the file. |
↳ -1164281509 |
table |
Table of 1164281509 entries. Add, remove or edit entries following the examples in the file. |
↳ -1168459546 |
table |
Table of 1168459546 entries. Add, remove or edit entries following the examples in the file. |
↳ -1173672830 |
table |
Table of 1173672830 entries. Add, remove or edit entries following the examples in the file. |
↳ -120156735 |
table |
Table of 120156735 entries. Add, remove or edit entries following the examples in the file. |
↳ -1203685470 |
table |
Table of 1203685470 entries. Add, remove or edit entries following the examples in the file. |
↳ -120578354 |
table |
Table of 120578354 entries. Add, remove or edit entries following the examples in the file. |
↳ -1207133769 |
table |
Table of 1207133769 entries. Add, remove or edit entries following the examples in the file. |
↳ -1217490622 |
table |
Table of 1217490622 entries. Add, remove or edit entries following the examples in the file. |
↳ -1225359404 |
table |
Table of 1225359404 entries. Add, remove or edit entries following the examples in the file. |
↳ -1229593481 |
table |
Table of 1229593481 entries. Add, remove or edit entries following the examples in the file. |
↳ -1231793417 |
table |
Table of 1231793417 entries. Add, remove or edit entries following the examples in the file. |
↳ -1247148211 |
table |
Table of 1247148211 entries. Add, remove or edit entries following the examples in the file. |
↳ -1247294802 |
table |
Table of 1247294802 entries. Add, remove or edit entries following the examples in the file. |
↳ -1276586360 |
table |
Table of 1276586360 entries. Add, remove or edit entries following the examples in the file. |
↳ -1287619521 |
table |
Table of 1287619521 entries. Add, remove or edit entries following the examples in the file. |
↳ -1288973891 |
table |
Table of 1288973891 entries. Add, remove or edit entries following the examples in the file. |
↳ -1289136221 |
table |
Table of 1289136221 entries. Add, remove or edit entries following the examples in the file. |
↳ -1300497193 |
table |
Table of 1300497193 entries. Add, remove or edit entries following the examples in the file. |
↳ -1308233316 |
table |
Table of 1308233316 entries. Add, remove or edit entries following the examples in the file. |
↳ -1319956120 |
table |
Table of 1319956120 entries. Add, remove or edit entries following the examples in the file. |
↳ -1349514245 |
table |
Table of 1349514245 entries. Add, remove or edit entries following the examples in the file. |
↳ -1356490953 |
table |
Table of 1356490953 entries. Add, remove or edit entries following the examples in the file. |
↳ -1359523911 |
table |
Table of 1359523911 entries. Add, remove or edit entries following the examples in the file. |
↳ -1369817450 |
table |
Table of 1369817450 entries. Add, remove or edit entries following the examples in the file. |
↳ -138648964 |
table |
Table of 138648964 entries. Add, remove or edit entries following the examples in the file. |
↳ -139400310 |
table |
Table of 139400310 entries. Add, remove or edit entries following the examples in the file. |
↳ -1410384421 |
table |
Table of 1410384421 entries. Add, remove or edit entries following the examples in the file. |
↳ -1419869345 |
table |
Table of 1419869345 entries. Add, remove or edit entries following the examples in the file. |
↳ -1420336129 |
table |
Table of 1420336129 entries. Add, remove or edit entries following the examples in the file. |
↳ -146460093 |
table |
Table of 146460093 entries. Add, remove or edit entries following the examples in the file. |
↳ -1472363892 |
table |
Table of 1472363892 entries. Add, remove or edit entries following the examples in the file. |
↳ -1496551068 |
table |
Table of 1496551068 entries. Add, remove or edit entries following the examples in the file. |
↳ -1504425495 |
table |
Table of 1504425495 entries. Add, remove or edit entries following the examples in the file. |
↳ -1521776363 |
table |
Table of 1521776363 entries. Add, remove or edit entries following the examples in the file. |
↳ -1524959147 |
table |
Table of 1524959147 entries. Add, remove or edit entries following the examples in the file. |
↳ -1532919875 |
table |
Table of 1532919875 entries. Add, remove or edit entries following the examples in the file. |
↳ -1539536559 |
table |
Table of 1539536559 entries. Add, remove or edit entries following the examples in the file. |
↳ -154855189 |
table |
Table of 154855189 entries. Add, remove or edit entries following the examples in the file. |
↳ -156397252 |
table |
Table of 156397252 entries. Add, remove or edit entries following the examples in the file. |
↳ -1592070727 |
table |
Table of 1592070727 entries. Add, remove or edit entries following the examples in the file. |
↳ -1622112934 |
table |
Table of 1622112934 entries. Add, remove or edit entries following the examples in the file. |
↳ -1633799162 |
table |
Table of 1633799162 entries. Add, remove or edit entries following the examples in the file. |
↳ -1657629123 |
table |
Table of 1657629123 entries. Add, remove or edit entries following the examples in the file. |
↳ -1660988219 |
table |
Table of 1660988219 entries. Add, remove or edit entries following the examples in the file. |
↳ -166839571 |
table |
Table of 166839571 entries. Add, remove or edit entries following the examples in the file. |
↳ -1692509313 |
table |
Table of 1692509313 entries. Add, remove or edit entries following the examples in the file. |
↳ -1699818764 |
table |
Table of 1699818764 entries. Add, remove or edit entries following the examples in the file. |
↳ -1708386982 |
table |
Table of 1708386982 entries. Add, remove or edit entries following the examples in the file. |
↳ -1753216046 |
table |
Table of 1753216046 entries. Add, remove or edit entries following the examples in the file. |
↳ -1768736648 |
table |
Table of 1768736648 entries. Add, remove or edit entries following the examples in the file. |
↳ -1769528472 |
table |
Table of 1769528472 entries. Add, remove or edit entries following the examples in the file. |
↳ -1774142845 |
table |
Table of 1774142845 entries. Add, remove or edit entries following the examples in the file. |
↳ -1777630136 |
table |
Table of 1777630136 entries. Add, remove or edit entries following the examples in the file. |
↳ -1781130443 |
table |
Table of 1781130443 entries. Add, remove or edit entries following the examples in the file. |
↳ -1817904483 |
table |
Table of 1817904483 entries. Add, remove or edit entries following the examples in the file. |
↳ -1821194396 |
table |
Table of 1821194396 entries. Add, remove or edit entries following the examples in the file. |
↳ -1825355772 |
table |
Table of 1825355772 entries. Add, remove or edit entries following the examples in the file. |
↳ -1851305682 |
table |
Table of 1851305682 entries. Add, remove or edit entries following the examples in the file. |
↳ -1860484356 |
table |
Table of 1860484356 entries. Add, remove or edit entries following the examples in the file. |
↳ -1894004139 |
table |
Table of 1894004139 entries. Add, remove or edit entries following the examples in the file. |
↳ -1902025470 |
table |
Table of 1902025470 entries. Add, remove or edit entries following the examples in the file. |
↳ -1926488450 |
table |
Table of 1926488450 entries. Add, remove or edit entries following the examples in the file. |
↳ -1942169613 |
table |
Table of 1942169613 entries. Add, remove or edit entries following the examples in the file. |
↳ -1947415645 |
table |
Table of 1947415645 entries. Add, remove or edit entries following the examples in the file. |
↳ -196675805 |
table |
Table of 196675805 entries. Add, remove or edit entries following the examples in the file. |
↳ -1973391500 |
table |
Table of 1973391500 entries. Add, remove or edit entries following the examples in the file. |
↳ -1988735197 |
table |
Table of 1988735197 entries. Add, remove or edit entries following the examples in the file. |
↳ -1999797981 |
table |
Table of 1999797981 entries. Add, remove or edit entries following the examples in the file. |
↳ -2000021141 |
table |
Table of 2000021141 entries. Add, remove or edit entries following the examples in the file. |
↳ -2001518509 |
table |
Table of 2001518509 entries. Add, remove or edit entries following the examples in the file. |
↳ -2028095666 |
table |
Table of 2028095666 entries. Add, remove or edit entries following the examples in the file. |
↳ -2034338067 |
table |
Table of 2034338067 entries. Add, remove or edit entries following the examples in the file. |
↳ -2035208924 |
table |
Table of 2035208924 entries. Add, remove or edit entries following the examples in the file. |
↳ -2038495927 |
table |
Table of 2038495927 entries. Add, remove or edit entries following the examples in the file. |
↳ -2040708515 |
table |
Table of 2040708515 entries. Add, remove or edit entries following the examples in the file. |
↳ -2049654576 |
table |
Table of 2049654576 entries. Add, remove or edit entries following the examples in the file. |
↳ -2066240242 |
table |
Table of 2066240242 entries. Add, remove or edit entries following the examples in the file. |
↳ -2074284650 |
table |
Table of 2074284650 entries. Add, remove or edit entries following the examples in the file. |
↳ -209915926 |
table |
Table of 209915926 entries. Add, remove or edit entries following the examples in the file. |
↳ -2126414432 |
table |
Table of 2126414432 entries. Add, remove or edit entries following the examples in the file. |
↳ -2133063188 |
table |
Table of 2133063188 entries. Add, remove or edit entries following the examples in the file. |
↳ -2145992129 |
table |
Table of 2145992129 entries. Add, remove or edit entries following the examples in the file. |
↳ -215175141 |
table |
Table of 215175141 entries. Add, remove or edit entries following the examples in the file. |
↳ -218679770 |
table |
Table of 218679770 entries. Add, remove or edit entries following the examples in the file. |
↳ -221059932 |
table |
Table of 221059932 entries. Add, remove or edit entries following the examples in the file. |
↳ -247856387 |
table |
Table of 247856387 entries. Add, remove or edit entries following the examples in the file. |
↳ -259784188 |
table |
Table of 259784188 entries. Add, remove or edit entries following the examples in the file. |
↳ -261541730 |
table |
Table of 261541730 entries. Add, remove or edit entries following the examples in the file. |
↳ -264897431 |
table |
Table of 264897431 entries. Add, remove or edit entries following the examples in the file. |
↳ -291091669 |
table |
Table of 291091669 entries. Add, remove or edit entries following the examples in the file. |
↳ -336631570 |
table |
Table of 336631570 entries. Add, remove or edit entries following the examples in the file. |
↳ -346622837 |
table |
Table of 346622837 entries. Add, remove or edit entries following the examples in the file. |
↳ -410208673 |
table |
Table of 410208673 entries. Add, remove or edit entries following the examples in the file. |
↳ -419963911 |
table |
Table of 419963911 entries. Add, remove or edit entries following the examples in the file. |
↳ -420810761 |
table |
Table of 420810761 entries. Add, remove or edit entries following the examples in the file. |
↳ -425430549 |
table |
Table of 425430549 entries. Add, remove or edit entries following the examples in the file. |
↳ -438809735 |
table |
Table of 438809735 entries. Add, remove or edit entries following the examples in the file. |
↳ -473051294 |
table |
Table of 473051294 entries. Add, remove or edit entries following the examples in the file. |
↳ -484064781 |
table |
Table of 484064781 entries. Add, remove or edit entries following the examples in the file. |
↳ -493344856 |
table |
Table of 493344856 entries. Add, remove or edit entries following the examples in the file. |
↳ -49694339 |
table |
Table of 49694339 entries. Add, remove or edit entries following the examples in the file. |
↳ -504005310 |
table |
Table of 504005310 entries. Add, remove or edit entries following the examples in the file. |
↳ -512529193 |
table |
Table of 512529193 entries. Add, remove or edit entries following the examples in the file. |
↳ -545967610 |
table |
Table of 545967610 entries. Add, remove or edit entries following the examples in the file. |
↳ -557290573 |
table |
Table of 557290573 entries. Add, remove or edit entries following the examples in the file. |
↳ -576782619 |
table |
Table of 576782619 entries. Add, remove or edit entries following the examples in the file. |
↳ -61172588 |
table |
Table of 61172588 entries. Add, remove or edit entries following the examples in the file. |
↳ -619014970 |
table |
Table of 619014970 entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
# 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" |
Who is allowed: jobs, groups or permissions for 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 |
Turns enabled on or off (default true). |
↳ Jobs |
table |
Who is allowed: jobs, groups or permissions for 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 |
Rate or multiplier for fast move multiplier. |
MouseSensitivity |
8.0 |
Number for mouse sensitivity (default 8.0). |
RollSpeed |
55.0 |
Number for roll speed (default 55.0). |
ZoomSpeed |
45.0 |
Number for zoom speed (default 45.0). |
MinFov |
20.0 |
Minimum or level requirement for min fov. |
MaxFov |
120.0 |
Upper limit for max fov. |
FreezePlayer |
true |
Camera behavior. |
HideGameHud |
true |
Hides game hud: true = yes, false = no (default true). |
ShowHelpersByDefault |
true |
Shows helpers by default: true = yes, false = no (default true). |
EnableFilters |
true |
Turns filters on or off (default true). |
UseStreamingFocus |
true |
Turns streaming focus on or off (default true). |
ControllerModel |
scriptedball |
Invisible RedM object used as a camera controller. |
ModelLoadTimeout |
5000 |
Time setting for model load timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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 |
Setting for roll right. |
↳ FilterPrevious |
INPUT_CREATOR_LT |
Page Up / Page Down switch the new photo-mode filters. |
↳ FilterNext |
INPUT_CREATOR_RT |
Setting for filter next. |
↳ Reset |
INPUT_OPEN_SATCHEL_MENU |
B |
Notes from the README#
# 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-10Paid (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" |
Setting for core resource. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
Locale |
"ar" |
Interface language of this script (en or ar). |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
InteractionDistance |
2.5 |
Distance in game units that applies to interaction distance. |
StreamDistance |
65.0 |
Distance in game units that applies to stream distance. |
SyncInterval |
5000 |
Time setting for sync interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
VolumeStep |
0.10 |
Number for volume step (default 0.10). |
SeekSeconds |
10 |
Number for seek seconds (default 10). |
DefaultRange |
20.0 |
Distance in game units that applies to default range. |
DefaultVolume |
1.0 |
Number for default volume (default 1.0). |
PlayCost |
0.0 |
money charged when a new song is started; 0 disables charging |
Prop |
table |
Game model or entity used for prop. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Model |
"p_phonograph01x" |
Game model or entity used for 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 |
Turns enabled on or off (default false). |
↳ Distance |
8.0 |
Distance in game units that applies to distance. |
↳ Scale |
0.18 |
Rate or multiplier for scale. |
↳ R |
115 |
Number for r (default 115). |
↳ G |
72 |
Number for g (default 72). |
↳ B |
145 |
Number for b (default 145). |
↳ A |
170 |
Number for a (default 170). |
Controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ Open |
0xC7B5340A |
Setting for open. |
↳ Place |
0x07CE1E61 |
Setting for place. |
↳ Cancel |
0xF84FA74F |
Setting for cancel. |
↳ Take |
0xF3830D8E |
Setting for take. |
↳ RotateLeft |
0x7F8D09B8 |
Setting for rotate left. |
↳ RotateRight |
0x4CC0E2FE |
Setting for rotate right. |
Portable |
table |
Table of portable entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Item |
"phonograph" |
Inventory items used by item. Names must exist in the jrs_items table. |
↳ Model |
"p_phonograph01x" |
Game model or entity used for model. |
↳ OwnerOnlyTake |
true |
Switch for owner only take: true = on, false = off (default true). |
↳ OwnerOnlyUse |
true |
only the owner can open / control a placed phonograph |
↳ MaxPerCharacter |
3 |
Upper limit for 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 in game units that applies to placement distance. |
↳ RotationStep |
4.0 |
Number for rotation step (default 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 in game units that applies to max distance. |
↳ SaveToDatabase |
false |
Switch for save to database: true = on, false = off (default false). |
↳ Blip |
table |
Map blip on the owner's own placed phonographs (owner only). |
Playlists |
table |
Table of playlists entries. Add, remove or edit entries following the examples in the file. |
↳ Shared |
true |
Switch for shared: true = on, false = off (default true). |
↳ MaxPlaylists |
20 |
Upper limit for max playlists. |
↳ MaxSongsPerPlaylist |
50 |
Upper limit for max songs per playlist. |
↳ MaxNameLength |
24 |
Upper limit for max name length. |
Logs |
table |
Table of logs entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ BotName |
"REDEMPIRE Gramophone" |
Text shown to the player for bot name. Change it to translate or rebrand. |
↳ ServerName |
"REDEMPIRE Server" |
Text shown to the player for server name. Change it to translate or rebrand. |
↳ Color |
7506394 |
Number for color (default 7506394). |
Stations |
table |
One physical station = one entry. Use allowedJobs = false for public access. |
Text |
table |
Text shown to the player for text. Change it to translate or rebrand. |
↳ Open |
"Open Gramophone" |
Setting for open. |
↳ Place |
"Place Gramophone" |
Setting for place. |
↳ Cancel |
"Cancel" |
Setting for cancel. |
↳ Take |
"Take Phonograph" |
Setting for take. |
↳ RotateLeft |
"Rotate Left" |
Setting for rotate left. |
↳ RotateRight |
"Rotate Right" |
Setting for rotate right. |
↳ Group |
"Gramophone" |
Who is allowed: jobs, groups or permissions for group. |
↳ NoAccess |
'You do not have access to t... |
Setting for no access. |
↳ InvalidLink |
'Please enter a valid YouTub... |
Setting for invalid link. |
↳ TooFar |
'You are too far from the gr... |
Setting for too far. |
↳ MaxVolume |
"Maximum volume reached." |
Upper limit for max volume. |
↳ MinVolume |
"Minimum volume reached." |
Minimum or level requirement for min volume. |
↳ NoMoney |
"You do not have enough money." |
Money value for no money. Rewards go through the economy multiplier of jrs_core. |
↳ Placed |
"Phonograph placed." |
Setting for placed. |
↳ Taken |
'Phonograph returned to your... |
Setting for taken. |
↳ MaxPortable |
'You reached the maximum num... |
Upper limit for max portable. |
↳ NotOwner |
'Only the owner can take thi... |
Setting for not owner. |
↳ InventoryMissing |
"jrs_inventory is not available." |
Setting for inventory missing. |
↳ ItemMissing |
'You do not have a phonograp... |
Inventory items used by item missing. Names must exist in the jrs_items table. |
Notes from the README#
# 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 = yes, false = no (default 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 |
Turns enabled on or off (default 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 |
Switch for enter name automatic: true = on, false = off (default false). |
Turn this off to go back to the old behaviour where every field is typed.
| Setting | Default | What it does |
|---|---|---|
PullIdentityFromCharacter |
true |
Switch for pull identity from character: true = on, false = off (default 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 |
Number for year (default 1899). |
↳ month |
6 |
Number for month (default 6). |
↳ day |
1 |
Number for day (default 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 in game units that applies to 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 |
Number for strawberry (default 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 of valentine entries. Add, remove or edit entries following the examples in the file. |
↳ Blackwater |
table |
Table of blackwater entries. Add, remove or edit entries following the examples in the file. |
↳ Rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ Saint Denis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
↳ Strawberry |
table |
Table of strawberry entries. Add, remove or edit entries following the examples in the file. |
↳ Annesburg |
table |
Table of annesburg entries. Add, remove or edit entries following the examples in the file. |
↳ Tumbleweed |
table |
Table of tumbleweed entries. Add, remove or edit entries following the examples in the file. |
↳ Armadillo |
table |
Table of armadillo entries. Add, remove or edit entries following the examples in the file. |
↳ Van Horn |
table |
Table of van horn entries. Add, remove or edit entries following the examples in the file. |
↳ Colter |
table |
Table of colter entries. Add, remove or edit entries following the examples in the file. |
↳ Wapiti |
table |
Table of wapiti entries. Add, remove or edit entries following the examples in the file. |
↳ Emerald Ranch |
table |
Table of emerald ranch entries. Add, remove or edit entries following the examples in the file. |
↳ MacFarlane |
table |
Table of mac farlane entries. Add, remove or edit entries following the examples in the file. |
↳ Lagras |
table |
Table of lagras entries. Add, remove or edit entries following the examples in the file. |
↳ Guarma |
table |
Table of guarma entries. Add, remove or edit entries following the examples in the file. |
Locations |
table |
World coordinates (x, y, z) used for 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 in game units that applies to ped despawn distance. |
**1869246576 is the official Government Seal / Senior Badge sprite (distinct from **
| Setting | Default | What it does |
|---|---|---|
BlipSprite |
1869246576 |
Map blip or icon settings for blip sprite. |
BlipColor |
"BLIP_MODIFIER_MP_COLOR_27" |
Royal Purple |
BlipScale |
0.7 |
Map blip or icon settings for blip scale. |
Keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ enter |
"INPUT_FRONTEND_RB" |
Setting for enter. |
↳ reissue |
"INPUT_FRONTEND_LB" |
Setting for 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 |
Turns enabled on or off (default 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" |
Text shown to the player for label. Change it to translate or rebrand. |
↳ Description |
"Official citizen identity card." |
Text shown to the player for description. Change it to translate or rebrand. |
↳ 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" |
Game model or entity used for ped. |
↳ Distance |
2.0 |
Distance in game units that applies to distance. |
↳ Keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ Blip |
false |
Off by default: the forger is meant to be found, not routed to. |
↳ BlipSprite |
587827268 |
Map blip or icon settings for blip sprite. |
↳ BlipScale |
0.2 |
Map blip or icon settings for blip scale. |
Off by default: nothing is sent anywhere until Enabled is set to true and a
| Setting | Default | What it does |
|---|---|---|
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Url |
"" |
Setting for url. |
↳ Name |
"REDEMPIRE Registry" |
Text shown to the player for name. Change it to translate or rebrand. |
↳ Colour |
10038562 |
Number for colour (default 10038562). |
↳ Registered |
'HAS REGISTERED THEIR IDENTI... |
Setting for registered. |
↳ Reissued |
'HAS EXTRACTED A COPY OF THE... |
Setting for reissued. |
↳ Forged |
'HAS BOUGHT A FORGED IDENTIT... |
Setting for forged. |
↳ Exposed |
'WAS CAUGHT CARRYING A FORGE... |
Setting for exposed. |
Integrated Portrait Photo Studio & ID upon Character Creation
| Setting | Default | What it does |
|---|---|---|
PortraitStudio |
table |
Table of portrait studio entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default 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 Lua lines |
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 in game units that applies to 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 of instruments entries. Add, remove or edit entries following the examples in the file. |
PianoModels |
table |
Pianos found in the world by model. Styles cycle with E. |
PianoStyles |
table |
Table of piano styles entries. Add, remove or edit entries following the examples in the file. |
PianoFemaleScenario |
"PROP_HUMAN_ABIGAIL_PIANO" |
Animation settings for 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 Lua lines |
Exports
IsActive, Play
config.lua - 49 options#
General
| Setting | Default | What it does |
|---|---|---|
Enabled |
true |
Turns enabled on or off (default true). |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Trigger |
table |
The production trigger stays close to RDR2's Dynamic Kill Cam: lethal hits. |
↳ FatalHitsOnly |
true |
Switch for fatal hits only: true = on, false = off (default true). |
↳ HeadshotsAlways |
false |
Switch for headshots always: true = on, false = off (default false). |
↳ ChancePercent |
100 |
Rate or multiplier for chance percent. |
↳ MinimumDistance |
3.0 |
Distance in game units that applies to minimum distance. |
↳ MaximumDistance |
250.0 |
Distance in game units that applies to maximum distance. |
↳ CooldownSeconds |
5.0 |
Time setting for cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Targets |
table |
Table of targets entries. Add, remove or edit entries following the examples in the file. |
↳ Players |
true |
Switch for players: true = on, false = off (default true). |
↳ HumanNPCs |
true |
Switch for human np cs: true = on, false = off (default true). |
↳ Animals |
false |
Switch for animals: true = on, false = off (default false). |
Detection |
table |
Table of detection entries. Add, remove or edit entries following the examples in the file. |
↳ DamageEventWindowMs |
900 |
Damage events select the exact victim. Aim/raycast checks are the fallback. |
↳ ResolveWindowMs |
900 |
Number for resolve window ms (default 900). |
↳ RaycastDistance |
300.0 |
Distance in game units that applies to raycast distance. |
↳ RaycastRadius |
0.12 |
Distance in game units that applies to raycast radius. |
↳ RaycastFlags |
511 |
Number for raycast flags (default 511). |
↳ ImpactMaxDistanceFromTarget |
4.0 |
Distance in game units that applies to impact max distance from target. |
↳ ShotDebounceMs |
45 |
Number for shot debounce ms (default 45). |
Camera |
table |
Table of camera entries. Add, remove or edit entries following the examples in the file. |
↳ TransitionInMs |
90 |
Number for transition in ms (default 90). |
↳ TransitionOutMs |
130 |
Number for transition out ms (default 130). |
↳ MinimumTravelMs |
650 |
Minimum or level requirement for minimum travel ms. |
↳ MaximumTravelMs |
1250 |
Upper limit for maximum travel ms. |
↳ TravelMsPerMeter |
18.0 |
Number for travel ms per meter (default 18.0). |
↳ EndHoldMs |
260 |
Number for end hold ms (default 260). |
↳ StartFov |
48.0 |
Number for start fov (default 48.0). |
↳ EndFov |
28.0 |
Number for end fov (default 28.0). |
↳ StartBehindMuzzle |
0.55 |
Number for start behind muzzle (default 0.55). |
↳ EndBeforeImpact |
0.72 |
Number for end before impact (default 0.72). |
↳ SideOffset |
0.20 |
Number for side offset (default 0.20). |
↳ ArcHeight |
0.22 |
Number for arc height (default 0.22). |
↳ LookAhead |
0.09 |
Number for look ahead (default 0.09). |
SlowMotion |
table |
Table of slow motion entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ TimeScale |
0.22 |
Rate or multiplier for time scale. |
Controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ DisableDuringCamera |
true |
Turns off during camera: true = yes, false = no (default true). |
↳ AllowSkip |
true |
Allows skip: true = yes, false = no (default 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 |
Turns enabled on or off (default true). |
↳ Name |
"jrs_killcam_test" |
Text shown to the player for name. Change it to translate or rebrand. |
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#
# 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 notePaid (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" |
Inventory items used by item label en. Names must exist in the jrs_items table. |
ItemDescription |
'دفتر جلدي رسمي لحفظ وتنظيم ... |
Inventory items used by item description. Names must exist in the jrs_items table. |
ItemDescriptionEn |
'An official leather binder ... |
Inventory items used by item description en. Names must exist in the jrs_items table. |
ItemWeight |
0.20 |
Upper limit for item weight. |
ItemCategory |
"documents" |
Inventory items used by item category. Names must exist in the jrs_items table. |
Command |
"licenses" |
الأوامر لفتح الدفتر (بالإضافة لاستخدامه كـ Item من الحقيبة) |
CommandAliases |
table |
Table of command aliases entries. Add, remove or edit entries following the examples in the file. |
RequireItem |
true |
هل يلزم وجود دفتر الرخص في الحقيبة لفتح القائمة؟ |
ShowDistance |
3.5 |
المسافة القصوى بالأمتار لإظهار الرخصة أو الصك لشخص قريب |
AutoCloseSharedSeconds |
16 |
مدة إغلاق عرض الرخصة التلقائي عند الشخص المستقبل (بالثواني) |
AutoInstallDatabase |
true |
التثبيت التلقائي لجدول قاعدة البيانات والآيتم |
AutoRegisterItem |
true |
Automatically handles register item: true = yes, false = no (default true). |
UseAnimation |
true |
رسائل التنبيه والأنيميشن |
AnimDict |
nil |
Animation settings for anim dict. |
Scenario |
"WORLD_HUMAN_WRITE_NOTEBOOK" |
أنيميشن دفتر الملاحظات الواقعي في RDR2 |
↳ Weaponlicence |
table |
1. رخص الأسلحة والهوية |
↳ idcard |
table |
Table of idcard entries. Add, remove or edit entries following the examples in the file. |
↳ fakeid |
table |
Table of fakeid entries. Add, remove or edit entries following the examples in the file. |
↳ house_deed |
table |
2. صكوك المنازل والعقارات |
↳ property_deed |
table |
Table of property deed entries. Add, remove or edit entries following the examples in the file. |
↳ guarma_voucher |
table |
Table of guarma voucher entries. Add, remove or edit entries following the examples in the file. |
↳ voucher_flame_shoes |
table |
Table of voucher flame shoes entries. Add, remove or edit entries following the examples in the file. |
↳ jrs_store_deed |
table |
3. صكوك المتاجر والشراء التجاري |
↳ jrs_store_title |
table |
Text shown to the player for jrs store title. Change it to translate or rebrand. |
↳ saloon_deed |
table |
Table of saloon deed entries. Add, remove or edit entries following the examples in the file. |
↳ generalstore_deed |
table |
Table of generalstore deed entries. Add, remove or edit entries following the examples in the file. |
↳ gunstore_deed |
table |
Table of gunstore deed entries. Add, remove or edit entries following the examples in the file. |
↳ truckr |
table |
Table of truckr entries. Add, remove or edit entries following the examples in the file. |
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 = yes, false = no (default false). |
REDEMPIRE |
table |
Table of redempire entries. Add, remove or edit entries following the examples in the file. |
↳ CoreResource |
"jrs_core" |
Setting for core resource. |
↳ MysqlResource |
"oxmysql" |
Setting for 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 |
Turns enabled on or off (default true). |
↳ type |
"database" |
Setting for type. |
↳ table |
"jrs_mapcolor" |
Setting for table. |
↳ file |
"mapcolor_state.json" |
Setting for file. |
Admin |
table |
Who is allowed: jobs, groups or permissions for admin. |
↳ command |
"mapcoloradmin" |
Setting for 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#
# 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 |
Turns enabled on or off (default true). |
↳ SourceResource |
"jrs_armour" |
Setting for source resource. |
↳ DefaultColor |
"#d7d7d7" |
Setting for 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 |
Setting for armour hud. |
DevMode |
true |
Switch for dev mode: true = on, false = off (default true). |
Debug |
false |
Debug output for debug: true = yes, false = no (default 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 |
Switch for on death: true = on, false = off (default true). |
↳ OnNuiFocus |
true |
inventory and most NUI menus |
↳ OnStateBagMenu |
true |
common inventory/menu state-bag flags |
↳ OnPauseMenu |
true |
Switch for on pause menu: true = on, false = off (default true). |
↳ OnMap |
true |
Switch for on map: true = on, false = off (default true). |
↳ OnCinematic |
true |
Switch for on cinematic: true = on, false = off (default true). |
↳ OnScreenFade |
true |
Switch for on screen fade: true = on, false = off (default true). |
↳ CheckInterval |
150 |
Time setting for check interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Performance |
table |
Table of performance entries. Add, remove or edit entries following the examples in the file. |
↳ CompassInterval |
75 |
Time setting for compass interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ VoiceInterval |
100 |
Time setting for voice interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AdminMuteFallback |
2000 |
Who is allowed: jobs, groups or permissions for admin mute fallback. |
↳ NearbyPlayersInterval |
2000 |
Time setting for nearby players interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ TelegramInterval |
5000 |
Time setting for telegram interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ HouseRefreshInterval |
60000 |
Time setting for house refresh interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ TemperatureInterval |
2000 |
Time setting for temperature interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ StressShotInterval |
150 |
Time setting for stress shot interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ StressShotCooldown |
2500 |
Time setting for stress shot cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ PoisonIdleInterval |
1000 |
Time setting for poison idle interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ PoisonRunCheck |
500 |
Number for poison run check (default 500). |
↳ WeaponInterval |
300 |
Time setting for weapon interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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 |
Time setting for unmounted interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ NotReadyInterval |
1500 |
Time setting for not ready interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ UseStableIntegration |
true |
Turns stable integration on or off (default true). |
↳ StableResource |
"jrs_stable" |
Setting for stable resource. |
↳ StableMaxDistance |
80.0 |
Distance in game units that applies to stable max distance. |
↳ ShowStableHorseWhenUnmounted |
false |
Shows stable horse when unmounted: true = yes, false = no (default 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 |
Turns enabled on or off (default true). |
↳ MaxLevel |
10000 |
Upper limit for max level. |
↳ DirtyThreshold |
6000 |
Number for dirty threshold (default 6000). |
↳ TickInterval |
1000 |
Time setting for tick interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ ServerSyncInterval |
60000 |
Time setting for server sync interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ ParticleRenderingDistance |
15.0 |
Distance in game units that applies to particle rendering distance. |
↳ ParticleRefreshInterval |
5000 |
Time setting for particle refresh interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ FliesEnabled |
false |
In RDO living players do not have cartoon flies swarming them |
↳ Temperature |
table |
Table of temperature entries. Add, remove or edit entries following the examples in the file. |
↳ 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 of notifications entries. Add, remove or edit entries following the examples in the file. |
DrugEffect |
true |
Switch for drug effect: true = on, false = off (default true). |
Start_stress |
true |
Switch for start stress: true = on, false = off (default true). |
StressGainPerShot |
2 |
Number for stress gain per shot (default 2). |
DrugEffectTime |
60000 |
drug effect time |
InitialValues |
table |
Table of initial values entries. Add, remove or edit entries following the examples in the file. |
↳ 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 |
Turns enabled on or off (default 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 |
Turns enabled on or off (default 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 |
Turns enabled on or off (default true). |
↳ LogBlocked |
true |
Logs blocked: true = yes, false = no (default true). |
↳ MaxGainPerMinute |
table |
Upper limit for 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 |
Number for alcohol consider very drunk (default 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 |
Number for health damage value (default 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 |
Number for swim drain hunger (default 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 of clothing list hashes entries. Add, remove or edit entries following the examples in the file. |
↳ hat |
table |
Table of hat entries. Add, remove or edit entries following the examples in the file. |
↳ gloves |
table |
Table of gloves entries. Add, remove or edit entries following the examples in the file. |
↳ shirt |
table |
Table of shirt entries. Add, remove or edit entries following the examples in the file. |
↳ pants |
table |
Table of pants entries. Add, remove or edit entries following the examples in the file. |
↳ boots |
table |
Table of boots entries. Add, remove or edit entries following the examples in the file. |
↳ vest |
table |
Table of vest entries. Add, remove or edit entries following the examples in the file. |
↳ coats |
table |
Table of coats entries. Add, remove or edit entries following the examples in the file. |
↳ closed_coats |
table |
Table of closed coats entries. Add, remove or edit entries following the examples in the file. |
↳ ponchos_1 |
table |
Table of ponchos 1 entries. Add, remove or edit entries following the examples in the file. |
↳ ponchos_2 |
table |
Table of ponchos 2 entries. Add, remove or edit entries following the examples in the file. |
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 of notifications entries. Add, remove or edit entries following the examples in the file. |
↳ 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 of hunger entries. Add, remove or edit entries following the examples in the file. |
↳ Thirst |
table |
Table of thirst entries. Add, remove or edit entries following the examples in the file. |
↳ Stress |
table |
Table of stress entries. Add, remove or edit entries following the examples in the file. |
↳ 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 |
Switch for salty chat: true = on, false = off (default true). |
DefaultMicRange |
1 |
max 4 |
VoiceKey |
0x4BC9DABB |
Push-to-talk (N). Uses the logical RedM control, so rebinding the key still works. |
VoicePressingDelay |
500 |
Time setting for voice pressing delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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)" |
Setting for default. |
↳ Cold |
table |
Table of cold entries. Add, remove or edit entries following the examples in the file. |
↳ Hot |
table |
Table of hot entries. Add, remove or edit entries following the examples in the file. |
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 |
Turns enabled on or off (default true). |
↳ detectDistance |
50.0 |
Distance in game units that applies to detect distance. |
↳ thresholds |
table |
Table of thresholds entries. Add, remove or edit entries following the examples in the file. |
ChangingRangeData |
table |
Distance in game units that applies to changing range data. |
↳ Enabled |
true |
Turns enabled on or off (default 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 of snakes entries. Add, remove or edit entries following the examples in the file. |
Prop |
table |
Game model or entity used for prop. |
This file is a shared_script, so SendNotification runs on both sides -
| Setting | Default | What it does |
|---|---|---|
shake |
table |
Table of shake entries. Add, remove or edit entries following the examples in the file. |
↳ 1 |
table |
Table of 1 entries. Add, remove or edit entries following the examples in the file. |
↳ 2 |
table |
Table of 2 entries. Add, remove or edit entries following the examples in the file. |
↳ 3 |
table |
Table of 3 entries. Add, remove or edit entries following the examples in the file. |
↳ 4 |
table |
Table of 4 entries. Add, remove or edit entries following the examples in the file. |
↳ 5 |
table |
Table of 5 entries. Add, remove or edit entries following the examples in the file. |
stress < RunOnlyStress -> full sprint
| Setting | Default | What it does |
|---|---|---|
1 |
table |
Table of 1 entries. Add, remove or edit entries following the examples in the file. |
↳ min |
30 |
Minimum or level requirement for min. |
↳ max |
60 |
Upper limit for max. |
↳ timeout |
math.random(30000, 40000) |
Time setting for timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
2 |
table |
Table of 2 entries. Add, remove or edit entries following the examples in the file. |
↳ min |
60 |
Minimum or level requirement for min. |
↳ max |
70 |
Upper limit for max. |
↳ timeout |
math.random(20000, 30000) |
Time setting for timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
3 |
table |
Table of 3 entries. Add, remove or edit entries following the examples in the file. |
↳ min |
70 |
Minimum or level requirement for min. |
↳ max |
80 |
Upper limit for max. |
↳ timeout |
math.random(10000, 20000) |
Time setting for timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
4 |
table |
Table of 4 entries. Add, remove or edit entries following the examples in the file. |
↳ min |
80 |
Minimum or level requirement for min. |
↳ max |
90 |
Upper limit for max. |
↳ timeout |
math.random(5000, 10000) |
Time setting for timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
5 |
table |
Table of 5 entries. Add, remove or edit entries following the examples in the file. |
↳ min |
90 |
Minimum or level requirement for min. |
↳ max |
100 |
Upper limit for max. |
↳ timeout |
math.random(9000, 15000) |
Time setting for timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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 |
Switch for reset hunger: true = on, false = off (default false). |
ResetThirst |
false |
Switch for reset thirst: true = on, false = off (default false). |
ResetStress |
true |
Switch for reset stress: true = on, false = off (default true). |
ResetDirt |
false |
Switch for reset dirt: true = on, false = off (default false). |
HungerOnRespawn |
50 |
Time setting for hunger on respawn. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
ThirstOnRespawn |
50 |
Time setting for thirst on respawn. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
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 |
Turns enabled on or off (default true). |
resource |
"jrs_core" |
Setting for resource. |
event |
"jrs_core:hud:openEditor" |
Setting for event. |
label |
"Core HUD" |
Text shown to the player for label. Change it to translate or rebrand. |
hint |
'Saves these settings, close... |
Setting for hint. |
RDR2-style tracking vision: hold/toggle to desaturate the screen and
| Setting | Default | What it does |
|---|---|---|
Enabled |
true |
Turns enabled on or off (default 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 |
Turns enabled on or off (default true). |
↳ MaxLevel |
100 |
Upper limit for 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 of herbs entries. Add, remove or edit entries following the examples in the file. |
↳ hunting |
table |
Table of hunting entries. Add, remove or edit entries following the examples in the file. |
↳ mining |
table |
Table of mining entries. Add, remove or edit entries following the examples in the file. |
↳ farming |
table |
Table of farming entries. Add, remove or edit entries following the examples in the file. |
↳ lumberjack |
table |
Table of lumberjack entries. Add, remove or edit entries following the examples in the file. |
↳ corpses |
table |
Table of corpses entries. Add, remove or edit entries following the examples in the file. |
↳ persons |
table |
Table of persons entries. Add, remove or edit entries following the examples in the file. |
↳ players |
table |
Table of players entries. Add, remove or edit entries following the examples in the file. |
↳ animals |
table |
Game model or entity used for animals. |
↳ vehicles |
table |
Table of vehicles entries. Add, remove or edit entries following the examples in the file. |
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 |
"" |
Setting for timecycle modifier. |
TimecycleStrength |
1.0 |
Number for timecycle strength (default 1.0). |
BlockWhileSwimming |
true |
The ability refuses to (re)activate, and force-deactivates if already on, while any of these are true. |
BlockWhileRagdoll |
true |
Switch for block while ragdoll: true = on, false = off (default true). |
BlockWhileAiming |
true |
Switch for block while aiming: true = on, false = off (default 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 of smoking entries. Add, remove or edit entries following the examples in the file. |
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 |
Turns enabled on or off (default true). |
↳ Initial |
0 |
Number for initial (default 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 |
Time setting for pee duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ WarningAt |
85 |
Number for warning at (default 85). |
↳ CriticalAt |
95 |
Number for critical at (default 95). |
↳ NoticeCooldownMs |
120000 |
Time setting for notice cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CriticalMovementEnabled |
true |
Switch for critical movement enabled: true = on, false = off (default true). |
↳ CriticalMoveRate |
0.95 |
Rate or multiplier for critical move rate. |
↳ Drain |
table |
{ level added, interval in milliseconds } |
↳ BlockOnMount |
true |
Switch for block on mount: true = on, false = off (default true). |
↳ BlockInVehicle |
true |
Switch for block in vehicle: true = on, false = off (default true). |
↳ BlockWhileArmed |
true |
Switch for block while armed: true = on, false = off (default 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 |
Animation settings for female animation. |
↳ Messages |
table |
Text shown to the player for messages. Change it to translate or rebrand. |
↳ 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 in game units that applies to 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 of water actions entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ GroupTitle |
"River" |
Title displayed above the prompt group |
↳ GroupTitleLocale |
"metabolism_water_prompt_title" |
Interface language of this script (en or ar). |
↳ RequireRightClick |
true |
Right-click requirement: prompts only appear when holding or pressing right-click near water |
↳ RightClickGraceMs |
3500 |
Number for right click grace ms (default 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 of toggle river actions entries. Add, remove or edit entries following the examples in the file. |
↳ Dirt |
table |
Uses the DirtSystem already integrated into jrs_metabolism. |
↳ WaterTypes |
table |
Table of water types entries. Add, remove or edit entries following the examples in the file. |
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 = yes, false = no (default false). |
ShowZone |
false |
Shows zone: true = yes, false = no (default false). |
MegaphoneItem |
"megaphone" |
Usable inventory item. |
MegaphoneRange |
50.0 |
Distance in game units that applies to megaphone range. |
AudioEffect |
table |
Requires in server.cfg: setr voice_useNativeAudio true setr voice_enableSubmix 1 |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ submixName |
"jrs_amplified_voice" |
Text shown to the player for submix name. Change it to translate or rebrand. |
↳ effectSlot |
0 |
Number for effect slot (default 0). |
↳ outputSlot |
0 |
Number for output slot (default 0). |
↳ lowFrequency |
320.0 |
Megaphone / PA-style band pass. Raise lowFrequency and lower highFrequency for a harsher, older loudspeaker sound. |
↳ highFrequency |
4800.0 |
Number for high frequency (default 4800.0). |
↳ ringModMix |
0.08 |
Number for ring mod mix (default 0.08). |
↳ fudge |
0.0 |
Number for fudge (default 0.0). |
StageMicrophoneControl |
0xCEFD9220 |
Fixed microphone interaction. INPUT_CONTEXT / E on RedM. |
StageMicrophoneRange |
50.0 |
Distance in game units that applies to 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" |
Game model or entity used for megaphone prop. |
MegaphoneBoneName |
"SKEL_R_HAND" |
Text shown to the player for megaphone bone name. Change it to translate or rebrand. |
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) |
Setting for 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 |
Animation settings for megaphone animation. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ dict |
"amb_rest@world_human_smokin... |
Animation settings for dict. |
↳ name |
"wip_base" |
Text shown to the player for name. Change it to translate or rebrand. |
↳ flag |
31 |
Number for flag (default 31). |
↳ blendInSpeed |
1.0 |
Number for blend in speed (default 1.0). |
↳ blendOutSpeed |
-1.0 |
Number for blend out speed (default -1.0). |
↳ playbackRate |
0.0 |
Rate or multiplier for playback rate. |
MicrophoneProp |
"p_phonograph01x" |
Static microphone prop used by configured microphone zones. |
PropSpawnDistance |
150.0 |
Distance in game units that applies to prop spawn distance. |
MicrophoneZones |
table |
Table of microphone zones entries. Add, remove or edit entries following the examples in the file. |
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 Lua lines |
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 = yes, false = no (default true). |
CharacterReadyTimeout |
15000 |
Time setting for character ready timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
MinTumblers |
1 |
Minigame limits |
MaxTumblers |
20 |
Upper limit for max tumblers. |
ConfirmPrompt |
"Confirm" |
UI prompts |
RotatePrompt |
"Rotate" |
Text shown to the player for rotate prompt. Change it to translate or rebrand. |
CancelPrompt |
"Cancel" |
Text shown to the player for cancel prompt. Change it to translate or rebrand. |
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 Lua lines |
Database tables
jrs_orcabridge_links
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 |
Switch for owner: true = on, false = off (default true). |
↳ admin |
true |
Switch for admin: true = on, false = off (default true). |
AllowSelfEdit |
true |
Allows self edit: true = yes, false = no (default 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 |
Switch for hold to show: true = on, false = off (default true). |
DrawDistance |
30.0 |
Distance in game units that applies to draw distance. |
TagDrawDistance |
10.0 |
Distance in game units that applies to 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 |
Rate or multiplier for refresh rate. |
ShowSelf |
true |
Shows self: true = yes, false = no (default true). |
OnlyOnScreen |
true |
Switch for only on screen: true = on, false = off (default true). |
ShowPlayerName |
true |
Shows player name: true = yes, false = no (default true). |
ShowServerId |
true |
Shows server id: true = yes, false = no (default true). |
ShowVoiceIndicator |
true |
Shows voice indicator: true = yes, false = no (default true). |
MaxTagLength |
32 |
Tag settings |
DefaultTagText |
"TAG" |
Text shown to the player for default tag text. Change it to translate or rebrand. |
DefaultTagColor |
"#ffffff" |
Setting for 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 |
Turns enabled on or off (default 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" |
Setting for result event. |
↳ StartingText |
"TAG" |
What a bought tag starts as, before the player edits it. |
↳ StartingColor |
"#e7c56c" |
Setting for 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 |
Turns enabled on or off (default true). |
↳ ShowBadges |
true |
Shows badges: true = yes, false = no (default 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 = yes, false = no (default false). |
Notes from the README#
# 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 = yes, false = no (default false). |
BoatModel |
"RCBOAT" |
Native RDR2 RC boat, hash 0x5E56769C |
RentalPrice |
10 |
Money value for rental price. Rewards go through the economy multiplier of 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 in game units that applies to interact distance. |
DrawDistance |
12.0 |
Distance in game units that applies to draw distance. |
MaxBoatDistance |
450.0 |
Distance in game units that applies to max boat distance. |
MaxSessionSeconds |
0 |
0 = unlimited until the player exits |
RentalCooldownSeconds |
3 |
Time setting for rental cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ Forward |
0x8FD015D8 |
W |
↳ Backward |
0xD27782E3 |
S |
↳ Left |
0x7065027D |
A |
↳ Right |
0xB4E465B4 |
D |
↳ Exit |
0x156F7119 |
BACKSPACE |
Movement |
table |
Table of movement entries. Add, remove or edit entries following the examples in the file. |
↳ MaxForwardSpeed |
7.5 |
Upper limit for max forward speed. |
↳ MaxReverseSpeed |
3.0 |
Upper limit for max reverse speed. |
↳ Acceleration |
4.2 |
Number for acceleration (default 4.2). |
↳ Deceleration |
3.4 |
Number for deceleration (default 3.4). |
↳ TurnSpeed |
58.0 |
Number for turn speed (default 58.0). |
↳ MinTurnMultiplier |
0.28 |
Minimum or level requirement for min turn multiplier. |
ShoreProtection |
table |
Table of shore protection entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default 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 or level requirement for min surface clearance. |
↳ SafeReturnZOffset |
0.04 |
Number for safe return z offset (default 0.04). |
↳ ReturnToLastSafeWater |
true |
Switch for return to last safe water: true = on, false = off (default true). |
↳ SafePositionUpdateMs |
100 |
Breadcrumb history of deep-water positions for safe recovery |
↳ SafeHistorySize |
64 |
Number for safe history size (default 64). |
↳ SafeHistoryMinDistance |
0.50 |
Distance in game units that applies to safe history min distance. |
↳ LandRecoveryDelayMs |
80 |
Delay before recovering boat back to water if it somehow ends up on land |
↳ ShoreBrakeMs |
280 |
Number for shore brake ms (default 280). |
Camera |
table |
Table of camera entries. Add, remove or edit entries following the examples in the file. |
↳ Offset |
vector3(0.0, -4.2, 2.0) |
Setting for offset. |
↳ LookAtOffset |
vector3(0.0, 0.8, 0.25) |
Setting for look at offset. |
↳ Fov |
55.0 |
Number for fov (default 55.0). |
↳ TransitionMs |
450 |
Number for transition ms (default 450). |
↳ FollowSmoothness |
9.0 |
Number for follow smoothness (default 9.0). |
↳ KeepAboveWater |
true |
Switch for keep above water: true = on, false = off (default true). |
↳ MinHeightAboveWater |
1.15 |
Minimum or level requirement for min height above water. |
↳ MinLookAtAboveWater |
0.10 |
Minimum or level requirement for min look at above water. |
UI |
table |
Table of ui entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
Prompt |
table |
Text shown to the player for prompt. Change it to translate or rebrand. |
↳ Control |
0xCEFD9220 |
E |
↳ Title |
"RC Boat Rental" |
Text shown to the player for title. Change it to translate or rebrand. |
↳ Text |
"Rent RC Boat" |
Text shown to the player for text. Change it to translate or rebrand. |
Blip |
table |
Map blip so the rental station / bot can be found from a distance. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Sprite |
2005921736 |
2005921736 = Canoe / Boat sprite (matches jrs_boats) |
↳ Scale |
0.2 |
Rate or multiplier for scale. |
↳ Colour |
"BLIP_MODIFIER_MP_COLOR_32" |
White |
BoatBlip |
table |
Map blip attached to the RC boat entity while driving |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Sprite |
2005921736 |
Map blip or icon settings for sprite. |
↳ Scale |
0.18 |
Rate or multiplier for scale. |
↳ Colour |
"BLIP_MODIFIER_MP_COLOR_32" |
White |
↳ Name |
table |
Text shown to the player for name. Change it to translate or rebrand. |
Race |
table |
Multiplayer race settings. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ EntryFee |
0 |
Race still uses the normal boat rental price above. This is an OPTIONAL additional race entry fee. |
↳ Reward |
5 |
Money value for reward. Rewards go through the economy multiplier of jrs_core. |
↳ MinPlayers |
2 |
Minimum or level requirement for min players. |
↳ MaxPlayers |
4 |
Upper limit for max players. |
↳ LobbyCountdownSeconds |
8 |
Once at least MinPlayers are queued, this lobby countdown begins. |
↳ StartCountdownSeconds |
3 |
Number for start countdown seconds (default 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 |
Number for circle height above water (default 0.18). |
↳ ShowNextCheckpoint |
true |
Shows next checkpoint: true = yes, false = no (default true). |
↳ FinishHoldSeconds |
5 |
Seconds after a winner is decided before every race boat is returned. |
RentalScene |
table |
Table of rental scene entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ SpawnEntitiesOnStart |
true |
Switch for spawn entities on start: true = on, false = off (default 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 |
Game model or entity used for fallback ped models. |
↳ FallbackToPlayerModel |
true |
Switch for fallback to player model: true = on, false = off (default true). |
↳ PedScenario |
"WORLD_HUMAN_STAND_WAITING" |
Game model or entity used for ped scenario. |
↳ TableModel |
"p_table04x" |
Game model or entity used for table model. |
↳ TableTopHeight |
0.78 |
Number for table top height (default 0.78). |
↳ TableZOffset |
0.0 |
Number for table z offset (default 0.0). |
↳ SnapTableToGround |
false |
Switch for snap table to ground: true = on, false = off (default 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 of display boat entries. Add, remove or edit entries following the examples in the file. |
PlayerControl |
table |
Key or control used for player control. Controls are hash values from the game input list. |
↳ Enabled |
true |
Turns enabled on or off (default 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" |
Game model or entity used for prop entity type. |
↳ PropBone |
"SKEL_R_Hand" |
Game model or entity used for prop bone. |
↳ PropOffset |
vector3(0.12, 0.03, -0.04) |
Game model or entity used for prop offset. |
↳ PropRotation |
vector3(5.0, 82.0, 95.0) |
Game model or entity used for prop rotation. |
↳ Scenario |
"WORLD_HUMAN_CROUCH_INSPECT" |
Animation settings for scenario. |
↳ FaceBoatOnStart |
true |
Switch for face boat on start: true = on, false = off (default 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 of 1 entries. Add, remove or edit entries following the examples in the file. |
EnableTestCommand |
false |
Turns test command on or off (default false). |
Notes from the README#
# 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 Lua lines |
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 |
Upper limit for max length. |
MaxPerCharacter |
3 |
Upper limit for max per character. |
DurationMinutes |
120 |
scenes expire on their own (kept across restarts until then) |
CooldownSeconds |
15 |
Time setting for cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
ViewDistance |
9.0 |
how close you must be to read it |
RemoveDistance |
3.0 |
Distance in game units that applies to remove distance. |
SyncRadius |
120.0 |
server only sends scenes this close to you |
AdminGroups |
table |
Who is allowed: jobs, groups or permissions for 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 Lua lines |
Commands
/testprog
Exports
Progress, ProgressWithStartAndTick, ProgressWithStartEvent, ProgressWithTickEvent, isDoingSomething
Notes from the README#
# 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 */
}