[Ajuda] Checar nome antes e depois do Underline.
#1

Estou fazendo um sistema de famнlia e todos os players tem nome no formato: "Nome_Sobrenome". Ai queria que quando desse o comando de dar a famнlia, pegasse o nome que fica antes do underline, salvar em uma array, e o depois do underline, salvar em outra.
Como eu faзo isso?
Reply
#2

pawn Код:
new PtNome[24];
GetPlayerName(playerid, PtNome, 24); //Paulo_TerroR
print(PtNome[(strfind(PtNome, "_")+1)]); //TerroR

strdel(PtNome, strfind(PtNome, "_"), strlen(PtNome));
print(PtNome); //Paulo
Reply
#3

pawn Код:
forward split(const strsrc[], strdest[][], delimiter);

public split(const strsrc[], strdest[][], delimiter)
{
    new i, li, aNum, len;
    while(i <= strlen(strsrc))
    {
        if(strsrc[i] == delimiter || i == strlen(strsrc))
        {
            len = strmid(strdest[aNum], strsrc, li, i, 128);
            strdest[aNum][len] = 0;
            li = i+1;
            aNum++;
        }
        i++;
    }
    return 1;
}

// Exemplo
new array[Valor Mбximo de Arrays][Tamanho];
new string[Tamanho];

format(string, sizeof string, "123456:789");
split(string, array, ':');
printf("%s e %s", array[0], array[1]);
Reply
#4

O primeiro sistema lб deu erro do strdel e o segundo deu um monte de warning...
Reply
#5

tenta:
pawn Код:
printf("%s e %s", array[0][128], array[1][128]);
Reply
#6

Funcionou, obrigado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)