Hey, can you test out this script :
OnButtonTriggered(Agent : agent) : void=
spawn{_OnButtonTriggered(Agent)}
_OnButtonTriggered(Agent : agent)<suspends>: void=
Values := for(CreaturePlacer : SpawnPoints):
var Transform : transform = CreaturePlacer.GetTransform()
Print("oX: {Transform.Translation.X} oY: {Transform.Translation.Y}")
var NewPosition :vector3 = vector3
{
X := Transform.Translation.X + GetRandomFloat(-10000.0, 10000.0),
Y := Transform.Translation.Y + GetRandomFloat(-10000.0, 10000.0),
Z := Transform.Translation.Z + 5000.0
}
Print("NewX: {NewPosition.X} NewY: {NewPosition.Y}")
if (CreaturePlacer.TeleportTo[NewPosition, Transform.Rotation]):
Sleep(1.0)
CreaturePlacer.Spawn()
Print("Finished Teleporting")
Print("nX: {Transform.Translation.X} nY: {Transform.Translation.Y}")
I added a 1.0 Sleep after the teleport so the game has actually time to compute it. If it works, try decreasing the Sleep to 0.0, or find the lowest value that works.