SA-MP Forums Archive
Doble comando con ZCMD - 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: Doble comando con ZCMD (/showthread.php?tid=261662)



Doble comando con ZCMD - Nicolas_Castillo - 14.06.2011

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?


Re: Doble comando con ZCMD - GROVE4L - 14.06.2011

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

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



Re: Doble comando con ZCMD - MrDeath537 - 14.06.2011

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



Respuesta: Doble comando con ZCMD - Nicolas_Castillo - 15.06.2011

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)



Re: Respuesta: Doble comando con ZCMD - MrDeath537 - 15.06.2011

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.


Respuesta: Doble comando con ZCMD - Nicolas_Castillo - 15.06.2011

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