Agency Docs

Dev-Partner

An Agency-Scripts andocken

Du baust ein eigenes FiveM-Script und willst, dass es mit unseren spricht? Hier steht jeder öffentliche Export und jedes Ereignis, zu jedem ein Stück Lua zum Kopieren.

Über Exports ruft dein Script eine Funktion in unserem auf: exports['script-name']:FunctionName(args), auf Client und Server gleichermaßen. Ereignisse laufen andersherum: ausgelöst mit TriggerEvent oder TriggerServerEvent, empfangen mit RegisterNetEvent.

01Agency-Phone

Vollwertiges Multi-Framework-Telefon mit SMS, Anrufen, Social Feed, Mail, Kamera, Wallet und AgencyPay-Checkout.

Nutze es in jedem Shop-/Raub-/Job-Script wenn du einen sauberen In-Phone-Zahlungs-Flow haben willst statt sofort Geld abzuziehen. Auch ideal für In-Game-Benachrichtigungen mit Accept/Deny-Buttons (z.B. Taxi-Anfragen, Dispatch-Anrufe).

Zur vollen Doku

Client-Exports

IsPhoneOpen()

Liefert true, wenn die Phone-UI aktuell offen ist.

Beispiel zeigen

Überspringt das Öffnen eines Menüs, wenn das Handy gerade offen ist.

RegisterCommand('openmymenu', function() if exports['agency-phone']:IsPhoneOpen() then return end TriggerEvent('myresource:openMenu') end)
IsPhonePoweredOn()

Liefert true, wenn das Phone eingeschaltet ist.

Beispiel zeigen

Pausiert Hintergrund-Syncs, wenn der Spieler das Handy ausgeschaltet hat.

CreateThread(function() while true do Wait(2000) if not exports['agency-phone']:IsPhonePoweredOn() then print('Phone off, pausing background sync') end end end)
GetPhoneData()

Liefert die rohe Phone-Daten-Tabelle.

Beispiel zeigen

Gibt die komplette Phone-Daten-Tabelle zum Debuggen aus.

RegisterCommand('phonedebug', function() local data = exports['agency-phone']:GetPhoneData() print(json.encode(data, { indent = true })) end)
GetPhonePropEntity()

Gibt das Entity-Handle des gehaltenen Phone-Props zurück, oder 0 wenn nicht sichtbar.

Beispiel zeigen

Versteckt das Phone-Prop kurz, ohne die Logik anzufassen.

CreateThread(function() Wait(500) local prop = exports['agency-phone']:GetPhonePropEntity() if prop ~= 0 and DoesEntityExist(prop) then SetEntityVisible(prop, false, false) end end)
IsPhoneExpanded()

Liefert true, wenn das Phone auf dem Bildschirm vergrößert ist.

Beispiel zeigen

Alter Alias, der ein Minispiel sperrt, solange das Handy offen ist.

AddEventHandler('myresource:beforeMinigame', function() if exports['agency-phone']:IsPhoneExpanded() then TriggerEvent('chat:addMessage', { args = { 'Close phone first' } }) return end end)
HasCarrierContract()

Gibt true zurück, wenn der Spieler einen aktiven data plan beim Carrier hat.

Beispiel zeigen

Warnt den Spieler, wenn aktuell kein Datentarif aktiv ist.

RegisterCommand('checkdata', function() if not exports['agency-phone']:HasCarrierContract() then TriggerEvent('chat:addMessage', { args = { 'No data plan, buy one in the store app' } }) end end)
GetPhoneState()

Liefert das vollständige Phone-State-Objekt.

Beispiel zeigen

Cached den Phone-Status nur, wenn Telefon offen, an und synchronisierend ist.

AddEventHandler('myresource:saveProfile', function() local state = exports['agency-phone']:GetPhoneState() if state.isOpen and state.poweredOn and state.syncEnabled then TriggerServerEvent('myresource:server:cachePhoneState', state) end end)
HasPhone()

Liefert true, wenn der Spieler ein Phone-Item besitzt.

Beispiel zeigen

Blockiert den Notruf-Befehl, wenn der Spieler kein Telefon dabei hat.

RegisterCommand('callemergency', function() if not exports['agency-phone']:HasPhone() then TriggerEvent('chat:addMessage', { args = { 'You need a phone first' } }) return end TriggerEvent('myresource:client:openEmergency') end)
RegisterAgencyPayPoint(id, data)

Registriert ein wiederkehrendes AgencyPay-Händlerterminal.

Beispiel zeigen

Erstellt ein Agency-Pay-Terminal für die Werkstatt-Kasse zur Laufzeit.

CreateThread(function() exports['agency-phone']:RegisterAgencyPayPoint('mechanic_main', { coords = vector3(-211.74, -1314.59, 31.29), label = 'Mechanic Pay Point', amount = 250, receiver = 'mechanic' }) end)
RemoveAgencyPayPoint(id)

Entfernt ein zuvor registriertes AgencyPay-Terminal.

Beispiel zeigen

Entfernt das registrierte Pay-Point, wenn der Shop schließt.

AddEventHandler('myresource:onShopClosed', function(shopId) exports['agency-phone']:RemoveAgencyPayPoint('mechanic_main') print('Removed pay point for shop ' .. shopId) end)
StartAgencyPayCheckout(data)

Öffnet das AgencyPay-Checkout-Sheet für sichere Kartenzahlung.

Beispiel zeigen

Öffnet das Handy und startet einen kleinen Agency-Pay-Trinkgeld-Checkout.

RegisterCommand('paytip', function() exports['agency-phone']:StartAgencyPayCheckout({ amount = 25, receiver = 'staff_tip_jar', label = 'Staff tip', memo = 'Thanks for great service' }) end)
StartCall(contactData)

Startet einen pma-voice-Anruf mit einer Kontakttabelle.

Beispiel zeigen

Startet einen Anruf an den Dispatch-Kontakt, sobald das Event eintrifft.

RegisterNetEvent('myresource:client:incomingDispatch', function(payload) exports['agency-phone']:StartCall({ name = payload.callerName or 'Dispatch', number = payload.callerNumber or '911', anonymous = false }) end)
PhoneNotification(title, text, icon, color, timeout, acceptIcon, denyIcon)

Zeigt eine Phone-Benachrichtigung mit optionalen Accept/Deny-Buttons.

Beispiel zeigen

Zeigt eine blockierende Annahme-/Ablehnen-Benachrichtigung für einen Abschleppauftrag.

CreateThread(function() local accepted = exports['agency-phone']:PhoneNotification( 'Tow request', 'Accept the contract?', 'truck', '#FF8800', 15000, 'check', 'x' ) if accepted then TriggerServerEvent('myresource:server:acceptTow') end end)

Server-Exports

SendMail(identifier, mailData)

Sendet eine Mail an einen Spieler (online oder offline).

Beispiel zeigen

Schickt einem Spieler per Primär-Identifier eine Bestellbestätigung als Mail.

RegisterNetEvent('myresource:server:sendReceipt', function(targetId) local identifier = GetPlayerIdentifier(targetId, 0) exports['agency-phone']:SendMail(identifier, { sender = '[email protected]', subject = 'Your receipt', body = 'Thanks for your purchase!' }) end)
AddChirp(chirpData)

Postet eine Nachricht im Pulse (chirper) Feed.

Beispiel zeigen

Postet eine Kopfgeld-Ankündigung serverseitig auf Chirper.

RegisterNetEvent('myresource:server:postBounty', function(targetName) local src = source exports['agency-phone']:AddChirp({ identifier = GetPlayerIdentifier(src, 0), firstName = 'Bounty', lastName = 'Office', message = 'Wanted: ' .. targetName, postId = ('bounty_%s'):format(GetGameTimer()) }) end)
usePhone(event, item, inventory, slot, data)

ox_inventory-Hook, registriert wenn ESX+ox_inventory erkannt wird; öffnet das Phone für den Inventarinhaber.

Beispiel zeigen

Hängt sich an ox_inventorys usingItem, um das Handy via Helper zu öffnen.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'phone' then return end return exports['agency-phone']:usePhone('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { phone = true } })

Ereignisse

agency-phone:client:notify

Zeigt eine Phone-Benachrichtigung an (title, text, icon, color, timeout, silent).

Beispiel zeigen

Sendet eine nicht-blockierende Toast-Nachricht: Fahrzeug ist abholbereit.

TriggerEvent('agency-phone:client:notify', 'Heads up', 'Vehicle ready for pickup', 'car', '#22cc88', 5000, false)
agency-phone:client:usePhoneItem

Löst den Öffnungsablauf des Phones aus, wenn das Phone-Inventaritem benutzt wird.

Beispiel zeigen

Leitet ein eigenes Item-Use-Event an die Phone-Öffnungsroutine weiter.

AddEventHandler('myresource:client:onItemUsed', function(itemName) if itemName == 'phone' then TriggerEvent('agency-phone:client:usePhoneItem') end end)
agency-phone:client:openApp

Fordert das Phone auf, per ID zu einer benutzerdefinierten App zu navigieren (von App-Modulen genutzt).

Beispiel zeigen

Springt im Handy direkt zur eigenen Banking-App über die App-ID.

RegisterCommand('openbank', function() TriggerEvent('agency-phone:client:openApp', 'banking') end)
agency-phone:client:newMailNotify

Benachrichtigt den Client über eine frisch empfangene Mail.

Beispiel zeigen

Hört auf neue Mail-Benachrichtigungen und protokolliert sie.

AddEventHandler('agency-phone:client:newMailNotify', function(mail) print(('New mail from %s: %s'):format(mail.sender, mail.subject)) end)
agency-phone:server:requestPhoneData

Fordert eine frische Phone-Datensynchronisation für den aufrufenden Spieler an.

Beispiel zeigen

Fordert vom Server eine frische Phone-Daten-Synchronisation an.

RegisterCommand('refreshphone', function() TriggerServerEvent('agency-phone:server:requestPhoneData') end)
agency-phone:server:cancelCall

Bricht einen aktiven Anruf ab oder beendet ihn.

Beispiel zeigen

Beendet einen aktiven Anruf über eigenen Keybind oder Chat-Befehl.

RegisterCommand('hangup', function() TriggerServerEvent('agency-phone:server:cancelCall') end)
agency-phone:server:sendMessage

Sendet eine SMS-Nachricht (newMsg, targetNumber).

Beispiel zeigen

Schickt schnell eine SMS an eine Zielnummer per Chateingabe.

RegisterCommand('quicksms', function(_, args) local target, msg = args[1], table.concat(args, ' ', 2) TriggerServerEvent('agency-phone:server:sendMessage', { message = msg }, target) end)
agency-phone:server:saveSetting

Speichert einen einzelnen Phone-Settings-Schlüssel/Wert für den Spieler.

Beispiel zeigen

Speichert eine Phone-Einstellung, sobald der Spieler sie clientseitig ändert.

AddEventHandler('myresource:client:onSettingChanged', function(key, value) TriggerServerEvent('agency-phone:server:saveSetting', key, value) end)
agency-phone:server:airdropPay

Führt eine Agency Airdrop-Zahlung an einen Spieler in der Nähe durch.

Beispiel zeigen

Löst eine Agency-Airdrop-Zahlung an Nahestehende mit eingegebenem Betrag aus.

RegisterCommand('airdrop', function(_, args) local amount = tonumber(args[1]) or 0 TriggerServerEvent('agency-phone:server:airdropPay', amount, 'Tip via airdrop') end)
agency-phone:server:buyDataPlan

Kauft einen Carrier data plan für den Spieler (price, planName).

Beispiel zeigen

Kauft einen Datentarif, nachdem der Spieler ihn in eigener UI gewählt hat.

AddEventHandler('myresource:client:onPlanSelected', function(plan) TriggerServerEvent('agency-phone:server:buyDataPlan', plan.price, plan.name) end)
agency-phone:dispatch:create

Erstellt einen Phone-Dispatch aus einem Notruf/SMS.

Beispiel zeigen

Erzeugt einen Phone-Dispatch-Eintrag aus einem eingehenden Notruf.

RegisterNetEvent('myresource:server:dispatchFromCall', function(payload) TriggerEvent('agency-phone:dispatch:create', { source = source, coords = payload.coords, type = 'robbery', title = '24/7 Robbery' }) end)

02Agency-Pad

AgencyOS-Tablet mit vollständigem App-Ökosystem. Registriere eigene Apps über die config.lua.

Perfekt für Admin-Dashboards, Business-Management-Apps, Gang-Territorium-Karten oder jede Custom-UI die du in GTA brauchst, lebt in einer schönen Tablet-Hülle ohne Extra-Arbeit.

Zur vollen Doku

Client-Exports

IsPadOpen()

Liefert true, wenn die Tablet-UI offen ist (Tablet-Status prüfen, bevor UIs angezeigt werden).

Beispiel zeigen

Verhindert das erneute Öffnen einer Tablet-UI, wenn das Tablet schon offen ist.

RegisterCommand('opentablet', function() if exports['agency-pad']:IsPadOpen() then return end TriggerEvent('myresource:openTablet') end)
IsPadPoweredOn()

Gibt true zurück, wenn das Tablet eingeschaltet ist.

Beispiel zeigen

Pausiert Fleet-Polling, wenn der Spieler das Tablet ausgeschaltet hat.

CreateThread(function() while true do Wait(3000) if not exports['agency-pad']:IsPadPoweredOn() then print('Tablet powered down, pausing fleet poll') end end end)
GetPadData()

Gibt die vollständige clientseitige PadData-Tabelle zurück.

Beispiel zeigen

Gibt die komplette Tablet-Daten-Tabelle clientseitig zum Inspizieren aus.

RegisterCommand('paddebug', function() local data = exports['agency-pad']:GetPadData() print(json.encode(data, { indent = true })) end)
GetPadPropEntity()

Gibt das Entity-Handle des gehaltenen Tablet-Props zurück, oder 0 wenn nicht sichtbar.

Beispiel zeigen

Versteckt das Tablet-Prop kurz während einer eigenen Cutscene.

CreateThread(function() Wait(750) local prop = exports['agency-pad']:GetPadPropEntity() if prop ~= 0 and DoesEntityExist(prop) then SetEntityVisible(prop, false, false) end end)
IsPadExpanded()

Alias von IsPadOpen(), zur Abwärtskompatibilität erhalten.

Beispiel zeigen

Alter Alias, der ein Minispiel sperrt, solange das Tablet offen ist.

AddEventHandler('myresource:client:beforeMinigame', function() if exports['agency-pad']:IsPadExpanded() then return end TriggerEvent('myresource:client:startMinigame') end)
HasCarrierContract()

Gibt true zurück, wenn der Spieler einen aktiven Carrier data plan auf dem Tablet hat.

Beispiel zeigen

Warnt den Spieler, wenn auf dem Tablet kein Datentarif aktiv ist.

RegisterCommand('checkpaddata', function() if not exports['agency-pad']:HasCarrierContract() then TriggerEvent('chat:addMessage', { args = { 'No tablet data plan, buy one in Settings' } }) end end)
GetPadState()

Gibt die Tabelle { isOpen, poweredOn, syncEnabled } mit dem aktuellen Tablet-Status zurück.

Beispiel zeigen

Speichert den Tablet-Status nur, wenn es offen und eingeschaltet ist.

AddEventHandler('myresource:saveSession', function() local state = exports['agency-pad']:GetPadState() if state.isOpen and state.poweredOn then TriggerServerEvent('myresource:server:cachePadState', state) end end)
HasPad()

Gibt true zurück, wenn der Spieler das konfigurierte Tablet-Item im Inventar hat.

Beispiel zeigen

Blockiert das Dispatch-UI-Kommando, wenn der Spieler kein Tablet dabei hat.

RegisterCommand('opendispatch', function() if not exports['agency-pad']:HasPad() then TriggerEvent('chat:addMessage', { args = { 'You need a tablet first' } }) return end TriggerEvent('myresource:client:openDispatch') end)
RegisterAgencyPayPoint(id, data)

Registriert ein Laufzeit-Agency Pay-terminal an einer Koordinate (markers, blip, checkout payload).

Beispiel zeigen

Erstellt ein Agency-Pay-Terminal im Krankenhaus-Foyer zur Laufzeit.

CreateThread(function() exports['agency-pad']:RegisterAgencyPayPoint('hospital_lobby', { coords = vector3(307.7, -1433.4, 30.0), label = 'Hospital Bill', amount = 500, receiver = 'medical' }) end)
RemoveAgencyPayPoint(id)

Entfernt einen zuvor registrierten Agency Pay-terminal anhand der id.

Beispiel zeigen

Entfernt einen registrierten Tablet-Pay-Point, wenn der Standort schließt.

AddEventHandler('myresource:onLocationClosed', function(locationId) exports['agency-pad']:RemoveAgencyPayPoint(locationId) end)
StartAgencyPayCheckout(data)

Öffnet das Tablet (falls nötig) und startet einen Agency Pay-Checkout mit dem gegebenen Payment-Payload.

Beispiel zeigen

Öffnet das Tablet und startet Agency-Pay-Checkout für die Grundsteuer.

RegisterCommand('paybill', function() exports['agency-pad']:StartAgencyPayCheckout({ amount = 1500, receiver = 'gov_taxes', label = 'Property tax', memo = 'Quarterly tax' }) end)
StartCall(contactData)

Startet einen ausgehenden Tablet-Anruf an den angegebenen Kontakt ({ name, number, ... }).

Beispiel zeigen

Startet einen ausgehenden Tablet-Anruf bei eingehender Dispatch-Nachricht.

RegisterNetEvent('myresource:client:dispatchOnTablet', function(payload) exports['agency-pad']:StartCall({ name = payload.name or 'Field Agent', number = payload.number, anonymous = false }) end)
PhoneNotification(title, text, icon, color, timeout, acceptIcon, denyIcon)

Zeigt eine Aktionsbenachrichtigung mit Accept/Deny-Buttons; blockiert bis der Nutzer antwortet und gibt true/false zurück.

Beispiel zeigen

Zeigt eine blockierende Annehmen-/Ablehnen-Tablet-Benachrichtigung für eine Lieferung.

CreateThread(function() local accepted = exports['agency-pad']:PhoneNotification( 'Mission ready', 'Start the delivery now?', 'box', '#3399ff', 12000, 'check', 'x' ) if accepted then TriggerServerEvent('myresource:server:startDelivery') end end)

Server-Exports

SendMail(identifier, mailData)

Sendet per Identifier eine Mail an das primäre Postfach des Spielers (gibt Erfolg zurück).

Beispiel zeigen

Schickt einem Spieler per Identifier eine Mail-Benachrichtigung zur Rechnung.

RegisterNetEvent('myresource:server:sendInvoiceMail', function(targetId) local identifier = GetPlayerIdentifier(targetId, 0) exports['agency-pad']:SendMail(identifier, { sender = '[email protected]', subject = 'New invoice available', body = 'Open the tablet to review your invoice.' }) end)
usePad(event, item, inventory, slot, data)

ox_inventory-Hook, registriert wenn ESX+ox_inventory erkannt wird; öffnet das Tablet für den Inventarinhaber.

Beispiel zeigen

Hängt sich an ox_inventory, um das Tablet via Integration zu öffnen.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'tablet' then return end return exports['agency-pad']:usePad('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { tablet = true } })
usePhone(event, item, inventory, slot, data)

ox_inventory-Hook für die alte Phone-Item-ID; öffnet das Tablet für den Inventarinhaber.

Beispiel zeigen

Leitet das alte Phone-Item so um, dass stattdessen das Tablet öffnet.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'phone' then return end return exports['agency-pad']:usePhone('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { phone = true } })

Ereignisse

agency-pad:client:notify

Zeigt eine Tablet-Benachrichtigung an (title, text, icon, color, timeout, silent).

Beispiel zeigen

Sendet eine nicht-blockierende Tablet-Toast über eine neu freigeschaltete Mission.

TriggerEvent('agency-pad:client:notify', 'Job update', 'New mission unlocked', 'briefcase', '#22cc88', 5000, false)
agency-pad:client:usePadItem

Öffnet das Tablet, wenn das Inventaritem benutzt wird.

Beispiel zeigen

Leitet ein eigenes Item-Use-Event an die Tablet-Öffnungsroutine weiter.

AddEventHandler('myresource:client:onItemUsed', function(itemName) if itemName == 'tablet' then TriggerEvent('agency-pad:client:usePadItem') end end)
agency-pad:client:openApp

Auf dem Client triggern, um eine bestimmte App im Tablet zu öffnen.

Beispiel zeigen

Springt im Tablet direkt zur eigenen Fuhrpark-App.

RegisterCommand('openfleet', function() TriggerEvent('agency-pad:client:openApp', 'fleet') end)
agency-pad:client:newMailNotify

Benachrichtigt den Client über eine frisch empfangene Mail.

Beispiel zeigen

Hört auf neue Tablet-Mail-Benachrichtigungen und loggt sie lokal.

AddEventHandler('agency-pad:client:newMailNotify', function(mail) print(('Tablet mail from %s: %s'):format(mail.sender, mail.subject)) end)
agency-pad:client:hourlyPaycheck

Benachrichtigt den Client über ein stündliches Business-Paycheck-Event.

Beispiel zeigen

Reagiert auf das stündliche Business-Paycheck-Event vom Tablet.

AddEventHandler('agency-pad:client:hourlyPaycheck', function(payload) print(('Hourly paycheck: $%s from %s'):format(payload.amount, payload.businessName)) end)
agency-pad:server:requestPadData

Fordert eine frische Tablet-Datensynchronisation für den aufrufenden Spieler an.

Beispiel zeigen

Fordert vom Server eine frische Tablet-Daten-Synchronisation an.

RegisterCommand('refreshpad', function() TriggerServerEvent('agency-pad:server:requestPadData') end)
agency-pad:server:sendMessage

Sendet eine SMS-Nachricht (newMsg, targetNumber).

Beispiel zeigen

Schickt eine SMS vom Tablet via eigenem Befehl und Ziel-Nummer.

RegisterCommand('quicksmsTab', function(_, args) local target, msg = args[1], table.concat(args, ' ', 2) TriggerServerEvent('agency-pad:server:sendMessage', { message = msg }, target) end)
agency-pad:server:airdropPay

Führt eine Agency Airdrop-Zahlung an einen Spieler in der Nähe durch.

Beispiel zeigen

Löst eine Agency-Airdrop-Überweisung an Nahestehende vom Tablet aus.

RegisterCommand('airdroppad', function(_, args) local amount = tonumber(args[1]) or 0 TriggerServerEvent('agency-pad:server:airdropPay', amount, 'Tablet airdrop') end)
agency-pad:server:buyDataPlan

Kauft einen Carrier data plan für den Spieler.

Beispiel zeigen

Kauft einen Tablet-Datentarif nach Auswahl in einer eigenen UI.

AddEventHandler('myresource:client:padPlanSelected', function(plan) TriggerServerEvent('agency-pad:server:buyDataPlan', plan.price, plan.name) end)
agency-pad:dispatch:create

Erstellt einen Tablet-Dispatch aus einem Notruf/SMS.

Beispiel zeigen

Erzeugt einen Tablet-Dispatch-Eintrag aus einem eingehenden Notruf.

RegisterNetEvent('myresource:server:padDispatchFromCall', function(payload) TriggerEvent('agency-pad:dispatch:create', { source = source, coords = payload.coords, type = 'medical', title = 'Medical assistance' }) end)
agency-pad:server:biz:create

Erstellt ein neues Business/Organisation für den Spieler.

Beispiel zeigen

Erstellt einen neuen Business-Eintrag über einen eigenen Spielbefehl.

RegisterCommand('startbiz', function() TriggerServerEvent('agency-pad:server:biz:create', { name = 'Bennys Repair', type = 'mechanic', location = 'sandy_shores' }) end)
agency-pad:server:biz:adminCreate

Admin erstellt ein Business im Namen eines anderen Spielers.

Beispiel zeigen

Leitet einen Admin-Befehl weiter, um eine Firma für einen anderen Spieler zu erstellen.

RegisterNetEvent('myresource:server:adminCreateBiz', function(targetSrc, payload) TriggerEvent('agency-pad:server:biz:adminCreate', targetSrc, payload) end)
agency-pad:server:biz:startMission

Startet eine konfigurierte Business-Mission für den Spieler.

Beispiel zeigen

Startet eine konfigurierte Business-Mission für den aufrufenden Spieler.

RegisterCommand('bizmission', function() TriggerServerEvent('agency-pad:server:biz:startMission', { bizId = 12, missionId = 'delivery_route_a' }) end)
agency-pad:server:applyToListing

Sendet eine Bewerbung an ein Business-Listing.

Beispiel zeigen

Bewirbt sich auf eine Tablet-Stellenanzeige anhand der ID.

RegisterCommand('apply', function(_, args) local listingId = tonumber(args[1]) TriggerServerEvent('agency-pad:server:applyToListing', listingId, { coverNote = 'Available immediately' }) end)
agency-pad:server:createMechanicInvoice

Erstellt einen Entwurf einer Mechaniker-Rechnung.

Beispiel zeigen

Erstellt einen Entwurf einer Mechaniker-Rechnung für ein Kennzeichen.

RegisterCommand('mechinvoice', function(_, args) TriggerServerEvent('agency-pad:server:createMechanicInvoice', { plate = args[1], amount = tonumber(args[2]) or 250, notes = 'Brake replacement' }) end)
agency-pad:server:sendMechanicInvoicePay

Sendet eine Mechaniker-Rechnung zur Zahlung an einen Kunden.

Beispiel zeigen

Schickt eine fertige Mechaniker-Rechnung zur Zahlung an den Kunden.

AddEventHandler('myresource:client:onInvoiceConfirmed', function(invoice) TriggerServerEvent('agency-pad:server:sendMechanicInvoicePay', invoice.id, invoice.targetSrc) end)
agency-pad:server:mdtCreateInvoice

MDT erstellt ein Bußgeld/eine Rechnung für einen Bürger.

Beispiel zeigen

Erstellt eine MDT-Strafe/Rechnung für einen Bürger via eigenem Net-Event.

RegisterNetEvent('myresource:server:mdtFine', function(targetSrc, amount, reason) TriggerEvent('agency-pad:server:mdtCreateInvoice', { target = targetSrc, amount = amount, reason = reason, officer = source }) end)

03Agency-Watch

A real smartwatch for FiveM, not a HUD. AgencyOS 26.5 on the wrist: six watch faces, seven cases, activity rings with a daily step goal, stopwatch, timer, alarm, weather, compass, speedometer, a control centre and an app store where players install, reorder and delete apps themselves. Everything listed so far runs on its own, without any other resource. A detected Agency Phone unlocks calls, messages, mail, contacts and Agency Pay on the wrist. That verdict is reached server-side through an HMAC handshake with the genuine phone, so a copied resource cannot fake it. Fall detection brings the watch out by itself after a crash or a long fall and offers an emergency call, with or without a phone. Free, QBCore / Qbox / ESX / standalone with auto-detection, ten languages, and not a single font or icon loaded from the internet.

Zur vollen Doku

Client-Exports

OpenWatch(mitte)

Opens the watch. Pass true to open it centred on screen instead of in its configured corner.

CloseWatch()

Closes the watch and releases the NUI focus.

ToggleWatch()

Closes the watch if it is open, opens it otherwise.

IsWatchOpen()

Returns true while the watch UI is on screen.

IsWatchLinked()

Returns false when the player switched the link to the Agency Phone off in the control centre.

RunWatchAction()

Triggers whatever is bound to the orange action button (Config.ActionButton).

GetWatchSettings()

Returns the full settings table the watch UI is built from (theme, face, size, apps, locale).

SetWatchSetting(key, value)

Sets a single setting, saves it per character and applies it right away.

SetWatchSettings(table)

Sets several settings at once and rebuilds the UI a single time instead of once per value.

RequestWatchPairing()

Asks the server for a Companion app pairing code. The answer arrives as an event, not as a return value.

ShowUpdate()

Opens the software-update screen of AgencyOS.

HandlesDeath()

Returns true when the watch shows the emergency screen on death. The Agency Phone asks this so both devices never show it at once.

GetFitness()

Returns the current fitness values: steps, distance, active minutes and calories of the running day.

Server-Exports

IsPremium(src)

Returns true when this player's watch runs in the Pro version. The verdict comes from the handshake with the genuine Agency Phone, never from the client.

04Agency-LifeinvaderV3

Modernes Werbesystem mit gestaffelten Preisen, Anzeigenwarteschlange und Admin-Freigabe.

Nutze es als In-Game-Ersatz für Twitter/Instagram. Perfekt für Businesses die neue Produkte bewerben, Gangs die Territorium verkünden, oder für Admin-Server-News.

Zur vollen Doku

Ereignisse

agency_lifeinvader:showAd

Zeigt dem Spieler eine Anzeige (Broadcast-Helper).

Beispiel zeigen

Sendet eine Community-Event-Anzeige an jeden Spieler auf dem Server.

-- Push a server-wide announcement ad to every player on event start local ad = { author = 'Event Crew', text = 'Drag race at airport in 5min!', category = 'event' } TriggerClientEvent('agency_lifeinvader:showAd', -1, ad)
agency_lifeinvader:openMenu

Öffnet das „Anzeige erstellen"-Menü.

Beispiel zeigen

Oeffnet das Lifeinvader-Anzeigenmenue, nachdem die Telefon-App gekauft wurde.

-- Open the ad creation menu when the player buys a phone app TriggerClientEvent('agency_lifeinvader:openMenu', src)
agency_lifeinvader:openRecentMenu

Öffnet den „Aktuelle Anzeigen"-Feed.

Beispiel zeigen

Oeffnet das Feed-Menue der letzten Anzeigen nach Kontakt-Tap in der App.

-- Open the recent ads feed after a contact tap in the phone app TriggerClientEvent('agency_lifeinvader:openRecentMenu', src)
agency_lifeinvader:notify

Zeigt eine Framework-Benachrichtigung auf dem Bildschirm des Spielers an (message, type).

Beispiel zeigen

Zeigt eine Framework-Benachrichtigung, wenn die Anzeige des Spielers genehmigt wird.

-- Notify the player when their queued ad gets reviewed by staff TriggerClientEvent('agency_lifeinvader:notify', src, 'Your ad was approved!', 'success')
agency_lifeinvader:submitAd

Sendet eine neue Anzeige aus Code ab (von der UI genutzt, wiederverwendbar).

Beispiel zeigen

Sendet eine Fahrzeuganzeige mit fuenf Wiederholungen alle 60 Sekunden.

-- Submit a vehicle sale ad from a custom dealership UI TriggerServerEvent('agency_lifeinvader:submitAd', '2018 Pegassi Emperor for sale', 5, 60, 'vehicles', { vehicle = 'emperor2' })

05Agency-Blackmarket

Reputationsbasierter Schwarzmarkt mit Hacking, Flash-Sales, Fahrzeughandel und Geldwäsche.

Verknüpfe es mit deinen Raub-/Heist-/Drogen-Scripts, der Spieler verkauft gestohlene Items hier oder wäscht sein Schwarzgeld bevor es sauber wird.

Zur vollen Doku

Ereignisse

blackmarket:client:openMenu

Öffnet das Hauptmenü des Schwarzmarkts.

Beispiel zeigen

Oeffnet dem Spieler nach einer Jobauszahlung das Schwarzmarkt-Hauptmenue.

-- Custom dealer NPC opens the black market menu when its job pays out TriggerClientEvent('blackmarket:client:openMenu', src)
blackmarket:client:closeMenu

Schliesst alle offenen Schwarzmarkt-Menues fuer den Spieler.

Beispiel zeigen

Schliesst geoeffnete Schwarzmarkt-Menues, wenn der Spieler verhaftet wird.

-- Force-close menu when player gets cuffed by police TriggerClientEvent('blackmarket:client:closeMenu', suspectSrc)
blackmarket:client:openLaunderingMenu

Oeffnet das Geldwaesche-Untermenue.

Beispiel zeigen

Oeffnet dem Spieler nach einem erfolgreichen Heist das Geldwaesche-Untermenue.

-- Heist crew NPC opens money laundering submenu after a successful job TriggerClientEvent('blackmarket:client:openLaunderingMenu', src)
blackmarket:client:showNotification

Zeigt eine gestylte Schwarzmarkt-Benachrichtigung (Titel, Nachricht, Typ, Dauer).

Beispiel zeigen

Zeigt eine stilisierte Schwarzmarkt-Benachrichtigung ueber eine neue Lieferung.

-- Drop a black-market styled notification when product enters the city TriggerClientEvent('blackmarket:client:showNotification', -1, 'Dealer', 'New shipment in town', 'info', 6000)
blackmarket:server:checkAccess

Prüft das aktuelle Zugriffslevel des Spielers.

Beispiel zeigen

Prueft, ob der Aufrufer Zugang zum Schwarzmarkt hat und liefert die Reputation.

-- Storefront NPC checks if player can access the black market before opening TriggerServerEvent('blackmarket:server:checkAccess')
blackmarket:server:completeBuy

Schliesst einen Kauf ab, nachdem das Client-Minispiel erfolgreich war.

Beispiel zeigen

Schliesst einen Schwarzmarktkauf nach erfolgreichem Client-Minispiel ab.

-- Finalise a buy after the lockpick minigame succeeds TriggerServerEvent('blackmarket:server:completeBuy', 'weapon_pistol', 1, 8500)
blackmarket:server:sellItem

Verarbeitet einen Item-Verkauf.

Beispiel zeigen

Startet den Verkaufsflow fuer eine gestohlene Rolex mit optionalem Minispiel.

-- Trigger the sell flow with optional minigame for a stolen item TriggerServerEvent('blackmarket:server:sellItem', 'rolex', 1)
blackmarket:server:completeSell

Schliesst einen Verkauf ab, nachdem das Client-Minispiel erfolgreich war.

Beispiel zeigen

Schliesst den Verkauf nach erfolgreichem Feilsch-Minispiel ab.

-- Finalise a sale after the haggle minigame succeeds TriggerServerEvent('blackmarket:server:completeSell', 'rolex', 1, 4250)
blackmarket:server:launderMoney

Verarbeitet eine Geldwäsche-Transaktion.

Beispiel zeigen

Wascht schmutziges Drogenhandel-Geld zu sauberem Bargeld mit Gebuehren und Erpressung.

-- Launder dirty cash earned from drug trafficking TriggerServerEvent('blackmarket:server:launderMoney', 'dirty_money', 25000)

06Agency-Minerjob

Multi-Framework-Bergbau-Job mit 100-Stufen-Skillprogression, ox_lib Skill-Checks und 6 Erz-Typen.

Ideal als Einstiegsjob für neue Spieler. Verknüpfe die XP-Progression mit Gang-Ruf, Whitelist-Jobs, oder nutze ihn als Anlaufstelle für arbeitslose Spieler.

Zur vollen Doku

Ereignisse

agency_minerJob:openSellMenu

Öffnet das Verkaufsmenü an der Erzraffinerie.

Beispiel zeigen

Oeffnet das Haendler-Verkaufsmenue, damit der Spieler abgebaute Erze verkaufen kann.

-- Open the trader sell menu for the local player TriggerEvent('agency_minerJob:openSellMenu')
agency_minerJob:sellItems

Verkauft alle Erze auf einmal zum aktuellen Marktpreis.

Beispiel zeigen

Verkauft alle Einheiten des Erzes zum aktuellen dynamischen Haendlerpreis.

-- Sell every copper ore in the player's inventory at current price TriggerServerEvent('agency_minerJob:sellItems', 'copper')
agency_minerJob:requestPlayerItems

Gibt die verkaufbaren Mining-Items des Spielers via receivePlayerItems zurück.

Beispiel zeigen

Fragt den Server nach der Liste verkaufbarer Erze des Spielers ab.

-- Ask server which ores are sellable; reply comes via receivePlayerItems TriggerServerEvent('agency_minerJob:requestPlayerItems')
agency_minerJob:requestPlayerSkill

Liefert eine schnelle Übersicht des Mining-Skills via receiveSkillInfo.

Beispiel zeigen

Fordert eine kurze Bergbau-Skill-Uebersicht ueber receiveSkillInfo an.

-- Refresh the HUD widget with the current mining level/xp TriggerServerEvent('agency_minerJob:requestPlayerSkill')
agency_minerJob:requestDetailedStats

Liefert die detaillierten Mining-Statistiken via receiveDetailedStats.

Beispiel zeigen

Fordert detaillierte Bergbau-Statistiken an und oeffnet das Statsmenue.

-- Open the detailed stats panel after admin command TriggerServerEvent('agency_minerJob:requestDetailedStats')

07Agency-Repairkits

Fahrzeug-Reparaturkit mit progressiver Schadensmechanik und moderner UI.

Perfekt in Mechaniker-Jobs, Abschleppdienst-Jobs oder als Verbrauchsartikel im Inventar. Das progressive Schadenssystem harmoniert perfekt mit Chop-Shop- oder Versicherungs-Scripts.

Zur vollen Doku

Ereignisse

agencyrepairkit:client:startRepair

Startet die Reparatur-Animation und den Fortschrittsbalken am Zielfahrzeug.

Beispiel zeigen

Universal-Trigger, um den Reparaturkit-Vorgang am Fahrzeug zu starten.

-- Universal trigger when player uses a custom 'repair' button TriggerEvent('agencyrepairkit:client:startRepair')
esx-agencyrepairkit:client:useRepairKit

ESX-spezifischer Alias, der den Reparaturset-Progressablauf startet.

Beispiel zeigen

ESX-spezifischer Alias, der den Reparaturkit-Vorgang am Fahrzeug startet.

-- Use this alias from your ESX item handler TriggerEvent('esx-agencyrepairkit:client:useRepairKit')
qb-agencyrepairkit:client:useRepairKit

QBCore-spezifischer Alias, der den Reparaturset-Progressablauf startet.

Beispiel zeigen

QBCore-spezifischer Alias, der den Reparaturkit-Vorgang am Fahrzeug startet.

-- QBCore item callback can use this alias directly TriggerEvent('qb-agencyrepairkit:client:useRepairKit')

08Agency-Vehiclekeys

Fahrzeugschlüssel mit Sperren/Entsperren, Motor-Fernstart, Blinker und Schlüsselweitergabe.

Funktioniert als "besitzt dieses Fahrzeug" Check für jedes andere Script. Abschleppdienste, Impound-Plätze, Valet-Parking, Carjacking-Minigames. Der Validate-Export kann aus jeder Ressource sicher aufgerufen werden.

Zur vollen Doku

Ereignisse

simple_carkeys:client:toggleLock

Wechselt den Sperrzustand des Fahrzeugs (mit Beachtung des Besitzes).

Beispiel zeigen

Netzwerkweites Umschalten der Verriegelung mit Schluesselanimation, Lichtern und Sound.

-- Sync lock toggle to all clients near a tow truck local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) TriggerEvent('simple_carkeys:client:toggleLock', vehicle)
simple_carkeys:client:toggleEngine

Startet oder stoppt den Motor des Zielfahrzeugs per Fernsteuerung.

Beispiel zeigen

Netzwerkweites Ein-/Ausschalten des Motors fuer das angegebene Fahrzeug.

-- Cut the engine remotely on the vehicle the player just left local lastVeh = GetVehiclePedIsIn(PlayerPedId(), true) TriggerEvent('simple_carkeys:client:toggleEngine', lastVeh)
simple_carkeys:client:showError

Zeigt auf dem Client eine generische 'nicht dein Auto'-Fehlerbenachrichtigung an.

Beispiel zeigen

Zeigt eine generische 'nicht dein Auto' Fehlermeldung beim Client.

-- Show the standard 'not your car' notification on a failed lockpick TriggerEvent('simple_carkeys:client:showError')
simple_carkeys:client:showNotificationText

Zeigt auf dem Client eine Erfolgsbenachrichtigung mit beliebigem Text an.

Beispiel zeigen

Zeigt eine Erfolgsmeldung mit beliebigem Text beim Client.

-- Tell the player the engine started OK after a custom hotwire script TriggerEvent('simple_carkeys:client:showNotificationText', 'Engine started')
simple_carkeys:client:showErrorText

Zeigt auf dem Client eine Fehlerbenachrichtigung mit beliebigem Text an.

Beispiel zeigen

Zeigt eine Fehlermeldung mit beliebigem Text beim Client.

-- Block engine start when fuel is empty TriggerEvent('simple_carkeys:client:showErrorText', 'Out of fuel')
simple_carkeys:server:forceToggleLock

Job/Admin-Pfad: sendet eine Schloss-Umschaltung fuer ein Fahrzeug ohne Eigentumspruefung.

Beispiel zeigen

Job/Admin-Pfad: sendet Lock-Umschaltung ohne Eigentumscheck an alle.

-- Police impound forces an unlock without ownership checks TriggerServerEvent('simple_carkeys:server:forceToggleLock', VehToNet(vehicle))
simple_carkeys:server:forceToggleEngine

Job/Admin-Pfad: sendet eine Motor-Umschaltung fuer ein Fahrzeug ohne Eigentumspruefung.

Beispiel zeigen

Job/Admin-Pfad: sendet Motor-Umschaltung ohne Eigentumscheck an alle.

-- Ambulance script force-starts a parked car for an evac mission TriggerServerEvent('simple_carkeys:server:forceToggleEngine', VehToNet(vehicle))
simple_carkeys:server:checkOwnershipAndLock

Validiert Eigentum/geteilte Schluessel fuer das Kennzeichen und sendet bei Erfolg eine Schloss-Umschaltung.

Beispiel zeigen

Prueft Eigentum/geteilte Schluessel des Kennzeichens und sendet bei Erfolg ein Lock-Toggle.

-- Player presses L; verify ownership before locking the vehicle TriggerServerEvent('simple_carkeys:server:checkOwnershipAndLock', 'AB12XYZ', VehToNet(vehicle))
simple_carkeys:server:checkOwnershipAndStart

Validiert Eigentum/geteilte Schluessel fuer das Kennzeichen und sendet bei Erfolg eine Motor-Umschaltung.

Beispiel zeigen

Prueft Eigentum/geteilte Schluessel des Kennzeichens und sendet bei Erfolg ein Motor-Toggle.

-- Validate then start engine on the vehicle the player is in TriggerServerEvent('simple_carkeys:server:checkOwnershipAndStart', 'AB12XYZ', VehToNet(vehicle))
simple_carkeys:server:universalEngineStart

Erlaubt jedem Spieler jeden Motor zu starten, wenn Config.AllowUniversalEngineStart aktiv ist.

Beispiel zeigen

Erlaubt jedem Spieler, einen Motor zu starten, wenn AllowUniversalEngineStart aktiv ist.

-- Hotwire mini-game success: any player starts any engine when allowed in config TriggerServerEvent('simple_carkeys:server:universalEngineStart', VehToNet(vehicle))

09Agency-Vending

Verkaufsautomaten mit Spielerbesitz, Bar- oder AgencyPay-Kartenzahlung.

Kombiniere mit Agency-Phone's AgencyPay-Export für Kartenzahlungen. Nutze in Jobs wo Spieler Vending-Standorte besitzen (Tankstellen, Büros, Apartments) für passives Einkommen.

Zur vollen Doku

Ereignisse

agency-vending:notify

Allgemeiner server-gesteuerter Benachrichtigungs-Dispatcher fuer die Vending-Resource.

Beispiel zeigen

Sendet dem Spieler nach einem Kauf eine generische Vending-Benachrichtigung.

-- Plug a vending receipt into a custom logger via notify event TriggerClientEvent('agency-vending:notify', src, 'success', 'Receipt #4821 saved to wallet')
agency-vending:startAgencyPay

Startet eine AgencyPay-Kasse ueber die agency-phone-Integration mit Haendler-Metadaten.

Beispiel zeigen

Startet einen Agency-Pay-Checkout per Telefon mit den Kiosk-Haendlerdaten.

-- Pop a phone Agency Pay flow when a player taps a kiosk TriggerClientEvent('agency-vending:startAgencyPay', src, { merchant = 'Sprunk Co', amount = 4.50, ref = 'flash_sale_01' })
agency-vending:buyMachineResult

Ergebnis eines Maschinenkaufs, an die NUI fuer Rueckmeldung weitergeleitet.

Beispiel zeigen

Leitet das Buy-Machine-Ergebnis an eine eigene Shop-NUI fuer Feedback weiter.

-- Forward buy-machine outcome to a custom shop UI TriggerClientEvent('agency-vending:buyMachineResult', src, { success = true, machineId = 102 })
agency-vending:machineCreated

Broadcast, dass eine neue spieler-eigene Maschine erstellt wurde; aktualisiert lokalen Cache und benachrichtigt Besitzer.

Beispiel zeigen

Sendet einen neu erstellten spielerbesessenen Automaten an alle Clients.

-- Cache new owner-machine instantly when business script registers it TriggerClientEvent('agency-vending:machineCreated', -1, { id = 142, owner = identifier, type = 'sprunk' })
agency-vending:openManagementVerified

Server-verifiziertes Oeffnen des Besitzer-Verwaltungsmenues mit Items, Einnahmen und Label.

Beispiel zeigen

Oeffnet die verifizierte Management-UI mit Artikeln, Einnahmen und Label.

-- After server-side ownership check open management menu with stock TriggerClientEvent('agency-vending:openManagementVerified', src, { items = items, earnings = 1240, label = 'East LS Sprunk' })
agency-vending:openOwnedList

Oeffnet die Besitzer-Uebersicht-NUI mit allen Maschinen des Spielers samt Strassennamen.

Beispiel zeigen

Oeffnet die Besitzeruebersicht-NUI mit allen Automaten des Spielers.

-- Hotkey opens the owner overview NUI listing all owned machines TriggerClientEvent('agency-vending:openOwnedList', src)
agency-vending:spawnMachineCreated

Admin-Spawner-Broadcast, dass eine neue gespawnte Maschinen-Entitaet erstellt wurde.

Beispiel zeigen

Informiert alle Clients, dass ein Admin einen neuen Automaten spawnte.

-- Custom mapping tool tracks newly admin-spawned machine TriggerClientEvent('agency-vending:spawnMachineCreated', -1, { entity = netId, model = 'prop_vend_soda_01', id = 7 })
agency-vending:spawnMachineDeleted

Admin-Spawner-Broadcast, dass eine gespawnte Maschinen-Entitaet geloescht wurde.

Beispiel zeigen

Teilt allen Clients mit, dass ein Admin einen gespawnten Automaten geloescht hat.

-- Mapping tool removes a deleted spawned machine from cache TriggerClientEvent('agency-vending:spawnMachineDeleted', -1, 7)
agency-vending:openSpawnerUI

Oeffnet die Admin-Spawner-NUI, nachdem die server-seitige Berechtigungspruefung bestanden ist.

Beispiel zeigen

Oeffnet die Admin-Spawner-NUI zum Platzieren von Weltautomaten.

-- Custom command opens the admin spawner UI after permission passes TriggerClientEvent('agency-vending:openSpawnerUI', src)
agency-vending:buyMachine

Spieler kauft einen Verkaufsautomaten eines bestimmten Typs an angegebenen Koordinaten/Heading.

Beispiel zeigen

Spieler kauft einen Sprunk-Automaten an seinen aktuellen Koordinaten von einem NPC.

-- Custom NPC sells vending machines via dialog local coords = GetEntityCoords(PlayerPedId()) local heading = GetEntityHeading(PlayerPedId()) TriggerServerEvent('agency-vending:buyMachine', 'sprunk', coords, heading)
agency-vending:requestOwnedList

Aufrufer fordert die Liste seiner eigenen Maschinen fuer die Besitzer-Uebersicht-UI an.

Beispiel zeigen

Fordert vom Server die Liste der spielereigenen Automaten an.

-- Refresh owner overview after a balance/restock action elsewhere TriggerServerEvent('agency-vending:requestOwnedList')
agency-vending:requestMachines

Aufrufer fordert eine vollstaendige Synchronisierung aller spieler-eigenen Maschinen vom server an.

Beispiel zeigen

Fordert eine frische Vollsynchronisierung aller spielereigenen Automaten an.

-- Scan for nearby machines after teleport finished TriggerServerEvent('agency-vending:requestMachines')
agency-vending:requestManagement

Server-verifiziertes Oeffnen der Verwaltungs-UI fuer eine eigene Maschine.

Beispiel zeigen

Fordert serverseitig verifizierte Management-UI fuer den geklickten Automaten an.

-- Owner UI requests verified management menu for a clicked machine TriggerServerEvent('agency-vending:requestManagement', machineId)
agency-vending:requestSpawnedMachines

Aufrufer fordert die Liste der admin-gespawnten Maschinen fuer die Spawner-UI an.

Beispiel zeigen

Fordert die Liste aller vom Admin gespawnten Automaten fuer die Spawner-UI an.

-- Admin spawner UI fetches all currently spawned machines TriggerServerEvent('agency-vending:requestSpawnedMachines')
agency-vending:adminSpawnMachine

Admin platziert nach Berechtigungspruefung server-seitig ein neues Verkaufsautomaten-Prop.

Beispiel zeigen

Admin spawnt nach Berechtigungspruefung ein neues Snack-Automaten-Prop.

-- Admin places a snack machine via custom slash command TriggerServerEvent('agency-vending:adminSpawnMachine', 'snack', vector3(120.5, -1280.7, 29.3), 90.0)
agency-vending:adminDeleteSpawned

Admin loescht server-seitig ein zuvor gespawntes Verkaufsautomaten-Prop.

Beispiel zeigen

Admin entfernt serverseitig ein zuvor gespawntes Automaten-Prop.

-- Admin removes a misplaced machine via map editor button TriggerServerEvent('agency-vending:adminDeleteSpawned', spawnedId)

10Agency-Admin

Vollwertiges Admin-Panel mit Glas-UI, AgencyAI-Chat und über 60 Admin-Tools.

Die Events eignen sich perfekt als "Primitives" für Anti-Cheat, Moderations-Bots oder automatisierte Tools, rufe sie aus deinem Server-Script auf um zu freezen/kicken/benachrichtigen, ohne eine eigene UI zu schreiben.

Zur vollen Doku

Ereignisse

agency-admin:client:refreshStaffRanks

Loest den Client aus, die Staff-Ranks-Daten erneut abzurufen.

Beispiel zeigen

Aktualisiert den Staff-Rang-Cache fuer jeden Online-Admin nach einer Befoerderung.

-- After auto-promotion, refresh staff ranks for all online admins for _, src in ipairs(GetPlayers()) do TriggerClientEvent('agency-admin:client:refreshStaffRanks', tonumber(src)) end
agency-admin:client:freezeTime

Friert die Weltzeit auf dem Client zur angegebenen Stunde/Minute ein bzw. gibt sie frei.

Beispiel zeigen

Anti-Cheat friert die Weltuhr auf Mittag ein, waehrend ein Spieler geprueft wird.

-- Anti-cheat halts world time during an investigation local hour, minute = 12, 0 TriggerClientEvent('agency-admin:client:freezeTime', src, true, hour, minute)
agency-admin:client:dashboardValue

Sendet einen einzelnen Dashboard-Kartenwert (z. B. Live-Zaehler) an die Panel-UI.

Beispiel zeigen

Sendet die aktuelle Anzahl Online-Spieler an die Admin-Dashboard-Karte.

-- Stream live online player count to admin dashboard cards local count = #GetPlayers() TriggerClientEvent('agency-admin:client:dashboardValue', adminSrc, 'players_online', count)
agency-admin:client:teleportToCoords

Teleportiert den Aufrufer zu den angegebenen Weltkoordinaten.

Beispiel zeigen

Teleportiert einen Spieler nach einem Respawn-Ereignis zu den gespeicherten Koordinaten.

-- Job script teleports a player back to last save point on respawn local coords = vector3(-1037.7, -2737.6, 20.16) TriggerClientEvent('agency-admin:client:teleportToCoords', src, coords)
agency-admin:client:announce

Zeigt einen serverweiten Ankündigungs-Banner an.

Beispiel zeigen

Sendet ein serverweites Ankuendigungsbanner von einem benannten Systemabsender.

-- Event bot announces a community contest start TriggerClientEvent('agency-admin:client:announce', -1, 'Event Crew', 'Heist contest starts in 5 minutes!')
agency-admin:client:notify

Sendet eine Benachrichtigung an einen bestimmten Admin.

Beispiel zeigen

Sendet dem Spieler eine gestaltete Benachrichtigung, wenn sein Antrag genehmigt wird.

-- Whitelist bot informs a player they passed the application TriggerClientEvent('agency-admin:client:notify', src, 'Whitelist', 'Application approved!', 'success', 8000)
agency-admin:client:freeze

Friert den Zielspieler an Ort und Stelle ein.

Beispiel zeigen

Friert einen verdaechtigen Spieler ein, damit das Team in Ruhe ermitteln kann.

-- Anti-cheat freezes a suspect player while staff investigates TriggerClientEvent('agency-admin:client:freeze', suspectSrc, true)
agency-admin:client:heal

Stellt HP/Rüstung des Ziels wieder her.

Beispiel zeigen

Heilt den Patienten vollstaendig nach Abschluss der RP-Behandlung.

-- Medic job script fully heals the player after RP treatment ends TriggerClientEvent('agency-admin:client:heal', patientSrc)
agency-admin:client:revive

Belebt den Zielspieler wieder.

Beispiel zeigen

Wiederbelebt einen ausgeknockten Spieler nach erfolgreichem EMS-Minigame.

-- EMS revive minigame succeeds, server marks player alive again TriggerClientEvent('agency-admin:client:revive', downedSrc)
agency-admin:client:teleport

Teleportiert den lokalen Spieler an den angegebenen Koordinatenvektor.

Beispiel zeigen

Teleportiert den lokalen Spieler an die uebergebenen Koordinaten.

-- Tutorial system teleports new player to spawn pad on first join local coords = vector3(245.7, -871.5, 30.5) TriggerClientEvent('agency-admin:client:teleport', src, coords)
agency-admin:client:openMenu

Öffnet die Admin-Panel-UI (erfordert ACE-Berechtigung).

Beispiel zeigen

Oeffnet die Haupt-Admin-Panel-UI fuer das Teammitglied beim Diensteintritt.

-- Auto-open admin panel for staff right after they switch on duty TriggerClientEvent('agency-admin:client:openMenu', src)
agency-admin:client:openToolsMenu

Server-gesteuerter Trigger zum Oeffnen des Admin-Tools-Untermenues.

Beispiel zeigen

Oeffnet das Admin-Tools-Untermenue, wenn der Staff-Hotkey gedrueckt wird.

-- Quick-action keybind opens the admin tools sub-menu TriggerClientEvent('agency-admin:client:openToolsMenu', src)
agency-admin:client:closeMenu

Server-gesteuerter Trigger zum Schliessen der Admin-Panel-UI.

Beispiel zeigen

Erzwingt das Schliessen der Admin-Panel-UI, wenn der Admin geprueft wird.

-- Force-close the panel when admin gets reported themselves TriggerClientEvent('agency-admin:client:closeMenu', adminSrc)
agency-admin:client:openClothingMenu

Server-gesteuerter Trigger zum Oeffnen des In-Game-Kleidungsmenues fuer den Spieler.

Beispiel zeigen

Oeffnet das Kleidungsmenue, nachdem der Spieler ein Outfit beim Schneider gekauft hat.

-- Tailor NPC opens clothing menu after a uniform purchase TriggerClientEvent('agency-admin:client:openClothingMenu', src)
agency-admin:server:requestPlayers

Fordert die aktuelle Online-Spielerliste fuer das Admin-Panel an.

Beispiel zeigen

Fordert die aktuelle Online-Spielerliste vom Server fuer das Panel an.

-- Custom dashboard widget refreshes its players list TriggerServerEvent('agency-admin:server:requestPlayers')
agency-admin:server:requestPanelPermissions

Fordert die Panel-Berechtigungstabelle fuer den Rangeditor an.

Beispiel zeigen

Fragt den Server nach der Panel-Berechtigungstabelle fuer den Rang-Editor.

-- Permission editor needs the latest panel permission map TriggerServerEvent('agency-admin:server:requestPanelPermissions')
agency-admin:server:requestStaffRanks

Fordert den Staff-Ranks-Datensatz fuer das Panel an.

Beispiel zeigen

Fordert den vollstaendigen Staff-Rangdatensatz fuer ein eigenes CRM-Widget an.

-- Sync staff ranks dataset into a custom CRM widget TriggerServerEvent('agency-admin:server:requestStaffRanks')
agency-admin:server:createRank

Erstellt einen neuen Staff-Rang mit Metadaten und Berechtigungen.

Beispiel zeigen

Erstellt einen neuen Staff-Rang aus einer externen HR-Portal-Synchronisierung.

-- Sync rank from external HR portal -> create matching staff rank TriggerServerEvent('agency-admin:server:createRank', { name = 'Senior Mod', color = '#a855f7', priority = 50 })
agency-admin:server:requestMyPermissions

Aufrufer fordert seinen eigenen aufgeloesten Panel-Berechtigungssatz an.

Beispiel zeigen

Fordert die aufgeloesten Panel-Berechtigungen des Aufrufers beim UI-Oeffnen an.

-- Fetch caller's resolved permission set before showing dev tools TriggerServerEvent('agency-admin:server:requestMyPermissions')
agency-admin:server:requestSync

Aufrufer fordert vom server das Standard-Sync-Payload (Dienst/Rechte/etc.) an.

Beispiel zeigen

Zwingt den Server, das Standard-Duty/Perms-Sync-Paket an den Aufrufer zu senden.

-- Force a fresh sync after the player reconnects TriggerServerEvent('agency-admin:server:requestSync')
agency-admin:server:requestDutyRank

Aufrufer fordert seine aktuellen Admin-Dienst-Rangdaten an.

Beispiel zeigen

Fordert den aktuellen Admin-Duty-Rang des Aufrufers fuer ein eigenes HUD an.

-- Display admin's duty rank on a custom HUD overlay TriggerServerEvent('agency-admin:server:requestDutyRank')
agency-admin:server:requestSpawnedObjects

Aufrufer fordert die Liste der admin-gespawnten Weltobjekte an.

Beispiel zeigen

Fordert die Liste der vom Admin gespawnten Weltobjekte fuer das Minimap-Overlay an.

-- Map editor needs to draw all admin-spawned objects on a minimap TriggerServerEvent('agency-admin:server:requestSpawnedObjects')

11Agency-Reports V2

Modernes Report-System mit Live-Chat pro Report und KI-gestützten Antworten.

Nutze es als "Support-Ticket"-Rückgrat für den ganzen Server. Deine Scripts können automatisch Reports öffnen wenn etwas schiefgeht (festgefahrene Fahrzeuge, duplizierte Items, fehlgeschlagene SQL-Saves).

Zur vollen Doku

Ereignisse

agency-reports:client:notify

Sendet eine "neuer Report"-Benachrichtigung an einen bestimmten Admin.

Beispiel zeigen

Server-Benachrichtigung, die die UI-Benachrichtigungseinstellung des Spielers beruecksichtigt.

-- Server tells client a new admin reply landed TriggerClientEvent('agency-reports:client:notify', source, 'New reply on your report', 'info')
agency-reports:client:openPlayerUI

Öffnet die Report-UI auf Spielerseite.

Beispiel zeigen

Oeffnet die Spieler-Report-UI mit Kategorien, offenen Reports und AI/Discord-Einstellungen.

-- Open the player report UI on a custom keybind local categories = { 'Bug', 'Player report', 'Stuck' } TriggerEvent('agency-reports:client:openPlayerUI', categories, {}, {}, {})
agency-reports:client:openAdminUI

Öffnet die Report-Liste auf Admin-Seite.

Beispiel zeigen

Oeffnet das Admin-Report-Dashboard mit dem vollstaendigen Report-Datensatz.

-- Force-open the admin reports dashboard from a staff command TriggerEvent('agency-reports:client:openAdminUI', { reports = {}, total = 0 })
agency-reports:client:teleport

Teleportiert den aufrufenden Admin zu den angegebenen Koordinaten (fuer goto-Aktionen).

Beispiel zeigen

Teleportiert den Admin zu den angegebenen Koordinaten fuer Goto-Aktionen.

-- Goto-action: teleport the responding admin to the report scene TriggerEvent('agency-reports:client:teleport', vector3(-247.6, -2010.2, 30.1))
agency-reports:client:healSelf

Heilt den Ped des aufrufenden Admins vollstaendig.

Beispiel zeigen

Heilt den Admin-Ped vollstaendig nach Bearbeitung eines Reports.

-- Heal admin after a hostile scene to keep them in service TriggerEvent('agency-reports:client:healSelf')
agency-reports:server:submitReport

Reicht einen neuen Report außerhalb der UI ein.

Beispiel zeigen

Spieler reicht einen neuen Report mit Titel, Kategorie und Beschreibung ein.

-- Player submits a quick stuck-at-pier report TriggerServerEvent('agency-reports:server:submitReport', 'Stuck at pier', 'Stuck', 'Vehicle wedged under pier - cant move')
agency-reports:server:requestPlayerData

Aufrufer fordert sein eigenes Report-Payload an; oeffnet optional die Spieler-UI bei Antwort.

Beispiel zeigen

Aufrufer fordert seine Report-Daten an, oeffnet optional die Spieler-UI in Antwort.

-- Pull fresh data and (optionally) auto-open the player UI TriggerServerEvent('agency-reports:server:requestPlayerData', true)
agency-reports:server:requestAdminData

Admin fordert den vollstaendigen Reports-Datensatz an und oeffnet bei Berechtigung das Admin-Dashboard.

Beispiel zeigen

Admin fordert den vollstaendigen Report-Datensatz an und oeffnet das Dashboard wenn erlaubt.

-- Admin staff opens the dashboard after going on duty TriggerServerEvent('agency-reports:server:requestAdminData')
agency-reports:server:sendChatMessage

Sendet eine Chat-Nachricht an einen offenen Report.

Beispiel zeigen

Sendet eine Chatnachricht in einem bestimmten Report-Thread fuer Admin oder Spieler.

-- Player posts a follow-up chat message into report #42 TriggerServerEvent('agency-reports:server:sendChatMessage', 42, 'Still stuck, any ETA?')

12Agency-Hud

Animiertes HUD mit Fahrzeug-Dashboard, Statusleisten, Tacho und Sicherheitsgurt-Integration.

Wenn du eine Custom-Economy oder ein Needs-System hast, steuer den HUD aus deinem eigenen Script mit diesen Settern, der HUD übernimmt Animation und Persistenz für dich.

Zur vollen Doku

Client-Exports

GetVehicleSettings()

Liefert die aktuelle Fahrzeugeinstellungs-Tabelle.

Beispiel zeigen

Liest die lokale Fahrzeug-HUD-Einstellungstabelle zur Pruefung oder Synchronisation.

local settings = exports['Agency-Hud']:GetVehicleSettings() print('Speed unit:', settings.speedUnit) print('HUD scale:', settings.scale)
SetSpeedUnit(unit: string)

Schaltet den Tacho zwischen 'mph' und 'kmh' um.

Beispiel zeigen

Stellt den Fahrzeug-Tacho auf Meilen pro Stunde um und speichert lokal.

RegisterCommand('usemph', function() exports['Agency-Hud']:SetSpeedUnit('mph') end)
SetHunger(value: number)

Setzt den Wert der Hunger-Leiste (0-100).

Beispiel zeigen

Uebertraegt den aktuellen Hungerwert des Spielers ins HUD.

AddEventHandler('player:hungerChanged', function(value) exports['Agency-Hud']:SetHunger(value) end)
SetThirst(value: number)

Setzt den Wert der Durst-Leiste (0-100).

Beispiel zeigen

Uebertraegt den aktuellen Durstwert des Spielers ins HUD.

AddEventHandler('player:thirstChanged', function(value) exports['Agency-Hud']:SetThirst(value) end)
SetStress(value: number)

Setzt den Wert der Stress-Leiste (0-100).

Beispiel zeigen

Aktualisiert die Stressanzeige im HUD aus einem eigenen Stress-System.

AddEventHandler('jobstress:onTick', function(stress) exports['Agency-Hud']:SetStress(stress) end)
SetMoney(value: number)

Setzt den angezeigten Bargeld-Stand.

Beispiel zeigen

Aktualisiert den im HUD angezeigten Bargeldbetrag.

AddEventHandler('wallet:cashChanged', function(cash) exports['Agency-Hud']:SetMoney(cash) end)
SetBank(value: number)

Setzt den angezeigten Kontostand (für eigene Wirtschafts-Scripts).

Beispiel zeigen

Aktualisiert den im HUD angezeigten Kontostand.

AddEventHandler('bank:balanceChanged', function(balance) exports['Agency-Hud']:SetBank(balance) end)
SetJob(label: string)

Setzt das angezeigte Job-Label.

Beispiel zeigen

Setzt das angezeigte Job-Label, wenn der Spieler den Beruf wechselt.

AddEventHandler('job:onChange', function(job) exports['Agency-Hud']:SetJob(job.label) end)
SetRank(rank: string)

Setzt den angezeigten Job-Rang/Grad.

Beispiel zeigen

Aktualisiert den neben dem Job-Label angezeigten Rang.

AddEventHandler('job:onGradeChange', function(grade) exports['Agency-Hud']:SetRank(grade.label) end)
GetDetectedFramework()

Liefert den Framework-String ("qb", "esx", "standalone"), den der HUD automatisch erkannt hat.

Beispiel zeigen

Liest den erkannten Framework-Schluessel fuer eigene HUD-Logik aus.

local fw = exports['Agency-Hud']:GetDetectedFramework() if fw == 'qb' then print('QB-Core detected') end

Ereignisse

Agency-HUD:client:applyVehicleSettingsPatch

Wendet einen partiellen Fahrzeug-Einstellungs-Patch auf den lokalen Fahrzeug-HUD an.

Beispiel zeigen

Wendet einen partiellen Fahrzeug-HUD-Einstellungspatch auf dem lokalen Client an.

TriggerEvent('Agency-HUD:client:applyVehicleSettingsPatch', { style = 'modern', speedUnit = 'kmh' })
Agency-HUD:client:openAdminMenu

Öffnet das HUD-Admin-Menü (erfordert Berechtigung).

Beispiel zeigen

Oeffnet die Admin-HUD-Menue-NUI beim empfangenden Client.

TriggerEvent('Agency-HUD:client:openAdminMenu')
Agency-HUD:server:checkAdminPermission

Prüft die Admin-Rechte des Aufrufers und öffnet bei Erfolg das Admin-Menü.

Beispiel zeigen

Fordert den Server auf, Adminrechte zu pruefen und das HUD-Admin-Menue zu oeffnen.

RegisterCommand('checkhudadmin', function() TriggerServerEvent('Agency-HUD:server:checkAdminPermission') end)
Agency-HUD:server:saveGlobalSettings

Nur-Admin-Speicherung globaler HUD-Einstellungen; sendet Sync-Broadcast.

Beispiel zeigen

Speichert eine neue globale HUD-Konfiguration (nur Admin) und sendet sie.

TriggerServerEvent('Agency-HUD:server:saveGlobalSettings', { style = 'modern', accent = '#ff6b00' })
Agency-HUD:server:requestGlobalSettings

Gibt die aktuellen globalen Einstellungen an den anfragenden Client zurück.

Beispiel zeigen

Fordert beim Start der Ressource die aktuellen globalen HUD-Einstellungen an.

AddEventHandler('onClientResourceStart', function(res) if res == GetCurrentResourceName() then TriggerServerEvent('Agency-HUD:server:requestGlobalSettings') end end)
Agency-HUD:server:requestTime

Gibt die aktuelle Serverzeit für die HUD-Uhr an den Aufrufer zurück.

Beispiel zeigen

Fragt die Serverzeit jede Minute ab, um die HUD-Zeit zu aktualisieren.

CreateThread(function() while true do TriggerServerEvent('Agency-HUD:server:requestTime') Wait(60000) end end)

13Agency-Progressbar

Animierte Fortschrittsleiste mit Glas-UI, 4 Themes, abbrechbaren Aktionen und client/server Exports.

Nutze es überall wo du normalerweise "mache X für Y Sekunden" anzeigst. Ersetzt mehrere alte Progressbar-Ressourcen mit einem einheitlichen UI für den ganzen Server.

Zur vollen Doku

Client-Exports

StartProgress(data: table)

Startet eine Fortschrittsleiste mit einer vollständigen Options-Tabelle. Kehrt sofort zurück; Callbacks feuern bei Abschluss/Abbruch.

Beispiel zeigen

Startet einen 8-Sekunden-Lockpick-Fortschritt mit Animation und Finish-Callback.

exports['Agency-Progressbar']:StartProgress({ label = 'Picking lock...', duration = 8000, animation = { dict = 'anim@heists@fleeca_bank@drilling', clip = 'drill_straight_idle' }, onFinish = function() TriggerServerEvent('garage:lockpicked', vehNet) end, onCancel = function() print('Lockpick cancelled') end })
StopProgress(completed: boolean)

Stoppt die aktuell laufende Fortschrittsleiste. Übergib true, um als abgebrochen zu markieren.

Beispiel zeigen

Bricht den aktiven Fortschrittsbalken ab, wenn der Spieler X drueckt.

if IsControlJustPressed(0, 73) then exports['Agency-Progressbar']:StopProgress(false) end
IsProgressActive()

Liefert true, wenn aktuell eine Fortschrittsleiste angezeigt wird.

Beispiel zeigen

Verhindert eine neue Crafting-Aktion, solange ein Fortschrittsbalken laeuft.

if exports['Agency-Progressbar']:IsProgressActive() then return end startCrafting()
GetProgressPercentage()

Liefert den aktuellen Füllstand in Prozent (0-100).

Beispiel zeigen

Loest einen Minigame-Tick aus, sobald der Balken zu mehr als 75 Prozent voll ist.

CreateThread(function() while exports['Agency-Progressbar']:IsProgressActive() do local pct = exports['Agency-Progressbar']:GetProgressPercentage() if pct > 75 then SendMinigameTick() end Wait(100) end end)
SetProgressTheme(theme: string)

Wechselt das Theme zur Laufzeit: 'modern', 'neon', 'minimal' oder 'classic'.

Beispiel zeigen

Aendert das Aussehen des aktiven Fortschrittsbalkens auf das moderne Theme.

RegisterCommand('darkbar', function() exports['Agency-Progressbar']:SetProgressTheme('modern') end)
SetProgressPosition(position: string)

Ändert die Position: 'top', 'bottom', 'center'.

Beispiel zeigen

Verschiebt den aktiven Fortschrittsbalken in die untere Mitte des Bildschirms.

RegisterCommand('barbottom', function() exports['Agency-Progressbar']:SetProgressPosition('bottom-center') end)
TryReload(usedItem?: string)

Spielt die Nachlade-Sequenz im ESX-Stil ab.

Beispiel zeigen

Startet einen serverseitig validierten Nachladevorgang mit einer 9mm-Box.

RegisterKeyMapping('+reload', 'Reload weapon', 'keyboard', 'R') RegisterCommand('+reload', function() exports['Agency-Progressbar']:TryReload('ammo-9') end)
UseConsumable(itemName: string, isDrink: boolean)

Spielt die Ess-/Trink-Animation mit Fortschrittsleiste ab.

Beispiel zeigen

Spielt die Trink-Animation ab und erhoeht den Durstwert bei Wassernutzung.

RegisterNetEvent('inventory:useItem', function(item) if item == 'water_bottle' then exports['Agency-Progressbar']:UseConsumable('water_bottle', true) end end)

Server-Exports

StartProgressForPlayer(playerId: number, data: table)

Löst eine Fortschrittsleiste auf einem bestimmten Client vom Server aus.

Beispiel zeigen

Startet einen 5 Sekunden Hebe-Fortschritt fuer den anfordernden Spieler.

RegisterCommand('lift', function(source) exports['Agency-Progressbar']:StartProgressForPlayer(source, { label = 'Lifting crate...', duration = 5000 }) end, false)
StopProgressForPlayer(playerId: number, completed?: boolean)

Bricht die Fortschrittsleiste eines bestimmten Spielers per Fernzugriff ab.

Beispiel zeigen

Bricht die aktive Fortschrittsleiste eines Zielspielers vom Server aus ab.

RegisterNetEvent('admin:cancelProgress', function(targetId) exports['Agency-Progressbar']:StopProgressForPlayer(targetId, false) end)
StartProgressForAllPlayers(data: table)

Sendet eine Fortschrittsleiste an alle verbundenen Clients.

Beispiel zeigen

Sendet einen 30 Sekunden Sturmwarnung-Fortschritt an jeden Spieler.

RegisterNetEvent('event:weatherWarning', function() exports['Agency-Progressbar']:StartProgressForAllPlayers({ label = 'Storm incoming - take shelter', duration = 30000 }) end)
StopProgressForAllPlayers(completed?: boolean)

Bricht die Fortschrittsleiste jedes Spielers ab (z. B. Rundenende).

Beispiel zeigen

Stoppt die globale Sturmwarnungs-Fortschrittsleiste bei allen Spielern.

RegisterNetEvent('event:weatherCleared', function() exports['Agency-Progressbar']:StopProgressForAllPlayers(true) end)

Ereignisse

Agency:Progressbar:LoadSettings

Lädt spielerspezifische UI-Einstellungen (Position, Farbe, Skalierung, Stil) aus der DB in den Client.

Beispiel zeigen

Laedt die gespeicherten Fortschrittsbalken-Einstellungen des Spielers beim Spawn.

AddEventHandler('playerSpawned', function() TriggerEvent('Agency:Progressbar:LoadSettings') end)
agency-progressbar:client:start

Startet die Fortschrittsanzeige auf dem empfangenden Client mit den übergebenen Daten.

Beispiel zeigen

Startet einen abbrechbaren 12-Sekunden-Motorreparatur-Fortschritt.

TriggerEvent('agency-progressbar:client:start', { label = 'Repairing engine...', duration = 12000, canCancel = true })
agency-progressbar:client:stop

Stoppt die aktive Fortschrittsanzeige mit einem Abschluss-Flag.

Beispiel zeigen

Bricht den aktiven Fortschrittsbalken ab, wenn der Spieler gefesselt wird.

RegisterNetEvent('police:cuffed', function() TriggerEvent('agency-progressbar:client:stop', false) end)
agency:consumables:useFood

Inventory-Bridge zum Verzehr eines Essens-Items (Animation + abgesicherte Server-Anwendung).

Beispiel zeigen

Loest die Inventar-Food-Bruecke aus, um ein Sandwich zu verzehren.

TriggerEvent('agency:consumables:useFood', 'sandwich')
agency:consumables:useDrink

Inventory-Bridge zum Verzehr eines Getränke-Items (Animation + abgesicherte Server-Anwendung).

Beispiel zeigen

Loest die Inventar-Trink-Bruecke aus, um eine Tasse Kaffee zu konsumieren.

TriggerEvent('agency:consumables:useDrink', 'coffee_cup')
Agency:Progressbar:SaveSettings

Validiert und speichert die Progress-Bar-UI-Einstellungen des Spielers in der DB.

Beispiel zeigen

Speichert die UI-Vorlieben des Spielers fuer den Fortschrittsbalken in der DB.

TriggerServerEvent('Agency:Progressbar:SaveSettings', { position = 'top-right', color = '#00aaff', scale = 1.2 })
agency-progressbar:server:start

Serverseitiger Trigger zum Starten einer Fortschrittsanzeige auf einem Ziel (oder selbst).

Beispiel zeigen

Serverseitiger Trigger, um eine 6-Sekunden-Beladebar bei einem Ziel zu starten.

RegisterCommand('movecrate', function(source) TriggerEvent('agency-progressbar:server:start', source, { label = 'Loading crate onto truck', duration = 6000 }) end, false)
agency-progressbar:server:stop

Serverseitiger Trigger zum Stoppen einer Fortschrittsanzeige auf einem Ziel (oder selbst).

Beispiel zeigen

Serverseitiger Trigger, um den Balken eines Ziels mit Cancel-Status zu stoppen.

RegisterNetEvent('admin:abortJob', function(targetId) TriggerEvent('agency-progressbar:server:stop', targetId, false) end)
agency:reload:request

Validiert Munition/Waffe/Item, bevor dem anfragenden Spieler ein Nachladen gewährt wird.

Beispiel zeigen

Bittet den Server, Munition zu pruefen und eine Pistolen-Nachladung zu gewaehren.

TriggerServerEvent('agency:reload:request', 'WEAPON_PISTOL', 'ammo-9')
agency:consumables:apply

Validiert das Inventar, entfernt ein Item und wendet Hunger-/Durst-Zuwächse an.

Beispiel zeigen

Bittet den Server, das Lebensmittel zu entfernen und Hungerwerte anzupassen.

RegisterNetEvent('food:onEatStart', function(itemName) TriggerServerEvent('agency:consumables:apply', itemName) end)

14Agency-Notify

Notification-System mit V1/V2-Styles, AgencyAI Smart-Priority, Spam-Schutz und Datenbank-Persistenz.

Ersetze jede andere Notify-Ressource auf deinem Server (qb-notify, esx_notify, mythic_notify, okok-notify, etc.) mit einem einheitlichen Look. Das AgencyAI-Prioritätssystem rate-limitet spam-Notifications automatisch.

Zur vollen Doku

Client-Exports

Notify(data: { title, text, type, duration, ... })

Zeigt eine Benachrichtigung. Akzeptiert { type, title, text, duration, icon, color }.

Beispiel zeigen

Sendet eine 6-sekuendige Erfolgsbenachrichtigung mit einem Heist-Ziel.

exports['Agency-Notify']:Notify({ title = 'Bank Heist', text = 'Vault drilled, grab the loot!', type = 'success', duration = 6000 })

Ereignisse

Agency:Notify:Send

Wie der Export, ermoglicht das alte Trigger-basierte Pattern.

Beispiel zeigen

Legacy v1 Client-Event, das die gleiche Payload wie der Export anzeigt.

TriggerEvent('Agency:Notify:Send', { title = 'Old Notify', text = 'Legacy v1 entry point still works', type = 'info' })
Agency:Notify:LoadSettings

Wendet spielerspezifisch gespeicherte UI-Einstellungen (Position, Farbe, Skalierung, Stil) vom Server an.

Beispiel zeigen

Laedt die gespeicherten Notify-UI-Einstellungen je Spieler beim Spawn.

AddEventHandler('playerSpawned', function() TriggerEvent('Agency:Notify:LoadSettings') end)
Agency:Notify:SaveSettings

Validiert und speichert die Notify-Einstellungen des Spielers (Position, Akzentfarbe, Skalierung, Stil).

Beispiel zeigen

Speichert Notify-Position, Akzent und Skalierung des Spielers in der DB.

TriggerServerEvent('Agency:Notify:SaveSettings', { position = 'top-right', accent = '#ff8800', scale = 1.1, style = 'modern' })

15Agency-Seatbelt

Sicherheitsgurt mit Auswurfphysik, 3D-Sounds, Multi-Insassen-Support und HUD-Integration.

Plug den Status in dein eigenes HUD, oder force-aktiviere es am Anfang einer Polizei-Verfolgung / Heist-Escape. Die Force-Enable/Disable-Exports sind super für RP-Momente.

Zur vollen Doku

Client-Exports

enableSeatbelt()

Erzwingt den Sicherheitsgurt (z.B. bei Polizei-Festnahme).

Beispiel zeigen

Schnallt den Sicherheitsgurt des lokalen Spielers mit HUD- und Sound-Feedback an.

RegisterNetEvent('vehicle:autoBuckle', function() if IsPedInAnyVehicle(PlayerPedId(), false) then exports['Agency-Seatbelt']:enableSeatbelt() end end)
disableSeatbelt()

Erzwingt das Loesen des Gurts (Cutscenes, RP-Szenarien).

Beispiel zeigen

Loest den Sicherheitsgurt des lokalen Spielers beim Aussteigen.

RegisterNetEvent('vehicle:onExit', function() exports['Agency-Seatbelt']:disableSeatbelt() end)
toggleSeatbelt()

Schaltet den Sicherheitsgurt um (was die Standardtastenbelegung macht).

Beispiel zeigen

Schaltet den Sicherheitsgurt des lokalen Spielers per Tastendruck um.

RegisterKeyMapping('+seatbelt', 'Toggle seatbelt', 'keyboard', 'B') RegisterCommand('+seatbelt', function() exports['Agency-Seatbelt']:toggleSeatbelt() end)
isSeatbeltOn()

Liefert true, wenn der Spieler aktuell den Sicherheitsgurt anhat.

Beispiel zeigen

Deaktiviert das Aussteigen, solange der Sicherheitsgurt angelegt ist.

if exports['Agency-Seatbelt']:isSeatbeltOn() then DisableControlAction(0, 75, true) end

16Agency-Elevator

Realistisches Aufzugssystem mit Liquid Glass UI und Konfigurator.

Perfekt in Apartment-/Housing-Scripts, Polizei-HQ, Krankenhaus oder jedem multi-floor Interior. Nutze den Konfigurator um Aufzüge visuell zu platzieren ohne Config-Dateien anzufassen.

Zur vollen Doku

Ereignisse

Agency-Elevator:server:requestTravel

Server-validierte Anfrage fuer Stockwerksfahrt.

Beispiel zeigen

Fordert den Server auf, den Zugang zu pruefen und in Etage 3 zu fahren.

TriggerServerEvent('Agency-Elevator:server:requestTravel', 'lspd-tower-1', 3)
Agency-Elevator:server:travelComplete

Bestätigt die Ankunft des Clients und sendet die Benachrichtigung 'Etage erreicht'.

Beispiel zeigen

Teilt dem Server mit, dass Etage 3 erreicht wurde, um die Ankunft zu melden.

TriggerServerEvent('Agency-Elevator:server:travelComplete', 'lspd-tower-1', 3)
Agency-Elevator:server:requestElevators

Synchronisiert die geladene Aufzugsliste aus der Datenbank zum anfragenden Client.

Beispiel zeigen

Fordert die vollstaendige Aufzugsliste beim Initialisieren des Clients an.

AddEventHandler('onClientResourceStart', function(res) if res == GetCurrentResourceName() then TriggerServerEvent('Agency-Elevator:server:requestElevators') end end)
Agency-Elevator:server:saveElevator

Berechtigungsgeprüfter Upsert eines Aufzugs (id/label/floors) in MySQL.

Beispiel zeigen

Admin-Upsert eines Aufzugs mit einem einzigen Lobby-Etageneintrag.

TriggerServerEvent('Agency-Elevator:server:saveElevator', { id = 'lspd-tower-1', label = 'LSPD HQ', floors = { { name = 'Lobby', coords = vector3(441.0, -981.5, 30.7) } } })
Agency-Elevator:server:loadElevator

Spawnt/laedt einen gespeicherten Aufzug aus der Datenbank.

Beispiel zeigen

Laedt die Daten eines einzelnen Aufzugs zum Bearbeiten in die Konfigurator-NUI.

TriggerServerEvent('Agency-Elevator:server:loadElevator', 'lspd-tower-1')
Agency-Elevator:server:saveSettings

Speichert UI-Einstellungen (Position/Skalierung/Akzentfarbe) in MySQL und synchronisiert alle Clients neu.

Beispiel zeigen

Speichert UI-Position, Akzentfarbe und Skalierung und synchronisiert alle Clients.

TriggerServerEvent('Agency-Elevator:server:saveSettings', { position = 'top-right', accent = '#22c55e', scale = 1.0 })
Agency-Elevator:client:startTravel

Startet eine Aufzugsfahrt-Cutscene fuer den Spieler.

Beispiel zeigen

Spielt Fade und Animation und teleportiert den Ped in Etage 2 der Garage.

TriggerEvent('Agency-Elevator:client:startTravel', 'parking-garage', 2)
Agency-Elevator:client:applySettings

Sendet UI-Einstellungen (Akzentfarbe/Skalierung/Position) an die NUI.

Beispiel zeigen

Wendet Akzent, Skalierung und Position der Aufzug-NUI auf dem Client an.

TriggerEvent('Agency-Elevator:client:applySettings', { accent = '#0ea5e9', scale = 0.9, position = 'bottom-left' })
Agency-Elevator:client:openConfigurator

Oeffnet den In-Game-Aufzug-Konfigurator (nur Admin).

Beispiel zeigen

Oeffnet das Admin-Konfigurator-NUI mit der aktuellen Aufzugsliste.

TriggerEvent('Agency-Elevator:client:openConfigurator')
Agency-Elevator:client:refreshConfigurator

Aktualisiert den geöffneten Konfigurator nach Speichern/Löschen, ohne ihn zu schließen.

Beispiel zeigen

Aktualisiert das geoeffnete Konfigurator-NUI nach dem Speichern, ohne es zu schliessen.

AddEventHandler('Agency-Elevator:server:elevatorSaved', function() TriggerEvent('Agency-Elevator:client:refreshConfigurator') end)

17Agency-Housing

Database driven housing system for FiveM with auto-detection for ESX, QBCore and QBox. Houses are created in-game through a liquid-glass creator UI instead of a config file: place the entrance where you stand, mark the property border from the air, pick one of 18 shells or record a custom interior. Buy and sell with configurable refunds and a per-player limit, hand keys to other players, furnish the whole plot with up to 60 props, and lock real MLO doors. Property borders run on PolyZone, everything persists in MySQL.

Zur vollen Doku

Client-Exports

IsInsideHouse()

Returns true while the player is inside a house.

GetCurrentHouse()

The house the player is currently inside, or nil.

LeaveHouse()

Puts the player back outside through the entrance.

GetHouseAtPoint(coords)

The first house whose property border owns this ground.

GetHousesAtPoint(coords)

Every house owning this ground, for overlapping plots such as an apartment block.

GetCurrentProperty()

The plot the player is standing on right now, or nil.

IsOnProperty(houseId)

Whether the player stands on the property of that house.

GetHouseZone(houseId)

The stored border shape of a house.

GetAccent()

The accent colour the player picked in Housing > Settings.

Server-Exports

GetHouses()

Every house on the server, keyed by id.

GetPlayerHouses(source)

The houses that player owns.

HasHouseAccess(source, houseId)

Whether that player owns the house or holds a key to it.

GetHouseAtPoint(coords)

The first house whose property border owns this ground.

GetHousesAtPoint(coords)

Every house owning this ground, for overlapping plots.

GetHouseZone(houseId)

The stored border shape of a house.

Ereignisse

agency-housing:client:enteredZone

Fires with (houseId, house) when the player steps onto a property, so a job or robbery script does not have to poll.

agency-housing:client:leftZone

Fires with (houseId, house) when the player leaves a property.

Kommst du nach dieser Seite nicht weiter? Dann übernimmt unser Support.

Kommst du nach dieser Seite nicht weiter? Dann übernimmt unser Support.