Files
red-valley/docs/server_knowledge.md
Kotzu 89070f745b rv-props-tablet add + Loading Edit + qb-target
- rv-props: prop tableta custom cu logo-ul serverului (prop_rv_tablet)
- 17mov_JobCenter: trigger tableta custom cand playerul este la Job Center
- Loading Screen: logo 320px, texte in romana, accent rosu #cc1133, card info RV
- qb-target: punctul (eye) dublu ca size (8px→16px), hover text rosu #cc1133
- 17mov_JobCenter: GlobalColor #cc1133 (accent mai inchis)
- colors.css: tema Red Valley pe toate NUI-urile (accent, background alb transparent)
- docs: 17mov_Hud API reference complet, server knowledge update
2026-04-01 20:23:47 +03:00

25 KiB
Raw Blame History

Red Valley Roleplay — Server Knowledge Base

🔑 Quick Reference

Key Value
Server Name Red Valley Roleplay
Framework QBCore
Database MySQL (red-valley) via oxmysql
Character System 17mov_CharacterSystem v1.2.5
Admin Panel Luxu Admin
Inventory qs-inventory (Quasar)
Phone qs-smartphone-pro (Quasar)
Garages qs-advancedgarages v5.0.20 (Quasar)
Housing qs-housing (Quasar)
Vehicle Keys qs-vehiclekeys (Quasar)
Police Job wasabi_police v1.10.8 (Wasabi)
Ambulance Job wasabi_ambulance v1.14.2 (Wasabi)
Police MDT codem-mdt (CodeM)
Mechanic Job t1ger_mechanic
HUD 17mov_Hud
Voice pma-voice
Target System qb-target
Server Port 30110
Max Clients 8
Game Build 3570
Locale ro-RO
OneSync On (Infinity + Beyond)
phpMyAdmin http://localhost/phpmyadmin/

📁 Resource Structure

resources/
├── [cfx-default]/           # CFX default resources
├── [framework]/
│   ├── [core]/
│   │   ├── qb-core/         # QBCore framework
│   │   ├── qb-target/       # Target system
│   │   ├── qs-inventory/    # Quasar inventory
│   │   └── no-npc/          # Remove ambient NPCs
│   ├── [base]/
│   │   ├── [auth]/
│   │   │   ├── 17mov_CharacterSystem/   # Character select + creation
│   │   │   ├── 17mov-plugin-char-creator/ # Spawn outfit in creator
│   │   │   └── connectqueue/             # Queue system
│   │   ├── [ui]/
│   │   │   ├── 17mov_Hud/   # HUD system
│   │   │   └── rv-chat/     # ★ Custom RV chat (VPS only, lipsește din LOCAL — trebuie copiat)
│   │   └── [jobs]/
│   │       ├── 17mov_JobCenter/ # Job listing & apply (NUI, FXAP encrypted)
│   │       │   ├── Config.lua     # ★ Editable: jobs, blips, NUI settings
│   │       │   ├── bridge/qb/server/main.lua # ★ Editable: SetPlayerJob (license check here)
│   │       │   ├── bridge/qb/client/main.lua # ★ Editable: events, UI hooks
│   │       │   ├── server/utils.lua # ★ Editable: FormatMoney
│   │       │   └── client/utils.lua # ★ Editable: target system
│   │       ├── [citizen]/
│   │       │   ├── 17mov_GarbageCollector/  # Garbage job (★ license check in server/functions.lua)
│   │       │   ├── 17mov_Deliverer/        # Delivery job
│   │       │   ├── 17mov_Postman/          # Postman job
│   │       │   ├── 17mov_Lumberjack/       # Lumberjack job
│   │       │   └── aty_busjob/             # Bus driver job
│   │       └── [legal]/
│   │           ├── [police]/
│   │           │   ├── wasabi_police/  # Police job (provides qb-policejob)
│   │           │   ├── codem-mdt/     # Police MDT
│   │           │   ├── codem-dispatch/ # Dispatch alerts
│   │           │   └── codem-mdtProp/ # MDT prop
│   │           ├── [ambulance]/
│   │           │   └── wasabi_ambulance/ # Ambulance job (provides qb-ambulancejob)
│   │           ├── [mechanic]/
│   │           │   └── t1ger_mechanic/ # Mechanic job
│   │           └── [tuner]/
│   │               └── t1ger_tuningsystem/ # Tuning system
│   ├── [depends]/
│   │   ├── bob74_ipl/        # IPL loader v2.6.0 (interiors, DLC maps)
│   │   ├── ox_lib/           # Overextended lib
│   │   ├── PolyZone/         # Zone management
│   │   ├── progressbar/      # Progress bars
│   │   ├── screenshot-basic/ # Screenshots
│   │   ├── VehicleDeformation/ # Vehicle damage
│   │   ├── wasabi_bridge/    # Wasabi framework bridge
│   │   └── xsound/          # Sound system
│   └── [addons]/
│       ├── 0r_idcard/        # ID card system
│       ├── bit-driverschool/ # Driving school (licences in metadata.licences)
│       ├── rv-license-dialog/ # ★ RED VALLEY: NUI dialog permis de conducere
│       ├── qs-advancedgarages/ # Garages (Quasar)
│       ├── qs-housing/       # Housing (Quasar)
│       ├── qs-shops/         # Shops (Quasar)
│       ├── kq_* / [kq]/     # Kuzkay addons (LOCAL: scattered, VPS: grouped in [kq]/)
│       └── qb-weathersync/   # Weather & time
├── [stream]/
│   ├── [admin-outfit]/AdminPack/  # Admin clothing streaming
│   ├── [mlos]/               # Map interiors
│   │   ├── soloty-southside-custom/ # Mechanic shop MLO
│   │   ├── rfc_los_santos_customs/  # Los Santos Customs MLO
│   │   ├── cfx-fm-fleeca-banks-v2/  # Fleeca banks
│   │   ├── cfx-fm-mrpd/            # Mission Row PD
│   │   └── ...                      # + hospital, prison, gas stations, etc.
│   └── [vehs]/               # Custom vehicles
├── [voice]/
│   ├── pma-voice/            # Voice system
│   └── codem-radio/          # Radio system (VPS only — NU e pe LOCAL)
└── luxu_admin/               # Admin panel (top-level)

Load Order (resources.cfg)

[cfx-default] → ox_lib → [core] → [depends] → [voice] → [auth] → [ui] →
[jobs] → [addons] → rv-license-dialog → kq_carheist → [mlos] → [vehs] → minimap → phone-props →
[casino] → [stream] → luxu_admin → [weapons]

🎭 Character & Outfit System

Character Creation Flow

  1. Player connects → connectqueue (priority queue)
  2. 17mov_CharacterSystem → character select / create
  3. New charactercreator preset (DNA + Details only, 2 tabs)
  4. 17mov-plugin-char-creator → per-frame outfit loop on ped in creator (citizenid tracking)
  5. After save → ApplySpawnOutfit() → gender-specific default clothes
  6. SaveCurrentSkin → persist to DB (playerskins)

Skin Menu Presets

Context Preset Tabs Available
Character Creator creator DNA + Details (2 tabs)
Clothing Shop / Ambulance / Boss shop Details + Clothing + Accessories (3 tabs)
Admin /skin command skinCommand All 4 tabs

Spawn Outfit Defaults

  • Male: torso2=539/2, pants=200/2, arms=96/0, shoes=77/8, t-shirt=15/0
  • Female: torso2=583/1, pants=214/1, arms=18/0, shoes=81/10, t-shirt=15/0
  • No mask for either gender

Job Outfit System (pattern from mechanic)

  • ON dutySaveCurrentOutfit() saves civilian clothes → ApplyOutfit(jobOutfit) applies uniform
  • OFF dutyApplyOutfit(savedCivilOutfit) restores civilian clothes
  • Outfit data per job stored in 17mov_CharacterSystem/configs/Config.luaConfig.Outfits['JOBNAME']
  • Structure: [grade][outfitIndex]{outfitLabel, outfitData} for male and female
  • Workflow defined in .agents/workflows/job-outfit-setup.md
  • IMPORTANT: Outfits NU apar la clothing shop-uri publice — se afișează DOAR prin Config.ClothingRooms
  • ClothingRooms verifică job.name == v.requiredJob (stores.lua:285)
  • Wasabi cloakroom pe QBCore e HIDDEN automat ("WILL NOT SHOW IN QBCORE")

GTA Component IDs

Component 1  = mask          Component 5  = bag
Component 3  = arms          Component 6  = shoes
Component 4  = pants         Component 7  = accessory (neck)
Component 8  = t-shirt       Component 9  = vest
Component 11 = torso2        Prop 0 = hat, Prop 1 = glasses

🗄️ Key Cross-Resource Dependencies

Central File Resources That Depend On It
qb-core/shared/jobs.lua wasabi_police, wasabi_ambulance, codem-mdt, codem-dispatch, luxu_admin, t1ger_mechanic, qs-inventory
qb-core/shared/items.lua qs-inventory, qs-shops, wasabi_police (bobby_pin, tracking_bracelet, handcuffs)
qb-core/server/events.lua All QBCore resources
ox_lib/locales/ro.json All translated notifications
17mov_CharacterSystem/configs/Bridge.lua Bridge selections: clothing, apartments, housing
17mov_CharacterSystem/configs/Config.lua t1ger_mechanic (outfit system), wasabi_police (outfit system)
wasabi_bridge/ wasabi_police, wasabi_ambulance
resources.cfg Ensure order — ensure [jobs] loads all legal jobs

Bridge Configuration (17mov_CharacterSystem/configs/Bridge.lua)

  • Config.Housing = "standalone" (qs-housing not auto-detected)
  • Config.Apartments = "standalone"
  • Clothing bridge: qb-clothing

🔔 Notification System

  • Standard: 17mov_Hud native notifications
    exports['17mov_Hud']:ShowNotification(message, type)
    
  • Previous systems migrated from: qs-notify, codem-notification, jg-hud

🛡️ Admin & Permissions

Admin Identifiers

FiveM ID Name Permissions
fivem:44269 Kotzu group.admin
fivem:6428737 cata group.admin + qbcore.god
steam:11000013f508340 rausse group.admin + qbcore.god
fivem:16062886 kotzu pc group.admin + qbcore.god

Permission Hierarchy

qbcore.god → group.admin → qbcore.admin → qbcore.mod

Luxu Admin

  • API Key configured in server.cfg
  • Web panel with outfit system (Clone Yourself feature)
  • set luxu_admin_api_key in server.cfg

📦 Database Notes

  • DB Name: red-valley
  • Connection: server=127.0.0.1;database=red-valley;userid=root; (via oxmysql)
  • Character Delete (qb-core/server/player.lua): Many default tables commented out (apartments, bank_accounts, crypto_transactions, phone_invoices, phone_messages, player_contacts, player_houses, player_mails) — only players, playerskins, player_outfits, player_vehicles active
  • ⚠️ PENDING: crypto_history table has ~2,343 rows causing oversized queries — needs periodic cleanup or LIMIT

Pending Tasks (from changelog)

  • wasabi_police install: Copiat din _preLoad, jail='rcore', items adăugate în qs-inventory
  • wasabi_ambulance: Deja pe server (v1.14.2)
  • wasabi_police config review: Eliminat 'reporter' din policeJobs, confirmat cloakroom QBCore=17mov (2026-03-29)
  • wasabi_police outfit: Config.Outfits['police'] EXISTA DEJA în 17mov (grade 0-4, male+female, 5 variante) (2026-03-29)
  • Synapse Map update: wasabi_police + wasabi_ambulance nodes + conexiuni (2026-03-29)
  • t1ger_tuningsystem debug: Eliminat 6× console.log din NUI JS web/assets/index-DkGtvbUP.js (2026-03-29)
  • License Check NUI Custom: Resursa rv-license-dialog cu NUI custom matching tema Job Center (bg #0D0F11, accent #ff1a35, border #121416). Backup ox_lib comentat în codul bridge/client. Ensure adăugat în resources.cfg.
  • License Check Server Logic: Verificare metadata.licences.driver în Job Center (bridge/qb/server/main.lua) + GarbageCollector (server/functions.lua). Joburi blocate: garbage, deliverer, postman, lumberjack, bus.
  • License Check Replicare: Adaugă check permis în IsHaveRequiredItem() la Deliverer, Postman, Lumberjack, Busjob (aceeași structură ca GarbageCollector)
  • Webhooks qs-smartphone-pro: configure in server/custom/webhooks/webhooks.lua
  • Webhooks qs-advancedgarages: configure in server/custom/misc/*.lua
  • oxmysql oversized query: crypto_history cleanup (DELETE rows older than 7 days)
  • Version updates: qs-inventory 3.7.16→3.7.17, qs-vehiclekeys 4.0.13→4.0.29, t1ger_mechanic 3.6.7→3.6.9
  • Admin outfit setup: Configure Luxu panel Clone Yourself + test outfit stack
  • Admin jacket blacklist: Add in Skin.BlacklistedInputValues
  • spawn_mask item: Custom usable item (mask 134/2 male, 134/3 female)
  • Copiat rv-chat din VPS → LOCAL: _preLoad/server-v2-main/resources/[framework]/[base]/[ui]/rv-chat/resources/[framework]/[base]/[ui]/rv-chat/
  • Copiat codem-radio din VPS → LOCAL: _preLoad/server-v2-main/resources/[voice]/codem-radio/
  • Sincronizare VPS: Upload rv-license-dialog/ + ensure line + modificări JobCenter/GarbageCollector pe VPS
  • qs-inventory update: Portal v3.7.17 → LOCAL (merge safe: păstrează shared/items.lua, config/*, html/images/*, client/custom/**, server/custom/**)
  • KQ plugins path unify: Pe VPS sunt în [kq]/, pe LOCAL direct în [addons]/ — de unificat

📋 Quasar Resources Documentation Status

Resource Status
qs-inventory Documented (docs/qs_inventory_reference.md)
qs-housing ⚠️ Partial
qs-advancedgarages Not documented
qs-shops Not documented
qs-smartphone-pro Not documented
qs-vehiclekeys Not documented

🔧 Useful Commands & Exports

qs-inventory (Server)

exports['qs-inventory']:AddItem(source, item, amount, slot, info)
exports['qs-inventory']:RemoveItem(source, item, amount, slot)
exports['qs-inventory']:GetInventory(source)
exports['qs-inventory']:RegisterStash(id, slots, weight)

Admin Commands

  • /getoutfit — Print clothing component IDs (from t1ger_mechanic/getoutfit.lua)
  • /skin — Open full skin menu (all 4 tabs, skinCommand preset)

🖥️ Server Start (din IDE terminal)

# Pornire server simplu
cmd /c "e:\FiveMserver\server\start.bat"
  • CWD: e:\FiveMserver\server
  • start.bat v2.0 = launcher compact (RED VALLEY header, [OK] checks, separator =======)
  • Console Wrapper Demo: console_demo.ps1 — ANSI Shadow banner, loading bar, categorized output
  • Console Template: docs/console_display_template.md — full display spec + char mappings
  • Next: start_console.ps1 — real wrapper (pipes start.bat → filtered display)
  • Stop: Ctrl+C → apoi tastezi quit în consolă
  • Artifact: E:\FiveMserver\server\artifacts\FXServer.exe
  • IMPORTANT: Nu porni serverul de mai multe ori — verifică cu Get-Process FXServer înainte

🔇 Console Cleanup History

Resursă Fix Metodă
t1ger_mechanic DETECTED SYSTEMS/GARAGE/KEYS Comentat print-uri (bridge/init.lua)
t1ger_tuningsystem 6× console.log NUI Eliminat din web/assets
t1ger_tuningsystem has mechanic system Comentat print (shared/config.lua:258)
rcore_casino [Casino] Framework/drunk Print filter override (const.lua)
pma-voice Starting/finished init Comentat print-uri (client/init/init.lua)
qs-inventory jobs_creator warning Comentat Warning() (jaksam.lua:5)
qs-vehiclekeys Debug prints Config.Debug = false (deja setat)
bit-driverschool 5× outdated warning Comentat version.lua din fxmanifest
17mov_CharacterSystem ASCII banner + changelog Config: DisplayAsciiArt/Changelog/Files = false
cfx-gabz-mapdata Parse error ⚠️ Nerezolvabil (compiled bytecode)

📂 Key File Locations

Purpose Path
Server config server.cfg
Resource load order resources.cfg
QBCore jobs resources/[framework]/[core]/qb-core/shared/jobs.lua
QBCore items resources/[framework]/[core]/qb-core/shared/items.lua
Character system resources/[framework]/[base]/[auth]/17mov_CharacterSystem/
Skin presets 17mov_CharacterSystem/configs/Skin.lua
Job outfits config 17mov_CharacterSystem/configs/Config.lua
Bridge config 17mov_CharacterSystem/configs/Bridge.lua
HUD config resources/[framework]/[base]/[ui]/17mov_Hud/Config.lua
Mechanic job resources/[framework]/[base]/[jobs]/[legal]/[mechanic]/t1ger_mechanic/
Police job resources/[framework]/[base]/[jobs]/[legal]/[police]/wasabi_police/
Ambulance job resources/[framework]/[base]/[jobs]/[legal]/[ambulance]/wasabi_ambulance/
Police MDT resources/[framework]/[base]/[jobs]/[legal]/[police]/codem-mdt/
Dispatch resources/[framework]/[base]/[jobs]/[legal]/[police]/codem-dispatch/
Changelog changelog.md
Cross-resource tracking cross_resource_modifications.md
DB SQL dump red-valley.sql (430KB)
Server start script start.bat
Pre-load assets _preLoad/
Cfx.re catalog docs/cfx_assets_catalog.md (142 assets total)
Resource comparison docs/resource_comparison.md (LOCAL vs VPS diff)
NUI Simulator nui-simulator/ (Node.js standalone, node server.js --open, port 3200)
VPS backup _preLoad/server-v2-main/resources/ (snapshot producție)

🚗 Cfx.re Assets Overview (142 total)

Key devTeams: Quasar Store, ak4y, Malizniakk (17mov), T1GER, Kuzkay, rcore, wasabirobby, ThaC (CodeM), Eichenholz (sky_), OnexScripts, Gabz, 0Resmondev

Notable assets on server:

  • 17mov Character System, 17mov Hud, 17mov multiplayer jobs (12+)
  • T1GER Mechanic System, Tuning System, Car Lift, Prop Pack
  • Quasar: Inventory, Housing, Garages, Shops, Smartphone PRO, Vehicle Keys, Banking, Fuel, etc.
  • Wasabi: Police, Ambulance, Bridge, Evidence, Crutch
  • rcore: Casino, Prison, Doorlock, Tattoos, Clothes, Fuel, Stats, Shortcuts
  • Luxu Admin
  • Various MLO packs (Gabz PDM, MRPD, Vespucci LSPD, Fleeca Banks)

📜 Changelog Summary (reverse chronological)

Date Focus
2026-03-30 NUI Simulator standalone (Node.js), Resource comparison LOCAL vs VPS (raport complet), qs-inventory item icons sync (7 imagini VPS→LOCAL), rv-chat descoperit pe VPS (lipsește local)
2026-03-29 wasabi_police install + config review, console cleanup (10 resurse), start.bat v2.0, bit-driverschool fix, 17mov banner off, bob74_ipl v2.6.0, Synapse Map, License Check system (Job Center + GarbageCollector), rv-license-dialog NUI
2026-03-28 Driving School integration, ID Card notifications, Weather sync
2026-03-27 Spawn Outfit System, Character Delete fix, Skin presets, Char Creator plugin
2026-03-04 Mechanic Job Outfit System (auto-equip on duty)
2026-03-03 Mechanic Garage & Keys, 6 Bug Fixes, 17mov update v1.2.4→v1.2.5
2026-03-02 Server Architecture Research, Cfx.re Audit, Admin Outfit Research
2026-03-01 HUD Migration (jg-hud→17mov), Luxu Admin update, No-NPC, QBCore updates
2026-02-27 Luxu Admin install, rv-mdt creation, BMW M3 F80, QBCore server events refactor
2026-02-19 Remove mChat, resource updates
2026-02-17 QS-Inventory core update
2026-02-02 Remove codem-pausemenu, vehicle swaps, TLS
2026-01-19 Helnius Xero24 Gas Station MLO
2026-01-18 ConnectQueue, Wasabi Police, Bank MLO, Codem Radio, QS-Shops
2026-01-07 Cache cleanup

🔐 License Check System (Red Valley Custom)

Architecture

Player Apply @ Job Center          Player DutyToggle @ Job Location
        │                                    │
        ▼                                    ▼
bridge/qb/server/main.lua         server/functions.lua
   SetPlayerJob()                   IsHaveRequiredItem()
        │                                    │
        ▼                                    ▼
 Check metadata.licences.driver    Check metadata.licences.driver
        │                                    │
   ┌────┴────┐                          ┌────┴────┐
   Has    No License                    Has    No License
   │         │                          │         │
   ▼         ▼                          ▼         ▼
 SetJob   return false               continue   return false
           + TriggerClient                      + Notify
           "rv:showLicenseDialog"               + TriggerClient
                                                "rv:showLicenseDialog"

Resursa rv-license-dialog

  • Locație: resources/[framework]/[addons]/rv-license-dialog/
  • Fișiere: fxmanifest.lua, client.lua, html/index.html
  • Event: rv:showLicenseDialog (server → client)
  • NUI Callbacks: close (închide dialog), route (waypoint la școală)
  • Coordonate Școală: vector3(214.45, -1400.163, 30.57) (bit-driverschool)
  • Tema: Job Center (bg #0D0F11, accent #ff1a35, border #121416)
  • Backup ox_lib: Comentat în bridge/qb/client/main.lua și client/functions.lua

Jobs cu License Check

Job Locație Check Note
garbage Job Center + IsHaveRequiredItem Implementat complet
deliverer Job Center TODO: IsHaveRequiredItem
postman Job Center TODO: IsHaveRequiredItem
lumberjack Job Center TODO: IsHaveRequiredItem
bus Job Center TODO: IsHaveRequiredItem

17mov Jobs — Editable Files (escrow_ignore)

Toate resursele 17mov au fișiere encrypted (FXAP) dar următoarele sunt editabile:

  • Config.lua — configurație completă
  • client/functions.lua — hooks client-side (Notify, ChangeClothes, etc.)
  • client/target.lua — target system hooks
  • server/functions.luaIsHaveRequiredItem(), Pay(), PayPenalty(), GetPlayerJob()
  • locale/*.lua — traduceri
  • bridge/**/*.lua — framework bridge (QB/ESX)

Driver License Storage (bit-driverschool → QBCore)

-- Stored in: PlayerData.metadata.licences
{
    driver = true/false,  -- Permis B (mașină) — Config.licenseNameCar = "driver"
    moto = true/false,    -- Permis A (motocicletă) — Config.licenseNameMoto = "moto"
    truck = true/false    -- Permis C (camion) — Config.licenseNameTruck = "truck"
}
-- Persistent in SQL: players.metadata JSON column
-- Also gives item: driver_license (but item can be in car/stash, metadata is authoritative)

🎯 Interaction System (qb-target)

De la 2026-03-31, toate resursele folosesc qb-target (third-eye system) ca sistem de interacțiune.

Config Flag per DevTeam

DevTeam Config Key Valoare
17mov Config.UseTarget = true în Config.lua
Quasar Config.UseTarget = true în config/config.lua
QBCore setr UseTarget true în server.cfg
rcore UseTarget = true, TargetZoneType = 3 în config.lua
aty_busjob Target = "qb" în config.lua
wasabi Config.useTarget = true era deja activat
T1GER via t1ger_lib era deja activat

Excepție

  • qs-advancedgarages — nu suportă qb-target (doar ox_target / qb-radialmenu / none)

🖥️ 17mov_Hud — API Reference

Full docs: docs/17mov-hud-api-reference.md Sursă: https://docs.17movement.net/advanced-hud/

Exports disponibile din alte resurse

Export Ce face
ToggleDisplay(bool) Ascunde/afișează HUD complet
HideRadar(bool) Forțează ascundere minimap
ShowNotification(text, type, title, time) Notificare (info/error/success)
ShowHelpNotification(text) Help text (suportă INPUT_CONTEXT)
HideHelpNotification() Ascunde help
ShowHelpNotificationWhile(text) Help pt while loops (auto-hide)
StartProgress(action, onStart, onTick, onFinish) Progress bar cu animație + props
StopProgress() Oprește progress bar
OpenSettings() Deschide setări HUD
GetTheme(callback) Returnează culori HUD ca hex
GetSettings(callback) Returnează setări curente

Custom Indicators (adaugă elemente noi pe HUD)

-- Adaugă cerc (ca viața) sau card (text colț)
exports["17mov_Hud"]:RegisterComponent("name", { type="status"|"card", label="...", icon={...} })
exports["17mov_Hud"]:UpdateComponentValue("name", value)        -- float 0-1 sau string
exports["17mov_Hud"]:ToggleComponentVisibility("name", bool)    -- arată/ascunde

Fișiere NUI Configurabile

Fișier Locație Ce controlează
colors.css 17mov_CharacterSystem/web/web/colors.css Toate culorile NUI
config.json (loading) 17mov_CharacterSystem/web/web/loadingscreen/config.json Loading screen
images/ (loading) 17mov_CharacterSystem/web/web/loadingscreen/images/ Logo + slides
songs/ (loading) 17mov_CharacterSystem/web/web/loadingscreen/songs/ Muzică loading

⚠️ Folderul web/loadingscreen/ (fără web/) NU e cel activ! Config-ul real e în web/web/loadingscreen/.

Culori Red Valley (aplicate 2026-04-01)

--color-accent: 255 26 53;              /* Roșu RV (#ff1a35) — loading bar, titluri, accente */
--color-background-primary: 255 255 255; /* Alb transparent — carduri UI */

🆕 Resurse Custom Red Valley

rv-props (Custom Props)

  • Locație: resources/[stream]/rv-props/
  • Scop: Props custom branded (prop_rv_tablet)
  • Consumat de: 17mov_JobCenter (tabletă animație)
  • Tip: Standalone (stream, zero cod Lua)

rv-qb-target (Target QoL — în dezvoltare)

  • Locație: resources/[framework]/[core]/rv-qb-target/
  • Scop: Highlight entități interactabile când qb-target e activ (ALT)
  • Design: DrawSprite deasupra capului, vizibil prin ziduri, doar entități cu target înregistrat
  • Depinde de: qb-target (exports + event trigger)
  • Status: Planificat, research complet, cod nescris