[Ayuda] Espacio en un parametro con string -
sonnkz - 05.05.2013
Bueno, hace bastante tengo este problema en la cual es que si yo pongo ejemplo
/crearlabel bienvenido a casa , lo que hace es mandarme el mensaje de como un comando erroneo, y si lo pongo todo junto si me funciona, me explico ? por ejemplo aqui un simple comando de ejmplo
pawn Код:
new Text:label[MAX_PLAYERS];
CMD:crearlabel(playerid, params[])
{
new Float:x, Float:y, Float:z, str[128];
GetPlayerPos(playerid, x, y, z);
if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, -1, "Uso :/crearlabel [Texto]");
format(str, sizeof(str), "%s\n Utiliza Entrar!", params[0]);
label[playerid] = Create3DTextLabel(str, COLOR_ROJO, x, y, z, 10);
}
ahora, por ejemplo si yo pongo /crearlabel bienvenido a la verduleria me retorna el mensage de que puse mal un parametro, entonces, si pongo bievenidoalaverduleria si me lo toma, como lo soluciono?
Gracias
Respuesta: [Ayuda] Espacio en un parametro con string -
xSDx - 05.05.2013
Cambia el params[0] del sscanf por "str", e igualmente en la siguiente linea has lo mismo.
Respuesta: [Ayuda] Espacio en un parametro con string -
sonnkz - 05.05.2013
pero si pongo str, no tengo forma de ejecutar la cadena de texto, si con params[0] es lo mismo....
Alguna otra solucion ?
Respuesta: [Ayuda] Espacio en un parametro con string -
xSDx - 05.05.2013
Tranquilo la cadena de texto se esta guardando pero no hasta que se termina de formatear por lo que no tendras ningun fallo, prueba y me dices.
Respuesta: [Ayuda] Espacio en un parametro con string -
WCrimson - 05.05.2013
їPara que empleas nuevos array con sscanf sн ese comando se puede estructurar sin ellos?
pawn Код:
new Text:label[MAX_PLAYERS];
CMD:crearlabel(playerid, params[])
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(isnull(params)) return SendClientMessage(playerid, -1, "Uso :/crearlabel [Texto]");
format(params, 128, "%s\n Utiliza Entrar!", params);
label[playerid] = Create3DTextLabel(params, COLOR_ROJO, x, y, z, 10);
return 1;
}
Re: Respuesta: [Ayuda] Espacio en un parametro con string -
Daniel-92 - 05.05.2013
Quote:
Originally Posted by WCrimson
їPara que empleas nuevos array con sscanf sн ese comando se puede estructurar sin ellos?
|
se debe utilizar otro array porque si no se produce una violaciуn de acceso de memoria.
por ejemplo tenйs.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[]) {
if(!strcmp("/comando",cmdtext)) {
format(cmdtext,128,"Comando Ingresado: %s",cmdtext);
print(cmdtext);
cmdtext[strlen("/comando")+1] = 1; //estй espacio ya no existe.
}
}
//cmdtext tendrнa un tamaсo de 8 y al meterle mбs letras al mismo array se crea un overflow