À cette étape, vous allez apprendre à créer dans Verse un système d'amélioration des armes par niveaux inspiré des jeux de tir, qui utilise un fournisseur d'objets pour donner aux joueurs une nouvelle arme lorsqu'ils réalisent un combo.
Modifier votre île
Sélectionnez l'appareil Paramètres de l'île dans le hublot ou dans le panneau Organiseur.
Dans le panneau Détails, définissez les paramètres suivants :
Définissez l'option Munitions de réserve infinies sur True.
Définissez l'option Munitions de chargeur infinies sur False. Ce changement oblige le joueur à recharger son arme, caractéristique de nombreuses armes dans Fortnite.
Sélectionnez l'appareil Fournisseur d'objets dans le hublot ou dans le panneau Organiseur.
Dans le panneau Détails, définissez les paramètres suivants :
Définissez l'option Action à la remise sur Vider l'inventaire.
Définissez l'option Remettre sur Objet actuel.
Supprimez tous les éléments de la liste d'index, puis ajoutez les cinq éléments suivants :
Fusil d'assaut N1
Carabine à levier N2
Fusil à pompe lourd N3
Six-coups N4
Bourlingueur N5
Définissez l'option Acquéreurs de l'objet sur Tous.
Définissez l'option Remise au changement d'objet sur True.
Définissez l'option Remettre au démarrage du jeu sur True.
Supprimez les liaisons de fonction Activer et remettre l'objet.
Sélectionnez le gestionnaire de score dans le hublot ou dans l'organiseur.
Dans le panneau Détails, définissez l'option Afficher la mise à jour du score dans l'ATH sur True.
Rédiger du code Verse
Cette page vous guide pas à pas dans les modifications de code, mais si vous souhaitez contrôler votre travail, consultez la rubrique Code complet pour voir le résultat final.
Ouvrez le fichier
shooting_range_manager_device.verse.Ajoutez les variables suivantes pour stocker une référence au fournisseur d'objets et suivre les propriétés de niveau des objets.
Verse@editable ItemGranter:item_granter_device = item_granter_device{} @editable MaxWeaponLevel:int = 5 var CurrentWeaponLevel:int = 1Ajoutez la méthode
IncreaseWeaponLevelpour augmenter la variable de niveau d'arme et passer à l'objet suivant.Verse# Increases the player's weapon level by one (up to the maximum value). IncreaseWeaponLevel():void= if: # If able to retrieve the first player and current weapon level isn't maxed, then... Player:player = GetPlayspace().GetPlayers()[0] CurrentWeaponLevel < MaxWeaponLevel then: # Increase weapon level and cycle to the next item. set CurrentWeaponLevel += 1 ItemGranter.CycleToNextItem(Player)Modifiez la méthode
OnComboTargetHitpour appelerIncreaseWeaponLevel.Verse# A hit callback that scores the ComboTarget and resets the combo. OnComboTargetHit():void= AdjustScore(ComboTargetScore) <# --- New Code Start --- #> IncreaseWeaponLevel() <# --- New Code End --- #>Modifiez la méthode
AdjustScorepour multiplier le score attribué par le niveau d'arme.Verse# Adjusts the player's score by the provided value. AdjustScore(Value:int):void= # Start the timer if it hasn't started yet. if (not IsTimerStarted?): StartTimer() <# --- New Code Start --- #> # Sets the score award to the base value of the target multiplied by the current weapon level. ScoreManager.SetScoreAward(Value * CurrentWeaponLevel)Enregistrez et générez votre code Verse.
Code complet
using { /Fortnite.com/Devices }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
# A device that manages shooting range gameplay.
shooting_range_manager_device := class(creative_device):
@editable
ScoreManager:score_manager_device = score_manager_device{}
Assembler tous les éléments
Sélectionnez shooting_range_manager_device dans le hublot ou dans le panneau Organiseur.
Dans le panneau Détails, définissez ItemGranter sur le fournisseur d'objets.
Validez vos modifications et testez votre île.
Vérifiez les changements d'arme après avoir atteint une cible de combo 5 fois maximum. Au niveau 5, le niveau d'arme reste identique.
Vérifiez que le score entrant est multiplié par le niveau de l'arme.