15 KiB
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 (
GiveKeysla driving license) - ac-carcontrol
- bit-driverschool (
GiveKeysla 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șteConfig.Outfits['mechanic']dinconfigs/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:loadOutfitpentru 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-vehiclekeyswasabi_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']din17mov_CharacterSystem/configs/Config.lua t1ger_tuningsystemapelează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-vehiclekeyshud: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 |