# Cross-Resource Modifications Fișiere modificate **în afara resursei principale** la care s-a lucrat. Util pentru tracking git — aceste fișiere aparțin altor resurse dar au fost modificate pentru a suporta features noi. --- ## ⚠️ CRITICAL: Checklist la Update qb-core Când se face update la `qb-core` (orice versiune/fork), OBLIGATORIU verifică: 1. **`shared/main.lua`** → `QBShared.StarterItems` — DOAR `phone` + `map`! (NU id_card, NU driver_license) 2. **`server/player.lua`** → `playertables` — FĂRĂ `apartments` (tabel inexistent), FĂRĂ `phone_messages` (nu are citizenid) - ⚠️ **ATENȚIE:** Repo-ul OFICIAL Quasar qb-core vine MEREU cu `apartments` + `phone_messages` in playertables. La FIECARE update trebuie comentate! - 📱 **TODO (qs-smartphone-pro setup):** Când se configurează qs-smartphone-pro complet, REVERIFICÃ tabelele `player_contacts`, `player_mails`, `phone_messages`, `phone_invoices`. Dacă schema lor are coloana `citizenid`, reactivează-le. Dacă nu, adaugă cleanup custom cu coloana corectă (ex: `number`, `phone_number`). 3. **`shared/items.lua`** → Clothing items: `chain`, `vest`, `bracelets`, `watch` + `map` (rv-maphold) TREBUIE să existe 4. **`shared/jobs.lua`** → TOATE joburile 17mov TREBUIE păstrate: `deliverer`, `garbage`, `postman`, `lumberjack`, `bus`, `builder`, `electrician`, `windowcleaner`, `treasurehunter`, `miner`, `oilrig`, `mechanic`, `unemployed`. Quasar fork SUPRASCRIE cu joburi default! - ⚠️ **FIX RAPID:** `git checkout HEAD -- "resources/[framework]/[core]/qb-core/shared/jobs.lua"` restaurează din git 5. **`config.lua`** → `metadata.licences.driver = false` (linia 87) — Quasar pune `true` default, TREBUIE setat `false` (permisul se obține la bit-driverschool) 6. **`client/functions.lua`** → `QBCore.Functions.Notify` override la `exports['17mov_Hud']:ShowNotification` (linia ~171) 7. **`client/events.lua`** → `QBCore:Notify` event override la `exports['17mov_Hud']:ShowNotification` (linia ~193) --- ## Feature: Mechanic Job Outfit (lucrat pe `t1ger_mechanic`) ### Fișiere modificate în alte resurse: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `configs/Config.lua` | `17mov_CharacterSystem` | Adăugat `Config.Outfits['mechanic']` cu outfit data per grad (0-4) și gen (male/female) | | `shared/jobs.lua` | `qb-core` | Schimbat label job mechanic: "Servicii Auto" → "Mecanic" | | `resources.cfg` | Server root | Adăugat `ensure [stream]` pentru încărcare AdminPack | ### Fișiere NOI create în t1ger_mechanic: | Fișier | Ce face | |--------|---------| | `client/shop/markers/getoutfit.lua` | Comandă admin `/getoutfit` — printează clothing component IDs | | `client/shop/markers/duty.lua` | **MODIFICAT** — adăugat auto-apply/restore outfit la duty toggle | ### Fișiere NOI create în alte locații: | Fișier | Locație | Ce face | |--------|---------|---------| | `fxmanifest.lua` | `[stream]/[admin-outfit]/AdminPack/` | Manifest pentru încărcare clothing pack admin | | `fxmanifest.lua` | `_preLoad/AdminPack/` | Manifest pre-staging (copie, nu se încarcă pe server) | | `start_server.ps1` | Server root | PowerShell wrapper anti Ctrl+C | | `job-outfit-setup.md` | `.agents/workflows/` | Workflow refolosibil pentru setup outfit per job | --- ## Feature: Mechanic Job Garage & Keys (lucrat pe `t1ger_mechanic` + `qs-advancedgarages`) ### Fișiere modificate în alte resurse: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `fxmanifest.lua` | `qs-advancedgarages` | Verificat/ajustat dependințe | ### Note: - Modificările la garage/keys au fost în principal în fișierele native ale `t1ger_mechanic` (garage.lua, duty.lua) - Logica de key removal la admin delete a fost adăugată cross-resource între t1ger_mechanic și qs-advancedgarages --- ## Feature: Wasabi Police Install (lucrat pe `wasabi_police` — 2026-03-29) ### Fișiere modificate în alte resurse: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `shared/items.lua` | `qs-inventory` | Adăugat `bobby_pin` + `tracking_bracelet` în secțiunea Cops Tools | | `html/images/bobby_pin.png` | `qs-inventory` | Copiat imagine item din `_install_first/inventory_images/` | | `html/images/tracking_bracelet.png` | `qs-inventory` | Copiat imagine item din `_install_first/inventory_images/` | ### Fișiere modificate în wasabi_police: | Fișier | Ce s-a modificat | |--------|------------------| | `game/configuration/config.lua` | `Config.Jail.jail = 'rcore'` (linia 74) | ### Note: - Items `bobby_pin` și `tracking_bracelet` existau deja în `qb-core/shared/items.lua` (adăugate anterior pe 2026-01-18) - `handcuffs` exista deja în ambele (qb-core + qs-inventory) - SQL-urile ESX din `_install_first/esx/sql/` nu au fost executate (suntem pe QBCore) - Resursa se încarcă automat via `ensure [jobs]` din `resources.cfg` --- ## Feature: Quasar Advanced Inventory Migration (qb-core fork Quasar 1.3.0 — 2026-04-02) ### Fișiere modificate în qb-core: | Fișier | Linie | Ce s-a modificat | |--------|-------|------------------| | `shared/main.lua` | L6-11 | **StarterItems** — DOAR `phone` + `map`. Comentat `id_card` (de la mugshot) și `driver_license` (de la școala de șoferi) | | `shared/items.lua` | L4765+ | Adăugat 4 clothing items lipsă: `chain`, `vest`, `bracelets`, `watch` (copiate din qs-inventory/shared/items.lua) | | `server/player.lua` | L541-554 | **playertables** — comentat `apartments` (tabel inexistent) și `phone_messages` (nu are coloana citizenid, qs-smartphone-pro) | ### Fișiere modificate în qs-inventory: | Fișier | Linie | Ce s-a modificat | |--------|-------|------------------| | `config/config.lua` | L26 | `Config.Language = 'ro'` | | `config/config.lua` | L72 | `Config.ServerName = 'RED VALLEY'` | | `config/config.lua` | L935 | `Config.Debug = true` (temporar, de setat `false` la producție) | ### Rezumat rapid — Toate fișierele modificate (Quasar migration) ``` resources/[framework]/[core]/qb-core/shared/main.lua ← StarterItems: phone + map ONLY resources/[framework]/[core]/qb-core/shared/items.lua ← +chain, +vest, +bracelets, +watch resources/[framework]/[core]/qb-core/server/player.lua ← playertables: -apartments, -phone_messages resources/[framework]/[core]/[inventory]/qs-inventory/config/config.lua ← lang, servername, debug ``` --- ## Feature: Global [E] Prompt Suppression → qb-target (2026-04-03) ### ⚠️ CRITICAL: Checklist la Update qb-core (drawtext) Când se face update la `qb-core`, verifică: - **`client/drawtext.lua`** → TOATE funcțiile sunt no-ops (DrawText, ChangeText, HideText, KeyPressed). La update, Quasar va restaura funcțiile originale! ### Fișiere modificate: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `client/drawtext.lua` | `qb-core` | **SUPRIMAT GLOBAL** — DrawText/ChangeText/HideText/KeyPressed sunt no-ops cu `function() end`. Exporturile există dar nu fac nimic. | ### Note: - Supresia este globală — NICIO resursă nu poate afișa prompt-uri [E] prin qb-core exports - Resursele nu crashuiesc, dar textul nu apare - Aceasta forțează migrarea la qb-target (dot/eye target) pe tot serverul - Resursele trebuie setate individual cu `Config.UseTarget = true` --- ## Feature: qs-housing qb-target Migration (2026-04-03) ### ⚠️ CRITICAL: Checklist la Update qs-housing Când se face update la `qs-housing`, verifică: 1. **`client/custom/framework/qb.lua`** → DrawText3D/DrawText3Ds/DrawTextBoard sunt no-ops când `Config.UseTarget = true`. Update-ul Quasar va restaura funcțiile originale! 2. **`client/custom/target/qb-target.lua`** → BoxZone `rv_realestate_npc` + floating text "Agent Imobiliar" pe NPC Real Estate. Secțiunea RED VALLEY de la sfârșitul fișierului! ### Fișiere modificate: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `client/custom/framework/qb.lua` | `qs-housing` | DrawText3D/DrawText3Ds/DrawTextBoard devin no-ops condițional (doar când `Config.UseTarget = true`). Codul encrypted apelează aceste funcții native GTA, deci suprimarea din qb-core nu le prindea. | | `client/custom/target/qb-target.lua` | `qs-housing` | Adăugat BoxZone qb-target pe NPC-ul Real Estate (`rv_realestate_npc`) la coordonatele din `Config.RealeStateNPC.location`. Opțiune: "Open House Browser" (execută `/housebrowser`). Floating text nativ "Agent Imobiliar" cu LOS check. | ### NPC Real Estate — Configurare: - **Model:** `a_m_m_business_01` (din `Config.RealeStateNPC.pedModel`) - **Locație:** `vec4(-253.978027, -970.457153, 31.217529, 161.574799)` (din `Config.RealeStateNPC.location`) - **Target zone:** BoxZone 1.5×1.5, distance 2.5 - **Floating text:** Native GTA rendering, LOS check, 15m range --- ## Feature: Time Freeze 14:00 (2026-04-03) ### Fișiere modificate: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `config.lua` | `qb-weathersync` | `Config.BaseTime = 14`, `Config.FreezeTime = true` — server locked la ora 14:00 permanent | ### Note: - Necesită restart complet de server (ensure nu funcționează) - `Config.RealTimeSync` era deja `false` (setat 2026-03-28) --- ## Feature: qb-target Migration (ld-target engine — 2026-04-08) ### ⚠️ CRITICAL: Checklist la Update qb-target Când se face update/înlocuire la `qb-target`, verifică: 1. **`fxmanifest.lua`** → `provide 'qtarget'` TREBUIE să existe (17mov_Electrician depinde de el) 2. **`init.lua`** → `Config.Peds = {}` (fără demo NPC-uri Lunny) 3. **`client.lua`** → DrawSprite zone markers: RGB(92, 151, 247) = albastru 4. **`html/`** → Culorile NUI: `#5c97f7` albastru (style.css, interaction.css, script.js, index.html) ### Fișiere modificate: | Fișier | Resursă | Ce s-a modificat | |--------|---------|------------------| | `fxmanifest.lua` | `qb-target` | `name='qb-target'`, `provide 'qtarget'` adăugat | | `init.lua` | `qb-target` | `Config.Peds = {}` — golit tabel demo peds Lunny | | `client.lua` | `qb-target` | DrawSprite zone markers: `(255,255,255)` → `(92,151,247)` albastru | | `html/style.css` | `qb-target` | `#00F8B9` → `#5c97f7` | | `html/interaction.css` | `qb-target` | `#00F8B9` → `#5c97f7` | | `html/script.js` | `qb-target` | `#00F8B9` → `#5c97f7` | | `html/index.html` | `qb-target` | `#00F8B9` → `#5c97f7` | ### Note: - Folderul TREBUIE să se numească `qb-target` (nu `rv-target`) — resursele terțe hardcode `exports['qb-target']` - `provide 'qtarget'` permite `exports['qtarget']` să rezolve la același resource - Engine-ul este ld-target open-source (NP 4.0 inspired) - Zone markers (puncte la distanță) funcționează doar pe **Zones** (BoxZone, CircleZone), NU pe entități adăugate cu `AddTargetEntity()` - Sursele originale se găsesc în `_preLoad/ld-target/Standalone/`