Files
red-valley/docs/resource_dependency_map.md
2026-03-29 21:41:17 +03:00

15 KiB

Red Valley Roleplay — Resource Dependency Map

Scanat din codul sursă: exports, TriggerEvent, TriggerServerEvent, TriggerClientEvent. Ultima actualizare: 2026-03-29


🔴 Resurse CRITICE (modificarea lor afectează MULTE resurse)

1. qb-core — Nucleul framework-ului

Cine depinde de qb-core (TOATE resursele — prin exports['qb-core']:GetCoreObject()):

  • qs-inventory, qs-shops, qs-vehiclekeys, qs-advancedgarages, qs-smartphone-pro
  • 17mov_CharacterSystem, 17mov-plugin-char-creator, 17mov_Hud, 17mov_JobCenter
  • t1ger_mechanic, t1ger_tuningsystem (via t1ger_lib)
  • wasabi_police, wasabi_ambulance (via wasabi_bridge)
  • rv-mdt, codem-mdt, codem-dispatch
  • luxu_admin, mBossmenu, qb-management
  • jg-dealerships, bit-driverschool, 0r_idcard
  • qb-target, qb-menu, qb-smallresources, qb-weathersync
  • ac-carcontrol, kq_carheist, kq_dyno, kq_wheeldamage
  • rcore_fuel, rcore_casino, rcore_prison, rcore_doorlock
  • svdden_banking, progressbar

Fișiere critice în qb-core:

Fișier Ce afectează
shared/jobs.lua wasabi_police, rv-mdt, t1ger_mechanic, luxu_admin, qs-inventory, qs-shops, jg-dealerships, codem-dispatch, qb-management, 17mov_JobCenter, kq_dyno, kq_carheist, rcore_casino, rcore_fuel
shared/items.lua qs-inventory, qs-shops, 0r_idcard, qb-smallresources
shared/main.lua StarterItems → afectează ce primește playerul la spawn
server/player.lua Character create/delete/login → 17mov_CharacterSystem, qs-inventory
server/events.lua Hunger/thirst updates → 17mov_Hud; duty toggle → toate job-urile
client/functions.lua Notificări (rutează la 17mov_Hud:ShowNotification)

Events emise de qb-core și cine le ascultă:

Event Ascultători
QBCore:Client:OnPlayerLoaded 17mov_Hud, 17mov_CharacterSystem, 17mov_JobCenter, qs-inventory, qs-shops, qs-smartphone-pro, qs-advancedgarages, qs-housing, qb-target, qb-smallresources, qb-management, qb-weathersync, qb-input, wasabi_bridge, 0r_idcard, bit-driverschool (via busjob), codem-mdt, codem-dispatch, t1ger_mechanic, jg-dealerships, kq_carheist, kq_dyno, rcore_fuel, rcore_casino, interact-sound, luxu_admin
QBCore:Server:PlayerLoaded 17mov_CharacterSystem, qs-inventory, luxu_admin, 17mov_Electrician, qb-core (playtime-paycheck)
QBCore:Client:OnJobUpdate 17mov_Hud, 17mov_JobCenter, qs-shops, qs-smartphone-pro, qs-advancedgarages, qs-housing, qb-target, qb-management, wasabi_bridge, t1ger_mechanic, codem-mdt, codem-dispatch, jg-dealerships, kq_carheist, kq_dyno, rcore_fuel, rcore_casino, aty_busjob
QBCore:Server:OnJobUpdate qb-core internal
QBCore:Server:SetDuty qb-core, codem-mdt
QBCore:Server:PlayerDropped Cleanup în toate resursele

2. qs-inventory — Sistem de inventar

Cine apelează exports din qs-inventory:

  • qb-core (AddItem/RemoveItem bridge)
  • qb-smallresources (consumables)
  • 17mov_CharacterSystem (setInClothing)
  • luxu_admin (bridge/shared/inventory)
  • mBossmenu
  • qs-advancedgarages (stash)
  • qs-shops (items)
  • qs-smartphone-pro
  • qs-vehiclekeys
  • rcore_casino
  • t1ger_lib (stash — mechanic/tuning)
  • codem-mdt (inventory check)

Events legate de inventory:

Event Direcție
inventory:client:ItemBox qs-inventory → UI notificare item
hud:client:UpdateNeeds qs-inventory server → 17mov_Hud
hud:server:GainStress / RelieveStress qs-inventory client → 17mov_Hud server

3. qs-vehiclekeys — Sistem de chei vehicule

Cine apelează exports din qs-vehiclekeys:

  • qb-core, qb-target, qb-smallresources
  • 0r_idcard (GiveKeys la driving license)
  • ac-carcontrol
  • bit-driverschool (GiveKeys la test)
  • luxu_admin (giveVehicleKeys)
  • qs-advancedgarages
  • qs-smartphone-pro
  • rcore_fuel, rcore_casino
  • wasabi_bridge

4. 17mov_Hud — HUD & Notificări

Cine trimite notificări la 17mov_Hud:

  • qb-core (client/functions.luaexports["17mov_Hud"]:ShowNotification)
  • ox_lib (notify.luaexports["17mov_Hud"]:ShowNotification)
  • 0r_idcard (direct export call)
  • bit-driverschool (direct export call)
  • qb-smallresources (TriggerClientEvent('17mov_Hud:ShowNotification'))

Events HUD (stress/needs):

Event Cine emite Cine ascultă
hud:server:GainStress 17mov_Hud (client), qs-inventory 17mov_Hud (server), qb-smallresources
hud:server:RelieveStress wasabi_ambulance, qs-inventory, qb-smallresources 17mov_Hud (server), qb-smallresources
hud:client:UpdateNeeds qb-core, qs-inventory, wasabi_ambulance, qb-smallresources, luxu_admin 17mov_Hud (client)
hud:client:UpdateStress 17mov_Hud (server), qb-smallresources 17mov_Hud (client)

5. 17mov_CharacterSystem — Character Select & Clothing

Dependințe ale CharacterSystem:

  • qs-inventory (setInClothing la deschidere/închidere meniu haine)
  • qb-core (framework bridge — jobs, player data)

Cine depinde de CharacterSystem:

  • 17mov-plugin-char-creator (ascultă 17mov_CharacterSystem:SaveCurrentSkin)
  • t1ger_mechanic (citește Config.Outfits['mechanic'] din configs/Config.lua)
  • qs-housing (apelează qb-clothing:client:openOutfitMenu — rutat prin bridge)
  • qs-advancedgarages (apelează qb-clothing:client:openOutfitMenu)
  • qb-management (apelează qb-clothing:client:openOutfitMenu)
  • qb-smallresources (apelează qb-clothing:client:loadOutfit pentru parașută)
  • wasabi_ambulance (apelează qb-clothing:client:openMenu)

Events clothing critice:

Event Emis de Ascultat de
qb-clothing:client:openOutfitMenu qs-housing, qs-advancedgarages, qb-management 17mov_CharacterSystem bridge
qb-clothing:client:openMenu wasabi_ambulance 17mov_CharacterSystem bridge
qb-clothing:client:loadOutfit qb-smallresources 17mov_CharacterSystem bridge
17mov_CharacterSystem:SaveCurrentSkin 17mov_CharacterSystem (functions.lua, bridge) 17mov-plugin-char-creator
qb-clothing:saveSkin intern 17mov_CharacterSystem bridge/qb/server

6. wasabi_bridge — Framework bridge pentru wasabi

Conectează:

  • wasabi_police → qb-core, qs-vehiclekeys
  • wasabi_ambulance → qb-core, qs-vehiclekeys

Events wasabi:

Event Legătură
wasabi_bridge:onPlayerDeath wasabi_ambulance ↔ wasabi_bridge
wasabi_bridge:onPlayerSpawn wasabi_ambulance ↔ wasabi_bridge

7. t1ger_mechanic + t1ger_tuningsystem

Dependințe prin t1ger_lib:

  • qb-core (framework)
  • qb-target (target system)
  • qs-inventory (stash)
  • qb-management (society accounts, billing)

Cross-resource:

  • Citește Config.Outfits['mechanic'] din 17mov_CharacterSystem/configs/Config.lua
  • t1ger_tuningsystem apelează exports['t1ger_mechanicsystem'] (intern T1GER)

8. luxu_admin — Admin Panel

Apelează exports din:

  • qb-core (player management)
  • qs-inventory (item management)
  • qs-smartphone-pro (phone control)
  • qs-vehiclekeys (key management)
  • pma-voice (voice control)
  • qb-management (society money)

Events:

  • luxu_admin:client:giveVehicleKeys → qs-vehiclekeys
  • hud:client:UpdateNeeds → 17mov_Hud

📊 Matricea de Impact — Ce trebuie verificat când modifici o resursă

Dacă modifici qb-core:

⚠️ IMPACT MAXIM — Verifică TOTUL
├── shared/jobs.lua → wasabi_police, rv-mdt, t1ger_mechanic, qs-inventory,
│                     qs-shops, luxu_admin, jg-dealerships, kq_carheist,
│                     kq_dyno, rcore_casino, rcore_fuel, qb-management,
│                     17mov_JobCenter, codem-dispatch, codem-mdt
├── shared/items.lua → qs-inventory, qs-shops, 0r_idcard, qb-smallresources
├── shared/main.lua → StarterItems, spawn behavior
├── server/player.lua → 17mov_CharacterSystem (login/create), qs-inventory,
│                        luxu_admin, character delete
├── server/events.lua → 17mov_Hud (hunger/thirst), duty toggle
└── client/functions.lua → 17mov_Hud (notificări)

Dacă modifici 17mov_CharacterSystem:

├── configs/Config.lua (Outfits) → t1ger_mechanic duty.lua
├── configs/Skin.lua (Presets) → char creator flow, shop/ambulance/admin skin
├── configs/Bridge.lua → housing, apartments, clothing bridge selection
├── client/functions.lua → spawn outfit, SaveCurrentSkin event
│   └── 17mov-plugin-char-creator (ascultă SaveCurrentSkin)
├── bridge/clothing/qb-clothing/exports.lua → oricine apelează qb-clothing events:
│   ├── qs-housing (wardrobes)
│   ├── qs-advancedgarages (wardrobes)
│   ├── qb-management (boss/gang outfits)
│   ├── wasabi_ambulance (clothing menu)
│   └── qb-smallresources (parașută loadOutfit)
└── bridge/framework/qb/ → qb-core events routing

Dacă modifici qs-inventory:

├── Items → qb-core/shared/items.lua trebuie sincronizat
├── Shops → qs-shops/json/shops-inventory.json
├── Stash system → t1ger_mechanic, t1ger_tuningsystem, qs-advancedgarages
├── Framework bridge → qb-core (AddItem/RemoveItem)
├── HUD integration → 17mov_Hud (hunger/thirst/stress events)
└── Phone integration → qs-smartphone-pro

Dacă modifici qs-vehiclekeys:

├── Key management → qs-advancedgarages (garage key system)
├── Driving school → bit-driverschool (GiveKeys la test)
├── ID card → 0r_idcard (GiveKeys la license)
├── Admin → luxu_admin (vehicle key management)
├── Car control → ac-carcontrol
├── Phone → qs-smartphone-pro (remote lock/unlock)
├── Fuel → rcore_fuel
└── Framework → qb-core, qb-target, qb-smallresources

Dacă modifici 17mov_Hud:

├── Notificări consumate de → qb-core, ox_lib, 0r_idcard, bit-driverschool,
│                             qb-smallresources
├── Stress system → qs-inventory, wasabi_ambulance, qb-smallresources
├── Hunger/Thirst → qb-core, qs-inventory, wasabi_ambulance, luxu_admin,
│                   qb-smallresources
└── Job display → qb-core (OnJobUpdate)

Dacă modifici qs-smartphone-pro:

├── Voice → pma-voice (call system)
├── Keys → qs-vehiclekeys (remote lock)
├── Inventory → qs-inventory
├── Framework → qb-core
├── Radio → phone-radio (dependency)
└── Photos → screenshot-basic

Dacă modifici wasabi_police sau wasabi_ambulance:

├── Bridge → wasabi_bridge → qb-core
├── Clothing → 17mov_CharacterSystem (qb-clothing events)
├── HUD → 17mov_Hud (stress relief, needs update)
├── Jobs → qb-core/shared/jobs.lua
└── MDT → rv-mdt / codem-mdt, codem-dispatch

Dacă modifici qs-advancedgarages:

├── Keys → qs-vehiclekeys
├── Inventory → qs-inventory (stash)
├── Outfit menu → 17mov_CharacterSystem (qb-clothing bridge)
├── Housing → qs-housing (shell garages)
├── Framework → qb-core
└── DB → oxmysql

Dacă modifici jg-dealerships:

├── Framework → qb-core
├── DB → oxmysql, ox_lib
├── Jobs → qb-core/shared/jobs.lua
└── OneSync → required

Dacă modifici t1ger_mechanic:

├── Library → t1ger_lib (core dependency)
├── Tuning → t1ger_tuningsystem (shared mechanic system)
├── Outfits → 17mov_CharacterSystem/configs/Config.lua
├── Stash → qs-inventory (via t1ger_lib)
├── Target → qb-target (via t1ger_lib)
├── Society → qb-management (via t1ger_lib)
└── Keys → qs-vehiclekeys (via qs-advancedgarages for job vehicles)

Dacă modifici 0r_idcard:

├── Notificări → 17mov_Hud
├── Keys → qs-vehiclekeys (driving license)
├── Screenshot → screenshot-basic (headshot)
├── Framework → qb-core
└── DB → oxmysql

Dacă modifici bit-driverschool:

├── Notificări → 17mov_Hud
├── Keys → qs-vehiclekeys (GiveKeys la test)
├── Target → qb-target
├── Items → qb-core/shared/items.lua (driver_license)
├── License → 0r_idcard (setPlayerLicense)
└── Framework → qb-core

🔄 Diagrama Vizuală a Dependințelor

graph TD
    QBC[qb-core<br/>NUCLEU] --> |shared/jobs| WP[wasabi_police]
    QBC --> |shared/jobs| RV[rv-mdt]
    QBC --> |shared/jobs| TM[t1ger_mechanic]
    QBC --> |shared/jobs| QM[qb-management]
    QBC --> |shared/items| QSI[qs-inventory]
    QBC --> |shared/items| QSS[qs-shops]
    QBC --> |events| HUD[17mov_Hud]
    QBC --> |framework| CS[17mov_CharacterSystem]
    QBC --> |framework| LA[luxu_admin]
    
    CS --> |setInClothing| QSI
    CS --> |Config.Outfits| TM
    CS --> |SaveCurrentSkin| PCC[17mov-plugin-char-creator]
    CS --> |clothing bridge| QSH[qs-housing]
    CS --> |clothing bridge| QSG[qs-advancedgarages]
    CS --> |clothing bridge| QM
    CS --> |clothing bridge| WA[wasabi_ambulance]
    
    QSI --> |hunger/thirst| HUD
    QSI --> |items| QSS
    QSI --> |phone| QSP[qs-smartphone-pro]
    
    QSV[qs-vehiclekeys] --> |keys| QSG
    QSV --> |keys| QSP
    QSV --> |keys| BDS[bit-driverschool]
    QSV --> |keys| IDC[0r_idcard]
    QSV --> |keys| LA
    QSV --> |keys| RF[rcore_fuel]
    
    WB[wasabi_bridge] --> WP
    WB --> WA
    WA --> |stress| HUD
    
    TL[t1ger_lib] --> TM
    TL --> TT[t1ger_tuningsystem]
    TL --> |stash| QSI
    TL --> |target| QBT[qb-target]
    TL --> |society| QM
    
    IDC --> |notif| HUD
    BDS --> |notif| HUD
    BDS --> |license| IDC
    
    QSP --> |voice| PMA[pma-voice]
    LA --> |voice| PMA
    
    style QBC fill:#ff4444,color:#fff
    style QSI fill:#ff6600,color:#fff
    style QSV fill:#ff6600,color:#fff
    style CS fill:#ff9900,color:#fff
    style HUD fill:#ff9900,color:#fff
    style LA fill:#9933cc,color:#fff

Quick Reference: Modificare → Impact

Când modifici... Verifică obligatoriu...
Job labels/grades în jobs.lua wasabi_police, rv-mdt, t1ger_mechanic, qs-inventory, luxu_admin, jg-dealerships, 17mov_JobCenter
Items în items.lua qs-inventory, qs-shops
Cum funcționează notificările ox_lib, 0r_idcard, bit-driverschool, qb-smallresources
Outfit IDs în Config.Outfits t1ger_mechanic/duty.lua
Skin presets în Skin.lua Char creator, clothing shops, wasabi_ambulance
Bridge selection în Bridge.lua Housing wardrobe, clothing menu
Vehicle key exports bit-driverschool, 0r_idcard, ac-carcontrol, qs-advancedgarages, luxu_admin
Player spawn flow 17mov_CharacterSystem, 17mov-plugin-char-creator
Hunger/thirst values 17mov_Hud, qb-smallresources
Duty toggle t1ger_mechanic/duty.lua (outfit), wasabi_police, codem-dispatch
Character delete qb-core/server/player.lua → playertables array
Stash/storage qs-inventory, t1ger_lib
Phone features qs-smartphone-pro ↔ pma-voice, qs-vehiclekeys