[Gu?a] Como crear comandos con ZCMD y sscanf2 - Printable Version + open.mp forum (https://forum.open.mp) -- Forum: Other languages (https://forum.open.mp/forumdisplay.php?fid=23) --- Forum: Spanish/Espa?ol (https://forum.open.mp/forumdisplay.php?fid=24) ---- Forum: Programaci?n (https://forum.open.mp/forumdisplay.php?fid=51) ---- Thread: [Gu?a] Como crear comandos con ZCMD y sscanf2 (/showthread.php?tid=1038) |
[Gu?a] Como crear comandos con ZCMD y sscanf2 - SKainer - 2020-04-15 [Presentaci?n]
?Hola a todos! Vengo aqu? a presentar otra gu?a creada por m? para algunos novatos iniciando en el mundo del Pawn.
[?Qu? es ZCMD]
ZCMD es un?procesador de comandos muy efectivo y r?pido usado por much?simos servidores para una mejor?optimizaci?n.
[?Qu? es sscanf2]
sscanf2 (Plugin) es un usualmente usado como?procesador de par?metros que trabaja muy bien de la mano de ZCMD.
[?C?mo usar ZCMD?]
ZCMD puede ser usado de las siguientes formas:
PHP Code: zcmd(comando, playerid, params[]) Todas se escriben diferente, pero tienen el mismo resultado.
[Nota Importante] ZCMD no debe ir dentro de una funci?n o callback. [Nota Importante] ZCMD siempre debe retornar verdadero (return 1) al final, como se muestra en los ejemplos o si no aparecer? el mensaje "Unknown Command" cuando se introduzca el comando. Ejemplo de uso:
PHP Code: CMD:mensaje(playerid, params[]) Funciona como si fuera una funci?n, al menos as? lo veo yo.
Ahora, incluyamos a sscanf2 y por qu? va de la mano con ZCMD.
[?C?mo usar SSCANF2?]
La sint?xis de sscanf2 ser?a algo as?:
Code: sscanf(const data[], const format[], ...) const data[] = Ah? ir?a la data constante, es decir, la informaci?n constante que se introdujo, en este caso (ZCMD), usamos "params"
const format[] = Aqu? van los especificadores?(integers, floats, strings, etc) que se introducir?n en los par?metros.
... = aqu? se ponen las variables de los par?metros PHP Code: CMD:dardinero(playerid, params[]) Ahora, ??Qu? acaba de pasar aqu??! Pasamos de ver sint?xis a un comando normal. Pues bueno, ahora explico qu? pasa.
Fijemonos en estas?l?neas:
PHP Code: new idjugador, dinero; As? se usa usualmente el sscanf. Efectivamente usamos una condicional para que suceda lo siguiente: si los par?metros (params) son la id de un jugador y numeros?integer, retornaremos verdadero. ?Qu? es "ud"? Son especificadores de datos, "u" ser?a la id de un jugador (o nombre) y "d" ser?a un integer.? En "(params, "ud", idjugador, dinero)" podemos ver que tambi?n tenemos 2 variables (que creamos anteriormente) y ?qu? son? Pues son esos mismos datos especificados. Es decir, "u" es "idjugador"? y "d" es "dinero", osea, idjugador es la id de un jugador y dinero es un integer. Es un poco confuso pero es entendible, tambi?n podemos observar que puse "!sscanf", qu? es este operador?(!)? Lo usamos para que tome un valor contrario, ya veremos para qu?. Entonces tenemos la funci?n? Code: GivePlayerMoney(playerid, money) // Funci?n por defecto Imagina que tu jugador escribe: /dardinero 6?1000?(6?ser?a la ID del jugador al que se le dar? dinero) (1000 es la cantidad de dinero que se le dar? a la id del jugador) Todo eso suceder?a en un comando, s?lo usa tu imaginaci?n para crear todos los comandos y par?metros que desees. Imagina que un jugador escribe /dardinero 6 d (El jugador escribe un string y no un integer, eso no har? nada)? Ahora c?mo le decimos al jugador que los par?metros que est? poniendo son inv?lidos? Pues atento a lo siguiente: PHP Code: CMD:dardinero(playerid, params[]) Con eso cu?ndo el jugador se equivoque de comandos retornar? el mensaje que pusimos, para que se d? cuenta que est? poniendo mal los par?metros indicados. [Nota]?Tambi?n existe la funci?n "unformat" que viene con el sscanf2 por defecto, que act?a igual que la funci?n sscanf. [Final]
Bueno, eso ha sido todo?lo que puedo aportar hasta ahora, si me equivoqu? en algo o expliqu? algo mal h?ganmelo saber.? - SKainer RE: [Gu?a] Como crear comandos con ZCMD y sscanf2 - DanielFz - 2020-08-10 Much?simas gracias, ven?a d?as buscando una gu?a bien explicada de como usar estos, y que explicaran cada cosita, porque no me gusta utilizar algo en un script que no entiendo, porque si no lo entiendo no lo podr? volver a usar, muchas gracias otra vez, creo que puedo dar , si no, pues no te doy ajaaj. RE: [Gu?a] Como crear comandos con ZCMD y sscanf2 - R4lpH - 2020-08-25 Has un tuto de como usar strcmp :) RE: [Gu?a] Como crear comandos con ZCMD y sscanf2 - SKainer - 2020-08-29 (2020-08-25, 01:22 PM)R4lpH Wrote: Has un tuto de como usar strcmp :) Tal vez haga un tutorial sobre las funciones de los strings RE: [Gu?a] Como crear comandos con ZCMD y sscanf2 - ImFlanny - 2021-05-29 Buena gu?a solo que te falto explicar lo de los par?metros muchos definen los par?metros cuando no se utilizan. Quote:CMD:mensaje(playerid,?params[]) |