[Ayuda] str replace.
#1

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...
Reply
#2

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"
Reply
#3

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.
Reply
#4

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
    }
}
Reply
#5

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

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.
Reply
#7

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.
Reply
#8

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)