En este paso, vas a crear un sistema de nivel de armas al estilo Asalto armamentístico en Verse que utiliza un dispositivo otorgador de objetos que les da a los jugadores un arma nueva cuando completan un combo.
Modifica tu isla
Selecciona el dispositivo Ajustes de la isla en el visor o el panel del esquematizador.
En el panel de detalles, establece los siguientes parámetros:
Establece Munición de reserva infinita en True.
Establece Munición de cargador infinita en False. Este cambio requiere que el jugador recargue, un aspecto esencial de muchas armas de Fortnite.
Selecciona el dispositivo otorgador de objetos en el visor o en el panel del esquematizador.
En el panel de detalles, establece los siguientes parámetros:
Establece Acción para otorgar en Vaciar inventario.
Establece Otorgar en Objeto actual.
Elimina todos los elementos de la lista de índices y, a continuación, añade los siguientes cinco elementos:
Rifle de asalto L1
Rifle de acción de palanca L2
Escopeta pesada L3
Seis balas L4
Cañón de mano L5
Establece Jugadores receptores en Todos.
Establece Otorgar al desplazar en True.
Establece Otorgar al inicio de la partida en True.
Elimina las vinculaciones de funciones de Habilitar y otorgar objeto.
Selecciona el dispositivo administrador de puntaje en el visor o en el panel del esquematizador.
En el panel de detalles, establece Mostrar actualización de puntaje en el HUD en True.
Escritura de código Verse
En esta página, se te guía paso a paso para realizar los cambios en el código, pero si quieres comprobar tu trabajo, consulta la sección Código completo para ver el resultado final.
Abre el archivo
shooting_range_manager_device.verse.Añade estas variables para guardar la referencia al dispositivo otorgador de objetos y para registrar las propiedades del nivel del objeto.
Verse@editable ItemGranter:item_granter_device = item_granter_device{} @editable MaxWeaponLevel:int = 5 var CurrentWeaponLevel:int = 1Añade el método
IncreaseWeaponLevelpara aumentar la variable de nivel de arma y cambiar al siguiente objeto.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)Modifica el método
OnComboTargetHitpara llamar aIncreaseWeaponLevel.Verse# A hit callback that scores the ComboTarget and resets the combo. OnComboTargetHit():void= AdjustScore(ComboTargetScore) <# --- New Code Start --- #> IncreaseWeaponLevel() <# --- New Code End --- #>Modifica el método
AdjustScorepara multiplicar el puntaje otorgado por el nivel de arma.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)Guarda y compila tu código Verse.
Código completo
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{}
Intégralo
Selecciona shooting_range_manager_device en el visor o el panel del esquematizador.
En el panel de detalles, establece ItemGranter en el dispositivo otorgador de objetos.
Envía tus cambios y realiza una prueba de juego de tu isla.
Asegúrate de que el arma cambie después de darle a un objetivo de combo, hasta 5 veces. En el 5.º nivel, queda igual.
Verifica que el puntaje entrante se multiplica por el nivel de arma.