Na Eliminação em Verse, os jogadores irão para a batalha com um conjunto que muda a cada eliminação. Essas mecânicas são possíveis quando vinculamos dispositivos, como o dispositivo Distribuidor de Itens ao dispositivo Verse.
Este modelo avançado em Verse mostrará o uso das seguintes APIs Verse:
Tipo de contêiner do mapa
Inscrição em "Fort_character EliminateEvent"
Visão geral
Crie um novo projeto e modifique as Configurações da Ilha para configurar o jogo.
Configure os dispositivos.
Adicione o script Verse.
Como criar um novo projeto e configurar o jogo
Abra o UEFN e crie um projeto vazio.
Selecione o dispositivo IslandSettings no Organizador e localize Opções do Usuário — Regras do Jogo.
Modifique as Opções do usuário conforme mostrado abaixo.
| Option | Valor | Explicação |
|---|---|---|
Itens do Jogador Eliminado | Manter | Os jogadores ressurgirão com seu equipamento. |
Permitir Soltar Itens | False | Os jogadores não podem soltar itens do inventário durante o jogo. |
Destruição do Ambiente | Desligado | O ambiente não será destruído durante o jogo. |
Como configurar os dispositivos
Este tutorial usa os seguintes dispositivos:
Dispositivo Distribuidor de Itens
Use um dispositivo Distribuidor de Itens para conceder armas aos jogadores. Depois que você conectar o Distribuidor de Itens ao dispositivo Verse com a vinculação direta de eventos, o script Verse poderá embaralhar a ordem das armas e concedê-las a cada eliminação.
Você pode usar qualquer quantidade de Distribuidores de Itens. Contanto que os vincule à matriz do dispositivo Verse, o jogo será dimensionado adequadamente.
Na Gaveta de Conteúdo, acesse Fortnite > Devices e arraste os Distribuidores de Itens para o seu mapa.
Para configurar o dispositivo, defina as Opções do Usuário da seguinte maneira:
| Option | Valor | Explicação |
|---|---|---|
Definição de Item | escolha uma arma | Selecione uma arma exclusiva por dispositivo Distribuidor de Itens. |
Dispositivo de Fim de Jogo
Use um dispositivo Fim de Jogo para encerrar a rodada quando as condições forem atendidas. Assim que as eliminações atingirem um certo limite, o script Verse ativará este dispositivo para encerrar a rodada.
Use as configurações padrão para este dispositivo.
Plataforma de Surgimento de Jogador
Você pode usar Plataformas de Surgimento de Jogador para fazer os jogadores surgirem no seu mapa. Distribua igualmente as plataformas de surgimento pelo mapa para garantir que os jogadores não surjam em grupo.
Use as configurações padrão para este dispositivo.
Como adicionar códigos Verse
Adicione os seguintes códigos Verse, começando ao referenciar dispositivos com a função @editable.
Você pode copiar o código na ordem em que foi escrito. Comentários foram adicionados ao script para maior clareza.
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):
O código acima mostra as definições de variável.
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()
O código acima mostra a lógica que define a regra do jogo sobre a quantidade de eliminações necessárias para vencer. A ordem da matriz do Distribuidor de Itens está aleatória.
Os jogadores são adicionados a um mapa para que possam ter seu progresso monitorado e para determinar qual item deverão receber em seguida.
# 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)
O código acima é o evento que acontece quando um jogador é eliminado. O jogador eliminador receberá a próxima arma.
# 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)
O código acima é a lógica para determinar qual arma conceder ao jogador eliminador e se ele está na última arma para chegar ao fim da partida.
# 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 falseO código acima é a lógica para conferir se a condição de vitória foi atendida.
EndGame(Agent:agent):void=
EndGameDevice.Activate(Agent)
O código acima é a lógica que mostra o dispositivo Fim de Jogo chamando o jogador vencedor.
Como configurar o dispositivo Verse
O dispositivo Verse controla a conclusão do jogo e a distribuição de armas no momento da eliminação por meio de uma série de Distribuidores de Itens conectados com a vinculação direta de eventos.
Compile seu código Verse e localize seu dispositivo na Gaveta de Conteúdo. Arraste o dispositivo Verse até uma área invisível do seu mapa para personalizar as configurações.
Use esse dispositivo para associar a vinculação direta de eventos aos dispositivos necessários, de modo que eles possam ser referenciados pelo script Verse.
No painel Detalhes do dispositivo, defina as configurações para que correspondam a cada dispositivo referenciado, como na foto acima.
Para configurar o dispositivo, defina as Opções do Usuário da seguinte maneira:
| Option | Valor | Explicação |
|---|---|---|
EndGameDevice | Dispositivo de Fim de Jogo | Vincula o dispositivo Verse ao dispositivo Fim de Jogo. |
WeaponItemGranters - 0 | Distribuidor de Itens | Vincula o Distribuidor de Itens ao dispositivo Verse. |
WeaponItemGranters - 1 | Item Granter2 | Vincula o Distribuidor de Itens ao dispositivo Verse. |
WeaponItemGranters - 2 | Item Granter3 | Vincula o Distribuidor de Itens ao dispositivo Verse. |
WeaponItemGranters - 3 | Item Granter4 | Vincula o Distribuidor de Itens ao dispositivo Verse. |
Selecione Iniciar sessão para testar seu nível completo.