[Ajuda] Como bloquear o comando ao ficar afk ?
#1

Ai galera vim pedir ajuda a vocкs para quando o jogador ficar AFK ele nгo poder usar nenhum comando, exceto o /online .


pawn Код:
CMD:afk(playerid,params[])
    {
    if(AFK[playerid] ==0)
    {
    new string[128];
    format(string,sizeof(string),"( AFK ) O jogador %s (%d) foi bloqueado de upar por ficar longe do teclado!", PlayerName(playerid), playerid);
    SendClientMessageToAll(0x00FF00AA, string);
    for(new i = 0; i < 100; i++)
    SendClientMessage(playerid,-1,"");
    TextDrawShowForPlayer(playerid, TDAFK);
    TextDrawShowForPlayer(playerid, TDAFK1);
    TextDrawShowForPlayer(playerid, TDAFK2);
    TextDrawShowForPlayer(playerid, TDAFK3);
    AFK[playerid] =1;
    SetPlayerHealth(playerid, 99999);
    TogglePlayerControllable(playerid, 0);
    }else{
    SendClientMessage(playerid,0xFF6347AA,"(ERRO) Vocк ja estб ausente (AFK).");
    return 1;
    }
    return 1;
    }
    CMD:online(playerid,params[])
    {
    if(AFK[playerid] ==1)
    {
    new string[128];
    format(string,sizeof(string),"( ON ) O jogador %s (%d) estб online novamente!", PlayerName(playerid), playerid);
    SendClientMessageToAll(0x00FF00AA, string);
    TextDrawHideForAll(TDAFK);
    TextDrawHideForAll(TDAFK1);
    TextDrawHideForAll(TDAFK2);
    TextDrawHideForAll(TDAFK3);
    AFK[playerid] =0;
    SetPlayerHealth(playerid, 100);
    TogglePlayerControllable(playerid, 1);
    }else{
    SendClientMessage(playerid,0xFF6347AA,"(ERRO) Vocк nгo estб ausente (AFK).");
    return 1;
    }
    return 1;
    }
Reply
#2

Cria uma booleans e use ela em todos os comandos do servidor

pawn Код:
// cmd:afk
Afk = true;

// comandos
if(Afk == true) return SendClientMessage(playerid, -1, "Vocк estб AFK fio");
Reply
#3

pawn Код:
new cBloqueado[MAX_PLAYERS];

CMD:afk(playerid,params[]){
    if(AFK[playerid] ==0){
        new string[128];
        format(string,sizeof(string),"( AFK ) O jogador %s (%d) foi bloqueado de upar por ficar longe do teclado!", PlayerName(playerid), playerid);
        SendClientMessageToAll(0x00FF00AA, string);
        for(new i = 0; i < 100; i++)
        SendClientMessage(playerid,-1,"");
        TextDrawShowForPlayer(playerid, TDAFK);
        TextDrawShowForPlayer(playerid, TDAFK1);
        TextDrawShowForPlayer(playerid, TDAFK2);
        TextDrawShowForPlayer(playerid, TDAFK3);
        AFK[playerid] =1;
        cBloqueado[playerid] = 1;
        SetPlayerHealth(playerid, 99999);
        TogglePlayerControllable(playerid, 0);
    }else{
        SendClientMessage(playerid,0xFF6347AA,"(ERRO) Vocк ja estб ausente (AFK).");
        return 1;
    }
    return 1;
}
CMD:online(playerid,params[]){
    if(AFK[playerid] ==1){
        new string[128];
        format(string,sizeof(string),"( ON ) O jogador %s (%d) estб online novamente!", PlayerName(playerid), playerid);
        SendClientMessageToAll(0x00FF00AA, string);
        TextDrawHideForAll(TDAFK);
        TextDrawHideForAll(TDAFK1);
        TextDrawHideForAll(TDAFK2);
        TextDrawHideForAll(TDAFK3);
        AFK[playerid] =0;
        cBloqueado[playerid] = 0;
        SetPlayerHealth(playerid, 100);
        TogglePlayerControllable(playerid, 1);
    }else{
        SendClientMessage(playerid,0xFF6347AA,"(ERRO) Vocк nгo estб ausente (AFK).");
        return 1;
    }
    return 1;
}

//adcione isto em todos os comandos,exceto /afk e /online.
if(cBloqueado[playerid] == 1) return SendClientMessage(playerid,-1,"Os comandos estгo bloqueados pois vocк estб AFK,para serem desbloqueados fique /online !");
Reply
#4

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Cria uma booleans e use ela em todos os comandos do servidor

pawn Код:
// cmd:afk
Afk = true;

// comandos
if(Afk == true) return SendClientMessage(playerid, -1, "Vocк estб AFK fio");
Acho que este metodo ficarб muito longo e dificil de usar.
Reply
#5

Caso esteja usando ZCMD.

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {

    if (Afk[playerid] && strcmp(cmdtext, "/afk") != 0 && strcmp(cmdtext, "/on") != 0)
        return SendClientMessage(playerid, -1, "Vocк estб AFK, por isso nгo pode usar este comando!");

    return true;
}
Reply
#6

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
Caso esteja usando ZCMD.

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {

    if (Afk[playerid] && strcmp(cmdtext, "/afk") != 0 && strcmp(cmdtext, "/on") != 0)
        return SendClientMessage(playerid, -1, "Vocк estб AFK, por isso nгo pode usar este comando!");

    return true;
}
Castiel aparece a mensagem, mas o comando digitado aparece tbm '-'

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success) return SendClientMessage(playerid, 0xBCD2EEAA, "[SERVER] Comando invбlido.");
if (AFK[playerid] && strcmp(cmdtext, "/afk") != 0 && strcmp(cmdtext, "/online") != 0)
return SendClientMessage(playerid, -1, "Vocк estб AFK, por isso nгo pode usar este comando!");

return true;
}
Reply
#7

Essas chavetas... :/

PHP код:
new IsAFK[MAX_PLAYERS];
CMD:afk(playeridparams[])
{
    if(
IsAFK[playerid] == 0)
    {
        
IsAFK[playerid] = 1;
        
SendClientMessage(playeridVermelho"Entraste no modo AFK!");
        
// resto da funзгo
    
}
    else if(
IsAFK[playerid] == 1)
    {
        
SendClientMessage(playeridVermelho"Jб estбs no modo AFK!");
    }
    return 
1;
}
CMD:online(playeridparams[])
{
    if(
IsPlayerAFK[playerid] == 1)
    {
        
IsAFK[playerid] == 0;
        
SendClientMessage(playeridVermelho"Saнste do modo AFK!!");
    }
    else if(
IsPlayerAFK[playerid] == 0)
    {
        
SendClientMessage(playeridVermelho"Tu nгo estбs no modo AFK!");
    }
    return 
1;
}
CMD:todososcomandos(playeridparams[])
{
    if(
IsPlayerAFK[playerid] == 0)
    {
        
//fuзao do cmd
    
}
    else
    {
        
SendClientMessage(playeridVermelho"Estбs no modo AFK nгo podes executar comandos!");
    }
    return 
1;

Reply
#8

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
Caso esteja usando ZCMD.

pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success) {

    if (Afk[playerid] && strcmp(cmdtext, "/afk") != 0 && strcmp(cmdtext, "/on") != 0)
        return SendClientMessage(playerid, -1, "Vocк estб AFK, por isso nгo pode usar este comando!");

    return true;
}
Aqui este code funcionou .
Reply
#9

Aqui nгo funcionou, pois aparece o comando do mesmo jeito ;/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)