SA-MP Forums Archive
Eliminar un carбcter de un nombre. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Eliminar un carбcter de un nombre. (/showthread.php?tid=572638)



Eliminar un carбcter de un nombre. - xHanks - 30.04.2015

Buenas chicos de pawno, sй que es una pregunta algo estъpida, pese que ya con el tiempo que llevo me considero con bastantes conocimientos de pawno, nъnca he hecho lo siguiente.

Guardo en el string name, el nombre, en este caso por ejemplo: Taylor_Gibson.

їCуmo podrнa eliminarle el "_" y ponerle especнficamente un espacio?

Gracias.


Re: Eliminar un carбcter de un nombre. - SickAttack - 30.04.2015

pawn Код:
stock NombreJ(playerid)
{
    new nombrePJ[MAX_PLAYER_NAME];
    if(Desconocido[playerid] == 1) format(nombrePJ, sizeof(nombrePJ), "Desconocido");
    else
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(nombrePJ, sizeof(nombrePJ), "%s", ReplaceString("_", " ", name));
    }
    return nombrePJ;
}

stock ReplaceString(search[], replace[], source[])
{
    new newstring[256], newlen;
    for(new i; i < strlen(source); i++)
    {
        if(strlen(search) > 1 && i != (strlen(source) - 1))
        {
            new matched = 1, start = i;
            for(new s = 0; s < strlen(search) && matched == 1; s++)
            {
                if(source[i] != search[s] && s == 0)
                {
                    newstring[newlen] = source[i];
                    matched = 0;
                }
                else
                {
                    if(source[i] == search[s]) i++;
                    else matched = 0;
                }
            }
            if(matched == 0)
            {
                while(start <= i)
                {
                    newstring[newlen] = source[start];
                    newlen++;
                    start++;
                }
            }
            else
            {
                for(new r; r < strlen(replace); r++)
                {
                    newstring[newlen] = replace[r];
                    newlen++;
                }
                i = (start + (strlen(search) - 1));
            }
        }
        else
        {
            if(strlen(search) == 1 && source[i] == search[0])
            {
                for(new r; r < strlen(replace); r++)
                {
                    newstring[newlen] = replace[r];
                    newlen++;
                }
            }
            else
            {
                newstring[newlen] = source[i];
                newlen++;
            }
        }
    }
    newstring[newlen] = EOS;
    return newstring;
}
https://sampforum.blast.hk/showthread.php?tid=572408

Y es pawn, no pawno. pawn es el lenguaje de programacion y pawno es el programa que utlizas para hacer codigo en pawn.


Respuesta: Eliminar un carбcter de un nombre. - xHanks - 30.04.2015

Gracias, + REP.