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).
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:notifyZeigt 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:usePhoneItemLö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:openAppFordert 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:newMailNotifyBenachrichtigt 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:requestPhoneDataFordert 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:cancelCallBricht 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:sendMessageSendet 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:saveSettingSpeichert 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:airdropPayFü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:buyDataPlanKauft 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:createErstellt 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.
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:notifyZeigt 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:openAppAuf 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:newMailNotifyBenachrichtigt 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:hourlyPaycheckBenachrichtigt 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:requestPadDataFordert 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:sendMessageSendet 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:airdropPayFü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:buyDataPlanKauft 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:createErstellt 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:createErstellt 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:adminCreateAdmin 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:startMissionStartet 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:applyToListingSendet 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:createMechanicInvoiceErstellt 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:sendMechanicInvoicePaySendet 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:mdtCreateInvoiceMDT 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.
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.
Ereignisse
agency_lifeinvader:showAdZeigt 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:notifyZeigt 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:submitAdSendet 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.
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:closeMenuSchliesst 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:openLaunderingMenuOeffnet 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:showNotificationZeigt 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:checkAccessPrü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:completeBuySchliesst 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:sellItemVerarbeitet 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:completeSellSchliesst 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:launderMoneyVerarbeitet 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.
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:sellItemsVerkauft 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:requestPlayerItemsGibt 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:requestPlayerSkillLiefert 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:requestDetailedStatsLiefert 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.
Ereignisse
agencyrepairkit:client:startRepairStartet 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:useRepairKitESX-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:useRepairKitQBCore-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.
Ereignisse
simple_carkeys:client:toggleLockWechselt 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:toggleEngineStartet 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:showErrorZeigt 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:showNotificationTextZeigt 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:showErrorTextZeigt 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:forceToggleLockJob/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:forceToggleEngineJob/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:checkOwnershipAndLockValidiert 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:checkOwnershipAndStartValidiert 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:universalEngineStartErlaubt 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.
Ereignisse
agency-vending:notifyAllgemeiner 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:startAgencyPayStartet 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:buyMachineResultErgebnis 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:machineCreatedBroadcast, 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:openManagementVerifiedServer-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:openOwnedListOeffnet 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:spawnMachineCreatedAdmin-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:spawnMachineDeletedAdmin-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:openSpawnerUIOeffnet 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:buyMachineSpieler 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:requestOwnedListAufrufer 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:requestMachinesAufrufer 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:requestManagementServer-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:requestSpawnedMachinesAufrufer 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:adminSpawnMachineAdmin 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:adminDeleteSpawnedAdmin 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.
Ereignisse
agency-admin:client:refreshStaffRanksLoest 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))
endagency-admin:client:freezeTimeFriert 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:dashboardValueSendet 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:teleportToCoordsTeleportiert 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:announceZeigt 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:notifySendet 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:freezeFriert 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:healStellt 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:reviveBelebt 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:teleportTeleportiert 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:openToolsMenuServer-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:closeMenuServer-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:openClothingMenuServer-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:requestPlayersFordert 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:requestPanelPermissionsFordert 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:requestStaffRanksFordert 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:createRankErstellt 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:requestMyPermissionsAufrufer 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:requestSyncAufrufer 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:requestDutyRankAufrufer 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:requestSpawnedObjectsAufrufer 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).
Ereignisse
agency-reports:client:notifySendet 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:teleportTeleportiert 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:healSelfHeilt 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:submitReportReicht 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:requestPlayerDataAufrufer 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:requestAdminDataAdmin 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:sendChatMessageSendet 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.
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')
endEreignisse
Agency-HUD:client:applyVehicleSettingsPatchWendet 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:checkAdminPermissionPrü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:saveGlobalSettingsNur-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:requestGlobalSettingsGibt 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:requestTimeGibt 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.
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)
endIsProgressActive()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:LoadSettingsLä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:startStartet 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:stopStoppt 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:useFoodInventory-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:useDrinkInventory-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:SaveSettingsValidiert 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:startServerseitiger 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:stopServerseitiger 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:requestValidiert 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:applyValidiert 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.
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:SendWie 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:LoadSettingsWendet 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:SaveSettingsValidiert 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.
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)
end16Agency-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.
Ereignisse
Agency-Elevator:server:requestTravelServer-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:travelCompleteBestä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:requestElevatorsSynchronisiert 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:saveElevatorBerechtigungsgeprü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:loadElevatorSpawnt/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:saveSettingsSpeichert 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:startTravelStartet 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:applySettingsSendet 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:openConfiguratorOeffnet 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:refreshConfiguratorAktualisiert 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.
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:enteredZoneFires with (houseId, house) when the player steps onto a property, so a job or robbery script does not have to poll.
agency-housing:client:leftZoneFires with (houseId, house) when the player leaves a property.
Kommst du nach dieser Seite nicht weiter? Dann übernimmt unser Support.