Portal SAMP
[Ajuda] Mudar Nick - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Mudar Nick (/showthread.php?tid=4910)



Mudar Nick - Enila182 - 02/11/2024

Alguém tem um modelo de troca de nick MySQL?
Se exitir um nick igual que o player quer mudar ele bloqueia?

Informações:

Nome da Tabela: ''jogador''
Nome que salva do player: ''Nome''


RE: Mudar Nick - BitSain - 02/11/2024

Código:
stock TrocarNick(playerid, novoNome[])
{
    if(strlen(novoNome) < 3 || strlen(novoNome) > 24) {
        SendClientMessage(playerid, 0xFF0000FF, "Erro: O nome deve ter entre 3 e 24 caracteres.");
        return false;
    }

    new query[256];
    mysql_format(SQL_Connection, query, sizeof(query), "SELECT Nome FROM jogador WHERE Nome = '%e' LIMIT 1;", novoNome);
    mysql_tquery(SQL_Connection, query, "OnCheckNomeExistente", "is", playerid, novoNome);

    return true;
}

forward OnCheckNomeExistente(playerid, novoNome[]);
public OnCheckNomeExistente(playerid, novoNome[])
{
    if(cache_num_rows() > 0) {
        SendClientMessage(playerid, 0xFF0000FF, "Erro: Esse nome já está em uso.");
        return false;
    }

    new query[256];
    mysql_format(SQL_Connection, query, sizeof(query), "UPDATE jogador SET Nome = '%e' WHERE Nome = '%e';", novoNome, PlayerName(playerid));
    mysql_tquery(SQL_Connection, query);

    SetPlayerName(playerid, novoNome);
    SendClientMessage(playerid, 0x00FF00FF, "Nome alterado com sucesso!");

    return true;
}



RE: Mudar Nick - Enila182 - 03/11/2024

Opa, deu certo. Obrigado +Resp