CS Geschichten
Skript zur Erweiterung der sozialen Spielerfahrung, kompatibel mit ESX Framework für FiveM-Server.
Features
- Kurze und temporäre Video-Stories mit dem In-Game-Ort des Uploaders und dem In-Game-Namen des Uploaders.
- Möglichkeit, hochgeladene Stories selbst zu löschen, und Integration für autorisierte Spieler, um die Stories anderer Spieler zu löschen.
- Simplistischer Stories-Feed mit vollständiger Maus- und Tastatur-Navigation support.
- Möglichkeit, zwischen der Rück- und der Frontkamera zu wechseln.
- Dynamische Anpassung, um in verschiedenen Auflösungen richtig zu zentrieren.
- Plug-and-Play-Integration mit Phones, für die wir Out-of-the-Box-Hooks anbieten.
- Farbfilter (Graustufen, Sepia, Invertieren, Sättigen usw.).
- Bildfilter mit Echtzeit-Gesichtsverfolgung des Spieler-Peds (Hund, Katze usw.).
- Optimiert für ein Gleichgewicht zwischen Qualität und Performance.
- Ein experimenteller Kameramodus, der es dem Spieler ermöglicht, sich während der Aufnahme einer Story zu bewegen.
- Eine breite Palette von Events und Exports, um die Resource zu überprüfen und zu steuern.
Installationsanweisungen
- Stelle sicher, dass du yarn in deinem resources Ordner hast.
- Lade cs-stories herunter und platziere es in deinem resources Ordner.
- Füge ensure cs-stories zu deiner Server-Konfigurationsdatei hinzu, bevor du dein Phone startest.
- Bearbeite die __resource.lua oder fxmanifest.lua Datei deines Phones und füge '@cs-stories/client/hooks/core.lua' als letztes Client-Skript und '@cs-stories/server/hooks/core.lua' als letztes Server-Skript hinzu.
- Bearbeite die NUI-Datei deines Phones (normalerweise index.html) und füge direkt vor hinzu.
- Überprüfe die config.lua Datei in cs-stories auf weitere Konfigurationen und lies alle Optionen und ihre Kommentare durch und passe sie an dein Setup und deine Vorlieben an.
- Wenn du die interne Lösung verwendest, öffne den erforderlichen Port (standardmäßig 35540; eingehend) in deiner Firewall auf dem TCP Protokoll.
- Führe den Befehl refresh und den Befehl ensure cs-stories aus.
- Wenn dein Phone eine Animationsschleife verwendet, musst du diese möglicherweise bearbeiten (normalerweise in einer animation.lua Datei zu finden) und eine not CS_STORIES.ACTIVE Prüfung hinzufügen, bevor du eine Animation abspielst, um sicherzustellen, dass kein Animationsfehler auftritt, wenn die Videoanrufkamera geöffnet wird.
- Starte dein Phone.
Externer Hosting-Server Wenn du dich entscheidest, den integrierten Proxy-Server nicht zu verwenden, dann lade die externe node.js Anwendung herunter und installiere sie mit npm install, lies alle Optionen und ihre Kommentare durch in der config.js Datei, da diese sehr wichtig für den Einrichtungsprozess sind, passe sie an dein Setup und deine Vorlieben an und führe sie dann mit node aus. Stelle dann sicher, dass du die IP-Adresse des externen Servers in der sv_proxyIPRanges Eigenschaft in der Konfigurationsdatei deines Servers hinzufügst. Du kannst pm2 verwenden, um sicherzustellen, dass es die ganze Zeit läuft.
Wichtige Informationen
- Der Spieler wird um die Erlaubnis für das Mikrofon gebeten. Wenn er dies ablehnt, wird seine Stimme nicht in Stories aufgenommen. Wenn er dies versehentlich ablehnt, muss er es zurücksetzen (derzeit geschieht dies durch Löschen der Datei %AppData%\\CitizenFX\\media_access.json).
- Bei der Aufnahme einer Story wird die Stimme über das Standardmikrofon des Spielers aufgenommen. Dies kann nicht geändert werden.
- Es wird nur die Stimme des aufnehmenden Spielers aufgenommen. Dies kann nicht geändert werden.
- Die Aufnahme bestimmt, ob der Spieler über die eingebaute Native spricht. Wenn du ein externes VoIP wie TokoVoip oder ähnliches verwendest, musst du den Hook bearbeiten, um korrekt zu bestimmen, wann der Spieler spricht.
- Ein Spieler, der eine Story aufnimmt, kann sich nicht bewegen. Dies ist das Standardverhalten der GTA:V Kamera. Du kannst versuchen, den experimentellen Kameramodus zu verwenden, der es dem Spieler ermöglicht, sich zu bewegen, aber er ist möglicherweise nicht so flüssig wie der native Modus.
- Video-Render-Lags / Freezes können in sehr hohen Auflösungen oder auf sehr leistungsschwachen Systemen verursacht werden.
- Die Story-Aufnahme funktioniert mit Game Capture (ähnlich wie screenshot-basic), alles, was im Spiel ist, wird aufgenommen. Dazu gehören visuelle Einstellungen / Mods, Spielzeichnungen / UIs, aber keine NUIs.
- Wenn dein Server hinter einem Reverse-Proxy läuft, über den du keine Kontrolle hast und der keinen zusätzlichen TCP-Port verarbeiten kann, wie er von der Resource benötigt wird, besteht deine einzige Option möglicherweise darin, den Hosting-Server der Stories extern auf einem anderen Rechner zu hosten (z. B. einem billigen VPS mit genügend Bandbreite / Netzwerk / Speicherplatz, um innerhalb deiner eigenen Grenzen zu arbeiten), der die Anforderungen erfüllen kann.
- Wenn eine Story von einem Spieler hochgeladen oder angesehen wird, wird, wie bei jedem anderen Video-Upload-Dienst, die Upload- / Download-Geschwindigkeit des Spielers verwendet und Netzwerk / Bandbreite auf dem Hosting-Server verbraucht.
- Wenn dein Hosting-Server Host keine unbegrenzte Bandbreite anbietet oder ein niedriges Netzwerklimit hat, wird empfohlen, deine Nutzungsstatistiken regelmäßig zu überprüfen, wenn viele Spieler Stories hochladen und ansehen. Stelle außerdem sicher, dass du deinen Speicherplatz überprüfst, wenn du eine Menge Stories hochlädst und diese nicht bereinigt werden.
- Die Resource verwendet FiveM's KV-Speicher, um die Metadaten der gespeicherten Stories zu speichern. Wenn du ein Shared Multi-Server Setup verwendest, kann dies ein Problem verursachen und du solltest die sv_kvsName Konsolenvariable auf etwas Eindeutiges für deinen Server setzen.
- Es gibt Prüfungen, um sicherzustellen, dass das aufgenommene Video und der In-Game-Ort legitim sind und vom Spiel selbst stammen. Da der Client sie jedoch sendet, können sie nicht vollständig vertraut werden.
- Die Stories werden (gemäß Konfiguration) beim Start der Resource gelöscht, sodass die Bereinigung des Stories-Speichers davon abhängt, wie oft du deinen Server oder die Resource neu startest.
Häufige Probleme & Fragen F: Ich kann die Stories-App verwenden, aber wenn ich versuche, eine Story anzusehen oder hochzuladen, tritt ein Fehler auf. Warum? A: Wenn dein Phone die fx_version cerulean hat, musst du den Hosting-Server der Stories über HTTPS routen. Du kannst dies tun, indem du eine Domain und Cloudflare verwendest. Alternativ kannst du die fx_version deines Phones auf bodacious ändern. Wenn dies nicht dein Problem war, liegt das Problem normalerweise in der TCP Blockierung, einem komplexen Netzwerk-Setup oder einem Anti-DDoS-Schutz. Versuche einen anderen Port, vorzugsweise in einem hohen Bereich, um zu sehen, ob dies dein Problem behebt, und stelle sicher, dass dieser Port für das TCP-Protokoll geöffnet ist. Wenn das nicht funktioniert, ist deine beste Lösung hier möglicherweise, den Hosting-Server der Stories extern auf einem anderen Rechner zu hosten (z. B. einem billigen VPS mit genügend Bandbreite / Netzwerk / Speicherplatz, um innerhalb deiner eigenen Grenzen zu arbeiten), der die Anforderungen erfüllen kann. F: Ich habe alles gemacht, aber ich kann keinen Stories-App-Button sehen, was ist falsch? A: Das Fehlen eines Stories-App-Buttons hängt möglicherweise mit dem Hook zusammen, den du verwendest. Stelle zunächst sicher, dass du den richtigen Hook für das Phone verwendest, das du hast. Stelle dann sicher, dass deine Phone-Events und DOM-Elemente korrekt im Hook widergespiegelt werden und dass der Hook richtig konfiguriert ist. Beachte auch, dass einige Hooks die Stories-App im App Store des Phones hinzufügen, anstatt sie sofort als App hinzuzufügen. F: Mein yarn versucht wiederholt, die Resource zu installieren, was soll ich tun? A: Dies scheint ein aktueller Fehler in der yarn Resource zu sein, der mit package.json und der Zeitzone des Servers zusammenhängt, die sich auf die Zeitzone des Systems bezieht, von dem du die Resource kopiert hast. Bearbeite package.json und füge einfach ein Leerzeichen hinzu oder entferne es, speichere es und das Problem wird verschwinden.





