Zum Inhalt springen

Fehlerbehebung

Die wenigen Dinge, die mehr als einmal schiefgehen, und die Lösungen, die nicht auf der Hand liegen.


restart liest fxmanifest.lua nicht neu ein. Wenn du eine Datei hinzugefügt hast, führe zuerst refresh aus:

refresh
restart mic_phone

Ohne diesen Schritt arbeitet der Server mit der bisherigen Dateiliste weiter, und eine neue Datei ist schlicht nicht vorhanden. Das ist eine Eigenheit von FiveM und nicht des Telefons — und hat jeden Entwickler schon mindestens einmal eine Stunde gekostet.

Das Telefon öffnet sich nicht und die Konsole bleibt leer

Abschnitt betitelt „Das Telefon öffnet sich nicht und die Konsole bleibt leer“

Fast immer liegt es am Inventar, und fast immer direkt nach dessen Neustart.

Ein Neustart von ox_inventory bei verbundenen Spielern blockiert deren Client. invBusy bleibt auf true und jede Suche hängt endlos; das Telefon fragt „befindet sich ein Telefon in der Tasche?“ und erhält niemals eine Antwort.

Starte es ein zweites Mal neu. Der erste Neustart bricht den verbundenen Client und der zweite fängt ihn wieder auf. Niemand muss neu verbinden, und das manuelle Leeren des State Bags reicht nicht aus.

Andernfalls in dieser Reihenfolge prüfen:

  • Entspricht das Item in Config.Open.Item dem tatsächlichen Namen in deinem Inventar?
  • Ist Config.Open.RequireItem auf einem Server aktiv, auf dem Spieler keines bei sich tragen? Das Deaktivieren ist der schnellste Weg, um zu prüfen, ob das Item die Ursache ist.
  • Ist das Akkusystem aktiv und der Akku leer? Config.Battery.Dead verweigert das Öffnen unterhalb des Schwellenwerts.

Das Telefon steckt sich während des Spielens von selbst weg

Abschnitt betitelt „Das Telefon steckt sich während des Spielens von selbst weg“

Dafür ist shared/config/restrict.lua verantwortlich, und jede Regel darin besitzt einen eigenen Schalter. Die beiden häufigsten Überraschungen:

  • Fallen (Falling) — das Spiel wertet das Herabsteigen von einem Bordstein als Fallen. Falling.Height definiert die benötigten Höhenmeter in der Luft; standardmäßig auf 8 gesetzt (ca. sechs Meter Fallhöhe).
  • Klettern (Climbing) — das Spiel wertet das Herablassen von einer Mauer als Klettern. Climbing.After bestimmt die Sekunden vor dem Greifen der Regel; steht auf 1.0, was ein Parkour-Sprung nie erreicht, eine Leiter jedoch immer.

Config.Restrict.Tell.OnClose bestimmt, ob beim Wegstecken eine Benachrichtigung erfolgt. Standardmäßig aus: Du siehst schließlich selbst, was dir das Telefon aus der Hand genommen hat.

Niemand hört den Gesprächspartner beim Telefonat

Abschnitt betitelt „Niemand hört den Gesprächspartner beim Telefonat“

Das Telefon überträgt keine Sprache selbst; es schaltet beide Teilnehmer in einen Funkkanal und überlässt die Audioübertragung deiner Voice-Ressource. pma-voice, mumble-voip, SaltyChat und TokoVoip werden automatisch erkannt — läuft keine davon, verbinden sich Gespräche zwar, aber niemand hört etwas.

Fotos werden hochgeladen, erscheinen aber danach nicht

Abschnitt betitelt „Fotos werden hochgeladen, erscheinen aber danach nicht“

shared/server_config.lua steuert das Upload-Ziel. Zwei Ursachen führen zu lautlosen Fehlern:

  • Ein Fivemanage-Token, das nicht zu diesem Server gehört, oder ein gelöschter Discord-Webhook.
  • Ein Host, der nicht in Hosts hinterlegt ist. Der Server akzeptiert nur URLs zurück, die von den dort gelisteten Adressen stammen — das verhindert, dass ein manipulierter Client beliebige Links in die Galerie einschleust.

Der Reihe nach prüfen: Steht sie in Config.AppList auf off? Ist sie per Jobs oder NotJobs auf bestimmte Berufe beschränkt? Ist es eine Boss = true-App und stuft das Framework den Spieler nicht als Chef ein? Liegt sie in einem Ordner — das Ziehen eines Icons auf ein anderes erstellt automatisch einen Ordner.

Die App-Mediathek (erreichbar über den Bearbeiten-Button des Startbildschirms) listet alle vorhandenen Apps auf, die auf keiner Seite abgelegt sind.

Das Browser-Telefon benötigt ein Zertifikat, das die Ressource selbstständig bezieht. Unter Das Zertifikat werden alle Sonderfälle erläutert — meist ist ein Port nicht freigegeben oder eine DuckDNS-Domain wurde nach einem IP-Wechsel noch nicht aktualisiert.

Config.Locale bildet den Standardwert, und jeder Spieler kann in den Einstellungen eine eigene Sprache wählen — dem folgen auch Benachrichtigungen außerhalb des Telefons. Zwei Sprachen werden komplett mitgeliefert; der Rest fällt String für String auf Englisch zurück, sodass unvollständige Übersetzungen das Vorhandene anzeigen statt abzustürzen.