Files
red-valley/docs/cross_resource_modifications.md
T
redvalley 1bcf0d9282 docs: sync knowledge base with April 8-10 changes
Synchronized docs/ folder with Knowledge Base (was behind since April 3):
- changelog.md: added qb-target migration (Apr 8) + resource cleanup (Apr 10) entries
- server_knowledge.md: complete resource structure post-cleanup, target section update
- cross_resource_modifications.md: added qb-target migration checklist
- resource_dependency_map.md: removed rv-qb-target, updated qb-target (ld-target engine)
- resource_map.html: updated qb-target node + 17mov_Electrician qtarget link
2026-06-17 16:53:15 +03:00

204 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/`