Portal SAMP
[Ajuda] Apenas a primeira parte do nickname - 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] Apenas a primeira parte do nickname (/showthread.php?tid=1837)



Apenas a primeira parte do nickname - Rodrigo - 12/11/2021

Estou fazendo um sistema, no qual ao mandar a mensagem, apareça apenas a primeira parte do nick, exemplo:

NickName: Rodrigo_Araujo
Como deve aparecer na mensagem: Rodrigo


RE: Apenas a primeira parte do nickname - xbruno1000x - 13/11/2021

Para deletar parte de um string, use Strdel.
Tente encontrar alguma função que te retorne a posição do caractere "_" e use strdel para deletar todos caracteres que sejam maiores ou iguais que a posição.

Documentação:
https://sampwiki.blast.hk/wiki/Strdel


RE: Apenas a primeira parte do nickname - ipsLuan - 13/11/2021

Código PHP:
stock PegarNome(playerid)
{
    new 
name[MAX_PLAYER_NAME], underscore;
    
GetPlayerName(playeridnameMAX_PLAYER_NAME);
    
underscore strfind(name"_");
    
strdel(nameunderscoreMAX_PLAYER_NAME);
    return 
name;
}

stock PegarSobrenome(playerid)
{
    new 
name[MAX_PLAYER_NAME], underscore;
    
GetPlayerName(playeridnameMAX_PLAYER_NAME);
    
underscore strfind(name"_");
    
strdel(name0underscore+1);
    return 
name;




RE: Apenas a primeira parte do nickname - Jogador - 13/11/2021

Isso funciona!
Código:
new
    nickname[MAX_PLAYER_NAME],
    p_name[MAX_PLAYER_NAME],
    s_name[MAX_PLAYER_NAME]
;

GetPlayerName(playerid, nickname, MAX_PLAYER_NAME);
sscanf(nickname, "p<_>ss", p_name, s_name);
p_name = primeiro nome
s_name = segundo nome