CallLocalFunction("OnPlayerCommandText", "is", playerid, "/tu_comando");
if(newkeys & KEY_SECONDARY_ATTACK)
{
new params[1];
cmd_entrar(playerid, params);
cmd_salir(playerid, params);
}
if(newkeys & KEY_SECONDARY_ATTACK)
{
CallLocalFunction("OnPlayerCommandText", "is", playerid, "/entrar");
}
if(newkeys & KEY_SECONDARY_ATTACK)
{
CallLocalFunction("OnPlayerCommandText", "is", playerid, "/salir");
}
...Pon tu cуdigo en una funciуn separada y llama esa funciуn desde el comando y otros lugares donde la necesites.
|
YCMD:salir(playerid, params[], help)
{
#pragma unused params, help
if(!MiVariable[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "ЎError!");
SpawnPlayer(playerid);
MiVariable[playerid]=false;
return 1;
}
forward Salir(playerid);
public Salir(playerid)
{
//Cualquier cambio que hagas aquн afectarб a otros comandos/funciones que utilicen esta funciуn.
if(!MiVariable[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "ЎError!");
SpawnPlayer(playerid);
MiVariable[playerid]=false;
}
YCMD:salir(playerid, params[], help)
{
#pragma unused params, help
Salir(playerid);
return 1;
}
YCMD:iniciarevento(playerid, params[], help)
{
#pragma unused params, help
SetTimer("TerminarEvento", 20000, false);
foreach(new i : Player)
{
MiVariable[i] = true;
}
return 1;
}
forward TerminarEvento();
public TerminarEvento()
{
SendClientMessageToAll(-1, "ЎSe ha agotado el tiempo, el evento ha terminado!");
foreach(new i : Player)
{
Salir(i);
}
return 1;
}
forward Salir(playerid);
public Salir(playerid)
{
if(!MiVariable[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "ЎError!");
SpawnPlayer(playerid);
MiVariable[playerid]=false;
}
Sн, pero tienen una estructura muy compleja y gastarнas mucho tiempo en hacerlo.
Lo mejor serнa hacerlo como ****** ha dicho anteriormente |
Command_ReProcess(playerid, "/entrar", false)
Command_ReProcess(playerid, "/salir", false)