Duda sscanf
#2

Sscanf lo que hace es separar params, que es una cadena de texto que contiene todo lo que viene despuйs del comando, o sea, los parбmetros. Por ejemplo: /kick 13 health hack (13 razуn health hack son los parбmetros).
Para manejar los datos de los parбmetros en PAWN, necesitas separar esa cadena de texto (o string en inglйs) en variables.
Por ejemplo:
pawn Код:
CMD:kick(playerid, params[])
{
//condicion de si es admin o no
new idobjetivo, razon[128];
if(sscanf(params, "is[128]", idobjetivo, razon))
{
SendClientMessage(playerid, 0xFF0000FF, "Parбmetros invбlidos, utilize este formato: /kick ID razуn");
return 1;
}
Ahн lo que le ordenй es separar a params en una variable entera y en una string, entonces idobjetivo es la ID del jugador que quiero expulsar y razon es la razуn de la expulsiуn contenida en una variable string. Entonces "is[128]", podrнa traducirse como "sscanf separa a params en una variable integer (entera) y en una string con capacidad mбxima 128 y conten los datos en las siguientes variables", entonces is[128] especifican el tipo de variable en el que se van a contener. Esos carбcteres se llaman specificiers o especificadores, hay muchos acб tenйs una lista simple:
Specifier(s) Name Example values
b Binary 01001, 0b1100
c Character a, o, *
f Float 0.7, -99.5
g IEEE Float 0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
h, x Hex 1A, 0x23
i, d Integer 1, 42, -10
l Logical true, false
n Number 42, 0b010, 0xAC, 045
o Octal 045 12
q Bot name/id ShopBot, 27
r Player name/id ******, 42
u User name/id (bots and players) ******, 0
Ahora lo que faltarнa serнa unos checks, para ver si el jugador estб conectado.
pawn Код:
if(!IsPlayerConnected(idobjetivo)) return SendClientMessage(playerid, 0xFF0000FF, "Jugador no conectado");
Y por ъltimo:
pawn Код:
Kick(idobjetivo);
return 1;
}
(Faltarнa algъn mensajito para que diga la razуn y el mensaje "pepe fue expulsado razуn...")
Reply


Messages In This Thread
Duda sscanf - by Daniel_Ruiz - 20.04.2014, 02:04
Respuesta: Duda sscanf - by MugiwaraNoLuffy - 20.04.2014, 02:14
Respuesta: Duda sscanf - by ErickPuga234 - 20.04.2014, 02:15

Forum Jump:


Users browsing this thread: 1 Guest(s)