[DUDA] sscanf
#1

Hola a todos, estaba testeando algo con un amigo y veo la consola y me tira este warning o no sй que es el sscanf en la consola del samp-server D:

sscanf warning: Strings without a length are deprecated please add a destination size.
Alguien me puede decir que quiere decir ese mensaje? ayuda y gracias!
Reply
#2

eso pasa ( en lo que a mi me respecta ) cuando usas en un comando 'd' o 's' ( siempre y cuando sea string ) cuando la forma correcta es 's[Maximo]'
Reply
#3

Uum creo que uso bien el sscanf por lo que dices (creo).
Asн uso los comandos con s[NUMERO]

pawn Код:
YCMD:congelartodos(playerid, params[], help)
{
    if(pInfo[playerid][Nivel] >= 2)
    {
        if(pInfo[playerid][Logueado] == 0) return Error(playerid, 11);
        new string[128], Razon[128];
        if(sscanf(params, "s[128]", Razon)) return SendClientMessage(playerid, COLOR_AZUL, "[ERROR]: {FFFFFF}Uso: /Congelartodos [RAZON]");
        foreach(Player, i)
        {
            if(pInfo[i][Nivel] >= 1)
            {
                TogglePlayerControllable(i, 1);
            }
            else
            {
                TogglePlayerControllable(i, 0);
            }
        }
        format(string, sizeof(string), "{375FFF}[INFO]: {FFFFFF}El administrador {375FFF}%s {FFFFFF}ha congelado a todos los jugadores. [RAZON: %s]", aNombre(playerid), Razon);
        SendClientMessageToAll(-1, string);
    } else return Error(playerid, 3);
    return 1;
}
їEs correcto? saludos-
Reply
#4

Usalo asн
pawn Код:
new Razon;
if(sscanf(params, "s[64]", Razon)) etc..
Ah y le bajй la cantidad de carбcteres ya que їpara que 64?
Reply
#5

Le bajaste solo la cantidad de caracteres? saludos! 64 es lo mбximo en una razon yo creo, gracias!
Reply
#6

Le bajй la cantidad porque їpara quй usar carбcteres al pedo? y tambiйn cambiй el tipo de variable (Razon) a integrer cuando antes era string.
Reply
#7

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Le bajй la cantidad porque їpara quй usar carбcteres al pedo? y tambiйn cambiй el tipo de variable (Razon) a integrer cuando antes era string.
Quieres guardar una cadena de carбcteres en una variable tipo integer? luego, como lo usarбs?

pawn Код:
printf("Impresiуn: %d", razon);
Asн?
Reply
#8

pawn Код:
if(sscanf(params, "s[128]", Razon)) return SendClientMessage(playerid, COLOR_AZUL, "[ERROR]: {FFFFFF}Uso: /Congelartodos [RAZON]");
Uso inutil de sscanf, lo que estб en params lo estas pasando a Razon, їpor quй no mejor usar directamente params y un strlen o la funciуn isnull ?

LOL...
Reply
#9

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Quieres guardar una cadena de carбcteres en una variable tipo integer? luego, como lo usarбs?

pawn Код:
printf("Impresiуn: %d", razon);
Asн?
Hmm, he visto que sscanf se ha utilizado asн. Y sн lo vi en este foro, usuarios que generaban variables (integrers) y las utilizaban con sscanf con una string. A mi tambiйn me parecнa extraсo pero el cуdigo terminaba funcionando.
Reply
#10

Quote:
Originally Posted by Josstaa
Посмотреть сообщение
pawn Код:
if(sscanf(params, "s[128]", Razon)) return SendClientMessage(playerid, COLOR_AZUL, "[ERROR]: {FFFFFF}Uso: /Congelartodos [RAZON]");
Uso inutil de sscanf, lo que estб en params lo estas pasando a Razon, їpor quй no mejor usar directamente params y un strlen o la funciуn isnull ?

LOL...
+1.

Hay varios tutoriales (en la secciтn inglesa donde encontrarаs guмas de sscanf).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)