# 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.lua` → `exports["17mov_Hud"]:ShowNotification`) - ox_lib (`notify.lua` → `exports["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 ```mermaid graph TD QBC[qb-core
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 |