JRS COREDocumentação
Scripts

Character

16 scripts na pasta [CHARACTER]

Character creation, clothing, barber, metabolism, animations and everything that changes the player ped.

Esta pasta tem 16 scripts. Escolha um script nas abas abaixo.

Free (included in JRS Core)   jrs_3dme

JRS Core /me - roleplay text above your head

Resource jrs_3dme
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core
Interface No
Code size 906 linhas de Lua
config.lua - 8 opções#

General

Setting Default What it does
Language "en" 'en' or 'ar'
Command "me" Ajuste para command.
Color table Tabela de entradas de color. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
Duration 6000 ms the text stays
DisplayDistance 20.0 Distância em unidades do jogo para display distance.
MaxLength 120 Limite máximo para max length.
Cooldown 2 seconds between two /me
ChatCopy true also write it in the chat of nearby players

Free (included in JRS Core)   jrs_animations

A tool to define animations and use them in your scripts with an export

Resource jrs_animations
Folder [CHARACTER]
Version 1.0
Author JRS TEAM
Interface Yes (NUI)
Code size 504 linhas de Lua

Commands

  • /endanimation
  • /focus
  • /printcoords
  • /startanimation
  • /testanimation

Exports

initiate

config.lua - 16 opções#

General

Setting Default What it does
DevTools false Chave para dev tools: true = ligado, false = desligado (padrão false).
Animations table If you add new animations here, please consider raising a PR and sharing it with the community! :) Read through the README to see how to add new animations.
  ↳ craft table Default Animation
  ↳ spindlecook table Tabela de entradas de spindlecook. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ knifecooking table Tabela de entradas de knifecooking. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ campfire table Tabela de entradas de campfire. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ riverwash table Tabela de entradas de riverwash. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ hoeing table Tabela de entradas de hoeing. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ readnewspaper table Tabela de entradas de readnewspaper. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ gravedigging table Tabela de entradas de gravedigging. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ carry_box table Tabela de entradas de carry box. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ carry_sugar table Tabela de entradas de carry sugar. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ sweeping table Tabela de entradas de sweeping. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ carry_barrel table Tabela de entradas de carry barrel. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ carry_moonshine table Tabela de entradas de carry moonshine. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ carry_moonshine2 table Tabela de entradas de carry moonshine2. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.

Free (included in JRS Core)   jrs_attached_objects

JRS Core attached objects - wearable props from items (shield, arrow pouch, miner lamp)

Resource jrs_attached_objects
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core, jrs_inventory
Interface No
Code size 1,139 Lua lines
config.lua - 9 opções#

General

Setting Default What it does
Debug false Debug output for debug: true = sim, false = não (padrão false).
DeleteAllAttached table Tabela de entradas de delete all attached. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ Command "deleteallattachedprops" Ajuste para command.
  ↳ Description 'Execute this command to rem... Texto mostrado ao jogador para description. Altere para traduzir ou renomear.
DeleteAllOnPlayerRespawn true Clear all player ped attached objects - props if the player has been respawned (not revived).
AttachedItemSets table Itens de inventário usados por attached item sets. Os nomes precisam existir na tabela jrs_items.
  ↳ natives_backshield table ITEM NAME
  ↳ natives_arrow_pouch_bag table ITEM NAME
  ↳ miner_hat table ITEM NAME

Free (included in JRS Core)   jrs_barber

jrs core Barber - standalone barber and grooming system

Resource jrs_barber
Folder [CHARACTER]
Version 3.7.2
Author jrs team
Depends on /assetpacks, /assetpacks-redm, jrs_core, jrs_inventory
Interface Yes (NUI)
Languages ar, en
Code size 11,078 Lua lines

Exports

CaptureCurrentBarber, GetCharacterBarber, IsBarberBusy, OpenBarber, SetCharacterBarber

Database tables

jrs_appearance_legacy_backup, jrs_appearance_onboarding, jrs_barber, jrs_barber_preset

Notes from the README#
text
# jrs_barber 3.1.2
Standalone REDEMPIRE barber/grooming resource for RedM.
## Dependencies
- jrs_core
- jrs_inventory
- oxmysql
## Start order
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_inventory
ensure jrs_barber
'''
## Barber flow
1. The world prompt is shown only while the barber session is idle.
2. Holding the configured key hides the prompt immediately.
3. The resource finds the closest Rockstar barber-seat scenario.
4. If the chair has no scenario, a barber-seat scenario is attached to the closest supported barber-chair prop.
5. The player must finish sitting before any NUI/camera opens.
6. The chair scenario remains authoritative until Save/Close. Back navigation does not stand the player up.
7. No hairstyle is removed before the editor data is ready, so a failed callback can never leave the player bald.
## Main config
'''lua
BarberConfig.PromptKey = 0x760A9C6F
BarberConfig.PromptDistance = 2.2
BarberConfig.ChairAnimation = true
BarberConfig.RequireChairBeforeOpen = true
BarberConfig.ChairTimeout = 8000
BarberConfig.ChairSettleDelay = 700
'''
Run `sql/install.sql` once if the tables do not already exist.
## 3.1.1 paired release
- Barber logic is unchanged from 3.1.0; version aligned with the clothing weapon-layer fix package.
## 3.1.2 prompt description fix
- Native prompt title now follows the nearest configured barber shop.
- Prompt description is explicit and stable: Hair, beard & grooming.
- jrs_interactions receives the same description when used.
- Prompt remains hidden for the whole chair/editor session.

Free (included in JRS Core)   jrs_basemenu

JRS Core base menu - a simple player menu: who you are, your money, your jobs and the server links

Resource jrs_basemenu
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core
Interface No
Code size 925 linhas de Lua
config.lua - 5 opções#

General

Setting Default What it does
Language "en" 'en' or 'ar'
Command "menu" /menu opens the base menu
Key 0xA8E3F467 F1 opens it too. false = command only
ServerName "JRS Core" title of the menu
Links table Extra lines at the bottom of the menu (rules, discord, website ...). Leave empty for none. Picking a line shows its text as a notification.

Free (included in JRS Core)   jrs_canteen

JRS Core canteen - drink and refill at rivers and lakes

Resource jrs_canteen
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core, jrs_inventory
Interface No
Code size 258 linhas de Lua
config.lua - 38 opções#

General

Setting Default What it does
Language "en" 'en' or 'ar'
DrinkThirst 250 thirst gained per sip
RefillThirst 1000 thirst set to full when drinking straight from fresh water
DrinkTime 5000 ms the drinking animation lasts
RefillTime 8000 ms kneeling at the water to refill
CanteenItems table every canteen item (all usable)
Canteens table canteen item -> what it becomes after one sip (missing = empty, cannot drink)
  ↳ canteen100 "canteen75" Ajuste para canteen100.
  ↳ canteen75 "canteen50" Ajuste para canteen75.
  ↳ canteen50 "canteen25" Ajuste para canteen50.
  ↳ canteen25 "canteen0" Ajuste para canteen25.
FullCanteen "canteen100" Ajuste para full canteen.
EmptyCanteen "canteen0" Ajuste para empty canteen.
FreshWater table Fresh water you can refill from (salt water is excluded on purpose)
  ↳ -1504425495 "San Luis River" Ajuste para 1504425495.
  ↳ -1369817450 "Lake Don Julio" Ajuste para 1369817450.
  ↳ -1356490953 "Flat Iron Lake" Ajuste para 1356490953.
  ↳ -1781130443 "Upper Montana River" Ajuste para 1781130443.
  ↳ -1300497193 "Owanjila" Ajuste para 1300497193.
  ↳ -1276586360 "HawkEye Creek" Ajuste para 1276586360.
  ↳ -1410384421 "Little Creek River" Ajuste para 1410384421.
  ↳ 370072007 "Dakota River" Ajuste para 370072007.
  ↳ 650214731 "Beartooth Beck" Ajuste para 650214731.
  ↳ 592454541 "Lake Isabella" Ajuste para 592454541.
  ↳ -804804953 "Cattail Pond" Ajuste para 804804953.
  ↳ 1245451421 "Deadboot Creek" Ajuste para 1245451421.
  ↳ -218679770 "Spider Gorge" Ajuste para 218679770.
  ↳ -1817904483 "O'Creagh's Run" Ajuste para 1817904483.
  ↳ -811730579 "Moonstone Pond" Ajuste para 811730579.
  ↳ -1229593481 "Roanoke Valley" Ajuste para 1229593481.
  ↳ -105598602 "Elysian Pool" Ajuste para 105598602.
  ↳ -2040708515 "Lannahechee River" Ajuste para 2040708515.
  ↳ 231313522 "Creek" Ajuste para 231313522.
  ↳ 2005774838 "Creek" Ajuste para 2005774838.
  ↳ -1287619521 "Creek" Ajuste para 1287619521.
  ↳ -1308233316 "Creek" Ajuste para 1308233316.
  ↳ -196675805 "Creek" Ajuste para 196675805.
  ↳ -49694339 "Arroyo De La Vibora" Ajuste para 49694339.

Free (included in JRS Core)   jrs_character

jrs core Character System

Resource jrs_character
Folder [CHARACTER]
Version 4.2.52-jrs-service
Author jrs team
Depends on jrs_barber, jrs_clothing, jrs_core, jrs_inventory, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 25,558 Lua lines

Commands

  • /fixheight
  • /fixscale
  • /rc
  • /scale

Exports

AdminDeleteActiveCharacter, AdminOpenCharacterEditor, AdminOpenCharacterSelector, ApplyCachedPlayerScale, ApplyCharacterExpressions, ApplyNuiFocus, GetCachedExpressions, GetCachedPlayerScale, GetCharacterAge, GetCharacterAgeById, GetCurrentCharacterAge, IsCharacterGateActive, IsCharacterReady, IsReloadingCurrentCharacter, ReloadCurrentCharacter, RestoreCharacterAppearance, loading

Database tables

jrs_character_creator

config/config.lua - 90 opções#

General

Setting Default What it does
Debug false Debug output for debug: true = sim, false = não (padrão false).
AgingMode "playtime" In playtime mode, the character keeps the age calculated from the date of birth when it is created. Every HoursPerYear hours played with that specific character adds one year. Time is saved per character in the database.
HoursPerYear 24 reachable over a real character's active lifetime instead of never showing up. The previous value (100) needed 1200+ hours just to see the first grey hair.
AgingSaveIntervalMinutes 5 Ajuste de tempo para aging save interval minutes. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
MinimumAge 18 No character may be created younger than this. Enforced both client-side (immediate feedback in the creator) and server-side (authoritative).

Changing the year re-dates the whole server: every age is (WorldDate.year -

Setting Default What it does
WorldDate table birth year), so raising it ages everyone by the difference. Birth years are stored as entered and are never rewritten.
  ↳ year 1899 Número para year (padrão 1899).
  ↳ month 6 Número para month (padrão 6).
  ↳ day 1 Número para day (padrão 1).
EarliestBirthYear 1790 Nobody may claim to have been born before this. Purely a sanity bound for the creator's date picker and the server's validation; it also stops a birth year of 0001 producing an 1898-year-old character.
SpawnVitals table Character vitals applied after selecting or respawning a character. The creator changes the player model while loading appearance, and RedM can leave the new ped with the temporary selector ped's low health/stamina.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ FillHealth true Fill both the outer bars and the inner cores.
  ↳ FillHealthCore true Chave para fill health core: true = ligado, false = desligado (padrão true).
  ↳ FillStamina true Chave para fill stamina: true = ligado, false = desligado (padrão true).
  ↳ FillStaminaCore true Chave para fill stamina core: true = ligado, false = desligado (padrão true).
  ↳ Health 600 Número para health (padrão 600).
  ↳ HealthCore 100 Número para health core (padrão 100).
  ↳ Stamina 100.0 Número para stamina (padrão 100.0).
  ↳ StaminaCore 100 Número para stamina core (padrão 100).
  ↳ ReapplyDelaysMs table Repeat briefly because appearance/metabolism resources may finish loading during the first second after the ready event.
  ↳ ApplyOnCharacterSelect true Chave para apply on character select: true = ligado, false = desligado (padrão true).
  ↳ ApplyAfterDeathRespawn true Chave para apply after death respawn: true = ligado, false = desligado (padrão true).
  ↳ DeathRespawnAliveWaitMs 15000 Some death scripts fire their respawn event just before the replacement ped becomes alive. Wait only for a real living ped; never revive a corpse.
  ↳ DeathRespawnPollMs 100 Ajuste de tempo para death respawn poll ms. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
SpawnAnimation table Wake-up animation played when a living character enters the game world. It is skipped for characters that are still dead.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ Dictionary "script_rc@bch2@leadout@rsc_6" Ajuste para dictionary.
  ↳ Name "wakeup_slow_charles" Texto mostrado ao jogador para name. Altere para traduzir ou renomear.
  ↳ Duration -1 Ajuste de tempo para duration. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
  ↳ Flag 0 Número para flag (padrão 0).
  ↳ BlendInSpeed 1.0 Número para blend in speed (padrão 1.0).
  ↳ BlendOutSpeed 1.0 Número para blend out speed (padrão 1.0).
  ↳ LoadTimeoutMs 10000 Ajuste de tempo para load timeout ms. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
  ↳ ApplyOnCharacterSelect true Existing and newly-created characters both use the same final spawn path.
  ↳ ApplyAfterDeathRespawn true The built-in REDEMPIRE revive routes already use this wake-up animation too.
  ↳ WakeUpTimeMs 7000 Time the character spends in the sleeping/wake-up animation before controls are returned. Gives ample time for low-end PCs (slow HDDs/CPUs) to stream all textures, face and clothes.
  ↳ FadeInDelayMs 2000 Ajuste de tempo para fade in delay ms. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
  ↳ EnsureComponentsTimeoutMs 12000 Ajuste de tempo para ensure components timeout ms. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
SpawnBook table New-character city selection book. Each city can be enabled or disabled independently with Enabled = true/false. Keep at least one city enabled so a new character always has a valid spawn.
  ↳ Title "Choose Your Beginning" Texto mostrado ao jogador para title. Altere para traduzir ou renomear.
  ↳ Subtitle "Every trail begins somewhere." Ajuste para subtitle.
  ↳ SelectLabel "Begin in %s" Texto mostrado ao jogador para select label. Altere para traduzir ou renomear.
  ↳ PageLabel "Page %s of %s" Texto mostrado ao jogador para page label. Altere para traduzir ou renomear.
  ↳ Ar table Arabic copy for the book. Any field left out falls back to the English. Each city below carries its own Ar block the same way.
  ↳ PreviewWorld false The book already contains a city image for every page. Enable this only when you also want the game camera to move to the city while browsing.
  ↳ Cities table Tabela de entradas de cities. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
AgingEffects table Optional automatic visual and movement effects based on the character's playtime age. These effects are runtime-only: the player's original hair, beard and face selections are never overwritten in the database.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ PreviewInCharacterSelector true Show the automatic grey hair / wrinkles on selector preview peds too.
  ↳ RuntimeEnforcement table Some dependent resources reload the saved barber appearance immediately after the character-ready event. During this short window, verify the equipped hair tint and repair it without waiting for the playtime save.
  ↳ Hair table Each effect can be disabled independently.
  ↳ Beard table Tabela de entradas de beard. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ Wrinkles table Tabela de entradas de wrinkles. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ Movement table Tabela de entradas de movement. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ Stages table 160 = Aged Gray / Silver-White (رمادي مسنّ مشيب) 161 = Pure White (أبيض ناصع) Characters below age 50 keep their 100% natural chosen hair and beard color.
startScale true Chave para start scale: true = ligado, false = desligado (padrão true).
CharacterSwitch table Character re-selection is intentionally admin-only. Normal players have no command or keybind that can unload the active character.
  ↳ enabled false Liga ou desliga enabled (padrão false).
  ↳ command nil Ajuste para command.
  ↳ 1 table Tabela de entradas de 1. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
spawnGroups table Coordenadas do mundo (x, y, z) para spawn groups.
TimeToRespawn 50 Second
RespawnCoords table Ajuste de tempo para respawn coords. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
  ↳ 1 table Valentine
  ↳ 2 table Saint Denis
  ↳ 3 table Annesburg
  ↳ 4 table Strawberry
  ↳ 5 table Blackwater
  ↳ 6 table Armandillo
  ↳ 7 table Rhodes
  ↳ 8 table SnowLoc
  ↳ 9 table Guarma
  ↳ 10 table Fort Wallace
ModelNames table Modelo ou entidade do jogo usado para model names.
  ↳ male "mp_male" Ajuste para male.
  ↳ female "mp_female" Ajuste para female.
CreatorCam table Tabela de entradas de creator cam. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ heading -83.32 Número para heading (padrão -83.32).
  ↳ z 121.305 Número para z (padrão 121.305).
  ↳ zoom 50.0 Número para zoom (padrão 50.0).
  ↳ start table Tabela de entradas de start. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pitch -10.0 Número para pitch (padrão -10.0).
  ↳ rotateStep 6.0 Número para rotate step (padrão 6.0).
  ↳ zoomStep 5.0 Número para zoom step (padrão 5.0).
  ↳ zMin 119.100 Mínimo ou nível exigido para z min.
  ↳ zMax 123.300 Limite máximo para z max.
  ↳ zStep 0.05 Número para z step (padrão 0.05).
Creator table Integrated creator and selector settings.
UseCharSelectRoom true When true, uses the modern Moonshine Saloon interior (interior 78337) with preconfigured ped slots & lighting instead of outdoor spawnGroups
Notes from the README#
text
# jrs_character 3.1.2
Clean REDEMPIRE character lifecycle, selector, creator, clothing, barber, respawn, and playtime-aging resource.
This build contains the city spawn book and wake-up animation only; the experimental identity-card system is not included.
## Structure
'''text
jrs_character/
├── client/client.lua       # all client runtime logic
├── server/server.lua       # all server runtime logic
├── config.lua              # all editable configuration
├── data/client.lua         # large client-only asset tables
├── data/shared.lua         # shared character appearance defaults
├── ui/                     # NUI outside the old creator directory
├── sql/install.sql         # database installation / upgrades
└── fxmanifest.lua
'''
## Installation
1. Replace the previous `jrs_character` folder completely. Do not merge the old and new folders.
2. Import `sql/install.sql` once.
3. Ensure resources start in this order: `oxmysql`, `jrs_core`, `jrs_inventory`, `jrs_clothing`, `jrs_barber`, `jrs_character`.
4. Perform a full server restart.
## Compatibility
Event names and exports remain unchanged so existing REDEMPIRE resources continue to call the same APIs.
## New-character spawn book
New characters choose their first city from an open-book UI after finishing appearance and clothing.
Configure pages in `Config.SpawnBook.Cities`. Every city has an independent `Enabled = true/false` toggle, image, description, details, preview camera and final
Included pages: Valentine, Rhodes, Saint Denis, Blackwater, Armadillo and Strawberry.
## Spawn wake-up animation
Living characters play `wakeup_slow_charles` when they enter the game world. Configure or disable it under `Config.SpawnAnimation` in `config.lua`.
## Character Ready Gate (v3.1.4)
The character resource now owns a pre-character gate. While the selector, new-character creator, or final character spawn is still active:
- gameplay controls and the pause/ESC menu are blocked;
- HUD/radar are kept hidden;
- `LocalPlayer.state.jrsCharacterGate` is `true`;
- `LocalPlayer.state.jrsCharacterReady` is `false`.
Only after the selected/created character has finished model, body, clothing, barber, position and final spawn initialization does the resource publish:
- `LocalPlayer.state.jrsCharacterGate = false`
- `LocalPlayer.state.jrsCharacterReady = true`
- event: `jrs_character:gateChanged`
- export: `exports.jrs_character:IsCharacterReady()`
- export: `exports.jrs_character:IsCharacterGateActive()`
Other gameplay/UI resources should defer player-facing initialization until `jrsCharacterReady == true`. Required character dependencies still need to be starte

Free (included in JRS Core)   jrs_clothing

jrs core Clothing - standalone clothing and outfit system

Resource jrs_clothing
Folder [CHARACTER]
Version 3.10.8
Author jrs team
Depends on /assetpacks, /assetpacks-redm, jrs_core, jrs_inventory
Interface Yes (NUI)
Languages ar, en
Code size 18,055 Lua lines

Commands

  • /bodyfitdebug
  • /getnaked
  • /temptest
  • /testclothes
  • /undress

Exports

ApplyFallbackOutfit, CaptureCurrentClothes, EquipMultipleClothes, GetCharacterClothes, GetClothingInfo, GetEquippedCategories, GetEquippedClothing, GetInventoryClothingState, GetTemperatureProtection, IsBandanaEquipped, IsClothingBusy, IsClothingCategoryEquipped, IsPlayerNaked, NativeHasPedComponentLoaded, NativeUpdatePedVariation, OpenClothing, RemoveAllClothesExceptEssentials, RepairWeaponClothing, ResolveUniformClothes, RestorePlayerBodyMeshes, SetCharacterClothes, SetDoorLocksEnabled, SetMetaPedTag, SetNaked, SmartBodyFitPed, ToggleDoorLock, ToggleInventoryClothing, ToggleNaked, UpdateCustomClothes

Database tables

jrs_appearance_legacy_backup, jrs_appearance_onboarding, jrs_clothing_current, jrs_clothing_outfits, jrs_clothing_wearables

Notes from the README#
text
# REDEMPIRE update 3.1.3
Inventory integration casing + save-to-book-position flow.
# Jrs_clothing
Standalone clothing/outfit resource split from the unified appearance package.
Start order:
1. oxmysql
2. jrs_core
3. jrs_inventory
4. Jrs_clothing
Compatibility: provides `jrs_clothing` for resources that use the legacy lowercase dependency name.
## 2.5.0 category isolation + control layout
- Deterministic NUI/server callbacks (no busy-wait database callbacks).
- Strict tab/category isolation and duplicate-row protection.
- Final responsive layout override for 1080p/2K/4K.
- Split onboarding/database ownership and safer resource cleanup.
## 3.0.0 F1 wearable rebuild + stable compact layout
- F1 opens immediately with a loading row and never waits on SQL.
- Equipped clothing is refreshed from the server with a 650ms local fallback.
- F1 height now follows content; no large empty black panel.
- Wearable sliders send only on committed change to prevent NUI spam.
- Camera/context panels are always disabled in F1.
## 2.8.0 native color swatches + F1 camera cleanup
- Native Red Dead MetaPed tint picker uses exact 0-254 tint indices; 255 disables a channel.
- Components without a valid tint palette stay fixed and expose no color picker.
- Color selection is click-only (no continuous NUI slider spam).
- F1 wearable menu never creates or retains the shop camera/View Controls.
## 2.7.0 native colors + law clothing switch
- Native MetaPed tint controls use the equipped Red Dead palette/tint data instead of synthetic web colors.
- Items with no native tint palette stay fixed and do not expose color controls.
- Law-enforcement clothing is disabled by default through `ClothingConfig.LawClothing.Enabled = false`.
- Set `ClothingConfig.LawClothing.Enabled = true` and restart the resource to make law clothing available again.
- Law assets are filtered before the NUI list is built and blocked again on equip/save paths.
## 3.0.0 exact per-item Red Dead colors + smooth catalogue transition
- Removed the synthetic NUI rainbow completely.
- Color choices now come only from the selected model's real `assets.lua` variants.
- Items with one/no real variant do not show a color picker.
- Color chips are intentionally neutral; the game character is the authoritative live color preview.
- Catalogue transition fades while the book is visibly open, cleans the scene while black, then settles the fitting room before fading in.
## 3.0.2 clean release
- Clothing behavior from 3.0.0 retained unchanged in this clean paired release.
## 3.0.3 paired clean release
- Clothing logic is unchanged from the previous clean release; version aligned with Jrs_barber 3.0.3 for the paired package.
## 3.1.1 weapon-clothing / MetaPed layering fix
- Fixed `_REFRESH_META_PED_SHOP_ITEMS`: refresh mode is now always `1` instead of passing a category hash.
- Full outfits are rebuilt in deterministic layer order; weapon clothing is always applied last.

Paid (server only)   jrs_key

Radar peek key, horse sprint zones, and RDO-style loading screen

Resource jrs_key
Folder [CHARACTER]
Version 1.1.0
Author jrs team
Interface No
Languages ar, en
Code size 495 linhas de Lua

Exports

OpenAdmin

Database tables

IF

config/config.lua - 20 opções#

Everything this resource does is switched from here. Nothing is

Setting Default What it does
Enabled true Master switch. False leaves the resource loaded but completely inert.

Hides the minimap while the peek key is held, so the key that opens the

Setting Default What it does
Radar table jrs_core level display (TAB) does not fight the radar for screen space.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ ControlHash 0xAC4BD4F1 TAB / weapon wheel. Same hash jrs_core uses for its level peek, so the two stay in sync; change both together if you rebind.
  ↳ PollMs 50 How often the key is sampled, in ms. This is a radar toggle, not aiming: 50ms is imperceptible and costs a fraction of a per-frame loop.

The behaviour this resource is named for. Inside any zone below the player

Setting Default What it does
HorseSprint table cannot spur their horse into a sprint - useful for towns and camps. Zones are added at runtime from the admin menu and persisted server-side, so this list is only the built-in defaults.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ IdlePollMs 500 Sampling rate while OUTSIDE every zone. Raised deliberately: a player who is nowhere near a zone does not need a per-frame check.
  ↳ ActivePollMs 0 Sampling rate while INSIDE a zone, where the block has to be re-applied.
  ↳ Notify true Shown once when a player enters a zone.
  ↳ NotifyTextKey "notify_cannot_gallop" locale key, resolved with _U() at usage
  ↳ Zones table { x, y, z, radius, label }

Title/Subtitle/Footer are locale keys, resolved with _U() at usage.

Setting Default What it does
LoadingCommand table Tabela de entradas de loading command. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ Command "rdo_loading" Ajuste para command.
  ↳ TitleKey "loading_title" Tecla ou controle usado para title key. Os controles são valores hash da lista de entradas do jogo.
  ↳ SubtitleKey "loading_subtitle" Tecla ou controle usado para subtitle key. Os controles são valores hash da lista de entradas do jogo.
  ↳ FooterKey "loading_footer" Tecla ou controle usado para footer key. Os controles são valores hash da lista de entradas do jogo.
  ↳ HoldMs 5000 Número para hold ms (padrão 5000).
AdminKey "key" Admin menu key inside jrs_scriptadmin.

Paid (server only)   jrs_npc_outfits

jrs core NPC Outfits - copy NPC clothing into reusable inventory outfits

Resource jrs_npc_outfits
Folder [CHARACTER]
Version 1.1.0
Author jrs team
Depends on jrs_core, jrs_inventory
Interface Yes (NUI)
Languages ar, en
Code size 2,445 Lua lines

Commands

  • /npcexit
  • /npcoutfit
  • /npcoutfits
  • /npcoutfitsexit

Database tables

jrs_npc_outfit_catalog, jrs_npc_outfits

config/config.lua - 43 opções#

General

Setting Default What it does
Command "npcoutfits" Ajuste para command.
AllowAnyAdmin true When true, anyone who has permission in the admin menu can use it.
AllowedGroups table Quem pode: empregos, grupos ou permissões para allowed groups.
  ↳ admin true Chave para admin: true = ligado, false = desligado (padrão true).
  ↳ superadmin true Chave para superadmin: true = ligado, false = desligado (padrão true).
  ↳ owner true Chave para owner: true = ligado, false = desligado (padrão true).
  ↳ god true Chave para god: true = ligado, false = desligado (padrão true).
  ↳ dev true Chave para dev: true = ligado, false = desligado (padrão true).
  ↳ developer true Chave para developer: true = ligado, false = desligado (padrão true).
  ↳ headadmin true Chave para headadmin: true = ligado, false = desligado (padrão true).
  ↳ management true Chave para management: true = ligado, false = desligado (padrão true).
  ↳ highaccess true Chave para highaccess: true = ligado, false = desligado (padrão true).
  ↳ moderator true Chave para moderator: true = ligado, false = desligado (padrão true).
  ↳ mod true Chave para mod: true = ligado, false = desligado (padrão true).
  ↳ helper true Chave para helper: true = ligado, false = desligado (padrão true).
  ↳ support true Chave para support: true = ligado, false = desligado (padrão true).
  ↳ server_owner true Chave para server owner: true = ligado, false = desligado (padrão true).
  ↳ full_access true Chave para full access: true = ligado, false = desligado (padrão true).
  ↳ medium true Chave para medium: true = ligado, false = desligado (padrão true).
  ↳ few true Chave para few: true = ligado, false = desligado (padrão true).
PermissionDeniedMessage 'You do not have permission ... Quem pode: empregos, grupos ou permissões para permission denied message.
PermissionCacheMs 3000 Short cache only to avoid a database lookup for every NUI action.
ItemName "npc_outfit" Itens de inventário usados por item name. Os nomes precisam existir na tabela jrs_items.
ItemLabel "Copied NPC Outfit" Itens de inventário usados por item label. Os nomes precisam existir na tabela jrs_items.
ItemWeight 0.10 Limite máximo para item weight.
ItemCategory "clothes" Itens de inventário usados por item category. Os nomes precisam existir na tabela jrs_items.
MaxSavedOutfits 100 Limite máximo para max saved outfits.
MaxComponentsPerOutfit 64 Limite máximo para max components per outfit.
MaxPayloadBytes 48000 Limite máximo para max payload bytes.
CopyCooldownMs 1500 Ajuste de tempo para copy cooldown ms. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
NearbyRadius 80.0 Distância em unidades do jogo para nearby radius.
MaxNearbyPeds 80 Limite máximo para max nearby peds.
PreviewDistance 2.25 Distância em unidades do jogo para preview distance.
PreviewPresetMin 0 Mínimo ou nível exigido para preview preset min.
PreviewPresetMax 30 Limite máximo para preview preset max.
RequireSameGender true NPC clothing assets are gender-specific in many cases. Keeping this enabled prevents a male NPC outfit from damaging a female MP ped, and vice versa.
ConsumeOnUse false Saved outfits stay reusable. Using the inventory item does NOT consume it.
AutoInstallDatabase true Automatically creates/upgrades the resource tables and the inventory item row.
AutoInstallInventoryItem true Automatically handles install inventory item: true = sim, false = não (padrão true).
SeedCatalog table Tabela de entradas de seed catalog. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
ClothingCategories table Only clothing categories are copied. Head/body/hair/beard/eyes/teeth are intentionally excluded so the player's identity is not replaced by the NPC.
FitBodyMesh false NPC body meshes are intentionally never copied. Their UV/skin layout is model-specific and corrupts the character's hands and arms on MP peds.
BlockedCategories table Identity categories that must NEVER be copied or overwritten.
Notes from the README#
text
# jrs_npc_outfits
NPC clothing copier for `jrs_core` + `jrs_inventory`.
## What it does
- `/npcoutfits` opens the menu.
- **Nearby NPCs** shows every streamed human NPC in range and copies the exact outfit currently on that ped.
- **NPC Catalog** stores/displays discovered ped model names and lets you spawn a local preview.
- Preview outfit presets can be changed with `+ / -` before saving.
- The copier stores the NPC's MetaPed clothing asset data: drawable, albedo, normal, material, palette and tints.
- Head, body, hair, beard, eyes and teeth are intentionally excluded.
- Each captured outfit is saved in SQL and immediately creates one `npc_outfit` inventory item.
- The item is reusable and does not disappear when worn by default.
- **Saved Outfits** can make additional bag copies at any time.
- Existing bag copies keep working even if the owner removes the outfit from the Saved Outfits menu.
- Male/female mismatch is blocked by default with `Config.RequireSameGender = true`.
## Install
1. Put `jrs_npc_outfits` in your resources folder.
2. Add `ensure jrs_npc_outfits` after both `jrs_core` and `jrs_inventory`.
3. The script auto-creates its tables and item row by default.
4. If auto install is disabled or the item table insert fails, run `sql/install.sql` manually.
5. Restart `jrs_inventory`/server after first item install if your item table is cached at resource start.
## Inventory item
Item: `npc_outfit`
Metadata contains:
- `outfitId`
- `outfitName`
- `pedModel`
- `gender`
- `copiedNpcOutfit = true`
The full clothing payload stays in `jrs_npc_outfits`, so inventory metadata remains small.
## Catalog behavior
The resource does not need a giant hard-coded ped list. When the menu is opened it scans the currently streamed human NPCs, reads their archetype/model names, a
You can also add permanent seed models in `Config.SeedCatalog` or type any valid model name in the Manual Ped Model field.
## Notes
NPC-only clothing assets are not guaranteed by the game to fit every multiplayer body shape. The script avoids the largest source of broken characters by never 
## Admin-only access
The resource is protected server-side using the player's `jrs_core` permission group.
By default only the `admin` group can open the menu, copy NPC clothing, manage saved outfits, create bag copies, wear saved outfits, or use the `npc_outfit` inv
Configure allowed groups in `config.lua`:
'''lua
Config.AllowedGroups = {
    admin = true,
}
'''
## v1.0.2
- Fixed fullscreen black NUI on resource start/restart.

Free (included in JRS Core)   jrs_passports

JRS Core passports - register, renew and show identity papers

Resource jrs_passports
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core, jrs_inventory, oxmysql
Interface Yes (NUI)
Code size 1,932 Lua lines

Exports

IsBusy, OpenManagement

config.lua - 22 opções#

General

Setting Default What it does
DevMode false Chave para dev mode: true = ligado, false = desligado (padrão false).
Debug false Debug output for debug: true = sim, false = não (padrão false).
PromptKeys table Tecla ou controle usado para prompt keys. Os controles são valores hash da lista de entradas do jogo.
  ↳ REGISTER table Tabela de entradas de register. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ RETRIEVE table Tabela de entradas de retrieve. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ RENEW table Tabela de entradas de renew. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
Year 1890 Número para year (padrão 1890).
NPCRenderingSpawnDistance 20.0 The rendering distance for spawning / despawning the npcs.
PassportExpirationDays 90 @ExpirationDays : (time in days) - every 3 months by default, a passport will be expired automatically by the system.
PassportCosts table @param Retrieve : When player lost the passport and has to get it back by paying a cost. @param Renewal : To renew into a new expiring date your existing passport.
PassportItem "passport" To display the passport to yourself or the closest players by the @Distance parameter.
DisplayPassportCardDistance 2.0 Distância em unidades do jogo para display passport card distance.
AutomaticallyClosePassportDelayDuration 20 Time in seconds.
Society table (!) jrs_society IS REQUIRED IF YOU WANT THE REGISTRATION OR RETRIEVE COST MONEY TO BE ADDED ON A SOCIETY LEDGER ACCOUNT.
EnableRegistrationLocations true Set to false if you don't want the players to register a passport on locations.
Locations table Coordenadas do mundo (x, y, z) para locations.
  ↳ VALENTINE table Tabela de entradas de valentine. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ RHODES table Tabela de entradas de rhodes. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ BLACKWATER table Tabela de entradas de blackwater. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ CREATED_PASSPORT table When a passport has been created.
  ↳ RETRIEVED_PASSPORT table When a passport has been retrieved.
  ↳ RENEWED_PASSPORT table When a passport has been renewed.

Free (included in JRS Core)   jrs_playerinfo

JRS Core player info - /info shows your character, job and money

Resource jrs_playerinfo
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core, oxmysql
Interface No
Code size 164 linhas de Lua
config.lua - 12 opções#

General

Setting Default What it does
Language "en" 'en' or 'ar'
Command "info" Ajuste para command.
Align "top-right" Ajuste para align.
Cooldown 3 seconds between two /info
Show table rows shown in the menu
  ↳ job true Chave para job: true = ligado, false = desligado (padrão true).
  ↳ cash true Chave para cash: true = ligado, false = desligado (padrão true).
  ↳ gold true Chave para gold: true = ligado, false = desligado (padrão true).
  ↳ dirtyMoney true Chave para dirty money: true = ligado, false = desligado (padrão true).
  ↳ banks true one row per bank account (jrs_banking)
  ↳ charId true Chave para char id: true = ligado, false = desligado (padrão true).
  ↳ serverId true Chave para server id: true = ligado, false = desligado (padrão true).

Paid (server only)   jrs_tattoo

Standalone jrs core Tattoo - independent tattoo resource with jrs core barber-style UI

Resource jrs_tattoo
Folder [CHARACTER]
Version 2.1.2
Author jrs team
Depends on jrs_core, oxmysql
Interface Yes (NUI)
Languages ar, en
Code size 1,192 Lua lines

Exports

GetCharacterTattoos, GetCurrentTattoos, GetHeadTattoos, ReapplyTattoos, SetCharacterTattoos

Database tables

jrs_tattoo_characters

shared/config.lua - 34 opções#

General

Setting Default What it does
Framework "jrs_core" Standalone resource. It does not read or write jrs_barber data.
CommandEnabled true Chave para command enabled: true = ligado, false = desligado (padrão true).
Command "tattoo" Ajuste para command.
UseShopPrompts true Optional world prompt. The command still works when this is false.
PromptControl 0x760A9C6F G
PromptDistance 1.6 Distância em unidades do jogo para prompt distance.
DrawDistance 12.0 Distância em unidades do jogo para draw distance.
Shops table two G prompts stacked on the chairs and the tattoo group hid the barber one. They now sit elsewhere inside the same shop, 5m+ away from the barber point (barber prompt 2.2m + tattoo prompt 1.6m never overlap).
AvoidPoints table Safety net: never show the tattoo prompt inside these barber prompt areas, even if a shop point above is moved back near the chairs later. Local copy of the jrs_barber points (no cross-resource read).
Prices table Tattoo is style-only. No palette/tint/opacity controls are exposed.
  ↳ tattooPart1 1.0 Número para tattoo part1 (padrão 1.0).
  ↳ tattooPart2 1.0 Número para tattoo part2 (padrão 1.0).
  ↳ tattooChest 1.0 Número para tattoo chest (padrão 1.0).
  ↳ tattooBack 1.0 Número para tattoo back (padrão 1.0).
  ↳ tattooLeftArm 1.0 Número para tattoo left arm (padrão 1.0).
  ↳ tattooRightArm 1.0 Número para tattoo right arm (padrão 1.0).
  ↳ tattooLeftLeg 1.0 Número para tattoo left leg (padrão 1.0).
  ↳ tattooRightLeg 1.0 Número para tattoo right leg (padrão 1.0).
FullBody table components as a fallback. Their actual placement is determined by the UV baked into each texture; for precise custom placement replace the per-zone options in shared/tattoos.lua with body-UV-authored textures.
  ↳ Enabled true Liga ou desliga enabled (padrão true).
  ↳ ReuseIncludedTattooTextures true Chave para reuse included tattoo textures: true = ligado, false = desligado (padrão true).
PreviewUndress false We intentionally do NOT strip clothing automatically. jrs_tattoo remains independent and does not call jrs_character/jrs_barber to restore outfits.
AutoLoadDelay 800 Persistent loading after reconnect / character selection.
AutoLoadAttempts 20 Número para auto load attempts (padrão 20).
AutoLoadRetryDelay 600 Ajuste de tempo para auto load retry delay. A unidade (segundos, minutos ou milissegundos) costuma estar no nome da opção ou no comentário das opções vizinhas.
PersistentReapplyDelays table Tabela de entradas de persistent reapply delays. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
ReapplyAfterRevive true Chave para reapply after revive: true = ligado, false = desligado (padrão true).
CharacterAppearanceSettleMs 23000 Número para character appearance settle ms (padrão 23000).
Debug false Debug output for debug: true = sim, false = não (padrão false).
Camera table Base manual camera settings. Zone presets in shared/tattoos.lua override distance/height/rotation when the player changes tattoo region.
  ↳ distance 0.72 Distância em unidades do jogo para distance.
  ↳ height 0.00 Número para height (padrão 0.00).
  ↳ fov 40.0 Número para fov (padrão 40.0).
  ↳ rotation 180.0 Número para rotation (padrão 180.0).
Notes from the README#
text
# jrs_tattoo 2.1.0 - Standalone Full Body
Standalone RedM tattoo resource for REDEMPIRE.
## Independence
- No `jrs_barber` dependency or database access.
- Own table: `jrs_tattoo_characters`.
- Own UI, stream, config, client/server logic.
- Uses `jrs_core` only for active character ID/money and `oxmysql` for the tattoo table.
## Tattoo regions
The barber-style tattoo menu now has eight independent regions:
- Head
- Neck
- Chest
- Back
- Left Arm
- Right Arm
- Left Leg
- Right Leg
Each region is saved separately in the same JSON row for the active character. Camera focus changes automatically with the selected region. There are no palette
## Included textures
The 30 existing RedM-compatible tattoo textures are kept. Head and neck keep their original sets. Body regions expose the same included texture library as a fal
The broken converted FiveM pack that produced shirt/checker textures is not included.
## Persistence
All eight region values are stored in `jrs_tattoo_characters.tattoos` and reapplied after reconnect, character selection, appearance rebuilds, and revive. Exist
## Clothing preview
Automatic undressing is disabled by default (`Config.PreviewUndress = false`) to keep this resource independent and avoid modifying the player's saved outfit.
## Open
- `/tattoo`
- or G at configured tattoo shops.

Free (included in JRS Core)   jrs_usable_items

JRS Core usable items - pipes, cigars, cigarettes and pocket watches with animations

Resource jrs_usable_items
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core, jrs_inventory
Interface No
Code size 2,005 Lua lines
config.lua - 12 opções#

General

Setting Default What it does
Debug false Debug output for debug: true = sim, false = não (padrão false).
UsableItems table Itens de inventário usados por usable items. Os nomes precisam existir na tabela jrs_items.
  ↳ pipe table Tabela de entradas de pipe. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pipepeace table Tabela de entradas de pipepeace. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ cigar table Tabela de entradas de cigar. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ cigarette table Tabela de entradas de cigarette. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pocket_watch table [ POCKET WATCHES ] --
  ↳ pocket_watch_silver table Tabela de entradas de pocket watch silver. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pocket_watch_gold table Valor em dinheiro para pocket watch gold. As recompensas passam pelo multiplicador de economia do jrs_core.
  ↳ pocket_watch_platinum table Tabela de entradas de pocket watch platinum. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pocket_watch_antique table Tabela de entradas de pocket watch antique. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ pocket_watch_reutlinger table Tabela de entradas de pocket watch reutlinger. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.

Free (included in JRS Core)   jrs_walkanim

A Menu to set walkstyles for jrs core framework

Resource jrs_walkanim
Folder [CHARACTER]
Version 1.3
Author JRS TEAM
Interface No
Code size 349 linhas de Lua
config.lua - 6 opções#

General

Setting Default What it does
Align "top-left" Ajuste para align.
defaultlang "en_lang" Ajuste para defaultlang.
slowcommandSuggestion "JRSWalk style command to op... Ajuste para slowcommand suggestion.
slowWalkCommand "walkSlow" command for users to be able to walk slow. they cant run only jump
command "walkanim" command to open menu
walkanimsuggestion " JRSWalk style command to o... Ajuste para walkanimsuggestion.

Free (included in JRS Core)   jrs_water_actions

JRS Core water actions - wash and drink in rivers and lakes

Resource jrs_water_actions
Folder [CHARACTER]
Version 1.0.0
Author JRS TEAM
Depends on jrs_core
Interface No
Code size 914 linhas de Lua
config.lua - 17 opções#

General

Setting Default What it does
Language "en" 'en' or 'ar'
WashKey 0x760A9C6F G (hold)
DrinkKey 0xC7B5340A ENTER (hold)
Thirst 150 jrs_metabolism thirst gained per drink (0 - 1000)
DrinkTime 8000 Número para drink time (padrão 8000).
WashTime 7000 Número para wash time (padrão 7000).
ToggleCommand "toggleriver" hide / show the river prompts
SwampSickChance 60 Swamp water is dirty: chance to get sick when drinking it
SwampDamage 40 Número para swamp damage (padrão 40).
WaterTypes table Tabela de entradas de water types. Adicione, remova ou edite entradas seguindo os exemplos do arquivo.
  ↳ -247856387 'lake', [-1504425495] = 'ri... Ajuste para 247856387.
  ↳ -1781130443 'river', [-1300497193] = 'ri... Ajuste para 1781130443.
  ↳ 370072007 'river', [650214731] = 'ri... Ajuste para 370072007.
  ↳ 1245451421 'river', [-218679770] = 'ri... Ajuste para 1245451421.
  ↳ -1229593481 'river', [-105598602] = 'la... Ajuste para 1229593481.
  ↳ -2040708515 'river', [231313522] = 'ri... Ajuste para 2040708515.
  ↳ -1308233316 'river', [-196675805] = 'ri... Ajuste para 1308233316.
JRS Core · Framework RedM gratuito e de código aberto · feito pela JRS TEAM