Votre code Verse est toujours ouvert ? Parfait !
Comme nous vous l'avions promis dans Leçon 3 : À vous de jouer, dans cet exercice, vous allez appeler des fonctions qui vont infliger de graves blessures à votre personnage Fortnite.
Avant de commencer à coder, vous devez ajouter un appareil à votre île UEFN. Il s'agit en l'occurrence de la plaque d'apparition de joueur, qui fait apparaître votre personnage à l'emplacement de l'appareil et non dans les airs (emplacement d'apparition par défaut dans Fortnite). Pour que le code de cet exercice fonctionne, vous devez placer une plaque d'apparition de joueur.
Pour en savoir plus sur le placement de cet appareil, consultez la section Placement d'objets de la rubrique Commandes de l'UEFN pour les utilisateurs du mode Créatif. Placez-à à l’endroit de votre choix sur l’île.
Une partie du code utilisé dans cet exercice sera nouvelle pour vous, mais vous pourrez revoir l’ensemble du code ligne par ligne. Ne vous inquiétez pas si vous ne comprenez pas tout pour l'instant. Cet exerce se limite à l'appel de fonctions.
Veillez à placer toutes les lignes suivantes en haut de votre fichier Verse. Ces lignes indiquent au compilateur Verse les parties du code intégré de Verse et de Fortnite que vous utiliserez dans votre appareil créé avec Verse.
using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Playspaces }
using { /Verse.org/Simulation } }
using { /Verse.org/Verse }
Vous allez ensuite écrire les lignes de code qui infligent des blessures à votre personnage Fortnite. Voyons cela ligne par ligne.
- Appelez une fonction nommée
GetPlayspace(). Elle renvoie une valeur de typefort_playspace, que vous enregistrez dans une constante nomméePlayspace. Vous en avez besoin pour obtenir les joueurs. - Appelez une méthode nommée
GetPlayers()sur la constantePlayspace. La méthode renvoie une matrice de typeplayer. Une matrice est un conteneur qui peut renfermer plusieurs variables du même type dans Verse. En l’occurrence, la matriceAllPlayerscontient tous les joueurs de votre niveau. - Vous avez vu précédemment comment utiliser
ifpour poser des questions de type oui ou non dans votre code. Dans cet exemple, vous utilisez l’expressionifpour demander s'il existe une variable à la première position de la matriceAllPlayers. L'expressionAllPlayers[0]renvoie la valeur de la variable à cette position si elle existe, et la constanteFirstPlayerest initialisée à la valeur de retour. - Une deuxième expression
ifimbriquée dans la première demande si la constanteFirstPlayerpossède un personnage Fortnite en appelant sa méthodeGetFortCharacter[]. Remarquez les crochets utilisés pour effectuer l'appel Ceux-ci permettent d'appeler une fonction susceptible d'échouer. C'est pourquoi nous utilisonsifpour appeler cette fonction. SiGetFortCharacter[]réussit à renvoyer une valeur de typefort_character, la constante FortniteCharacter est initialisée à cette valeur. -
Enfin, maintenant que vous disposez d'une constante de type
fort_character, vous pouvez appeler sa méthodeDamage(). Cette méthode prend un paramètre de typefloat. Il s'agit du niveau de dégâts infligé au personnage. Nous aborderons les paramètres plus en détail dans la leçon suivante.Playspace: fort_playspace = GetPlayspace() AllPlayers: []player = Playspace.GetPlayers() if (FirstPlayer : player = AllPlayers[0]): if (FortniteCharacter : fort_character = FirstPlayer.GetFortCharacter[]): FortniteCharacter.Damage(50.0)
Si vous exécutez ce code, un niveau de blessure de 50.0 est infligé à votre personnage Fortnite au début du jeu.
C’est plutôt cool, non ?
Script complet
using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Playspaces }
using { /Verse.org/Simulation } }
using { /Verse.org/Verse }
hello_world_device := class(creative_device):
# S'exécute à l'activation de l'appareil dans une partie en cours.
OnBegin<override>()<suspends>:void=
Playspace: fort_playspace = GetPlayspace()
AllPlayers: []player = Playspace.GetPlayers()
if (FirstPlayer : player = AllPlayers[0]):
if (FortniteCharacter : fort_character = FirstPlayer.GetFortCharacter[]):
FortniteCharacter.Damage(50.0)