No entiendo el ZCMD y SSCANSF
#1

La verdad es que no entiendo el uso del ZCMD en comandos, no entiendo para que sirven esos parбmetros por ejemplo:

Код:
if( !sscanf (params, "s", text))
Necesitarнa que alguien me explique para que sirve eso, y como realizar un comando en ZCMD.
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=402698

Eso es algo simple, igualmente, no es de mucha falta utilizar zcmd con sscanf, yo creo que te hace consumir mбs ram, no sй, nunca entendн la diferencia de zcmd con strcmp, ademбs de que zcmd se puede usar en cualquier callback y por ahн al usarlo con sscanf se pueden usar menos lнneas, por lo que tengo entendido, es asн, pero es mejor usar todo lo de samp, sin ni si quiera llenar de includes tu GM, optimizar es la clave.
Reply
#3

їNo es mejor usar includes para optimizar?
Reply
#4

Depende que tipo de includes, si los usas como el GM de OSRP (funciones vitales y optimizadas para el GM), sн, si son includes innecesarios de funciones que podrнas hacerla mбs optimizadas y desde el GM, no.

OSRP hace eso por una simple razуn, trabajo mбs eficaz.. si por ejemplo, un sistema tiene un error, simplemente elimina o desactiva el include y listo, ademбs que el GM copilarнa muy rбpidamente.

Tambiйn te podrнa servir para optimizar algъn include de funciones, por ejemplo, SetPlayerHealthArmour(playerid, Health, Armour); y cosas asн, para ahorrar una lнnea en lugar de dos, eso sн, si hacйs algo asн, tratб de tenerlos todos en un mismo include de funciones, y no en varios.
Reply
#5

Quote:
Originally Posted by jwalker
Посмотреть сообщение
їNo es mejor usar includes para optimizar?
Mientras mбs includes externos y plugins utilices tu servidor va a estar mбs pesado, va a consumir mбs ram y seguramente en algunas cosas tarde (lagg).

PD: sscansf NO EXISTE: es sscanf
Reply
#6

Yo me refiero, a que los includes podrнan ahorrar las lineas en el GM, y hacer sistemas en includes, los que me parezcan mбs dificiles.
Reply
#7

Quote:
Originally Posted by jwalker
Посмотреть сообщение
Yo me refiero, a que los includes podrнan ahorrar las lineas en el GM, y hacer sistemas en includes, los que me parezcan mбs dificiles.
Eso es orden nada mбs.
Te va ahorrar lineas en el gm pero igual el pawno va a tardar el mismo tiempo en compilarte.
Reply
#8

No digan estupideces, por favor, uno usa los includes justamente para incluir funciones y utilidades a nuestro script.

Quote:
Originally Posted by DeadSkyTkb
Посмотреть сообщение
Eso es algo simple, igualmente, no es de mucha falta utilizar zcmd con sscanf, yo creo que te hace consumir mбs ram, no sй, nunca entendн la diferencia de zcmd con strcmp, ademбs de que zcmd se puede usar en cualquier callback y por ahн al usarlo con sscanf se pueden usar menos lнneas, por lo que tengo entendido, es asн, pero es mejor usar todo lo de samp, sin ni si quiera llenar de includes tu GM, optimizar es la clave.
A ver, ZCMD es un sistema creado para procesar comandos, se usa porque a comparaciуn del mйtodo "strcmp" es mucho mбs rбpido. Usar includes no hace mбs lento el server, el include incluye funciones y utilidades al script, es como si copiaras el contenido del include adentro del GM, es lo mismo.
El sscanf es un plugin que aporta la funciуn contraria a "format", nos sirve para extraer partes de un texto, por eso se lo usa con comandos principalmente.
Reply
#9

Quote:
Originally Posted by MrDeath537
Посмотреть сообщение
No digan estupideces, por favor, uno usa los includes justamente para incluir funciones y utilidades a nuestro script.



A ver, ZCMD es un sistema creado para procesar comandos, se usa porque a comparaciуn del mйtodo "strcmp" es mucho mбs rбpido. Usar includes no hace mбs lento el server, el include incluye funciones y utilidades al script, es como si copiaras el contenido del include adentro del GM, es lo mismo.
El sscanf es un plugin que aporta la funciуn contraria a "format", nos sirve para extraer partes de un texto, por eso se lo usa con comandos principalmente.
En otras palabras sscanf separa una string en distintas variables. Tree voy a dar un ejemplo:
Comando: /cambiarnombre ID Nombre
Un usuario puso /cambiarnombre 0 Pepito, OnPlayerCommandText verifica si el comando existe y si existe ejecuta la funcion del comando:
pawn Код:
CMD:cambiarnombre(playerid, params[])
{
     //playerid representarнa al ID del jugador que enviу el comando y params "0 Pepito" que serнa lo que viene despues del comando
}
їCуmo hacemos para separar a params en varios datos?
Simple, usando sscanf...

pawn Код:
CMD:cambiarnombre(playerid, params[])
{
    new id, nombre[30]; //id va a almacenar la ID del jugador que va a tener nuevo nombre y nombre es el nuevo nombre
    if(sscanf(params, "is[30]", id, nombre)) return SendClientMessage(playerid, 0xFFFF00FF, "USO: /cambiarnombre ID Nombre"),1; //sscanf 0 si pudo dividir con йxito la string en distintas variables, entonces si sscanf devuelve otro valor, los parametros estбn mal
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, "Jugador no conectado"),1;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "No eres RCON Admin"),1;
    SetPlayerName(id, nombre);
    return 1;
}
Espero que entiendas, avisa cualquier cosa.
Reply
#10

Eso, no entiendo cuando ponйs 'is[30]' їquй funciуn cumple eso en el cуdigo?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)