Agency-Phone: Das Smartphone speziell für FiveM
Erfahre, warum Agency-Phone das immersivste Smartphone-Erlebnis in FiveM bietet, von der App-Architektur bis zur Leistung unter hoher Last.
Agency Scripts
Gründer und leitender Entwickler bei Agency Scripts
Live-Demo
Teste Agency Phone in deinem Browser, ganz ohne Download.
Warum noch ein FiveM-Handy entwickeln?
Wir haben Agency-Phone entwickelt, weil jedes Handy, das wir auf unseren eigenen Servern ausprobiert hatten, entweder gut aussah und schlecht lief oder gut lief und veraltet wirkte. Der Markt war voller Kompromisse. Wir wollten etwas, das sich vom ersten Öffnen an wirklich wie ein modernes Smartphone anfühlt und im Leerlauf trotzdem eine Ressourcennutzung von 0.00ms erreicht, wenn es in der Tasche steckt.
Eine UI, die sich nicht nach FiveM anfühlt
Die meisten FiveM-Handys verraten innerhalb von zwei Sekunden nach dem Öffnen ihre Herkunft. Die Schriftarten wirken leicht unpassend, Animationen ruckeln, der Startbildschirm sieht wie ein Platzhalter aus. Agency-Phone wurde von Leuten entwickelt, die täglich echte Smartphones nutzen. Jedes Element, von der Uhr auf dem Sperrbildschirm bis zur Federphysik im App-Menü, wurde so lange überarbeitet, bis es sich nicht mehr wie ein Script, sondern wie ein echtes Telefon anfühlte.
Die App-Architektur
Unter der Haube verwendet Agency-Phone ein App-System mit verzögertem Laden. Die Benutzeroberfläche von Apps wird erst initialisiert, wenn du sie tatsächlich öffnest. So bleibt der Speicherverbrauch konstant, auch wenn wir weitere Apps hinzufügen. Der Event-Bus zwischen clientseitigem Lua und der NUI-Ebene ist entprellt, damit schnelle Aktionen der Nutzer keine resmon-Spitzen im Spiel verursachen. Diese Art von Entwicklungsarbeit sieht niemand, aber alle profitieren davon, wenn auf deinem Server 128 Spieler online sind.
Standardmäßig framework-unabhängig
Agency-Phone wird mit Adaptern für QBCore und ESX ausgeliefert, aber der Kern ist framework-unabhängig. Wenn du einen standalone-Server mit deiner eigenen Spielerdatenebene betreibst, kannst du ihn in einem Nachmittag einbinden, indem du vier Lookup-Funktionen implementierst. Wir weigern uns, Scripts auszuliefern, die dich an ein einzelnes Framework binden, denn Frameworks kommen und gehen. Wir haben während unserer Zeit in der Community mindestens drei Wellen von „Das ist jetzt der Standard“ kommen und gehen sehen.
Der Sinn eines Telefons im RP
Ein FiveM-Handy ist letztendlich ein soziales Werkzeug. Spieler nutzen es, um Treffen zu organisieren, Drogendeals abzuwickeln, dem Boss ihres Charakters zu schreiben und in der Radio-App Musik zu hören. Alles, was wir zu Agency-Phone hinzufügen oder daraus entfernen, beurteilen wir anhand der Frage: Macht es soziale Interaktionen einfacher oder unterhaltsamer? Deshalb haben wir eine Galerie-App veröffentlicht, bevor wir Kalendererinnerungen eingebaut haben, und deshalb bietet die vorinstallierte Nachrichten-App umfangreiche Tippindikatoren, bevor sie geplante Nachrichten unterstützt. RP zuerst, Feature-Checklisten danach.
Installation & Einrichtung
Agency-Phone benötigt oxmysql, um Kontakte, Nachrichten und Anruflisten dauerhaft zu speichern. Importiere phone.sql in deine Datenbank, lade die Ressource von Tebex herunter, lege sie in dein resources-Verzeichnis und füge ensure agency-phone in server.cfghinzu. Das Framework wird für QBCore und ESX automatisch erkannt. Bei standalone-Setups implementierst du die vier Adapterfunktionen in config.lua. Je nach deiner eigenen Spielerdatenebene dauert das in der Regel ein bis zwei Stunden.
Spieler öffnen das Telefon über die konfigurierbare Taste (Standard: M) oder über einen Gegenstand in ihrem Inventar. Beide Methoden lassen sich gleichzeitig verwenden. Manche Server nutzen die Tastenkombination, andere bevorzugen die immersive Variante mit einem Gegenstand, bei der das Telefon fallen gelassen oder gestohlen werden kann.
Konfigurationsoptionen
Die config.lua deckt sowohl technische Einstellungen als auch Gameplay-Einstellungen ab:
- Telefontaste, Taste zum Öffnen und Schließen des Telefons. Standard: M.
- Telefon als Gegenstand, legt fest, ob ein Telefon-Gegenstand im Inventar benötigt wird. Standard: deaktiviert (nur Taste).
- Nummernformat, legt fest, wie Telefonnummern angezeigt und für neue Charaktere automatisch erstellt werden.
- Anrufreichweite, maximale Entfernung für Anrufe in Reichweite im Vergleich zu Anrufen außerhalb der Reichweite (Voicemail). Standard: unbegrenzt für Anrufe innerhalb des Charakters.
- Twitter/LifeInvader-Integration, verbinde Agency-LifeInvader, falls installiert, mit der Social-App.
- Radio-App-Integration, konfiguriere die verfügbaren Radiostreams für die Musikplayer-App.
- Banking-App, verbinde QBCore-Banking, ESX-Konten oder einen eigenen Banking-Handler.
- GPS-App, benutzerdefinierte Wegpunktkategorien für servereigene Orte (Krankenhäuser, Polizeistationen, Unternehmen).
- Benachrichtigungsweiterleitung, legt fest, welche externen Scripts Benachrichtigungen an das Telefon senden können und wie sie angezeigt werden.
Framework-Kompatibilität
Agency-Phone wird mit QBCore- und ESX-Adaptern ausgeliefert. Der Adapter übernimmt die Anzeige des Geldes, den Inventargegenstand (wenn das Handy als Gegenstand aktiviert ist), Jobdaten für die Sichtbarkeit jobspezifischer Apps und die Anzeige des Charakternamens. Für standalone gilt dasselbe Muster mit vier Funktionen. Sobald der Adapter für ein Agency-Skript geschrieben ist, verwenden nachfolgende Skripte dieselben Funktionen.
Warum das für Roleplay wichtig ist
Ein Handy ist der persönlichste Gegenstand, den ein Charakter bei sich trägt. Spieler nutzen es in jeder Sitzung, um Anrufe zu tätigen, Nachrichten zu senden, ihren Kontostand zu prüfen und auf die Karte zu schauen. Wenn sich die Nutzung wie bei einem echten Handy anfühlt, wirken auch RP-Sitzungen mit Handynutzung realistischer. Ein Drogendeal, der über die SMS-App von Agency-Phone mit Lesebestätigungen und Tippanzeigen koordiniert wird, ist eine deutlich andere und bessere Szene als derselbe Deal, der über einen Chatbefehl abgewickelt wird.
Die soziale Koordination ist die wichtigste RP-Funktion des Handys. Die meisten bedeutenden RP-Ereignisse beginnen mit Kommunikation: Jemand meldet sich, vereinbart ein Treffen, teilt Koordinaten mit oder bestätigt den Zeitpunkt. All das wirkt immersiver, wenn es über In-Character-Kanäle statt über Discord oder OOC-Chat geschieht. Die Anruf- und SMS-Apps von Agency-Phone decken 95% dieses Bedarfs an sozialer Koordination direkt ab.
Der Ressourcenverbrauch von 0.00ms im Leerlauf ist nicht nur eine technische Fußnote, er macht es möglich, das Handy dauerhaft geöffnet zu lassen. Skripte, die auf einem Server mit 128 Spielern im Leerlauf 0.02ms verbrauchen, verursachen über alle Spieler hinweg eine aggregierte Leerlauflast von 2.56ms. Der Leerlaufverbrauch von Agency-Phone beträgt null. Das wirkt sich auf die Serverleistung genauso aus wie bei jeder gemeinsam genutzten Ressource: proportional zur Spielerzahl.
Die Galerie-App in v2 und die Screenshot-Funktion im Spiel haben einen unerwarteten RP-Anwendungsfall geschaffen: In-Character-Beweisfotos. Polizisten machen mit der Handykamera Screenshots von Tatorten und teilen sie im internen Chat ihrer Dienststelle. Journalisten fotografieren Ereignisse und veröffentlichen sie auf LifeInvader. Die Kamera macht aus dem Handy nicht nur ein Kommunikationstool, sondern auch ein Dokumentationswerkzeug mit echtem RP-Nutzen.
Häufig gestellte Fragen
Können Telefonnummern Server-Wipes überstehen?
Telefonnummern werden in oxmysql anhand der Charakterkennung gespeichert. Solange die Charakterkennung bei einem Wipe erhalten bleibt, bleibt auch die Nummer bestehen. Bei den meisten Server-Wipes wird der Charakterfortschritt gelöscht, die Kennungen bleiben jedoch erhalten, sodass Telefonnummern normalerweise bestehen bleiben. Für vollständige Wipes, bei denen auch die Kennungen zurückgesetzt werden, gibt es einen Export zum Sichern und Wiederherstellen von Telefonnummern, der die Nummer eines Charakters unabhängig vom eigentlichen Wipe speichert und wiederherstellt.
Können Polizisten Anrufe und Nachrichten in Echtzeit zurückverfolgen?
Ja. Aktiviere das Ortungssystem in config.lua. Polizisten mit der erforderlichen Berechtigungsmarkierung können das Ortungsfenster öffnen und nach Nummern suchen. Die Ursprünge aktiver Anrufe werden auf der Karte angezeigt. Nachrichtenmetadaten (Uhrzeit, Nummernpaar) werden in der Log-Tabelle gespeichert und sind über Agency-Admin zugänglich. Die Rückverfolgung vollständiger Nachrichteninhalte ist aus Datenschutzgründen standardmäßig deaktiviert. Aktiviere sie ausdrücklich, wenn die RP-Regeln deines Servers dies zulassen.
Wie verhält sich das Handy, wenn ein Spieler tot oder in Gewahrsam ist?
Konfiguriere den Todesstatus und den Handschellenstatus in config.lua. Bei toten Spielern kannst du einstellen, dass Anrufe direkt an die Mailbox gehen, das Handy deaktiviert wird oder nur Notrufe möglich sind. Bei gefesselten Spielern kannst du die Handynutzung vollständig blockieren oder auf die GPS-Ansicht beschränken, damit die Polizei sehen kann, dass sie keinen Verstärkung rufen. Diese Zustände werden über exportierte Funktionen deines Todesscreen- und Handschellen-Skripts erkannt.
Welche Radiosender sind in der Musik-App verfügbar?
Die Standard-Senderliste enthält acht Community-Radio-Stream-URLs für gängige Genres. Füge eigene Sender hinzu, indem du Stream-URLs zu Config.RadioStationshinzufügst. Server ergänzen oft ihren eigenen Radiosender, auf dem das Team In-Character-Nachrichten sendet. Es gibt keine DRM- oder Streamingdienst-Integration, jede öffentlich zugängliche Audio-Stream-URL funktioniert.
Voraussetzungen
- FiveM-Server (QBCore, ESX oder standalone)
- oxmysql
- cfx.re-Konto mit gültiger Agency-Phone-Lizenz
- Optional: Agency-LifeInvader (für die Integration der Social-App)
- Optional: Agency-Pad (für die geräteübergreifende Datensynchronisierung)