[Ajuda] Comando /kick e /ban nгo mostrando quem foi kickado!
#1

Olб a todos, estou aqui com um problema no meu comando /kick e /ban..

Tipo assim, quando eu vou kickar alguйm, aparece lб "O Administrador BLABLA kickou o jogador BLABLA. Motivo :
Sу que tipo, ele nгo mostra quem foi kickado, sу mostra o meu nome e meu nome no jogador kickado:/ alguйm pode ajudar? Isso serve pro comando ban tambйm.

Cуdigo :
pawn Код:
CMD:kick(playerid, params[]) {
new Motivo[48], string[174], pName[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(playerid, aname, sizeof(aname));
if(!IsPlayerAdmin(playerid)) return Msg(playerid, -1, NADM);
if(sscanf(params, "us", ID, Motivo)) return Msg(playerid, -1, "{FF0000}USE :{FFFFFF}/kick [ID] [MOTIVO] .");
if(!IsPlayerConnected(ID)) return Msg(playerid, -1,"Jogador nгo estб online!");
if(strlen(Motivo) > 48) return Msg(playerid, VERMELHO,"Use no mбximo 48 caracteres no motivo!");
Kick(ID);
format(string, sizeof(string),"{FF0000}-| O Administrador %s [ID:%d] kickou o jogador %s [ID:%d]. Motivo : %s |-", aname, ID, pName, ID, Motivo);
MsgToAll(-1,string);
return 1;
}
Cуdigo do comando BAN..
pawn Код:
CMD:ban(playerid, params[]) {
new Motivo[48], string[174], pName[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(playerid, aname, sizeof(aname));
if(!IsPlayerAdmin(playerid)) return Msg(playerid, -1, NADM);
if(sscanf(params, "us", ID, Motivo)) return Msg(playerid, -1, "{FF0000}USE :{FFFFFF}/ban [ID] [MOTIVO] .");
if(!IsPlayerConnected(ID)) return Msg(playerid, -1,"Jogador nгo estб online!");
if(strlen(Motivo) > 48) return Msg(playerid, VERMELHO,"Use no mбximo 48 caracteres no motivo!");
Ban(ID);
format(string, sizeof(string),"{FF0000}-| O Administrador %s [ID:%d] baniu o jogador %s [ID:%d]. Motivo : %s |-", pName, ID, aname, ID, Motivo);
MsgToAll(-1,string);
return 1;
}
Reply
#2

Troque crie uma variavel id2.

pawn Код:
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(id2, aname, sizeof(aname));
Reply
#3

Vou tentar aqui.
Reply
#4

pawn Код:
CMD:kick(playerid, params[])
{
    new
        ID,
        Motivo[48],
        string[174],
        pName[MAX_PLAYER_NAME],
        aname[MAX_PLAYER_NAME]
    ;

    if(!IsPlayerAdmin(playerid)) return Msg(playerid, -1, NADM);
    if(sscanf(params, "us[48]", ID, Motivo)) return Msg(playerid, -1, "{FF0000}USE :{FFFFFF}/kick [ID] [MOTIVO].");
    if(!IsPlayerConnected(ID)) return Msg(playerid, -1,"Jogador nгo estб online!");
    if(strlen(Motivo) > 48) return Msg(playerid, VERMELHO,"Use no mбximo 48 caracteres no motivo!");

    GetPlayerName(ID, pName, sizeof(pName));
    GetPlayerName(playerid, aname, sizeof(aname));
    format(string, sizeof(string),"{FF0000}-| O Administrador %s [ID:%d] kickou o jogador %s [ID:%d]. Motivo : %s |-", aname, playerid, pName, ID, Motivo);
    MsgToAll(-1,string);
    Kick(ID);

    return 1;
}
Se nгo resolver, manda a funзгo 'MsgToAll'.
Reply
#5

Resolveu se eu podesse te dava +rep.
Reply
#6

O seu erro foi pegar o nome do mesmo player duas vezes, pelo que dizia ali, aparecia kickado e que kickou com o mesmo nick.

Eu sei que jб te ajudaram a resolver, mas estou dando essa explicaзгo pra saber resolver da proxima vez.
Reply
#7

coloca uma SetTimer
Reply
#8

Quote:
Originally Posted by iWoodBlack
Посмотреть сообщение
coloca uma SetTimer
Nгo entendi a sua lуgica atй chegar a pedir um Timer.
Reply
#9

Error ja foi resolvido.
Reply
#10

@DanielCopper
Obrigado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)