SA-MP Forums Archive
[Ajuda] /Calar por minutos - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] /Calar por minutos (/showthread.php?tid=489430)



/Calar por minutos - eNtinityGaming - 22.01.2014

Eu queria transformar esse comando em /calar [id] [motivo] [tempo]
o tempo seria entre 1 ~ 10 minutos, apos passar esse tempo a pessoa seria descalada automaticamente, e queria tambem que aparecesse pra todos que estгo online que o admin tal calou o player tal pelo motivo tal por tal minutos

pawn Код:
CMD:calar(playerid, params[])
{
    if(PInfo[playerid][Level] < 3) return SendClientMessage(playerid,white,"[x] "cred"Vocк nгo tem permissгo para usar este comando!");
    new ID;
    if(sscanf(params, "is", ID)) SendClientMessage(playerid,0x9FFF00FF , "[ > ] Uso correto: /calar [id]");
    else if(IsPlayerConnected(ID) == 0) SendClientMessage(playerid, 0x9FFF00FF, "Player nгo estб conectado");
    else
    {
        if(mute[ID]==0)
        {
            mute[ID]=1;
            SendClientMessage(ID, 0xFF0000AA, "[x] Vocк foi calado pelo administrador.");
        }
        else SendClientMessage(playerid, 0xFF0000AA, "Player jб estб calado.");
    }
    return 1;
}



Re: /Calar por minutos - Felipe_Freeze - 22.01.2014

Cria um Timer dentro do comando e a public ou stock pra desmutar o player.

Segue o Exemplo
Код:
CMD:calar(playerid, params[])
{
    if(PInfo[playerid][Level] < 3) return SendClientMessage(playerid,white,"[x] "cred"Vocк nгo tem permissгo para usar este comando!");
    new ID;
    if(sscanf(params, "is", ID)) SendClientMessage(playerid,0x9FFF00FF , "[ > ] Uso correto: /calar [id]");
    else if(IsPlayerConnected(ID) == 0) SendClientMessage(playerid, 0x9FFF00FF, "Player nгo estб conectado");
    else
    {
        if(mute[ID]==0)
        {
            mute[ID]=1;
            SetTimerEx("Desmutar", 60000, false, "dd", playerid, 2);
            SendClientMessage(ID, 0xFF0000AA, "[x] Vocк foi calado pelo administrador.");
        }
        else SendClientMessage(playerid, 0xFF0000AA, "Player jб estб calado.");
    }
    return 1;
}

stock Desmutar(playerid)
{
       if(mute[playerid] == 1)
        {
            mute[playerid] = 0;
            SendClientMessage(playerid, 0xFF0000AA, "[x] Vocк jб pode falar novamente.");
        }
}



Re: /Calar por minutos - smiiir - 22.01.2014

Edit..

Ta ae

Nгo testei se tiver errado me avise no tуpico

pawn Код:
forward timeCalado(playerid);

COMMAND:calar(playerid, params[]) {
   
    if(PInfo[playerid][Level] < 3)
        return SendClientMessage(playerid, -1, "Vocк nгo tem autorizaзгo para usar este comando");
   
    new idPlayer, Time, Motivo[30], String[80];
    if(sscanf(params, "uis[30]", idPlayer, Time, Motivo))
        return SendClientMessage(playerid, -1, "[ USE ]: /calar [ID] [Tempo] [Motivo]");
   
    if(mute[idPlayer] == 1)
        return SendClientMessage(playerid, -1, "[ ERRO ]: Este id jб estб calado");
       
    mute[idPlayer] = 1;
    format(String, 80, "Vocк foi calado Motivo: %s, Tempo: %i", Motivo, Time);
    SendClientMessage(idPlayer, -1, String);
   
    SetTimerEx("timeCalado", Time * 1000 * 60, false, "i", idPlayer);
    return true;
}

public timeCalado(playerid) {
    SendClientMessage(playerid, -1, "O Tempo passou e vocк foi descalado");
    mute[playerid] = 0;
    return true;
}