SA-MP Forums Archive
[Ayuda] str replace. - 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: [Ayuda] str replace. (/showthread.php?tid=454483)



[Ayuda] str replace. (Solucionado) - J031 - 29.07.2013

Lo que quiero es editar un texto. Por ejemplo:

#define SERVER_NAME "SA-MP"

str_replace(SERVER_NAME, "MP", "Roleplay");

Entonce el valor de SERVER_NAME sera "SA-Roleplay" en ves de "SA-MP"

Gracias...


Re: [Ayuda] str replace. - Daniel-92 - 29.07.2013

No se puede editar un define tiene que ser una variable, pero porquй no lo remplazas de una vez en el define.
pawn Код:
#define SERVER_NAME "SA-Roleplay"



Respuesta: Re: [Ayuda] str replace. - J031 - 29.07.2013

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
No se puede editar un define tiene que ser una variable, pero porquй no lo remplazas de una vez en el define.
pawn Код:
#define SERVER_NAME "SA-Roleplay"
Solo era un ejemplo de lo que quiero hacer, el chiste es hacer eso por un comando, no es exactamente cambiar SA-MP sino el nombre del jugador.


Respuesta: [Ayuda] str replace. - TheChaoz - 29.07.2013

Puedes ser mas especifico?

Tal vez esto te ayude:
pawn Код:
stock CheckName(playerid)
{
    static const
        text[] = "Text to find",
        len = 12;
       
    new
        index,
        name[MAX_PLAYER_NAME];

    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    index = strfind(name, text, true);//Buscamos el texto dentro del nombre del jugador
    if(index != -1)//El nombre del jugador contiene la cadena definida en text
    {
        strdel(name, index - 1, len);//Borramos el texto que queremos
        SetPlayerName(playerid, name);//Le cambiamos el nombre al jugador
    }
}



Respuesta: [Ayuda] str replace. - Frenzi - 29.07.2013

їPero vos queres cambiar el nombre del servidor o del jugador? No me quedу claro.


Respuesta: [Ayuda] str replace. - J031 - 29.07.2013

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
Puedes ser mas especifico?

Tal vez esto te ayude:
pawn Код:
stock CheckName(playerid)
{
    static const
        text[] = "Text to find",
        len = 12;
       
    new
        index,
        name[MAX_PLAYER_NAME];

    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    index = strfind(name, text, true);//Buscamos el texto dentro del nombre del jugador
    if(index != -1)//El nombre del jugador contiene la cadena definida en text
    {
        strdel(name, index - 1, len);//Borramos el texto que queremos
        SetPlayerName(playerid, name);//Le cambiamos el nombre al jugador
    }
}
Auch eso mismo hice pero no me funcionaba por que en index = strfind(name, text, true); ponнa if (strfind(name, text))

Voy a intentar con ese, pero ya habнa solucionado el problema sin el str_replace.

Quote:
Originally Posted by Frenzi
Посмотреть сообщение
їPero vos queres cambiar el nombre del servidor o del jugador? No me quedу claro.
No quiero nada de eso solo es un ejemplo del algъn metodo que pueda reemplazar caracteres de un texto por otros solo di un ejemplo con lo de arriba.


Respuesta: [Ayuda] str replace. - [DOG]irinel1996 - 29.07.2013

Un include de Westie tiene esa funciуn.

pawn Код:
str_replace(sSearch[], sReplace[], const sSubject[], &iCount = 0)

/*
sSearch[]     -     Texto que serб reemplazado.
sReplace[]    -     El texto nuevo, que se pondrб en lugar del viejo.
sSubject[]    -     Cadena de texto inicial.
iCount        -     Nъmero de veces que se ha reemplazado el texto buscado.
*/

Ejemplo:
pawn Код:
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);

/*
Imaginate que "nombre" es igual a "[DOG]irinel1996",
mi nick, y queremos cambiar el TAG "DOG" por "ASD".
*/


str_replace("DOG", "ASD", nombre);

/*
Ahora "nombre" es igual a "[ASD]irinel1996".
*/
Un saludo, suerte.


Respuesta: [Ayuda] str replace. - J031 - 30.07.2013

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
Un include de Westie tiene esa funciуn.

pawn Код:
str_replace(sSearch[], sReplace[], const sSubject[], &iCount = 0)

/*
sSearch[]     -     Texto que serб reemplazado.
sReplace[]    -     El texto nuevo, que se pondrб en lugar del viejo.
sSubject[]    -     Cadena de texto inicial.
iCount        -     Nъmero de veces que se ha reemplazado el texto buscado.
*/

Ejemplo:
pawn Код:
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);

/*
Imaginate que "nombre" es igual a "[DOG]irinel1996",
mi nick, y queremos cambiar el TAG "DOG" por "ASD".
*/


str_replace("DOG", "ASD", nombre);

/*
Ahora "nombre" es igual a "[ASD]irinel1996".
*/
Un saludo, suerte.
Ya lo habнa encontrado, pero gracias de todos modos.