W likwidacji przy użyciu Verse walczący gracze mają wyposażenie, które zmienia się po każdej likwidacji. Tę mechanikę realizuje się, łącząc urządzenia, takie jak przyznawacz przedmiotów, z urządzeniem Verse.
Opisany tutaj zaawansowany szablon Verse pokazuje, jak używać następujących API Verse:
-
Typ kontenera mapy
-
Subskrybcja Fort_character EliminateEvent
Omówienie
-
Utwórz nowy projekt i zmodyfikuj ustawienia wyspy, aby skonfigurować grę.
-
Skonfiguruj urządzenia.
-
Dodaj skrypt Verse.
Tworzenie nowego projektu i konfiguracja gry
-
Otwórz UEFN i utwórz nowy pusty projekt.
-
W Outlinerze wybierz urządzenie IslandSettings i znajdź pozycję Opcje użytkownika - Zasady gry.

- Zmodyfikuj Opcje użytkownika, jak pokazano poniżej.
Opcja | Wartość | Wyjaśnienie |
---|---|---|
Przedmioty zlikwidowanego gracza | Zachowaj | Gracze respawnują się ze swoim wyposażeniem. |
Zezwól na upuszczanie przedmiotów | False | Gracze nie mogą upuszczać przedmiotów z ekwipunku podczas gry. |
Niszczenie otoczenia | Wył. | Gracze nie mogą niszczyć otoczenia podczas gry. |
Konfiguracja urządzeń
W tym samouczku wykorzystano następujące urządzenia:
Urządzenie przyznawacza przedmiotów

Użyj urządzenia przyznawacza przedmiotów, aby przyznawać graczom bronie. Gdy połączysz przyznawacz przedmiotów z urządzeniem Verse przy użyciu powiązania bezpośredniego zdarzeń, skrypt Verse może mieszać kolejność broni i przyznawać je po każdej likwidacji.
Przyznawaczy przedmiotów może być dowolnie wiele. Dopóki będziesz je łączyć w tablicy urządzenia Verse, gra będzie się odpowiednio skalowała.
W szufladzie zawartości przejdź do Szuflada zawartości > Fortnite > Urządzenia i przeciągnij przyznawacze przedmiotów na mapę.
Aby skonfigurować to urządzenie, skonfiguruj Opcje użytkownika w następujący sposób:
Opcja | Wartość | Wyjaśnienie |
---|---|---|
Definicja przedmiotu | wybierz broń | Wybierz jedną niepowtarzalną broń na jedno urządzenie przyznawacza przedmiotów. |
Urządzenie końca gry

Użyj urządzenia końca gry, aby zakończyć rundę po spełnieniu warunków. Gdy likwidacje osiągną określony próg, skrypt Verse aktywuje to urządzenie, aby zakończyć rundę.
Dla tego urządzenia użyj domyślnych ustawień.
Panel startowy gracza

Użyj Paneli startowych gracza, aby spawnować graczy na mapie. Panele startowe rozmieść równomiernie na mapie, aby gracze nie spawnowali się w grupach.
Dla tego urządzenia użyj domyślnych ustawień.
Dodawanie skryptów Verse
Dodaj następujące skrypty Verse, zacznij od odwoływania się do urządzeń przy użyciu funkcji @editable.
Kod możesz skopiować w takiej kolejności, w jakiej jest napisany. Komentarze w skrypcie są dodane jako objaśnienia.
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{}
# Tablica przyznawaczy przedmiotów używana, aby przyznawać bronie
@editable
var WeaponItemGranters : []item_granter_device = array{}
# Jest to ustawione później, będzie równe liczbie przyznawaczy broni item_granter na wyspie
var NumberOfEliminationsToWin : int = 0
# Kontener mapy do monitorowania postępów graczy. Służy do określenia, którą broń przyznawać graczowi
var AgentMap : [agent]int = map{}
Powyższy kod pokazuje definicje zmiennych.
OnBegin<override>()<suspends>:void=
# Można użyć tej zmiennej do skalowania liczby potrzebnych likwidacji na podstawie tego, ile przyznawaczy przedmiotów znajduje się na wyspie
set NumberOfEliminationsToWin = WeaponItemGranters.Length
Print("Liczba przyznawaczy broni: {WeaponItemGranters.Length}")
# Stwórz losową kolejność przyznawania broni
set WeaponItemGranters = Shuffle(WeaponItemGranters)
# Pobierz wszystkich graczy na wyspie
AllPlayers := GetPlayspace().GetPlayers()
for (EliminationGamePlayer : AllPlayers):
if (FortCharacter := EliminationGamePlayer.GetFortCharacter[]):
FortCharacter.EliminatedEvent().Subscribe(OnPlayerEliminated) # zasubskrybuj zdarzenie likwidacji
# Dodaj graczy do mapy, aby śledzić postępy
if (set AgentMap[EliminationGamePlayer] = 1) {}
# Przyznaj pierwszą broń każdemu graczowi
if (FirstItemGranter:item_granter_device = WeaponItemGranters[0]):
FirstItemGranter.GrantItem(EliminationGamePlayer)
Powyższy kod pokazuje logikę, która ustanawia zasadę gry – ile likwidacji jest potrzebnych, aby wygrać. Kolejność w tablicy przyznawacza przedmiotów jest pomieszana.
Gracze są dodawani do mapy, aby śledzić zarówno ich postępy, jak i to, co powinno być im przyznane w dalszej kolejności.
# Zdarzenie, które obsługuje likwidację gracza
OnPlayerEliminated(Result:elimination_result):void=
Print("Gracz zlikwidowany")
EliminatingCharacter := Result.EliminatingCharacter
if (FortCharacter := EliminatingCharacter?):
if (EliminatingAgent := FortCharacter.GetAgent[]):
GrantNextWeapon(EliminatingAgent)
Powyższy kod to zdarzenie, które ma miejsce po zlikwidowaniu gracza. Likwidujący gracz dostaje kolejną broń palną.
# Sprawdź, czy grę ktoś wygrał. Jeśli nie, przyznaj następną broń
GrantNextWeapon(Agent:agent):void=
if (var CurrentItemNumber:int = AgentMap[Agent]):
if (IsVictoryConditionMet(CurrentItemNumber) = true):
EndGame(Agent) # Gra została wygrana
else: # Gra się jeszcze nie skończyła
set CurrentItemNumber = CurrentItemNumber + 1
if (ItemGranter := WeaponItemGranters[CurrentItemNumber - 1]):
ItemGranter.GrantItem(Agent)
if (set AgentMap[Agent] = CurrentItemNumber) {}
Powyższy kod to logika określająca, którą broń przyznać likwidującemu graczowi oraz czy ma on ostatnią broń, aby zakończyć starcie.
# Sprawdź, czy warunek zwycięstwa jest spełniony i zwróć wynik
IsVictoryConditionMet(EliminationNumber:int)<transacts>:logic=
if:
EliminationNumber = NumberOfEliminationsToWin
then:
return true
else:
return false
Powyższy kod to logika sprawdzająca, czy warunek zwycięstwa został spełniony.
EndGame(Agent:agent):void=
EndGameDevice.Activate(Agent)
Powyższy kod to logika, która pokazuje urządzenie końca gry wywołujące zwycięskiego gracza.
Konfiguracja urządzenia Verse

Urządzenie Verse kontroluje koniec gry i przyznaje bronie po zlikwidowaniu za pomocą tablicy przyznawaczy przedmiotów, połączonych przy użyciu powiązania bezpośredniego zdarzeń.
Skompiluj swój skrypt Verse i wyszukaj urządzenie w szufladzie zawartości. Przeciągnij urządzenie Verse do takiego obszaru na mapie, który nie jest widoczny dla graczy, aby dostosować ustawienia.
Użyj tego urządzenia, aby połączyć powiązanie bezpośrednie zdarzeń z wymaganymi urządzeniami, aby można się było do nich odwoływać w skrypcie Verse.

Na panelu Szczegóły urządzenia skonfiguruj ustawienia tak, aby pasowały do każdego urządzenia stanowiącego odwołanie, jak na powyższym zdjęciu.
Aby skonfigurować to urządzenie, skonfiguruj Opcje użytkownika w następujący sposób:
Opcja | Wartość | Wyjaśnienie |
---|---|---|
EndGameDevice | Urządzenie końca gry | Łączy urządzenie Verse z urządzeniem końca gry. |
WeaponItemGranters - 0 | Przyznawacz przedmiotów | Łączy przyznawacz przedmiotów z urządzeniem Verse. |
WeaponItemGranters - 1 | Przyznawacz przedmiotów 2 | Łączy przyznawacz przedmiotów z urządzeniem Verse. |
WeaponItemGranters - 2 | Przyznawacz przedmiotów 3 | Łączy przyznawacz przedmiotów z urządzeniem Verse. |
WeaponItemGranters - 3 | Przyznawacz przedmiotów 4 | Łączy przyznawacz przedmiotów z urządzeniem Verse. |
Wybierz Uruchom sesję, aby przetestować ukończony poziom.