SA-MP Forums Archive
Alguien que me enseсe a usar sscanf - 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: Alguien que me enseсe a usar sscanf (/showthread.php?tid=338524)



Alguien que me enseсe a usar sscanf - -[R]hysi- - 30.04.2012

Hola a todos me gustaria si alguien me da una mano con el sscanf y params que no lo comprendo del todo.. osea nose como pasar comandos de strtok a sscanf como por ejemplo este

pawn Код:
if(strcmp(cmd, "/asellhouse", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            GetPlayerName(playerid, playername, sizeof(playername));
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asellhouse [houseid]");
                return 1;
            }
            new house = strval(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 4)
            {
                HouseInfo[house][hHel] = 0;
                HouseInfo[house][hArm] = 0;
                HouseInfo[house][hHealthx] = 0;
                HouseInfo[house][hHealthy] = 0;
                HouseInfo[house][hHealthz] = 0;
                HouseInfo[house][hArmourx] = 0;
                HouseInfo[house][hArmoury] = 0;
                HouseInfo[house][hArmourz] = 0;
                HouseInfo[house][hLock] = 1;
                HouseInfo[house][hOwned] = 0;
                HouseInfo[house][hVec] = 418;
                HouseInfo[house][hVcol1] = -1;
                HouseInfo[house][hVcol2] = -1;
                strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255);
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                format(string, sizeof(string), "~w~You have sold this Casas", HouseInfo[house][hValue]);
                GameTextForPlayer(playerid, string, 10000, 3);
                OnPropUpdate();
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE, "You are not an admin.");
            }
        }
        return 1;
    }
Asi como este tengo muchos ya que estoy con un larp mejorandolo y quiero ampliar mi conocimiento asi que les pido que no me hagan el comando quiero hacerlo yo pero nose como asi que les pido una mano y gracias de antemano.


Respuesta: Alguien que me enseсe a usar sscanf - [Vector] - 30.04.2012

Bueno primero que nada, tenйs que aprender los tipos de variables.
La funciуn sscanf sirve para separar una variable string en otras de distintos tipos.
Ejemplo:
pawn Код:
new Variable[11] = "1 2.5 Hola";
new entero, Float:decimal, string[5];
sscanf(Variable, "ifs[5]", entero, decimal, string);
Dentro de sscanf la i significa integer de nъmero entero, la f de float y la s de string y lo que estб entre corchetes es el tamaсo de la string mбs el carбcter nulo. Es lo mismo que en los timers pero cambia un poco.
Luego de ejecutarse la funciуn, entero serнa igual a 1, decimal a 2.5 y string igual a "Hola".


Respuesta: Alguien que me enseсe a usar sscanf - -[R]hysi- - 30.04.2012

Creo que ya lo entendi vector asi me quedo el comando

pawn Код:
zcmd(asellhouse, playerid, params[])
{
new string[256];
new playername[MAX_PLAYER_NAME];
        if(IsPlayerConnected(playerid))
        {
            GetPlayerName(playerid, playername, sizeof(playername));
           if(!sscanf(params, "i", params[0]))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asellhouse [houseid]");
                return 1;
            }
            new house = params[1];
            if (Informacion[playerid][pAdmin] >= 4)
            {
                HouseInfo[house][hHel] = 0;
                HouseInfo[house][hArm] = 0;
                HouseInfo[house][hHealthx] = 0;
                HouseInfo[house][hHealthy] = 0;
                HouseInfo[house][hHealthz] = 0;
                HouseInfo[house][hArmourx] = 0;
                HouseInfo[house][hArmoury] = 0;
                HouseInfo[house][hArmourz] = 0;
                HouseInfo[house][hLock] = 1;
                HouseInfo[house][hOwned] = 0;
                HouseInfo[house][hVec] = 418;
                HouseInfo[house][hVcol1] = -1;
                HouseInfo[house][hVcol2] = -1;
                strmid(HouseInfo[house][hOwner], "The State", 0, strlen("The State"), 255);
                PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                format(string, sizeof(string), "~w~You have sold this Casas", HouseInfo[house][hValue]);
                GameTextForPlayer(playerid, string, 10000, 3);
                OnPropUpdate();
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE, "You are not an admin.");
            }
        }
        return 1;
    }



Respuesta: Alguien que me enseсe a usar sscanf - iDarkRain - 30.04.2012

en if(!sscanf(params, "i", params[0]))

el "!" no debe de ir en el comando o va a funcionar si no colocas la ID.


Respuesta: Alguien que me enseсe a usar sscanf - [Vector] - 30.04.2012

pawn Код:
if(sscanf(params, "i", params[0]))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asellhouse [houseid]");
                return 1;
            }
o
pawn Код:
if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asellhouse [houseid]"),1;
o (estб manera no usa sscanf, es simple)
pawn Код:
if(!strlen(params) || !isNumeric(params)) return SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asellhouse [houseid]"),1;
new houseid = strval(params);
Es asн, creo que sscanf retorna un valor mayor a 0 cuando no puede separar los datos. Personalmente lo utilizo asн en comandos, tambiйn le doy otros usos.


Respuesta: Alguien que me enseсe a usar sscanf - junkbuster - 30.04.2012

Todo estб AQUI.


Respuesta: Alguien que me enseсe a usar sscanf - Treyfus - 30.04.2012

Quote:
Originally Posted by junkbuster
Посмотреть сообщение
Todo estб AQUI.
I don't speak English!!!

I don't understand the English??




Respuesta: Alguien que me enseсe a usar sscanf - [Vector] - 30.04.2012

Quote:
Originally Posted by junkbuster
Посмотреть сообщение
Todo estб AQUI.
Yo cuando era novato y estaba sscanf 1.0, no entendнa un pomo, aveces es necesario que te lo explique otro para poder entenderlo mejor.


Respuesta: Alguien que me enseсe a usar sscanf - -[R]hysi- - 30.04.2012

Muchнsimas gracias! la verdad necesitaba una mano de todos la verdad digan lo que digan son los mejores

+rep


Respuesta: Alguien que me enseсe a usar sscanf - junkbuster - 01.05.2012

Quote:
Originally Posted by Treyfus
Посмотреть сообщение
I don't speak English!!!

I don't understand the English??

Miles de traductores en internet.

Quote:

Yo cuando era novato y estaba sscanf 1.0, no entendнa un pomo, aveces es necesario que te lo explique otro para poder entenderlo mejor.

Aveces no es necesario que otro te lo explique si verdaderamente quieres aprender, ****** ahi lo estб explicando todo, sуlo faltarнa que tradusca el texto e intente, la prбctica hace al maestro. Pero es demasiado bueno tambiйn que ustedes lo ayuden no estoy en contra de nada.