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
Arrays
Abonnement Fort_character EliminateEvent
Überblick
Erstelle ein neues Projekt und modify the Island Settings, um das Spiel einzurichten.
Richte die Geräte ein.
Füge das Verse-Script hinzu.
Ein neues Projekt erstellen und das Spiel einrichten
Öffne UEFN und erstelle ein neues leeres Projekt.
Wähle das Inseleinstellungen-Gerät im Outliner und lokalisiere Benutzeroptionen – Spielregeln.
Ändere die Benutzeroptionen wie unten gezeigt.
| Option | Wert | Erklärung |
|---|---|---|
Gegenstände des eliminierten Spielers | Behalten | Spieler spawnen mit ihrer Ausrüstung neu. |
Gegenstände fallen lassen erlauben | False | Spieler können während des Spiels keine Gegenstände aus ihrem Inventar fallen lassen. |
Umgebung-Zerstörung | Aus | Die Umgebung wird während des Spiels nicht beschädigt. |
Die Geräte einrichten
In diesem Tutorial werden folgende Geräte verwendet.
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 Fortnite > Geräte und ziehe die Gegenstandsgeber auf deine Karte.
Konfiguriere die Benutzeroptionen wie folgt, um dieses Gerät einzurichten:
| Option | Wert | Erklärung |
|---|---|---|
Item-Definition | wähle eine Waffe | Wähle eine eindeutige Waffe pro Gegenstandsgeber-Gerät. |
Spielbeender
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
Add the following Verse scripts, 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):
Der Code oben zeigt die Variablendefinitionen.
OnBegin<override>()<suspends>:void=
# Can use this variable to scale the number of eliminations needed based on how many item granters there are in the experience
set NumberOfEliminationsToWin = WeaponItemGranters.Length
Print("Number of Weapon Item Granters: {WeaponItemGranters.Length}")
# Randomize the order in which the weapons are granted
set WeaponItemGranters = Shuffle(WeaponItemGranters)
# Get all the players in the experience
AllPlayers := GetPlayspace().GetPlayers()
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 that handles when a player is eliminated
OnPlayerEliminated(Result:elimination_result):void=
Print("Player Eliminated")
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.
# Check if there is a winner for the game, if not then grant the next weapon
GrantNextWeapon(Agent:agent):void=
if (var CurrentItemNumber:int = AgentMap[Agent]):
if (IsVictoryConditionMet(CurrentItemNumber) = true):
EndGame(Agent) # Game has been won
else: # Game is not over yet
set CurrentItemNumber = CurrentItemNumber + 1
if (ItemGranter := WeaponItemGranters[CurrentItemNumber - 1]):
ItemGranter.GrantItem(Agent)
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.
# Check if the victory condition has been met and return the the result
IsVictoryConditionMet(EliminationNumber:int)<transacts>:logic=
if:
EliminationNumber = NumberOfEliminationsToWin
then:
return true
else:
return falseDer 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.
Die Verse Gerät einrichten
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.
Konfiguriere die Benutzeroptionen wie folgt, um dieses Gerät einzurichten:
| Option | Wert | Erklärung |
|---|---|---|
EndGameDevice | Spielbeender | 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 | Item Granter2 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät. |
WeaponItemGranters - 2 | Item Granter3 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät. |
WeaponItemGranters - 3S | Item Granter4 | Verknüpft den Gegenstandsgeber mit dem Verse-Gerät. |
Wähle Sitzung starten, um dein abgeschlossenes Level zu testen.