[Ajuda] comando Kick
#1


Eu to com problema aqui nesse comando, tipo quando eu vou no server como player normal e digito o comando kickar na hora eu sou kickado. sem nem ele dizer que nao tenho permissao.


pawn Код:
CMD:kickar(playerid, params[])
{
    if(DadosPlayer[playerid][pAdmin] < 1)
        SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");

    new Motivo[50];
    if(sscanf(params, "us", ID, Motivo))
        SendClientMessage(playerid, VERMELHO, "|ERRO| Correto: /kickar [id] [motivo]");
    if(!IsPlayerConnected(ID))
        SendClientMessage(playerid, VERMELHO, "|ERRO| Player nгo conectado");

    format(str, sizeof(str), "|INFO| %s foi kikado pelo %s %s. Motivo: %s", GetPlayerNameEx(playerid), CargoAdmin(playerid), GetPlayerNameEx(playerid), Motivo);
    SendClientMessageToAll(VERMELHO, str);
    Kick(ID);
    return true;
}
Reply
#2

PHP код:
CMD:kickar(playeridparams[])
{
    if(
DadosPlayer[playerid][pAdmin] < 1) return SendClientMessage(playeridVERMELHO"|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");//sem retorno ..
    
new Motivo[50];
    if(
sscanf(params"us"IDMotivo))
        
SendClientMessage(playeridVERMELHO"|ERRO| Correto: /kickar [id] [motivo]");
    if(!
IsPlayerConnected(ID))
        
SendClientMessage(playeridVERMELHO"|ERRO| Player nгo conectado");
    
format(strsizeof(str), "|INFO| %s foi kikado pelo %s %s. Motivo: %s"GetPlayerNameEx(playerid), CargoAdmin(playerid), GetPlayerNameEx(playerid), Motivo);
    
SendClientMessageToAll(VERMELHOstr);
    
Kick(ID);
    return 
true;

Reply
#3

Vlw SkullGamer, muita desatenзгo minha.
Reply
#4

Quote:
Originally Posted by FernandoSS
Посмотреть сообщение
Vlw SkullGamer, muita desatenзгo minha.
Sу pra lembrar, o player que for kikado nгo irб receber a mensagem . Crie um timer pra isso .
Reply
#5

O Jogador que irб levar o kick nгo irб receber a mensagem, fiz um Timer pra tu

pawn Код:
// Comeзo do GM
KickPublic(playerid);
public KickPublic(playerid) Kick(playerid);


CMD:kickar(playerid, params[])
{
    if(DadosPlayer[playerid][pAdmin] < 1) return SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");//sem retorno ..

    new Motivo[50];
    if(sscanf(params, "us", ID, Motivo))
        SendClientMessage(playerid, VERMELHO, "|ERRO| Correto: /kickar [id] [motivo]");
    if(!IsPlayerConnected(ID))
        SendClientMessage(playerid, VERMELHO, "|ERRO| Player nгo conectado");

    format(str, sizeof(str), "|INFO| %s foi kikado pelo %s %s. Motivo: %s", GetPlayerNameEx(playerid), CargoAdmin(playerid), GetPlayerNameEx(playerid), Motivo);
    SendClientMessageToAll(VERMELHO, str);
    SetTimerEx("KickPublic", 500, 0, "d", playerid);
    return true;
}
Reply
#6

Vlw Patrick e Skull +Rep

Agora nao to sabendo setar obrigatoriamente um nivel.
Esse comando sу deve setar um player a cargo de administrador, que seria o 3, se tentar colocar outro numero, tem que dar erro.


pawn Код:
CMD:daradmin(playerid, params[])
{
    new Valor;
    if(DadosPlayer[playerid][pAdmin] < 4)
        return SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");

    if(sscanf(params, "ui", ID, Valor))
        return SendClientMessage(playerid, CINZA, "|ERRO| Correto: /daradmin [ID] [Nivel 3].");
    if(!IsPlayerConnected(ID))
        return SendClientMessage(playerid, VERMELHO, "|ERRO| Player nгo conectado");
    if((Valor) == 3)// <<================  como mudo isto, quero que seje obrigatorio colocar o numero 3
        return SendClientMessage(playerid, VERMELHO, "|ERRO| Nivel do Moderador й 3( 0 para tirar ).");
    if(DadosPlayer[playerid][pAdmin] == Valor)
        return SendClientMessage(playerid, VERMELHO, "|ERRO| Este player jб tem este nнvel.");
    DadosPlayer[playerid][pAdmin] = Valor;

    format(str, sizeof(str), "|INFO| %s %s lhe deu cargo de Administrador", CargoAdmin(playerid), GetPlayerNameEx(playerid), Valor);
    SendClientMessage(playerid, AZUL, str);
    format(str, sizeof(str), "Vocк deu a %s admin nivel %i.", GetPlayerNameEx(playerid), Valor);
    SendClientMessage(playerid, AZUL, str);
    return true;
}
Reply
#7

PHP код:
if((Valor) != 3
Tenta usar a diferenзa .
Reply
#8

pawn Код:
command(kickar, playerid, params[])
{
    if(DadosPlayer[playerid][pAdmin] >= 1)
    {
        new motivo[40];
        if(sscanf(params, "us[40]", params[0], motivo)) return SendClientMessage(playerid, VERMELHO, "|ERRO| Correto: /kickar [id] [motivo]");
        if(!IsPlayerConnected(params[0]) && params[0] != INVALID_PLAYER_ID)
        {
            new count = 0;
            count = GetTickCount();
           
            if(GetTickCount() - count >= 3000)
            {
                if(params[0] != playerid)
                {
                    format(str, sizeof(str), "|INFO| %s foi kikado pelo %s %s. Motivo: %s", GetPlayerNameEx(playerid), CargoAdmin(playerid), GetPlayerNameEx(playerid), motivo);
                    SendClientMessageToAll(VERMELHO, str);
                    Kick(params[0]);
                }
            }
            else
            {
                SendClientMessage(playerid, VERMELHO, "voce nao pode dar-se pontape voce mesmo");
            }
        }
        else
        {
            SendClientMessage(playerid, VERMELHO, "|ERRO| Player nгo conectado");
        }
    }
    else
    {
        SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");
    }
    return 1;
}
pawn Код:
command(daradmin, playerid, params[])
{
    if(DadosPlayer[playerid][pAdmin] >= 4)
    {
        if(sscanf(params, "ui", params[0], params[1])) return SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");
        if(IsPlayerConnected(params[0]) && params[0] != INVALID_PLAYER_ID)
        {
            if(params[1] < 0 || params[1] > 3)
            {
                if(DadosPlayer[playerid][pAdmin] != params[1])
                {
                    DadosPlayer[playerid][pAdmin] = params[1];
                    format(str, sizeof(str), "|INFO| %s %s lhe deu cargo de Administrador", CargoAdmin(playerid), GetPlayerNameEx(playerid), Valor);
                    SendClientMessage(playerid, AZUL, str);
                    format(str, sizeof(str), "Vocк deu a %s admin nivel %i.", GetPlayerNameEx(playerid), Valor);
                    SendClientMessage(playerid, AZUL, str);
                }
                else
                {
                    SendClientMessage(playerid, VERMELHO, "|ERRO| Este player jб tem este nнvel.");
                }
            }
            else
            {
                SendClientMessage(playerid, VERMELHO, "|ERRO| Nivel do Moderador й 3( 0 para tirar ).");
            }
        }
        else
        {
            SendClientMessage(playerid, VERMELHO, "|ERRO| Player nгo conectado");
        }
    }
    else
    {
        SendClientMessage(playerid, VERMELHO, "|ERRO| Vocк nгo й um membro da Staff e nгo pode Executar esse Comando.");
    }
    return 1;
 }
what ?:
pawn Код:
if(params[1] == 0 || params[1] == 3) return ..
nгo adicionar timer's pode causar lag, parвmetros uso sscanf, os cumprimentos do Mйxico.
Reply
#9

No seu primeiro comando, tб faltando return antes das mensagens de erro e criar a variбvel ID
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)