CMD:fakecmd(playerid, params[])
{
new giverid, stringtext[126], comando[258], pgiver[50];
if(PlayerInfo[playerid][pAdmin] < 1000) return SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Voce Nao Tem Autorizaзгo");
if(sscanf(params, "us[90]", giverid, comando)) return SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Uso /fakecmd [id] [comando]");
if(giverid == INVALID_PLAYER_ID) return SendClientMessage(playerid, VERMELHO_ESCURO, "ID invalido.");
if(!IsPlayerConnected(giverid)) return SendClientMessage(playerid, VERMELHO_ESCURO, "Usuario nгo conectado.");
if(PlayerInfo[playerid][pAdmin] == 2000)
{
GetPlayerName(playerid, pgiver, sizeof(pgiver));
GetPlayerName(giverid, pNome, sizeof(pNome));
format(stringtext, sizeof(stringtext), "[BCV Admin] O Administrador %s fez o Jogador %s usar o comando ( %s )", pgiver, pNome, comando);
SendClientMessageToAll(AZUL_CLARO_3, stringtext);
}
return 1;
}
CMD:fakecmd(playerid, params[])
{
new giverid, stringtext[126], comando[258], pgiver[50];
if(PlayerInfo[playerid][pAdmin] < 1000) return SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Voce Nao Tem Autorizaзгo");
if(sscanf(params, "us[90]", giverid, comando)) return SendClientMessage(playerid, VERMELHO_ESCURO, "[x] Uso /fakecmd [id] [comando]");
if(giverid == INVALID_PLAYER_ID) return SendClientMessage(playerid, VERMELHO_ESCURO, "ID invalido.");
if(!IsPlayerConnected(giverid)) return SendClientMessage(playerid, VERMELHO_ESCURO, "Usuario nгo conectado.");
if(PlayerInfo[playerid][pAdmin] == 2000)
{
GetPlayerName(playerid, pgiver, sizeof(pgiver));
GetPlayerName(giverid, pNome, sizeof(pNome));
format(stringtext, sizeof(stringtext), "[BCV Admin] O Administrador %s fez o Jogador %s usar o comando ( %s )", pgiver, pNome, comando);
SendClientMessageToAll(AZUL_CLARO_3, stringtext);
CallRemoteFunction("OnPlayerCommandText", "is", giverid, comando);
}
return 1;
}
if(PlayerInfo[playerid][pAdmin] !=2000 && !IsPlayerAdmin(playerid)) // Seria mais fбcil assim, Caso seja diferente de 2000 e nгo seja rcon admin retornar tal mensagem.
#define comando(%0,%1) cmd_%0(%1,params);
//como usar?
comando(ban,playerid) // Nгo precisa de ";", ele vai retornar o comando ban, se existir й claro.
//Bom, Isto foi o mбximo que consegui pensar pois jб й tarde e tenho sono.(o vнcio de merda ._.)
Bom, Pelo o que posso ver. apenas fizeste um comando sem nada a fazer.
O seu comando nгo estб bom, estб dizendo caso for menor que 1000 irб retornar tal mensagem , e si somente si for igual a 2000 fazer tal comando,Poderia ter evitado chamar 2 vezes a mesma coisa. pawn Код:
Acho que isto pode ajudar pawn Код:
@Pedro_Miranda: ixi nem vi e nem lembrava desta funзгo xD. |
comando(comando, playerid)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define comando(%0,%1) cmd_%0(%1,params)
CMD:message(playerid, params[])
{
if(isnull(params))
return SendClientMessage(playerid, -1, "/message <texto>");
new str[128 char];
new name[24 char];
GetPlayerName(playerid, name, sizeof(name));
format(str, sizeof(str), "%s: %s", name, params);
SendClientMessageToAll(-1, str);
return 1;
}
CMD:fakecmd(playerid, params[])
{
new id, cmd[32 char];
if(sscanf(params, "us[32]", id, cmd))
return SendClientMessage(playerid, -1, "/fakecmd [id/nome] [comando]");
comando(cmd, id);
return 1;
}
public OnPlayerConnect(playerid)
{
comando(message, playerid);
return 1;
}
#define comando(%0,%1) cmd_%0(%1,params);
CMD:qualquercoisa(playerid,params[])
{
SendClientMessage(playerid,-1,"qualquer coisa");
comando(funfou,playerid)
return 1;
}
CMD:funfou(playerid,params[])
{
SendClientMessage(playerid,-1"Isso funfa veja!");
}