Hi! I have a problem with my code. I want the class 2 player to change class when dealing damage to a class 1 player, but I have a problem with the line: var PlayerClasses: map<player, int> := map{} which says : vErr:S71: Expected expression , got “=” after “>” (3100). I’m new to coding with Verse.
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Simulation }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Game }
using { /Verse.org/Random }
GameManager := class(creative_device):
# PlayerClasses maps each player to their class (e.g., 1 or 2)
var PlayerClasses: map<player, int> := map{}
HandlePlayerHit(DamageResult: damage_result): void =
Print("Player got hit")
# Check if the target is a valid Fortnite character
if (FortCharacterWhoWasHit := fort_character[DamageResult.Target]?):
Print("Was hit for " + DamageResult.Amount.ToString())
# Check the instigator details
if (Instigator := DamageResult.Instigator?):
if (Agent := Instigator.GetInstigatorAgent[]?):
if (FortCharacterInstigator := fort_character[Agent]?):
Print("Was hit by another player")
# Validate both instigator and target classes
if (PlayerClasses.HasKey(FortCharacterInstigator) and PlayerClasses.HasKey(FortCharacterWhoWasHit)):
if (PlayerClasses[FortCharacterInstigator] = 2 and PlayerClasses[FortCharacterWhoWasHit] = 1):
Print("Class swap triggered")
# Swap the classes
TempClass := PlayerClasses[FortCharacterInstigator]
set PlayerClasses[FortCharacterInstigator] = PlayerClasses[FortCharacterWhoWasHit]
set PlayerClasses[FortCharacterWhoWasHit] = TempClass
Print("Classes have been swapped")
Print("Instigator new class: " + PlayerClasses[FortCharacterInstigator].ToString())
Print("Target new class: " + PlayerClasses[FortCharacterWhoWasHit].ToString())
OnBegin<override>()<suspends>: void =
# Initialize PlayerClasses map
PlayerClasses = map{}
# Get all players in the playspace
Players := GetPlayspace().GetPlayers()
# Assign random classes to players
for (Player: Players):
set PlayerClasses[Player] = Random.GetRandomInt(1, 2)
# Subscribe to damage events for each player's Fortnite character
for (Player: Players):
if (FortCharacter := Player.GetFortCharacter[]?):
FortCharacter.DamagedEvent().Subscribe(HandlePlayerHit)
Thanks