public static void SpawnPlayer(Client client, GamePosition positionToSpawn = null, Action callback = null) { CharacterData characterData = client.GetData(CharacterData.CHARACTER_DATA_KEY); if (positionToSpawn == null) { if (characterData.GetPosition() == null) { positionToSpawn = GetRandomSpawnPoint(); } else { positionToSpawn = new GamePosition(); positionToSpawn.SetPosition(characterData.GetPosition()); positionToSpawn.Heading = characterData.Heading.HasValue ? characterData.Heading.Value : 0; } } NAPI.Player.SpawnPlayer(client, positionToSpawn.GetPosition(), positionToSpawn.GetHeading()); if (callback != null) { callback(); } }