Agency Docs
QBESXStandalone

Agency-Watch Конфигурация

Настоящие умные часы для FiveM, а не HUD.

v26.5Бесплатно6 Страницы

01Конфигурация

Быстрая установка · config.lua · Agency-Watch

Скачать config.lua

-- ╔══════════════════════════════════════════════════════════════╗ -- ║ A G E N C Y W A T C H ║ -- ║ AgencyOS 26.5 ║ -- ║ Kostenlos von Agency Scripts · discord.gg/RTax3aBMUs ║ -- ║ shop.agencyg.de ║ -- ╠══════════════════════════════════════════════════════════════╣ -- ║ Alles hier ist ohne Programmierkenntnisse anpassbar. ║ -- ║ Abschnitte: ALLGEMEIN · STEUERUNG · GEGENSTAND · ANZEIGE · ║ -- ║ THEME · SPERRE · ZIFFERBLAETTER · APPS · ║ -- ║ PHONE · PRO · TEXTE ║ -- ╚══════════════════════════════════════════════════════════════╝ Config = {} -- ═══════════════════════════════════════════════════════════════ -- 1 ALLGEMEIN -- ═══════════════════════════════════════════════════════════════ Config.Framework = 'auto' -- 'auto' | 'qb' | 'esx' | 'standalone' Config.Locale = 'en' -- Voreinstellung. Alle Codes siehe SprachListe in shared/sprachen.lua Config.Debug = false -- Zusatzmeldungen in der Konsole -- ═══════════════════════════════════════════════════════════════ -- 2 STEUERUNG -- Die Uhr ist nur auf Tastendruck da, genau wie das Agency Phone. -- ═══════════════════════════════════════════════════════════════ Config.OpenKey = 'Z' -- Voreingestellte Taste (im Spiel umbelegbar) Config.OpenCommand = 'watch' -- /watch oeffnet und schliesst die Uhr Config.ToggleMiniCmd = 'watchmini' -- /watchmini schaltet die kleine Dauer-Anzeige Config.CloseOnEscape = true -- ESC schliesst die Uhr Config.OpenSound = true -- Ton beim Oeffnen und Schliessen -- Bedienelemente am Gehaeuse: -- Krone (rechts oben) = App-Liste, Mausrad darauf = blaettern -- Seitenknopf (darunter) = Kontrollzentrum -- Aktionstaste (orange, links) = frei belegbar, siehe unten -- -- Auf der Aktionstaste liegt IMMER etwas. Eine Taste, die nichts tut, ist -- schlimmer als gar keine - der Spieler weiss dann nicht, ob sie kaputt ist -- oder er sie falsch bedient. Steht hier ein unbekannter Name, faellt die -- Uhr auf die Taschenlampe zurueck. -- -- Die Beschriftungen stehen hier auf Englisch, weil sie damit uebersetzt -- werden: solange der englische Standard hier steht, nimmt die Uhr den Text -- aus shared/sprachen.lua in der eingestellten Sprache. Wer hier etwas -- anderes eintraegt, behaelt genau seinen Text, in jeder Sprache. Dieselbe -- Regel gilt fuer Config.Apps, Config.Themes und Config.Komplikationen. Config.ActionButton = 'lampe' Config.ActionPresets = { lampe = { label = 'Flashlight', icon = 'lampe', kind = 'builtin', value = 'lampe' }, wegpunkt = { label = 'Clear waypoint', icon = 'pin', kind = 'builtin', value = 'wegpunkt' }, mini = { label = 'Mini display', icon = 'raster', kind = 'builtin', value = 'mini' }, kz = { label = 'Control Centre', icon = 'regler', kind = 'builtin', value = 'kz' }, pay = { label = 'Agency Pay', icon = 'karte', kind = 'builtin', value = 'pay' }, -- Beispiele fuer Server-Betreiber (auskommentiert): eigene Befehle und Events -- motor = { label = 'Motor an/aus', icon = 'blitz', kind = 'command', value = 'engine' }, -- winken = { label = 'Winken', icon = 'hand', kind = 'command', value = 'e wave' }, -- eigen = { label = 'Eigenes Event', icon = 'blitz', kind = 'event', value = 'mein-script:client:aktion' }, } -- Taschenlampe. Sie leuchtet zweifach: das Zifferblatt wird zur weissen -- Flaeche - so hat es eine Uhr am Handgelenk an sich - und zusaetzlich faellt -- ein Kegel in die Welt, sonst saehe man im Dunkeln trotzdem nichts. Config.Lampe = { -- Reichweite und Helligkeit des Kegels reichweite = 28.0, staerke = 6.0, -- Ohne Uhr in der Hand aus: laeuft die Lampe weiter, waehrend die Uhr -- eingeklappt ist? true = ja, sie bleibt an bis zum naechsten Druck. weiterAusserhalb = true, -- Verfuegbare Leuchtarten. Durchgeschaltet wird auf der Uhr. arten = { 'weiss', 'blinken', 'rot' }, } -- ═══════════════════════════════════════════════════════════════ -- 3 GEGENSTAND -- Ab Werk muss eine Uhr im Inventar liegen - irgendeine. Damit laeuft -- das Script auf jedem Server sofort, ohne dass jemand erst ein neues -- Item anlegen muss. Wer ein eigenes Item will, stellt auf 'exact' um. -- ═══════════════════════════════════════════════════════════════ Config.RequireItem = true -- false = die Uhr geht immer auf -- 'any' = irgendeine Uhr aus Config.WatchItems reicht (Voreinstellung) -- 'exact' = nur Config.WatchItem wird akzeptiert Config.ItemMode = 'any' -- Bekannte Uhr-Gegenstaende. Der erste, den der Spieler dabei hat, oeffnet -- die Uhr. Eigene Namen einfach ergaenzen. Config.WatchItems = { 'rolex', -- QBCore-Standard, heisst im Spiel "Goldene Uhr" 'watch', 'smartwatch', 'agency_watch', 'armbanduhr', 'goldwatch', 'silverwatch', 'diamond_watch', } Config.WatchItem = 'smartwatch' -- gilt nur bei Config.ItemMode = 'exact' Config.Inventory = 'auto' -- 'auto' | 'ox' | 'qb' | 'none' Config.RemoveOnDeath = false -- Uhr nach dem Tod gesperrt bis zum Wiederbeleben -- ═══════════════════════════════════════════════════════════════ -- 4 ANZEIGE -- Position und Groesse sind zusaetzlich in der Uhr selbst einstellbar. -- ═══════════════════════════════════════════════════════════════ Config.AlwaysOn = false -- false = nur auf Tastendruck -- Die kleine Dauer-Anzeige waechst mit der Uhr mit. Wer sie unabhaengig -- kleiner oder groesser will, dreht hier: 1.0 = genauso gross wie die Uhr, -- 0.7 = deutlich kleiner, 1.3 = groesser. Config.MiniScale = 1.0 -- Wo genau die kleine Anzeige sitzt. Sie steht am selben Bildrand wie in -- Config.Position gewaehlt, aber mit eigenem Abstand - dort sitzt auf den -- meisten Servern das HUD, und zwei Anzeigen uebereinander verdecken sich. -- hoch = Abstand zum oberen bzw. unteren Rand, in Prozent der Bildhoehe -- seite = Abstand zum linken bzw. rechten Rand, in Prozent der Bildbreite -- Ab Werk hoch genug, um ueber einem Tacho am unteren Rand zu bleiben. Config.MiniAbstand = { hoch = 19.0, seite = 2.4 } Config.Position = 'bottom-right' -- bottom-left | bottom-right | top-left | top-right Config.Size = 1.5 -- Groesse, erlaubt sind 0.6 bis 2.0 Config.Appearance = 'dark' -- 'dark' | 'light' Config.Use24h = true Config.DefaultFace = 'raster' -- siehe Abschnitt 7 Config.UpdateInterval = 1000 -- Millisekunden zwischen Aktualisierungen Config.CountSteps = true -- eigener Schrittzaehler Config.ShowSpeed = true -- Tachoanzeige im Fahrzeug Config.HideInPauseMenu = true -- ═══════════════════════════════════════════════════════════════ -- PRO-FASSUNG UND WERBUNG -- Ohne Agency Phone: vollstaendige kostenlose Uhr mit dezentem Hinweis. -- Mit erkanntem Agency Phone: Pro-Fassung, keine Werbung mehr. -- ═══════════════════════════════════════════════════════════════ Config.ShowFreeBranding = true -- Hinweis nur in der kostenlosen Fassung -- ═══════════════════════════════════════════════════════════════ -- 5 THEME — Metall-Voreinstellungen -- ═══════════════════════════════════════════════════════════════ Config.Theme = 'titan' Config.SplitFaceColor = '#00d4ff' -- Akzentflaeche im Zifferblatt "Puls" -- Grundfarben des Agency-Erscheinungsbilds. Werden an die Oberflaeche -- durchgereicht und von den Benachrichtigungen der Uhr genutzt. Config.AccentPrimary = '#00d4ff' Config.AccentOrange = '#ff6b35' Config.AccentGreen = '#00ff88' -- case = Gehaeuse, daraus wird die ganze Metallreihe abgeleitet -- band = Armband, eigene Reihe -- accent = Systemfarbe der Oberflaeche -- mesh = true bei Metallgliedern, false bei einfarbigen Baendern -- -- Die Toene sind auf die Beschreibung und auf die Agency-Palette abgestimmt: -- Cyan #00d4ff und Orange #ff6b35 sind die Hausfarben, sie bleiben ueberall -- der Bezugspunkt. -- Beschriftungen wieder auf Englisch, damit sie uebersetzt werden. Siehe -- den Hinweis bei Config.ActionPresets. Config.Themes = { -- Warmgraues Titan, wie gebuerstetes Metall titan = { label = 'Titanium', case = '#b9b4a9', band = '#a9a49a', accent = '#00d4ff', orange = '#ff6b35', mesh = true }, -- Kuehles helles Silber silber = { label = 'Silver', case = '#dde0e4', band = '#c7cbd1', accent = '#00d4ff', orange = '#ff6b35', mesh = true }, -- Neutrales dunkles Grau graphit = { label = 'Graphite', case = '#44474e', band = '#383b42', accent = '#00d4ff', orange = '#ff7a30', mesh = true }, -- Fast schwarz mit dem Blaustich des Agency-Navy mitternacht = { label = 'Midnight', case = '#1f2129', band = '#171922', accent = '#00d4ff', orange = '#ff6b35', mesh = true }, -- Stahlblaues Gehaeuse mit tiefblauem Band ozean = { label = 'Ocean', case = '#5b6b7d', band = '#1d6fd8', accent = '#00d4ff', orange = '#ff9d5c', mesh = false }, -- Bronze mit dem Orange des Hauses abendrot = { label = 'Sunset', case = '#8f5c3a', band = '#ff6b35', accent = '#ffc24a', orange = '#ff8a4a', mesh = false }, -- Die Hausfarben selbst agency = { label = 'Agency', case = '#2a2f3a', band = '#0f1620', accent = '#00d4ff', orange = '#ff6b35', mesh = true }, } -- ═══════════════════════════════════════════════════════════════ -- 6 SPERRE — Zahlencode beim Oeffnen -- Ein Rollenspiel-Element, kein Schutz gegen Mitspieler mit Werkzeugen. -- ═══════════════════════════════════════════════════════════════ -- Die Uhr ist beim ersten Oeffnen gesperrt. Wird ein Agency Phone erkannt, -- entsperrt sie sich von selbst und fragt nie nach dem Code. Config.LockScreen = true -- Code beim Oeffnen verlangen Config.LockCode = '0000' -- vierstellig Config.LockRemember = true -- Code pro Sitzung nur einmal abfragen Config.UnlockWithPhone = true -- mit erkanntem Agency Phone ohne Code oeffnen -- ═══════════════════════════════════════════════════════════════ -- 7 ZIFFERBLAETTER — Reihenfolge ist zugleich die Blaetterreihenfolge -- puls = Standard: Datum, Ringe, grosse Zeit, Pulskurve, Kurzwahlen -- raster = dichte Uebersicht mit Werten rundherum -- digital = grosse Digitalanzeige mit Akzentflaeche -- klar = reduziert, nur Zeit und Datum -- zeiger = klassische Zeiger -- ringe = Aktivitaetsringe -- ═══════════════════════════════════════════════════════════════ -- Reihenfolge auf der Uhr. Das erste ist zugleich das, was beim Wischen -- zuerst kommt - deshalb steht das Standardblatt hier vorn. Config.Faces = { 'raster', 'puls', 'digital', 'klar', 'zeiger', 'ringe' } -- Welche Zifferblaetter ohne Agency Phone nutzbar sind. Bewusst drei sehr -- verschiedene: das Standardblatt mit allen Werten, ein reduziertes und ein -- klassisches. Damit hat auch die kostenlose Uhr eine echte Wahl und wirkt -- nicht beschnitten. -- Wer alle sechs will und sie frei belegen moechte, braucht das Phone. -- -- Das voreingestellte Blatt aus Config.DefaultFace MUSS hier stehen, sonst -- startet die kostenlose Uhr auf einem gesperrten Zifferblatt. Config.FreeFaces = { 'raster', 'klar', 'zeiger' } -- ═══════════════════════════════════════════════════════════════ -- 7b ZIFFERBLATT FREI BELEGEN (nur mit Agency Phone) -- Die beiden kleinen Werte links neben der Uhrzeit und die Messzeile -- darunter lassen sich mit einem beliebigen Wert aus dieser Liste belegen. -- Wer hier etwas ergaenzt, muss den Schluessel auch in der Oberflaeche -- kennen (html/js/app.js, Funktion komplikation). -- ═══════════════════════════════════════════════════════════════ -- Beschriftungen wieder auf Englisch, damit sie uebersetzt werden. Siehe -- den Hinweis bei Config.ActionPresets. Config.Komplikationen = { { id = 'leben', label = 'Health', icon = 'herz', farbe = '#ff453a' }, { id = 'panzerung', label = 'Armour', icon = 'schild', farbe = '#00d4ff' }, { id = 'schritte', label = 'Steps', icon = 'schritte', farbe = '#ff9f0a' }, { id = 'strecke', label = 'Distance', icon = 'karte-pin', farbe = '#5e5ce6' }, { id = 'kalorien', label = 'Calories', icon = 'blitz', farbe = '#ffd60a' }, { id = 'puls', label = 'Heart rate', icon = 'herz', farbe = '#ff453a' }, { id = 'tempo', label = 'Speed', icon = 'tempo', farbe = '#30d158' }, { id = 'wetter', label = 'Weather', icon = 'sonne', farbe = '#64d2ff' }, { id = 'kompass', label = 'Compass', icon = 'kompass', farbe = '#a855f7' }, { id = 'geld', label = 'Agency Pay', icon = 'karte', farbe = '#ff6b35', pro = true }, { id = 'keine', label = 'None', icon = 'verboten', farbe = '#8e8e93' }, } -- Voreinstellung der drei Felder auf dem Standardblatt Config.FaceSlots = { oben = 'leben', -- oberer kleiner Wert links unten = 'schritte', -- unterer kleiner Wert links zeile = 'puls', -- die Messzeile mit Verlaufskurve } -- ═══════════════════════════════════════════════════════════════ -- 8 APPS — Reihenfolge, Sichtbarkeit und Pro-Abhaengigkeit -- ═══════════════════════════════════════════════════════════════ -- DIE GRENZE ZWISCHEN KOSTENLOS UND PRO -- -- Die Regel dahinter ist bewusst einfach und fuer jeden Spieler auf -- Anhieb einleuchtend: -- -- Alles, was eine Uhr aus sich heraus kann, ist kostenlos. -- Alles, was aus dem Telefon kommt, braucht das Telefon. -- -- Deshalb ist keine einzige Grundfunktion gesperrt. Zifferblaetter, -- Themes, Aktivitaet, Sport, Stoppuhr, Timer, Wecker, Wetter, Kompass, -- Tacho, Mitteilungen, das Kontrollzentrum und saemtliche Einstellungen -- laufen ohne Telefon vollstaendig. Wer die Uhr kostenlos nutzt, hat ein -- fertiges Geraet und kein Werbegeruest. -- -- Gesperrt ist nur, was ohne Telefon technisch gar nicht existieren -- koennte: Anrufe, Nachrichten, Mail, Kontakte, Bezahlen und die -- Kopplung mit der Companion-App. Diese Apps waeren ohne Agency Phone -- keine gesperrten Apps, sondern schlicht leere. -- -- pro = true -> braucht das Agency Phone -- pro = false -> laeuft immer -- ═══════════════════════════════════════════════════════════════ Config.Apps = { -- ── Braucht das Agency Phone ──────────────────────────────── { id = 'telefon', label = 'Phone', icon = 'telefon', color = '#34c759', enabled = true, pro = true }, { id = 'nachrichten', label = 'Messages', icon = 'sprechen', color = '#30d158', enabled = true, pro = true }, { id = 'mail', label = 'Mail', icon = 'brief', color = '#0a84ff', enabled = true, pro = true }, { id = 'kontakte', label = 'Contacts', icon = 'personen', color = '#34c759', enabled = true, pro = true }, { id = 'geld', label = 'Agency Pay', icon = 'karte', color = '#ff6b35', enabled = true, pro = true }, -- Kostenlos: die Uhr hat einen eigenen Draht zur Companion-App und -- braucht das Agency Phone dafuer nicht mehr (siehe Config.Companion). { id = 'companion', label = 'Companion', icon = 'qr', color = '#00d4ff', enabled = true, pro = false }, -- ── Laeuft immer, auch ganz ohne Telefon ──────────────────── -- Mitteilungen sind bewusst kostenlos: die Uhr meldet Wecker, Timer -- und erreichte Ziele selbst. Mit Telefon kommen dessen Meldungen -- zusaetzlich dazu, die App ist also nie leer. { id = 'meldungen', label = 'Notifications', icon = 'glocke', color = '#ff9f0a', enabled = true, pro = false }, { id = 'aktivitaet', label = 'Activity', icon = 'herz', color = '#ff2d55', enabled = true, pro = false }, { id = 'training', label = 'Workout', icon = 'laufen', color = '#a3ff12', enabled = true, pro = false }, { id = 'stoppuhr', label = 'Stopwatch', icon = 'stoppuhr', color = '#ff9f0a', enabled = true, pro = false }, { id = 'timer', label = 'Timer', icon = 'sanduhr', color = '#ff9f0a', enabled = true, pro = false }, { id = 'wecker', label = 'Alarm', icon = 'glocke', color = '#ff9f0a', enabled = true, pro = false }, { id = 'wetter', label = 'Weather', icon = 'sonne', color = '#64d2ff', enabled = true, pro = false }, { id = 'kompass', label = 'Compass', icon = 'kompass', color = '#ff453a', enabled = true, pro = false }, { id = 'karte', label = 'Speedometer', icon = 'karte-pin', color = '#5e5ce6', enabled = true, pro = false }, -- Die Garage zieht ihre Daten aus dem Framework, nicht aus dem Telefon. -- Sie laeuft deshalb auch kostenlos. Ohne Framework blendet sie sich -- selbst aus, statt leer dazustehen. { id = 'garage', label = 'Garage', icon = 'auto', color = '#0a84ff', enabled = true, pro = false }, { id = 'zifferblatt', label = 'Watch Face', icon = 'uhr', color = '#ff9f0a', enabled = true, pro = false }, { id = 'store', label = 'App Store', icon = 'einkauf', color = '#0a84ff', enabled = true, pro = false }, { id = 'einstellung', label = 'Settings', icon = 'zahnrad', color = '#8e8e93', enabled = true, pro = false }, } -- ═══════════════════════════════════════════════════════════════ -- 8c WETTER -- Los Santos kommt aus dem Spiel. Alles andere sind echte Staedte, die -- Werte holt die Uhr von open-meteo.com - kostenlos, ohne Schluessel und -- ohne Anmeldung, genau wie das Agency Phone es tut. -- -- Wer keine echten Staedte will, leert die Liste. Dann zeigt die App nur -- Los Santos und der Ortswechsel verschwindet. -- ═══════════════════════════════════════════════════════════════ Config.Wetter = { staedte = { 'Berlin', 'Hamburg', 'München', 'Wien', 'Zürich', 'London', 'Paris', 'Madrid', 'Rom', 'Amsterdam', 'New York', 'Los Angeles', 'Miami', 'Tokio', 'Dubai', 'Sydney', 'Reykjavik', 'Kapstadt', }, -- Wie lange geholte Werte gelten, bevor neu gefragt wird (Minuten). frischeMinuten = 15, } -- ═══════════════════════════════════════════════════════════════ -- 8a APP STORE -- Nicht alles liegt ab Werk auf der Uhr. Was fehlt, holt sich der Spieler -- im Store, und was er nicht braucht, loescht er wieder. Beides wird pro -- Figur gemerkt, genau wie Zifferblatt und Code. -- -- Laenger auf eine App druecken laesst die Liste wackeln: dann kann man sie -- umsortieren und loeschen. -- ═══════════════════════════════════════════════════════════════ Config.AppStore = { enabled = true, -- Was ab Werk installiert ist. Der Rest steht im Store bereit. -- Diese Liste leer lassen heisst: alles ist von Anfang an da. vorinstalliert = { 'telefon', 'nachrichten', 'geld', 'companion', 'meldungen', 'aktivitaet', 'wetter', 'stoppuhr', 'zifferblatt', 'store', 'einstellung', }, -- Diese lassen sich nie loeschen. Ohne Einstellungen und Store kaeme man -- an nichts mehr heran, und ohne Zifferblatt-App an kein anderes Blatt. fest = { 'einstellung', 'store', 'zifferblatt' }, -- Wie lange das Laden im Store dauert (Sekunden). 0 = sofort da. ladedauer = 2.0, } -- ═══════════════════════════════════════════════════════════════ -- 8b GARAGE -- Fahrzeuge ansehen, orten und rufen. Die Liste kommt aus der Datenbank -- des Frameworks (QBCore: player_vehicles, ESX: owned_vehicles). Ohne -- Framework gibt es keine Fahrzeugbesitzer, dann verschwindet die App. -- ═══════════════════════════════════════════════════════════════ Config.Garage = { enabled = true, -- Darf die Uhr Fahrzeuge herbeirufen? -- false = die App zeigt nur an und ortet. rufen = true, -- Das Herbeirufen ist die Fernsteuerung des Fahrzeugs und damit die -- Pro-Funktion dieser App. Ansehen, orten und abschliessen bleiben immer -- kostenlos, die App ist ohne Telefon also nie leer. -- Auf false gesetzt darf jeder rufen. rufenNurPro = true, -- Sekunden zwischen zwei Rufen, pro Spieler. abklingzeit = 45, -- Kosten pro Ruf. 0 = kostenlos. -- konto: 'bank' | 'cash' kosten = 0, konto = 'bank', -- Nur Fahrzeuge zeigen, die wirklich eingelagert sind. Ein Fahrzeug, -- das schon auf der Strasse steht, laesst sich nicht noch einmal rufen. nurEingelagerte = true, -- Darf ein bereits ausgeparktes Fahrzeug aus der Ferne geortet werden? orten = true, -- Tueren aus der Naehe auf- und zuschliessen (Meter). schliessweite = 15.0, -- Auf welche Fahrzeugtabelle wird gelesen. 'auto' waehlt nach Framework. tabelle = 'auto', -- 'auto' | 'player_vehicles' | 'owned_vehicles' } -- Tagesziel fuer Schritte. Steuert die Ringe und die Meldung beim -- Erreichen. Rein kostenlos, braucht kein Telefon. Config.Schrittziel = 8000 -- Zu welcher Stunde beginnt der neue Tag? Dann werden Schritte, Strecke, -- aktive Zeit und Verbrauch auf null gesetzt und der alte Tag wandert in den -- Verlauf. Massgeblich ist die Spielzeit, nicht die echte. -- -- 0 = Mitternacht. Wer den Zaehler nicht mitten in der Nacht verlieren will, -- traegt hier z. B. 4 ein - dann gehoeren 0 bis 3 Uhr noch zum Vortag. -- -- Ein Neustart des Scripts setzt NICHTS zurueck. Nur der Tageswechsel tut das. Config.SchritteReset = 0 -- ═══════════════════════════════════════════════════════════════ -- KONTROLLZENTRUM -- Jede Kachel bewirkt wirklich etwas und wird gemerkt. Eine Akkuanzeige gab -- es hier einmal - sie ist entfallen, weil es im Spiel nichts zu laden gibt -- und die Zahl damit reine Zierde war. -- -- Reihenfolge und Auswahl stehen in 'kacheln'. Was hier nicht steht, taucht -- auch nicht auf; wer die Reihenfolge aendert, aendert sie auf der Uhr. -- -- Verfuegbar: -- mobilfunk Verbindung zum Telefon. Aus = keine Anrufe, keine Mitteilungen -- wlan Netz. Aus = keine Kopplung, kein Wetter -- flugmodus schaltet Mobilfunk und WLAN gemeinsam ab -- lautlos Toene der Uhr aus -- kino die Uhr meldet sich gar nicht mehr -- lampe Taschenlampe (siehe Config.Lampe) -- licht helles oder dunkles Aussehen -- wecker oeffnet den Wecker -- wegpunkt loescht den gesetzten Wegpunkt -- sperren sperrt die Uhr sofort (nur mit gesetztem Code) -- pay oeffnet Agency Pay (nur mit Agency Phone) -- garage oeffnet die Garage -- ═══════════════════════════════════════════════════════════════ Config.ControlCenter = { kacheln = { 'mobilfunk', 'wlan', 'flugmodus', 'lampe', 'lautlos', 'kino', 'licht', 'wecker', 'wegpunkt', 'sperren', 'pay', 'garage', }, -- Helligkeitsregler unter den Kacheln hell = true, } -- ═══════════════════════════════════════════════════════════════ -- 9 AGENCY PHONE -- ═══════════════════════════════════════════════════════════════ Config.EnablePhone = true Config.PhoneResource = 'agency-phone' -- Wohin der Knopf in einer gesperrten App fuehrt. Direkt zum Agency Phone, -- nicht auf die Startseite: wer dort landet, sucht genau dieses Produkt. Config.ShopUrl = 'https://shop.agencyg.de/en/product/phone' -- ═══════════════════════════════════════════════════════════════ -- 9b AGENCY COMPANION (Handy-App) -- Die Uhr kann sich selbst mit der Companion-App koppeln, ganz ohne -- Agency Phone. Sie meldet sich dafuer beim Relay an und haelt die -- Verbindung von sich aus offen - der Server waehlt nur nach draussen, -- es muss also kein Port geoeffnet werden. -- -- kanal: -- 'auto' laeuft ein Agency Phone, geht die Kopplung ueber dessen -- Verbindung (ein Weg nach draussen statt zwei). Ohne Telefon -- macht die Uhr es selbst. -- 'immer' die Uhr hat immer ihren eigenen Kanal -- 'nie' nur ueber das Telefon; ohne Telefon gibt es keine Kopplung -- ═══════════════════════════════════════════════════════════════ Config.Companion = { enabled = true, -- 'immer' ab Werk: die Uhr ist ein eigenstaendiges Geraet und soll auch -- in der App als eigenes erscheinen, nicht als Anhaengsel des Telefons. -- Wer nur eine Verbindung nach draussen will, stellt auf 'auto'. kanal = 'immer', relay = 'https://api.agencyg.de', -- Wie lange ein Kopplungscode gilt (Sekunden). codeDauer = 600, -- Wie viele Geraete ein Spieler gleichzeitig gekoppelt haben darf. maxGeraete = 5, } -- ═══════════════════════════════════════════════════════════════ -- STURZERKENNUNG UND NOTRUF -- Die Uhr merkt selbst, wenn etwas passiert ist, kommt von allein hervor -- und bietet den Notruf an. Das laeuft auch ganz ohne Agency Phone - eine -- Uhr, die im Notfall nichts kann, waere genau dann nutzlos, wenn sie -- gebraucht wird. -- ═══════════════════════════════════════════════════════════════ Config.Sturz = { enabled = true, -- Ab wie viel Schaden auf einen Schlag gilt es als Notfall. -- Der Wert ist bewusst hoch: ein Faustschlag oder ein Sturz von der -- Bordsteinkante soll die Uhr nicht aufwecken. schaden = 35, -- Aufprall im Fahrzeug: Tempoverlust in km/h innerhalb eines Taktes. -- Zusaetzlich muss Schaden entstanden sein, sonst waere jedes scharfe -- Bremsen ein Unfall. tempoverlust = 45, -- Sturz aus der Hoehe: Schaden waehrend des Fallens. sturzschaden = 20, -- Sekunden, die der Bildschirm von selbst stehen bleibt. dauer = 45, -- Sekunden Ruhe zwischen zwei Meldungen. Ohne das meldet sich die Uhr -- bei einer Schlaegerei im Sekundentakt. abstand = 30, -- Wohin der Notruf geht, wenn KEIN Agency Phone vorhanden ist. -- Leer lassen, wenn der Server keinen eigenen Weg hat - die Uhr sagt -- dann ehrlich, dass sie niemanden erreichen konnte. -- Beide bekommen: { quelle, art, coords, street } notrufEvent = '', -- z. B. 'mein-dispatch:server:notruf' notfallEvent = '', -- Notfallkontakt statt Rettungsdienst } -- ═══════════════════════════════════════════════════════════════ -- Bezahlstellen von Agency Pay -- Die Uhr uebernimmt die Stellen des Agency Phone automatisch. Hier -- eingetragene kommen dazu - und werden umgekehrt auch beim Telefon -- angemeldet, sodass beide Geraete dieselben kennen. -- Ohne Telefon funktionieren diese Stellen trotzdem. -- ═══════════════════════════════════════════════════════════════ -- Ab Werk leer. Die Stellen des Agency Phone werden ohnehin uebernommen, -- eine mitgelieferte Stelle waere auf jedem fremden Server ein Punkt, den -- dort niemand bestellt hat. Eigene Stellen nach diesem Muster eintragen: -- -- { id = 'meine_stelle', coords = vector3(25.7, -1347.3, 29.5), -- merchant = '24/7 Strawberry', label = 'Agency Pay', radius = 3.0 }, -- Config.PayPunkte = {} -- Sollen die eigenen Stellen auch auf der Karte auftauchen? -- Aus, solange oben nichts steht. Wer eigene Stellen eintraegt und sie -- auffindbar machen will, setzt das auf true. Config.PayPunkteBlip = false -- Welche App auf dem Telefon eine App der Uhr fortsetzt. -- Auf der Uhr laesst sich lesen, aber nicht schreiben. Tippt man dort eine -- Nachricht an, holt die Uhr das Telefon hervor, entsperrt es und springt in -- die passende App. Heisst eine App auf dem Telefon anders, hier eintragen. Config.PhoneApps = { nachrichten = 'buzz', mail = 'postbox', kontakte = 'contacts', telefon = 'dialer', geld = 'wallet', } -- Eigenes Symbol der Uhr auf dem Startbildschirm des Phones. -- Auf false setzen, wenn die vollstaendige Watch-App des Phones genutzt wird, -- damit nicht zwei Eintraege nebeneinander stehen. Config.RegisterPhoneApp = false -- ═══════════════════════════════════════════════════════════════ -- 9b PRO-PRUEFUNG -- Hier steht KEIN Geheimnis. Das gemeinsame Geheimnis liegt ausschliesslich -- in der verschluesselten server/security.lua. Die Pro-Fassung wird immer -- auf dem Server entschieden und dem Client nur mitgeteilt. -- ═══════════════════════════════════════════════════════════════ Config.Security = { -- Sekunden zwischen den regelmaessigen Nachpruefungen RecheckSeconds = 300, -- Erlaubte Zeitabweichung in Sekunden beim Handschlag HandshakeSkew = 30, -- NOTWEG, ab Werk AUS. -- Der vorgesehene und sichere Weg ist der Handschlag mit dem echten -- Agency Phone. Er ist ab Phone-Fassung 26.5.4 eingebaut und braucht -- keinerlei Einrichtung. -- -- Diesen Schalter nur einschalten, wenn das Agency Phone aelter ist und -- sich nicht sofort aktualisieren laesst. Dann gilt: Pro bekommt, wer den -- unten genannten Gegenstand besitzt UND dessen Phone echt wirkt. Das ist -- schwaecher als der Handschlag. -- -- Achtung bei der Wahl des Gegenstands: 'phone' ist in QBCore ein -- Standardgegenstand, den fast jeder Spieler von Beginn an hat. Wer ihn -- hier eintraegt, verschenkt die Pro-Fassung an alle. AllowItemFallback = false, PhoneItem = 'agency_phone', } -- ═══════════════════════════════════════════════════════════════ -- 10 EIGENE TEXTE -- Alle Uebersetzungen stehen in shared/sprachen.lua, zehn Sprachen, -- dieselben wie im Agency Phone. Hier gehoeren nur eigene Aenderungen -- hin. Was hier steht, gilt VOR der mitgelieferten Uebersetzung und -- ueberlebt jede Aktualisierung des Scripts. -- -- Beispiel: -- Config.Text = { -- de = { apps = 'Programme', p_senden = 'Abschicken' }, -- en = { apps = 'Programs' }, -- } -- ═══════════════════════════════════════════════════════════════ Config.Text = {} -- Beschriftung nachschlagen. Reihenfolge: eigener Text, gewaehlte Sprache, -- Englisch als Rueckfall. Der rohe Schluessel erscheint nie. function T(schluessel) local code = Config.Locale or 'en' local eigen = Config.Text[code] if eigen and eigen[schluessel] then return eigen[schluessel] end local sprache = Sprachen[code] if sprache and sprache[schluessel] then return sprache[schluessel] end return Sprachen.en[schluessel] or '' end

После этой страницы всё ещё не получается? Дальше подключается наша поддержка.