19.04.2014, 17:12
Quote:
Refaz o comando.
O processamento de strings no sscanf й dado por pawn Код:
|
pawn Код:
sscanf(params, "us[128]", kickid,motivo);
o sscanf esta funcionando corretamente agora, mas o comando nao esta, eu fiz como na resposta acima da minha.
o comando esta assim
pawn Код:
CMD:kick(playerid,params[])
{
if(pAdmin[playerid] < 4)return SendClientMessage(playerid,Vermelho,"Voce nao tem permissao para isso");
new kickid, motivo;
if(sscanf(params,"us[64]",kickid,motivo)) return SendClientMessage(playerid,Vermelho,"Use: /kick [id] [motivo]");
if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid,Vermelho,"Jogador nao conectador");
if(pAdmin[playerid] >= 4 && IsPlayerAdmin(playerid) == 1){
new string[100], aname[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,aname,MAX_PLAYER_NAME);
GetPlayerName(kickid,pname,MAX_PLAYER_NAME);
format(string,sizeof(string),"-|O Admin: %s id:(%d) (>>) Kickou o jogador %s id(%d) pelo motivo:[%s]-|",aname,playerid,pname,kickid,motivo);
SendClientMessageToAll(-1,string);
new sstring[100];
format(sstring,sizeof(sstring),"-|Voce foi kickado pelo admin: %s id(%d) pelo seguinte motivo: %s-|",aname,playerid,motivo);
ShowPlayerDialog(kickid,8025,DIALOG_STYLE_MSGBOX,"Banido", sstring, "OK", "");
Kick(kickid);
}
return 1;
}
pawn Код:
if(pAdmin[playerid] >= 4 && IsPlayerAdmin(playerid) == 1){
new string[100], aname[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,aname,MAX_PLAYER_NAME);
GetPlayerName(kickid,pname,MAX_PLAYER_NAME);
format(string,sizeof(string),"-|O Admin: %s id:(%d) (>>) Kickou o jogador %s id(%d) pelo motivo:[%s]-|",aname,playerid,pname,kickid,motivo);
SendClientMessageToAll(-1,string);
new sstring[100];
format(sstring,sizeof(sstring),"-|Voce foi kickado pelo admin: %s id(%d) pelo seguinte motivo: %s-|",aname,playerid,motivo);
ShowPlayerDialog(kickid,8025,DIALOG_STYLE_MSGBOX,"Banido", sstring, "OK", "");
Kick(kickid);