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