Doble comando con ZCMD
#1

Buen, esa es mi pregunta, como se hace un comando doble para zcmd?

Me explico.

ejemplo:

si quiero un comando doble de esto:
pawn Код:
if(strcmp("/AyudaAdmin", cmdtext, true, 10) == 0)
lo hago asi:
pawn Код:
if(strcmp("/AyudaAdmin", cmdtext, true, 10) == 0 || strcmp("/AA", cmdtext, true, 10) == 0)
Como seria en Zcmd?
Reply
#2

creo que era asi
pawn Код:
CMD:ayudaadmin(playerid,params[])
{
//Funciones
}

CMD:aa(playerid,params[])
{
return cmd_ayudaadmin(playerid,params);
}
Reply
#3

pawn Код:
CMD:aa(playerid, params[])
    return CallLocalFunction("cmd_ayudaadmin", "is", playerid, params);
Reply
#4

Gracias Mr.Death. Ahora una pregunta.

Este define esta bien echo?


pawn Код:
#define Comando(%0, %1, %2, %3) CMD:%0(%2, %3) CMD:%1(%2, %3) return CallLocalFunction("cmd_%0", "is", %2, %3)
Reply
#5

Quote:
Originally Posted by Nicolas_Castillo
Посмотреть сообщение
Gracias Mr.Death. Ahora una pregunta.

Este define esta bien echo?


pawn Код:
#define Comando(%0, %1, %2, %3) CMD:%0(%2, %3) CMD:%1(%2, %3) return CallLocalFunction("cmd_%0", "is", %2, %3)
No, la segunda parte de la macro (que serнa "Comando(%0,%1,%2,%3)") no puede llevar espacios, ya que el espacio separa la segunda parte de la tercera (que serнa la funciуn de la macro).
Tampoco estб bien creada, aquн te dejo el cуdigo correcto para que te guнes:
pawn Код:
#define Comando(%0,%1) \
        forward cmd_%1(playerid,params[]); public cmd_%1(playerid,params[]) { return CallLocalFunction("cmd_"#%0,"is",playerid,params); } \
        forward cmd_%0(playerid,params[]); public cmd_%0(playerid,params[])
Uso forward y public que serнa lo que hace "CMD:".
No se puede poner espacios en la funciуn, ya que en macro quedarнa asн:
Код:
public cmd_ %1(playerid,params[])
y nos darнa error.
Reply
#6

Gracias men, me has enseсado varias cosas y solucionaste mi problema. ^^
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)