public async void SelectCharacter(Client client, object[] args)
        {
            uint          characterId   = (uint)(int)args[0];
            CharacterData characterData = await CharacterDatabase.GetCharacterData(characterId);

            Vector3 position = characterData.GetPosition();
            float   heading  = characterData.Heading.HasValue ? characterData.Heading.Value : 0;

            if (position == null)
            {
                GamePosition spawnPoint = ServerUtilities.GetRandomSpawnPoint();
                position = spawnPoint.GetPosition();
                heading  = spawnPoint.GetHeading();
            }


            client.SetData(CharacterData.CHARACTER_DATA_KEY, characterData);

            PlayerData playerData         = client.GetData(PlayerData.PLAYER_DATA_KEY);
            GroupData  highestRankedGroup = await GroupDatabase.GetPlayerHighestRankingGroup(playerData.Id);

            if (highestRankedGroup == null)
            {
                return;
            }
            if (characterData == null)
            {
                return;
            }

            ServerUtilities.SetPlayerNametag(client);
            ServerUtilities.SwitchPlayerPosition(client, position, heading);
        }
        private async void ShowCharacterSelectScreen(Client client)
        {
            PlayerData playerData = await Data.PlayerDatabase.GetPlayerData(client.Address);

            uint[] characters = await CharacterDatabase.GetCharacters(playerData.Id);

            CharacterData[] charactersData = await Task.WhenAll(characters.Select(async e => await CharacterDatabase.GetCharacterData(e)));

            string[] characterNames = charactersData.Select(e => e.Name).ToArray();
            NAPI.ClientEvent.TriggerClientEvent(client, "SelectCharacter", string.Join(",", characters), string.Join(",", characterNames));
            NAPI.Player.SetPlayerSkin(client, PedHash.MovAlien01);
        }
        public async void OnGoBackToCharacterSelect(Client client)
        {
            PlayerData playerData = await Data.PlayerDatabase.GetPlayerData(client.Address);

            uint[] characters = await CharacterDatabase.GetCharacters(playerData.Id);

            CharacterData[] charactersData = await Task.WhenAll(characters.Select(async e => await CharacterDatabase.GetCharacterData(e)));

            string[] characterNames = charactersData.Select(e => e.Name).ToArray();

            NAPI.ClientEvent.TriggerClientEvent(client, "ToggleCreateCharacterMenu", false);
            NAPI.ClientEvent.TriggerClientEvent(client, "SelectCharacter", string.Join(",", characters), string.Join(",", characterNames));
        }