HALLOWEEN SALE·20% RabattZum Shop

Gefällt dir unsere Doku? Lass uns eine Bewertung auf Google da, damit auch andere von uns erfahren.

Installation

  1. config.lua anpassen (HCSConfig.Framework, HCSConfig.Inventory, HCSConfig.Locale, HCSConfig.AccentColor).
  2. Als Dependency in den anderen HCS_* Resources eintragen (siehe dependencies { 'HCS_lib' } und @HCS_lib/init.lua).
cfg
ensure es_extended   # oder qb-core / qbx_core
ensure HCS_lib

ESX/QB und das Inventar werden bei HCSConfig.Framework = 'auto' automatisch erkannt. HCS_lib selbst macht nichts Sichtbares, sondern stellt nur Bridge, Notify, Locale und Callback für die anderen Resources bereit.

Standalone (eigenes Framework)

Läuft kein ESX, QBCore oder Qbox (oder steht HCSConfig.Framework = 'standalone'), holen alle HCS-Scripts ihre Framework-Daten aus HCS_lib/shared/functions.lua. Dort bindest du dein Framework einmal an, danach funktionieren alle HCS-Scripts damit.

Die Standardwerte laufen ohne Framework: Identifier ist die license:, Name der FiveM-Name, es gibt kein Geld, keine Items und keinen Job.

Server

FunktionRückgabeWofür
CustomBridge.GetIdentifier(src)stringEindeutige, dauerhafte ID des Spielers (bei Multichar die Charakter-ID)
CustomBridge.GetName(src)stringCharaktername in den UIs
CustomBridge.GetJob(src)name, grade, labelJob, Rang und Anzeigename, z. B. 'police', 2, 'Police | Sergeant'
CustomBridge.SetJob(src, job, grade)booleanJob setzen (z. B. HCS_invite)
CustomBridge.GetGroup(src)stringTeam-Gruppe, wird mit Config.Permissions[...].groups verglichen
CustomBridge.GetMoney(src, account)numberKontostand, account = 'money' (Bargeld) oder 'bank'
CustomBridge.AddMoney(src, account, amount)booleanGeld gutschreiben
CustomBridge.RemoveMoney(src, account, amount)booleanGeld abziehen, nur true wenn es wirklich abgezogen wurde
CustomBridge.GiveItem(src, item, amount)booleanItem geben
CustomBridge.HasItem(src, item, amount)booleanItem vorhanden
CustomBridge.RemoveItem(src, item, amount)booleanItem entfernen
CustomBridge.GetItemList()tableItem-Auswahl, z. B. { { value = 'bread', label = 'Brot' } }

Die Item-Funktionen werden nur genutzt, wenn kein unterstütztes Inventar läuft. Mit ox_inventory gehen Items automatisch darüber.

Client

FunktionRückgabeWofür
CustomBridge.GetMoney()cash, bankGeldanzeige im HUD
CustomBridge.GetJob()name, grade, labelJobanzeige im HUD, Job-Stores im Clothingshop
CustomBridge.GetName()stringCharaktername
CustomBridge.Notify(message, type, title)-Benachrichtigung, wenn HCS_hud nicht läuft
CustomBridge.HelpNotify(message)-Hilfetext, wenn HCS_hud nicht läuft

Jobwechsel melden

Wechselt ein Spieler den Job, löst du auf dem Client dieses lokale Event aus. HUD und Clothingshop aktualisieren sich dann sofort.

lua
TriggerEvent('HCS:jobChanged')

Beispiel

lua
function CustomBridge.GetMoney(src, account)
    return exports['my_framework']:GetMoney(src, account)
end

function CustomBridge.RemoveMoney(src, account, amount)
    return exports['my_framework']:RemoveMoney(src, account, amount) == true
end

Script-spezifische Anbindungen (Fahrzeugschlüssel, Tank, Handy, ...) liegen nicht hier, sondern in der shared/functions.lua des jeweiligen Scripts.