38 KiB
Red Valley — Dev Teams API Reference (2nd Brain)
Echipe: 17 Movement, Wasabi Scripts, Quasar Store, KuzQuality, rCore, T1GER Documentație oficială + scan cod sursă. Ultima actualizare: 2026-03-29
🟠 17 MOVEMENT (17mov)
Resurse pe server: 17mov_CharacterSystem, 17mov-plugin-char-creator, 17mov_Hud, 17mov_JobCenter, 17mov_Electrician, 17mov_BuilderJob, 17mov_Deliverer, 17mov_GarbageCollector, 17mov_Lumberjack, 17mov_Miner, 17mov_OilRig, 17mov_Postman, 17mov_TreasureHunter, 17mov_WindowCleaning
Docs: https://docs.17movement.net/
17mov_CharacterSystem — Exports & Events
Important
: Acest script bridge-uiește
qb-clothing,illenium-appearance,skinchanger,esx_skin. Pentru exports illenium-appearance, foloseșteexports["illenium-appearance"]NUexports["17mov_CharacterSystem"]!
| Event/Export | Tip | Descriere |
|---|---|---|
TriggerEvent("17mov_CharacterSystem:SaveCurrentSkin") |
Client Event | Salvează skin-ul curent al playerului în DB |
TriggerEvent("17mov_CharacterSystem:OpenOutfitsMenu") |
Client Event | Deschide meniul de outfits |
TriggerEvent("qb-clothing:client:openOutfitMenu") |
Client Event (bridged) | Alias → deschide outfit menu |
TriggerEvent("qb-clothing:client:openMenu") |
Client Event (bridged) | Alias → deschide clothing full menu |
TriggerEvent("qb-clothing:client:openMenuCommand") |
Client Event (bridged) | Alias → clothing menu command |
TriggerEvent("qb-clothing:client:loadOutfit", data) |
Client Event (bridged) | Aplică un outfit (ex: parașută) |
TriggerServerEvent("qb-clothing:saveSkin", model, skin) |
Server Event (bridged) | Salvează skin pe server |
exports['qs-inventory']:setInClothing(bool) |
Export apelat | Blochează/deblochează inventory la clothing menu |
exports["illenium-appearance"]:setPedComponents() |
Export apelat | Setează componente ped (bridge) |
Config critice:
configs/Config.lua→Config.Outfits(job outfits per gender/grade)configs/Skin.lua→ Presets, BlacklistedInputValuesconfigs/Bridge.lua→ Selecția de clothing/housing bridges
Cine apelează CharacterSystem:
| Resursă | Ce apelează | Cum |
|---|---|---|
| t1ger_mechanic | Config.Outfits['mechanic'] |
Citește config pentru duty outfit |
| qs-housing | qb-clothing:client:openOutfitMenu |
Wardrobe din casă |
| qs-advancedgarages | qb-clothing:client:openOutfitMenu |
Wardrobe din garaj |
| qb-management | qb-clothing:client:openOutfitMenu |
Boss/gang outfit menu |
| wasabi_ambulance | qb-clothing:client:openMenu |
Clothing full menu |
| qb-smallresources | qb-clothing:client:loadOutfit |
Parașută outfit load |
| 17mov-plugin-char-creator | 17mov_CharacterSystem:SaveCurrentSkin |
Ascultă save |
17mov_Hud — Exports & Events
Docs: https://docs.17movement.net/advanced-hud/usage-in-other-resources
| Export/Event | Tip | Params | Descriere |
|---|---|---|---|
exports["17mov_Hud"]:ShowNotification(text, type, title, time) |
Client Export | text:string, type:"info"/"error"/"success", title:string, time:ms | Arată notificare |
TriggerEvent("17mov_Hud:ShowNotification", text, type, title, time) |
Client Event | same | Alias event |
TriggerClientEvent("17mov_Hud:ShowNotification", src, text) |
Server→Client | same | Din server |
exports["17mov_Hud"]:ToggleDisplay(state) |
Client Export | state:boolean | Ascunde/arată HUD |
TriggerEvent("17mov_Hud:ToggleDisplay", state) |
Client Event | same | Alias |
exports["17mov_Hud"]:HideRadar(state) |
Client Export | state:boolean | Forțează radar hidden |
exports["17mov_Hud"]:ShowHelpNotification(text) |
Client Export | text:string | Help notification (fără loop!) |
exports["17mov_Hud"]:HideHelpNotification() |
Client Export | - | Ascunde help notif |
exports["17mov_Hud"]:ShowHelpNotificationWhile(text) |
Client Export | text:string | Help notif in while loop (auto-hide) |
exports["17mov_Hud"]:StartProgress(action, onStart, onTick, onFinish) |
Client Export | action:object | Progress bar |
exports["17mov_Hud"]:StopProgress() |
Client Export | - | Oprește progress bar |
exports["17mov_Hud"]:OpenSettings() |
Client Export | - | Deschide setări HUD |
exports["17mov_Hud"]:GetTheme(cb) |
Client Export | cb:function(theme) | Returnează culorile HUD |
exports["17mov_Hud"]:GetSettings(cb) |
Client Export | cb:function(settings) | Returnează setările HUD |
RegisterNetEvent("17mov_Hud:UpdateTheme", function(theme)) |
Client Event | theme:object | Listener: când se schimbă tema |
RegisterNetEvent("17mov_Hud:UpdateSettings", function(settings)) |
Client Event | settings:object | Listener: când se schimbă setările |
HUD Stress/Needs Events (nu sunt 17mov-specifice, dar HUD le ascultă):
| Event | Direcție | Cine emite |
|---|---|---|
hud:server:GainStress |
Client→Server | 17mov_Hud, qs-inventory |
hud:server:RelieveStress |
Client→Server | wasabi_ambulance, qs-inventory, qb-smallresources |
hud:client:UpdateNeeds |
Server→Client | qb-core, qs-inventory, wasabi_ambulance, luxu_admin, qb-smallresources |
hud:client:UpdateStress |
Server→Client | 17mov_Hud (server), qb-smallresources |
Cine apelează HUD exports:
| Resursă | Export/Event | Scop |
|---|---|---|
| qb-core | exports["17mov_Hud"]:ShowNotification(...) |
Toate notificările QBCore |
| ox_lib | exports["17mov_Hud"]:ShowNotification(...) |
ox_lib notify bridge |
| 0r_idcard | exports["17mov_Hud"]:ShowNotification(...) |
Notificări ID |
| bit-driverschool | exports["17mov_Hud"]:ShowNotification(...) |
Notificări școală auto |
| qb-smallresources | TriggerClientEvent("17mov_Hud:ShowNotification") |
Stress relief notif |
🟢 WASABI SCRIPTS
Resurse pe server: wasabi_bridge, wasabi_police, wasabi_ambulance (v1)
Versiune curentă: V1 (upgrade la V2 planificat)
Docs: https://docs.wasabiscripts.com/wasabi-scripts
wasabi_bridge — Framework Bridge
- Scop: Librărie Lua cu UI components — bridge pentru toate scripturile Wasabi
- Folosit de: wasabi_police, wasabi_ambulance (v1)
- Funcționalitate: Notifications, text UI, targets, frameworks abstraction
- Config: notifications, target system, framework selection
- Dependințe: qb-core (sau ESX)
Bridge Events:
| Event | Tip | Descriere |
|---|---|---|
wasabi_bridge:onPlayerDeath |
Client | Trigger la moartea playerului |
wasabi_bridge:onPlayerSpawn |
Client | Trigger la spawn |
QBCore:Client:OnPlayerLoaded |
Client (listener) | Detectează player loaded |
QBCore:Client:OnJobUpdate |
Client (listener) | Detectează schimbare job |
wasabi_police — Job Poliție (V1) ✅ INSTALAT
- Versiune: 1.10.8
- Dependențe: wasabi_bridge, oxmysql, qb-core
- Integrare cu: qs-vehiclekeys (via bridge), qs-inventory, codem-mdt, codem-dispatch, rcore_prison
- Job name:
police(definit înqb-core/shared/jobs.lua) - Config Jail:
Config.Jail.jail = 'rcore'— integrat cu rcore_prison - Provides:
esx_policejob,qb-policejob
Exports Client:
| Export | Return | Descriere |
|---|---|---|
exports['wasabi_police']:IsHandcuffed() |
false/'soft'/'hard' |
Status cătușe player |
exports['wasabi_police']:openOutfits(station) |
void | Meniu uniformă |
exports['wasabi_police']:escortPlayer(targetId) |
void | Escortează player |
exports['wasabi_police']:searchPlayer(player) |
void | Percheziție inventar |
Exports Server:
| Export | Return | Descriere |
|---|---|---|
exports['wasabi_police']:getPoliceOnline() |
number | Polițiști on-duty |
exports['wasabi_police']:IsPlayerInJail(target) |
boolean | E în închisoare? |
Events (triggerabile din alte resurse cu Config.AllowedResources):
wasabi_police:handcuffPlayer -- încătușare
wasabi_police:escortPlayer -- escortare
wasabi_police:inVehiclePlayer -- pune în vehicul
wasabi_police:outVehiclePlayer -- scoate din vehicul
State Bags:
| State Bag | Valori | Descriere |
|---|---|---|
Player(id).state.isHandcuffed |
false/'soft'/'hard' |
Status cătușe |
Player(id).state.isEscorted |
boolean |
Status escortare |
Items necesare (adăugate în qs-inventory + qb-core):
handcuffs,bobby_pin,tracking_bracelet
wasabi_ambulance — Job Ambulanță (V1) ✅ INSTALAT
- Versiune: 1.14.2
- Dependențe: wasabi_bridge, oxmysql, ox_lib, qb-core
- Integrare cu: qs-inventory, 17mov_CharacterSystem, 17mov_Hud, codem-dispatch
- Job name:
ambulance(definit înqb-core/shared/jobs.lua) - Provides:
esx_ambulancejob,qb-ambulancejob
Exports Client (13):
| Export | Params | Descriere |
|---|---|---|
isPlayerDead(serverId?) |
opt | true/false death status |
diagnosePlayer(target?) |
true/number/nil |
Diagnose player |
treatPatient(injury) |
'shot'/'stabbed'/'beat'/'burned' |
Tratează |
reviveTarget() |
— | CPR + revive (necesită defib) |
healTarget() |
— | Self-heal sau heal nearby |
useSedative() |
— | Sedează player |
placeInVehicle() |
— | Pune player în vehicul |
loadStretcher() |
— | Pune pe stretcher |
openOutfits(hospital) |
string | Meniu uniformă |
clearPlayerInjury(clearVitals) |
bool | Șterge injuries |
disableKnockoutLoop(disabled) |
bool | Disable knockout |
manuallyKnockout(enabled) |
bool | Force knockout |
Exports Server (3):
| Export | Params | Descriere |
|---|---|---|
RevivePlayer(serverId) |
number | Revive player |
disableKnockoutLoop(source, disabled) |
source, bool | Disable knockout server-side |
manuallyKnockout(source, enabled) |
source, bool | Force knockout server-side |
State Bags:
| State Bag | Valori | Descriere |
|---|---|---|
Player(id).state.dead |
false/nil/'dead'/'laststand' |
Status death |
- Cross-resource calls:
TriggerEvent('qb-clothing:client:openMenu')→ 17mov_CharacterSystemTriggerServerEvent('hud:server:RelieveStress', 100)→ 17mov_HudTriggerClientEvent('hud:client:UpdateNeeds', src, 100, 100)→ 17mov_HudConfig.policeCanTreat→ wasabi_police (polițiștii pot trata pacienți)
Upgrade V1 → V2 Notes
V2 folosește un bridge complet diferit. Când faci upgrade:
- wasabi_bridge se actualizează automat
- Verifică custom events în
game/client/șigame/server/- Testează clothing integration cu 17mov_CharacterSystem
- Testează stress/needs events cu 17mov_Hud
🔵 QUASAR STORE (qs)
Resurse pe server: qs-inventory, qs-vehiclekeys, qs-advancedgarages, qs-shops, qs-smartphone-pro, qs-housing, qs-weed
Docs: https://www.quasar-store.com/docs
qs-inventory — Inventar
Commands:
| Command | Descriere |
|---|---|
/clearinv [id] |
Golește inventar |
/giveitem [id] [item] [amount] |
Dă item |
/resetinv |
Reset inventory |
Key Exports (din scan cod sursă):
| Export | Side | Descriere |
|---|---|---|
exports['qs-inventory']:GetItemByName(name) |
Client | Returnează datele item-ului |
exports['qs-inventory']:GetItemsByName(name) |
Client | Returnează toate instanțele |
exports['qs-inventory']:setInClothing(bool) |
Client | Lock inventory în clothing mode |
exports['qs-inventory']:OpenInventory() |
Client | Deschide inventarul |
exports['qs-inventory']:CloseInventory() |
Client | Închide inventarul |
exports['qs-inventory']:HasItem(item, amount) |
Client | Verifică dacă are item |
exports['qs-inventory']:AddItem(source, item, amount) |
Server | Adaugă item |
exports['qs-inventory']:RemoveItem(source, item, amount) |
Server | Scoate item |
exports['qs-inventory']:GetItemBySlot(source, slot) |
Server | Item din slot |
exports['qs-inventory']:CreateUsableItem(name, cb) |
Server | Înregistrează item usable |
exports['qs-inventory']:OpenInventoryById(source, type, slots, maxWeight, label, other) |
Server | Deschide stash |
exports['qs-inventory']:RegisterStash(id, label, slots, weight) |
Server | Registrează stash |
Events emise:
| Event | Descriere |
|---|---|
inventory:client:ItemBox |
Notificare item add/remove |
hud:client:UpdateNeeds |
Update hunger/thirst |
hud:server:GainStress / RelieveStress |
Stress via items |
qs-vehiclekeys — Chei Vehicule 🔑
Commands:
| Command | Descriere |
|---|---|
/givekey [id] |
Dă cheie vehicul curent |
Key Exports (din scan cod sursă):
| Export | Side | Descriere |
|---|---|---|
exports['qs-vehiclekeys']:GetVehicleKeys(plate) |
Client | Verifică dacă are cheile |
exports['qs-vehiclekeys']:GiveKeys(plate) |
Client/Server | Dă cheile pentru plate |
exports['qs-vehiclekeys']:RemoveKeys(plate) |
Client/Server | Scoate cheile |
exports['qs-vehiclekeys']:SetVehicleLocked(vehicle, locked) |
Client | Lock/unlock vehicul |
exports['qs-vehiclekeys']:AreKeysJobShared(vehicle) |
Client | Verifică chei shared pt job |
exports['qs-vehiclekeys']:IsBlacklistedVehicle(vehicle) |
Client | Verifică blacklist |
Cine apelează qs-vehiclekeys:
| Resursă | Export | Scop |
|---|---|---|
| 0r_idcard | GiveKeys |
La obținere permis |
| bit-driverschool | GiveKeys |
La test auto |
| ac-carcontrol | GetVehicleKeys / SetVehicleLocked |
Control vehicul |
| qs-advancedgarages | GiveKeys / RemoveKeys |
La scos/pus mașina |
| qs-smartphone-pro | SetVehicleLocked |
Remote lock/unlock |
| rcore_fuel | GetVehicleKeys |
Verificare owner la pump |
| luxu_admin | GiveKeys |
Admin key management |
| qb-target | GetVehicleKeys |
Target interactions |
| wasabi_bridge | GiveKeys |
Bridge police/ambulance |
qs-advancedgarages — Garaje Avansate
Key Exports:
| Export | Side | Descriere |
|---|---|---|
exports['qs-advancedgarages']:GetVehicleGarage(plate) |
Server | Returnează garajul vehiculului |
Dependințe directe:
- qs-vehiclekeys (keys la scos/pus)
- qs-inventory (stash în garaj)
- 17mov_CharacterSystem (wardrobe bridge)
- qb-core, oxmysql
qs-smartphone-pro — Telefon
Key Exports:
| Export | Side | Descriere |
|---|---|---|
exports['qs-smartphone-pro']:hasPhone() |
Client | Are telefon? |
exports['qs-smartphone-pro']:isPhoneOpen() |
Client | E telefonul deschis? |
exports['qs-smartphone-pro']:openPhone() |
Client | Deschide telefonul |
exports['qs-smartphone-pro']:closePhone() |
Client | Închide telefonul |
Dependințe directe:
- pma-voice (call system)
- qs-vehiclekeys (remote lock/unlock)
- qs-inventory (item telefon)
- phone-radio + xsound (radio)
- screenshot-basic (camera)
qs-shops — Magazine
Dependințe: qb-core, qs-inventory, oxmysql
Config: json/shops-inventory.json
qs-housing — Case
Dependințe: qb-core, qs-inventory, oxmysql
Cross-resource: qb-clothing:client:openOutfitMenu → 17mov_CharacterSystem
🔍 KEYWORD LOOKUP — Quick Search
🔑 "key" / "keys" — Tot ce se leagă de chei:
SISTEM PRINCIPAL: qs-vehiclekeys
├── Exports: GiveKeys, RemoveKeys, GetVehicleKeys, SetVehicleLocked
├── Command: /givekey [id]
├── DB: player_vehicles (keys column)
│
├── CINE DĂ CHEI:
│ ├── bit-driverschool → GiveKeys la test auto
│ ├── 0r_idcard → GiveKeys la driving license
│ ├── qs-advancedgarages → GiveKeys la scos mașina
│ ├── luxu_admin → giveVehicleKeys (admin)
│ ├── wasabi_bridge → GiveKeys (police/ambulance vehicles)
│ └── jg-dealerships → GiveKeys implicit la cumpărare
│
├── CINE VERIFICĂ CHEI:
│ ├── ac-carcontrol → GetVehicleKeys (lock/engine)
│ ├── qb-target → GetVehicleKeys (target menu pe vehicul)
│ ├── rcore_fuel → GetVehicleKeys (verificare owner la pump)
│ └── qs-smartphone-pro → remote lock (SetVehicleLocked)
│
├── CINE SCOATE CHEI:
│ ├── qs-advancedgarages → RemoveKeys la pus mașina
│ └── qb-smallresources → cleanup la disconnect
│
├── ITEMS LEGATE: vehiclekey (metadata cu plate)
├── CONFIG: qs-vehiclekeys/config.lua
└── HOTWIRE: dispatch → codem-dispatch / wasabi_police alert
👕 "outfit" / "clothing" / "skin" — Tot ce se leagă de haine:
SISTEM PRINCIPAL: 17mov_CharacterSystem
├── Events: SaveCurrentSkin, OpenOutfitsMenu, qb-clothing:*
├── Config: Config.Outfits (job outfits), Skin.lua (presets)
│
├── CINE SCHIMBĂ OUTFITS:
│ ├── t1ger_mechanic → duty outfit (mechanic)
│ ├── wasabi_police → duty outfit (police)
│ ├── wasabi_ambulance → clothing menu
│ ├── qs-housing → wardrobe
│ ├── qs-advancedgarages → wardrobe
│ └── qb-management → boss/gang outfit
│
├── FLOW: Duty ON → SaveCurrentSkin → Apply Job Outfit
│ Duty OFF → Restore Civil Outfit
│
├── INVENTORY LOCK: exports['qs-inventory']:setInClothing(true/false)
└── PLUGIN: 17mov-plugin-char-creator (ascultă SaveCurrentSkin)
📱 "phone" / "telefon" — Tot ce se leagă de telefon:
SISTEM PRINCIPAL: qs-smartphone-pro
├── Exports: hasPhone, isPhoneOpen, openPhone, closePhone
├── Item: phone (qs-inventory)
│
├── INTEGRĂRI:
│ ├── pma-voice → call system (apeluri)
│ ├── qs-vehiclekeys → remote lock/unlock
│ ├── phone-radio → radio (xsound)
│ ├── screenshot-basic → camera photos
│ ├── luxu_admin → phone control
│ └── qs-inventory → item management
│
├── EVENTS ASCULTATE:
│ ├── QBCore:Client:OnPlayerLoaded → init phone
│ └── QBCore:Client:OnJobUpdate → refresh job apps
│
└── WEBHOOK: Necesită configurare (pending)
🔔 "notify" / "notification" — Tot ce se leagă de notificări:
SISTEM PRINCIPAL: 17mov_Hud
├── Export: exports["17mov_Hud"]:ShowNotification(text, type, title, time)
├── Event: TriggerEvent("17mov_Hud:ShowNotification", ...)
│
├── CINE TRIMITE NOTIFICĂRI:
│ ├── qb-core → client/functions.lua (TOATE notificările QBCore)
│ ├── ox_lib → resource/interface/client/notify.lua (ox_lib → 17mov bridge)
│ ├── 0r_idcard → config.lua (direct export)
│ ├── bit-driverschool → config.lua (direct export)
│ └── qb-smallresources → server/consumables.lua (server→client event)
│
├── TIPURI: "info", "error", "success"
├── DEFAULT TITLE: Config.Lang["DefaultNotification"]
└── DEFAULT TIME: string.len(text) * 0.09 + 2000 ms
📦 "inventory" / "item" / "stash" — Tot ce se leagă de inventar:
SISTEM PRINCIPAL: qs-inventory
├── Exports: AddItem, RemoveItem, HasItem, CreateUsableItem, RegisterStash, ...
├── Items definite în: qb-core/shared/items.lua
│
├── CINE FOLOSEȘTE STASH:
│ ├── t1ger_lib → mechanic/tuning stash
│ ├── qs-advancedgarages → trunk/glovebox
│ ├── qs-housing → stash case
│ └── qs-shops → shop inventory
│
├── CINE ADAUGĂ/SCOATE ITEMS:
│ ├── qb-core → bridge AddItem/RemoveItem
│ ├── luxu_admin → admin item management
│ ├── qb-smallresources → consumables
│ └── mBossmenu → society items
│
└── HUD EVENTS:
├── hud:client:UpdateNeeds → hunger/thirst
├── hud:server:GainStress → stress
└── hud:server:RelieveStress → relax
💼 "job" / "duty" — Tot ce se leagă de joburi:
DEFINIȚII: qb-core/shared/jobs.lua
EVENTS: QBCore:Client:OnJobUpdate, QBCore:Server:SetDuty
│
├── JOBURI ACTIVE PE SERVER:
│ ├── police → wasabi_police (rv-mdt, codem-dispatch)
│ ├── ambulance → wasabi_ambulance
│ ├── mechanic → t1ger_mechanic (t1ger_lib, t1ger_tuningsystem)
│ ├── electrician → 17mov_Electrician
│ ├── bus → aty_busjob
│ └── unemployed → 17mov_JobCenter
│
├── DUTY TOGGLE FLOW:
│ 1. Player clicks duty point
│ 2. qb-core: TriggerEvent('QBCore:Server:SetDuty', src, true/false)
│ 3. 17mov_CharacterSystem: Save civilian → Apply job outfit (or restore)
│ 4. Listeners: 17mov_Hud, qb-target, qs-shops, qs-smartphone-pro, etc.
│
├── SOCIETY MONEY: qb-management (boss menu, billing)
├── OUTFIT SYSTEM: 17mov_CharacterSystem/configs/Config.lua → Config.Outfits
│
└── ASCULTĂ OnJobUpdate (30+ resurse):
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
🟡 KUZQUALITY (kq)
Resurse pe server: kq_carheist, kq_dyno, kq_wheeldamage
Docs: https://docs.kuzquality.com/
Update System: KQ Link (Git-based auto-update + licensing)
kq_carheist — Car Heist Minigame
- Descriere: Script de furt vehicule cu misiuni, NPC, liste de mașini, dispatch alerts
- Tip: Standalone cu bridge QBCore
- Dependințe directe: qb-core (framework), oxmysql (DB)
- Cross-resource:
QBCore:Client:OnPlayerLoaded→ init player dataQBCore:Client:OnJobUpdate→ verificare job blacklist- Dispatch event →
codem-dispatch(policeAlert la furt) qs-vehiclekeys→ hotwire implicit
- Config:
config.lua— vehicle lists, spawn points, rewards, cooldowns - Items: Necesită items definite în
qb-core/shared/items.lua
kq_dyno — Car Dyno Bench
- Descriere: Dyno bench testing — măsoară HP, torque, viteza vehiculelor
- Tip: Mostly standalone (vehicle physics native)
- Dependințe directe: qb-core (framework)
- Cross-resource:
QBCore:Client:OnPlayerLoaded→ player initQBCore:Client:OnJobUpdate→ job check (mechanic access)- Poate fi legat de
t1ger_mechanic→ acces dyno doar pt mecanici
- Config:
config.lua— locații dyno, animații, restricții - Install: Necesită KQ Link active
kq_wheeldamage — Realistic Wheel Damage
- Descriere: Damage realist pe roți — burst, deformation, handling degradation
- Tip: Fully standalone (vehicle physics override)
- Dependințe directe: Niciuna (standalone, nu depinde de framework)
- Cross-resource: Niciun export/event cross-resource
- Config:
config.lua— damage multipliers, burst thresholds, vehicle blacklist
KQ Link — Update & License System
- Scop: Sistem de auto-update via Git pentru toate resursele KQ
- Exports disponibile:
exports['kq_link']:getVersion(resource)→ versiunea curentăexports['kq_link']:checkUpdate(resource)→ check for updates
- Docs: https://docs.kuzquality.com/kq-link/developer-reference
Impact KQ pe server:
kq_carheist → qb-core (framework), codem-dispatch (police alert)
kq_dyno → qb-core (framework), t1ger_mechanic (job check opțional)
kq_wheeldamage → standalone (zero cross-resource deps)
🔴 RCORE (rc)
Resurse pe server: rcore_fuel, rcore_casino, rcore_prison, rcore_doorlock
Docs: https://documentation.rcore.cz/
Licensing: CFX Auth System (Cfx.re asset escrow)
rcore_fuel — Sistem Combustibil
- Descriere: Fuel system complet — benzinării, jerry can, consum realistic, tipuri combustibil, fuel capacity per vehicul
- Dependințe directe: qb-core (framework), oxmysql (DB)
- Cross-resource:
qs-vehiclekeys→ verificare keys la pump (owner check)QBCore:Client:OnPlayerLoaded→ init player dataQBCore:Client:OnJobUpdate→ job-based fuel stationsqs-inventory→ jerry can items
Key Exports (Client):
| Export | Return | Descriere |
|---|---|---|
exports["rcore_fuel"]:GetVehicleFuelLiters(vehicle) |
float | Fuel curent în litri |
exports["rcore_fuel"]:GetVehicleFuelPercentage(vehicle) |
float | Fuel curent 0-100% |
exports["rcore_fuel"]:GetMaximumFuelCapacityForVehicle(vehicle) |
float | Capacitate maximă litri |
exports["rcore_fuel"]:GetVehicleMaxCurrentDrivingRange(vehicle) |
float | Range maxim curent |
exports["rcore_fuel"]:GetVehicleFuelConsumptionEfficiency(vehicle) |
float | Eco-friendliness % |
exports["rcore_fuel"]:SetVehicleFuel(vehicle, percentage) |
void | Setează fuel % |
exports["rcore_fuel"]:AddVehicleFuelLiter(vehicle, fuel) |
void | Adaugă litri |
exports["rcore_fuel"]:RemoveVehicleFuelLiter(vehicle, fuel) |
void | Scoate litri |
exports["rcore_fuel"]:AddVehicleFuelPercentage(vehicle, pct) |
void | Adaugă % |
exports["rcore_fuel"]:RemoveVehicleFuelPercentage(vehicle, pct) |
void | Scoate % |
Config: config.lua — fuel stations, types (gasoline/diesel/electric), vehicle capacities, prices
Items: jerrycan (qs-inventory / qb-core items)
rcore_casino — Casino Complet
- Descriere: Casino high-end — blackjack, poker, roulette, slots, lucky wheel, inside track, bar, VIP
- Dependințe directe: qb-core (framework), oxmysql (DB)
- Cross-resource:
QBCore:Client:OnPlayerLoaded→ init casino dataQBCore:Client:OnJobUpdate→ job casino (grad 1+ → deliver podium vehicle)qs-inventory→ casino chips items, bar items17mov_CharacterSystem→ clothing bridge (casino outfit opțional)
CasinoControl Exports (Server):
| Export / Function | Descriere |
|---|---|
exports["rcore_casino"]:GetCasinoControl() |
Returnează obiectul Casino Control |
Casino.GetCasinoPlayer(playerId) |
PlayerData (nil dacă nu e în casino) |
Casino.GetCasinoPlayers() |
Array toți jucătorii din casino |
Casino.IsPlayerInCasino(playerId) |
boolean — e în casino? |
Casino.IsPlayerBusy(playerId) |
boolean — joacă un joc? |
Casino.StopPlaying(playerId) |
Forțează stop joc |
Casino.BlockPlaying(playerId) |
Blochează accesul la jocuri |
Casino.AllowPlaying(playerId) |
Deblochează accesul |
Casino.KickPlayer(playerId) |
Kick din clădire |
Casino.ToggleVIP(playerId, vip) |
Toggle VIP membership |
Casino.ToggleCasino(enabled) |
Pornește/oprește casinoul |
Casino.ToggleCasinoActivity(activity, enabled) |
Toggle activitate specifică |
Server Events:
| Event | Descriere |
|---|---|
AddEventHandler("PlayerJoinedCasino", function(playerId)) |
Când intră în casino |
AddEventHandler("PlayerLeftCasino", function(playerId)) |
Când iese din casino |
Client Events:
| Event | Descriere |
|---|---|
TriggerEvent("Casino:GetPlayerState", function(o)) |
Get local player state (chips, VIP, items) |
Activities: slots, luckywheel, insidetrack, drinkingbar, roulette, poker, blackjack, cashier, seating, cameras
DB: Tabele proprii (casino_players, casino_settings)
Job: casino (definit în qb-core/shared/jobs.lua)
rcore_prison — Sistem Închisoare V2
- Descriere: Închisoare all-in-one — jail, sentence, activities, prison break, solitary, community service, gym
- Tip: Plug and Play (auto-DB, no SQL files needed)
- Dependințe directe: qb-core (framework), oxmysql (auto-managed)
- Cross-resource:
qs-inventory→ prison items, consumablesqb-target→ target interactions in prisonox_lib→ context menus opționalqb-menu→ menus opțional17mov_CharacterSystem→ prison clothing (illenium-appearance bridge)wasabi_police→ jail integration (police can jail via /jail)codem-dispatch→ dispatch la prison break
Commands:
| Command | Descriere |
|---|---|
/jailcp |
Manage prisoners panel |
/jail [id] [time] [reason] |
Jail citizen |
/unjail [id] |
Unjail citizen |
/startcs [id] [amount] |
Community service |
/removescs [id] |
Remove community service |
/stopalarm |
Stop prison alarm |
/solitary [id] [time] |
Put in solitary |
/rsolitary [id] |
Remove from solitary |
Supported Integrations: QBCore, qs-inventory, qb-target, ox_lib, illenium-appearance, codem-dispatch, qb-smallresources API: Client + Server events/exports (https://documentation.rcore.cz/paid-resources/rcore_prison/api)
rcore_doorlock — Sistem Uși & Business
- Descriere: Door lock system — uși, business management, keychain, crafting, permissions, presets
- Dependințe directe: qb-core (framework), oxmysql (DB)
- Cross-resource:
qs-inventory→ keychain items, lockpickqb-target→ door interactions
Key Exports (Client):
| Export | Return | Descriere |
|---|---|---|
exports.rcore_doorlock:openDoorsManagement() |
void | Deschide UI management uși |
exports.rcore_doorlock:getDoorsCreatedBy(createdBy) |
table | Uși create de admin/business |
exports.rcore_doorlock:openCrafting(businessName) |
void | Crafting pt business |
exports.rcore_doorlock:openBossActions(businessName) |
void | Boss actions business |
exports.rcore_doorlock:getBusinessGrade() |
grade, name | Grade jucător în business |
exports.rcore_doorlock:hasPlayerBusinessPermision(perm) |
boolean | Check permisiune |
exports.rcore_doorlock:changeDoorStateLocalNotPersist(id, state) |
boolean | Lock/unlock local |
Key Exports (Server):
| Export | Return | Descriere |
|---|---|---|
exports.rcore_doorlock:changeDoorState(doorId, state) |
boolean | Lock/unlock persistent (0=unlock, 1=lock) |
exports.rcore_doorlock:addDoor(door, client) |
boolean | Adaugă ușă în DB |
exports.rcore_doorlock:getPlayerBusiness(playerId) |
name, biz, job | Business-ul jucătorului |
exports.rcore_doorlock:getSqlDoors() |
table | Toate ușile din DB |
exports.rcore_doorlock:getLoadedDoors() |
table | Toate ușile încărcate |
Shared Exports:
| Export | Return | Descriere |
|---|---|---|
exports.rcore_doorlock:getBusinesses() |
table | Toate business-urile din config |
exports.rcore_doorlock:getBridgeInfo() |
table | Info bridge framework |
exports.rcore_doorlock:translate(key, ...) |
string | Traducere locale |
Config: config.lua, config.business.lua — doors, permissions, businesses
Impact rCore pe server:
rcore_fuel → qb-core, qs-vehiclekeys (verify keys), qs-inventory (jerry can)
rcore_casino → qb-core, qs-inventory (chips/items), oxmysql, casino job
rcore_prison → qb-core, qs-inventory, qb-target, 17mov_CharacterSystem (clothing), wasabi_police (jail), codem-dispatch (prison break)
rcore_doorlock → qb-core, qs-inventory (keychain), qb-target, oxmysql
📚 Docs Reference Links
🟢 T1GER (t1ger)
Resurse pe server: t1ger_mechanic, t1ger_tuningsystem, t1ger_lib, t1ger_carlift, t1ger_mechanicprops
Docs: https://docs.t1ger.net/
t1ger_lib (T1GER Library) — Core dependency
Dependință obligatorie pt toate resursele T1GER. Bridge pentru framework, inventory, target, notifications, vehicle DB.
Config critice (t1ger_lib/config.lua):
Config.Framework—'qb-core'/'es_extended'/'qbox'Config.Inventory—'qs-inventory'/'ox_inventory'/'qb-inventory'Config.TargetSystem—'qb-target'/'ox_target'Config.UseFrameworkNotification—true= QB/ESX notif,false= ox_lib
| Export | Tip | Descriere |
|---|---|---|
exports['t1ger_lib']:CreateVehicleMeta(plate, src) |
Server Export | Creează metadata vehicul + sync mecanic |
GetAllVehicles(citizenid) |
Server Function | Returnează lista de vehicule owned din DB |
UpdateOwnedVehicle(src, stored, garage, props) |
Server Function | Update stare vehicul (spawn/store) |
ShowNotification(data) |
Client Function | Notificare bridge ({title, message, type}) |
DB tables folosite: owned_vehicles / player_vehicles
Coloane critice: plate, vehicle/mods, stored/state, garage/parking, fuel, engine, body
t1ger_mechanic — Exports & Features
Cel mai imersiv script de mecanic pentru FiveM. Shop management dinamic, mileage tracking 1:1, componente realiste.
Features principale:
- Dynamic Shop Creation (in-game, no restart)
- Ownable mechanic shops cu duty, boss, garage, storage, crafting markers
- Realistic Component Structure (Service Parts + Core Parts)
- 1:1 Real-world Mileage Tracking
- Core Part Malfunctions (4 health states → engine disable)
- Service History per vehicle
- Body Repair System cu diagnostic tool
- Repair Kits (basic/advanced)
- Car Lifts & Jacks (custom props)
- Repair Stations (public pay-per-use)
- NPC Missions (tow, roadside, scrap)
- Flatbed Towing (attach/detach)
- Billing System (itemized invoices)
- Crafting Workbenches + Supplier System
| Export | Tip | Descriere |
|---|---|---|
exports['t1ger_mechanic']:TrimPlate(plate) |
Server | Formatează plate string |
exports['t1ger_mechanic']:IsPlayerEmployee(src, shopId) |
Server | Check dacă player e angajat la shop |
exports['t1ger_mechanic']:SaveVehicleData(plate, data) |
Server | Salvează date mecanice în DB |
exports['t1ger_mechanic']:AddServiceHistory(plate, shopId, mechanicId, serviceData) |
Server | Adaugă istoric service |
Dependențe: qb-core, oxmysql, t1ger_lib, qb-target, qs-inventory
Cross-resource impact:
17mov_CharacterSystem→ Config.Outfits['mechanic'] (duty outfit)qs-inventory→ items mecanice, repair kits, crafting materialsqb-target→ interact cu vehicule, markers shopqb-management→ society billing via t1ger_lib
t1ger_tuningsystem — Features & API
Tuning system complet — visual mods, engine swaps, dyno tuning, nitrous, mod orders.
Features principale:
- Admin Management Menu (create/manage tuner shops in-game)
- Tuner Shops cu markers: Duty, Boss, Garage, Storage, Workbench, Laptop, Customs, Tuning Bay
- Vehicle Tuning (all GTA mods incl. DLC, respray, custom plates)
- Advanced Pricing (tiered, escalation, parts acquisition cost)
- Tuner Tablet (diagnostics, bills, NPC jobs, mod orders)
- Mod Orders (workflow UI, item-based installation)
- Drift Tyres (install/reinstall stock)
- Engine Swaps (sound-only, per class, custom/GTA sounds)
- Nitrous System (kits, purge, burst, dyno-integrated)
- Dyno Tuning (torque, power, brakes modifiers)
- NPC Jobs (Salvage, Mobile Tuning)
- Mod Stations (self-service for whitelisted jobs)
- Billing System
| Export | Tip | Descriere |
|---|---|---|
exports['t1ger_tuningsystem']:IsPlayerTuner() |
Client | Returnează boolean, shopId |
exports['t1ger_tuningsystem']:GetVehicleNitrousProperties(veh) |
Client | NOS details instalat |
exports['t1ger_tuningsystem']:GetVehicleDynoProperties(veh) |
Client | Statistici performanță |
exports['t1ger_tuningsystem']:GetAccountMoney(shopId) |
Server | Banii shop-ului |
exports['t1ger_tuningsystem']:AddAccountMoney(shopId, amount) |
Server | Adaugă bani la shop |
exports['t1ger_tuningsystem']:RemoveAccountMoney(shopId, amount) |
Server | Scade bani din shop |
Dependențe: qb-core / es_extended, oxmysql, t1ger_lib, qb-target / ox_target, qs-inventory / ox_inventory
t1ger_carlift — Car Lift Props
Props custom pentru ridicare vehicule la mecanic. Integrare cu
t1ger_mechanic.
t1ger_mechanicprops — Stream Assets
Prop-uri 3D custom pentru animații mecanice (unelte, piese, etc).