SA-MP Forums Archive
[Ayuda] Espacio en un parametro con string - 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] Espacio en un parametro con string (/showthread.php?tid=435000)



[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