Legal jobs and gathering: police, medic, mining, hunting, fishing, crafting, railroad and more.
This folder has 31 scripts. Pick a script in the tabs below.
Paid (server only) jrs_boats
jrs core Boats for jrs_core and jrs_inventory
| Resource | jrs_boats |
| Folder | [JOBS] |
| Version | 2.9.3 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 5,712 Lua lines |
Commands
/boatEnter/shipLoad/shipUnload
Exports
GetLargeShipDefinition, IsLargeShipModel
Database tables
jrs_boats
config/config.lua - 164 options#
General
| Setting | Default | What it does |
|---|---|---|
CoreResource |
"jrs_core" |
Setting for core resource. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
DatabaseTable |
"jrs_boats" |
Setting for database table. |
PortableItem |
"portable_canoe" |
Inventory items used by portable item. Names must exist in the jrs_items table. |
StoragePrefix |
"jrs_boat_" |
Setting for storage prefix. |
Locale |
"ar" |
Interface language of this script (en or ar). |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
NameMinLength |
2 |
Minimum or level requirement for name min length. |
NameMaxLength |
30 |
Upper limit for name max length. |
RequestCooldownMs |
500 |
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. |
RemoteReturnDelay |
15000 |
Time setting for remote return delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
ShopSessionMs |
900000 |
Number for shop session ms (default 900000). |
keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ shop |
0x760A9C6F |
[G] Open Boat Shop Menu |
↳ options |
0xF1301666 |
[O] Opens In-Boat Menu for Anchor, Inventory and Remote Return |
↳ ret |
0xD9D0E1C0 |
[space] Return Boat to Shop at Prompt |
maxBoats |
5 |
Default: 5 |
sellPrice |
0.60 |
Default: 0.60 |
blockNpcBoats |
false |
If true, will block the spawning of NPC boats |
blipAllowedClosed |
true |
If true, will show colored blip when shop is closed |
↳ keelboat |
table |
Table of keelboat entries. Add, remove or edit entries following the examples in the file. |
inventory |
table |
Table of inventory entries. Add, remove or edit entries following the examples in the file. |
↳ pirogue2 |
table |
Portable |
↳ canoetreetrunk |
table |
Canoes |
↳ canoe |
table |
Table of canoe entries. Add, remove or edit entries following the examples in the file. |
↳ pirogue |
table |
Table of pirogue entries. Add, remove or edit entries following the examples in the file. |
↳ skiff |
table |
Rowboats |
↳ rowboat |
table |
Table of rowboat entries. Add, remove or edit entries following the examples in the file. |
↳ rowboatSwamp |
table |
Table of rowboat swamp entries. Add, remove or edit entries following the examples in the file. |
↳ keelboat |
table |
Table of keelboat entries. Add, remove or edit entries following the examples in the file. |
LargeShips |
table |
Large ships / hybrid ships Native RDR2 boat models can use themselves as the physics root. Streamed object models automatically fall back to the hidden physics-root system. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DefaultPhysicsRoot |
'boatsteam02x' |
Setting for default physics root. |
↳ PreviewFov |
88.0 |
Number for preview fov (default 88.0). |
↳ InteractionDistance |
2.5 |
Distance in game units that applies to interaction distance. |
↳ OptionsDistance |
45.0 |
Distance in game units that applies to options distance. |
↳ CargoSearchRadius |
14.0 |
Distance in game units that applies to cargo search radius. |
↳ MaxCargoEntityDistance |
22.0 |
Distance in game units that applies to max cargo entity distance. |
↳ StateSaveIntervalMs |
15000 |
Time setting for state save interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BoardingPromptDistance |
35.0 |
Distance in game units that applies to boarding prompt distance. |
↳ controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ DrivingHUD |
table |
Table of driving hud entries. Add, remove or edit entries following the examples in the file. |
↳ ships |
table |
visualType = 'auto' detects whether the model is a native vehicle or a streamed object. useNativePhysics = 'auto' uses native boat physics when the model is a vehicle; otherwise the model is attached to DefaultPhysicsRoot as a hyb |
HorseTransport |
table |
Horse transport job (horseBoat only) Horse transport appears in the separate Jobs tab. Starting a job spawns a temporary free horseBoat at the pickup dock; no purchase or ownership is required. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ JobsMenu |
true |
Show horse transport in a separate Jobs tab inside the boat shop. |
↳ FreeJobBoat |
true |
Mission horseBoat is temporary/free and does not need ownership. |
↳ HideJobBoatFromShop |
true |
Do not sell horseBoat while it is reserved as a job boat. |
↳ RequiredBoatModel |
"horseBoat" |
Game model or entity used for required boat model. |
↳ JobBoatName |
"Horse Transport Boat" |
Who is allowed: jobs, groups or permissions for job boat name. |
↳ InteractionDistance |
2.5 |
Distance in game units that applies to interaction distance. |
↳ StartDistance |
3.0 |
Distance in game units that applies to start distance. |
↳ DestinationDistance |
4.0 |
Distance in game units that applies to destination distance. |
↳ ShipDockDistance |
55.0 |
Max distance between the job boat and the livestock dock. |
↳ RequireAnchor |
true |
Requires anchor: true = yes, false = no (default true). |
↳ ProtectHorses |
true |
Switch for protect horses: true = on, false = off (default true). |
↳ MinimumTripTimeSeconds |
45 |
Minimum or level requirement for minimum trip time seconds. |
↳ CooldownSeconds |
300 |
Time setting for cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ DeliveredHorseLifetimeMs |
30000 |
Time setting for delivered horse lifetime ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BlipSprite |
2005921736 |
Map blip or icon settings for blip sprite. |
↳ BlipScale |
0.25 |
Map blip or icon settings for blip scale. |
↳ ShowStartBlips |
false |
Job starts from the Jobs menu, so standalone start blips are not needed. |
↳ controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ horseModels |
table |
Game model or entity used for horse models. |
↳ horseSlots |
table |
Horse positions on horseBoat, lowered to the cargo-deck floor based on in-game testing. These sit inside the livestock bay instead of floating above the stall walls. |
↳ routes |
table |
Table of routes entries. Add, remove or edit entries following the examples in the file. |
CargoTransport |
table |
Cargo transport job using the same native horseBoat vehicle as Horse Transport. Cargo uses its own rear-deck slot layout and does not modify HorseTransport.horseSlots. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ JobsMenu |
true |
Switch for jobs menu: true = on, false = off (default true). |
↳ FreeJobBoat |
true |
Switch for free job boat: true = on, false = off (default true). |
↳ HideJobBoatFromShop |
true |
Hides job boat from shop: true = yes, false = no (default true). |
↳ RequiredBoatModel |
"horseBoat" |
Game model or entity used for required boat model. |
↳ JobBoatName |
"Horse Boat Cargo Transport" |
Who is allowed: jobs, groups or permissions for job boat name. |
↳ InteractionDistance |
2.5 |
Distance in game units that applies to interaction distance. |
↳ DestinationDistance |
5.0 |
Distance in game units that applies to destination distance. |
↳ ShipDockDistance |
60.0 |
Distance in game units that applies to ship dock distance. |
↳ RequireAnchor |
true |
Requires anchor: true = yes, false = no (default true). |
↳ MinimumTripTimeSeconds |
45 |
Minimum or level requirement for minimum trip time seconds. |
↳ CooldownSeconds |
300 |
Time setting for cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CargoLifetimeMs |
20000 |
Time setting for cargo lifetime ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CargoCount |
6 |
Number for cargo count (default 6). |
↳ controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ cargoModels |
table |
Physical freight spawned at the pickup dock. More models can be added later. |
↳ cargoSlots |
table |
Cargo-only positions on horseBoat. Keep them toward the rear of the cargo deck. These are intentionally separate from HorseTransport.horseSlots. |
↳ routes |
table |
Table of routes entries. Add, remove or edit entries following the examples in the file. |
shops |
table |
Boat Shops |
↳ lagras |
table |
Table of lagras entries. Add, remove or edit entries following the examples in the file. |
↳ saintdenis |
table |
Table of saintdenis 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. |
↳ blackwater |
table |
Table of blackwater 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. |
↳ manteca |
table |
Table of manteca entries. Add, remove or edit entries following the examples in the file. |
↳ sisika |
table |
Table of sisika entries. Add, remove or edit entries following the examples in the file. |
↳ braithwaite |
table |
Table of braithwaite 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 |
Water Locations for Portable Canoe |
↳ 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. |
↳ 12 |
table |
Table of 12 entries. Add, remove or edit entries following the examples in the file. |
↳ 13 |
table |
Table of 13 entries. Add, remove or edit entries following the examples in the file. |
↳ 14 |
table |
Table of 14 entries. Add, remove or edit entries following the examples in the file. |
↳ 15 |
table |
Table of 15 entries. Add, remove or edit entries following the examples in the file. |
↳ 16 |
table |
Table of 16 entries. Add, remove or edit entries following the examples in the file. |
↳ 17 |
table |
Table of 17 entries. Add, remove or edit entries following the examples in the file. |
↳ 18 |
table |
Table of 18 entries. Add, remove or edit entries following the examples in the file. |
↳ 19 |
table |
Table of 19 entries. Add, remove or edit entries following the examples in the file. |
↳ 20 |
table |
Table of 20 entries. Add, remove or edit entries following the examples in the file. |
↳ 21 |
table |
Table of 21 entries. Add, remove or edit entries following the examples in the file. |
↳ 22 |
table |
Table of 22 entries. Add, remove or edit entries following the examples in the file. |
↳ 23 |
table |
Table of 23 entries. Add, remove or edit entries following the examples in the file. |
↳ 24 |
table |
Table of 24 entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
## 2.9.0 Shop Category Cleanup
- Removed the Large Ships category/filter button from the Shop/My Boats category bar.
- Large-ship definitions remain available internally for jobs and existing systems.
## 2.8.9 Multi-port Boarding Points
- Added `boardingPromptPoints` support for multiple static dock boarding locations.
- Added Blackwater and Saint Denis boarding points for `horseBoat`.
- The client automatically selects the nearest configured boarding point that is close to the active ship.
- Falls back to the local ship-side boarding offset at unconfigured ports.
## 2.8.8 Dedicated Boarding Point
- Added a dedicated `boardingPromptPoint` for `horseBoat`.
- `G - Board Ship` now appears only beside the configured boarding point.
- Boarding places the player on a safe deck landing point instead of taking the helm.
- `E - Take Helm` remains a separate interaction inside the wheelhouse.
## 2.8.6 Cargo Slot Adjustment
- Updated CargoTransport.cargoSlots to the user-tuned rear-deck positions.
## 2.8.5 Cargo Boat Dock Spawn
- Moved only the Cargo Transport `horseBoat` pickup spawn closer to the loading dock in Blackwater and Saint Denis.
- Horse Transport boat spawn, cargo slots, horse slots, and user-tuned Blackwater horse/cargo spawn points remain unchanged.
## 2.8.2 Cargo Crate Stack Model
- Cargo Transport crates now use `p_bat_cratestack01x` for all six cargo entities.
- Cargo boat, rear cargo slot positions, HorseTransport horse slots, and Blackwater spawn coordinates are unchanged.
## 2.8.1 Cargo Transport on Native horseBoat
- Cargo Transport now uses the same native `horseBoat` vehicle as Horse Transport.
- Cargo crates use a separate rear-deck slot layout and do not change the user-tuned horse slots.
- `horseBoat` remains a native RedM vehicle with native buoyancy, driving, engine audio, smoke and collision.
- Blackwater horse/cargo spawn coordinates remain unchanged.
## 2.8.0 Cargo Transport Back to Native tugboat3
- Cargo Transport now uses `tugboat3` again.
- `tugboat3` is explicitly treated as a native RedM vehicle, not an object/hybrid shell.
- Native buoyancy, driving, engine audio, smoke and collision remain on the actual `tugboat3` vehicle.
- Restored tugboat3-specific cargo deck slots.
- Preserved the user-approved Blackwater horse and cargo spawn coordinates.
## 2.7.9 Native ship_nbdGuama2 Vehicle
- Confirmed `ship_nbdGuama2` is a native RedM vehicle.
- Cargo Transport now spawns `ship_nbdGuama2` directly as the physics/drive vehicle.
- Disabled Hybrid/Object driving for this ship.
- Enabled native driver seat, native anchoring, and automatic anchor release on driver entry.
- Preserved the user-locked Blackwater horse/cargo spawn coordinates and HorseTransport horse slots.
# REDEMPIRE Boats v2.7.9
## 2.7.8 Cargo Ship Model
- Changed the Cargo Transport job boat from `ship_guama02` to `ship_nbdGuama2`.
- Kept the existing cargo routes, Blackwater spawn points, rewards, and cargo slot layout unchanged.
- Added `ship_nbdGuama2` as its own large-ship definition while leaving `ship_guama02` available separately.
## 2.7.7 Cargo Ship Guarma
- Changed the Cargo Transport job boat from `tugboat3` to `ship_guama02`.Free (included in JRS Core) jrs_bossmanager
JRS CORE | jrs_bossmanager | config.lua
| Resource | jrs_bossmanager |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core |
| Interface | No |
| Code size | 883 Lua lines |
Commands
/givelicense/revokelicense
Database tables
jobmanager
config.lua - 2 options#
General
| Setting | Default | What it does |
|---|---|---|
Key |
0x446258B6 |
changed Key to PGUP, otherwise it collides with the default key of jrs_admin |
Locale |
"en" |
language |
Paid (server only) jrs_bounty
jrs core Bounty Board
| Resource | jrs_bounty |
| Folder | [JOBS] |
| Version | 2.1.1 |
| Author | jrs team |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 2,799 Lua lines |
Commands
/bountycooldown
Database tables
jrs_bountty, jrs_bounty_cooldowns, jrs_sheriffbounty
config/config.lua - 114 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
ServerConsolePrints |
true |
Enable to see payout/xp debug logs in server console |
RequireJob |
true |
Access The bounty board requires a Bounty Hunter job. |
BountyJobs |
table |
Who is allowed: jobs, groups or permissions for bounty jobs. |
↳ bounty |
true |
Switch for bounty: true = on, false = off (default true). |
↳ bountyhunter |
true |
Switch for bountyhunter: true = on, false = off (default true). |
↳ bounty_hunter |
true |
Switch for bounty hunter: true = on, false = off (default true). |
AllowLawJobs |
true |
Allows law jobs (police/sheriff) to access board and post sheriff notices |
MaxSheriffReward |
5000 |
Money value for max sheriff reward. Rewards go through the economy multiplier of jrs_core. |
BoardBlips |
true |
UI / interaction |
BoardblipName |
"Bounty Board" |
Text shown to the player for boardblip name. Change it to translate or rebrand. |
BoardBlipSprite |
"blip_proc_bounty_poster" |
Map blip or icon settings for board blip sprite. |
BoardBlipModifier |
"BLIP_MODIFIER_MP_COLOR_23" |
Map blip or icon settings for board blip modifier. |
BoardBlipScale |
0.2 |
Map blip or icon settings for board blip scale. |
PromptGroup |
"Bounty Board" |
Who is allowed: jobs, groups or permissions for prompt group. |
PromptName |
"Open" |
Text shown to the player for prompt name. Change it to translate or rebrand. |
BoardOpenControl |
0x760A9C6F |
G |
BoardOpenDistance |
2.0 |
Distance in game units that applies to board open distance. |
CreateBountyTime |
10 |
minutes |
MaxBountys |
20 |
Upper limit for max bountys. |
DistanceSpawnEnemys |
60.0 |
Distance in game units that applies to distance spawn enemys. |
MinimumMissionSeconds |
20 |
server-side anti-instant-complete check (45 on 2026-10-02 rejected fast legit kills; 20 on 2026-10-08) |
MissionCompletionDistance |
800.0 |
maximum distance from the assigned target area (400 rejected fights that chased away from the camp) |
Jobs |
table |
Law jobs allowed to post and delete sheriff bounties. |
Easy |
"easy" |
Stable internal difficulty keys. Existing Arabic/German rows are normalized by the server. |
Middle |
"medium" |
Setting for middle. |
Hard |
"hard" |
Setting for hard. |
DifficultyLabels |
table |
Table of difficulty labels entries. Add, remove or edit entries following the examples in the file. |
↳ easy |
"سهل" |
Setting for easy. |
↳ medium |
"متوسط" |
Setting for medium. |
↳ hard |
"صعب" |
Setting for hard. |
BountyBoards |
table |
Table of bounty boards entries. Add, remove or edit entries following the examples in the file. |
Names |
table |
This will be the Target name in Bountyboard Name will pciked random out of this names list |
MinEasyReward |
2 |
Reward System ---------------------------------- RDO Authentic Bounty Hunter Payouts & XP Progression Easy (1-star) |
MaxEasyReward |
3 |
Money value for max easy reward. Rewards go through the economy multiplier of jrs_core. |
EasyXP |
160 |
Number for easy xp (default 160). |
MinMiddleReward |
3 |
Middle (2-star) |
MaxMiddleReward |
6 |
Money value for max middle reward. Rewards go through the economy multiplier of jrs_core. |
MiddleXP |
300 |
Number for middle xp (default 300). |
MinHardReward |
6 |
Hard (3-star) |
MaxHardReward |
10 |
Money value for max hard reward. Rewards go through the economy multiplier of jrs_core. |
HardXP |
460 |
Number for hard xp (default 460). |
BountyMissionCooldownSeconds |
300 |
Bounty board mission cooldown (300 seconds / 5 minutes, replaces old 1 hour wait) |
EnemyDifficulty |
table |
RDO Authentic Enemy Combat & Difficulty Settings |
↳ easy |
table |
Table of easy 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. |
↳ hard |
table |
Table of hard entries. Add, remove or edit entries following the examples in the file. |
Model |
"CS_strawberryoutlaw_02" |
Game model or entity used for model. |
EasyMissions |
table |
Table of easy missions entries. Add, remove or edit entries following the examples in the file. |
MiddleMissions |
table |
Table of middle missions entries. Add, remove or edit entries following the examples in the file. |
HardMissions |
table |
Table of hard missions entries. Add, remove or edit entries following the examples in the file. |
GroupMaxMembers |
4 |
Total players including the leader |
DE
| Setting | Default | What it does |
|---|---|---|
Text |
table |
UI labels / notifications |
↳ BoardTitle |
"لوحة المطلوبين" |
Text shown to the player for board title. Change it to translate or rebrand. |
↳ BoardSubtitle |
'ملصقات المطلوبين وإعلانات ا... |
Setting for board subtitle. |
↳ Available |
"الجوائز المتاحة" |
Setting for available. |
↳ Sheriff |
"إعلانات الشريف" |
Setting for sheriff. |
↳ Post |
"نشر مطلوب" |
Setting for post. |
↳ Refresh |
"تحديث" |
Setting for refresh. |
↳ Close |
"إغلاق" |
Setting for close. |
↳ Start |
"بدء المهمة" |
Setting for start. |
↳ Abort |
"إلغاء المهمة" |
Setting for abort. |
↳ Delete |
"حذف" |
Setting for delete. |
↳ ConfirmDelete |
"هل أنت متأكد من حذف هذا المطلوب؟" |
Setting for confirm delete. |
↳ NoBounties |
"لا توجد مهمات متاحة حالياً." |
Setting for no bounties. |
↳ NoSheriffBounties |
"لا توجد إعلانات شريف منشورة." |
Setting for no sheriff bounties. |
↳ Firstname |
"الاسم الأول" |
Setting for firstname. |
↳ Lastname |
"اسم العائلة" |
Setting for lastname. |
↳ Reason |
"السبب" |
Setting for reason. |
↳ Reward |
"المكافأة" |
Money value for reward. Rewards go through the economy multiplier of jrs_core. |
↳ Submit |
"نشر ملصق مطلوب" |
Setting for submit. |
↳ Group |
"المجموعة" |
Who is allowed: jobs, groups or permissions for group. |
↳ AddMember |
"إضافة عضو" |
Setting for add member. |
↳ LeaveGroup |
"مغادرة المجموعة" |
Who is allowed: jobs, groups or permissions for leave group. |
↳ DisbandGroup |
"حل المجموعة" |
Who is allowed: jobs, groups or permissions for disband group. |
MissionBlip |
"Bounty Target" |
Map blip or icon settings for mission blip. |
MissionBlipSprite |
"blip_mission_bounty" |
Skull with dollar sign (-907204276) |
MissionBlipModifier |
"BLIP_MODIFIER_MP_COLOR_10" |
Red color modifier |
MissionBlipScale |
0.2 |
Map blip or icon settings for mission blip scale. |
MissionAreaZoneRadius |
90.0 |
red zone under the skull blip |
Messages |
table |
Text shown to the player for messages. Change it to translate or rebrand. |
↳ NoPermission |
"ليس لديك صلاحية للقيام بذلك." |
Who is allowed: jobs, groups or permissions for no permission. |
↳ MissionStarted |
'بدأت المهمة. توجه إلى المنط... |
Setting for mission started. |
↳ MissionAlreadyActive |
"لديك مهمة نشطة بالفعل." |
Setting for mission already active. |
↳ MissionUnavailable |
"هذا المطلوب لم يعد متاحاً." |
Setting for mission unavailable. |
↳ InvalidMissionCompletion |
"تعذر التحقق من إكمال المهمة." |
Setting for invalid mission completion. |
↳ MissionAborted |
'تم إلغاء مهمة صيد المطلوبين... |
Setting for mission aborted. |
↳ NoActiveMission |
"ليس لديك مهمة صيد مطلوبين نشطة." |
Setting for no active mission. |
↳ MissionFailed |
"فشلت المهمة." |
Setting for mission failed. |
↳ MissionSuccess |
"اكتملت المهمة بنجاح." |
Setting for mission success. |
↳ RemainingEnemies |
"الأعداء المتبقون: " |
Setting for remaining enemies. |
↳ EnemiesKilled |
"الأعداء الذين تم القضاء عليهم: " |
Setting for enemies killed. |
↳ RewardReceived |
'تم استلام مكافأة صيد المطلو... |
Money value for reward received. Rewards go through the economy multiplier of jrs_core. |
↳ SheriffBountyPosted |
"تم نشر ملصق الشريف بنجاح." |
Setting for sheriff bounty posted. |
↳ SheriffBountyDeleted |
"تم حذف ملصق الشريف." |
Setting for sheriff bounty deleted. |
↳ InvalidForm |
'يرجى إكمال جميع الحقول وإدخ... |
Setting for invalid form. |
↳ GroupInvalidPlayer |
"يرجى إدخال مُعرّف لاعب صالح." |
Who is allowed: jobs, groups or permissions for group invalid player. |
↳ GroupPlayerNotFound |
"هذا اللاعب غير متصل أو غير جاهز." |
Who is allowed: jobs, groups or permissions for group player not found. |
↳ GroupTargetBusy |
'هذا اللاعب لديه مهمة صيد مط... |
Who is allowed: jobs, groups or permissions for group target busy. |
↳ GroupTargetAlreadyGrouped |
'هذا اللاعب موجود بالفعل في ... |
Who is allowed: jobs, groups or permissions for group target already grouped. |
↳ GroupLeaderOnly |
'فقط قائد المجموعة يمكنه الق... |
Who is allowed: jobs, groups or permissions for group leader only. |
↳ GroupLeaderAbortOnly |
'فقط قائد المجموعة يمكنه إلغ... |
Who is allowed: jobs, groups or permissions for group leader abort only. |
↳ GroupLocked |
'لا يمكن تعديل المجموعة أثنا... |
Who is allowed: jobs, groups or permissions for group locked. |
↳ GroupFull |
"مجموعة صيد المطلوبين ممتلئة." |
Who is allowed: jobs, groups or permissions for group full. |
↳ BountyCooldownActive |
'يجب عليك الانتظار %s قبل بد... |
Time setting for bounty cooldown active. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BountyCooldownStarted |
'بدأت فترة انتظار مهمات صيد ... |
Time setting for bounty cooldown started. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MemberCooldownActive |
'عضو الفريق %s لديه فترة انت... |
Time setting for member cooldown active. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ JobRequired |
'يجب أن تكون صائد جوائز لاست... |
Who is allowed: jobs, groups or permissions for job required. |
↳ TargetJobRequired |
"هذا اللاعب ليس صائد جوائز." |
Who is allowed: jobs, groups or permissions for target job required. |
MissionFailed |
Config.Messages.MissionFaile... |
Legacy bounty aliases kept for older integrations. |
MissionSuccess |
Config.Messages.MissionSucce... |
Setting for mission success. |
EnemyRemain |
Config.Messages.RemainingEne... |
Setting for enemy remain. |
KiledEnemys |
Config.Messages.EnemiesKille... |
Setting for kiled enemys. |
RewardGet |
Config.Messages.RewardReceiv... |
Money value for reward get. Rewards go through the economy multiplier of jrs_core. |
Notes from the README#
REDEMPIRE Bounty Board v2.1.0
=======================
Dependencies
------------
- oxmysql
- jrs_core
Recommended start order
-----------------------
ensure oxmysql
ensure jrs_core
ensure jrs_bounty
Installation
------------
1. Replace the old jrs_bounty resource with this folder.
2. Keep the resource folder name as: jrs_bounty
3. The server creates the required tables automatically.
4. Review config.lua before starting the resource.
Bounty-only build
-----------------
- The complete heist/robbery system was removed.
- jrs_lockpick is no longer used.
- jrs_inventory is no longer required by this resource.
- Available bounty missions and sheriff bounty notices remain.
Group bounty system
-------------------
- Open the Group tab on the bounty board.
- The leader adds players directly by server ID.
- Config.GroupMaxMembers controls the total group size including the leader.
- Only the group leader can start or abort a bounty mission while grouped.
- Starting a bounty sends the same mission to every current group member.
- Only one networked enemy wave is spawned by the leader, preventing duplicate NPC waves.
- Group membership is locked while a mission is active.
- Group members cannot start another bounty while assigned to the leader's active mission.
- The poster reward is a TOTAL reward. It is split between online mission participants at completion.
- Integer remainders are distributed one dollar at a time so the full configured reward is paid.
- The normal bounty cooldown is applied to every mission participant after success.
- Groups are session-only and are not stored in the database.
Important config options
------------------------
- Config.Jobs
- Config.BountyBoards
- Config.GroupMaxMembers
- Config.MaxSheriffReward
- Config.MinimumMissionSeconds
- Config.MissionCompletionDistanceFree (included in JRS Core) jrs_crawfish
A script to catch crawfish for jrs core framework
| Resource | jrs_crawfish |
| Folder | [JOBS] |
| Version | 2.0 |
| Author | JRS TEAM |
| Interface | No |
| Code size | 693 Lua lines |
config.lua - 22 options#
General
| Setting | Default | What it does |
|---|---|---|
defaultlang |
"en" |
Default language ("en" English, "es" Español) |
ProgressBarType |
2 |
false or less than 1 = no progress bar display, 1 = legacy progressBars, 2 = jrs_progressbar; Default: 2 |
ProgressBar |
table |
Progress Bar Variables; Only used if Config.ProgressBarType is 2 |
↳ theme |
"linear" |
Supported themes: "linear", "circle", "innercircle"; Default: "linear" |
↳ color |
"rgb(124, 45, 45)" |
CSS color name or rgb/rgba/etc format; Default: "rgb(124, 45, 45)" |
↳ width |
"20vw" |
Horizontal length of progressbar in CSS units; Only used by the "linear" theme; Default: "20vw" |
↳ focus |
false |
If true, progress bar UI will have keyboard focus; Default: false |
SearchTimeMin |
5000 |
Minimum time, in milliseconds (1000 milliseconds = 1 second), taken to search a crawfish hole. |
SearchTimeMax |
10000 |
Maximum time, in milliseconds (1000 milliseconds = 1 second), taken to search a crawfish hole. |
SearchDelay |
600 |
Time, in seconds, before a crawfish hole can be search again. |
SearchRewardCount |
1 |
How many crawfish players can find per hole; Set this to a table like so {min, max} for random reward count per search; eg {0, 3} will mean a random reward count between 0 and 3. |
CrawfishItemName |
"animal_crawfish" |
The item name of a Crawfish; given to player on successful search (MUST be registered in your items database!). |
CrawfishItemLabel |
_U("item_crawfish") |
The display name of a Crawfish. _U("item_crawfish") will pull the name from your language file, or you can just put a name here yourself. |
CanFindOtherItems |
false |
Set true to allow players to find extra items in crawfish holes; Default: false |
OtherItemsChance |
2 |
The chance of a player finding other items in crawfish holes (0 to 100); Default: 2 |
MaxOtherItems |
1 |
The maximum different items a player can find when searching a crawfish hole; Default: 1 |
OtherItems |
table |
Inventory items used by other items. Names must exist in the jrs_items table. |
CrawfishCustomUseFunction |
false |
Set true if you already have a script which handles the usage of an item with the same name as Config.CrawfishItemName. |
CrawfishGivenItemName |
"provision_meat_crustacean" |
The item name of what is rewarded when using a Crawfish from inventory (MUST be registered in your items database!). |
CrawfishGivenItemLabel |
_U("item_harvest") |
The display name of Config.CrawfishGivenItemName. _U("item_harvest") will pull the name from your language file, or you can just put a name here yourself. |
CrawfishGivenItemAmount |
1 |
How many items (Config.CrawfishGivenItemName) players can obtain when using a Crawfish from inventory; Set this to a table like so {min, max} for random item count when used; eg {1, 3} will mean a random item count between 1 and 3 |
CrawfishHoles |
table |
vector3(x,y,z) |
Paid (server only) jrs_delivery
Multi-location and multi-cargo delivery job for jrs_core with route map NUI
| Resource | jrs_delivery |
| Folder | [JOBS] |
| Version | 4.1.4 |
| Author | jrs team |
| Depends on | jrs_core |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 3,010 Lua lines |
Database tables
jrs_delivery_locations, jrs_delivery_receivers, jrs_delivery_route_extras
config/config.lua - 77 options#
General
| Setting | Default | What it does |
|---|---|---|
defaultlang |
"ar" |
Fallback only. The live language is per player and comes from jrs_core (@jrs_core/shared/jrs_lang.lua): _U resolves in the language the player picked, _UE forces English for RedM on-screen prompts. |
RequireJob |
true |
Only players who picked up the Delivery Driver job at a jrs_multijob employment office can start deliveries. Set to false to let anyone use the job. |
JobName |
"delivery" |
Who is allowed: jobs, groups or permissions for job name. |
MinimumJobGrade |
0 |
Minimum or level requirement for minimum job grade. |
CurrencyType |
0 |
jrs_core currency: 0 = cash, 1 = gold, 2 = rol. |
EnableXP |
true |
XP is awarded through jrs_core and stored in characters_level. |
XPReason |
"Delivery completed" |
Setting for xp reason. |
InteractControl |
0x760A9C6F |
G |
DeliverControl |
0xCEFD9220 |
E |
InteractRadius |
2.0 |
Distance in game units that applies to interact radius. |
ServerStartDistance |
8.0 |
Distance in game units that applies to server start distance. |
ServerDeliveryDistance |
15.0 |
Distance in game units that applies to server delivery distance. |
NpcSpawnDistance |
180.0 |
Distance in game units that applies to npc spawn distance. |
PromptCooldownMs |
1200 |
Time setting for prompt cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
DeliveryZoneRadius |
9.0 |
and the player must have stepped out of it, before the receiving clerk's prompt appears. ReceiverOffset places that clerk to the side of the parked wagon (reusing the destination station's own NPC model). |
ReceiverInteractRadius |
3.25 |
Distance in game units that applies to receiver interact radius. |
ReceiverOffset |
3.25 |
Number for receiver offset (default 3.25). |
ReceiverOverrides |
table |
Per-location receiver spot overrides (loc_key -> vector4), set live from the in-game admin panel and synced from jrs_delivery_receivers. Locations with no entry here fall back to the automatic offset above. |
UI |
table |
The delivery menu uses the included NUI interface. No external menu resource is required. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Username |
"Delivery Job" |
Setting for username. |
AllowAllRoutes |
false |
Each location ships one cargo to one fixed destination. |
MinimumDeliverySeconds |
10 |
Minimum or level requirement for minimum delivery seconds. |
RouteExpiryGraceSeconds |
30 |
Number for route expiry grace seconds (default 30). |
CancelIfWagonDestroyed |
true |
Switch for cancel if wagon destroyed: true = on, false = off (default true). |
WarpPlayerIntoWagon |
false |
Switch for warp player into wagon: true = on, false = off (default false). |
EnableCargoSpeedLimit |
true |
Enforce each cargo contract's wagon speed. |
EnableLocationBlips |
true |
Map settings. |
LocationBlipHash |
-1989306548 |
World coordinates (x, y, z) used for location blip hash. |
LocationBlipColor |
"BLIP_MODIFIER_MP_COLOR_32" |
World coordinates (x, y, z) used for location blip color. |
LocationBlipScale |
0.8 |
World coordinates (x, y, z) used for location blip scale. |
DestinationBlipHash |
-570710357 |
Map blip or icon settings for destination blip hash. |
GpsRouteColor |
"COLOR_YELLOW" |
Setting for gps route color. |
RouteDefaults |
table |
Default values used by routes unless overridden in Config.RouteOverrides. |
↳ wagon |
"CART06" |
Setting for wagon. |
↳ timer |
1500 |
Number for timer (default 1500). |
↳ xp |
220 |
Number for xp (default 220). |
↳ priceMin |
2.00 |
Money value for price min. Rewards go through the economy multiplier of jrs_core. |
↳ priceMax |
3.50 |
Money value for price max. Rewards go through the economy multiplier of jrs_core. |
↳ maxSpeed |
8.5 |
Game units are meters per second. |
CargoPresets |
table |
Cargo presets define the default behavior of each load. Scaled onto jrs_delivery's price/xp economy (RDO Trader Delivery parity). |
↳ eggs |
table |
Table of eggs entries. Add, remove or edit entries following the examples in the file. |
↳ raspberry |
table |
Table of raspberry entries. Add, remove or edit entries following the examples in the file. |
↳ lumber |
table |
Table of lumber entries. Add, remove or edit entries following the examples in the file. |
↳ nails |
table |
Table of nails entries. Add, remove or edit entries following the examples in the file. |
↳ caviar |
table |
Table of caviar entries. Add, remove or edit entries following the examples in the file. |
↳ trader_goods_local |
table |
Table of trader goods local entries. Add, remove or edit entries following the examples in the file. |
↳ trader_goods_distant |
table |
Table of trader goods distant entries. Add, remove or edit entries following the examples in the file. |
↳ cigar |
table |
Table of cigar entries. Add, remove or edit entries following the examples in the file. |
↳ coal_shipment |
table |
Table of coal shipment entries. Add, remove or edit entries following the examples in the file. |
↳ snake_poison |
table |
Table of snake poison entries. Add, remove or edit entries following the examples in the file. |
↳ tobacco |
table |
Table of tobacco entries. Add, remove or edit entries following the examples in the file. |
↳ fish_lure |
table |
Table of fish lure entries. Add, remove or edit entries following the examples in the file. |
↳ lead_bar |
table |
Table of lead bar entries. Add, remove or edit entries following the examples in the file. |
↳ ruby |
table |
Table of ruby entries. Add, remove or edit entries following the examples in the file. |
LocationOrder |
table |
wagonSpawn: wagon spawn position. deliveryPoint: route completion position. destinations: the single fixed target this location's cargo ships to (AllowAllRoutes = false). |
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. |
↳ wallace_station |
table |
Table of wallace station 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. |
↳ mcfarlanes_ranch |
table |
Table of mcfarlanes ranch 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. |
↳ wapiti_indian |
table |
Table of wapiti indian 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. |
↳ saint_denis |
table |
Table of saint denis 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. |
↳ emerald_ranch |
table |
Table of emerald ranch 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. |
RouteCargoOptions |
table |
Not needed: every location has exactly one cargo option, so no per-route override table. |
RouteOverrides |
table |
Not needed: destinations above are fixed per location. |
↳ valentine:wallace_station |
table |
Table of valentine:wallace station entries. Add, remove or edit entries following the examples in the file. |
↳ wallace_station:strawberry |
table |
Table of wallace station:strawberry entries. Add, remove or edit entries following the examples in the file. |
↳ annesburg:valentine |
table |
Table of annesburg:valentine entries. Add, remove or edit entries following the examples in the file. |
↳ rhodes:emerald_ranch |
table |
Table of rhodes:emerald ranch entries. Add, remove or edit entries following the examples in the file. |
↳ wapiti_indian:van_horn |
table |
Table of wapiti indian:van horn entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
# jrs_delivery 3.3.3 — jrs_core
This resource is built for `jrs_core` and uses the core for character data, money, XP, notifications and the 3D destination waypoint.
## SS-Deliveryjob port
Locations, item names and per-mission XP were ported from the SS-Deliveryjob asset pack's `config.lua`
(SS-Deliveryjob's actual game logic is escrow-protected, so only its readable config data could be
carried over — the engine below is jrs_delivery's own). `Config.AllowAllRoutes = false` and each
location's single `destinations` entry recreate SS-Deliveryjob's one-city, one-cargo, one-fixed-destination
design as a 12-city ring: Valentine -> Wallace Station -> Strawberry -> Blackwater -> McFarlane's Ranch ->
Armadillo -> Wapiti Indian Reservation -> Van Horn -> Saint Denis -> Rhodes -> Emerald Ranch -> Annesburg -> (back to Valentine).
A Discord webhook log on delivery completion is available via `Config.Discord` (disabled by default —
set your own webhook URL, never reuse one shipped inside a downloaded pack).
## Multi-cargo contracts
A destination can offer multiple cargo contracts. The player selects:
1. Destination.
2. Cargo type.
3. The contract with its own time, payment, XP, wagon model and maximum speed.
The selected cargo is validated on the server when the delivery starts, when the wagon is registered and when the delivery is completed.
## Cargo defaults
Each cargo type has default settings in `Config.CargoPresets`:
'''lua
Config.CargoPresets.coal_shipment = {
label = 'Coal',
description = 'Heavy coal load out of Emerald Ranch. 30-50 units, slows the wagon.',
wagon = 'wagon04x',
timer = 1850,
priceMin = 650,
priceMax = 850,
xp = 58,
maxSpeed = 6.0,
props = {
-- Cargo objects...
}
}
'''
`maxSpeed` uses game speed units in meters per second. The UI displays the approximate value in km/h.
## Cargo offered by a departure city
When no exact route configuration exists, the route uses the departure city's `cargoOptions`:
'''lua
Config.Locations.valentine = {
cargoOptions = { 'raspberry' },
destinations = { 'wallace_station' },
-- ...
}
'''
This makes `raspberry` available from Valentine to Wallace Station only (`Config.AllowAllRoutes = false`).Paid (server only) jrs_doctors
jrs core Doctors - fully integrated medical, hospital, disease, employment, storage and death-screen system for RedM
| Resource | jrs_doctors |
| Folder | [JOBS] |
| Version | 4.4.20 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, jrs_metabolism, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 30,018 Lua lines |
Commands
/-/admincure/cureme/jrs_doctor_menu/jrspromptfix
Exports
AddInjury, AddOption, AdminClearDisease, ApplyDoctorOutfit, ApplyGradeOutfit, CalculateDramaticHeartRate, CallMedicalService, ChangeMetabolism, ClearActiveDisease, ClearInjuries, CloseDoctorRadial, CreateMedicalCall, CurePlayer, CurrentZone, ExternalHeal, ExternalRevive, FinishKnock, FinishKnockedPlayer, ForceStopDeathCam, GetActiveDisease, GetActiveTreatments, GetBleedingState, GetCurrentHeartRate, GetDiseaseCatalog, GetDiseaseRuntimeStatus, GetDiseaseTreatmentQuote, GetDoctorsOnDuty, GetInjuries, GetMedicONDUTY, GetPlayerDisease
Database tables
jrs_doctors_applications, jrs_doctors_archives, jrs_doctors_bleeding, jrs_doctors_cabinet_usage, jrs_doctors_calls, jrs_doctors_diseases, jrs_doctors_employees, jrs_doctors_injuries, jrs_doctors_kit_durability, jrs_doctors_patient_profiles, jrs_doctors_treatments
config/admin.lua - 12 options#
General
| Setting | Default | What it does |
|---|---|---|
AdminMenu |
table |
Who is allowed: jobs, groups or permissions for admin menu. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Command |
"jrsdoctorsadmin" |
Setting for command. |
↳ RequireFullAccess |
true |
Requires full access: true = yes, false = no (default true). |
↳ AllowWithoutDuty |
true |
Allows without duty: true = yes, false = no (default true). |
↳ MaximumGiveAmount |
5 |
Upper limit for maximum give amount. |
↳ MaximumInjurySeverity |
100 |
Upper limit for maximum injury severity. |
↳ AuditToDatabase |
true |
Switch for audit to database: true = on, false = off (default true). |
↳ Operations |
table |
Table of operations entries. Add, remove or edit entries following the examples in the file. |
↳ BodyParts |
table |
Table of body parts entries. Add, remove or edit entries following the examples in the file. |
↳ Treatments |
table |
Table of treatments entries. Add, remove or edit entries following the examples in the file. |
↳ MetabolismProfiles |
table |
Table of metabolism profiles entries. Add, remove or edit entries following the examples in the file. |
config/core.lua - 106 options#
General
| Setting | Default | What it does |
|---|---|---|
Registry |
true |
Switch for registry: true = on, false = off (default true). |
RepSystem |
false |
Switch for rep system: true = on, false = off (default false). |
RepAdded |
10.0 |
Number for rep added (default 10.0). |
MedicMissions |
false |
Switch for medic missions: true = on, false = off (default false). |
Diseases |
true |
Switch for diseases: true = on, false = off (default true). |
MedicArchives |
true |
Switch for medic archives: true = on, false = off (default true). |
ClothingScript |
true |
Switch for clothing script: true = on, false = off (default true). |
RagDollFalling |
false |
Switch for rag doll falling: true = on, false = off (default false). |
Key |
0xCEFD9220 |
Key or control used for key. Controls are hash values from the game input list. |
Align |
"right" |
Setting for align. |
FireMedic |
"unemployed" |
Setting for fire medic. |
JobGrade |
7 |
Who is allowed: jobs, groups or permissions for job grade. |
JobGradeBuy |
10 |
Who is allowed: jobs, groups or permissions for job grade buy. |
UseCommand |
true |
Turns command on or off (default true). |
WagonInventory |
200 |
Number for wagon inventory (default 200). |
DespawnWagonDist |
200 |
Distance in game units that applies to despawn wagon dist. |
UsePayment |
true |
Turns payment on or off (default true). |
SynPayment |
false |
Switch for syn payment: true = on, false = off (default false). |
PaymentTime |
1800 |
Number for payment time (default 1800). |
PaymentGrade |
table |
Who is allowed: jobs, groups or permissions for payment grade. |
PayAlertAccepted |
1.00 |
Money value for pay alert accepted. Rewards go through the economy multiplier of jrs_core. |
UseNotify |
true |
Turns notify on or off (default true). |
DelayNotify |
5000 |
Time setting for delay notify. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
AlertDistance |
2500 |
Distance in game units that applies to alert distance. |
UseAlertCmd |
true |
Turns alert cmd on or off (default true). |
CmdDelay |
10 |
Time setting for cmd delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
DeadBodyBlip |
350569997 |
Map blip or icon settings for dead body blip. |
DeadPoliceBlip |
-1154452417 |
Map blip or icon settings for dead police blip. |
RemoveAlertItem |
false |
HARD RULE: birdalert is a permanent tool and is never consumed by jrs_doctors |
AlertItem |
"birdalert" |
fixed dispatch item |
BirdModel |
"a_c_pigeon" |
Game model or entity used for bird model. |
ActivateMouse |
0x760A9C6F |
Setting for activate mouse. |
BedTime |
10000 |
Number for bed time (default 10000). |
BedScenario |
"PROP_HUMAN_SLEEP_BED_PILLOW... |
Animation settings for bed scenario. |
RegisterPrice |
0.35 |
Money value for register price. Rewards go through the economy multiplier of jrs_core. |
MedicDistance |
500 |
Distance in game units that applies to medic distance. |
Distance |
1.5 |
Distance in game units that applies to distance. |
UseMetadata |
true |
Turns metadata on or off (default true). |
KitsDurability |
100 |
Number for kits durability (default 100). |
RemoveWhenUse |
20 |
Number for remove when use (default 20). |
MedCabItem |
"docbandage" |
Inventory items used by med cab item. Names must exist in the jrs_items table. |
BlacklistZones |
table |
Table of blacklist zones entries. Add, remove or edit entries following the examples in the file. |
Version |
"4.4.8-jrs-login-fix" |
Setting for version. |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Framework |
"jrs" |
jrs_core + jrs_inventory |
Locale |
"ar" |
Interface language of this script (en or ar). |
CoreResource |
"jrs_core" |
Setting for core resource. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
REDEMPIRE |
table |
Table of redempire 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. |
↳ Currency |
table |
Table of currency entries. Add, remove or edit entries following the examples in the file. |
↳ RequireCharacterReady |
true |
Requires character ready: true = yes, false = no (default true). |
↳ CharacterReadyTimeoutMs |
15000 |
Time setting for character ready timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ ApiRetryMs |
1000 |
Number for api retry ms (default 1000). |
↳ ApiRetryCount |
20 |
Number for api retry count (default 20). |
↳ StorageRegisterDelayMs |
175 |
Time setting for storage register delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
ResourceName |
"jrs_doctors" |
Text shown to the player for resource name. Change it to translate or rebrand. |
LegacyMigration |
table |
Table of legacy migration entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ CopyJrsDoctorTables |
true |
Switch for copy jrs doctor tables: true = on, false = off (default true). |
ReleaseInfo |
table |
Startup identity printed in the RedM server console. Keep text concise so it stays readable in txAdmin and the live console. |
↳ ScriptName |
"DOCTORS" |
Text shown to the player for script name. Change it to translate or rebrand. |
↳ VersionName |
'DOCTOR TRANSPORT & STORAGE ... |
Text shown to the player for version name. Change it to translate or rebrand. |
↳ VersionType |
"SECURE UNIFIED PRODUCTION UI" |
Setting for version type. |
↳ ReleaseChannel |
"PRODUCTION" |
Setting for release channel. |
↳ FrameworkLabel |
"REDEMPIRE + INVENTORY" |
Text shown to the player for framework label. Change it to translate or rebrand. |
↳ ShowStartupBanner |
true |
Shows startup banner: true = yes, false = no (default true). |
↳ ReadyDelayMs |
1500 |
Time setting for ready delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Debugging |
table |
Structured diagnostics. Keep Enabled=true while testing, then switch it off in production. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Level |
"info" |
trace | debug | info | warning | error |
↳ StartupDetails |
false |
Switch for startup details: true = on, false = off (default false). |
↳ PrintFramework |
true |
Switch for print framework: true = on, false = off (default true). |
↳ PrintDatabase |
true |
Switch for print database: true = on, false = off (default true). |
↳ PrintInventory |
false |
Switch for print inventory: true = on, false = off (default false). |
↳ PrintRequests |
false |
Switch for print requests: true = on, false = off (default false). |
↳ PrintResponses |
false |
Switch for print responses: true = on, false = off (default false). |
↳ PrintSecurity |
false |
Switch for print security: true = on, false = off (default false). |
↳ PrintPlayerAccess |
false |
Switch for print player access: true = on, false = off (default false). |
↳ PrintNui |
false |
Switch for print nui: true = on, false = off (default false). |
↳ PrintEntities |
false |
Switch for print entities: true = on, false = off (default false). |
↳ PrintHospitals |
false |
Switch for print hospitals: true = on, false = off (default false). |
↳ PrintShops |
false |
Switch for print shops: true = on, false = off (default false). |
↳ PrintJobs |
false |
Switch for print jobs: true = on, false = off (default false). |
↳ PrintCoordinates |
false |
Switch for print coordinates: true = on, false = off (default false). |
↳ RequestPayloads |
false |
enable only when you need full request payloads |
↳ Command |
"jrsdoctorsdebug" |
Setting for command. |
↳ StatusCommand |
"jrsdoctorsstatus" |
Setting for status command. |
↳ ClientCommand |
"jrsdoctorsclientdebug" |
Setting for client command. |
↳ Categories |
table |
Table of categories entries. Add, remove or edit entries following the examples in the file. |
Access |
table |
Table of access entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ AcePermission |
"jrs_doctors.full_access" |
Who is allowed: jobs, groups or permissions for ace permission. |
↳ FullAccessGrade |
99 |
Who is allowed: jobs, groups or permissions for full access grade. |
↳ FullAccessIdentifiers |
table |
Table of full access identifiers entries. Add, remove or edit entries following the examples in the file. |
↳ BypassJobAndGrade |
true |
Full-access identifiers are treated as doctors and managers everywhere in this resource. |
↳ BypassCityJobRestriction |
true |
Switch for bypass city job restriction: true = on, false = off (default true). |
↳ BypassDutyRestriction |
false |
Full access still bypasses job/grade/location checks, but medical actions require Go On Duty. |
↳ BypassManagementGrade |
true |
Switch for bypass management grade: true = on, false = off (default true). |
↳ BypassMenuLocation |
true |
Switch for bypass menu location: true = on, false = off (default true). |
↳ BypassCabinetLocation |
true |
Switch for bypass cabinet location: true = on, false = off (default true). |
↳ BypassPayments |
true |
The configured full-access Steam/Ace identifiers do not pay system-owned doctor charges (shops, cabinet, hospital, NPC doctor, assistant). Player-to-player medical invoices are deliberately excluded. |
↳ PaymentBypassBlockedReasons |
table |
Table of payment bypass blocked reasons entries. Add, remove or edit entries following the examples in the file. |
↳ BypassRequiredItems |
true |
This bypass never applies to consumable treatment items while Config.TreatmentItemConsumption.RequireRealInventory is enabled. |
↳ BypassInventoryCapacity |
false |
item receipt still respects real inventory capacity |
config/deathscreen_tests.lua - 123 options#
DEATH SCREEN, TEST SYSTEM AND COMPATIBILITY
| Setting | Default | What it does |
|---|---|---|
Billing |
table |
Table of billing entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ PayDoctorPercentage |
100 |
Money value for pay doctor percentage. Rewards go through the economy multiplier of jrs_core. |
↳ Currency |
"cash" |
Setting for currency. |
↳ InvoiceTimeoutSeconds |
30 |
Time setting for invoice timeout seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ TargetByServerId |
true |
Billing UI accepts a typed player Server ID. |
↳ RequireNearbyTarget |
false |
Set true if invoices should only work on nearby players. |
Animations |
table |
Table of animations entries. Add, remove or edit entries following the examples in the file. |
↳ Revive |
table |
Table of revive entries. Add, remove or edit entries following the examples in the file. |
↳ Treat |
table |
Table of treat entries. Add, remove or edit entries following the examples in the file. |
↳ SelfBandage |
table |
Table of self bandage entries. Add, remove or edit entries following the examples in the file. |
↳ DoctorScenario |
"WORLD_HUMAN_WRITE_NOTEBOOK" |
Animation settings for doctor scenario. |
TreatmentVisuals |
table |
Network-visible treatment presentation. Only the doctor receives the progress/UI; nearby players see the natural doctor/patient motion with no medical data exposed. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ ObserverDistance |
32.0 |
Distance in game units that applies to observer distance. |
↳ FreezeConsciousPatient |
true |
Switch for freeze conscious patient: true = on, false = off (default true). |
↳ FaceDoctorBeforeTreatment |
true |
Switch for face doctor before treatment: true = on, false = off (default true). |
↳ FaceDurationMs |
550 |
Time setting for face duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ SettleMs |
220 |
Number for settle ms (default 220). |
↳ AutoStepDoctorBesidePatient |
true |
Automatically handles step doctor beside patient: true = yes, false = no (default true). |
↳ DoctorSideOffset |
0.82 |
Number for doctor side offset (default 0.82). |
↳ DoctorForwardOffset |
0.04 |
Number for doctor forward offset (default 0.04). |
↳ DoctorApproachDistance |
1.55 |
Distance in game units that applies to doctor approach distance. |
↳ DoctorApproachTolerance |
0.42 |
Number for doctor approach tolerance (default 0.42). |
↳ DoctorApproachTimeoutMs |
1800 |
Time setting for doctor approach timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ DoctorApproachSpeed |
0.85 |
Number for doctor approach speed (default 0.85). |
↳ KeepCriticalInjuredPose |
true |
Switch for keep critical injured pose: true = on, false = off (default true). |
↳ HideObserverUi |
true |
Hides observer ui: true = yes, false = no (default true). |
↳ NetworkNpcDoctor |
true |
Switch for network npc doctor: true = on, false = off (default true). |
↳ NetworkHospitalDoctor |
true |
Switch for network hospital doctor: true = on, false = off (default true). |
↳ PatientAnimation |
table |
Animation settings for patient animation. |
↳ SkipPatientAnimation |
table |
These treatments keep their own native/downed/bed pose and do not force the conscious-patient idle above. |
DeathScreen |
table |
Unified death-screen settings. This replaces the standalone second resource and uses the existing REDEMPIRE hospital, bed, treatment, dispatch, economy and security systems. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DetectionConfirmMs |
900 |
Number for detection confirm ms (default 900). |
↳ DeathTimeSeconds |
500 |
Number for death time seconds (default 500). |
↳ HospitalButtonDelaySeconds |
60 |
Time setting for hospital button delay seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AutoHospitalAtTimerEnd |
false |
Automatically handles hospital at timer end: true = yes, false = no (default false). |
↳ DisableVoice |
true |
Turns off voice: true = yes, false = no (default true). |
↳ DisableChat |
false |
Turns off chat: true = yes, false = no (default false). |
↳ Compatibility |
table |
Optional custom chat resource integration. Leave empty for framework-neutral behavior. |
↳ Hospital |
table |
Table of hospital entries. Add, remove or edit entries following the examples in the file. |
↳ Emergency |
table |
Table of emergency entries. Add, remove or edit entries following the examples in the file. |
↳ HeartRate |
table |
Rate or multiplier for heart rate. |
↳ HeartbeatTiming |
table |
Table of heartbeat timing entries. Add, remove or edit entries following the examples in the file. |
↳ Camera |
table |
Table of camera 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. |
↳ Text |
table |
Text shown to the player for text. Change it to translate or rebrand. |
↳ DeathReasons |
table |
Table of death reasons entries. Add, remove or edit entries following the examples in the file. |
↳ Security |
table |
Table of security entries. Add, remove or edit entries following the examples in the file. |
TestSystem |
table |
Integrated test center. All buttons are rendered inside the existing medical NUI theme. Access is server-authoritative and is never granted from the browser payload. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Command |
"jrsdoctorstests" |
Setting for command. |
↳ RequireDuty |
false |
the Steam allowlist has direct test access without going on duty |
↳ CooldownMs |
900 |
Time setting for cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AllowStateTests |
true |
Allows state tests: true = yes, false = no (default true). |
↳ AllowDiseaseTests |
true |
Allows disease tests: true = yes, false = no (default true). |
↳ AllowHospitalSequence |
true |
Allows hospital sequence: true = yes, false = no (default true). |
↳ AllowDeathScreenTests |
true |
Allows death screen tests: true = yes, false = no (default true). |
↳ AllowEntityTests |
true |
Allows entity tests: true = yes, false = no (default true). |
↳ TestDurationMs |
3500 |
Time setting for test duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AutoCleanupSeconds |
45 |
Number for auto cleanup seconds (default 45). |
↳ DoctorModel |
"cs_sddoctor_01" |
Game model or entity used for doctor model. |
↳ PatientModel |
"u_m_m_valdoctor_01" |
Game model or entity used for patient model. |
↳ BagModel |
"p_bag_leather_doctor" |
Game model or entity used for bag model. |
↳ WagonModel |
"wagondoc01x" |
Game model or entity used for wagon model. |
↳ MountModel |
"A_C_Horse_Arabian_White" |
Game model or entity used for mount model. |
↳ DispatchPatientEnabled |
true |
Full dispatch simulation. The bot is networked, creates a real death call, displays the G acceptance card, routes the first doctor and can be treated through the normal patient assessment UI without consuming supplies. |
↳ DispatchPatientName |
"Training Patient" |
Text shown to the player for dispatch patient name. Change it to translate or rebrand. |
↳ DispatchPatientReason |
'Training patient is unconsc... |
Setting for dispatch patient reason. |
↳ DispatchPatientPersistentBlip |
true |
Switch for dispatch patient persistent blip: true = on, false = off (default true). |
↳ DispatchPatientSpawnDistance |
3.0 |
Distance in game units that applies to dispatch patient spawn distance. |
↳ FullSuiteStepDelayMs |
450 |
Time setting for full suite step delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
TestPatient |
table |
Interactive local patient used by the Steam-authorized test center. It reuses the real patient assessment UI but never consumes inventory items. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Command |
"jrstestpatient" |
Setting for command. |
↳ RemoveCommand |
"jrsremovetestpatient" |
Setting for remove command. |
↳ Name |
"Test Patient" |
Text shown to the player for name. Change it to translate or rebrand. |
↳ DisplayId |
"TEST" |
Setting for display id. |
↳ Model |
"u_m_m_valdoctor_01" |
Game model or entity used for model. |
↳ SpawnDistance |
2.25 |
Distance in game units that applies to spawn distance. |
↳ InteractionDistance |
3.0 |
Distance in game units that applies to interaction distance. |
↳ InteractControl |
Config.Keys.Interact |
Key or control used for interact control. Controls are hash values from the game input list. |
↳ PromptText |
"EXAMINE TEST PATIENT" |
Text shown to the player for prompt text. Change it to translate or rebrand. |
↳ RequireDuty |
true |
Requires duty: true = yes, false = no (default true). |
↳ MaximumHealth |
200 |
Upper limit for maximum health. |
↳ InjuredHealth |
95 |
Number for injured health (default 95). |
↳ UnconsciousHealth |
10 |
Number for unconscious health (default 10). |
↳ DurationMultiplier |
0.45 |
Time setting for duration multiplier. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AutoCleanupSeconds |
0 |
0 keeps the patient until cleanup, resource stop, or /jrsremovetestpatient. |
Validation |
table |
Table of validation entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ PrintSummary |
true |
Switch for print summary: true = on, false = off (default true). |
↳ FailOnDuplicateIds |
true |
Switch for fail on duplicate ids: true = on, false = off (default true). |
↳ WarnOnZeroCoordinates |
true |
Switch for warn on zero coordinates: true = on, false = off (default true). |
Compatibility |
table |
Table of compatibility entries. Add, remove or edit entries following the examples in the file. |
↳ JRSReviveClientEvent |
"" |
optional; generic RedM revive works without this |
↳ CustomReviveClientEvent |
"" |
Setting for custom revive client event. |
↳ CustomHealClientEvent |
"" |
Setting for custom heal client event. |
↳ CustomNotifyClientEvent |
"" |
Text shown to the player for custom notify client event. Change it to translate or rebrand. |
↳ CustomSocietyDepositServerEvent |
"" |
Money value for custom society deposit server event. Rewards go through the economy multiplier of jrs_core. |
↳ CustomSetJobServerEvent |
"" |
Who is allowed: jobs, groups or permissions for custom set job server event. |
↳ UseOneSyncDistanceValidation |
true |
Turns one sync distance validation on or off (default true). |
↳ ExternalMedicalBridge |
true |
Generic bridge for other resources. Native deaths are detected automatically. External scripts that use their own downed state can call the exports/events below without adding another framework dependency. |
↳ ExternalDeathEvents |
table |
Table of external death events entries. Add, remove or edit entries following the examples in the file. |
↳ ExternalReviveEvents |
table |
Table of external revive events entries. Add, remove or edit entries following the examples in the file. |
↳ ExternalHealEvents |
table |
Table of external heal events entries. Add, remove or edit entries following the examples in the file. |
RadialMenu |
table |
Integrated doctor transport radial menu. This replaces the separate jrs_radialmenu resource. Horse and wagon inventories intentionally remain on their nearby native prompts. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Command |
"jrsdoctorradial" |
Setting for command. |
↳ Keybind |
0x3C0A40F2 |
F6 |
↳ KeybindLabel |
"F6" |
Text shown to the player for keybind label. Change it to translate or rebrand. |
↳ UseWhilstWalking |
false |
NUI owns input while open; player/camera controls stay locked. |
↳ MedicalOnly |
true |
Switch for medical only: true = on, false = off (default true). |
↳ AllowExternalOptions |
false |
Prevent other resources from adding non-medical entries. |
↳ RequireDuty |
true |
The complete radial is restricted to on-duty doctors. |
↳ Size |
440 |
Number for size (default 440). |
↳ CloseDelayMs |
120 |
Time setting for close delay ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ HospitalLookupDistance |
14.0 |
Distance in game units that applies to hospital lookup distance. |
↳ DisableWorldTransportActions |
true |
Turns off world transport actions: true = yes, false = no (default true). |
config/diseases.lua - 2 options#
General
| Setting | Default | What it does |
|---|---|---|
DiseaseSystem |
Config.DiseaseSystem or {} |
Setting for disease system. |
ItemNames |
Config.ItemNames or {} |
Register the restricted test item in the shared medical item registry without exposing it through public or doctor shops. |
config/downed_crawl.lua - 9 options#
General
| Setting | Default | What it does |
|---|---|---|
DownedCrawl |
table |
Table of downed crawl 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. |
↳ AutoDowned |
false |
Automatically handles downed: true = yes, false = no (default false). |
↳ HealthThreshold |
50 |
Number for health threshold (default 50). |
↳ MinimumHealth |
50 |
Minimum or level requirement for minimum health. |
↳ InvincibleWhileDowned |
true |
Switch for invincible while downed: true = on, false = off (default true). |
↳ Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
↳ Animation |
table |
Animation settings for animation. |
↳ Controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
config/hospitals.lua - 10 options#
General
| Setting | Default | What it does |
|---|---|---|
Doctors |
table |
Table of doctors 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. |
Notes from the README#
## REDEMPIRE Inventory legacy item migration
Older `jrs_doctors` SQL used the `items.limit` column as a stack limit (for example `birdalert = 10`). The current `jrs_inventory` uses the same column as **wei
This build automatically normalizes all REDEMPIRE Doctors item definitions. If the console prints that legacy definitions were repaired, run `restart jrs_invent
# REDEMPIRE Doctors 4.4.5-jrs
`jrs_doctors` is the REDEMPIRE-only medical/doctor system for RedM. The runtime is connected directly to `jrs_core` and `jrs_inventory`; there is no framework a
## Requirements
- `oxmysql`
- `jrs_core`
- `jrs_inventory`
Recommended start order:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_doctors
'''
## Installation
1. Keep the resource folder name exactly `jrs_doctors`.
2. Import `sql/jrs_doctors.sql` into the server database.
3. Copy the PNG files from `items/` into `jrs_inventory/html/img/items/` when your inventory build loads item images from that folder.
4. Configure jobs, hospitals, payments, access, diseases, storage and doctor features under `config/`.
5. Start the resource after `jrs_core` and `jrs_inventory`.
The main SQL file creates the REDEMPIRE Doctors tables and registers the medical inventory items using the REDEMPIRE inventory item schema. A copy of only the i
## REDEMPIRE Core integration
Server-side integration is implemented in `server/jrs_bridge.lua` and uses:
'''lua
local REDEMPIRE = exports.jrs_core:getCoreApi()
local character = REDEMPIRE.getCharacter(source)
'''
The script uses REDEMPIRE character data for:
- character identifier and character name
- doctor job and grade
- cash, gold and role currency
- job changes
- server-authoritative payments
- access checks and medical actions
Currency mapping is configured in `config/core.lua`:
'''lua
Config.REDEMPIRE.Currency = {
cash = 0,
gold = 1,
rol = 2
}
'''
Character-ready integration uses the REDEMPIRE character-ready exports/events. This allows the resource to recover correctly when it is restarted while players Paid (server only) jrs_farming
JRS Farming - server-authoritative, hardened, strictly separated from jrs_herbs
| Resource | jrs_farming |
| Folder | [JOBS] |
| Version | 2.8.17 |
| Author | jrs team |
| Depends on | jrs_core, jrs_housing, jrs_inventory, jrs_police, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 18,559 Lua lines |
Commands
/farmadmin/farmzone
Exports
GetFarmingPlantIdFromEntity, IsFarmingPlantEntity, IsFarmingPlantNearCoords
Database tables
jrs_farming, jrs_farming_logs, jrs_farming_stats, jrs_farming_wagons, jrs_farming_zones, statements
configs/config.lua - 109 options#
REDEMPIRE Farming - CONFIG SECTION 1/4 : GENERAL / GAMEPLAY
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Keys |
table |
to render. Keys deliberately NOT used here: 'E' (0xCEFD9220) is the mount control and is already taken by seven other resources, and 'L' (0x80F28E95) is INPUT_OPEN_WHEEL_MENU and is claimed by jrs_train. |
↳ R |
0xE30CD707, ['G'] = 0x760A9C... |
Setting for r. |
Security |
table |
Server-side anti-exploit and validation rules. Keep the two fallback options false on a normal OneSync RedM server so distance checks never trust client coordinates. |
↳ AllowMissingServerEntityCoords |
false |
Allows missing server entity coords: true = yes, false = no (default false). |
↳ AllowClientPlacementFallback |
false |
Allows client placement fallback: true = yes, false = no (default false). |
↳ PlacementDistance |
10.0 |
Distance in game units that applies to placement distance. |
↳ MinimumActionFraction |
0.90 |
Minimum or level requirement for minimum action fraction. |
↳ CallbackRateLimitMs |
75 |
Upper limit for callback rate limit ms. |
↳ ActionRateLimitMs |
100 |
Upper limit for action rate limit ms. |
↳ PlacementRateLimitMs |
1200 |
Upper limit for placement rate limit ms. |
↳ PlayerDataRateLimitMs |
1000 |
Upper limit for player data rate limit ms. |
↳ WagonRateLimitMs |
100 |
Upper limit for wagon rate limit ms. |
↳ PumpRateLimitMs |
500 |
Upper limit for pump rate limit ms. |
↳ SyncRateLimitMs |
1000 |
Upper limit for sync rate limit ms. |
↳ MaxCallbackQuantity |
100 |
Upper limit for max callback quantity. |
RestartHours |
table |
Properly saving data before server restarts (Suggested 2-3 minutes before restart). |
SavingDurationDelay |
5 |
The time in minutes (30 as default). |
ObjectRenderDistance |
50.0 |
The rendering distance for loading placed plants & seeds. |
ActionDistance |
1.5 |
Distance in game units that applies to action distance. |
PlantActionsMenu |
table |
Enabled=false: all plant actions (water, fertilize, rake, collect, destroy) are done with native on-screen prompts, and the right-click panel is a pure info card. Enabled=true would instead show clickable action buttons inside the |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ MouseFocus |
true |
Switch for mouse focus: true = on, false = off (default true). |
↳ AllowPlayerMovement |
true |
Keep movement/game controls active while the mouse is visible. |
↳ CloseDistance |
1.85 |
Close the panel after moving away from the plant. |
↳ HideNativePrompts |
false |
Hides native prompts: true = yes, false = no (default false). |
DistanceBetweenPlants |
2.5 |
What is the required distance for placing a seed - plant when other plants and seeds are near to this location? |
PlantingRules |
table |
Placement rules for the owner's farming configuration. means normal world planting is allowed while the configured zones remain available. |
↳ OnlyZones |
false |
Switch for only zones: true = on, false = off (default false). |
↳ BlacklistPlants |
table |
Table of blacklist plants entries. Add, remove or edit entries following the examples in the file. |
↳ ExclusiveSeeds |
table |
Used only when Leave empty to allow every configured seed inside the zones. |
↳ Zones |
table |
Table of zones entries. Add, remove or edit entries following the examples in the file. |
Until at least one zone exists and claims weed_seed, marijuana
| Setting | Default | What it does |
|---|---|---|
MaximumOwnedPlants |
table |
Upper limit for maximum owned plants. |
↳ Default |
4 |
Without having any of the required jobs from below. |
↳ Jobs |
table |
Extra plants placement when having any of the required jobs below. |
LandOwnershipIntegration |
table |
Property boundaries are authoritative. Planting pauses while housing is unavailable. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ FailClosed |
true |
Switch for fail closed: true = on, false = off (default true). |
↳ ResourceName |
"jrs_housing" |
Text shown to the player for resource name. Change it to translate or rebrand. |
↳ MaximumPlantsBonus |
20 |
Money value for maximum plants bonus. Rewards go through the economy multiplier of jrs_core. |
↳ JobMaximumPlantsBonus |
table |
Money value for job maximum plants bonus. Rewards go through the economy multiplier of jrs_core. |
↳ PreventPlantingOnOtherOwnedLands |
true |
Switch for prevent planting on other owned lands: true = on, false = off (default true). |
↳ OtherLandPlantingMessage |
'Farming: this land is priva... |
Text shown to the player for other land planting message. Change it to translate or rebrand. |
↳ ShowOwnedLandStatusInMenu |
true |
Shows owned land status in menu: true = yes, false = no (default true). |
↳ OwnedLandStatusTitle |
"PRIVATE LAND" |
Text shown to the player for owned land status title. Change it to translate or rebrand. |
↳ OwnedLandStatusLabel |
"YOU ARE INSIDE YOUR PROPERTY" |
Text shown to the player for owned land status label. Change it to translate or rebrand. |
↳ HarvestMultiplier |
1.25 |
Rate or multiplier for harvest multiplier. |
↳ JobHarvestMultiplier |
table |
Who is allowed: jobs, groups or permissions for job harvest multiplier. |
↳ BoundaryPadding |
0.10 |
Number for boundary padding (default 0.10). |
↳ Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
OthersInteraction |
true |
Set to false if you don't want the strangers to interact on owned seeds - plants. |
CropCare |
table |
Table of crop care entries. Add, remove or edit entries following the examples in the file. |
↳ Weeds |
table |
Table of weeds entries. Add, remove or edit entries following the examples in the file. |
↳ HealthDecay |
table |
Prevent a long offline catch-up or stacked hazards from killing a crop in one calculation. At 20/hour, complete neglect takes roughly five hours after health damage begins to kill a crop. |
↳ HarvestQuality |
table |
Table of harvest quality entries. Add, remove or edit entries following the examples in the file. |
↳ DryGrowing |
table |
Table of dry growing entries. Add, remove or edit entries following the examples in the file. |
LockPlantsToPlanter |
true |
false preserves the current shared-care behavior; true restricts every maintenance/harvest/remove action to the character who planted the crop. |
IllegalCropDetection |
table |
Table of illegal crop detection entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Jobs |
table |
Who is allowed: jobs, groups or permissions for jobs. |
↳ Plants |
table |
Table of plants entries. Add, remove or edit entries following the examples in the file. |
↳ Distance |
50.0 |
Distance in game units that applies to distance. |
↳ CheckIntervalMs |
3000 |
Time setting for check interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ NotificationCooldownMs |
30000 |
Time setting for notification cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BlipDurationMs |
30000 |
Time setting for blip duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
DeletePlantedSeedsNotComplete |
true |
Delete on @Config.RestartHours the plants (seeds) that have been placed but never actually progressed? |
DisablePlayerDroppedSaving |
false |
Save a connected character's cached plant data again on playerDropped. |
DisplayBlipOwnedPlants |
true |
Set to false if you don't want any blips to be displayed on owned plant locations. |
DisplayBlipSprite |
-675651933 |
Map blip or icon settings for display blip sprite. |
Towns |
table |
Prevent all players from planting seeds - plants on the specified towns below. |
TownCenters |
table |
Authoritative city boundaries (used on both client and server) |
SafezoneIntegration |
table |
Table of safezone integration entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ ResourceName |
"jrs_safezone" |
Text shown to the player for resource name. Change it to translate or rebrand. |
WeatherSync |
table |
The "weathersync" resource is installed on this server ([ui]/weathersync, started before jrs_farming) and exposes exports.weathersync:getWeather(), which matches this integration exactly, so rain now tops up plant water. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ ResourceName |
"weathersync" |
Text shown to the player for resource name. Change it to translate or rebrand. |
↳ UpdateTimer |
1 |
Number for update timer (default 1). |
↳ RefillPlantWaterSource |
true |
Switch for refill plant water source: true = on, false = off (default true). |
↳ RainWaterValue |
1000 |
Number for rain water value (default 1000). |
↳ DamagePlantFertilizerValue |
0 |
Number for damage plant fertilizer value (default 0). |
UpdateTimer |
5 |
Time in minutes for any plant updates (5 Minutes by default). |
NeglectDeathSeconds |
10 * 60 |
fertilizing, working the soil or removing weeds kills and removes the crop. Every successful care action resets this timer. Gradual health decay remains active too, so poor care is visible and recoverable before the final deadline |
WellCaredGrowthBonusPercent |
100 |
has satisfied its one-time fertilizer requirement (server_main.lua's AdvancePlantGrowth) - a well-cared-for plant grows noticeably faster than a neglected one, on top of any zone GrowthRate multiplier. |
FertilePlotSoil |
table |
Crops planted on a jrs_housing fertile plot count as fertilized from the start, but only get these smaller bonuses. Applying all three fertilizer types by hand upgrades the crop to the full bonuses above. |
↳ GrowthBonusPercent |
25 |
instead of WellCaredGrowthBonusPercent (2026-09-24: 50 -> 25, realistic) |
↳ HarvestBonus |
0.05 |
instead of CropCare.HarvestQuality.FertilizedBonus (2026-09-24: 0.07 -> 0.05) |
Temperature |
table |
temperature at the plant's own coords, sampled client-side every UpdateTimer minutes) - see configs/plants.lua's Temperature block on every plant and server_main.lua's AdvancePlantGrowth for the actual check. |
PlaceObjectOnGroundProperly already seats a model on the terrain; this is
| Setting | Default | What it does |
|---|---|---|
PlantMaxRootSink |
0.08 |
sink depths - subtracting them raw buried 54 of the 58 crops up to a metre and a quarter underground, which is why planted crops looked like they never appeared at all. Raise this a little if crops still look like they float. |
PlantZone |
table |
Table of plant zone entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ DrawDistance |
8.0 |
Distance in game units that applies to draw distance. |
↳ Radius |
1.15 |
Distance in game units that applies to radius. |
↳ Segments |
56 |
Number for segments (default 56). |
↳ LineWidth |
4 |
Number for line width (default 4). |
↳ ZOffset |
0.12 |
Number for z offset (default 0.12). |
↳ CenterCrossSize |
0.16 |
Number for center cross size (default 0.16). |
↳ Color |
table |
Table of color entries. Add, remove or edit entries following the examples in the file. |
↳ ShadowColor |
table |
Table of shadow color entries. Add, remove or edit entries following the examples in the file. |
DirectPlanting |
table |
When a seed is used, it is planted automatically in front of the player. |
↳ ForwardDistance |
1.35 |
Distance in game units that applies to forward distance. |
↳ GroundProbeHeight |
5.0 |
Number for ground probe height (default 5.0). |
↳ GroundProbeDepth |
15.0 |
Number for ground probe depth (default 15.0). |
Seamlessly connected to jrs_core character / job leveling.
| Setting | Default | What it does |
|---|---|---|
Leveling |
table |
Table of leveling entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ MaxLevel |
100 |
Upper limit for max level. |
↳ BaseHarvestXP |
40 |
Base XP granted to the character upon a successful harvest (added directly to jrs_core) |
↳ QualityXpMultiplier |
0.50 |
Extra XP bonus based on crop quality (health percentage: e.g. 100% quality = +50% XP) |
↳ Perks |
table |
Progressive Perks & High-Level Rewards across Levels 1 to 100: |
Paid (server only) jrs_fight
jrs core Fight Arena - training bouts, player duels and rankings for jrs_core
| Resource | jrs_fight |
| Folder | [JOBS] |
| Version | 2.5.0 |
| Author | jrs team |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 2,834 Lua lines |
Commands
/fightdiag
Database tables
IF, jrs_fight_rankings
config/config.lua - 136 options#
01. KEYS, PRICES AND DISTANCES
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
TrainingKey |
0x760A9C6F |
(G) start a training bout |
ScoreboardKey |
0x4CC0E2FE |
(B) open the scoreboard |
StartFightKey |
0xDE794E3E |
(Q) challenge another player |
TrainingPrice |
1.50 |
Price (cash) charged when a training bout starts. |
InteractDistance |
2.5 |
Distance from the organizer at which the prompts become active. |
PromptCooldownMs |
750 |
Ignore further prompt presses for this long after one fires. A completed prompt reports true on several consecutive frames, so without this a single press would trigger the action (and its notification) repeatedly. |
TooFarAway |
150.0 |
Leaving this radius aborts a training bout and despawns the arena peds. |
ResetDuel |
true |
Heal both fighters back to full once a duel ends instead of leaving the loser bleeding out. This was ResetDuel in the original config. |
LifeLose |
30 |
A fighter who drops to this health (or below) loses the duel. |
02. DUEL FLOW TIMINGS
| Setting | Default | What it does |
|---|---|---|
RequestTimeoutSeconds |
30 |
How long a challenge stays pending before it expires. |
ZoneTimeoutSeconds |
120 |
After a challenge is accepted both fighters walk to the fight zone. The duel is cancelled if they do not both arrive within this window. |
FightZoneRadius |
12.0 |
How close a fighter must be to fightzonecoords to count as "in the zone". |
DuelLeaveRadius |
35.0 |
Leaving this radius mid-duel forfeits the fight. |
CountdownSeconds |
9 |
Countdown length. The original counted down from 9. |
CountdownSwapFirst |
3 |
The countdown headline changes after this many ticks have elapsed. |
CountdownSwapSecond |
6 |
Number for countdown swap second (default 6). |
MinimumDuelSeconds |
3 |
A duel cannot be resolved before this many seconds of real fighting. Stops a fighter from instantly forfeiting to farm a result. |
MaxDuelSeconds |
600 |
Hard cap on a single round. If neither fighter ever reports a result (a crashed client, a dead NUI) the duel is cancelled and both are freed instead of staying marked busy forever. |
ResultScreenSeconds |
6 |
How long the win/lose result banner stays on screen. |
03. TRAINING TUTORIAL
| Setting | Default | What it does |
|---|---|---|
Tutorial |
table |
Table of tutorial entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Show the numbered lessons while a training bout is running. |
↳ IntervalSeconds |
14 |
Seconds between two lessons. |
↳ Count |
8 |
Lessons 1..8 play during the bout, lesson 9 plays when it is finished. |
TrainingMinimumCompletionSeconds |
20 |
A training completion is reported by the client because its sparring peds live there. Do not grant XP to a completion reported immediately after the server authorises the session (for example after a client/UI failure). |
TrainingFallbackModel |
"cs_welshfighter" |
Used when a training opponent's model is invalid or fails to stream, so a bad model name can never leave the arena empty. |
The small on-screen panel shown while training or duelling.
| Setting | Default | What it does |
|---|---|---|
HUD |
table |
Table of hud entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ ShowTraining |
true |
Show the opponent counter during training. |
↳ ShowDuel |
true |
Show both health bars and the fight clock during a duel. |
↳ HealthSyncMs |
400 |
How often (ms) the client pushes its own health to the server so the opponent's HUD can draw it. Lower is smoother and chattier. |
The "Start Fight" prompt opens a browser of players you can challenge
| Setting | Default | What it does |
|---|---|---|
Browser |
table |
Table of browser entries. Add, remove or edit entries following the examples in the file. |
↳ ListPlayers |
true |
List other players rather than only offering the manual id field. |
↳ NearbyOnly |
false |
Only list players within this many metres of the arena organizer. Set to false to list every eligible player on the server. |
↳ NearbyRadius |
150.0 |
Distance in game units that applies to nearby radius. |
↳ ShowRecords |
true |
Show each listed player's win/loss record next to their name. |
↳ MaxResults |
64 |
Hardest cap on how many players are sent to the NUI. |
npcmodel / blip: set to false to disable that part of the arena.
| Setting | Default | What it does |
|---|---|---|
FightArena |
table |
Table of fight arena entries. Add, remove or edit entries following the examples in the file. |
07. XP (jrs_core per-job leveling)
| Setting | Default | What it does |
|---|---|---|
XP |
table |
Table of xp entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Job |
"fight" |
Per-job level key in jrs_core. Keep this stable: it is the primary key in the jrs_job_levels table, so renaming it orphans existing progress. |
↳ Multiplier |
1.0 |
Scales every reward below. Raise it for a boosted weekend, drop it to slow this job down relative to the others. |
↳ Default |
0 |
Used when a reward name is awarded that is not listed here. |
↳ Rewards |
table |
Small XP for winning only. Losing gives nothing (it was farmable: two friends taking turns to "lose" both earned XP). |
↳ DailyCap |
100 |
Most fight XP one character can earn per real day (all rewards above). |
07b. ANTI-EXPLOIT (server-side; nothing here is trusted from the client)
| Setting | Default | What it does |
|---|---|---|
Security |
table |
Table of security entries. Add, remove or edit entries following the examples in the file. |
↳ OrganizerRadius |
8.0 |
Server-checked distance from the organizer to start training / send a challenge (a bit above InteractDistance for sync lag). |
↳ ZoneSlack |
6.0 |
Extra slack on top of FightZoneRadius when the server checks a fighter who claims to be in the fight zone. |
↳ MinRankedDuelSeconds |
20 |
A duel must last this long to be ranked or give XP. Shorter results (instant forfeits between friends) still end the duel but count nothing. |
↳ PairCooldownSeconds |
900 |
The same two characters only get ranked / rewarded once per this window. |
↳ TrainingXpCooldownSeconds |
600 |
Training XP only once per this window per character. |
↳ MaxTrainingSeconds |
900 |
A training session the client never closes is dropped after this. |
↳ RefundWindowSeconds |
30 |
Refunds are only accepted this soon after the server authorised the bout (the spawn phase); a later "refund" is ignored. |
↳ Throttle |
table |
Per-player event throttles in milliseconds. |
08. DATABASE
| Setting | Default | What it does |
|---|---|---|
AutoCreateTable |
true |
Automatically handles create table: true = yes, false = no (default true). |
DatabaseTable |
"jrs_fight_rankings" |
Setting for database table. |
ScoreboardLimit |
50 |
Upper limit for scoreboard limit. |
09. TEXTS
| Setting | Default | What it does |
|---|---|---|
Text |
table |
Text shown to the player for text. Change it to translate or rebrand. |
↳ Title |
"Fight Club" |
Text shown to the player for title. Change it to translate or rebrand. |
↳ Training |
"Training" |
Setting for training. |
↳ FightZone |
"Fight Zone" |
Setting for fight zone. |
↳ Scoreboard |
"Scoreboard" |
Setting for scoreboard. |
↳ StartFight |
"Start Fight" |
Setting for start fight. |
↳ ChallengeHeader |
"Challenge a Player" |
Challenge browser |
↳ ChallengeRow |
'Pick an opponent from the l... |
Setting for challenge row. |
↳ ChallengeSearch |
"Search by name or id..." |
Setting for challenge search. |
↳ ChallengeManual |
"Player ID" |
Setting for challenge manual. |
↳ ChallengeSubmit |
"Send Challenge" |
Setting for challenge submit. |
↳ ChallengeCancel |
"Cancel" |
Setting for challenge cancel. |
↳ ChallengeTabList |
"Available Players" |
Setting for challenge tab list. |
↳ ChallengeTabManual |
"Manual Entry" |
Setting for challenge tab manual. |
↳ ChallengeEmpty |
'No opponents available righ... |
Setting for challenge empty. |
↳ ChallengeRecord |
"Record" |
Setting for challenge record. |
↳ WrongInputs |
"Invalid input!" |
Setting for wrong inputs. |
↳ ChallengeIncoming |
"FIGHT REQUEST" |
Incoming challenge card |
↳ ChallengeArenaLine |
'Someone wants to settle thi... |
Setting for challenge arena line. |
↳ ChallengeSuffix |
" has challenged you to a fight!" |
Setting for challenge suffix. |
↳ Accept |
"Accept" |
Setting for accept. |
↳ Decline |
"Decline" |
Setting for decline. |
↳ TrainingStarted |
'Training has started! Beat ... |
Training |
↳ TooFar |
'You went too far from the t... |
Setting for too far. |
↳ TrainingLost |
'You were knocked out! Train... |
Setting for training lost. |
↳ TooFarOrganizer |
'Stand next to the fight org... |
Setting for too far organizer. |
↳ UnrankedResult |
'Friendly fight - not ranked... |
Setting for unranked result. |
↳ FinishedTraining |
'You finished the training s... |
Setting for finished training. |
↳ AlreadySpawned |
'You already started a train... |
Setting for already spawned. |
↳ NoMoney |
'You do not have enough mone... |
Money value for no money. Rewards go through the economy multiplier of jrs_core. |
↳ TrainingUnavailable |
'No sparring partner could b... |
Setting for training unavailable. |
↳ GoToFightZone |
'Head to the centre of the f... |
Duel |
↳ RequestSent |
'Challenge sent, waiting for... |
Setting for request sent. |
↳ RequestExpired |
"The challenge request expired." |
Setting for request expired. |
↳ NotOnline |
"That player is not online!" |
Setting for not online. |
↳ RivalInDuel |
'That player is busy with a ... |
Setting for rival in duel. |
↳ YouInDuel |
'You are already in a fight,... |
Setting for you in duel. |
↳ DuelDeclined1 |
"Your challenge was declined!" |
Setting for duel declined1. |
↳ DuelDeclined2 |
"You declined that fight!" |
Setting for duel declined2. |
↳ DuelCancelled |
"The fight was cancelled." |
Setting for duel cancelled. |
↳ PrepareToFight |
"Prepare to fight!" |
Setting for prepare to fight. |
↳ BeReady |
"Be ready" |
Setting for be ready. |
↳ Fight |
"FIGHT" |
Setting for fight. |
↳ PrepareLine |
'The best fighter wins. Are ... |
Setting for prepare line. |
↳ YouWin |
'You won the fight! You are ... |
Setting for you win. |
↳ YouLost |
'You lost this one, but do n... |
Setting for you lost. |
↳ VersusLabel |
"VS" |
Text shown to the player for versus label. Change it to translate or rebrand. |
↳ ResultWin |
"VICTORY" |
Result banner |
↳ ResultLose |
"DEFEAT" |
Setting for result lose. |
↳ ResultStreak |
"Win Streak" |
Setting for result streak. |
↳ ResultRecord |
"Record" |
Setting for result record. |
↳ HudTraining |
"TRAINING" |
Live HUD |
↳ HudOpponents |
"Opponents left" |
Setting for hud opponents. |
↳ HudDuel |
"DUEL" |
Setting for hud duel. |
↳ HudYou |
"You" |
Setting for hud you. |
↳ ScoreSubtitle |
'Standings of every contende... |
Scoreboard |
↳ ScoreChampion |
"STRONGEST FIGHTER" |
Setting for score champion. |
↳ ScoreChampionNone |
'No champion yet - the title... |
Setting for score champion none. |
↳ ScoreContenders |
"Contenders" |
Setting for score contenders. |
↳ ScoreBest |
"Best streak" |
Setting for score best. |
↳ ScoreRank |
"#" |
Setting for score rank. |
↳ ScoreFighter |
"Fighter" |
Setting for score fighter. |
↳ ScoreWins |
"Wins" |
Setting for score wins. |
↳ ScoreLosses |
"Losses" |
Setting for score losses. |
↳ ScoreRatio |
"Ratio" |
Setting for score ratio. |
↳ ScoreStreak |
"Streak" |
Setting for score streak. |
↳ ScoreYou |
"You" |
Setting for score you. |
↳ ScoreSearch |
"Search for a fighter..." |
Setting for score search. |
↳ ScoreUnranked |
'You have not recorded a fig... |
Setting for score unranked. |
↳ VictoryLabel |
" - Wins: " |
Text shown to the player for victory label. Change it to translate or rebrand. |
↳ DefeatLabel |
" - Losses: " |
Text shown to the player for defeat label. Change it to translate or rebrand. |
↳ NoRankings |
"No results recorded yet." |
Setting for no rankings. |
↳ TutorialTitle |
table |
Training tutorial |
↳ Tutorial |
table |
Table of tutorial entries. Add, remove or edit entries following the examples in the file. |
(Historical note: the old jrs_notify export ended with Citizen.Wait(duration)
| Setting | Default | What it does |
|---|---|---|
Notifications |
table |
Table of notifications entries. Add, remove or edit entries following the examples in the file. |
↳ UseNUI |
false |
Draw notifications as toasts in the fight UI instead of the unified jrs_notify toast. Leave false so fight messages match the rest of the server; jrs_notify is used whenever it is running either way. |
↳ Fallback |
"jrs_notify" |
Fallback path when jrs_notify is stopped and UseNUI is false: 'jrs_notify' or 'core' (the jrs_core right tip). |
↳ Duration |
6000 |
Default lifetimes in milliseconds. |
↳ LessonDuration |
10000 |
Time setting for lesson duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Notes from the README#
# JRS Fight Arena
An open reimplementation of the SS-FightArena feature set, rebuilt on `jrs_core`
with no escrow, no jQuery/materialize and no external menu or input resource.
Every string is English and lives in `config/config.lua`.
## Features
- Multiple configurable arenas, each with an organizer NPC and a fight zone.
- Native prompts on the organizer: **Training (G)**, **Start Fight (Q)**,
**Scoreboard (B)**.
- Paid training bouts against configurable opponents (model, random health
range, combat movement) with the nine numbered fighting lessons.
- **Challenge browser**: pick an opponent from a searchable list of eligible
players showing their win/loss record, or enter a server id by hand.
- Incoming challenge card with the challenger's initials, record and a live
request-timeout bar.
- Both fighters walk to the fight zone; the countdown only starts once both are
inside it, and shows a versus header plus a draining progress ring.
- **Live HUD**: opponents remaining during training; both fighters' health bars
and a fight clock during a duel.
- **Result banner** with the fresh record and win streak.
- Duels resolve server-side on the health floor, on death, or on leaving the
arena. Quitting mid-fight counts as a loss.
- Persistent rankings with win streaks and a full scoreboard: medal ranks, win
ratio, streak column, search box and your own row pinned and highlighted.
- Unified notifications through `jrs_core`, so arena messages use the same
renderer and language styling as the rest of the server.
- Per-job XP through `jrs_core` (job key `fight`).
- Owner-only administration through the shared `jrs_scriptadmin` panel, the same
way `jrs_farming` does it.
## Dependencies
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_scriptadmin # optional; required only for the owner admin panel
ensure jrs_fight
'''
`jrs_fight` lives in `[JOBS]`, which `server.cfg` already starts with
`ensure [JOBS]` after `jrs_core`, `oxmysql` and the shared JRS resources.
## Flow
| Step | Where | What happens |
| --- | --- | --- |
| Training | organizer prompt (G) | `Config.TrainingPrice` is charged, the arena's `training` peds spawn, the HUD counts opponents, lessons 1..8 play, lesson 9
| Challenge | organizer prompt (Q) | The challenge browser lists eligible players with their records; pick one or type an id. |
| Walk in | after accept | Both fighters are told to go to the fight zone and report when they arrive. |
| Countdown | both in zone | Versus header, draining ring, 9..1, both frozen, then `FIGHT`. |
| Duel | after the countdown | Both health bars are live in the HUD; health is relayed server-side. |Free (included in JRS Core) jrs_fishing
jrs core Fishing
| Resource | jrs_fishing |
| Folder | [JOBS] |
| Version | 1.5.4 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 6,055 Lua lines |
Commands
/-jrsFishingSkillHit/fishboard/fishdebug
Exports
OpenFishingBoard
Database tables
jrs_fishing_leaderboard
config/config.lua - 151 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Difficulty |
1250 |
If you use -1 for testing the fish is very easy to catch -- |
ReelSpeed |
0.0125 |
Number for reel speed (default 0.0125). |
LegendaryCooldownMinutes |
15 |
After landing a Legendary fish, that character cannot roll another Legendary for this many minutes (catches still roll Rare/Epic/Common). 0 = no cooldown. |
FishingMechanics |
table |
Fishing behavior. Percent values are from 0 to 100. |
↳ AttractionRadius |
50.0 |
How far fish can detect the bait. |
↳ HookDistance |
1.6 |
Fish must be this close to bite. |
↳ LureCooldownMs |
1000 |
Delay between attraction tasks. |
↳ BiteAttemptIntervalMs |
750 |
Delay between bite rolls while a fish is close. |
↳ BiteChance |
45 |
Chance for a nearby interested fish to bite. |
↳ AutoBiteDelayMs |
4000 |
Maximum time waiting before a fish bites automatically. |
↳ StruggleChance |
40 |
Chance that the fish enters a struggle phase. |
↳ StruggleDurationMinSec |
3 |
Time setting for struggle duration min sec. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ StruggleDurationMaxSec |
5 |
Time setting for struggle duration max sec. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CalmDurationMinSec |
6 |
Time setting for calm duration min sec. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CalmDurationMaxSec |
10 |
Time setting for calm duration max sec. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ FishPullForce |
0.8 |
Number for fish pull force (default 0.8). |
↳ MinimumPullForce |
0.8 |
Minimum or level requirement for minimum pull force. |
↳ LineBreakForce |
1.4 |
Number for line break force (default 1.4). |
↳ ForceStep |
0.005 |
Number for force step (default 0.005). |
↳ RequireMatchingBait |
true |
Only fish listed for the selected bait can bite. |
FishingSkillGame |
table |
UI skill-check shown after a fish bites the hook. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ RequiredHits |
3 |
Correct R / Click presses needed to land the fish. |
↳ AllowedMisses |
1 |
Number of allowed misses before losing the fish. |
↳ ZoneWidth |
18 |
Gold arc size as a percentage of the ring (18 = 65 degrees). |
↳ TravelTimeMs |
1450 |
Needle speed: one lap takes 1.25x this; lower is faster. |
↳ TimeLimitMs |
15000 |
Total time allowed for the skill-check. |
↳ PullToPlayerSpeed |
3.0 |
How quickly the successful fish moves toward the player. |
↳ LandingDistance |
4.0 |
Native landing begins at this line distance. |
↳ AutoLandTimeoutMs |
3500 |
Safety fallback if the fish cannot path to the player. |
↳ DefaultKey |
"R" |
Used only when RegisterKeyMapping is supported. |
↳ ControlHash |
0xE30CD707 |
INPUT_RELOAD / keyboard R fallback for older RedM artifacts. |
↳ KeyLabel |
"R" |
Key or control used for key label. Controls are hash values from the game input list. |
↳ Title |
"Secure the Hook" |
Text shown to the player for title. Change it to translate or rebrand. |
↳ Instruction |
"Press R when the needle is ... |
Setting for instruction. |
FishingWaitUI |
table |
Circular indicator displayed while waiting for a fish to bite. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Label |
"Waiting for a fish..." |
Text shown to the player for label. Change it to translate or rebrand. |
FishCatchUI |
table |
Table of fish catch ui entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Title |
"Fish Caught" |
Text shown to the player for title. Change it to translate or rebrand. |
↳ PromptTitle |
"FISH CAUGHT" |
Text shown to the player for prompt title. Change it to translate or rebrand. |
↳ KeepLabel |
"Keep Fish" |
Text shown to the player for keep label. Change it to translate or rebrand. |
↳ ThrowLabel |
"Throw Fish" |
Text shown to the player for throw label. Change it to translate or rebrand. |
↳ DefaultImage |
"assets/fish_bw.png" |
Setting for default image. |
↳ Images |
table |
Keys are the signed 32-bit GetHashKey() of the uppercase model name (e.g. GetHashKey("A_C_FISHBLUEGIL_01_MS")). Real per-species catch photos (from the imported fishing dataset's art) live in html/assets/fish/. |
FishingJob |
table |
Leave Enabled = false to allow everyone to fish. Set Enabled = true when fishing should require one of the jobs below. |
↳ Enabled |
true |
Enabled: requires the fishing job (fisher / fisherman) |
↳ AllowedJobs |
table |
Internal job names stored by jrs_core or jrs_multijob. Add more entries if needed. |
↳ MinimumGrade |
0 |
Minimum job grade/rank required. Set 0 to allow every grade. |
↳ DeniedMessage |
"لا يمكنك الصيد بدون وظيفة ا... |
Message shown when a player without the required job tries to fish or use bait. |
↳ ValidateOnBaitUse |
true |
Extra server-side protection when consuming bait and receiving a fish. |
↳ ValidateOnBaitConsume |
true |
Switch for validate on bait consume: true = on, false = off (default true). |
↳ ValidateOnFishReward |
true |
Switch for validate on fish reward: true = on, false = off (default true). |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Url |
"" |
Setting for url. |
↳ Color |
10038562 |
Number for color (default 10038562). |
FishingXP |
table |
Uses jrs_core's official server API: REDEMPIRE.addxp(source, amount). XP is awarded only after a successful catch is added to inventory. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Default |
15 |
Used only when a fish model is missing from Rewards. |
↳ NotifyPlayer |
true |
Switch for notify player: true = on, false = off (default true). |
↳ Notification |
"+%s Fishing XP" |
Text shown to the player for notification. Change it to translate or rebrand. |
↳ Rewards |
table |
Table of rewards entries. Add, remove or edit entries following the examples in the file. |
FishingCash |
table |
Money value for fishing cash. Rewards go through the economy multiplier of jrs_core. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Default |
2.50 |
Number for default (default 2.50). |
↳ Rewards |
table |
Table of rewards entries. Add, remove or edit entries following the examples in the file. |
Baits |
table |
Baits are also the names of the used items when holding a fishing rod. |
ReusableBaits |
table |
Reusable baits (artificial lures & spinners). Items listed here are NOT consumed/deleted from the player's inventory on cast; the server only verifies that the player possesses at least 1 in their inventory. |
↳ p_finishedragonfly01x |
true |
Dragonfly Lure |
↳ p_FinisdFishlure01x |
true |
Fish Lure |
↳ p_finishdcrawd01x |
true |
Crawfish Lure |
↳ p_finishedragonflylegendary01x |
true |
Legendary Dragonfly Lure |
↳ p_finisdfishlurelegendary01x |
true |
Legendary Fish Lure |
↳ p_finishdcrawdlegendary01x |
true |
Legendary Crawfish Lure |
↳ p_lgoc_spinner_v4 |
true |
Special Spinner |
↳ p_lgoc_spinner_v6 |
true |
Legendary Special Spinner |
BaitsPerFish |
table |
Table of baits per fish entries. Add, remove or edit entries following the examples in the file. |
↳ p_baitBread01x |
table |
Table of p bait bread01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_baitCorn01x |
table |
Table of p bait corn01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_baitCheese01x |
table |
Table of p bait cheese01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_baitCricket01x |
table |
Table of p bait cricket01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_baitWorm01x |
table |
Table of p bait worm01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_crawdad01x |
table |
Table of p crawdad01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_finishedragonfly01x |
table |
Table of p finishedragonfly01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_FinisdFishlure01x |
table |
Table of p finisd fishlure01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_finishdcrawd01x |
table |
Table of p finishdcrawd01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_finishedragonflylegendary01x |
table |
Table of p finishedragonflylegendary01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_finisdfishlurelegendary01x |
table |
Table of p finisdfishlurelegendary01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_finishdcrawdlegendary01x |
table |
Table of p finishdcrawdlegendary01x entries. Add, remove or edit entries following the examples in the file. |
↳ p_lgoc_spinner_v4 |
table |
Table of p lgoc spinner v4 entries. Add, remove or edit entries following the examples in the file. |
↳ p_lgoc_spinner_v6 |
table |
Table of p lgoc spinner v6 entries. Add, remove or edit entries following the examples in the file. |
FishData |
table |
Table of fish data entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHBLUEGIL_01_MS |
table |
Table of a c fishbluegil 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHBLUEGIL_01_SM |
table |
Table of a c fishbluegil 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHBULLHEADCAT_01_MS |
table |
Table of a c fishbullheadcat 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHBULLHEADCAT_01_SM |
table |
Table of a c fishbullheadcat 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHCHAINPICKEREL_01_MS |
table |
Table of a c fishchainpickerel 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHCHAINPICKEREL_01_SM |
table |
Table of a c fishchainpickerel 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHCHANNELCATFISH_01_LG |
table |
Table of a c fishchannelcatfish 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHCHANNELCATFISH_01_XL |
table |
Table of a c fishchannelcatfish 01 xl entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHLAKESTURGEON_01_LG |
table |
Table of a c fishlakesturgeon 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHLARGEMOUTHBASS_01_LG |
table |
Table of a c fishlargemouthbass 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHLARGEMOUTHBASS_01_MS |
table |
Table of a c fishlargemouthbass 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHLONGNOSEGAR_01_LG |
table |
Table of a c fishlongnosegar 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHMUSKIE_01_LG |
table |
Table of a c fishmuskie 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHNORTHERNPIKE_01_LG |
table |
Table of a c fishnorthernpike 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHPERCH_01_MS |
table |
Table of a c fishperch 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHPERCH_01_SM |
table |
Table of a c fishperch 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHRAINBOWTROUT_01_LG |
table |
Table of a c fishrainbowtrout 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHRAINBOWTROUT_01_MS |
table |
Table of a c fishrainbowtrout 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHREDFINPICKEREL_01_MS |
table |
Table of a c fishredfinpickerel 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHREDFINPICKEREL_01_SM |
table |
Table of a c fishredfinpickerel 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHROCKBASS_01_MS |
table |
Table of a c fishrockbass 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHROCKBASS_01_SM |
table |
Table of a c fishrockbass 01 sm entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHSALMONSOCKEYE_01_LG |
table |
Table of a c fishsalmonsockeye 01 lg entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHSALMONSOCKEYE_01_ML |
table |
Table of a c fishsalmonsockeye 01 ml entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHSALMONSOCKEYE_01_MS |
table |
Table of a c fishsalmonsockeye 01 ms entries. Add, remove or edit entries following the examples in the file. |
↳ A_C_FISHSMALLMOUTHBASS_01_LG |
table |
Table of a c fishsmallmouthbass 01 lg entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
# REDEMPIRE Fishing Modifications
This version includes a fishing skill game, a circular waiting indicator, bait consumption on cast, optional job restrictions, and configurable XP rewards per f
## Skill Game
When a fish bites, press `R` while the moving fish icon overlaps the target fish icon. The target moves after every successful hit. The default requirement is t
Configure the system in `Config.FishingSkillGame` inside `config.lua`:
- `Enabled`: Enables or disables the skill game.
- `RequiredHits`: Number of successful hits required.
- `AllowedMisses`: Number of allowed misses.
- `ZoneWidth`: Target area width.
- `TravelTimeMs`: Time for the moving icon to cross the bar.
- `TimeLimitMs`: Total attempt time.
- `PullToPlayerSpeed`: Fish pull speed after success.
- `LandingDistance`: Distance required to begin the landing animation.
- `AutoLandTimeoutMs`: Fallback timeout to prevent the fish from getting stuck.
- `DefaultKey`: Default key label.
- `ControlHash`: RedM control hash used as the fallback input.
## Waiting Indicator
Configure the circular waiting indicator in `Config.FishingWaitUI`.
## Job Restriction
Configure job access in `Config.FishingJob`. The restriction is disabled by default with `Enabled = false`.
## Fishing XP
Configure XP rewards in `Config.FishingXP`. Each fish model can have its own XP value in the `Rewards` table. XP is awarded through the REDEMPIRE Core API afterPaid (server only) jrs_freelance
JRS Freelance - Unified Chimney Sweep & Metal Detector Activities
| Resource | jrs_freelance |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 3,760 Lua lines |
Commands
/jrsmd_resetspots
config/chimneysweep.lua - 40 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Locale |
"ar" |
Interface language of this script (en or ar). |
RequiredJob |
table |
Set enabled = false to allow every player. 'surfacecleaner' is the job-board job (jrs_multijob "Surface Cleaner"); the old 'chimneysweep' id was never offered on any board, so nobody could get it. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ job |
"surfacecleaner" |
Who is allowed: jobs, groups or permissions for job. |
↳ jobs |
table |
Who is allowed: jobs, groups or permissions for jobs. |
↳ label |
"Surface Cleaner" |
Text shown to the player for label. Change it to translate or rebrand. |
NPCs |
table |
Table of np cs entries. Add, remove or edit entries following the examples in the file. |
CleaningDuration |
10000 |
Time setting for cleaning duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Payment |
table |
Table of payment entries. Add, remove or edit entries following the examples in the file. |
JobsPerTask |
4 |
Who is allowed: jobs, groups or permissions for jobs per task. |
Cooldown |
30000 |
Time setting for cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
DailyLimit |
table |
Upper limit for daily limit. |
BroomModel |
"p_broom01x" |
Game model or entity used for broom model. |
BroomFallbacks |
table |
Table of broom fallbacks entries. Add, remove or edit entries following the examples in the file. |
Animation |
table |
Animation settings for animation. |
↳ male |
table |
Table of male entries. Add, remove or edit entries following the examples in the file. |
↳ female |
table |
Table of female entries. Add, remove or edit entries following the examples in the file. |
↳ fallback |
table |
Table of fallback entries. Add, remove or edit entries following the examples in the file. |
↳ flag |
1 |
Number for flag (default 1). |
↳ prop |
Config.BroomModel |
Game model or entity used for prop. |
↳ bone |
7966 |
Number for bone (default 7966). |
↳ offset |
table |
Table of offset entries. Add, remove or edit entries following the examples in the file. |
NPCPromptKey |
0x760A9C6F |
Key or control used for npc prompt key. Controls are hash values from the game input list. |
PromptKey |
0x760A9C6F |
Key or control used for prompt key. Controls are hash values from the game input list. |
JobBlip |
table |
Map blip or icon settings for job blip. |
ChimneyObject |
table |
Disabled: all props removed as requested. Only yellow circle markers are displayed. |
↳ enabled |
false |
Turns enabled on or off (default false). |
TaskMarker |
table |
Yellow circle marker drawn at every incomplete chimney task while the job is active. zOffset kept near 0 (rooftop coords are already at surface height) since a large negative offset can sink the marker below thin roof geometry and |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ type |
1 |
Number for type (default 1). |
↳ scale |
vector3(1.8, 1.8, 1.2) |
Rate or multiplier for scale. |
↳ color |
table |
Table of color entries. Add, remove or edit entries following the examples in the file. |
↳ zOffset |
0.25 |
Number for z offset (default 0.25). |
↳ bobUpAndDown |
true |
Switch for bob up and down: true = on, false = off (default true). |
↳ drawDistance |
25.0 |
Distance in game units that applies to draw distance. |
InteractionDistance |
3.0 |
Distance in game units that applies to interaction distance. |
DrawDistance |
50.0 |
Distance in game units that applies to draw distance. |
ServerValidationDistance |
20.0 |
Distance in game units that applies to server validation distance. |
NotificationDuration |
4000 |
Time setting for notification duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
config/metal_detector.lua - 74 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. |
InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
DetectorWeapon |
"WEAPON_KIT_METAL_DETECTOR" |
Native Red Dead Online metal detector weapon. |
DetectorItem |
"metal_detector" |
Inventory item that owns/toggles the detector. The native held kit is not stored in the weapon loadout because RedM reports HAS_PED_GOT_WEAPON=false for this held-kit weapon even while it is visibly equipped. |
ShovelItem |
"shovel" |
Inventory items used by shovel item. Names must exist in the jrs_items table. |
TestCommands |
table |
Temporary development commands. These give/remove the detector directly with RedM natives and do NOT require an inventory/database entry. Disable after the detector test is complete. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ GiveCommand |
"testdetector" |
Setting for give command. |
↳ RemoveCommand |
"removedetector" |
Setting for remove command. |
RandomizeSpotPlacement |
false |
If enabled, each resource start selects a random subset of the configured spots. |
RandomSpotChance |
50 |
Rate or multiplier for random spot chance. |
NearbyPlayerDistance |
15.0 |
Nearby clients reproduce the shovel prop/animation for the digging player. |
MaxDistanceToNode |
5.0 |
Detection distances. |
MinDistanceToNode |
1.0 |
Distance in game units that applies to min distance to node. |
DigPromptDistance |
1.65 |
Dig prompt distance is intentionally a little larger than MinDistanceToNode. The detector light can already look fully green just outside exactly 1.0m, and using horizontal distance prevents small terrain/Z differences from hiding |
UseStrobeMode |
false |
Light behavior. |
UseColorMode |
true |
Turns color mode on or off (default true). |
DisableFindingNodesAfterUse |
true |
Turns off finding nodes after use: true = yes, false = no (default true). |
SpotCooldown |
table |
Optional cooldown after a successful dig. Enabled = true -> the spot is hidden/locked until Seconds expires. Enabled = false -> no timed reset; the spot stays consumed until the resource/server restarts. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Seconds |
30 * 60 |
30 minutes |
Blips |
table |
Optional map blips for treasure search locations. Disable globally with Enabled = false, or disable a single location with that location's blipEnabled = false value below. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ OnlyActiveSpots |
true |
Switch for only active spots: true = on, false = off (default true). |
↳ HideOnCooldown |
false |
Hides on cooldown: true = yes, false = no (default false). |
↳ Style |
1664425300 |
Number for style (default 1664425300). |
↳ Sprite |
0 |
0 = keep the default RedM blip sprite for this style |
↳ Scale |
0.75 |
Rate or multiplier for scale. |
↳ DefaultName |
"Treasure Search Area" |
Text shown to the player for default name. Change it to translate or rebrand. |
Light |
table |
Table of light entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Range |
1.25 |
Distance in game units that applies to range. |
↳ MinIntensity |
0.35 |
Minimum or level requirement for min intensity. |
↳ MaxIntensity |
5.5 |
Upper limit for max intensity. |
↳ StrobeSpeed |
0.022 |
Number for strobe speed (default 0.022). |
↳ Offset |
vec3(0.42, 0.72, -0.58) |
Approximate detector-head position relative to the player. |
Sound |
table |
Detector audio. Uses an internal NUI beep so it does not depend on undocumented RDR3 frontend sound names/soundsets. The beep gets faster and slightly higher-pitched as the player approaches a treasure spot. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Volume |
0.70 |
Number for volume (default 0.70). |
↳ MinPitch |
0.90 |
Minimum or level requirement for min pitch. |
↳ MaxPitch |
1.35 |
Upper limit for max pitch. |
↳ FarInterval |
850 |
Time setting for far interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ NearInterval |
115 |
Time setting for near interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ TestCommand |
"testdetectorsound" |
Local test command. Set to false to disable it. |
Keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ Dig |
"INPUT_FRONTEND_X" |
Setting for dig. |
Dig |
table |
Table of dig entries. Add, remove or edit entries following the examples in the file. |
↳ Duration |
7000 |
Time setting for duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ LockTimeout |
20 |
Time setting for lock timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ Prop |
"p_shovel02x" |
Game model or entity used for prop. |
↳ AnimDict |
'amb_work@world_human_graved... |
Grave-digging animation paired with the shovel position below. |
↳ AnimName |
"base" |
Text shown to the player for anim name. Change it to translate or rebrand. |
↳ AnimFlag |
17 |
Animation settings for anim flag. |
↳ BoneName |
"SKEL_R_Hand" |
Shovel attachment. Keep this on the right hand; the animation positions the left hand around the shaft automatically. |
↳ FallbackBone |
7966 |
Number for fallback bone (default 7966). |
↳ Position |
vec3(0.0, -0.09, -0.09) |
World coordinates (x, y, z) used for position. |
↳ Rotation |
vec3(250.2899, 579.19, 373.3... |
Setting for rotation. |
↳ DisablePropCollision |
true |
Prevent the shovel from colliding with the ped/ground while attached. |
↳ MakePropInvincible |
true |
Switch for make prop invincible: true = on, false = off (default true). |
Security |
table |
Table of security entries. Add, remove or edit entries following the examples in the file. |
↳ RequireDetectorOwnership |
true |
Server checks for Config.DetectorItem in jrs_inventory before digging. |
↳ FailClosedOnDetectorCheckError |
true |
Fail closed if jrs_inventory cannot verify the detector item. |
↳ DigValidationDistance |
2.25 |
Distance in game units that applies to dig validation distance. |
↳ RequestCooldownMs |
1250 |
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. |
Locations |
table |
Chance values are weights. They do not have to total exactly 100. |
↳ Owanjila |
table |
Table of owanjila entries. Add, remove or edit entries following the examples in the file. |
↳ Barrow_Lagoon |
table |
Table of barrow lagoon entries. Add, remove or edit entries following the examples in the file. |
↳ Grizzlies_East |
table |
Table of grizzlies east entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Url |
"" |
Setting for url. |
↳ Color |
9326801 |
Number for color (default 9326801). |
↳ Name |
"REDEMPIRE Metal Detector" |
Text shown to the player for name. Change it to translate or rebrand. |
↳ Avatar |
"" |
Setting for avatar. |
Free (included in JRS Core) jrs_goldclaim
JRS Core gold claims - gold rockers, paydirt, water and licensed claims
| Resource | jrs_goldclaim |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, jrs_inventory, jrs_progressbar, oxmysql |
| Interface | No |
| Code size | 2,604 Lua lines |
config.lua - 56 options#
General
| Setting | Default | What it does |
|---|---|---|
Language |
"en" |
'en' or 'ar' |
PlayerProps |
table |
populated at runtime by the server, do not edit |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
NotifyDuration |
10000 |
default notification duration (ms) |
general settings (gold rocker / claims)
| Setting | Default | What it does |
|---|---|---|
EnableVegModifier |
true |
clears vegetation around placed rockers |
GoldRocker |
p_goldcradlestand01x |
prop used for gold rocker |
MaxGoldRockers |
4 |
maximum gold rockers per character |
DegradeChance |
5 |
% chance (per rocker) of losing 1% quality each cron cycle |
DegradeEvery |
30 |
minutes between degradation rolls |
RepairWoodAmount |
5 |
amount of wood needed to repair |
LeoJobs |
table |
jobs allowed to destroy unlicensed claims |
OwnerOnlyProcessing |
true |
only the owner can start processing (and receives the output) |
distances (server-side anti-exploit checks)
| Setting | Default | What it does |
|---|---|---|
InteractDistance |
5.0 |
max distance from a rocker to interact with it |
PickupDistance |
10.0 |
max distance from a rocker to pick up its output |
PlaceMaxDistance |
6.0 |
max distance between player and placed rocker |
MinRockerSpacing |
4.0 |
min distance between two rockers |
PropDrawDistance |
60.0 |
distance at which rocker props are streamed in |
processing settings
| Setting | Default | What it does |
|---|---|---|
ProcessingTime |
60000 |
time in ms per processing cycle |
GoldChance |
50 |
% chance of gold vs paydirt return |
AddPaydirtTime |
10000 |
time in ms to add paydirt to rocker |
AddWaterTime |
10000 |
time in ms to add water to rocker |
MaxPaydirt |
5 |
max paydirt units a rocker can hold |
MaxWater |
5 |
max water units a rocker can hold |
RepairTime |
10000 |
time in ms to repair |
PackUpTime |
10000 |
time in ms to pack up |
PlaceTime |
10000 |
time in ms to set up a rocker |
DestroyTime |
10000 |
time in ms for LEO to destroy an illegal claim |
PickupTime |
3000 |
time in ms to pick up an output prop |
gold ore output (random amount per gold pickup)
| Setting | Default | What it does |
|---|---|---|
GoldOreItem |
"goldnugget" |
Money value for gold ore item. Rewards go through the economy multiplier of jrs_core. |
GoldOreAmount |
table |
Money value for gold ore amount. Rewards go through the economy multiplier of jrs_core. |
gathering settings (shovel / bucket)
| Setting | Default | What it does |
|---|---|---|
ShovelDigTime |
10000 |
time in ms to dig paydirt |
BucketFillTime |
8000 |
time in ms to fill bucket |
prop models
| Setting | Default | What it does |
|---|---|---|
GoldProp |
p_goldstack01x |
gold output prop |
PaydirtProp |
`mp005_p_dirtpile_sca02_buri... |
paydirt output prop |
PropSpawnOffset |
1.5 |
distance to side of rocker to spawn output prop |
shovel prop (attached to hand during dig)
| Setting | Default | What it does |
|---|---|---|
ShovelProp |
table |
Game model or entity used for shovel prop. |
↳ model |
p_shovel02x |
Game model or entity used for model. |
↳ bone |
"SKEL_R_Hand" |
Setting for bone. |
↳ offset |
table |
Table of offset entries. Add, remove or edit entries following the examples in the file. |
DigDirtPile |
table |
dirt pile spawned in front of the player after a successful dig (cosmetic, local only) |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ model |
`mp005_p_dirtpile_tall_unbur... |
Game model or entity used for model. |
↳ offset |
0.6 |
distance in front of the player |
↳ lifetime |
30000 |
ms before it is removed |
animations
| Setting | Default | What it does |
|---|---|---|
Anims |
table |
Table of anims entries. Add, remove or edit entries following the examples in the file. |
↳ dig |
table |
Table of dig entries. Add, remove or edit entries following the examples in the file. |
↳ crouch_inspect |
WORLD_HUMAN_CROUCH_INSPECT |
scenario |
↳ add_paydirt |
WORLD_HUMAN_FEED_PIGS |
scenario used when adding paydirt |
↳ add_water |
`WORLD_HUMAN_BUCKET_POUR_LOW... |
scenario used when adding water |
claim zone / blip settings
| Setting | Default | What it does |
|---|---|---|
ClaimZoneRadius |
20.0 |
Distance in game units that applies to claim zone radius. |
MaxClaimNameLength |
50 |
Upper limit for max claim name length. |
ClaimBlip |
table |
Map blip or icon settings for claim blip. |
↳ blipSprite |
"blip_gold" |
Map blip or icon settings for blip sprite. |
↳ blipScale |
0.2 |
Map blip or icon settings for blip scale. |
↳ blipColour |
"BLIP_MODIFIER_MP_COLOR_6" |
Map blip or icon settings for blip colour. |
placement
| Setting | Default | What it does |
|---|---|---|
ForwardDistance |
2.0 |
Distance in game units that applies to forward distance. |
Free (included in JRS Core) jrs_goldpanning
JRS Core gold panning - pan for gold nuggets in rivers and lakes
| Resource | jrs_goldpanning |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, jrs_inventory, jrs_minigame |
| Interface | No |
| Code size | 933 Lua lines |
config.lua - 13 options#
General
| Setting | Default | What it does |
|---|---|---|
Language |
"en" |
'en' or 'ar' |
PanItem |
"goldpan" |
Inventory items used by pan item. Names must exist in the jrs_items table. |
Reward |
table |
Money value for reward. Rewards go through the economy multiplier of jrs_core. |
BreakChance |
3 |
% chance the pan breaks on a failed try |
Rounds |
3 |
skill checks in a row (jrs_minigame) |
Cooldown |
5 |
seconds between two pans |
MinTime |
8 |
seconds a pan really takes (server check) |
Water |
table |
fresh water only (no swamps) |
↳ -247856387 |
true, [-1504425495] = true, ... |
Setting for 247856387. |
↳ -1300497193 |
true, [-1276586360] = true, ... |
Setting for 1300497193. |
↳ 592454541 |
true, [-804804953] = true, [... |
Setting for 592454541. |
↳ -811730579 |
true, [-1229593481] = true, ... |
Setting for 811730579. |
↳ 2005774838 |
true, [-1287619521] = true, ... |
Setting for 2005774838. |
Paid (server only) jrs_government
JRS Government - city governors, elections, citizenship, treasury, city revenue, taxes, city wars and government messaging
| Resource | jrs_government |
| Folder | [JOBS] |
| Version | 2.4.5 |
| Author | JRS |
| Depends on | jrs_banking, jrs_character, jrs_core, jrs_doctors, jrs_idcard, jrs_police, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 6,946 Lua lines |
Commands
/distributecity/govdistribute/govgovernor/govguarma/govstatus/govsynclaw/setgov/warscore
Exports
AreCitiesAtWar, AssignCity, DepositBusinessRevenue, EnsureOwnerLawRank, GetCitizenship, GetCityGovernment, GetCityOwner, GetCityTaxRate, GetCityWar, GetFacilityStatus, GetFacilityTax, GetSalesTax, GrantGuarmaMaster, IsCityOwner, IsDeputyGovernor, IsFacilityClosed, IsGovernor, LogAudit, OpenAdminMenu, RecordCityRevenue, ResolveCity, ResolveCityAt, SetCityOwner, SetGovernor, SyncOnlineCityOwners
Database tables
jrs_government_audit, jrs_government_candidates, jrs_government_cities, jrs_government_citizen_applications, jrs_government_citizens, jrs_government_facilities, jrs_government_messages, jrs_government_revenue, jrs_government_salaries, jrs_government_salary_grades, jrs_government_store_taxes, jrs_government_taxes, jrs_government_votes, jrs_government_war_kills, jrs_government_wars
config/config.lua - 124 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
InteractDistance |
2.25 |
Distance in game units that applies to interact distance. |
NpcCleanupRadius |
1.75 |
Removes stale government NPCs at the configured position after a resource restart. |
ServerActionDistance |
4.0 |
Distance in game units that applies to server action distance. |
InteractControl |
0xCEFD9220 |
E / INPUT_CONTEXT |
DefaultNpcModel |
"U_M_M_ValSheriff_01" |
Game model or entity used for default npc model. |
Blip |
table |
Map blip or icon settings for blip. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Sprite |
1869246576 |
Official Government Seal / Senior Badge |
↳ Scale |
0.2 |
Rate or multiplier for scale. |
↳ Color |
"BLIP_MODIFIER_MP_COLOR_27" |
Royal Purple |
Elections |
table |
Permanent government: elections only start when an administrator explicitly opens one. |
↳ CandidateMinimumLevel |
20 |
Minimum or level requirement for candidate minimum level. |
↳ MaxCandidatesPerCity |
3 |
Maximum active candidates is PER CITY, PER ELECTION (not global across all cities). |
↳ BlockActiveCandidacyInOtherCities |
true |
Prevent a character from being an ACTIVE candidate/governor in another city at the same time. |
↳ AllowElectionWhileGoverned |
false |
Allows election while governed: true = yes, false = no (default false). |
↳ RequireNoPoliceRecord |
true |
Requires no police record: true = yes, false = no (default true). |
↳ RequireNoBankDebt |
true |
Requires no bank debt: true = yes, false = no (default true). |
↳ DebtEpsilon |
0.01 |
Number for debt epsilon (default 0.01). |
↳ CandidateStatementMaxLength |
220 |
Upper limit for candidate statement max length. |
↳ DefaultDurationMinutes |
60 |
Elections can end automatically after this duration. Admins may override it when opening an election. |
↳ MinimumDurationMinutes |
1 |
Time setting for minimum duration minutes. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MaximumDurationMinutes |
10080 |
7 days |
↳ RequireCityCitizenshipToVote |
true |
Once a city has citizens, only a citizen of that city can vote. Bootstrap allows the very first election to work before a governor exists to approve citizens. |
↳ AllowBootstrapVotersWhenCityHasNoCitizens |
true |
Allows bootstrap voters when city has no citizens: true = yes, false = no (default true). |
CriminalRecord |
table |
Table of criminal record entries. Add, remove or edit entries following the examples in the file. |
↳ BlockAnyMdtRecord |
true |
Must have a clean police MDT record |
↳ BlockActiveWanted |
true |
Must not have active police wanted/bounty entries |
↳ BlockActiveJail |
true |
Must not be serving a jail sentence |
↳ RequireCleanReputation |
true |
Must have a clean reputation / honor (jrs_integrity) |
↳ MinimumHonor |
0 |
Minimum honor / integrity score |
↳ CheckOnDeputy |
true |
Check reputation when appointing deputy |
↳ CheckOnWarDeclare |
true |
Check reputation when declaring/accepting war |
DeputyPermissions |
table |
Who is allowed: jobs, groups or permissions for deputy permissions. |
↳ manageCitizens |
true |
Switch for manage citizens: true = on, false = off (default true). |
↳ viewTreasury |
true |
Switch for view treasury: true = on, false = off (default true). |
↳ manageEmployees |
false |
Switch for manage employees: true = on, false = off (default false). |
↳ editSalaries |
false |
Switch for edit salaries: true = on, false = off (default false). |
↳ sendCityMessages |
true |
Switch for send city messages: true = on, false = off (default true). |
↳ sendGovernmentMessages |
false |
Switch for send government messages: true = on, false = off (default false). |
↳ sendGlobalMessages |
false |
Switch for send global messages: true = on, false = off (default false). |
↳ appointDeputy |
false |
Switch for appoint deputy: true = on, false = off (default false). |
↳ manageTaxes |
false |
Switch for manage taxes: true = on, false = off (default false). |
↳ manageWars |
false |
Switch for manage wars: true = on, false = off (default false). |
↳ manageAppointments |
false |
Switch for manage appointments: true = on, false = off (default false). |
↳ manageStores |
false |
Switch for manage stores: true = on, false = off (default false). |
↳ viewCrimeStats |
true |
Switch for view crime stats: true = on, false = off (default true). |
Treasury |
table |
Table of treasury entries. Add, remove or edit entries following the examples in the file. |
↳ AllowGovernorDeposit |
true |
Allows governor deposit: true = yes, false = no (default true). |
↳ AllowGovernorWithdraw |
false |
Allows governor withdraw: true = yes, false = no (default false). |
↳ MinimumDeposit |
1.00 |
Money value for minimum deposit. Rewards go through the economy multiplier of jrs_core. |
↳ MaximumDeposit |
100000.00 |
Money value for maximum deposit. Rewards go through the economy multiplier of jrs_core. |
Revenue |
table |
Table of revenue entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ MaximumSingleDeposit |
100000000.00 |
Money value for maximum single deposit. Rewards go through the economy multiplier of jrs_core. |
↳ RecentTransactionLimit |
50 |
Upper limit for recent transaction limit. |
↳ AllowedResources |
table |
Table of allowed resources entries. Add, remove or edit entries following the examples in the file. |
Payroll |
table |
Table of payroll entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ IntervalMinutes |
30 |
Time setting for interval minutes. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MinimumGrade |
0 |
Minimum or level requirement for minimum grade. |
↳ MaximumGrade |
10 |
Upper limit for maximum grade. |
↳ MinimumSalary |
0.25 |
Absolute safety net. The real limits are the per-grade bands below. |
↳ MaximumSalary |
30.00 |
10-01: was 6.00 (bands below x5 for law + medicine) |
↳ GradeBands |
table |
RDO-style pay per payroll tick (every IntervalMinutes = 30 min, on duty only). The governor can only pick a value inside [min, max] of each grade. Grade 10 top = $5.00 / 30 min = $10/h passive, on top of what the job itself earns. |
↳ RoleScale |
table |
Band multiplier per employee role id. Jobs that already earn from their own work (mining, lumber, smelting, banking fees) get a smaller government salary. |
↳ DefaultBandPoint |
0.40 |
New/out-of-band salaries are reset to min + this share of the band (0.4 = a bit below the middle). |
↳ AllOrNothing |
true |
If treasury cannot cover every online employee in a city's payroll, nobody is paid. |
Messages |
table |
Text shown to the player for messages. Change it to translate or rebrand. |
↳ MaxTitleLength |
80 |
Upper limit for max title length. |
↳ MaxBodyLength |
800 |
Upper limit for max body length. |
↳ CooldownMs |
3000 |
Time setting for cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
CityOwnership |
table |
Table of city ownership entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ AllowOwnerWithdraw |
true |
City Owner can withdraw funds directly from the city treasury |
↳ AllowGovernorWithdraw |
false |
Standard governor withdrawal restriction |
↳ MinimumWithdraw |
1.00 |
Minimum or level requirement for minimum withdraw. |
↳ MaximumWithdraw |
100000.00 |
Upper limit for maximum withdraw. |
↳ ConquestOnWarVictory |
true |
Winning a city war can confer ownership/conquest rights |
↳ CanPurchaseCity |
false |
Option to buy unowned city directly |
↳ PurchasePrice |
250000.00 |
Purchase price if buying is enabled |
↳ AutoGrantLawRankToOwner |
true |
City Owner automatically receives highest law rank |
↳ OwnerLawGrade |
9 |
Highest law rank grade |
CityLawJobs |
table |
Primary law jobs and highest ranks per city (used for automatic owner rank assignment) |
↳ valentine |
table |
Table of valentine 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. |
↳ rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ saintdenis |
table |
Table of saintdenis 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. |
↳ 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. |
↳ guarma |
table |
Table of guarma entries. Add, remove or edit entries following the examples in the file. |
Admin |
table |
Who is allowed: jobs, groups or permissions for admin. |
↳ AcePermission |
"jrs.government.admin" |
Who is allowed: jobs, groups or permissions for ace permission. |
↳ Groups |
table |
Who is allowed: jobs, groups or permissions for groups. |
↳ Commands |
table |
Table of commands entries. Add, remove or edit entries following the examples in the file. |
RankLadders |
table |
and the payroll grid all show these names and stop at the ladder's top grade. Law ladders run 0-9 to match jrs_police (uniform/weapon kit per grade 0-9, city owner = 9). Doctors run 0-10 to match jrs_doctors Config.RankLabels. |
↳ sheriff |
table |
Table of sheriff entries. Add, remove or edit entries following the examples in the file. |
↳ police |
table |
Table of police entries. Add, remove or edit entries following the examples in the file. |
↳ guarma_guard |
table |
Table of guarma guard 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. |
↳ banker |
table |
Table of banker entries. Add, remove or edit entries following the examples in the file. |
↳ worker |
table |
Table of worker entries. Add, remove or edit entries following the examples in the file. |
Cities |
table |
Employee roles are intentionally city-specific. Add doctors, bankers, etc. here. Multiple ON-DUTY job names can map to one payroll role. Never add jobs beginning with "off". |
↳ valentine |
table |
Table of valentine 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. |
↳ rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ saintdenis |
table |
Table of saintdenis 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. |
↳ 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. |
↳ guarma |
table |
Table of guarma entries. Add, remove or edit entries following the examples in the file. |
CityMapRegions |
table |
Table of city map regions 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. |
↳ 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. |
↳ rhodes |
table |
Table of rhodes entries. Add, remove or edit entries following the examples in the file. |
↳ saintdenis |
table |
Table of saintdenis entries. Add, remove or edit entries following the examples in the file. |
config/economy.lua - 40 options#
General
| Setting | Default | What it does |
|---|---|---|
Economy |
table |
Table of economy entries. Add, remove or edit entries following the examples in the file. |
↳ GoldToCashRate |
1.0 |
Gold paid for a city service is converted into treasury dollars at this rate. |
↳ FallbackMaxDistance |
3000.0 |
A payment is credited to the city whose zone contains the buyer. Outside every zone (ranches, camps, small settlements) the nearest city within this distance receives it. 0 = always the nearest city. |
↳ Zones |
table |
Town centres on the 2D map. radius is the "inside the city" distance. |
↳ CityAliases |
table |
Alternative names other resources may send as a city hint. |
↳ Categories |
table |
Every revenue source shown on the Revenue page. share is the fraction of the payment that reaches the treasury (1.0 = all of it, 0.25 = a quarter). |
↳ Taxes |
table |
Taxes the governor sets from the Treasury page (percent). sales: taken from every player-owned store sale inside the city. |
↳ RecentTransactionLimit |
60 |
Recent ledger rows sent to the Revenue page. |
Wars |
table |
Table of wars entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DeclarationCost |
150.0 |
Taken from the attacker's treasury when war is declared. The winner of the war receives it; a draw, peace treaty or cancellation returns it. |
↳ PreparationMinutes |
15 |
warning period before fighting counts |
↳ DurationMinutes |
60 |
fighting period |
↳ CooldownMinutes |
720 |
the same two cities cannot fight again for 12 hours |
↳ RequireDefenderGovernor |
true |
Requires defender governor: true = yes, false = no (default true). |
↳ MinimumCitizensPerCity |
1 |
Minimum or level requirement for minimum citizens per city. |
↳ RequireAcceptance |
true |
A declared war does not start fighting until the defender's leadership explicitly accepts the challenge. If they refuse or run out of time the war is cancelled and the attacker's stake is refunded. |
↳ AcceptanceTimeoutMinutes |
3 |
Time setting for acceptance timeout minutes. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MinimumOnlineCitizensPerCity |
2 |
Both cities need this many citizens ONLINE right now (not just registered) before a war can even be declared, so nobody fights an empty city. |
↳ RequireDefenderLeadershipOnline |
true |
The defender's owner, governor or deputy must be online to receive and answer the challenge. |
↳ TributePercent |
20.0 |
share of the loser's treasury paid to the winner |
↳ SurrenderTributePercent |
10.0 |
Rate or multiplier for surrender tribute percent. |
↳ TributeMax |
1500.0 |
0 = no cap |
↳ KillPoints |
1 |
World coordinates (x, y, z) used for kill points. |
↳ ScoreToWin |
0 |
0 = the war is decided only when the timer ends |
↳ PairKillCooldownSeconds |
300 |
one killer/victim pair scores once in this window |
↳ MaxKillDistance |
350.0 |
Distance in game units that applies to max kill distance. |
↳ RequireInsideCityZones |
false |
true = only kills inside either warring city count |
↳ AnnounceGlobal |
true |
false = only citizens of the two cities are told |
↳ ReasonMaxLength |
200 |
Upper limit for reason max length. |
↳ RosterLimit |
20 |
(Config.Cities[cityId].npc) - the one coordinate every city already has proven safe, instead of guessing new landmark coordinates. Roster of participants selected by the Governor for the war (max 20 per city) |
↳ RequireRosterFighters |
true |
Requires roster fighters: true = yes, false = no (default true). |
↳ ArenaOutOfBoundsSeconds |
10 |
Number for arena out of bounds seconds (default 10). |
↳ DefaultArena |
"bolger_glade" |
Setting for default arena. |
↳ DefaultMode |
"siege" |
Setting for default mode. |
↳ Modes |
table |
Table of modes entries. Add, remove or edit entries following the examples in the file. |
WarArenas |
table |
Predefined historic battlefield arenas for city wars. Both 20-man rosters enter the chosen arena zone with team-specific spawns and perimeter bounds. |
↳ bolger_glade |
table |
Table of bolger glade entries. Add, remove or edit entries following the examples in the file. |
↳ fort_mercer |
table |
Table of fort mercer entries. Add, remove or edit entries following the examples in the file. |
↳ fort_wallace |
table |
Table of fort wallace entries. Add, remove or edit entries following the examples in the file. |
Notes from the README#
# jrs_government 1.0.0
Permanent city government system for JRS RedM.
## Included
- One permanent Governor per configured city.
- One Deputy Governor appointed/removed by the Governor.
- Elections are admin-opened only; there is no automatic term timer.
- Candidate requirements:
- minimum JRS level;
- cannot have registered as a candidate in another city (configurable);
- no police MDT criminal record, active wanted entry, or active jail sentence;
- no active/defaulted JRS bank loan debt.
- Voting requires the character's permanent 6-digit JRS ID number from `jrs_id_numbers`.
- One vote per character/identity number per city election, enforced with SQL unique keys; bootstrap voters are also blocked from voting in two simultaneously-o
- Citizenship applications and city-transfer requests.
- A character can be an active citizen of only one city.
- Governor/Deputy citizen approval and rejection.
- Governor can remove citizens; removing the deputy also removes the deputy office.
- City treasury with governor deposits and admin adjustments.
- City employee salary configuration and automatic online payroll from the treasury.
- Government messages: own city, another governor, all governors, all players.
- Persistent audit log for sensitive actions.
- NPC per city with a single responsive HD/2K/4K NUI.
- Character-bound client startup waits for `jrs_character:isPlayerReady`.
## Existing JRS integration used directly
### jrs_idcard
`jrs_id_numbers.charid -> identity_number` is used to verify the six-digit voting number.
### jrs_police
Candidate checks query:
- `jrs_police_mdt`
- `jrs_police_wanted`
- `jail_police`
### jrs_banking
Candidate debt checks query `jrs_bank_loans.remaining_debt` for active/defaulted loans.
### jrs_core
Uses `exports.jrs_core:getCoreApi()`, `exports.jrs_core:GetXP(source)` for the calculated level, and the active `character.charIdentifier`, job, money and curre
## Installation
1. Put `jrs_government` in your resources folder.
2. The resource creates its tables automatically. `sql/jrs_government.sql` is also provided for manual installation/review.
3. Start dependencies before it:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_character
ensure jrs_idcard
ensure jrs_policeFree (included in JRS Core) jrs_huntingpets
JRS Core hunting pets - hunting dogs and birds with training, tracking and scavenging
| Resource | jrs_huntingpets |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Code size | 23,821 Lua lines |
Commands
/callbird/calldog/fleebird/fleedog
Database tables
is, player_birds, player_dogs, player_selected_pets
Free (included in JRS Core) jrs_lumberjack
jrs core Lumberjack - jrs core only, organized secure lumber workflow
| Resource | jrs_lumberjack |
| Folder | [JOBS] |
| Version | 3.11.1 |
| Author | jrs team |
| Depends on | jrs_character, jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 16,949 Lua lines |
Commands
/carryoffset/lumber/lumberadmin/lumberaxeoffset/lumbercarry/lumbercart/lumberclose/lumberdiag/lumberfallenprop/lumberfulladmin/lumbermenu/lumberprocessanim/lumberprocesstool/lumberprocesstooloffset/lumberquick/lumberreground/lumbersawanim/lumbersawhorse/lumbersawtool/lumbersawtooloffset/lumbertoolgizmo/lumberwagon/lumberwagontest/lumberworkpiece/planttree/sawhorse/sawhorsedist/sawhorsemove/sawhorsereset/sawhorsesave
Database tables
jrs_lumberjack_carts, jrs_lumberjack_world, jrs_lumberjack_world_history
Free (included in JRS Core) jrs_mdt
JRS Core MDT - records, warrants, reports, charges and fines for the law
| Resource | jrs_mdt |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | de, en, es, fr, it, pl, pt, ru |
| Code size | 6,019 Lua lines |
Commands
/mdt
Exports
attemptLocalOverride, createOrUpdateFine, forceRefreshRoles, getAllPlayerRoles, getAllRoles, getChargeAttachments, getChargeTemplates, getCitizenFines, getConfigVersion, getJobInfo, getJobLabel, getLawJobs, getMyRole, getPermissions, getPlayerFines, getPlayerRole, getReportsWithCharges, getSettings, getStaffPermissions, getTotalFinesAmount, getUnpaidFines, getValidatedLawJobs, hasAccess, hasAdminPermission, hasPermission, hasRolePermission, hasUnpaidFines, isAdmin, isLawJob, isLawOfficer
Free (included in JRS Core) jrs_medic
A medical scrpt for jrs core framework
| Resource | jrs_medic |
| Folder | [JOBS] |
| Version | 0.3 |
| Author | JRS TEAM |
| Interface | No |
| Code size | 1,344 Lua lines |
Exports
getDoctorFromCall, isOnDuty
configs/config.lua - 38 options#
General
| Setting | Default | What it does |
|---|---|---|
DevMode |
false |
Switch for dev mode: true = on, false = off (default false). |
Align |
"top-left" |
menu alignment |
Lang |
"English" |
language you want to use please make sure its in the translation.lua |
AllowOnlyDeadToAlert |
true |
if true only dead players can alert doctors |
AlertDoctorCommand |
"calldoctor" |
command to alert doctors |
cancelalert |
"cancelDoctorAlert" |
command to cancel alert |
finishalert |
"finishDoctorAlert" |
command to finish alert |
DoctorMenuCommand |
"doctormenu" |
Command to go on duty and teleport |
Keys |
table |
prompts |
↳ B |
0x4CC0E2FE |
Setting for b. |
DoctorJobs |
table |
jobs that can open hire menu |
↳ doctor |
table |
Table of doctor entries. Add, remove or edit entries following the examples in the file. |
ShareStorage |
true |
if true storage for every doctor station will be shared if false they will be unique |
Storage |
table |
storage locations check the server.lua for webhook url location line 21 in server.lua |
↳ Valentine |
table |
Table of valentine 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. |
↳ SaintDenis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
UseTeleportsMenu |
true |
if true players can use teleport from the doctor menu if false only from locations |
Teleports |
table |
set up locations to teleport to or from |
↳ Valentine |
table |
Table of valentine 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. |
↳ SaintDenis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
Blips |
table |
blips for stations |
↳ Color |
"COLOR_WHITE" |
Setting for color. |
↳ Style |
"BLIP_STYLE_FRIENDLY_ON_RADAR" |
Setting for style. |
↳ Sprite |
"blip_mp_travelling_saleswoman" |
Map blip or icon settings for sprite. |
AlertBlips |
table |
Map blip or icon settings for alert blips. |
↳ Color |
"COLOR_RED" |
Setting for color. |
↳ Style |
"BLIP_STYLE_CHALLENGE_OBJECTIVE" |
Setting for style. |
↳ Sprite |
"blip_mp_travelling_saleswoman" |
Map blip or icon settings for sprite. |
Stations |
table |
doctor stations boss menu locations |
↳ Valentine |
table |
Table of valentine 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. |
↳ SaintDenis |
table |
Table of saint denis entries. Add, remove or edit entries following the examples in the file. |
Items |
table |
usable items |
↳ bandage |
table |
item name |
↳ potion |
table |
Table of potion entries. Add, remove or edit entries following the examples in the file. |
↳ syringe |
table |
Table of syringe entries. Add, remove or edit entries following the examples in the file. |
Free (included in JRS Core) jrs_mining
jrs_mining - native jrs core mining, order-based smelting and gold panning with restart recovery
| Resource | jrs_mining |
| Folder | [JOBS] |
| Version | 7.17.1 |
| Author | jrs team |
| Depends on | jrs_character, jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 22,626 Lua lines |
Commands
/goldsmelt_offset/helmetoffset/miningback/miningbag/miningduty/miningenter/mininghand/miningstore/pickaxeoffset
Exports
GetPlayerLevel, GetPlayerXP
Database tables
IF, jrs_mining_employees, jrs_mining_gold_stations, jrs_mining_jobs, jrs_mining_mines, jrs_mining_order_batches, jrs_mining_order_events, jrs_mining_order_items, jrs_mining_orders, jrs_mining_payouts, jrs_mining_sell_prices, jrs_mining_server_task_players, jrs_mining_server_task_state, jrs_mining_server_tasks, jrs_mining_smelting, jrs_mining_xp
config/config.lua - 251 options#
General
| Setting | Default | What it does |
|---|---|---|
REDEMPIRE |
table |
─────────────────────── REDEMPIRE framework binding ─────────────────────── This build is REDEMPIRE-only. jrs_core owns character/account data, jrs_character owns the final selector/spawn gate, and jrs_inventory owns inventory sta |
↳ CoreResource |
"jrs_core" |
Setting for core resource. |
↳ CharacterResource |
"jrs_character" |
exact target: uploaded jrs_character 3.4.8 |
↳ InventoryResource |
"jrs_inventory" |
exact target: uploaded jrs_inventory 1.6.33 |
↳ ClothingResource |
"Jrs_clothing" |
optional; only used to restore saved clothing after duty |
↳ RequireCharacterReady |
true |
Requires character ready: true = yes, false = no (default true). |
Locale |
"ar" |
Language: en, ar, fr, es, de, it, pt, nl |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
ResourceName |
"jrs_mining" |
Canonical resource identity. Keep the folder/resource name exactly jrs_mining. |
RestartRecovery |
table |
character after restart jrs_mining is automatic. In-progress economic actions are intentionally cancelled server-side; duty can be restored for the same character without trusting client data. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ preserveDuty |
true |
Switch for preserve duty: true = on, false = off (default true). |
↳ bootstrapIntervalMs |
250 |
Time setting for bootstrap interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ integrationRetryMs |
750 |
Number for integration retry ms (default 750). |
↳ npcWatchdogMs |
1500 |
Number for npc watchdog ms (default 1500). |
Prompts |
table |
One physical key press = one action. The prompt layer also has a release latch + debounce so a native prompt and its direct-input fallback can never fire the same event twice. |
↳ singlePress |
true |
Switch for single press: true = on, false = off (default true). |
↳ debounceMs |
450 |
Number for debounce ms (default 450). |
ToolControls |
table |
Pickaxe visual controls. Gameplay input is read contextually from the same RedM control hashes used by the native prompts; no persisted key mapping is required. Commands remain available as F8 diagnostic fallbacks. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ handControl |
0x6319DB71 |
ARROW UP: draw/put the remembered pickaxe in hand |
↳ backControl |
0x05CA7C52 |
ARROW DOWN: place the equipped pickaxe on the back |
↳ hideControl |
0xDEB34313 |
ARROW RIGHT: hide/remove the visual completely |
↳ toggleCommand |
"pickaxe" |
F8 fallback: toggle hand/back |
↳ removeCommand |
"hidepickaxe" |
Setting for remove command. |
↳ initialSlot |
"hand" |
Setting for initial slot. |
↳ restoreLastSlot |
false |
Switch for restore last slot: true = on, false = off (default false). |
↳ debounceMs |
220 |
Number for debounce ms (default 220). |
↳ notifications |
false |
Switch for notifications: true = on, false = off (default false). |
↳ consumeControls |
false |
Switch for consume controls: true = on, false = off (default false). |
↳ showPromptLoop |
true |
native RedM prompt group while a tool stack is remembered |
↳ promptGroupLocale |
"ui_mining_tool" |
Interface language of this script (en or ar). |
↳ handPromptLocale |
"prompt_pickaxe_hand" |
Interface language of this script (en or ar). |
↳ backPromptLocale |
"prompt_pickaxe_back" |
Interface language of this script (en or ar). |
↳ hidePromptLocale |
"prompt_pickaxe_bag" |
Interface language of this script (en or ar). |
↳ keyMapping |
false |
contextual direct-control capture is authoritative (no persisted binds) |
↳ showHud |
true |
notification-style tool HUD while the tool is in HAND |
Duty |
table |
Duty lifecycle. Duty is bound to the mine area, not only the NPC. |
↳ autoOffOutsideMine |
false |
Automatically handles off outside mine: true = yes, false = no (default false). |
↳ areaRadius |
145.0 |
Distance in game units that applies to area radius. |
↳ serverCheckSeconds |
5 |
Number for server check seconds (default 5). |
↳ applyUniform |
true |
Switch for apply uniform: true = on, false = off (default true). |
↳ cleanupClothingOnRestart |
true |
restore the saved REDEMPIRE outfit on mining resource restart/stop |
↳ maleUniformSourcePed |
"loansharking_asbminer_males_01" |
runtime-cloned clothing source (male duty outfit) |
↳ hours |
table |
24/7 mining duty. Time must never block clock-in or force a player off duty. The open/close values are retained only for backwards-compatible configs. |
↳ Helmet |
table |
with /helmetoffset - a bone offset cannot be judged from outside a running game. The lamp (Light below) is drawn from the ped's head bone every frame and never depended on the prop, so it works either way. |
↳ Uniform |
table |
Real multiplayer clothing components. These are applied as clothing components, never spawned/attached as props. On clock-out the REDEMPIRE clothing reload event restores the player's saved outfit. |
Admin |
table |
Admin UI features (all server actions are still protected by FullAccess). |
↳ command |
"miningadmin" |
Setting for command. |
↳ maxGiveAmount |
999 |
Upper limit for max give amount. |
↳ maxMoneyAmount |
1000000 |
Money value for max money amount. Rewards go through the economy multiplier of jrs_core. |
KeyToInteract |
0xCEFD9220 |
Main world interaction key: E (same native control used by the REDEMPIRE prompt stack). |
RequireJob |
true |
true = only JobName may mine |
JobName |
"mining" |
Who is allowed: jobs, groups or permissions for job name. |
Tool |
table |
The pickaxe is a USABLE item: use it from the inventory to equip it. Arrow controls while on duty: UP = hand, DOWN = back, RIGHT = hide visual. Hidden/back states clear the carry animation; the inventory item is never deleted. |
↳ prop |
"p_pickaxe01x" |
fallback prop if a tier has no model |
↳ useHelmet |
false |
duty clothing is a real outfit; never attach clothing props to the body |
XP |
table |
───────────────────────── XP / progression ──────────────────────── |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ xpPerLevel |
100 |
xp needed for each level |
↳ maxLevel |
100 |
Upper limit for max level. |
↳ timeByLevel |
table |
Swing time (seconds) by level - interpolated between breakpoints. Higher level = faster mining. Lvl 0 = 15s ... Lvl 100 = 7s. |
CoreCharacterXP |
table |
Optional mirror into the character's general jrs_core XP. Mining levels and unlocks always use jrs_mining_xp regardless of these settings. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ multiplier |
1.0 |
Rate or multiplier for multiplier. |
↳ reason |
"jrs_mining" |
Setting for reason. |
ServerTolerance |
5.0 |
extra slack (m) added to node radius server-side |
Cooldown |
1 |
seconds between actions (server enforced) |
InfiniteNodes |
true |
true = rocks never deplete or force players to change spots; mining is continuous at the same node |
MiningInteraction |
table |
Config.mineData. The player is gently aligned beside that coordinate before the immediate one-attempt skill check starts. Mining requires the pickaxe to already be HAND. |
↳ requireHand |
false |
Requires hand: true = yes, false = no (default false). |
↳ alignToRock |
true |
face the rock only; never changes player coordinates |
↳ alignDistance |
1.15 |
Distance in game units that applies to align distance. |
↳ minAlignDistance |
0.75 |
Distance in game units that applies to min align distance. |
↳ maxAlignDistance |
1.80 |
Distance in game units that applies to max align distance. |
↳ serverResultToleranceMs |
3000 |
Number for server result tolerance ms (default 3000). |
↳ serverAngleToleranceDegrees |
15 |
Number for server angle tolerance degrees (default 15). |
↳ minimumSkillTimeMs |
250 |
Minimum or level requirement for minimum skill time ms. |
ActionMovement |
table |
Player locomotion is never hard-frozen by REDEMPIRE Mining. Walking away cancels the active operation instead of snapping/dragging the ped back into position. |
↳ cancelOnMove |
true |
Switch for cancel on move: true = on, false = off (default true). |
↳ cancelDistance |
0.90 |
Distance in game units that applies to cancel distance. |
↳ minigameCancelDistance |
1.10 |
Distance in game units that applies to minigame cancel distance. |
ServerTasks |
table |
from resources that actually exist in Config.mineData rewards. Task creation, progress, expiry and completion are silent: players discover task state only by physically visiting a mining shop and opening the Tasks tab. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ initialDelaySeconds |
60 |
Time setting for initial delay seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ durationSeconds |
1200 |
Time setting for duration seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ cooldownSeconds |
900 |
Time setting for cooldown seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ targetMin |
45 |
Minimum or level requirement for target min. |
↳ targetMax |
90 |
Upper limit for target max. |
↳ cashRewardPool |
3.50 |
split proportionally across contributors (1899 cents scale) |
↳ xpReward |
150 |
awarded to online contributors at completion |
↳ excludeRare |
true |
Switch for exclude rare: true = on, false = off (default true). |
DynamicSellPrices |
table |
Resource SELL prices only. Tool purchase prices and mineral-order prices are never changed. Current values + next update time are persisted in MySQL. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ updateMinutes |
30 |
Number for update minutes (default 30). |
↳ minMultiplier |
0.70 |
Minimum or level requirement for min multiplier. |
↳ maxMultiplier |
1.55 |
Upper limit for max multiplier. |
↳ maxStep |
0.18 |
Upper limit for max step. |
↳ preventBuySellArbitrage |
true |
Switch for prevent buy sell arbitrage: true = on, false = off (default true). |
ItemImagePath |
'nui://jrs_inventory/html/im... |
images come from the inventory; NUI falls back to bundled item_imgs/ if missing |
Minigame |
table |
═══════════════════════ SKILL-CHECK MINIGAME ══════════════════════ Mandatory circular timing check. One attempt only: stop the rotating needle inside the randomized success arc. Legacy per-node rounds are ignored. |
↳ enabled |
true |
mining uses the original circular skill-check minigame |
↳ style |
"circle" |
Setting for style. |
↳ rounds |
1 |
hard one-attempt skill check |
↳ arcMinDegrees |
58 |
Circular timing check. Each attempt randomises target position, rotation direction and speed. Degrees are used for the target arcs. |
↳ arcMaxDegrees |
78 |
Upper limit for arc max degrees. |
↳ perfectDegrees |
18 |
Number for perfect degrees (default 18). |
↳ speedMinDegrees |
42 |
slow/smooth: ~8.6 sec per revolution |
↳ speedMaxDegrees |
58 |
~6.2 sec per revolution |
↳ startOffsetMin |
125 |
Minimum or level requirement for start offset min. |
↳ startOffsetMax |
205 |
Upper limit for start offset max. |
↳ timeoutMs |
16000 |
Time setting for timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ failReward |
0.0 |
Money value for fail reward. Rewards go through the economy multiplier of jrs_core. |
↳ precisionBonus |
table |
Money value for precision bonus. Rewards go through the economy multiplier of jrs_core. |
↳ blockGameControls |
true |
NUI owns SPACE/ENTER during the single circular attempt. |
↳ blockedControls |
table |
Table of blocked controls entries. Add, remove or edit entries following the examples in the file. |
Optional per-node fields:
| Setting | Default | What it does |
|---|---|---|
Nodes |
table |
NOTE: actual rock mining lives in Config.mineData (config/mining.lua). These nodes are only the stationary Processing stations. Ore-to-bar smelting is its own order-based system (config/smelting.lua). |
LevelSystemEnabled |
true |
false = disable the level system (flat XP fallback) |
ExpRewardNotif |
true |
show "gained EXP" notification |
LevelUpNotif |
true |
show "level up" notification |
MiningExpAdminCommand |
"giveminingexp" |
/giveminingexp <playerServerId> <expAmount> (admin, sets mining exp) |
MinigExpCommand |
"miningexp" |
/miningexp (player: display mining exp) |
LevelSystem |
table |
cumulative Experience threshold to REACH that level, plus the reward granted on reaching it. Higher levels unlock rarer resources inside each mine (see the per-entry level field in config/mining.lua reward tables). |
↳ 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. |
↳ 12 |
table |
Table of 12 entries. Add, remove or edit entries following the examples in the file. |
↳ 13 |
table |
Table of 13 entries. Add, remove or edit entries following the examples in the file. |
↳ 14 |
table |
Table of 14 entries. Add, remove or edit entries following the examples in the file. |
↳ 15 |
table |
Table of 15 entries. Add, remove or edit entries following the examples in the file. |
↳ 16 |
table |
Table of 16 entries. Add, remove or edit entries following the examples in the file. |
↳ 17 |
table |
Table of 17 entries. Add, remove or edit entries following the examples in the file. |
↳ 18 |
table |
Table of 18 entries. Add, remove or edit entries following the examples in the file. |
↳ 19 |
table |
Table of 19 entries. Add, remove or edit entries following the examples in the file. |
↳ 20 |
table |
Table of 20 entries. Add, remove or edit entries following the examples in the file. |
↳ 21 |
table |
Table of 21 entries. Add, remove or edit entries following the examples in the file. |
↳ 22 |
table |
Table of 22 entries. Add, remove or edit entries following the examples in the file. |
↳ 23 |
table |
Table of 23 entries. Add, remove or edit entries following the examples in the file. |
↳ 24 |
table |
Table of 24 entries. Add, remove or edit entries following the examples in the file. |
↳ 25 |
table |
Table of 25 entries. Add, remove or edit entries following the examples in the file. |
↳ 26 |
table |
Table of 26 entries. Add, remove or edit entries following the examples in the file. |
↳ 27 |
table |
Table of 27 entries. Add, remove or edit entries following the examples in the file. |
↳ 28 |
table |
Table of 28 entries. Add, remove or edit entries following the examples in the file. |
↳ 29 |
table |
Table of 29 entries. Add, remove or edit entries following the examples in the file. |
↳ 30 |
table |
Table of 30 entries. Add, remove or edit entries following the examples in the file. |
↳ 31 |
table |
Table of 31 entries. Add, remove or edit entries following the examples in the file. |
↳ 32 |
table |
Table of 32 entries. Add, remove or edit entries following the examples in the file. |
↳ 33 |
table |
Table of 33 entries. Add, remove or edit entries following the examples in the file. |
↳ 34 |
table |
Table of 34 entries. Add, remove or edit entries following the examples in the file. |
↳ 35 |
table |
Table of 35 entries. Add, remove or edit entries following the examples in the file. |
↳ 36 |
table |
Table of 36 entries. Add, remove or edit entries following the examples in the file. |
↳ 37 |
table |
Table of 37 entries. Add, remove or edit entries following the examples in the file. |
↳ 38 |
table |
Table of 38 entries. Add, remove or edit entries following the examples in the file. |
↳ 39 |
table |
Table of 39 entries. Add, remove or edit entries following the examples in the file. |
↳ 40 |
table |
Table of 40 entries. Add, remove or edit entries following the examples in the file. |
↳ 41 |
table |
Table of 41 entries. Add, remove or edit entries following the examples in the file. |
↳ 42 |
table |
Table of 42 entries. Add, remove or edit entries following the examples in the file. |
↳ 43 |
table |
Table of 43 entries. Add, remove or edit entries following the examples in the file. |
↳ 44 |
table |
Table of 44 entries. Add, remove or edit entries following the examples in the file. |
↳ 45 |
table |
Table of 45 entries. Add, remove or edit entries following the examples in the file. |
↳ 46 |
table |
Table of 46 entries. Add, remove or edit entries following the examples in the file. |
↳ 47 |
table |
Table of 47 entries. Add, remove or edit entries following the examples in the file. |
↳ 48 |
table |
Table of 48 entries. Add, remove or edit entries following the examples in the file. |
↳ 49 |
table |
Table of 49 entries. Add, remove or edit entries following the examples in the file. |
↳ 50 |
table |
Table of 50 entries. Add, remove or edit entries following the examples in the file. |
↳ 51 |
table |
Table of 51 entries. Add, remove or edit entries following the examples in the file. |
↳ 52 |
table |
Table of 52 entries. Add, remove or edit entries following the examples in the file. |
↳ 53 |
table |
Table of 53 entries. Add, remove or edit entries following the examples in the file. |
↳ 54 |
table |
Table of 54 entries. Add, remove or edit entries following the examples in the file. |
↳ 55 |
table |
Table of 55 entries. Add, remove or edit entries following the examples in the file. |
↳ 56 |
table |
Table of 56 entries. Add, remove or edit entries following the examples in the file. |
↳ 57 |
table |
Table of 57 entries. Add, remove or edit entries following the examples in the file. |
↳ 58 |
table |
Table of 58 entries. Add, remove or edit entries following the examples in the file. |
↳ 59 |
table |
Table of 59 entries. Add, remove or edit entries following the examples in the file. |
↳ 60 |
table |
Table of 60 entries. Add, remove or edit entries following the examples in the file. |
↳ 61 |
table |
Table of 61 entries. Add, remove or edit entries following the examples in the file. |
↳ 62 |
table |
Table of 62 entries. Add, remove or edit entries following the examples in the file. |
↳ 63 |
table |
Table of 63 entries. Add, remove or edit entries following the examples in the file. |
↳ 64 |
table |
Table of 64 entries. Add, remove or edit entries following the examples in the file. |
↳ 65 |
table |
Table of 65 entries. Add, remove or edit entries following the examples in the file. |
↳ 66 |
table |
Table of 66 entries. Add, remove or edit entries following the examples in the file. |
↳ 67 |
table |
Table of 67 entries. Add, remove or edit entries following the examples in the file. |
↳ 68 |
table |
Table of 68 entries. Add, remove or edit entries following the examples in the file. |
↳ 69 |
table |
Table of 69 entries. Add, remove or edit entries following the examples in the file. |
↳ 70 |
table |
Table of 70 entries. Add, remove or edit entries following the examples in the file. |
↳ 71 |
table |
Table of 71 entries. Add, remove or edit entries following the examples in the file. |
↳ 72 |
table |
Table of 72 entries. Add, remove or edit entries following the examples in the file. |
↳ 73 |
table |
Table of 73 entries. Add, remove or edit entries following the examples in the file. |
↳ 74 |
table |
Table of 74 entries. Add, remove or edit entries following the examples in the file. |
↳ 75 |
table |
Table of 75 entries. Add, remove or edit entries following the examples in the file. |
LevelScaling |
table |
──────────────────── level-based reward scaling ──────────────────── amountPerLevel : extra base items added to every mining drop, per level. (floor(level * amountPerLevel) is added to the rolled amount) |
↳ amountPerLevel |
0.05 |
level 20 = +1 item, level 40 = +2 items, ... |
MineBusiness |
table |
═══════════════════════ MINE OWNERSHIP / ACCESS ═══════════════════ Mine state is persistent in MySQL. "free" = public mine, "owned" = only the owner + employees can mine it. Admins can change mode/owner at runtime. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ defaultMode |
"owned" |
Setting for default mode. |
↳ employeeLimit |
12 |
Upper limit for employee limit. |
↳ ownerCanHire |
true |
Switch for owner can hire: true = on, false = off (default true). |
↳ employeeCanMine |
true |
Switch for employee can mine: true = on, false = off (default true). |
↳ showMineTabAtNpc |
true |
Shows mine tab at npc: true = yes, false = no (default true). |
↳ purchaseAtMineNpc |
false |
mine deeds are sold only through the Pause/Base Menu store |
↳ defaultSalary |
0.75 |
Money value for default salary. Rewards go through the economy multiplier of jrs_core. |
↳ maxSalary |
2.50 |
Money value for max salary. Rewards go through the economy multiplier of jrs_core. |
↳ maxPayrollTotal |
50.00 |
Upper limit for max payroll total. |
↳ payrollEnabled |
true |
Switch for payroll enabled: true = on, false = off (default true). |
↳ treasuryEnabled |
true |
Switch for treasury enabled: true = on, false = off (default true). |
↳ payrollTaxPercent |
10 |
gross salary tax; employee receives the net amount |
↳ maxTreasuryTransaction |
1000000 |
Upper limit for max treasury transaction. |
↳ freeMines |
table |
Only these mines are public. Every mine listed in Config.ServiceMineIds (free or owned) has its rewards converted to raw rock by Config.MineralProcessing and must be processed at its processing station. |
↳ sales |
table |
Every other mine is private while unowned and can be bought at its own linked mining store. Features apply to both the owner and employees. |
↳ defaults |
table |
Per-mine FIRST-RUN defaults. Database/admin changes take priority once the mine has been created in MySQL. Use the mine id from config/mining.lua. |
JobMarket |
table |
═════════════════════════ JOB MARKET ══════════════════════════════ Player-created delivery contracts. Payout is escrowed when the job is created, so workers cannot complete an unfunded contract. |
↳ enabled |
false |
v6.3 shop uses mineral batch orders instead of player job contracts |
↳ creationFee |
2 |
Money value for creation fee. Rewards go through the economy multiplier of jrs_core. |
↳ maxActiveCreated |
3 |
Upper limit for max active created. |
↳ maxActiveAccepted |
2 |
Upper limit for max active accepted. |
↳ minAmount |
1 |
Minimum or level requirement for min amount. |
↳ maxAmount |
100 |
Upper limit for max amount. |
↳ minPayout |
1 |
Money value for min payout. Rewards go through the economy multiplier of jrs_core. |
↳ maxPayout |
10000 |
Money value for max payout. Rewards go through the economy multiplier of jrs_core. |
↳ minMinutes |
5 |
Minimum or level requirement for min minutes. |
↳ maxMinutes |
180 |
Upper limit for max minutes. |
↳ refreshSeconds |
20 |
Number for refresh seconds (default 20). |
↳ deliveryAtPostedMine |
true |
accepted jobs must be delivered at the mine where they were posted |
↳ allowedItems |
table |
Inventory items used by allowed items. Names must exist in the jrs_items table. |
AllowMiningCancel |
true |
═══════════════════ INTEGRATION / GLOBAL SWITCHES ═══════════════════ |
AdminAce |
"jrs.mining" |
Who is allowed: jobs, groups or permissions for admin ace. |
CoordCheckerEfficiency |
3 |
World coordinates (x, y, z) used for coord checker efficiency. |
MiniGameAsMineAccurately |
false |
Switch for mini game as mine accurately: true = on, false = off (default false). |
config/goldpanning.lua - 87 options#
General
| Setting | Default | What it does |
|---|---|---|
GoldPanning |
table |
Money value for gold panning. Rewards go through the economy multiplier of jrs_core. |
↳ enabled |
false |
7.12.9: standalone river panning disabled in favor of BCC-style wash station only |
↳ item |
"goldpan" |
Inventory items used by item. Names must exist in the jrs_items table. |
↳ requireJob |
true |
Pan + wash station only for these jobs (jrs_multijob 'mingold' = Gold Prospector). No admin bypass, no mining duty: holding the job is enough. |
↳ jobs |
table |
Who is allowed: jobs, groups or permissions for jobs. |
↳ requireDuty |
false |
Requires duty: true = yes, false = no (default false). |
↳ shopItems |
table |
Gold Prospectors use any mining shop WITHOUT duty, limited to these rows of Config.Shops.types (tools = buy, materials = sell). BCC tools only. |
↳ 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. |
↳ actionDurationMs |
5000 |
Time setting for action duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ minigameMinMs |
4000 |
Minimum or level requirement for minigame min ms. |
↳ minMovementDistance |
2.0 |
Distance in game units that applies to min movement distance. |
↳ spotMemoryMs |
300000 |
Number for spot memory ms (default 300000). |
↳ goldChance |
50 |
Money value for gold chance. Rewards go through the economy multiplier of jrs_core. |
↳ rewards |
table |
Table of rewards entries. Add, remove or edit entries following the examples in the file. |
↳ waterTypes |
table |
7.15.0: exactly BCC's Config.waterTypes - every named water zone (river, creek, lake, pond, swamp, ocean). waterHashes is built from it below. |
GoldPanningStation |
table |
BCC-style wash-station flow. The original river-pan flow remains enabled. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ model |
"p_goldcradlestand01x" |
Game model or entity used for model. |
↳ stationItem |
"goldwash_table" |
Inventory items used by station item. Names must exist in the jrs_items table. |
↳ mudBucket |
"mud_bucket" |
Setting for mud bucket. |
↳ emptyMudBucket |
"empty_mud_bucket" |
Setting for empty mud bucket. |
↳ waterBucket |
"wateringcan" |
Setting for water bucket. |
↳ emptyWaterBucket |
"wateringcan_empty" |
Setting for empty water bucket. |
↳ panItem |
"goldpan" |
Inventory items used by pan item. Names must exist in the jrs_items table. |
↳ requirePanItem |
true |
BCC: the wash stage needs a goldpan in the bag. It starts at durability 100 and loses panWearPerWash per wash ATTEMPT; when what is left is below one more wash it breaks (100 / 2 = 50 washes). |
↳ panWearPerWash |
2 |
Number for pan wear per wash (default 2). |
↳ siftPanModel |
"p_copperpan02x" |
BCC: no pan on the table; this prop is held in the right hand (PH_R_Hand) only while the panning animation plays. |
↳ siftsPerFill |
1 |
BCC flow: one mud bucket + one water can = exactly one wash. |
↳ useMinigame |
true |
BCC: a skill-check minigame decides the wash. Failing it pays nothing and keeps the mud/water in the table so the player can try again. |
↳ minigameAttempts |
2 |
BCC Config.Minigame.maxattempts = 2: two tries per wash before it fails. |
↳ ownerOnly |
true |
Only the player who built the table can load / wash / pick it up (BCC). |
↳ maxShoreDistance |
6.0 |
7.15.7: the table is built on dry ground (it blacks out water it touches); river/lake water must be within this many metres of the spot. |
↳ blip |
true |
Map blip on the player's own tables only (false = no blip). |
↳ blipSprite |
"blip_ambient_chore" |
Map blip or icon settings for blip sprite. |
↳ blipScale |
0.2 |
Map blip or icon settings for blip scale. |
↳ washReward |
table |
BCC reward: every passed wash pays washReward for sure, plus an extraRewardChance (%) roll from the river zone's pool (or Config.GoldPanning.rewards outside a zone). |
↳ extraRewardChance |
10 |
Money value for extra reward chance. Rewards go through the economy multiplier of jrs_core. |
↳ fillDurationMs |
8000 |
Time setting for fill duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ buildDurationMs |
8000 |
Time setting for build duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ washDurationMs |
8000 |
Time setting for wash duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ interactDistance |
2.2 |
Distance in game units that applies to interact distance. |
↳ placementDistance |
1.6 |
Distance in game units that applies to placement distance. |
↳ maxStationsPerCharacter |
2 |
Upper limit for max stations per character. |
↳ rewardXpMultiplier |
1.25 |
Money value for reward xp multiplier. Rewards go through the economy multiplier of jrs_core. |
GoldPanningRivers |
table |
Specialized Prospecting River Zones across the Frontier |
GoldSmelt |
table |
7.15.0 Gold furnace (from alfie_goldsmelt): the ONLY way to make gold bars. The NPC smelters no longer take gold nuggets. Bought at the mining shop; needs the Gold Prospector job like the wash station. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ furnaceItem |
"gold_furnace" |
Inventory items used by furnace item. Names must exist in the jrs_items table. |
↳ model |
"p_goldsmeltburner01x" |
native; hawk's escrowed gold_smelt crashed clients when merged (7.16.13) |
↳ fallbackModel |
"p_goldsmeltburner01x" |
Game model or entity used for fallback model. |
↳ smeltKey |
0x760A9C6F |
G (original) |
↳ pickupKey |
0xCEFD9220 |
E (original) |
↳ chunkModel |
"p_goldnugget01x" |
Game model or entity used for chunk model. |
↳ barModel |
"s_pickup_goldbar01x" |
Game model or entity used for bar model. |
↳ requireJob |
true |
Requires job: true = yes, false = no (default true). |
↳ jobs |
table |
7.16.11: every mining job may use the furnace (ACTIVE job). |
↳ maxBatchesPerMelt |
5 |
inputAmount/outputAmount are per batch; xp is per batch. Optional per recipe: chunkModel (what lies in the crucible), barModel (what is poured on success), img (NUI picture). |
↳ recipes |
table |
Inventory items used by recipes. Names must exist in the jrs_items table. |
↳ furnaceWearPerMelt |
5 |
Furnace durability (metadata, starts 100): -5 per poured melt = 20 melts. |
↳ interactDistance |
1.5 |
Distance in game units that applies to interact distance. |
↳ blip |
true |
7.16.5: map blip on your own furnace only (false = no blip). |
↳ blipSprite |
"blip_shop_blacksmith" |
Map blip or icon settings for blip sprite. |
↳ blipColor |
"BLIP_MODIFIER_MP_COLOR_4" |
yellow / gold |
↳ blipScale |
0.2 |
Map blip or icon settings for blip scale. |
↳ camSideDeg |
55.0 |
smelt camera swung to the side so the player doesn't block the crucible |
↳ camIntro |
table |
7.16.6 camera: intro looks down into the crucible, then the working view (metres from the crucible) |
↳ camSmelt |
table |
Table of cam smelt entries. Add, remove or edit entries following the examples in the file. |
↳ camFov |
45.0 |
Number for cam fov (default 45.0). |
↳ crucibleOffset |
nil |
7.16.6 crucible: nuggets/bar sit IN the bowl. nil = auto (ray onto the furnace, sunk chunkSink). Exact spot: use /goldsmelt_offset x y z next to your furnace and paste the printed line here. |
↳ crucibleFallbackZ |
0.55 |
used when the ray finds no collision |
↳ chunkSink |
0.04 |
Number for chunk sink (default 0.04). |
↳ chunkDrop |
0.30 |
7.16.9: lowers the auto point into the crucible (more = lower); was 0.15, still on the handle |
↳ meltSink |
0.035 |
7.16.9: nuggets sink this much into the crucible as the melt reaches 100 % |
↳ smokeFx |
"ent_amb_smoke_cabin" |
7.16.9: heat smoke over the crucible (core ptfx) |
↳ chunkSpread |
0.05 |
Number for chunk spread (default 0.05). |
↳ fireBelowCrucible |
0.22 |
Number for fire below crucible (default 0.22). |
↳ requireShore |
true |
7.16.6 placement like the wash table: dry bank next to sea/river/creek/lake/pond/swamp (Config.GoldPanning.waterHashes, within Config.GoldPanning.maxShoreDistance m). |
↳ heatMin |
60 |
Bellows minigame: keep the heat between heatMin..heatMax until the melt hits 100 %. Above heatMax for overheatMs = the crucible blows. |
↳ heatMax |
70 |
Upper limit for heat max. |
↳ overheatMs |
2000 |
Number for overheat ms (default 2000). |
↳ minSmeltMs |
8000 |
a real melt cannot finish faster than this |
↳ maxSmeltMs |
120000 |
Upper limit for max smelt ms. |
↳ fireLow |
0.5 |
Number for fire low (default 0.5). |
↳ fireHigh |
0.8 |
Number for fire high (default 0.8). |
↳ destroyFurnaceOnFail |
true |
Blow-up: the nuggets in the crucible are lost and so is the furnace. |
↳ explosionType |
2 |
Number for explosion type (default 2). |
↳ explosionDamage |
0.3 |
Number for explosion damage (default 0.3). |
config/mineral_props.lua - 7 options#
General
| Setting | Default | What it does |
|---|---|---|
MineralProps |
table |
Physical ore/bar appearance. These are visual models, not inventory item IDs. The twelve models and their YTYP/YTD are bundled in jrs_mining/stream. |
↳ enabled |
false |
7.17.1: off until a COMPILED .ytyp exists (XML one crashed clients) |
↳ showMineReward |
true |
Shows mine reward: true = yes, false = no (default true). |
↳ showOtherRewards |
true |
gold panning and NPC smelter collection |
↳ previewMs |
3500 |
Number for preview ms (default 3500). |
↳ maxCrucibleChunks |
3 |
rough chunks are larger than the old nugget prop |
↳ models |
table |
Game model or entity used for models. |
config/mining.lua - 86 options#
General
| Setting | Default | What it does |
|---|---|---|
MiniGame |
true |
═════════════════════════ MINES ═════════════════════════ Toggle the skill-check minigame globally (per-mine MinigameDifficulty can be set to false to make that mine luck-only). |
MinerJobs |
table |
(Gold Prospector) are this server's job-board jobs (jrs_multijob/config/jobs.lua). 'processing' (the old Resource Processor, merged into Miner 2026-09-24) and the rest are legacy/other-server job-name variants kept for compatibili |
MineAreaRadius |
120.0 |
How close (m) to a mine's MainCoord before its rocks stream in. |
NodeInteractDistance |
2.0 |
How close (m) to a rock node before the mine prompt shows. |
mineData |
table |
Table of mine data entries. Add, remove or edit entries following the examples in the file. |
↳ Tumbleweed Mine |
table |
Table of tumbleweed mine entries. Add, remove or edit entries following the examples in the file. |
↳ Annesburg Coal Mine |
table |
Table of annesburg coal mine entries. Add, remove or edit entries following the examples in the file. |
↳ Northpoint Mine |
table |
Table of northpoint mine entries. Add, remove or edit entries following the examples in the file. |
↳ Mount Shann Cave |
table |
Table of mount shann cave entries. Add, remove or edit entries following the examples in the file. |
↳ Beaver Hallow Cave |
table |
Table of beaver hallow cave entries. Add, remove or edit entries following the examples in the file. |
↳ Twin Rocks Gang Camp |
table |
Table of twin rocks gang camp entries. Add, remove or edit entries following the examples in the file. |
↳ Zirkel Cave |
table |
Table of zirkel cave entries. Add, remove or edit entries following the examples in the file. |
↳ Dinosaur Cave |
table |
Table of dinosaur cave entries. Add, remove or edit entries following the examples in the file. |
↳ Heartlands Oil pit |
table |
Table of heartlands oil pit entries. Add, remove or edit entries following the examples in the file. |
↳ Bacchus Ridge Cave |
table |
Table of bacchus ridge cave entries. Add, remove or edit entries following the examples in the file. |
↳ Mount Shann collapsed mine |
table |
Table of mount shann collapsed mine entries. Add, remove or edit entries following the examples in the file. |
↳ Guarma Cave |
table |
Table of guarma cave entries. Add, remove or edit entries following the examples in the file. |
↳ Bolger Glade Clay Pit |
table |
Table of bolger glade clay pit entries. Add, remove or edit entries following the examples in the file. |
MiningAnimations |
table |
═════════════════════ TOOLS / STATIONS / SHOPS ═════════════════════ ════════════════════════════ MINING ANIMS ══════════════════════════ |
↳ pickaxe |
table |
Table of pickaxe entries. Add, remove or edit entries following the examples in the file. |
PickaxeData |
table |
═══════════════════════════ TOOLS (PICKAXES) ═══════════════════════ |
↳ 1 |
table |
Table of 1 entries. Add, remove or edit entries following the examples in the file. |
MinerHatItem |
"minerhat" |
outfit (Config.Duty.Helmet) and is worn automatically on clock-in. The name is kept only so the server item allowlist stays stable for characters that still hold a legacy minerhat in their inventory. |
It is also mirrored into jrs_inventory's own durability percentage, which
| Setting | Default | What it does |
|---|---|---|
ToolDurability |
table |
draws the bar inside the inventory UI and (being one of that resource's Config.Metadata.UniqueKeys) keeps every pickaxe a separate instance rather than stacking two tools onto one shared counter. |
↳ enabled |
true |
false = pickaxes are permanent again (7.11.0 behaviour) |
↳ breakOnZero |
true |
false = the tool stops at 1 use left instead of being destroyed |
↳ showInHud |
true |
draw the remaining-uses meter on the tool card |
↳ warnBelow |
0.20 |
start warning under this fraction of the tier's Uses |
↳ warnEvery |
10 |
...and then only every Nth remaining use, to avoid spam |
↳ warnAlwaysUnder |
3 |
...but always warn for the last few uses |
ServiceMineIds |
table |
Only these mine services are exposed. Runtime filtering lives in client/functions.lua and server/functions.lua (prepareMiningRuntimeConfig). |
MineralProcessing |
table |
PROCESSING stations by server/functions.lua + client/functions.lua (prepareMiningRuntimeConfig). The player loop is: mine rock -> process rock -> receive one local mineral. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ inputItem |
"rock" |
Key or control used for input item. Controls are hash values from the game input list. |
↳ inputAmount |
1 |
Key or control used for input amount. Controls are hash values from the game input list. |
↳ durationMs |
6000 |
Time setting for duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ xp |
2 |
Number for xp (default 2). |
↳ interactRadius |
1.2 |
Distance in game units that applies to interact radius. |
↳ prop |
nil |
Game model or entity used for prop. |
↳ blip |
table |
Map blip or icon settings for blip. |
↳ rawReward |
table |
Money value for raw reward. Rewards go through the economy multiplier of jrs_core. |
↳ Locations |
table |
coords is the station/prompt position; heading rotates the spawned prop. A mine may have as many stations as you like: they all share that mine's mineral table, so any of them processes that mine's rock. |
MineralCleaning |
Config.MineralProcessing |
Backwards-compatible alias: older edits/configs referring to the previous "mineral cleaning" name keep resolving to the same table. |
Shops |
table |
One trading bot stands on every mining location (mine blip). The locations list is generated at runtime from Config.mineData, in the client/shops.lua and server/shops.lua scripts (kept in sync by sorting). |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ interactDistance |
1.8 |
Tightened NPC interaction radius; player must get close to the bot |
↳ pedSpawnDistance |
180.0 |
stream the shop NPC before the player reaches the prompt |
↳ pedDespawnDistance |
260.0 |
keep enough hysteresis to prevent spawn/despawn flicker |
↳ alignBotToMineBlip |
true |
visible mine: NPC + prompt use the exact MainCoord used by its blip |
↳ scenario |
"WORLD_HUMAN_STAND_WAITING" |
Idle standing scenario for the shopkeeper NPC |
↳ keys |
table |
Two separate world prompts at the same mining NPC. |
↳ duty |
table |
Duty gates every mining/shop action. Client visibility is convenience only; server events independently reject off-duty access. |
↳ hours |
table |
24/7 mining store. Server and client both treat the store as always open. Individual mine OpenTime/CloseTime values are intentionally ignored. |
↳ pedModels |
table |
Ped models used for shop NPCs |
↳ blip |
table |
Blip shown on every shop bot. The blip uses the SAME vector4 as the ped (loc.coords), so they always stay at the exact same spot. |
↳ customLocations |
table |
"one bot per mine" behaviour. Each entry: { name = "Valentine", coords = vector4(x, y, z, heading), openTime = 6, closeTime = 23 } Add as many as you want. Keep it empty {} to use the automatic ones. |
↳ locations |
table |
Filled at runtime (see client/shops.lua + server/shops.lua) |
↳ types |
table |
Two shop types, each with its own button |
InfiniteNodes |
Config.InfiniteNodes ~= fals... |
═══════════════════ MINING RUNTIME DERIVED SETTINGS ═════════════════ Only controls that are actually consumed by the integrated mining runtime are exposed here. Station/shop prompts use Config.KeyToInteract directly. |
Controls |
Config.Controls or { |
Setting for controls. |
NodeInteractDistance |
math.max(0.5, tonumber(Confi... |
Canonical interaction distance used by both client and server. |
AdvancedMining |
table |
General mining behaviour mirrored from the reference resource. Every switch here is consumed by the integrated runtime or explicitly mapped to REDEMPIRE's equivalent secure implementation. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ allowMiningCancel |
Config.AllowMiningCancel ~= ... |
Setting for allow mining cancel. |
↳ useLookAtNodePrompt |
false |
Turns look at node prompt on or off (default false). |
↳ rayCastDistance |
4.0 |
Distance in game units that applies to ray cast distance. |
↳ virtualLookTolerance |
1.5 |
meters; how close a camera-ray hit must land to a virtual (propless) node's position to count as "looking at it" |
↳ highlightNodeProps |
true |
Switch for highlight node props: true = on, false = off (default true). |
↳ showNodeNumberInPrompt |
false |
Shows node number in prompt: true = yes, false = no (default false). |
↳ smartZDifference |
true |
Switch for smart z difference: true = on, false = off (default true). |
↳ initSoundAudio |
true |
Switch for init sound audio: true = on, false = off (default true). |
↳ displayToolHud |
true |
Switch for display tool hud: true = on, false = off (default true). |
↳ displayToolHudAlign |
"top" |
Setting for display tool hud align. |
↳ displayTextOffset |
table |
Text shown to the player for display text offset. Change it to translate or rebrand. |
↳ cancelControl |
Config.Controls.MineCancel |
Key or control used for cancel control. Controls are hash values from the game input list. |
↳ minerJobProbabilityIncrease |
tonumber(Config.MinerJobProb... |
Who is allowed: jobs, groups or permissions for miner job probability increase. |
↳ coordCheckerEfficiency |
tonumber(Config.CoordChecker... |
World coordinates (x, y, z) used for coord checker efficiency. |
↳ drawDebugMarkers |
false |
Switch for draw debug markers: true = on, false = off (default false). |
↳ highlightMarkerType |
1 |
Mining nodes have no entity to outline (see client/mines.lua's VIRTUAL_ROCK), so an eligible node is highlighted with a marker ring at its position instead. Only used when highlightNodeProps ~= false. |
↳ highlightMarkerScale |
0.9 |
Rate or multiplier for highlight marker scale. |
↳ highlightMarkerZOffset |
0.1 |
Number for highlight marker z offset (default 0.1). |
↳ highlightMarkerColor |
table |
Table of highlight marker color entries. Add, remove or edit entries following the examples in the file. |
PickaxeItem |
"pickaxe" |
A single persistent pickaxe whose power is stored in item metadata. |
LegacyForgeToolItems |
table |
Retired standalone tool items. Kept only so the security allow-list stays stable for characters still holding one. |
Uses is how many SUCCESSFUL mining deliveries it survives before it breaks
| Setting | Default | What it does |
|---|---|---|
PickaxeLevels |
table |
(Config.ToolDurability). AMS.toolMetadata clamps any legacy pickaxeLevel metadata (2/3/4) down to 1, so old pickaxes keep working as this one. |
↳ 1 |
table |
Table of 1 entries. Add, remove or edit entries following the examples in the file. |
config/smelting.lua - 20 options#
This replaces the old forge/anvil/crafting systems, which were removed in
| Setting | Default | What it does |
|---|---|---|
Smelting |
table |
Table of smelting entries. Add, remove or edit entries following the examples in the file. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ keys |
table |
World interaction. open matches the mining store key so the two NPC prompts read the same way; duty allows toggling mining/processing duty directly. |
↳ interactDistance |
2.5 |
Distance in game units that applies to interact distance. |
↳ pedSpawnDistance |
160.0 |
Distance in game units that applies to ped spawn distance. |
↳ pedDespawnDistance |
240.0 |
Distance in game units that applies to ped despawn distance. |
↳ requireDuty |
false |
Duty/job gating. Setting requireDuty to false allows anyone with the job (from the job board) to use the smelter directly without needing duty clock-in. |
↳ requireJob |
true |
Requires job: true = yes, false = no (default true). |
↳ maxOpenOrders |
5 |
unfinished orders one character may hold, per NPC |
↳ maxAmountPerOrder |
50 |
output batches in a single order |
↳ minAmountPerOrder |
1 |
Minimum or level requirement for min amount per order. |
↳ rush |
table |
Instant finish. Cost is per remaining MINUTE, rounded up, and is charged in cash at the moment the player presses RUSH. |
↳ feePerBatch |
5 |
* these NPC smelters = PAID and SLOW (order, wait, collect) feePerBatch is cash taken when the order is placed (a recipe may set its own fee); timeMultiplier stretches every recipe's minutes. |
↳ timeMultiplier |
5 |
Rate or multiplier for time multiplier. |
↳ xpPerBatch |
3 |
XP awarded per collected order line (scaled by the number of batches). |
↳ scenario |
"WORLD_HUMAN_WRITE_NOTEBOOK" |
Working animation played at the NPC when placing an order. |
↳ placeDurationMs |
4000 |
Time setting for place duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ pedModel |
"A_M_M_ASBMINER_02" |
Ambient furnace ped + blip shared by every location that does not set its own. Blip sprite matches the mining shop family. |
↳ blip |
table |
Map blip or icon settings for blip. |
↳ Locations |
table |
ONE bar. input/inputAmount is what a single batch costs, output/ outputAmount is what a single batch returns, minutes is how long a single batch takes. |
Paid (server only) jrs_moonshine
JRS Core moonshiner job (jrs_multijob): distilling, distilleries, business and delivery
| Resource | jrs_moonshine |
| Folder | [JOBS] |
| Version | 1.5.0 |
| Author | jrs team |
| Depends on | /assetpacks, jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 4,477 Lua lines |
Exports
jrs_is_player_moonshining
Database tables
jrs_moonshine_missions, jrs_moonshine_productions, jrs_moonshine_shells, jrs_moonshine_stills
config.lua - 186 options#
General
| Setting | Default | What it does |
|---|---|---|
Language |
"ar" |
Interface language of this script (en or ar). |
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. |
Progress |
table |
progressImg = The item name you enter here is pulled from your inventory images. |
↳ Delivery |
table |
Delivery Progress |
Indicate |
table |
A small image indicating their presence there at the center of the interiors |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ distance |
10.0 |
Distance in game units that applies to distance. |
CreateInteriorCommandSetting |
table |
If you do not want to use interior creation as an item, enable this command and it will only set up an interior entrance at your current location. Without an prop. |
↳ activeCommand |
false |
If the command is open, interior items cannot be used. |
↳ command |
"createinterior" |
Setting for command. |
↳ commandRequired |
table |
or false |
Config.PlayerXP ###
| Setting | Default | What it does |
|---|---|---|
PlayerXP |
table |
Config.JobXP.CoreShare of it into the global character level, exactly like fishing, hunting, lumberjack and every other job on this server. The still keeps its own XP as before; this is in addition to it, not instead. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Job |
"moonshiner" |
primary key in jrs_job_levels; renaming it orphans progress |
↳ Multiplier |
1.0 |
scales the recipe addXP value before it reaches the player |
AllowMoonshineInShell |
false |
If true, you can set up a moonshine still inside the interior |
DurabilityMultiplier |
1.5 |
The machine's durability decreases significantly based on the production volume. 1.0 is the normal value. |
TimeMultiplier |
true |
Time increases depending on production volume |
Config.RemoveStillSetting ###
| Setting | Default | What it does |
|---|---|---|
RemoveStillSetting |
2 |
legal job (2026-09-25): only the owner removes a still |
RemoveStillAfterSaveData |
true |
Should the level and xp of the machine be added to the item as metadata after Moonshine Still is deleted? |
Config.LawmenJobs ###
| Setting | Default | What it does |
|---|---|---|
LawmenJobs |
table |
Who is allowed: jobs, groups or permissions for lawmen jobs. |
↳ bwsheriff |
true |
Switch for bwsheriff: true = on, false = off (default true). |
↳ valsheriff |
true |
Switch for valsheriff: true = on, false = off (default true). |
↳ armsheriff |
true |
Switch for armsheriff: true = on, false = off (default true). |
↳ armheriff |
true |
legacy typo kept for servers that still use it |
↳ twsheriff |
true |
Switch for twsheriff: true = on, false = off (default true). |
↳ stbsheriff |
true |
Switch for stbsheriff: true = on, false = off (default true). |
↳ rhdsheriff |
true |
Switch for rhdsheriff: true = on, false = off (default true). |
↳ sdsheriff |
true |
Switch for sdsheriff: true = on, false = off (default true). |
↳ annsheriff |
true |
Switch for annsheriff: true = on, false = off (default true). |
↳ marshal |
true |
Switch for marshal: true = on, false = off (default true). |
↳ sisika |
true |
Switch for sisika: true = on, false = off (default true). |
↳ police |
true |
Switch for police: true = on, false = off (default true). |
↳ ALFIE |
true |
Switch for alfie: true = on, false = off (default true). |
↳ Guamrma |
true |
Switch for guamrma: true = on, false = off (default true). |
To use this command, there must be 2 active lawmen in front of the interior at t
| Setting | Default | What it does |
|---|---|---|
ActiveLawmenPlayerCount |
2 |
Number for active lawmen player count (default 2). |
Config.ExplosionItem ###
| Setting | Default | What it does |
|---|---|---|
ExplosionItem |
false |
legal job (2026-09-25): stills can no longer be bombed. Was "dynamite". |
ExplosionDefuseItem |
"lockpick" |
Item used to defuse the moonshine still explosion (Dynamite becomes ineffective if used before the detonation time expires) |
ExplosionTime |
30 |
Sets the countdown time for the explosion after the ExplosionItem is used |
DeliverySuccesNotifyLawmen |
table |
NEW SETTING |
↳ notify |
false |
legal job (2026-09-25): deliveries no longer alert lawmen |
↳ chance |
30 |
Rate or multiplier for chance. |
↳ AlertDelay |
3 |
second (How many seconds after a shot is fired) |
↳ blipname |
"Report Moonshine Sale!" |
Setting for blipname. |
↳ blipsprite |
1001245999 |
Number for blipsprite (default 1001245999). |
↳ blipscale |
0.5 |
Number for blipscale (default 0.5). |
↳ blipmodifier |
"BLIP_MODIFIER_MP_COLOR_32" |
Setting for blipmodifier. |
↳ blipradius |
10.0 |
Number for blipradius (default 10.0). |
↳ alerttime |
30 |
after how many seconds the blip will be deleted ? 60 = 60000 |
SetupTownPropSettings |
table |
Game model or entity used for setup town prop settings. |
↳ moonshineStill |
false |
If this setting is true, players can set up moonshine machines in cities. |
↳ moonshineInterior |
false |
If this setting is true, players can set up moonshine interior in cities. |
DropPlayerNuiCheater |
false |
## Cheaters who try to modify recipes and data through NuiDevtools. Set this to true if you want them to be kicked out of the game. |
Towns |
table |
Table of towns entries. Add, remove or edit entries following the examples in the file. |
↳ AguasdulcesFarm |
1654810713 |
Number for aguasdulces farm (default 1654810713). |
↳ AguasdulcesRuins |
201158410 |
Number for aguasdulces ruins (default 201158410). |
↳ AguasdulcesVilla |
-1207133769 |
Number for aguasdulces villa (default -1207133769). |
↳ Annesburg |
7359335 |
Number for annesburg (default 7359335). |
↳ Armadillo |
-744494798 |
Number for armadillo (default -744494798). |
↳ BeechersHope |
-1708386982 |
Number for beechers hope (default -1708386982). |
↳ Blackwater |
1053078005 |
Number for blackwater (default 1053078005). |
↳ Braithwaite |
1778899666 |
Number for braithwaite (default 1778899666). |
↳ Butcher |
-1947415645 |
Number for butcher (default -1947415645). |
↳ Caliga |
1862420670 |
Number for caliga (default 1862420670). |
↳ cornwall |
-1851305682 |
Number for cornwall (default -1851305682). |
↳ Emerald |
-473051294 |
Number for emerald (default -473051294). |
↳ lagras |
406627834 |
Number for lagras (default 406627834). |
↳ Manicato |
1299204683 |
Number for manicato (default 1299204683). |
↳ Manzanita |
1463094051 |
Number for manzanita (default 1463094051). |
↳ Rhodes |
2046780049 |
Number for rhodes (default 2046780049). |
↳ Siska |
2147354003 |
Number for siska (default 2147354003). |
↳ StDenis |
-765540529 |
Number for st denis (default -765540529). |
↳ Strawberry |
427683330 |
Number for strawberry (default 427683330). |
↳ Tumbleweed |
-1524959147 |
Number for tumbleweed (default -1524959147). |
↳ valentine |
459833523 |
Number for valentine (default 459833523). |
↳ VANHORN |
2126321341 |
Number for vanhorn (default 2126321341). |
↳ Wallace |
-872622034 |
Number for wallace (default -872622034). |
↳ wapiti |
1663398575 |
Number for wapiti (default 1663398575). |
InteriorProp |
"p_outhouse05x" |
Game model or entity used for interior prop. |
ShellSpawnDistance |
100 |
Distance in game units that applies to shell spawn distance. |
PropSpawnDistance |
40 |
Distance in game units that applies to prop spawn distance. |
PropInteractionDistance |
3 |
Distance in game units that applies to prop interaction distance. |
MaximumCreateMoonshineTable |
2 |
Upper limit for maximum create moonshine table. |
MaxCraftMultipler |
5 |
Upper limit for max craft multipler. |
SmokeEffect |
table |
Table of smoke effect entries. Add, remove or edit entries following the examples in the file. |
↳ dict |
"scr_net_gangbounty" |
Animation settings for dict. |
↳ name |
"scr_net_gangbounty_smoke" |
Text shown to the player for name. Change it to translate or rebrand. |
↳ distance |
300 |
Distance in game units that applies to distance. |
↳ SmokeScale |
0.8 |
Rate or multiplier for smoke scale. |
FailedMissionRemoveMoney |
10 |
Penalty money to be deducted from the player if he fails to deliver the items to the recipient |
DrawSetting |
table |
Table of draw setting entries. Add, remove or edit entries following the examples in the file. |
↳ DrawMarker |
table |
or DrawMarker = false, |
↳ DrawLight |
table |
or DrawLight = false, |
↳ DrawTexture |
table |
or DrawTexture = false, |
## Config.SpawnMoonshineWagonCommand ## --
| Setting | Default | What it does |
|---|---|---|
Commands |
table |
These commands require you to own a hideout, hold an accepted mission, and stand near the hideout. |
↳ 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. |
Customers |
table |
Table of customers entries. Add, remove or edit entries following the examples in the file. |
InteriorSets |
table |
Table of interior sets entries. Add, remove or edit entries following the examples in the file. |
↳ standart |
table |
Table of standart entries. Add, remove or edit entries following the examples in the file. |
↳ hunter |
table |
Table of hunter entries. Add, remove or edit entries following the examples in the file. |
↳ christmas |
table |
Table of christmas entries. Add, remove or edit entries following the examples in the file. |
↳ floral |
table |
Table of floral entries. Add, remove or edit entries following the examples in the file. |
↳ goth |
table |
Table of goth entries. Add, remove or edit entries following the examples in the file. |
↳ refined |
table |
Table of refined entries. Add, remove or edit entries following the examples in the file. |
↳ stonewall |
table |
Table of stonewall entries. Add, remove or edit entries following the examples in the file. |
Shells |
table |
NOTE: the NPC walk-in/walk-out routine (gotoTable) is real movement logic, not a config value - it now lives in shared/utils.lua as JMS.moonshineGotoTable and is attached to every entry below automatically at load time. |
↳ moonshine_interior1 |
table |
Table of moonshine interior1 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior2 |
table |
Table of moonshine interior2 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior3 |
table |
Table of moonshine interior3 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior4 |
table |
Table of moonshine interior4 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior5 |
table |
Table of moonshine interior5 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior6 |
table |
Table of moonshine interior6 entries. Add, remove or edit entries following the examples in the file. |
↳ moonshine_interior7 |
table |
Table of moonshine interior7 entries. Add, remove or edit entries following the examples in the file. |
Levels |
table |
Table of levels entries. Add, remove or edit entries following the examples in the file. |
↳ 0 |
0 |
Number for 0 (default 0). |
↳ 1 |
1000 |
Number for 1 (default 1000). |
↳ 2 |
2000 |
Number for 2 (default 2000). |
↳ 3 |
3000 |
Number for 3 (default 3000). |
↳ 4 |
4000 |
Number for 4 (default 4000). |
↳ 5 |
5000 |
Number for 5 (default 5000). |
↳ 6 |
6000 |
Number for 6 (default 6000). |
↳ 7 |
7000 |
Number for 7 (default 7000). |
↳ 8 |
8000 |
Number for 8 (default 8000). |
↳ 9 |
9000 |
Number for 9 (default 9000). |
↳ 10 |
10000 |
Number for 10 (default 10000). |
↳ 11 |
11000 |
Number for 11 (default 11000). |
↳ 12 |
12000 |
Number for 12 (default 12000). |
↳ 13 |
13000 |
Number for 13 (default 13000). |
↳ 14 |
14000 |
Number for 14 (default 14000). |
↳ 15 |
15000 |
Number for 15 (default 15000). |
↳ 16 |
16000 |
Number for 16 (default 16000). |
↳ 17 |
17000 |
Number for 17 (default 17000). |
↳ 18 |
18000 |
Number for 18 (default 18000). |
↳ 19 |
19000 |
Number for 19 (default 19000). |
↳ 20 |
20000 |
Number for 20 (default 20000). |
↳ 21 |
21000 |
Number for 21 (default 21000). |
↳ 22 |
22000 |
Number for 22 (default 22000). |
↳ 23 |
23000 |
Number for 23 (default 23000). |
↳ 24 |
24000 |
Number for 24 (default 24000). |
↳ 25 |
25000 |
Number for 25 (default 25000). |
↳ 26 |
26000 |
Number for 26 (default 26000). |
↳ 27 |
27000 |
Number for 27 (default 27000). |
↳ 28 |
28000 |
Number for 28 (default 28000). |
↳ 29 |
29000 |
Number for 29 (default 29000). |
↳ 30 |
30000 |
Number for 30 (default 30000). |
↳ 31 |
31000 |
Number for 31 (default 31000). |
↳ 32 |
32000 |
Number for 32 (default 32000). |
↳ 33 |
33000 |
Number for 33 (default 33000). |
↳ 34 |
34000 |
Number for 34 (default 34000). |
↳ 35 |
35000 |
Number for 35 (default 35000). |
↳ 36 |
36000 |
Number for 36 (default 36000). |
↳ 37 |
37000 |
Number for 37 (default 37000). |
↳ 38 |
38000 |
Number for 38 (default 38000). |
↳ 39 |
39000 |
Number for 39 (default 39000). |
↳ 40 |
40000 |
Number for 40 (default 40000). |
↳ 41 |
41000 |
Number for 41 (default 41000). |
↳ 42 |
42000 |
Number for 42 (default 42000). |
↳ 43 |
43000 |
Number for 43 (default 43000). |
↳ 44 |
44000 |
Number for 44 (default 44000). |
↳ 45 |
45000 |
Number for 45 (default 45000). |
↳ 46 |
46000 |
Number for 46 (default 46000). |
↳ 47 |
47000 |
Number for 47 (default 47000). |
↳ 48 |
48000 |
Number for 48 (default 48000). |
↳ 49 |
49000 |
Number for 49 (default 49000). |
↳ 50 |
50000 |
Number for 50 (default 50000). |
Moonshines |
table |
Table of moonshines entries. Add, remove or edit entries following the examples in the file. |
Every fruit input below is now grown, not gathered: mulberry, blackmulberry
| Setting | Default | What it does |
|---|---|---|
↳ mp001_p_mp_still01x |
table |
and grapes are jrs_farming crops, and moonbloom is the shared crop that jrs_farming grows and jrs_herbs spawns wild at night. jrs_moonshine no longer owns any gathering of its own. |
Professional Still (Level 25)
| Setting | Default | What it does |
|---|---|---|
↳ mp006_p_moonshiner_still04x |
table |
Table of mp006 p moonshiner still04x entries. Add, remove or edit entries following the examples in the file. |
Prompts |
table |
Table of prompts entries. Add, remove or edit entries following the examples in the file. |
↳ setupMoonshine |
table |
Table of setup moonshine entries. Add, remove or edit entries following the examples in the file. |
↳ interactMoonshine |
table |
Table of interact moonshine entries. Add, remove or edit entries following the examples in the file. |
↳ shell |
table |
Table of shell entries. Add, remove or edit entries following the examples in the file. |
↳ exitshell |
table |
Table of exitshell entries. Add, remove or edit entries following the examples in the file. |
↳ shellstash |
table |
Table of shellstash entries. Add, remove or edit entries following the examples in the file. |
↳ shellsellmenu |
table |
Table of shellsellmenu entries. Add, remove or edit entries following the examples in the file. |
↳ wagonrob |
table |
Table of wagonrob entries. Add, remove or edit entries following the examples in the file. |
↳ delivery |
table |
Table of delivery entries. Add, remove or edit entries following the examples in the file. |
ProgressBar |
table |
Table of progress bar entries. Add, remove or edit entries following the examples in the file. |
↳ progresstype |
"innercircle" |
Setting for progresstype. |
↳ color |
"#c40000" |
Setting for color. |
JRS MOONSHINE - Open replacement settings
| Setting | Default | What it does |
|---|---|---|
JRS |
Config.JRS or { |
Setting for jrs. |
Notes from the README#
# jrs_moonshine - Moonshine System for JRS Core
An open, self-contained moonshine system built to work directly with
`jrs_core` and `jrs_inventory`, without VORP or RSG.
## Requirements
Start resources in this order before `jrs_moonshine`:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_theftsystem
ensure jrs_moonshine
'''
> `jrs_theftsystem` integration is optional but enabled by default, to unify
> activity locks and police alerts. The resource folder name must stay
> `jrs_moonshine`.
## Ingredients: sourced from farming, not self-gathered
`jrs_moonshine` does not run its own gathering zones. Every fruit its
recipes consume is grown by `jrs_farming`, with one ingredient also
reachable wild through `jrs_herbs`:
- **Mulberry** and **Black Mulberry** - `jrs_farming` field crops only
(`MULBERRY_SEED` / `BLACKMULBERRY_SEED`).
- **Grapes** - already existed as a `jrs_farming` crop (`GRAPES_SEED`).
- **Moonbloom** - the premium ingredient for the top two recipes, reachable
two ways: cultivated via `jrs_farming`'s `MOONBLOOM_SEED` (slow, thirsty,
reliable), or picked wild at night through `jrs_herbs`'s Moonbloom Grove
(fast, free, but only active between dusk and dawn and on a long
per-bush cooldown).
- **Alcohol** / **Alcohol Bottle** - stocked in `jrs_stores`' general store.
If any of these item names differ on your server, adjust them in
`config.lua`'s `Config.Moonshines[...].items[...].requiredItems`.
## Database
The script creates its own tables automatically on startup because:
'''lua
Config.JRS.AutoCreateDatabase = true
Config.JRS.AutoRegisterItems = true
'''
You can also import the files manually if needed:
- `sql/jrs.sql` for the system tables.
- `sql/items_jrs_inventory.sql` to define the moonshine items in JRS
Inventory's `items` table.
## Item images
Copy the contents of:
'''text
jrs_moonshine/inventoryitemimages/
'''Free (included in JRS Core) jrs_multijob
jrs core MultiJob - job board, saved professions and employee management for jrs_core
| Resource | jrs_multijob |
| Folder | [JOBS] |
| Version | 5.17.2 |
| Author | jrs team |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 5,239 Lua lines |
Exports
AddCharacterJob, AddJob, GetAllJobDefinitions, GetCharacterJobs, JobName, JobNameServer, OpenMenu, RankName, RankNameServer, RemoveCharacterJob, RemoveJob, SyncPlayerJob
Database tables
IF, jrs_multijob_jobs, jrs_multijob_migrations
config/boards.lua - 10 options#
General
| Setting | Default | What it does |
|---|---|---|
Boards |
table |
Table of boards 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. |
↳ saintdenis |
table |
Table of saintdenis 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. |
↳ annesburg |
table |
Table of annesburg 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. |
↳ guarma |
table |
Table of guarma entries. Add, remove or edit entries following the examples in the file. |
config/guides.lua - 8 options#
General
| Setting | Default | What it does |
|---|---|---|
JobGuides |
table |
Coordinates are copied from each job's own resource config (start NPC, depot, shop or work area) - update them here if a job's NPC moves. A job with no points (herbalist, farmer, moonshiner) gets the text only. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ BlipSprite |
"blip_ambient_chore" |
Map blip or icon settings for blip sprite. |
↳ BlipScale |
0.7 |
same readable objective size used by delivery jobs |
↳ GpsHudColor |
6 |
fallback colour when a native waypoint is unavailable |
↳ ArriveDistance |
20.0 |
route + blip removed once this close |
↳ LifetimeMinutes |
20 |
or after this long |
↳ Jobs |
table |
Who is allowed: jobs, groups or permissions for jobs. |
config/jobs.lua - 22 options#
General
| Setting | Default | What it does |
|---|---|---|
Jobs |
table |
jobs in this same order so the board shows easy jobs at the top. Board ladder: 19 jobs spaced every 5 levels, 1 -> 90 (rebalanced 2026-09-25, 'weeder' / Herb Processor removed: it only duplicated Herbalist). |
↳ hunter |
table |
Table of hunter entries. Add, remove or edit entries following the examples in the file. |
↳ publicjobs |
table |
Table of publicjobs entries. Add, remove or edit entries following the examples in the file. |
↳ surfacecleaner |
table |
Table of surfacecleaner entries. Add, remove or edit entries following the examples in the file. |
↳ trachboy |
table |
Table of trachboy entries. Add, remove or edit entries following the examples in the file. |
↳ delivery |
table |
Table of delivery entries. Add, remove or edit entries following the examples in the file. |
↳ radio_technician |
table |
Repairs jrs-Radio towers (Config.TowerManagement.Repair.AllowedJobs) and buys repair kits from the supply prompt at each tower pole. |
↳ undertaker |
table |
Worked by [JOBS]/jrs_undertaker: collect bodies, prepare them at a parlour, bury them at a cemetery. Swap Image for img/undertaker.jpg once that picture is added to html/img. |
↳ cotton |
table |
Worked at jrs_business's Cotton Company (Config.PublicJobs.companies.cotton). |
↳ legendary_hunter |
table |
Table of legendary hunter entries. Add, remove or edit entries following the examples in the file. |
↳ farmer |
table |
Table of farmer entries. Add, remove or edit entries following the examples in the file. |
↳ chicken |
table |
Table of chicken entries. Add, remove or edit entries following the examples in the file. |
↳ mill |
table |
Worked at jrs_business's Mill Company (Config.PublicJobs.companies.mill). |
↳ herbalist |
table |
Table of herbalist entries. Add, remove or edit entries following the examples in the file. |
↳ fisher |
table |
Table of fisher 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. |
↳ mining |
table |
One job for the whole mine: 'processing' (Resource Processor) was merged into it on 2026-09-24 since both worked the same mine. jrs_mining still accepts 'processing' as a legacy alias. |
↳ bountyhunter |
table |
Table of bountyhunter entries. Add, remove or edit entries following the examples in the file. |
↳ beer |
table |
Table of beer entries. Add, remove or edit entries following the examples in the file. |
↳ oiler |
table |
Table of oiler entries. Add, remove or edit entries following the examples in the file. |
↳ mingold |
table |
Table of mingold entries. Add, remove or edit entries following the examples in the file. |
↳ moonshiner |
table |
Table of moonshiner entries. Add, remove or edit entries following the examples in the file. |
config/management.lua - 16 options#
General
| Setting | Default | What it does |
|---|---|---|
Management |
table |
Table of management entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ AutoSaveCurrentJob |
true |
Automatically keeps externally assigned REDEMPIRE jobs in the player's saved job list. |
↳ AutoSaveIntervalMs |
15 * 60 * 1000 |
Time setting for auto save interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ SaveOnCharacterReady |
true |
Switch for save on character ready: true = on, false = off (default true). |
↳ SaveOnSwitch |
true |
Switch for save on switch: true = on, false = off (default true). |
↳ DeletedJobResaveBlockMs |
120000 |
prevents a stale core snapshot from re-adding a just-deleted job |
↳ QuitAllSetsFallback |
true |
Removing every job returns the character to this job. |
↳ AllowManageEqualRank |
false |
Boss rules. |
↳ HireMakesActive |
true |
Switch for hire makes active: true = on, false = off (default true). |
↳ DefaultHireGrade |
0 |
Who is allowed: jobs, groups or permissions for default hire grade. |
↳ PreventSelfFire |
true |
Switch for prevent self fire: true = on, false = off (default true). |
↳ MaximumEmployeesShown |
100 |
Upper limit for maximum employees shown. |
↳ IgnoreJobs |
table |
Jobs listed here are never auto-saved as professions. |
↳ Logs |
table |
Optional Discord logs. Leave a webhook empty to disable that category. |
↳ Jobs |
table |
Official jobs and rank labels. BossGrade gives access to Staff Management. |
config/settings.lua - 14 options#
General
| Setting | Default | What it does |
|---|---|---|
Settings |
table |
Table of settings entries. Add, remove or edit entries following the examples in the file. |
↳ Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
↳ Language |
"ar" |
Interface language of this script (en or ar). |
↳ MaxJobs |
0 |
0 = no limit, a character can hold every job |
↳ RestoreSelectedJobOnLoad |
false |
jrs_core is authoritative; set true only for legacy recovery |
↳ Core |
table |
Table of core entries. Add, remove or edit entries following the examples in the file. |
↳ Database |
table |
Table of database entries. Add, remove or edit entries following the examples in the file. |
↳ Command |
table |
Table of command entries. Add, remove or edit entries following the examples in the file. |
↳ Notifications |
table |
Table of notifications entries. Add, remove or edit entries following the examples in the file. |
↳ Security |
table |
Table of security entries. Add, remove or edit entries following the examples in the file. |
↳ FallbackJob |
table |
Who is allowed: jobs, groups or permissions for fallback job. |
↳ XP |
table |
Table of xp 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. |
↳ UI |
table |
Table of ui entries. Add, remove or edit entries following the examples in the file. |
Paid (server only) jrs_newspaper
JRS Newspaper - newspaper publishing, archives and investigations for RedM
| Resource | jrs_newspaper |
| Folder | [JOBS] |
| Version | 1.1.0 |
| Author | jrs |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 3,051 Lua lines |
Commands
/jrsnewspaper
Database tables
jrs_newspaper_ads, jrs_newspaper_articles, jrs_newspaper_books, jrs_newspaper_editions, jrs_newspaper_investigations, jrs_newspaper_publishers, jrs_newspaper_transactions
config.lua - 91 options#
General
| Setting | Default | What it does |
|---|---|---|
JRS |
table |
Direct integration verified against jrs_core v1.0.18 / current JRS Inventory stack. Core admins are resolved through jrs_core:IsAdmin, so owner/admin/support follow the central AdminGroups policy from jrs_core instead of a duplica |
↳ CoreResource |
"jrs_core" |
Setting for core resource. |
↳ InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
↳ RequireIdentity |
true |
Requires identity: true = yes, false = no (default true). |
↳ UseCoreNotifications |
true |
Turns core notifications on or off (default true). |
↳ NotificationDuration |
4500 |
Time setting for notification duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AllowCoreAdmins |
true |
Allows core admins: true = yes, false = no (default true). |
↳ AdminActsAsEditor |
true |
Switch for admin acts as editor: true = on, false = off (default true). |
↳ VerifiedCoreVersion |
"1.0.18" |
Setting for verified core version. |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Language |
"ar" |
'en' or 'ar' |
NewspaperYear |
1901 |
Number for newspaper year (default 1901). |
InteractionKey |
0x760A9C6F |
G |
Prompt |
table |
Text shown to the player for prompt. Change it to translate or rebrand. |
↳ nativeLanguage |
"en" |
RedM native prompt fonts do not reliably render Arabic. Keep native prompt strings on the stable English locale while the full NUI follows Config.Language. |
↳ actionTextKey |
"prompts.open" |
Key or control used for action text key. Controls are hash values from the game input list. |
BlipModifier |
"BLIP_MODIFIER_MP_COLOR_2" |
Cyan / Teal |
BlipScale |
0.7 |
Map blip or icon settings for blip scale. |
InteractionDistance |
2.5 |
Distance in game units that applies to interaction distance. |
EnforceOpeningHours |
false |
false = newspaper stands stay available 24/7. Set true to enforce each stand's openTime/closeTime. |
SpawnDistance |
55.0 |
Distance in game units that applies to spawn distance. |
ServerDistanceTolerance |
4.5 |
Distance in game units that applies to server distance tolerance. |
ServerDistanceCheck |
true |
Switch for server distance check: true = on, false = off (default true). |
NewspaperItem |
"jrs_newspaper" |
Inventory items used by newspaper item. Names must exist in the jrs_items table. |
PhysicalCopies |
table |
Physical copies are permanent saved editions. The inventory item itself stays the same JRS item, while every individual copy carries its own edition metadata. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ KeepExactEdition |
true |
Switch for keep exact edition: true = on, false = off (default true). |
↳ StoreDisplayMetadata |
true |
Switch for store display metadata: true = on, false = off (default true). |
Currency |
0 |
0 = Money in jrs_core |
DefaultPrice |
0.25 |
jrs_core supports decimal cash values |
ArchiveCopyUsesPublisherPrice |
true |
Switch for archive copy uses publisher price: true = on, false = off (default true). |
RequestTimeoutMs |
8000 |
Time setting for request timeout ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
SingleJobMode |
table |
Who is allowed: jobs, groups or permissions for single job mode. |
↳ enabled |
true |
Turns enabled on or off (default true). |
↳ jobs |
table |
Who is allowed: jobs, groups or permissions for jobs. |
GeneralJournalistJobs |
table |
General journalist jobs that have writing/publishing access across all newspaper stands and offices |
↳ journalist |
true |
Switch for journalist: true = on, false = off (default true). |
↳ reporter |
true |
Switch for reporter: true = on, false = off (default true). |
↳ newspaper |
true |
Switch for newspaper: true = on, false = off (default true). |
↳ press |
true |
Switch for press: true = on, false = off (default true). |
↳ editor |
true |
Switch for editor: true = on, false = off (default true). |
↳ news |
true |
Switch for news: true = on, false = off (default true). |
JournalistCanPublish |
true |
If true, journalists (or any journalist job grade >= journalistGrade) can create drafts and publish editions. |
AdminGroups |
table |
Admin groups recognized from jrs_core or vorp_core |
↳ owner |
true |
Switch for owner: true = on, false = off (default true). |
↳ admin |
true |
Switch for admin: true = on, false = off (default true). |
↳ superadmin |
true |
Switch for superadmin: true = on, false = off (default true). |
↳ mod |
true |
Switch for mod: true = on, false = off (default true). |
↳ moderator |
true |
Switch for moderator: true = on, false = off (default true). |
↳ support |
true |
Switch for support: true = on, false = off (default true). |
↳ god |
true |
Switch for god: true = on, false = off (default true). |
AutoCreateFirstEdition |
false |
Never automatically create placeholder dummy editions. Keep newspapers empty until published by staff. |
Jobs |
table |
Used only if SingleJobMode.enabled = false. |
↳ stdenis_journalist |
"stdenisjournalist" |
Setting for stdenis journalist. |
↳ stdenis_editor |
"stdeniseditor" |
Setting for stdenis editor. |
↳ valentine_journalist |
"valentinejournalist" |
Setting for valentine journalist. |
↳ valentine_editor |
"valentineeditor" |
Setting for valentine editor. |
↳ blackwater_journalist |
"blackwaterjournalist" |
Setting for blackwater journalist. |
↳ blackwater_editor |
"blackwatereditor" |
Setting for blackwater editor. |
JobPublisherMap |
table |
Who is allowed: jobs, groups or permissions for job publisher map. |
↳ Config.Jobs.stdenis_journalist |
1 |
Number for config.jobs.stdenis journalist (default 1). |
↳ Config.Jobs.stdenis_editor |
1 |
Number for config.jobs.stdenis editor (default 1). |
↳ Config.Jobs.valentine_journalist |
2 |
Number for config.jobs.valentine journalist (default 2). |
↳ Config.Jobs.valentine_editor |
2 |
Number for config.jobs.valentine editor (default 2). |
↳ Config.Jobs.blackwater_journalist |
3 |
Number for config.jobs.blackwater journalist (default 3). |
↳ Config.Jobs.blackwater_editor |
3 |
Number for config.jobs.blackwater editor (default 3). |
EditorJobs |
table |
Who is allowed: jobs, groups or permissions for editor jobs. |
↳ Config.Jobs.stdenis_editor |
true |
Switch for config.jobs.stdenis editor: true = on, false = off (default true). |
↳ Config.Jobs.valentine_editor |
true |
Switch for config.jobs.valentine editor: true = on, false = off (default true). |
↳ Config.Jobs.blackwater_editor |
true |
Switch for config.jobs.blackwater editor: true = on, false = off (default true). |
PublisherSocieties |
table |
Revenue is always recorded in jrs_newspaper_publishers.funds. If you later connect a society resource, listen to: jrs_newspaper:server:onRevenue(publisherId, societyName, amount, source, transactionId) |
↳ 1 |
"stdenisnews" |
Setting for 1. |
↳ 2 |
"valentinenews" |
Setting for 2. |
↳ 3 |
"blackwaternews" |
Setting for 3. |
NewspaperStands |
table |
Table of newspaper stands entries. Add, remove or edit entries following the examples in the file. |
EditorDesks |
table |
Separate desk/archive/investigation points are disabled so all features are consolidated directly into the newspaper stands (Config.NewspaperStands). |
ArchiveLocations |
table |
World coordinates (x, y, z) used for archive locations. |
InvestigationLocations |
table |
World coordinates (x, y, z) used for investigation locations. |
OfficeNPCGroups |
table |
Optional immersive office NPCs based on the supported newspaper office locations. |
↳ saintdenis |
table |
Table of saintdenis 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. |
DefaultPublishers |
table |
Table of default publishers 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. |
DefaultEditionArticles |
3 |
Number for default edition articles (default 3). |
MaxArticleLength |
12000 |
Upper limit for max article length. |
MaxTitleLength |
255 |
Upper limit for max title length. |
MaxArchiveResults |
50 |
Upper limit for max archive results. |
MaxInvestigations |
100 |
Upper limit for max investigations. |
ActionCooldownMs |
350 |
Time setting for action cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Notes from the README#
# JRS Newspaper
A standalone newspaper system written for `jrs_core` + `jrs_inventory`, verified against `jrs_core v1.0.18`.
## Included systems
- Newspaper stands with NPCs, opening hours, blips and current-edition preview.
- Server-authoritative newspaper purchasing.
- Physical newspaper item with per-copy metadata, so old copies always open the exact edition they belong to.
- Three independent publishers: Saint Denis, Valentine and Blackwater.
- Journalist / Editor permissions from the live `jrs_core` job + grade, with optional core-admin editor access.
- Editorial Desk with draft creation, article editing, advertisements, page expansion and publication.
- Publishing archives the previous current issue automatically.
- Publisher name and cover price configuration by editors.
- Searchable archive with read and physical-copy actions.
- Investigation Board with assignments, status, priority, clues, notes, deadlines and resource requests.
- Editor approval / denial of investigation resource requests.
- Publisher revenue balance and transaction log.
- Revenue integration event for an optional society resource.
- Identity-gated player actions using `jrs_core:IsIdentityReady`.
- Core money/balance/job/grade/group/admin APIs are used directly and refreshed safely after a `jrs_core` restart.
- Character identity is checked through the core before every player-bound server action.
- Open newspaper UIs are force-closed on character unload, core job changes, and core restart so stale permissions cannot remain active.
- Restart-safe usable-item re-registration when `jrs_inventory` restarts.
## Requirements
- RedM
- `oxmysql`
- `jrs_core`
- `jrs_inventory`
Start order:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_newspaper
'''
## Installation
1. Put the folder in your resources as `jrs_newspaper`.
2. The resource auto-creates/updates its own tables from `sql/jrs_newspaper.sql` on start. You can also import it manually.
3. Copy your item image to the inventory image folder as `jrs_newspaper.png` if you want a custom icon.
4. Check the coordinates and jobs in `config.lua`.
5. Restart `jrs_inventory` once after importing the item row, then start `jrs_newspaper`.
## Default jobs
'''lua
[1] = { jobName = 'stdenisnews', editorGrade = 3, journalistGrade = 0 }
[2] = { jobName = 'valentinenews', editorGrade = 3, journalistGrade = 0 }
[3] = { jobName = 'blackwaternews', editorGrade = 3, journalistGrade = 0 }
'''Free (included in JRS Core) jrs_police
jrs_police - RedM police system with recruitment NPCs, rank kits, roster management, Steam admin, NUI and stable lifecycle
| Resource | jrs_police |
| Folder | [JOBS] |
| Version | 2.11.7 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 19,673 Lua lines |
Commands
/badge/badgehand/checkreputation/jail/policehorsestats/policemenu/showbadge
Exports
AddExecutionRecord, AddHonor, AddOption, ExtendCharacterSentence, GetCharacterHonor, GetHonor, GetHonorTier, GetJailedPlayers, GetPoliceRosterEntry, GrantPoliceWeaponLicense, HireOfficer, IsClothingBusy, IsOnDutyOfficer, JailPlayer, ReleaseCharacter, ReleasePlayer, RemoveFromPoliceRoster, RemoveHonor, RemoveOfficer, RemoveOption, RevokePoliceWeaponLicense, SetHonor, jrs_policejail
Database tables
jrs_communityservice, jrs_integrity, jrs_jail_police, jrs_police_journal, jrs_police_mdt, jrs_police_recruitment, jrs_police_roster, jrs_police_wanted
config/integrity.lua - 103 options#
Police recruitment/hiring itself is NOT duplicated here - jrs_police already
| Setting | Default | What it does |
|---|---|---|
Honor |
table |
Table of honor entries. Add, remove or edit entries following the examples in the file. |
↳ Default |
50 |
Number for default (default 50). |
↳ Minimum |
0 |
Minimum or level requirement for minimum. |
↳ Maximum |
100 |
Upper limit for maximum. |
↳ LowThreshold |
30 |
Number for low threshold (default 30). |
↳ ShowDuration |
5000 |
Time setting for show duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ ShowOnChange |
true |
Shows on change: true = yes, false = no (default true). |
HonorEvents |
table |
How everyday play moves honor. Values are signed amounts; 0 disables an entry. Honor is stored per character in jrs_integrity and survives relogs/restarts. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ PlayerKilled |
-10 |
murdered another player in PvP |
↳ Jailed |
-10 |
sent to jail (officer, admin or auto-jail after a kill) |
↳ SentenceServed |
3 |
sat out the full sentence instead of being released |
↳ WantedPublished |
-5 |
a wanted notice was posted on you while online |
↳ WantedPaidOff |
3 |
cleared your own wanted notice at the kiosk |
↳ Fined |
-3 |
received a police fine / ticket |
↳ QuestCompleted |
1 |
finished a jrs_randomquests mission |
↳ BountyCompleted |
2 |
completed a bounty mission and caught an outlaw |
↳ AnimalHunted |
1 |
base proportional gain for hunting an animal |
↳ AnimalSkinned |
2 |
base proportional gain for skinning/slaughtering an animal |
↳ FarmAnimalSlaughtered |
2 |
base proportional gain for farm animal slaughter |
↳ Passive |
table |
Slow recovery for staying out of trouble: +Amount every IntervalMinutes online while not jailed/wanted, only up to Cap (higher needs donations, cleaning duty or quests). Any honor loss restarts the timer. |
IntegrityCommands |
table |
Table of integrity commands entries. Add, remove or edit entries following the examples in the file. |
↳ Player |
"integrity" |
Setting for player. |
↳ OfficerCheck |
"checkhonor" |
Setting for officer check. |
↳ EnableAdminCommands |
true |
Turns admin commands on or off (default true). |
↳ AdminAce |
"jrs.integrity.admin" |
Who is allowed: jobs, groups or permissions for admin ace. |
↳ AdminIdentifiers |
table |
Who is allowed: jobs, groups or permissions for admin identifiers. |
↳ Add |
"addH" |
Setting for add. |
↳ Remove |
"delH" |
Setting for remove. |
↳ Set |
"setH" |
Setting for set. |
IntegritySecurity |
table |
Table of integrity security entries. Add, remove or edit entries following the examples in the file. |
↳ MaximumExternalChange |
100 |
Upper limit for maximum external change. |
↳ RequestCooldownMs |
500 |
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. |
↳ CrimeServerCooldownMs |
1500 |
Time setting for crime server cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Crime |
table |
Table of crime entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
↳ RestrictToZones |
false |
If false, killing an innocent human NPC anywhere on the map removes integrity (not just in town centers). |
↳ UseLegacyDetection |
true |
Per-frame detection is retained, but integrity is removed only after a confirmed NPC kill. |
↳ KillAimGraceMs |
350 |
Number for kill aim grace ms (default 350). |
↳ KillConfirmationWindowMs |
15000 |
Number for kill confirmation window ms (default 15000). |
↳ ShootingNpcPenalty |
2 |
Number for shooting npc penalty (default 2). |
↳ ClientCooldownMs |
1500 |
Time setting for client cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ ScanIntervalMs |
75 |
Time setting for scan interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ UseDamageEvent |
true |
Turns damage event on or off (default true). |
↳ AimGraceMs |
2500 |
Number for aim grace ms (default 2500). |
↳ RecentShotWindowMs |
2500 |
Number for recent shot window ms (default 2500). |
↳ DamageScanRadius |
120.0 |
Distance in game units that applies to damage scan radius. |
↳ HumanCacheRadius |
140.0 |
Distance in game units that applies to human cache radius. |
↳ HumanCacheIntervalMs |
200 |
Time setting for human cache interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AllowAllHumanNpcs |
true |
Allows all human npcs: true = yes, false = no (default true). |
↳ PenalizeAnimals |
false |
true: killing/shooting any non-player ped (humans or animals) removes integrity. false: only human NPCs remove integrity. |
↳ WitnessEnabled |
true |
Switch for witness enabled: true = on, false = off (default true). |
↳ WitnessRadius |
20.0 |
Distance in game units that applies to witness radius. |
↳ WitnessBlipDurationMs |
5000 |
Time setting for witness blip duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AllowedPedTypes |
table |
Game model or entity used for allowed ped types. |
LowHonorNpcAggression |
table |
Table of low honor npc aggression entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ CheckIntervalMs |
1000 |
Time setting for check interval ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AttackRadius |
10.0 |
Distance in game units that applies to attack radius. |
↳ RetargetCooldownMs |
3000 |
Time setting for retarget cooldown ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
IntegrityServices |
table |
Table of integrity services entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ PromptKey |
0x8CC9CD42 |
X / INPUT_CONTEXT_X |
↳ PromptHold |
true |
Switch for prompt hold: true = on, false = off (default true). |
↳ RequireServerDistanceValidation |
true |
Requires server distance validation: true = yes, false = no (default true). |
↳ ServerNpcValidationDistance |
7.0 |
Distance in game units that applies to server npc validation distance. |
↳ InteractDistance |
2.2 |
Distance in game units that applies to interact distance. |
↳ RequirePoliceJob |
false |
Requires police job: true = yes, false = no (default false). |
↳ PoliceJobs |
table |
Left empty on purpose: isPoliceJob() falls back to the live, already normalized OnDutyJobs global (shared/police_bridge.lua) instead of a snapshot taken before that normalization runs. |
↳ Donation |
table |
Table of donation entries. Add, remove or edit entries following the examples in the file. |
↳ Cleaning |
table |
Table of cleaning entries. Add, remove or edit entries following the examples in the file. |
↳ Stations |
table |
eight sheriff towns) a wanted board - see config/online.lua and config/wanted.lua. Coordinates are resolved below from the recruiter office list so the three features can never drift apart again. |
IntegrityCrimeZones |
table |
Town zones where shooting an ambient NPC removes integrity. |
IntegrityCheckAreas |
table |
Areas where low-integrity NPC aggression is active. |
IntegrityTexts |
table |
Table of integrity texts entries. Add, remove or edit entries following the examples in the file. |
↳ Title |
"السمعة والسلامة" |
Text shown to the player for title. Change it to translate or rebrand. |
↳ Current |
"مستوى السمعة الحالي: %s" |
Setting for current. |
↳ Increased |
"ارتفعت السمعة إلى %s" |
Setting for increased. |
↳ Decreased |
"انخفضت السمعة إلى %s" |
Setting for decreased. |
↳ CharacterNotReady |
"بيانات شخصيتك غير جاهزة بعد." |
Setting for character not ready. |
↳ NoPermission |
'ليس لديك صلاحية لاستخدام هذ... |
Who is allowed: jobs, groups or permissions for no permission. |
↳ InvalidCommand |
'الاستخدام: /%s [معرف اللاعب... |
Setting for invalid command. |
↳ InvalidSetCommand |
'الاستخدام: /%s [معرف اللاعب... |
Setting for invalid set command. |
↳ PlayerNotFound |
"اللاعب غير موجود." |
Setting for player not found. |
↳ DonationSuccess |
'تم قبول التبرع: $%s. ارتفعت... |
Setting for donation success. |
↳ NotEnoughMoney |
"ليس لديك مبلغ كافٍ للتبرع." |
Money value for not enough money. Rewards go through the economy multiplier of jrs_core. |
↳ DonationProcessingFailed |
'فشل معالجة التبرع، يرجى الم... |
Setting for donation processing failed. |
↳ IntegrityFull |
'مستوى سمعتك في الحد الأقصى ... |
Setting for integrity full. |
↳ DonationTooLarge |
'اختر مبلغ تبرع أصغر لتجنب ه... |
Setting for donation too large. |
↳ ServiceCooldown |
'يرجى الانتظار %s ثانية قبل ... |
Time setting for service cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CleaningStarted |
'بدأت مهمة تنظيف المدينة. تو... |
Setting for cleaning started. |
↳ CleaningInProgress |
"جاري التنظيف..." |
Setting for cleaning in progress. |
↳ CleaningProgress |
"تم تنظيف المنطقة: %s/%s." |
Setting for cleaning progress. |
↳ CleaningCompleted |
'اكتملت مهمة التنظيف. ارتفعت... |
Setting for cleaning completed. |
↳ CleaningCancelled |
"تم إلغاء مهمة التنظيف." |
Setting for cleaning cancelled. |
↳ CleaningAlreadyActive |
"لديك مهمة تنظيف نشطة بالفعل." |
Setting for cleaning already active. |
↳ CleaningNotActive |
"ليس لديك مهمة تنظيف نشطة." |
Setting for cleaning not active. |
↳ CleaningCooldown |
'ستكون مهمة التنظيف متاحة مج... |
Time setting for cleaning cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ CleaningInvalidLocation |
"أنت لست في موقع التنظيف الصحيح." |
World coordinates (x, y, z) used for cleaning invalid location. |
↳ MustBeOnFoot |
'يجب أن تكون مترجلاً لتنظيف ... |
Setting for must be on foot. |
↳ TooFarFromStation |
"اقترب أكثر من موظف المركز." |
Setting for too far from station. |
↳ PoliceOnly |
'هذه الخدمة مخصصة لرجال الشر... |
Setting for police only. |
config/main.lua - 32 options#
General
| Setting | Default | What it does |
|---|---|---|
Lang |
"Arabic" |
Live core settings only. Dead legacy UI/shop options were removed so every exposed value below has a runtime consumer. |
nameMenu |
"Police Menu" |
Text shown to the player for name menu. Change it to translate or rebrand. |
Menu_command |
"police" |
Setting for menu command. |
onduty_command |
"onduty" |
Setting for onduty command. |
offduty_command |
"offduty" |
Setting for offduty command. |
jailCommand |
"policejail" |
Setting for jail command. |
unjailCommand |
"policeunjail" |
Setting for unjail command. |
Start_outfit |
true |
Police uniforms are bundled. Restoring the civilian outfit can optionally use an external command; if the command is unavailable the script will fail safely and show a NUI warning instead of silently breaking. |
RestoreOutfitCommand |
"" |
Setting for restore outfit command. |
STATION BLIPS & STATUS SYSTEM
| Setting | Default | What it does |
|---|---|---|
StationBlips |
table |
Map blip or icon settings for station blips. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Key |
0x760A9C6F |
[G] key to toggle station status |
↳ RequireOnDuty |
false |
If false, officers of this department can toggle even if off-duty |
↳ ShowStatusInName |
true |
Appends [مفتوح] / [مغلق] to the blip label on the map |
↳ Scale |
0.8 |
Rate or multiplier for scale. |
↳ Locations |
table |
World coordinates (x, y, z) used for locations. |
Blips |
Config.StationBlips.Location... |
Map blip or icon settings for blips. |
blip |
Config.StationBlips.Location... |
Map blip or icon settings for blip. |
Key |
Config.StationBlips.Key |
Key or control used for key. Controls are hash values from the game input list. |
jrs_idcard |
true |
If you have this jrs_idcard script, you can activate the option. This option allows you to send information and images of the player you are looking for in the archive. |
IdCardDefaultImage |
'nui://jrs_police/html/img/p... |
Setting for id card default image. |
bank |
table |
Deposits collected fines into the jrs_banking personal account of the charidentifier configured below for the officer's city (Config.BankFine). Requires jrs_banking to be started. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
BankFine |
table |
Money value for bank fine. Rewards go through the economy multiplier of jrs_core. |
MenuKeybind |
"U" |
ConfigPoliceRadial.KeybindJS in config/police.lua. It never opens the MDT menu directly; the MDT is reached from inside the radial ("Records") or via the /police chat command. |
EnableMenuKey |
false |
Legacy PAGE UP raw-control hijack, kept disabled in favor of Config.MenuKeybind above. |
kyemenu |
0x446258B6 |
pgUP (only used when Config.EnableMenuKey is true) |
Limit |
table |
Upper limit for limit. |
↳ Money |
1000 |
Max amount of money that can be stolen (set to false for no limit) |
↳ Weapons |
1000 |
Max number of weapons that can be stolen (set to false for no limit) |
↳ Items |
1000 |
Max number of items that can be stolen (set to false for no limit) |
ItemsBlackList |
table |
Blacklist of items and weapons that cannot be stolen |
Paid (server only) jrs_polls
Polls and referendums: server polls by admins, city polls by governors (citizens vote), one vote per character
| Resource | jrs_polls |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | jrs team |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 335 Lua lines |
Database tables
jrs_poll_votes, jrs_polls
config.lua - 15 options#
General
| Setting | Default | What it does |
|---|---|---|
Command |
"polls" |
Setting for command. |
AdminGroups |
table |
Who is allowed: jobs, groups or permissions for admin groups. |
Cities |
table |
City ids exactly as in jrs_government's Config.Cities. A governor, deputy or owner of a city may open polls for that city; only its citizens vote. |
↳ valentine |
'Valentine', strawberry = 'S... |
Setting for valentine. |
↳ saintdenis |
'Saint Denis', annesburg = '... |
Setting for saintdenis. |
DeputiesCanCreate |
true |
Let deputies open city polls too. |
MaxQuestionLength |
150 |
Upper limit for max question length. |
MaxOptionLength |
60 |
Upper limit for max option length. |
MinOptions |
2 |
Minimum or level requirement for min options. |
MaxOptions |
6 |
Upper limit for max options. |
MinHours |
1 |
Minimum or level requirement for min hours. |
MaxHours |
168 |
Upper limit for max hours. |
MaxActivePerCity |
3 |
Upper limit for max active per city. |
ShowResultsBeforeVoting |
false |
false: you see the numbers after you vote (or when it closes) |
KeepClosedDays |
7 |
closed polls stay visible this long |
Paid (server only) jrs_publicjobs
JRS Public Jobs - Daily Labor & Work Activities
| Resource | jrs_publicjobs |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS Team |
| Depends on | jrs_core, jrs_inventory |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 2,210 Lua lines |
config.lua - 30 options#
General
| Setting | Default | What it does |
|---|---|---|
Align |
"top-left" |
align to menu |
Lang |
"ar" |
'en', 'ar' |
MaxSpeed |
1.5 |
number (Maximum walking speed while characters are carrying) |
InteractKey |
0x760A9C6F |
[G] key (standard non-conflicting interaction key) |
HoldDuration |
800 |
ms to hold prompt (avoids conflicts with other scripts) |
MULTIJOB SETTINGS
| Setting | Default | What it does |
|---|---|---|
JobName |
"publicjobs" |
Multijob internal identifier |
RequireJob |
true |
STRICT: Player MUST have 'publicjobs' active in multijob to start tasks! |
BonusForJobHolders |
1.25 |
25% bonus cash and XP |
LOCATIONS
| Setting | Default | What it does |
|---|---|---|
Locations |
table |
World coordinates (x, y, z) used for locations. |
KEYS
| Setting | Default | What it does |
|---|---|---|
Keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ InteractJob |
"INPUT_INTERACT_OPTION1" |
Who is allowed: jobs, groups or permissions for interact job. |
NAVIGATION COLORS
| Setting | Default | What it does |
|---|---|---|
NavigationColors |
table |
Table of navigation colors entries. Add, remove or edit entries following the examples in the file. |
↳ Blip |
"BLIP_MODIFIER_MP_COLOR_11" |
Map blip or icon settings for blip. |
↳ Route |
"COLOR_PLATFORM_GREEN" |
Setting for route. |
JOB SPECIFIC BLIPS & NAVIGATION
| Setting | Default | What it does |
|---|---|---|
JobBlips |
table |
Map blip or icon settings for job blips. |
↳ Labour |
table |
Table of labour entries. Add, remove or edit entries following the examples in the file. |
↳ Distribute |
table |
Table of distribute entries. Add, remove or edit entries following the examples in the file. |
↳ Sweep |
table |
Table of sweep entries. Add, remove or edit entries following the examples in the file. |
↳ Sharpen |
table |
Table of sharpen entries. Add, remove or edit entries following the examples in the file. |
↳ ChopWood |
table |
Table of chop wood entries. Add, remove or edit entries following the examples in the file. |
↳ WaterCarrying |
table |
Table of water carrying entries. Add, remove or edit entries following the examples in the file. |
PROGRESBAR
| Setting | Default | What it does |
|---|---|---|
ProgressBar |
table |
Table of progress bar entries. Add, remove or edit entries following the examples in the file. |
↳ type |
"innercircle" |
Setting for type. |
↳ color |
"#0A4F05" |
Setting for color. |
PUBLIC JOBS
| Setting | Default | What it does |
|---|---|---|
Labour |
table |
Table of labour entries. Add, remove or edit entries following the examples in the file. |
Distribute |
table |
Table of distribute entries. Add, remove or edit entries following the examples in the file. |
Sweep |
table |
Table of sweep entries. Add, remove or edit entries following the examples in the file. |
Sharpen |
table |
Table of sharpen entries. Add, remove or edit entries following the examples in the file. |
ChopWood |
table |
Table of chop wood entries. Add, remove or edit entries following the examples in the file. |
WaterCarrying |
table |
Table of water carrying entries. Add, remove or edit entries following the examples in the file. |
Free (included in JRS Core) jrs_railroad
JRS Core railroad - buy and run trains, companies, cargo, passengers and tickets
| Resource | jrs_railroad |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | en |
| Code size | 8,394 Lua lines |
Commands
/setjunction/trainpos/trainrobbery
Database tables
IF, railroad_companies, railroad_companies_owned, railroad_company_supplies, railroad_company_upgrades, railroad_employees, railroad_rewards, railroad_trains
Free (included in JRS Core) jrs_samples
JRS Core animal samples - sedate animals, collect samples, leaderboard and milestones
| Resource | jrs_samples |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | /onesync, jrs_core, oxmysql |
| Interface | No |
| Code size | 1,631 Lua lines |
Commands
/samplesmenu/setfeatured
Database tables
jrs_samples
config.lua - 24 options#
JRS SAMPLES — Configuration
| Setting | Default | What it does |
|---|---|---|
Language |
"en" |
'en' or 'ar' |
Debug
| Setting | Default | What it does |
|---|---|---|
DebugClient |
false |
Print client-side debug logs to F8 console |
DebugServer |
false |
Print server-side debug logs to server console |
Database
| Setting | Default | What it does |
|---|---|---|
AutoInstallDB |
true |
create the jrs_samples table automatically on resource start |
Sample Collection
| Setting | Default | What it does |
|---|---|---|
StoreSampleData |
true |
false = no DB writes; collections kept in memory until restart (testing only) |
SampleHoldTime |
4000 |
ms — how long to hold the prompt to collect |
AnimalCleanupTime |
90000 |
ms — how long before a sedated animal recovers (90s) |
SampleCooldown |
3000 |
ms — server-side minimum gap between a player's sample submissions (anti-spam/exploit) |
Leaderboard location (prompt)
| Setting | Default | What it does |
|---|---|---|
LeaderboardLocation |
table |
Place this sphere at a naturalist camp, doctor's office, or any RP-fitting location. Adjust coords and heading to match your map layout. |
↳ coords |
vector3(-280.45, 758.23, 118... |
Example: Valentine area — change to fit your server |
↳ heading |
180.0 |
Number for heading (default 180.0). |
↳ radius |
1.5 |
Distance in game units that applies to radius. |
Map Blip (shown at the leaderboard target location)
| Setting | Default | What it does |
|---|---|---|
ShowBlip |
true |
Set Config.ShowBlip = false to hide it entirely. BlipSprite / BlipColor accept RDR3 blip names (joaat'd automatically). |
BlipSprite |
"blip_shop_trapper" |
blip sprite name (or hash) |
BlipColor |
"BLIP_MODIFIER_MP_COLOR_8" |
blip colour modifier ('' = default) |
BlipScale |
0.2 |
Map blip or icon settings for blip scale. |
Milestone Rewards
| Setting | Default | What it does |
|---|---|---|
MilestoneRewards |
table |
When a player's personal total sample count hits a key, they receive bonus cash + notify. Keys must be integers (sample counts). Set to {} to disable milestones entirely. |
↳ 5 |
table |
Table of 5 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. |
↳ 25 |
table |
Table of 25 entries. Add, remove or edit entries following the examples in the file. |
↳ 50 |
table |
Table of 50 entries. Add, remove or edit entries following the examples in the file. |
First Discovery Bonus
| Setting | Default | What it does |
|---|---|---|
FirstDiscoveryBonus |
500 |
Extra cash awarded to the FIRST player EVER to collect a particular animal sample. Set to 0 to disable. |
Featured Animal
| Setting | Default | What it does |
|---|---|---|
FeaturedAnimal |
"" |
e.g. 'bear', 'moose', 'bison' — must match a name in hashToAnimalMap (server/main.lua) |
FeaturedMultiplier |
2 |
reward is multiplied by this when sampling the featured animal |
Free (included in JRS Core) jrs_smelting
JRS Core smelting - turn ore from jrs_mining into bars at smelters
| Resource | jrs_smelting |
| Folder | [JOBS] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core, jrs_inventory, jrs_progressbar |
| Interface | No |
| Code size | 1,023 Lua lines |
config.lua - 8 options#
General
| Setting | Default | What it does |
|---|---|---|
Language |
"en" |
'en' or 'ar' |
SpawnDistance |
50.0 |
smelter NPC appears inside this radius |
UseDistance |
2.5 |
prompt radius |
MaxBatch |
20 |
bars per smelt |
Job |
nil |
e.g. 'blacksmith' to lock smelting to one job (nil = everyone) |
Smelters |
table |
add more: { label, model, coords = vector4(x, y, z, heading), scenario, blip } |
BlipSprite |
"blip_shop_blacksmith" |
Map blip or icon settings for blip sprite. |
Recipes |
table |
Uses the items jrs_mining gives. time = ms per bar. |
Paid (server only) jrs_stashes
jrs core Stashes - purchasable and placeable shared stashes for jrs_core / jrs_inventory
| Resource | jrs_stashes |
| Folder | [JOBS] |
| Version | 1.4.1 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 2,652 Lua lines |
Exports
AdminRemovePropertyStash, BeginPropertyPlacement, CountPropertyStashes, CreatePropertyStashDirect, GetPropertyStashes, GetPropertyStashesDetailed, RefreshAccess, ReloadStashes, RemoveAllPropertyStashes, RemovePropertyStash, SetPropertyStashSingleSize, SetPropertyStashSize
Database tables
jrs_stashes
config/config.lua - 76 options#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
Commands |
table |
Table of commands entries. Add, remove or edit entries following the examples in the file. |
↳ Create |
"createstash" |
Setting for create. |
↳ Remove |
"removestash" |
Setting for remove. |
OpenKey |
0x0522B243 |
RedM controls used while standing near a stash. |
ManageKey |
0x5415BE48 |
Deprecated: stash management now opens from the same world prompt. |
Prompt |
table |
Native RedM prompt shown while standing near an accessible stash. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Text |
"Open Stash Menu" |
Text shown to the player for text. Change it to translate or rebrand. |
↳ GroupText |
"Stash" |
Who is allowed: jobs, groups or permissions for group text. |
↳ Hold |
false |
Switch for hold: true = on, false = off (default false). |
Object |
table |
Physical object spawned at every stash location. Model can be changed without touching client/server code. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Model |
"p_chest01x" |
Game model or entity used for model. |
↳ FallbackModels |
table |
Game model or entity used for fallback models. |
↳ SpawnDistance |
70.0 |
Distance in game units that applies to spawn distance. |
↳ DespawnDistance |
85.0 |
Distance in game units that applies to despawn distance. |
↳ ZOffset |
0.0 |
Number for z offset (default 0.0). |
↳ Freeze |
true |
Switch for freeze: true = on, false = off (default true). |
↳ Collision |
true |
Switch for collision: true = on, false = off (default true). |
PropertyStash |
table |
House stashes placed from the jrs_housing property menu. Count and capacity per house come from jrs_housing (Config.PropertyStashes); this is the prop. |
↳ Model |
"p_storagebox01x" |
Game model or entity used for model. |
↳ FallbackModels |
table |
Game model or entity used for fallback models. |
↳ Models |
table |
Available storage furniture models player can cycle through with [R]: |
↳ MinDistance |
1.5 |
House boxes may stand this close to another stash (several fit in one room). |
Move |
table |
Owner-only stash relocation & placement: matches housing furniture theme exactly. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ PreviewDistance |
1.3 |
Distance in game units that applies to preview distance. |
↳ PreviewAlpha |
170 |
Number for preview alpha (default 170). |
↳ RotateSpeed |
90.0 |
Number for rotate speed (default 90.0). |
↳ Keys |
table |
Key or control used for keys. Controls are hash values from the game input list. |
↳ ConfirmKey |
0x760A9C6F |
Key or control used for confirm key. Controls are hash values from the game input list. |
↳ CancelKey |
0x156F7119 |
Key or control used for cancel key. Controls are hash values from the game input list. |
↳ GroupText |
"House Stash" |
Who is allowed: jobs, groups or permissions for group text. |
↳ ConfirmText |
"Place Stash" |
Text shown to the player for confirm text. Change it to translate or rebrand. |
↳ CancelText |
"Cancel" |
Text shown to the player for cancel text. Change it to translate or rebrand. |
↳ NextText |
"Change Furniture" |
Text shown to the player for next text. Change it to translate or rebrand. |
↳ RotateText |
"Rotate" |
Text shown to the player for rotate text. Change it to translate or rebrand. |
↳ ServerConfirmDistance |
4.0 |
Distance in game units that applies to server confirm distance. |
InteractionDistance |
2.0 |
Distance in game units that applies to interaction distance. |
ServerInteractionDistance |
4.0 |
Distance in game units that applies to server interaction distance. |
RemoveDistance |
5.0 |
Distance in game units that applies to remove distance. |
MinimumStashDistance |
3.0 |
Distance in game units that applies to minimum stash distance. |
SyncDistance |
150.0 |
reserved for future scoped sync; current sync remains authoritative for all stashes. |
MaxStashUsers |
999 |
Upper limit for max stash users. |
MaxStorageSize |
1000000 |
Upper limit for max storage size. |
MaxPriceMoney |
100000000 |
Money value for max price money. Rewards go through the economy multiplier of jrs_core. |
MaxPriceGold |
1000000 |
Money value for max price gold. Rewards go through the economy multiplier of jrs_core. |
DepositRules |
table |
Controls what can be deposited into REDEMPIRE stashes. These rules apply to the owner and all authorized users and are enforced server-side. Normal items are always allowed; use per-user permissions to control who may deposit them |
↳ Money |
true |
cash |
↳ Gold |
true |
gold |
↳ DirtyMoney |
true |
dirty money |
↳ Weapons |
true |
weapons |
Blips |
table |
Map blip or icon settings for blips. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Sprite |
1151744703 |
Map blip or icon settings for sprite. |
↳ ForSaleLabel |
"Stash For Sale" |
Text shown to the player for for sale label. Change it to translate or rebrand. |
↳ OwnedLabel |
"Your Stash" |
Text shown to the player for owned label. Change it to translate or rebrand. |
↳ HouseStashes |
true |
House stashes (jrs_housing): shown to the owner and key holders. |
↳ HouseLabel |
"House Stash" |
Text shown to the player for house label. Change it to translate or rebrand. |
AdminGroups |
table |
jrs_core groups allowed to use /createstash and /removestash. |
↳ owner |
true |
Switch for owner: true = on, false = off (default true). |
↳ admin |
true |
Switch for admin: true = on, false = off (default true). |
AllowedIdentifiers |
table |
Optional explicit identifiers. Supports steam:, license:, fivem:, etc. |
Items |
table |
Usable items that create an already-owned stash at the player's position. |
↳ Create |
"" |
Setting for create. |
↳ Remove |
"" |
Setting for remove. |
↳ Ownership |
"" |
Setting for ownership. |
↳ Move |
"" |
Setting for move. |
↳ Deposit |
"" |
Money value for deposit. Rewards go through the economy multiplier of jrs_core. |
↳ Withdraw |
"" |
Setting for withdraw. |
↳ AllowCustom |
true |
Owners can add a per-stash Discord webhook from the management UI. |
Text |
table |
Text shown to the player for text. Change it to translate or rebrand. |
↳ Open |
"Open Stash" |
Setting for open. |
↳ Buy |
"Buy Stash" |
Setting for buy. |
↳ Manage |
"Manage Stash" |
Setting for manage. |
Notes from the README#
# jrs_stashes
REDEMPIRE-native stash system rebuilt for `jrs_core` + `jrs_inventory`.
## Features
- Admin `/createstash` UI: size, cash price, gold price.
- `/removestash <id>` with permission + distance validation.
- For-sale stash purchase using cash, gold, or free ownership.
- Owner management menu: add/remove authorized players and set a custom Discord webhook.
- `Stash1` / `Stash2` usable items create personal stashes using the configured capacity, optional cash/gold placement fee, and `DeleteOnUse` behavior.
- Opens the native `jrs_inventory` storage UI, so items, weapons, cash, gold and dirty money follow inventory config and security rules.
- Server-authoritative access, ownership, distance and purchase validation.
- Low-idle client loop with dynamic sleep.
- Optional blips for for-sale and owned stashes.
- Global and per-stash logs. Per-stash item movement logs require the included patched `jrs_inventory` build.
## Install
1. Import `sql/jrs_stashes.sql`.
2. Put `jrs_stashes` in resources.
3. Ensure start order:
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_stashes
'''
4. Configure admin groups / allowed identifiers and webhooks in `config.lua`.
## Inventory integration
Every stash maps to a storage key like `jrs_stash:12` and uses:
- `jrs_inventoryApi().createstorage`
- `jrs_inventoryApi().openstorage`
- `jrs_inventoryApi().updatestorage`
The included updated `jrs_inventory` emits a server-local `jrs_inventory:server:storageTransaction` event after successful storage transactions so custom stash
## v1.0.2
- Removed dependency on the table returned by `jrs_inventoryApi()`.
- Usable stash items now register through `jrsCore:registerUsableItem`, which is the server event implemented by `jrs_inventory`.
- Storage/item operations now call the direct `jrs_inventory` exports.
- Fixes startup error: `jrs_inventory usable-item API is unavailable`.
## v1.0.3 - Per-user stash permissions
- Every authorized stash user now has an individual access level:
- `deposit`: can put items/weapons/currencies into the stash but cannot take anything out.
- `withdraw`: can take items/weapons/currencies out but cannot put anything in.
- `full`: can deposit and withdraw.
- The stash owner always has `full` access and cannot be downgraded.
- Owners can choose the access level when adding a player and can change it later from the same management UI.
- Permission checks are server-authoritative and apply to items, weapons, cash, gold, and dirty money.
- Existing authorized users created before v1.0.3 automatically keep `full` access; no SQL migration is required.
- Requires the included `jrs_inventory` v1.6.7 permission-hook build for transfer enforcement.Paid (server only) jrs_train
| Resource | jrs_train |
| Folder | [JOBS] |
| Version | 2.5.3-jrs |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 8,062 Lua lines |
Commands
/-jrs_train_track_left/-jrs_train_track_right/jrs_train_menu/ticketgps
Exports
BacchusBridgeDestroyed, CheckIfTrainIsSpawned, FindNearestTicketBooth, ForceExitSitting, GetTrainEntity, PlayTrainWhistleSafe
Database tables
train
config/config.lua - 139 options#
General
| Setting | Default | What it does |
|---|---|---|
defaultlang |
"ar" |
Setting for defaultlang. |
Debug |
false |
Debug output for debug: true = yes, false = no (default false). |
ConductorJob |
"conductor" |
job title of who can spawn a train |
CruiseControl |
false |
set true if you want to allow cruise control |
TrainControls |
table |
Table of train controls entries. Add, remove or edit entries following the examples in the file. |
↳ OpenMenuKey |
"L" |
Labels shown in the NUI |
↳ TrackLeftKey |
"A" |
Key or control used for track left key. Controls are hash values from the game input list. |
↳ TrackRightKey |
"D" |
Key or control used for track right key. Controls are hash values from the game input list. |
↳ AccelerateKey |
"W" |
Key or control used for accelerate key. Controls are hash values from the game input list. |
↳ BrakeReverseKey |
"S" |
Key or control used for brake reverse key. Controls are hash values from the game input list. |
↳ RemapMovement |
true |
Remap the locomotive's native Left Shift / Left Ctrl controls to W / S. |
↳ OpenMenuControl |
0x80F28E95 |
Native RedM input hashes read from the keyboard. |
↳ TrackLeftControl |
0x7065027D |
Key or control used for track left control. Controls are hash values from the game input list. |
↳ TrackRightControl |
0xB4E465B4 |
Key or control used for track right control. Controls are hash values from the game input list. |
↳ AccelerateControl |
0x8FD015D8 |
W / INPUT_MOVE_UP_ONLY |
↳ BrakeReverseControl |
0xD27782E3 |
S / INPUT_MOVE_DOWN_ONLY |
↳ NativeAccelerateControl |
0x8FFC75D6 |
Left Shift / INPUT_SPRINT |
↳ NativeBrakeReverseControl |
0xDB096B85 |
Left Ctrl / INPUT_DUCK |
TrainPreview |
table |
Table of train preview entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ UseCurrentStation |
true |
preview the train on the current station track |
↳ Direction |
false |
Switch for direction: true = on, false = off (default false). |
↳ CameraDistance |
26.0 |
Distance in game units that applies to camera distance. |
↳ MinCameraDistance |
12.0 |
Distance in game units that applies to min camera distance. |
↳ MaxCameraDistance |
42.0 |
Distance in game units that applies to max camera distance. |
↳ CameraHeight |
5.4 |
Number for camera height (default 5.4). |
↳ LookAtHeight |
1.8 |
Number for look at height (default 1.8). |
↳ CameraFov |
38.0 |
Number for camera fov (default 38.0). |
↳ StartAngle |
90.0 |
Number for start angle (default 90.0). |
↳ RotateStep |
12.0 |
Number for rotate step (default 12.0). |
↳ ZoomStep |
2.5 |
Number for zoom step (default 2.5). |
↳ LoadTimeout |
15000 |
Time setting for load timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ Coords |
table |
Used only when UseCurrentStation is false. |
FuelSettings |
table |
Table of fuel settings entries. Add, remove or edit entries following the examples in the file. |
↳ TrainFuelItem |
"coal" |
db name of the item needed to fuel the train |
↳ TrainFuelItemDisplayName |
"Coal" |
display name of the item |
↳ TrainFuelItemAmount |
1 |
How many of the item it will take to fuel the train |
↳ FuelDecreaseTime |
30000 |
time in ms of how often the trains fuel goes down |
↳ FuelDecreaseAmount |
1 |
amount of fuel to decrease |
ConditionSettings |
table |
Table of condition settings entries. Add, remove or edit entries following the examples in the file. |
↳ TrainCondItem |
"trainoil" |
db name of the item needed to repair the train |
↳ TrainCondItemDisplayName |
"Train Oil" |
display name of the item |
↳ TrainCondItemAmount |
1 |
How many of the item it will take to repair the train |
↳ CondDecreaseTime |
30000 |
time in ms of how often the trains condition goes down |
↳ CondDecreaseAmount |
1 |
amount of cond to decrease |
PassengerJob |
table |
Who is allowed: jobs, groups or permissions for passenger job. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ KeepRoutesInRegion |
true |
keeps western and eastern rail networks separate |
↳ MinPassengers |
3 |
Minimum or level requirement for min passengers. |
↳ MaxPassengers |
6 |
Upper limit for max passengers. |
↳ StartRadius |
55.0 |
Distance in game units that applies to start radius. |
↳ ArrivalRadius |
45.0 |
Distance in game units that applies to arrival radius. |
↳ RequiredStopSpeed |
0.8 |
Number for required stop speed (default 0.8). |
↳ BoardingWalkTime |
3500 |
Number for boarding walk time (default 3500). |
↳ TurnaroundDelay |
8000 |
Time setting for turnaround delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ PedCleanupDelay |
12000 |
Time setting for ped cleanup delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ BasePay |
0.42 |
Server-side fare calculation |
↳ PayPerPassenger |
0.10 |
Money value for pay per passenger. Rewards go through the economy multiplier of jrs_core. |
↳ PayPerKilometer |
0.14 |
Money value for pay per kilometer. Rewards go through the economy multiplier of jrs_core. |
↳ MinimumTripTime |
20 |
Minimum or level requirement for minimum trip time. |
↳ PedModels |
table |
Game model or entity used for ped models. |
BacchusBridgeDestroying |
table |
Table of bacchus bridge destroying entries. Add, remove or edit entries following the examples in the file. |
↳ enabled |
true |
if true you will be able to blow up bacchus bridge! |
↳ coords |
table |
coords of where you have to place the dynamite |
↳ dynamiteItem |
"dynamite" |
db name of the dynamite item |
↳ dynamiteItemAmount |
2 |
amount needed to explode the bridge |
↳ explosionTimer |
30000 |
time before the explosion happens |
Trains |
table |
Table of trains entries. Add, remove or edit entries following the examples in the file. |
TrainDespawnDist |
200 |
the maximum dist the conductor can be before the train despawns |
StationBlipHash |
-1505442625 |
set the blip hash |
StationBlipColor |
"BLIP_MODIFIER_MP_COLOR_32" |
White (RDO standard) |
Stations |
table |
Table of stations entries. Add, remove or edit entries following the examples in the file. |
TicketBooth |
table |
Table of ticket booth entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Item |
"train_ticket" |
Inventory items used by item. Names must exist in the jrs_items table. |
↳ GeneralTicketPrice |
2.50 |
Money value for general ticket price. Rewards go through the economy multiplier of jrs_core. |
↳ ConsumeOnTrip |
true |
Switch for consume on trip: true = on, false = off (default true). |
↳ Blip |
table |
Map blip or icon settings for blip. |
↳ Destinations |
table |
Table of destinations entries. Add, remove or edit entries following the examples in the file. |
LargeTrain |
table |
Table of large train entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ RouteName |
"big_loop" |
Text shown to the player for route name. Change it to translate or rebrand. |
↳ AllowConductorTakeover |
true |
Allows conductor takeover: true = yes, false = no (default true). |
↳ WhistleOnArrival |
true |
Switch for whistle on arrival: true = on, false = off (default true). |
↳ WhistleOnDeparture |
true |
Switch for whistle on departure: true = on, false = off (default true). |
↳ StopDuration |
60 |
1 minute stop at every station |
↳ TicketCheckDistance |
15.0 |
Distance in game units that applies to ticket check distance. |
↳ Blip |
table |
Map blip or icon settings for blip. |
OnDemandTravel |
table |
Table of on demand travel entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ RequireTicketItem |
true |
If true, player MUST have a ticket item in inventory; if false, player can travel using ticket OR pay cash directly |
↳ RequireAtTicketBooth |
true |
Player MUST be standing at the station ticket booth window |
↳ MaxDistanceToTicketBooth |
3.5 |
Maximum meters from ticket window to initiate travel |
↳ AllowSkip |
false |
Disabled: [E] does not skip train journeys |
↳ RelocateHorse |
true |
Automatically move player's active horse to destination station |
↳ NotifyConductors |
true |
Send dispatch alert to online conductors |
↳ ConductorWaitTimeout |
10 |
Seconds before auto train departs if no conductor takes the dispatch |
↳ TrainApproachEnabled |
true |
Train approaches smoothly along tracks to the platform instead of spawning on player's face |
↳ TrainApproachSpeed |
10.0 |
Speed (m/s) when approaching platform |
↳ DepartureWaitSeconds |
6 |
Seconds train waits at destination platform after disembarkation before departing |
↳ DepartureDespawnDistance |
160.0 |
Distance (meters) train moves away before despawning cleanly |
↳ StationMasterNPC |
table |
Table of station master npc entries. Add, remove or edit entries following the examples in the file. |
TrainRobbery |
table |
Idea 1: Train Robbery / Safe Heist (Without AI bots) |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ MinimumPolice |
1 |
Minimum online lawmen required (police, sheriff, marshal) |
↳ CooldownMinutes |
30 |
Cooldown between robberies in minutes |
↳ ExplosionTimerSeconds |
25 |
Seconds after planting dynamite before the safe blows |
↳ RequiredItem |
"dynamite" |
Item required to breach the safe |
↳ MinCash |
150.0 |
Money value for min cash. Rewards go through the economy multiplier of jrs_core. |
↳ MaxCash |
400.0 |
Money value for max cash. Rewards go through the economy multiplier of jrs_core. |
↳ RewardItems |
table |
Money value for reward items. Rewards go through the economy multiplier of jrs_core. |
↳ CarriageIndex |
1 |
Baggage / freight car |
↳ LawJobs |
table |
Who is allowed: jobs, groups or permissions for law jobs. |
↳ BlipDuration |
60 |
Seconds the emergency police blip flashes on the map |
TrainFreightStash |
table |
Idea 2: Freight & Mail Cargo Stash |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ CarriageIndex |
1 |
Baggage car |
↳ Capacity |
500 |
Maximum storage limit in kg |
↳ StashId |
"train_freight_bigloop" |
Setting for stash id. |
DiningCar |
table |
Idea 4: Dining Car / Saloon Refreshments |
Paid (server only) jrs_truck
Network-safe custom truck shell for RedM using jrs_core and jrs_inventory
| Resource | jrs_truck |
| Folder | [JOBS] |
| Version | 2.9.1 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory |
| Interface | No |
| Languages | ar, en |
| Code size | 2,645 Lua lines |
config/config.lua - 130 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. |
↳ InventoryResource |
"jrs_inventory" |
Setting for inventory resource. |
↳ ItemName |
"truckr" |
Inventory items used by item name. Names must exist in the jrs_items table. |
↳ CloseInventoryOnUse |
true |
Switch for close inventory on use: true = on, false = off (default true). |
↳ RegistrationDelay |
1500 |
Time setting for registration delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ RegistrationAttempts |
20 |
Number for registration attempts (default 20). |
↳ RegistrationRetryDelay |
1000 |
Time setting for registration retry delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ NotificationDuration |
4000 |
Time setting for notification duration. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Network |
table |
Table of network entries. Add, remove or edit entries following the examples in the file. |
↳ EntityRegistrationTimeout |
1500 |
Time allowed for a created entity to receive a network object. |
↳ EntityRegistrationRetryDelay |
25 |
Time setting for entity registration retry delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Spawn |
table |
World coordinates (x, y, z) used for spawn. |
↳ BaseVehicleModel |
"coach4" |
Game model or entity used for base vehicle model. |
↳ BodyModel |
"f15078" |
Game model or entity used for body model. |
↳ WheelModel |
"f15078wheel" |
Game model or entity used for wheel model. |
↳ DistanceInFront |
4.0 |
Distance in game units that applies to distance in front. |
↳ HeightOffset |
0.15 |
Number for height offset (default 0.15). |
↳ ClearRadius |
3.0 |
Distance in game units that applies to clear radius. |
↳ WarpIntoDriverSeat |
false |
Switch for warp into driver seat: true = on, false = off (default false). |
↳ ModelLoadTimeout |
10000 |
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. |
↳ RegistrationDelay |
300 |
Time setting for registration delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ DefaultEngineState |
false |
Switch for default engine state: true = on, false = off (default false). |
↳ OneTruckPerPlayer |
true |
Switch for one truck per player: true = on, false = off (default true). |
BaseVehicleGuard |
table |
Table of base vehicle guard entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ DontAutoCreateDraftAnimals |
false |
Must remain false. RedM wagons need a draft animal for normal entry and driving. The horse is kept attached and made transparent instead of being deleted. |
↳ ForceDraftAnimalAutoCreation |
true |
Forces draft animal auto creation: true = yes, false = no (default true). |
↳ RequireDraftAnimal |
true |
Requires draft animal: true = yes, false = no (default true). |
↳ MinimumDraftAnimals |
1 |
Minimum or level requirement for minimum draft animals. |
↳ DraftHarnessSlots |
6 |
Upper limit for draft harness slots. |
↳ DraftAnimalSpawnTimeout |
3500 |
Time setting for draft animal spawn timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ DraftAnimalSpawnRetryDelay |
50 |
Time setting for draft animal spawn retry delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ HideBaseVehicle |
true |
Keep coach4 rendered but fully transparent. Do not use SetEntityVisible(false), because RedM may hide attached truck objects together with the parent. |
↳ BaseVehicleAlpha |
0 |
Number for base vehicle alpha (default 0). |
↳ HideDraftAnimals |
true |
Keep harness animals alive and attached for vehicle functionality. Using the visibility flag (not only alpha 0) also hides most reins/harness geometry. |
↳ UseDraftAnimalVisibilityFlag |
true |
Turns draft animal visibility flag on or off (default true). |
↳ DraftAnimalAlpha |
0 |
Game model or entity used for draft animal alpha. |
↳ HideDraftAnimalReins |
true |
Hides draft animal reins: true = yes, false = no (default true). |
↳ HarnessRopeGuard |
table |
Wagon harness traces are PHYSICS rope objects and are separate from the horse rein geometry handled by _HIDE_PED_REINS. Detect only ropes whose endpoints connect this coach/front area to its hidden draft animal. |
↳ DisableDraftAnimalCollision |
true |
The harness horse remains logically attached so native wagon controls work, but it must not create an invisible collision area in front of the truck. |
↳ CompletelyDisableDraftAnimalCollision |
true |
Switch for completely disable draft animal collision: true = on, false = off (default true). |
↳ KeepDraftAnimalPhysics |
true |
Switch for keep draft animal physics: true = on, false = off (default true). |
↳ PreventDraftAnimalRagdoll |
true |
Switch for prevent draft animal ragdoll: true = on, false = off (default true). |
↳ ProtectDraftAnimals |
true |
Switch for protect draft animals: true = on, false = off (default true). |
↳ RemoteScanInterval |
1000 |
Nearby network trucks are rescanned, then hidden at a faster interval. |
↳ VisibilityGuardInterval |
100 |
Time setting for visibility guard interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ LocalVisualGuardInterval |
50 |
Time setting for local visual guard interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Attachments |
table |
Table of attachments entries. Add, remove or edit entries following the examples in the file. |
↳ Body |
table |
Table of body entries. Add, remove or edit entries following the examples in the file. |
↳ Wheels |
table |
Table of wheels entries. Add, remove or edit entries following the examples in the file. |
↳ Lights |
table |
Table of lights entries. Add, remove or edit entries following the examples in the file. |
↳ Exhaust |
table |
Table of exhaust entries. Add, remove or edit entries following the examples in the file. |
↳ AudioAnchor |
table |
Table of audio anchor entries. Add, remove or edit entries following the examples in the file. |
DriverVisual |
table |
Table of driver visual entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ HideRealDriver |
true |
The real player must remain in coach4's driver seat so RedM keeps native wagon control. It is hidden locally and a visual clone is placed inside the truck cabin. |
↳ NetworkedClone |
false |
Switch for networked clone: true = on, false = off (default false). |
↳ EntryDelay |
650 |
Time setting for entry delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ RevealDelay |
100 |
Time setting for reveal delay. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ GuardInterval |
50 |
Time setting for guard interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AnimationLoadTimeout |
5000 |
Time setting for animation load timeout. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ AnimationDictionary |
"script_re@check_point@small_cart" |
Animation settings for animation dictionary. |
↳ AnimationName |
"int_loop_driver" |
Text shown to the player for animation name. Change it to translate or rebrand. |
↳ AnimationBlendIn |
8.0 |
Animation settings for animation blend in. |
↳ AnimationBlendOut |
1.0 |
Animation settings for animation blend out. |
↳ AnimationFlag |
1 |
Animation settings for animation flag. |
↳ AnimationPlaybackRate |
0.1 |
Animation settings for animation playback rate. |
↳ Offset |
vector3(-0.48, 0.17, 0.43) |
Driver position inside f15078. X is left/right, Y is front/back, Z is height. |
↳ Rotation |
vector3(20.0, 20.0, 0.0) |
Setting for rotation. |
Controls |
table |
Table of controls entries. Add, remove or edit entries following the examples in the file. |
↳ ToggleEngine |
0x8AAA0AD4 |
Left Alt |
↳ SteerLeft |
0x7065027D |
A |
↳ SteerRight |
0xB4E465B4 |
D |
↳ Brake |
0xD27782E3 |
S |
WheelAnimation |
table |
Animation settings for wheel animation. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ UpdateInterval |
20 |
Time setting for update interval. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MaximumSteerAngle |
30.0 |
Upper limit for maximum steer angle. |
↳ SteeringSmoothing |
7.0 |
Number for steering smoothing (default 7.0). |
↳ RotationMultiplier |
3.0 |
Rate or multiplier for rotation multiplier. |
Lock |
table |
Table of lock entries. Add, remove or edit entries following the examples in the file. |
↳ DefaultLocked |
true |
Switch for default locked: true = on, false = off (default true). |
↳ InteractionDistance |
8.0 |
Distance in game units that applies to interaction distance. |
↳ BlockNotificationCooldown |
2500 |
Time setting for block notification cooldown. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
Reset |
table |
Table of reset entries. Add, remove or edit entries following the examples in the file. |
↳ MaximumDistance |
8.0 |
Distance in game units that applies to maximum distance. |
↳ MaximumSpeed |
1.5 |
Upper limit for maximum speed. |
Speedometer |
table |
Table of speedometer entries. Add, remove or edit entries following the examples in the file. |
↳ Enabled |
true |
Turns enabled on or off (default true). |
↳ Unit |
"MPH" |
MPH or KMH |
↳ Position |
vector2(0.50, 0.91) |
World coordinates (x, y, z) used for position. |
↳ TextScale |
0.35 |
Text shown to the player for text scale. Change it to translate or rebrand. |
Commands |
table |
Table of commands entries. Add, remove or edit entries following the examples in the file. |
↳ Spawn |
table |
World coordinates (x, y, z) used for spawn. |
↳ Delete |
"deletetruck" |
Setting for delete. |
↳ Reset |
"resettruck" |
Setting for reset. |
↳ Lock |
"trucklock" |
Setting for lock. |
Audio |
table |
PMMS is optional. The truck works normally when this is disabled. Put reachable HTTP/HTTPS URLs below before enabling it. |
↳ Enabled |
false |
Turns enabled on or off (default false). |
↳ Resource |
"pmms" |
Setting for resource. |
↳ Volume |
0.25 |
Number for volume (default 0.25). |
↳ StartUrl |
"" |
Setting for start url. |
↳ IdleUrl |
"" |
Setting for idle url. |
↳ StopUrl |
"" |
Setting for stop url. |
↳ StartDurationMs |
3800 |
Time setting for start duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ IdleDurationSeconds |
30.0 |
Time setting for idle duration seconds. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ StopDurationMs |
2200 |
Time setting for stop duration ms. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ MaximumDistance |
35.0 |
Distance in game units that applies to maximum distance. |
Messages |
table |
Text shown to the player for messages. Change it to translate or rebrand. |
↳ Spawned |
"Truck spawned." |
Setting for spawned. |
↳ Deleted |
"Truck removed." |
Setting for deleted. |
↳ AlreadySpawning |
'Your truck is already being... |
Setting for already spawning. |
↳ SpawnFailed |
"The truck could not be spawned." |
World coordinates (x, y, z) used for spawn failed. |
↳ SpawnBlocked |
"The spawn area is blocked." |
World coordinates (x, y, z) used for spawn blocked. |
↳ MustBeOnFoot |
'You must be on foot to spaw... |
Setting for must be on foot. |
↳ MustBeAlive |
'You cannot spawn the truck ... |
Setting for must be alive. |
↳ NoTruck |
"You do not have an active truck." |
Setting for no truck. |
↳ TooFar |
"You are too far from your truck." |
Setting for too far. |
Notes from the README#
# jrs_truck 2.9.0
A rebuilt RedM truck resource for `jrs_core` and `jrs_inventory`.
## Main changes
- Removed teleport-based desync fixes.
- Removed explosions and unsafe anti-theft code.
- One active truck per player.
- Server-owned spawn registration and cleanup.
- Automatic cleanup when the player disconnects or the resource stops.
- Safe engine toggle, front lights, brake light, exhaust smoke, wheel animation and speedometer.
- Optional PMMS start/idle/stop audio with server-side ownership checks.
- Truck lock state uses OneSync state bags.
- Keeps the required draft horse attached so RedM allows normal wagon entry and driving.
- Makes the draft horse and its reins invisible instead of deleting or detaching it.
- Keeps the hidden base wagon and hidden horse transparent for all clients, including after entering water.
- Completely disables the hidden horse collision so the truck no longer has an invisible extension in front.
## Installation
1. Rename the folder to `jrs_truck`.
2. Run `install.sql`.
3. Copy `truckr.png` to the item image directory used by `jrs_inventory`.
4. Add this order to `server.cfg`:
'''cfg
ensure jrs_core
ensure jrs_inventory
ensure jrs_truck
'''
5. Give yourself the `truckr` item and use it.
## Commands
- `/deletetruck` removes your active truck.
- `/resettruck` places a nearby stopped truck upright.
- `/trucklock` locks or unlocks your active truck.
- `/spawntruck` is disabled by default and can be enabled in `config.lua` for testing.
## Controls
- `Left Alt`: start or stop the engine while sitting in the driver seat.
- Standard movement controls drive the base vehicle.
## Audio
PMMS audio is disabled by default because the original archive did not include the MP3 files.
Set reachable HTTP/HTTPS URLs in `Config.Audio` and set `Enabled = true` to use it.
## Notes
- OneSync must be enabled for network entity ownership and lock state bags.
- The driving control still comes from `coach4` and its hidden draft horse, while the horse collision is disabled.
- `Config.BaseVehicleGuard` controls water visibility protection and hidden draft-animal behavior.
- Body, wheel and light positions can be adjusted in `Config.Attachments`.
## 2.3 networking fix
- Checks `NETWORK_GET_ENTITY_IS_NETWORKED` before requesting a network ID.
- Registers entities through the RedM native hash when the Lua global is unavailable.Paid (server only) jrs_undertaker
Undertaker job (jrs_multijob
| Resource | jrs_undertaker |
| Folder | [JOBS] |
| Version | 1.0.1 |
| Author | jrs team |
| Depends on | jrs_core, jrs_inventory, oxmysql |
| Interface | No |
| Languages | ar, en |
| Code size | 571 Lua lines |
config.lua - 26 options#
General
| Setting | Default | What it does |
|---|---|---|
Job |
"undertaker" |
must be the character's ACTIVE job (jrs_multijob) |
Items |
table |
Inventory items used by items. Names must exist in the jrs_items table. |
↳ Body |
table |
Table of body entries. Add, remove or edit entries following the examples in the file. |
↳ Coffin |
table |
Table of coffin entries. Add, remove or edit entries following the examples in the file. |
ShovelItem |
"shovel" |
Inventory items used by shovel item. Names must exist in the jrs_items table. |
ShovelPrice |
3.0 |
undertakers can buy one at any parlour (no NPC store sells shovels) |
WrapPay |
2.0 |
per body collected |
ContractBonus |
4.0 |
extra for a body from a parlour contract |
BurialPay |
12.0 |
per burial |
JobXP |
table |
Who is allowed: jobs, groups or permissions for job xp. |
Offerings |
table |
Optional offerings placed in the coffin while preparing: the first one the player carries is used automatically and raises the burial pay, so keep this list to cheap consumables. Missing items are ignored at start. |
PrepareSeconds |
10 |
Number for prepare seconds (default 10). |
BurySeconds |
14 |
Number for bury seconds (default 14). |
WrapSeconds |
5 |
Number for wrap seconds (default 5). |
MaxBurialsPerHour |
10 |
Upper limit for max burials per hour. |
MaxWrapsPerHour |
12 |
Upper limit for max wraps per hour. |
Contract |
table |
Contract: a body is waiting somewhere around the parlour. |
↳ MinDistance |
250.0, MaxDistance = 600.0 |
Distance in game units that applies to min distance. |
↳ SpawnWhenWithin |
80.0 |
World coordinates (x, y, z) used for spawn when within. |
↳ ExpireMinutes |
20 |
Time setting for expire minutes. The unit (seconds, minutes or milliseconds) is usually in the option name or the comment of the neighbouring options. |
↳ Models |
table |
Game model or entity used for models. |
Parlours |
table |
Parlours: prep table (and contract desk). From the RDR2 undertaker shops. |
Graves |
table |
Cemeteries where a prepared coffin can be buried. |
GraveRadius |
8.0 |
Distance in game units that applies to grave radius. |
Blips |
table |
Map blip or icon settings for blips. |
Keys |
table |
G / E / B |