In Verse Elimination kämpfen Spieler mit einer Ausrüstung, die sich mit jeder Eliminierung ändert. Diese Mechanik wird durch die Verknüpfung von Geräten wie dem Gegenstandsgeber-Gerät mit dem Verse-Gerät erzielt.
Diese erweiterte Verse-Vorlage zeigt dir die Verwendung dieser Verse-APIs:
-
Karten-Containertyp
-
Abonnement Fort_character EliminateEvent
Übersicht
-
Erstelle ein neues Projekt und ändere die Inseleinstellungen, um das Spiel einzurichten.
-
Richte die Geräte ein.
-
Füge das Verse-Script hinzu.
Erstellen eines neuen Projekts und Einrichten des Spiels
-
Öffne UEFN und erstelle ein neues leeres Projekt.
-
Wähle das IslandSettings-Gerät im Outliner und suche Benutzeroptionen – Spielregeln.

- Ändere die Benutzeroptionen wie unten gezeigt.
Option | Wert | Beschreibung |
---|---|---|
Gegenstände des eliminierten Spielers | Behalten | Spieler spawnen mit ihrer Ausrüstung neu. |
Gegenstandsabwurf zulassen | falsch | Spieler können während des Spiels keine Gegenstände aus ihrem Inventar fallen lassen. |
Umweltzerstörung | Aus | Die Umgebung wird während des Spiels nicht beschädigt. |
Einrichten der Geräte
In diesem Tutorial werden folgende Geräte verwendet.
-
~ x Gegenstandsgeber
Gegenstandsgeber-Gerät

Verwende ein Gegenstandgeber-Gerät, um Spielern Waffen zu gewähren. Nach dem Verbinden des Gegenstandsgebers mit dem Verse-Gerät über die direkte Event-Bindung kann das Verse-Script die Reihenfolge der Waffen mischen und diese Waffen bei jeder Eliminierung vergeben.
Du kannst eine beliebige Anzahl Gegenstandsgeber verwenden. Solange du sie im Verse-Gerätearray verknüpfst, skaliert das Spiel entsprechend.
Navigiere in der Inhaltsbrowser zu Inhaltsbrowser > Fortnite > Geräte und ziehe die Gegenstandsgeber auf deine Karte.
Konfiguriere die Benutzeroptionen wie folgt, um dieses Gerät einzurichten:
Option | Wert | Beschreibung |
---|---|---|
Item-Definition | Waffenwahl | Wähle eine eindeutige Waffe pro Gegenstandsgeber-Gerät. |
Spielbeender-Gerät

Verwende ein Spielbeender-Gerät, um die Runde zu beenden, sobald die Bedingungen erfüllt sind. Sobald die Eliminierungen einen bestimmten Schwellenwert erreichen, aktiviert das Verse-Script dieses Gerät, um die Runde zu beenden.
Verwende die Standardeinstellungen für dieses Gerät.
Spieler-Spawnfläche

Du kannst mit Spieler-Spawnflächen Spieler auf deiner Karte spawnen lassen. Verteile die Spawnflächen gleichmäßig auf der Karte, damit Spieler nicht in Gruppen spawnen.
Verwende die Standardeinstellungen für dieses Gerät.
Hinzufügen der Verse-Scripte
Füge folgende Verse-Scripte hinzu, beginnend mit den Verweisen auf Geräte mit der @editable-Funktion.
Du kannst den Code in der Reihenfolge kopieren, in der er geschrieben wurde. Kommentare werden innerhalb des Scripts zur Verdeutlichung hinzugefügt.
using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Game }
using { /Verse.org/Simulation }
using { /Verse.org/Simulation/Tags }
using { /Verse.org/Random }
using { /UnrealEngine.com/Temporary/Diagnostics }
elimination_game_device := class(creative_device):
@editable
EndGameDevice : end_game_device = end_game_device{}
# Array von Gegenstandsgeber, mit denen Waffen gewährt werden
@editable
var WeaponItemGranters : []item_granter_device = array{}
# Dies wird später festgelegt und entspricht der Anzahl Waffen-Gegenstandsgebern auf der Insel.
var NumberOfEliminationsToWin : int = 0
# Kartencontainer zur Verfolgung des Spielerfortschritts. So wird bestimmt, welche Waffe dem Spieler gewährt wird.
var AgentMap : [agent]int = map{}
Der Code oben zeigt die Variablendefinitionen.
OnBegin<override>()<suspends>:void=
# Mit dieser Variable kannst du die Anzahl der erforderlichen Eliminierungen basierend darauf skalieren, wie viele Gegenstandsgeber vorhanden sind.
set NumberOfEliminationsToWin = WeaponItemGranters.Length
Print("Anzahl der Gegenstandsgeber: {WeaponItemGranters.Length}")
# Reihenfolge randomisieren, in der die Waffen gewährt werden
set WeaponItemGranters = Shuffle(WeaponItemGranters)
# Alle Spieler im Erlebnis abrufen
AllPlayers := GetPlayspace().GetPlayers()
for (EliminationGamePlayer : AllPlayers):
if (FortCharacter := EliminationGamePlayer.GetFortCharacter[]):
FortCharacter.EliminatedEvent().Subscribe(OnPlayerEliminated) # Eliminiert-Event abonnieren
# Spieler zu einer Karte hinzufügen, um den Fortschritt zu verfolgen
if (set AgentMap[EliminationGamePlayer] = 1) {}
# Jedem Spieler die erste Waffe gewähren
if (FirstItemGranter:item_granter_device = WeaponItemGranters[0]):
FirstItemGranter.GrantItem(EliminationGamePlayer)
Der Code oben zeigt die Logik, die die Spielregel dafür festlegt, wie viele Eliminierungen für den Sieg erforderlich sind. Die Reihenfolge des Gegenstandsgeber-Arrays ist zufällig.
Spieler werden zu einer Karte hinzugefügt, um ihren Fortschritt nachzuverfolgen und welchen Gegenstand sie als Nächstes erhalten sollten.
# Event, das die Eliminierung eines Spielers handhabt
OnPlayerEliminated(Result:elimination_result):void=
Print("Spieler eliminiert")
EliminatingCharacter := Result.EliminatingCharacter
if (FortCharacter := EliminatingCharacter?):
if (EliminatingAgent := FortCharacter.GetAgent[]):
GrantNextWeapon(EliminatingAgent)
Der Code oben ist das Event, das abläuft, wenn ein Spieler eliminiert wird. Dem eliminierenden Spieler wird die nächste Waffe gewährt.
# Prüfen, ob das Spiel einen Gewinner hat; andernfalls die nächste Waffe gewähren
GrantNextWeapon(Agent:agent):void=
if (var CurrentItemNumber:int = AgentMap[Agent]):
if (IsVictoryConditionMet(CurrentItemNumber) = true):
EndGame(Agent) # Das Spiel wurde gewonnen.
else: # Spiel ist noch nicht vorbei.
set CurrentItemNumber = CurrentItemNumber + 1
if (ItemGranter := WeaponItemGranters[CurrentItemNumber - 1]):
ItemGranter.GrantItem(Agent)
if (set AgentMap[Agent] = CurrentItemNumber) {}
Der Code oben ist die Logik, um zu bestimmen, welche Waffe dem eliminierenden Spieler gewährt wird, und ob er die letzte Waffe erreicht hat, um das Match zu beenden.
# Prüfen, ob die Siegbedingung erfüllt ist, und das Ergebnis zurückgeben
IsVictoryConditionMet(EliminationNumber:int)<transacts>:logic=
if:
EliminationNumber = NumberOfEliminationsToWin
then:
return true
else:
return false
Der Code oben ist die Logik, um zu prüfen, ob die Siegbedingung erfüllt ist.
EndGame(Agent:agent):void=
EndGameDevice.Activate(Agent)
Der Code oben ist die Logik, die zeigt, wie das Spielende-Gerät den gewinnenden Spieler aufruft.
Einrichtung des Verse-Geräts

Das Verse-Gerät steuert die Beendigung des Spiels und das Gewähren von Waffen bei der Eliminierung durch ein Gegenstandsgeber-Array, das über die direkte Event-Bindung verbunden ist.
Kompiliere dein Verse-Script und suche dann dein Gerät in der Inhalts-Schublade. Ziehe das Verse-Gerät auf einen unsichtbaren Bereich deiner Karte, um die Einstellungen anzupassen.
Verwende dieses Gerät, um die direkte Event-Bindung mit den erforderlichen Geräten zu verknüpfen, damit sie vom Verse-Script referenziert werden können.

Konfiguriere im Details-Panel des Geräts die Einstellungen so, dass sie mit jedem referenzierten Gerät übereinstimmen, wie auf dem Foto oben abgebildet.
Um dieses Gerät einzurichten, konfiguriere die Benutzeroptionen wie folgt:
Option | Wert | Beschreibung |
---|---|---|
EndGameDevice | Spielbeender-Gerät | Verknüpft das Verse-Gerät mit dem Spielbeender-Gerät |
WeaponItemGranters - 0 | Gegenstandsgeber | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät |
WeaponItemGranters - 1 | Gegenstandsgeber2 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät |
WeaponItemGranters - 2 | Gegenstandsgeber3 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät |
WeaponItemGranters - 3 | Gegenstandsgeber4 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät |
Wähle Sitzung starten, um dein abgeschlossenes Level zu testen.