Willkommen zu diesem umfassenden Tutorial, in dem wir Ihnen zeigen, wie Sie einen Respawn Knopf für den Zuschauermodus in UEFN (Unreal Editor for Fortnite) mit Verse Code erstellen können. Diese Funktionalität ermöglicht es Spielern im Zuschauermodus, sich schnell neu zu positionieren und wieder ins Geschehen einzugreifen, was das Spielerlebnis deutlich verbessert. Wir werden den Prozess Schritt für Schritt durchgehen, von der Einrichtung der Umgebung bis zum Schreiben des Codes und dem Testen der Funktionalität. Egal, ob Sie ein erfahrener UEFN-Entwickler oder ein Anfänger sind, dieses Tutorial wird Ihnen helfen, Ihre Fähigkeiten im Umgang mit Verse zu erweitern und Ihre eigenen einzigartigen Spielerlebnisse zu schaffen.
Was ist UEFN und warum Verse?
UEFN ist eine leistungsstarke Plattform, die es Kreativen ermöglicht, eigene Spiele und Erlebnisse innerhalb von Fortnite zu erstellen. Im Gegensatz zum Creative Mode bietet UEFN eine deutlich größere Flexibilität und Kontrolle über die Spielmechaniken und das Design. Verse ist die Skriptsprache, die in UEFN verwendet wird, um Logik, Interaktionen und andere dynamische Aspekte Ihrer Kreationen zu steuern. Sie ist darauf ausgelegt, robust, sicher und einfach zu erlernen zu sein.
Die Verwendung von Verse Code für die Erstellung eines Respawn Knopfes bietet Ihnen mehrere Vorteile:
- Flexibilität: Verse ermöglicht es Ihnen, das Verhalten des Respawn Knopfes genau nach Ihren Wünschen anzupassen.
- Kontrolle: Sie haben die volle Kontrolle über den Respawn-Prozess, einschließlich der Platzierung des Spielers und eventueller Effekte.
- Erweiterbarkeit: Sie können den Respawn Knopf leicht erweitern, um zusätzliche Funktionen wie das Zurücksetzen von Waffen oder das Gewähren von Boni zu implementieren.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes installiert haben:
- UEFN (Unreal Editor for Fortnite)
- Ein Konto bei Epic Games
- Grundkenntnisse in der UEFN-Oberfläche und der Verse-Programmierung
Schritt 1: Einrichten der UEFN-Umgebung
Starten Sie UEFN und erstellen Sie ein neues Projekt oder öffnen Sie ein bestehendes. Für dieses Tutorial empfehlen wir, mit einer leeren Vorlage zu beginnen, um die Dinge einfach zu halten.
- Erstellen Sie ein neues Level: Gehen Sie zu „Datei” -> „Neu Level” und wählen Sie eine leere Vorlage aus.
- Fügen Sie einen Player Spawn hinzu: Suchen Sie im Content Browser nach „Player Spawn” und ziehen Sie ihn in Ihre Level-Ansicht. Dies ist der Ort, an dem Spieler spawnen, wenn das Spiel beginnt.
- Fügen Sie einen Zuschauermodus-Startpunkt hinzu: Suchen Sie nach „Camera Placeholder” und ziehen Sie ihn in die Level-Ansicht. Dieser Punkt dient als Startpunkt für Spieler im Zuschauermodus. Sie können mehrere dieser Punkte erstellen, um dem Zuschauer verschiedene Perspektiven zu bieten.
- Erstellen Sie einen Button: Fügen Sie einen Interaktionsknopf (Interaction Device) hinzu. Dieser Button wird später mit unserem Verse Code verbunden, um den Respawn auszulösen.
Schritt 2: Erstellen des Verse-Skripts
Jetzt erstellen wir das Verse-Skript, das die Logik für unseren Respawn Knopf enthält.
- Erstellen Sie ein neues Verse-Gerät: Klicken Sie im Content Browser mit der rechten Maustaste und wählen Sie „Neu” -> „Verse” -> „Verse Device”. Benennen Sie das Gerät beispielsweise „RespawnButton”.
- Öffnen Sie das Verse-Skript: Doppelklicken Sie auf das neu erstellte Verse-Gerät, um den Verse-Code-Editor zu öffnen.
Hier ist ein Beispiel für den Verse Code, den Sie verwenden können:
„`verse
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Ein Gerät, das es Spielern im Zuschauermodus erlaubt, zu respawnen.
respawn_button := class(creative_device):
@editable
InteractionButton : interaction_device = interaction_device{}
OnBegin():void=
InteractionButton.InteractedWithEvent.Subscribe(OnInteractedWith)
OnInteractedWith(Agent : agent):void=
if(FortCharacter := agent.GetFortCharacter[]):
if(FortCharacter.IsEliminated[]):
#Logik zum Respawn des Spielers
RespawnPlayer(Agent)
RespawnPlayer(Agent : agent):void=
if (Player := Agent.GetPlayer[]):
if (AgentCreatable : creative_prop = Agent.GetControlledCreativeProp[]?):
AgentCreatable.Respawn()
else:
# Spieler spawnen am Standard-Spawn-Punkt
Player.Respawn()
„`
Erläuterung des Codes:
- using Direktiven: Diese Direktiven importieren notwendige Bibliotheken für die Geräteinteraktion und Simulation.
- `respawn_button := class(creative_device):` Definiert eine neue Klasse namens `respawn_button`, die von `creative_device` erbt. Dies macht unser Skript zu einem Gerät, das in UEFN platziert werden kann.
- `@editable InteractionButton : interaction_device = interaction_device{}` Dies ist eine editierbare Variable, die im UEFN-Editor zugewiesen werden kann. Sie referenziert den Interaktionsknopf (Interaction Device), den wir zuvor in die Level-Ansicht gezogen haben.
- `OnBegin():void=` Diese Funktion wird aufgerufen, wenn das Spiel beginnt. Wir abonnieren das `InteractedWithEvent` des `InteractionButton`, so dass unsere `OnInteractedWith` Funktion aufgerufen wird, wenn der Knopf gedrückt wird.
- `OnInteractedWith(Agent : agent):void=` Diese Funktion wird aufgerufen, wenn ein Spieler mit dem Knopf interagiert. Wir überprüfen zuerst, ob der Spieler eliminiert wurde (`FortCharacter.IsEliminated[]`). Wenn ja, rufen wir die `RespawnPlayer` Funktion auf.
- `RespawnPlayer(Agent : agent):void=` Diese Funktion enthält die eigentliche Respawn-Logik. Wir versuchen zuerst, den Spieler über `Agent.GetControlledCreativeProp[]?` als ein kreatives Objekt zu respawnen. Falls dies fehlschlägt (z.B. weil der Spieler kein kreatives Objekt kontrolliert), wird der Spieler am Standard-Spawn-Punkt respawnt (`Player.Respawn()`).
Schritt 3: Verbinden des Verse-Geräts mit dem UEFN-Level
- Ziehen Sie das Verse-Gerät in die Level-Ansicht: Suchen Sie im Content Browser nach Ihrem `RespawnButton`-Gerät und ziehen Sie es in Ihre Level-Ansicht.
- Verbinden Sie den Interaktionsknopf: Wählen Sie Ihr `RespawnButton`-Gerät in der Level-Ansicht aus. Im Details-Panel sehen Sie die editierbare Variable `InteractionButton`. Ziehen Sie den Interaktionsknopf aus der Level-Ansicht auf dieses Feld, um die beiden zu verbinden.
Schritt 4: Testen des Respawn Knopfes
- Starten Sie eine Spielsitzung: Klicken Sie in UEFN auf „Session starten”.
- Eliminieren Sie Ihren Charakter: Lassen Sie Ihren Charakter sterben, um in den Zuschauermodus zu gelangen.
- Gehen Sie zum Interaktionsknopf: Navigieren Sie mit der Zuschauerkamera zum Interaktionsknopf.
- Interagieren Sie mit dem Knopf: Drücken Sie die Interaktionstaste (standardmäßig E), um den Respawn auszulösen.
- Überprüfen Sie den Respawn: Ihr Charakter sollte am Standard-Spawn-Punkt respawnen.
Erweiterungen und Anpassungen
Dieser Respawn Knopf ist nur ein Ausgangspunkt. Sie können ihn mit zusätzlichen Funktionen erweitern:
- Benutzerdefinierte Spawn-Punkte: Anstatt den Spieler am Standard-Spawn-Punkt respawnen zu lassen, können Sie benutzerdefinierte Spawn-Punkte erstellen und den Spieler an einem zufälligen dieser Punkte platzieren.
- Effekte: Fügen Sie visuelle oder akustische Effekte hinzu, um den Respawn zu signalisieren.
- Zurücksetzen von Waffen und Gegenständen: Stellen Sie sicher, dass der Spieler beim Respawn seine Waffen und Gegenstände zurückerhält.
- Cooldown: Fügen Sie einen Cooldown hinzu, um zu verhindern, dass der Spieler den Knopf zu oft benutzt.
Hier ist ein Beispiel für die Verwendung benutzerdefinierter Spawn-Punkte:
„`verse
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Game }
respawn_button := class(creative_device):
@editable
InteractionButton : interaction_device = interaction_device{}
@editable
SpawnPoints : []player_spawner = array{} # Array mit Spawn-Punkten
OnBegin():void=
InteractionButton.InteractedWithEvent.Subscribe(OnInteractedWith)
OnInteractedWith(Agent : agent):void=
if(FortCharacter := agent.GetFortCharacter[]):
if(FortCharacter.IsEliminated[]):
RespawnPlayer(Agent)
RespawnPlayer(Agent : agent):void=
if (SpawnPoints.Length > 0):
RandomIndex := GetRandomInt(0, SpawnPoints.Length – 1)
ChosenSpawnPoint := SpawnPoints[RandomIndex]
ChosenSpawnPoint.SpawnPlayer(Agent)
else:
if (Player := Agent.GetPlayer[]):
Player.Respawn()
„`
In diesem Beispiel haben wir ein `@editable` Array namens `SpawnPoints` hinzugefügt, in dem Sie Player Spawner Geräte speichern können. Die `RespawnPlayer` Funktion wählt zufällig einen dieser Spawn-Punkte aus und verwendet ihn, um den Spieler zu respawnen. Wenn keine Spawn-Punkte vorhanden sind, wird der Standard-Spawn-Punkt verwendet.
Fazit
In diesem Tutorial haben Sie gelernt, wie Sie einen Respawn Knopf für den Zuschauermodus in UEFN mit Verse Code erstellen. Wir haben die Grundlagen der UEFN-Umgebung, das Schreiben von Verse-Skripten und das Testen der Funktionalität behandelt. Mit diesem Wissen können Sie nun Ihre eigenen einzigartigen Spielerlebnisse in Fortnite erstellen und anpassen. Experimentieren Sie mit den Erweiterungen und Anpassungen, um den Respawn Knopf noch besser an Ihre Bedürfnisse anzupassen. Viel Spaß beim Erstellen!