[PEDIDO] /relatorio com tempo
#1

pawn Код:
if(strcmp(cmd, "/relatorio", true) == 0 || strcmp(cmd, "/relato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
                return 1;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            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(playerid, COLOR_GRAD2, "USE: /relatorio [texto]");
                return 1;
            }
            if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 4)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
                    PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
                    Kick(playerid);
                }
                GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
                format(string, 128, "[ADM ATENЗГO] ID [%d] %s tentou divulgar: %s.",playerid,playername,result);
                ABroadCast(COLOR_LIGHTRED,string,1);
                DivulgouLog(string);
                cdivulgar[playerid] += 1;
                return 1;
            }
            else if(PlayerInfo[playerid][pSocio] == 1)
            {
                format(string, sizeof(string), "==> Relatуrio Sуcio de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xa5b1A3AA,string,1);
                SendClientMessage(playerid, 0xa5b1A3AA, "Seu relatуrio de Sуcio foi enviado aos admins online, aguarde uma resposta...");
            }
            else if(PlayerInfo[playerid][pVIP] == 1)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xDE50FAAA,string,1);
                SendClientMessage(playerid, 0xDE50FAAA, "Seu relatуrio VIP Bronze foi enviado aos admins online, aguarde uma resposta...");
            }
            else if(PlayerInfo[playerid][pVIP] == 2)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xA8AD0AAA,string,1);
                SendClientMessage(playerid, 0xA8AD0AAA, "Seu relatуrio VIP Gold foi enviado aos admins online, aguarde uma resposta...");
            }
            else if(PlayerInfo[playerid][pVIP] == 3)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xFFFF66FF,string,1);
                SendClientMessage(playerid, 0xFFFF66FF, "Seu relatуrio VIP Premium foi enviado aos admins online, aguarde uma resposta...");
            }
            else
            {
                format(string, sizeof(string), "==> Relatуrio de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xFF6600AA,string,1);
                SendClientMessage(playerid, 0xFF6600AA, "Seu relatуrio foi enviado aos admins online, aguarde uma resposta...");
            }
        }
        return 1;
    }

dou reputation pra quem puder me ajudar nessa.


quero saber como posso fazer para por tempo.

tipo:
Vocк ja mandou 1 relatorio aguarde 10 segundos para mandar novamente.


para impedir o flood no /relatorio.

alguйm pode ajudar?
Reply
#2

pawn Код:
new aFlood[MAX_PLAYERS];//topo

if(strcmp(cmd, "/relatorio", true) == 0 || strcmp(cmd, "/relato", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
                return 1;
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            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(playerid, COLOR_GRAD2, "USE: /relatorio [texto]");
                return 1;
            }
            if(GetTickCount() - aFlood[playerid] < 10000)
            {
                SendClientMessage(playerid,-1,"Vocк ja mandou 1 relatorio aguarde 10 segundos para mandar novamente.");
                return 1;
            }
            if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 4)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
                    PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
                    Kick(playerid);
                }
                GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
                format(string, 128, "[ADM ATENЗГO] ID [%d] %s tentou divulgar: %s.",playerid,playername,result);
                ABroadCast(COLOR_LIGHTRED,string,1);
                DivulgouLog(string);
                cdivulgar[playerid] += 1;
                return 1;
            }
            else if(PlayerInfo[playerid][pSocio] == 1)
            {
                format(string, sizeof(string), "==> Relatуrio Sуcio de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xa5b1A3AA,string,1);
                SendClientMessage(playerid, 0xa5b1A3AA, "Seu relatуrio de Sуcio foi enviado aos admins online, aguarde uma resposta...");
                aFlood[playerid] = GetTickCount();
            }
            else if(PlayerInfo[playerid][pVIP] == 1)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xDE50FAAA,string,1);
                SendClientMessage(playerid, 0xDE50FAAA, "Seu relatуrio VIP Bronze foi enviado aos admins online, aguarde uma resposta...");
                aFlood[playerid] = GetTickCount();
            }
            else if(PlayerInfo[playerid][pVIP] == 2)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xA8AD0AAA,string,1);
                SendClientMessage(playerid, 0xA8AD0AAA, "Seu relatуrio VIP Gold foi enviado aos admins online, aguarde uma resposta...");
                aFlood[playerid] = GetTickCount();
            }
            else if(PlayerInfo[playerid][pVIP] == 3)
            {
                format(string, sizeof(string), "==> Relatуrio VIP de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xFFFF66FF,string,1);
                SendClientMessage(playerid, 0xFFFF66FF, "Seu relatуrio VIP Premium foi enviado aos admins online, aguarde uma resposta...");
                aFlood[playerid] = GetTickCount();
            }
            else
            {
                format(string, sizeof(string), "==> Relatуrio de %s: %s |-> Use /re %d ", sendername, result, (playerid));
                ABroadCast(0xFF6600AA,string,1);
                SendClientMessage(playerid, 0xFF6600AA, "Seu relatуrio foi enviado aos admins online, aguarde uma resposta...");
                aFlood[playerid] = GetTickCount();
            }
        }
        return 1;
    }
Espero ter ajudado.
Reply
#3

Obrigado deu certo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)