I’m pretty sure Verse uses short circuit evaluation which means that if your if
condition fails on the first statement (AllPlayers[0], i.e. the AllPlayers array is empty), then it will not try to solve the other conditions, including DistanceBetweenPositions: float = DistanceXY(FirstPosition.Translation, SecondPosition.Translation)
, which is why you can’t access this variable
If you want to keep access to this distance variable you would write your condition as such :
if:
Player:player = AllPlayers[0]
FortniteCharacter:fort_character = Player.GetFortCharacter[]
set SecondPosition = FortniteCharacter.GetTransform()
DistanceBetweenPositions: float = DistanceXY(FirstPosition.Translation, SecondPosition.Translation)
then:
if(DistanceBetweenPositions < 1000.0):
Print("Distance Moved: {DistanceBetweenPositions}")
Print("Applying Damage")
HurtPlayer(50.0)
else:
Print("Distance Moved: {DistanceBetweenPositions}")
Print("Nobody got hurt ;-)")