Dans le modèle **Verse - Élimination**, les joueurs combattent avec un équipement qui change à chaque élimination. Il est possible de mettre en place cette mécanique de jeu en reliant divers appareils, tels que l'appareil Fournisseur d'objets, à l'appareil Verse.
Ce modèle Verse avancé vous montre comment utiliser les API Verse suivantes :
Type de conteneur de mappage
Abonnement Fort_character EliminateEvent
Overview
Créez un nouveau projet et modifiez les paramètres de l'île pour configurer le jeu.
Configurez les appareils.
Ajoutez le script Verse.
Créer un nouveau projet et configurer le jeu
Ouvrez l'UEFN et créez un nouveau projet vide.
Sélectionnez l'appareil IslandSettings dans l'organiseur et localisez la section Options utilisateur - Règles du jeu.
Modifiez les options utilisateur comme indiqué ci-dessous.
| Option | Value | Explication |
|---|---|---|
Objets du joueur éliminé | Garder | Les joueurs généreront avec leur équipement. |
Autoriser le dépôt d’objets | False | Les joueurs ne peuvent pas déposer d'objets de leur inventaire pendant le jeu. |
Destruction de l'environnement | Désactivé | L'environnement ne sera pas détruit pendant le jeu. |
Configuration des appareils
Ce tutoriel utilise les appareils suivants :
Appareil Fournisseur d'objets
Utilisez un appareil Fournisseur d'objets pour accorder des armes aux joueurs. Après avoir relié le fournisseur d'objets à l'appareil Verse à l'aide de la liaison d'événements directe, le script Verse peut modifier l'ordre des armes et les attribuer à chaque élimination.
Vous pouvez utiliser un nombre illimité de fournisseurs d'objets. Tant que vous les reliez dans la matrice de l'appareil Verse, le jeu s'adapte en conséquence.
Depuis le tiroir à contenu, accédez à **Fortnite** > **Appareils** et faites glisser les fournisseurs d'objets dans votre carte.
Pour configurer cet appareil, configurez les options utilisateur comme suit :
| Option | Value | Explication |
|---|---|---|
Définition de l'objet | choisir une arme | Sélectionnez une arme unique par appareil Item Granter. |
Appareil de fin de partie
Utilisez un appareil Fin de partie pour mettre fin à la manche une fois les conditions remplies. Dès que les éliminations atteignent un certain seuil, le script Verse active cet appareil pour mettre fin à la partie.
Utiliser les paramètres par défaut de cet appareil.
Point d'apparition de joueur
Vous pouvez utiliser les points d'apparition de joueurs pour faire apparaître des joueurs sur votre carte. Répartissez uniformément les points d'apparition sur l'ensemble de la carte afin de vous assurer que les joueurs n'apparaissent pas tous ensemble.
Utiliser les paramètres par défaut de cet appareil.
Ajouter les scripts Verse
ajoutez le script Verse suivant, en commençant par références appareil avec la fonction @editable.
Vous pouvez copier le code dans l'ordre où il est écrit. Des commentaires sont ajoutés dans le script pour plus de clarté.
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):
Le code ci-dessus illustre les définitions des variables.
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()
Le code ci-dessus montre la logique qui définit la règle du jeu du nombre d'éliminations nécessaires pour gagner. L'ordre de la matrice du fournisseur d'objets est aléatoire.
Les joueurs sont ajoutés à un mappage afin de suivre leur progression et de savoir quel objet leur sera attribué par la suite.
# 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)
Le code ci-dessus est l'événement qui se produit lorsqu'un joueur est éliminé. L'éliminateur se voit attribuer l'arme suivante.
# 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)
Le code ci-dessus est la logique qui détermine à la fois quelle arme accorder à l'éliminateur et s'il est sur la dernière arme avant de terminer le match.
# 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 falseLe code ci-dessus est la logique qui permet de vérifier si la condition de victoire est remplie.
EndGame(Agent:agent):void=
EndGameDevice.Activate(Agent)
Le code ci-dessus est la logique qui montre l'appareil de fin de partie appelant le joueur gagnant.
Configurer l'appareil Verse
L'appareil Verse contrôle la fin du jeu et l'octroi d'armes en cas d'élimination par le biais d'une matrice de fournisseurs d'objets connectés à l'aide d'une liaison d'événements directe.
Compilez votre script Verse, puis recherchez votre appareil dans le tiroir de contenu. Faites glisser l'appareil Verse dans une zone non visible de votre carte pour en personnaliser les paramètres.
Utilisez cet appareil pour lier directement les événements aux appareils nécessaires afin que le script Verse puisse les référencer.
Dans le panneau Détails de l'appareil, configurez les paramètres pour qu'ils correspondent à chaque appareil référencé, comme sur l'illustration ci-dessus.
Pour configurer cet appareil, configurez les options utilisateur comme suit :
| Option | Value | Explication |
|---|---|---|
EndGameDevice | Appareil de fin de partie | Relie l'appareil Verse à l'appareil End Game. |
WeaponItemGranters - 0 | Fournisseur d'objets | Relie l'Objet Granter à l'appareil Verse. |
WeaponItemGranters - 1 | Objet Granter2 | Relie l'Objet Granter à l'appareil Verse. |
WeaponItemGranters - 2 | Objet Granter3 | Relie l'Objet Granter à l'appareil Verse. |
WeaponItemGranters - 3 | Objet Granter4 | Relie l'Objet Granter à l'appareil Verse. |
Sélectionnez Lancer la session pour tester le niveau que vous avez créé.