Nombre Jugador sin _ -
BecksLennon - 10.09.2013
Hola gente.
Tengo un problema al crear el gamemode de 0, todo bien pero ahн un problema cuando me logeo y hablo por chat normal, dice "Raylan_Givens", y yo quiero que diga "Raylan Givens" Sin el _
Osea el Texto sale asн "Raylan_Givens Dice: Hola
Yo quiero que salga asн "Raylan Givens Dice: Hola
y en el tab la tabla tambiйn dice Raylan_Givens.
Quiero que no aparezca el _
Acб unas imбgenes para guiarlos mas.
Imagen 1
Imagen 2
Respuesta: Nombre Jugador sin _ -
Fluid016 - 10.09.2013
pawn Код:
stock Nombre(playerid)
{
new Nombre[24];
GetPlayerName(playerid,Nombre,24);
new N[24];
strmid(N,Nombre,0,strlen(Nombre),24);
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{
if (N[i] == '_') N[i] = ' ';
}
return N;
}
Respuesta: Nombre Jugador sin _ -
BecksLennon - 10.09.2013
Quote:
Originally Posted by GROVE22
pawn Код:
stock Nombre(playerid) { new Nombre[24]; GetPlayerName(playerid,Nombre,24); new N[24]; strmid(N,Nombre,0,strlen(Nombre),24); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if (N[i] == '_') N[i] = ' '; } return N; }
|
Lo probй pero no funciona e.e Sigue apareciendo igual.
Respuesta: Nombre Jugador sin _ -
EduGTA - 10.09.2013
No entiendo al 100%
Quieres que NO aparezca el "_" en el chat?
Para eso usa el stock que te pasу GROVE22
pawn Код:
stock nJugador(playerid) //Creador: "Giuly"
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{ if (pName[i] == '_') pName[i] = ' '; }
return pName;
}
Sуlo puedes quitar el "_" en los textos, pero en la lista de usuarios no se puede, es imposible (AFAIK).
Respuesta: Nombre Jugador sin _ -
Fluid016 - 10.09.2013
Quote:
Originally Posted by Edugta.
No entiendo al 100%
Quieres que NO aparezca el "_" en el chat?
Para eso usa el stock que te pasу GROVE22
pawn Код:
stock nJugador(playerid) //Creador: "Giuly" { new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, MAX_PLAYER_NAME); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if (pName[i] == '_') pName[i] = ' '; } return pName; }
Sуlo puedes quitar el "_" en los textos, pero en la lista de usuarios no se puede, es imposible (AFAIK).
|
Lo saque de pastebin poniendo stock Nombre xD, pero ni idea quien es el creador.
Respuesta: Nombre Jugador sin _ -
DesingMyCry - 10.09.2013
El cуdigo que dejo GROVE22 crea una variable para nada.
Respuesta: Nombre Jugador sin _ -
BecksLennon - 10.09.2013
Miren Con el codigo de GROVE22 me salieron errores ya conocidos
pawn Код:
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(459) : error 021: symbol already defined: "Nombre"
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(461) : error 021: symbol already defined: "Nombre"
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(464) : error 021: symbol already defined: "strmid"
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(465) : error 010: invalid function or declaration
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(467) : error 010: invalid function or declaration
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(469) : error 010: invalid function or declaration
C:\Users\Administrador\Desktop\GM de 0\gamemodes\Untitled.pwn(706) : warning 203: symbol is never used: "N"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
6 Errors.
Pero lo solucione cambiandolo asi,
pawn Код:
stock NombreS(playerid)
{
new NombreS[24];
GetPlayerName(playerid,NombreS,24);
new N[24];
strmid(N,NombreS,0,strlen(NombreS),24);
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{
if (N[i] == '_') N[i] = ' ';
}
return N;
}
pero no me anda, sigue igual apareciendo con _
Respuesta: Nombre Jugador sin _ -
DesingMyCry - 10.09.2013
Podriamos hookear la funciуn nativa GetPlayerName con otros dos parбmetro que eliminen cierto carбcter de los nombres.
pawn Код:
stock GetPlayerName_(playerid, name[], len, character = -1, replace = -1)
{
GetPlayerName(playerid, name, len);
if(character == -1) return 1;
for(new l = 0; l < sizeof(name); l++)
{
if(name[l] == character) name[l] = replace;
}
return 1;
}
#define GetPlayerName GetPlayerName_
Se usarнa de la misma forma que GetPlayerName nativa, solo que se agregan los parбmetros character y replace.
El primero es el carбcter que reemplazaremos y el segundo seria el nuevo carбcter. En tu caso, seria algo asi.
pawn Код:
new usuario[MAX_PLAYER_NAME];
GetPlayerName(playerid, usuario, sizeof(usuario), '_', ' ');
La variable "usuario" seria la contenedora del nombre de usuario y reemplazarнa los signos "_" (guiones bajos) por " " (espacios).
O biйn, podemos hacer una funciуn que retorne directamente el nick reemplazando los carбcteres.
pawn Код:
stock ObtenerNombre(playerid, caracter = '_', reemplazo = ' ')
{
new nom[MAX_PLAYER_NAME];
GetPlayerName(playerid, nom, sizeof nom);
for(new n = 0; n < MAX_PLAYER_NAME; n++)
{
if(nom[n] == caracter) nom[n] = reemplazo;
}
return nom;
}
Se usaria de la forma.
pawn Код:
//ID cualquiera para probar la funciуn con printf
const playerid = 3;
//Enviamos un mensaje a la consola
printf("El jugador ID %d, con nombre de usuario %s.", playerid, ObtenerNombre(playerid));
Ademбs tengamos en cuenta que podemos utilizar esta funciуn con 2 parбmetros adicionales.
pawn Код:
printf("%s", ObtenerNombre(0, 'a', 'A'));
Eso retornarнa el nombre del jugador con ID 0 reemplazando todas las 'a' (minъsculas) de su nombre por 'A' (mayъsculas).
Respuesta: Nombre Jugador sin _ -
BecksLennon - 10.09.2013
Quote:
Originally Posted by DesingMyCry
Podriamos hookear la funciуn nativa GetPlayerName con otros dos parбmetro que eliminen cierto carбcter de los nombres.
pawn Код:
stock GetPlayerName_(playerid, name[], len, character = -1, replace = -1) { GetPlayerName(playerid, name, len); if(character == -1) return 1; for(new l = 0; l < sizeof(name); l++) { if(name[l] == character) name[l] = replace; } return 1; } #define GetPlayerName GetPlayerName_
Se usarнa de la misma forma que GetPlayerName nativa, solo que se agregan los parбmetros character y replace.
El primero es el carбcter que reemplazaremos y el segundo seria el nuevo carбcter. En tu caso, seria algo asi.
pawn Код:
new usuario[MAX_PLAYER_NAME]; GetPlayerName(playerid, usuario, sizeof(usuario), '_', ' ');
La variable "usuario" seria la contenedora del nombre de usuario y reemplazarнa los signos "_" (guiones bajos) por " " (espacios).
O biйn, podemos hacer una funciуn que retorne directamente el nick reemplazando los carбcteres.
pawn Код:
stock ObtenerNombre(playerid, caracter = '_', reemplazo = ' ') { new nom[MAX_PLAYER_NAME]; GetPlayerName(playerid, nom, sizeof nom); for(new n = 0; n < MAX_PLAYER_NAME; n++) { if(nom[n] == caracter) nom[n] = reemplazo; } return nom; }
Se usaria de la forma.
pawn Код:
//ID cualquiera para probar la funciуn con printf const playerid = 3;
//Enviamos un mensaje a la consola printf("El jugador ID %d, con nombre de usuario %s.", playerid, ObtenerNombre(playerid));
Ademбs tengamos en cuenta que podemos utilizar esta funciуn con 2 parбmetros adicionales.
pawn Код:
printf("%s", ObtenerNombre(0, 'a', 'A'));
Eso retornarнa el nombre del jugador con ID 0 reemplazando todas las 'a' (minъsculas) de su nombre por 'A' (mayъsculas).
|
Funciono muchнsimas gracias!