[Ajuda] /mute
#1

Bom, o problema й que o comando as vezes nгo funciona e quando funciona mutar o player mais ele continua conseguindo falar no chat e tambйm as vezes eu muto o player por 1 mim, e aparece vбrios nъmeros no chat.


pawn Код:
enum Player
{
    Muted,
    MutedTime
}
new PlayerInfo[MAX_PLAYERS][Player];

//onplayerconnect

// [ SE O PLAYER ESTБ MUDO ] :

    if(DOF2_GetInt(Contas(playerid),"Muted") == 1)
    {
        SendClientMessage(playerid,cor_vermelho,"Vocк ainda estб mutado!");
        if(PlayerInfo[playerid][MutedTime] >= 1)
        {
            SetTimerEx("DesmutarPlayer",PlayerInfo[playerid][MutedTime]*1000*60,0,"d",playerid);
        }
    }

//onplayertext

if(PlayerInfo[playerid][Muted] == 1)
    {
        SendClientMessage(playerid,cor_vermelho,"Vocк ainda estб mutado, aguarde atй ser desmutado.");
        return 0;
    }

// Comandos

CMD:mute(playerid,params[])
{
    new
        playerID,
        Tempo, //Minutos
        Motivo,
        acstr[200]
    ;
   
    if(PlayerInfo[playerid][Admin] < 2) return SendClientMessage(playerid,cor_vermelho,"Vocк nгo tem permissгo para isso.");
    if(!IsPlayerConnected(playerID)) return SendClientMessage(playerid,cor_vermelho,"Erro: PlayerID desconectado!");
    if(sscanf(params,"uds",playerID,Tempo,Motivo)) return SendClientMessage(playerid,cor_vermelho,"Use: /mute [playerid] [minutos] [motivo]");

    format(acstr,sizeof(acstr),"[OpAdmin] Admin '%s' calou vocк por %d minuto(s) motivo: %s",nome(playerID),Tempo,Motivo);
    SendClientMessage(playerID,cor_vermelho,acstr);

    SetTimerEx("DesmutarPlayer",60*1000*Tempo,false,"i",playerID);
   
    PlayerInfo[playerid][Muted] = 1;
    PlayerInfo[playerid][MutedTime] = Tempo;
   
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    return 1;
}

CMD:unmute(playerid,params[])
{
    new
        playerID,
        acstr[200]
    ;

    if(PlayerInfo[playerid][Admin] < 2) return SendClientMessage(playerid,cor_vermelho,"Vocк nгo tem permissгo para isso.");
    if(sscanf(params,"d",playerID)) return SendClientMessage(playerid,cor_vermelho,"Use: /unmute [playerid]");
    if(!IsPlayerConnected(playerID)) return SendClientMessage(playerid,cor_vermelho,"Erro: PlayerID desconectado!");

    format(acstr,sizeof(acstr),"[OpAdmin] Admin '%s' descalou vocк",nome(playerid));
    SendClientMessage(playerID,cor_vermelho,acstr);

    DesmutarPlayer(playerID);
   
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    return 1;
}



// sotck

forward DesmutarPlayer(playerid);
public DesmutarPlayer(playerid)
{
    PlayerInfo[playerid][Muted] = 0;
    PlayerInfo[playerid][MutedTime] = 0;
    SendClientMessage(playerid,cor_vermelho,"Vocк foi desmutado, da proxima vez seja mais atento as regras do servidor!");
    GameTextForPlayer(playerid,"~G~DESMUTADO !",3000,5);
    return 1;
}

// os salvamentos nгo hб necessidade de postar pois esta tudo certo.
Reply
#2

alguйm
Reply
#3

pawn Код:
// [ SE O PLAYER ESTБ MUDO ] :

    if(DOF2_GetInt(Contas(playerid),"Muted") == 1)
    {
        SendClientMessage(playerid,cor_vermelho,"Vocк ainda estб mutado!");
        if(PlayerInfo[playerid][MutedTime] >= 1)
        {
            PlayerInfo[playerid][Muted] = 1; // faltava isto
            SetTimerEx("DesmutarPlayer",PlayerInfo[playerid][MutedTime]*1000*60,0,"d",playerid);
        }
    }
se fosse eu fazia um bool para variavel.. pois vc so vai ver se й falsa ou verdadeira.
Reply
#4

Alguйm com alguma outra sugestгo ??
Reply
#5

Quote:
Originally Posted by s4kuL
Посмотреть сообщение
[I].....tambйm as vezes eu muto o player por 1 mim, e aparece vбrios nъmeros no chat.....
posta o sistema todo completo... para podermos ajudar.

comandos etc.
Reply
#6

Dei uma editada no comando, vк ai PT.
Reply
#7

pawn Код:
enum Player
{
    bool:Muted = false,
    MutedTime
}
new PlayerInfo[MAX_PLAYERS][Player];

//onplayerconnect

// [ SE O PLAYER ESTБ MUDO ] :
if(DOF2_GetInt(Contas(playerid),"Muted") == 1)
{
    if(PlayerInfo[playerid][MutedTime] >= 1)
    {
        SendClientMessage(playerid,cor_vermelho,"Vocк ainda estб mutado!");
        PlayerInfo[playerid][Muted] = true;
        SetTimerEx("DesmutarPlayer",PlayerInfo[playerid][MutedTime]*1000*60,0,"d",playerid);
    }
}

//onplayertext

if(PlayerInfo[playerid][Muted] == true)
    {
        SendClientMessage(playerid,cor_vermelho,"Vocк ainda estб mutado, aguarde atй ser desmutado.");
        return 0;
    }

// Comandos

CMD:mute(playerid,params[])
{
    if(PlayerInfo[playerid][Admin] < 2)
        return SendClientMessage(playerid,cor_vermelho,"Vocк nгo tem permissгo para isso.");
    if(sscanf(params,"uds[128]", params[0], params[1], params[2]))
        return SendClientMessage(playerid,cor_vermelho,"Use: /mute [playerid] [minutos] [motivo]");
    if(!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid,cor_vermelho,"Erro: PlayerID desconectado!");
    new acstr[128];
    format(acstr,sizeof(acstr),"[OpAdmin] Admin '%s' calou vocк por %d minuto(s) motivo: %s",nome(playerid), params[1], params[2]);
    SendClientMessage(params[0], cor_vermelho, acstr);

    SetTimerEx("DesmutarPlayer",60*1000*params[1],false,"i", params[0]);
    PlayerInfo[params[0]][Muted] = true;
    PlayerInfo[params[0]][MutedTime] = params[1];
    PlayerPlaySound(params[0],1057,0.0,0.0,0.0);
    SendClientMessage(playerid, -1, " Mutado");
    return 1;
}

CMD:unmute(playerid,params[])
{
    if(PlayerInfo[playerid][Admin] < 2)
        return SendClientMessage(playerid,cor_vermelho,"Vocк nгo tem permissгo para isso.");
    if(sscanf(params,"d", params[0]))
        return SendClientMessage(playerid,cor_vermelho,"Use: /unmute [playerid]");
    if(!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid,cor_vermelho,"Erro: PlayerID desconectado!");
   
    new acstr[128];
    format(acstr,sizeof(acstr),"[OpAdmin] Admin '%s' descalou vocк", nome(playerid));
    SendClientMessage(params[0],cor_vermelho,acstr);

    DesmutarPlayer(params[0]);
    PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
    return 1;
}



// sotck

forward DesmutarPlayer(playerid);
public DesmutarPlayer(playerid)
{
    PlayerInfo[playerid][Muted] = false;
    PlayerInfo[playerid][MutedTime] = 0;
    SendClientMessage(playerid,cor_vermelho,"Vocк foi desmutado, da proxima vez seja mais atento as regras do servidor!");
    GameTextForPlayer(playerid,"~G~DESMUTADO !",3000,5);
    return 1;
}
Reply
#8

PT deu 26 erros, acho que nгo dб pra usar bool dentro de enum
Reply
#9

Quote:
Originally Posted by s4kuL
Посмотреть сообщение
PT deu 26 erros, acho que nгo dб pra usar bool dentro de enum
Dб sim.

Vocк usa algum FS que use OnPlayerText?
Reply
#10

Quote:
Originally Posted by ViniBorn
Посмотреть сообщение
Dб sim.

Vocк usa algum FS que use OnPlayerText?
Nгo vini.. meu gamemode nгo usa nenhum FS.

Meu enum Player:

pawn Код:
enum Player
{
    Senha,
    Admin,
    Score,
    Kills,
    Deaths,
    Money,
    Vip,
    Banido,
    Jailed,
    JailedTime,
    bool:Muted = false,
    MutedTime
}
new PlayerInfo[MAX_PLAYERS][Player];
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)