[Ajuda] Comandos /ban e /kick
#1

Nгo estou conseguindo enviar a mensagem do motivo do ban ou do kick ao jogador.
PHP код:
if(strcmp(cmd"/kick"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
          if(
pInfo[playerid][ModoAdmin] == 1)
          {
            
tmp strtok(cmdtextidx);
            if(!
strlen(tmp))
            {
                
SendClientMessage(playerid0xFFFFFFFF"USE: /kick [ID][MOTIVO]");
                return 
1;
            }
            new 
para1;
            
para1 ReturnUser(tmp);
            if (
pInfo[playerid][Admin] >= 1)
            {
                if(
IsPlayerConnected(para1))
                {
                    if(
para1 != INVALID_PLAYER_ID)
                    {
                        
GetPlayerName(para1Name[para1], sizeof(Name));
                        
GetPlayerName(playeridName[playerid], sizeof(Name));
                        new 
length strlen(cmdtext);
                        while ((
idx length) && (cmdtext[idx] <= ' '))
                        {
                            
idx++;
                        }
                        new 
offset idx;
                        new 
result[64];
                        while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
                        {
                            
result[idx offset] = cmdtext[idx];
                            
idx++;
                        }
                        
result[idx offset] = EOS;
                        if(!
strlen(result))
                        {
                            
SendClientMessage(playerid0xFFFFFFFF"USE: /kick [ID][MOTIVO]");
                            return 
1;
                        }
                        new 
dia,mes,ano;
                        
getdate(dia,mes,ano);
                        
format(stringsizeof(string), "CMD ADM:O Admin: %s kickou %s, Motivo: %s (%d-%d-%d)"Name[playerid], Name[para1], (result),dia,mes,ano);
                         
SendClientMessageToAll(COR_ERROCMDADMstring);
                         
Kick(para1);
                        return 
1;
                    }
                }
                else{
SendClientMessage(playerid,0xFFFFFFFF,"Esse Jogador nгo estб ONLINE");}
            }
            else{
SendClientMessage(playeridCOR_ERROCMDADM"Vocк nгo tem nivel de admin para usar esse comando");}
          }
          else{
SendClientMessage(playeridCOR_ERROCMDADM"Vocк nгo estб com o modo admin ligado");}
        }
        return 
1;
    } 
Reply
#2

Tenta ver este comando e pegar alguma coisa dele
pawn Код:
COMMAND:kickar(playerid, params[])
{
    new PlayerToKick, Reason[128], ReasonMsg[128], Name[24];
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 1)
        {
            if (sscanf(params, "us[128]", PlayerToKick, Reason)) SendClientMessage(playerid, 0xFF0000AA, "Use: \"/kickar <ID> <Motivo>\"");
            else
                if (IsPlayerConnected(PlayerToKick))
                {
                    GetPlayerName(playerid, Name, sizeof(Name));
                    format(ReasonMsg, 128, "Vocк foi kikado pelo %s %s", AdminLevelName[APlayerData[playerid][PlayerLevel]], Name);
                    SendClientMessage(PlayerToKick, 0xFF0000FF, ReasonMsg);
                    format(ReasonMsg, 128, "Motivo: %s", Reason);
                    SendClientMessage(PlayerToKick, 0xFF0000FF, ReasonMsg);
                    Kick(PlayerToKick);
                }
                else
                    SendClientMessage(playerid, 0xFF0000FF, "Este Jogador nгo estб online");
        }
        else
            return 0;
    }
    else
        return 0;

    return 1;
}
Reply
#3

Certamente vocк nгo estб mandando a mensagem para ele por isso que ele nгo recebe? kkk'...

Faz o seguinte, cria um Timer de 5 segundos, e na callback que o timer chama vocк chama a funзгo de kickar. E Ao enviar o SendClientMessage, nгo use playerid, use para1 segundo seu script.
Reply
#4

Quote:
Originally Posted by ProKillerpa
Посмотреть сообщение
Certamente vocк nгo estб mandando a mensagem para ele por isso que ele nгo recebe? kkk'...

Faz o seguinte, cria um Timer de 5 segundos, e na callback que o timer chama vocк chama a funзгo de kickar. E Ao enviar o SendClientMessage, nгo use playerid, use para1 segundo seu script.
Sim estou enviando a todos os jogadores, a ideia do timer sim da certo "pela logica" mais to prensado tambйm em colocar em motivo pelo jogador desconectar OnPlayerDisconnect, serб que rola?

Mais bem o timer deu certo
Reply
#5

Sу criar o timer -.-
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)