SA-MP Forums Archive
[Ajuda] Problema com SendClientMessage - Flood. - 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] Problema com SendClientMessage - Flood. (/showthread.php?tid=517823)



Problema com SendClientMessage - Flood. - davi54723 - 06.06.2014

Bom eu tentei de diversas maneira, porйm ele sempre faz flood.

pawn Код:
if(fexist(Arquivo2))
    {
        if(DOF2_GetInt(Arquivo2, "ano") <= Ano && DOF2_GetInt(Arquivo2, "mes") <= Mes && DOF2_GetInt(Arquivo2, "day") <= Dia)
        {
                DOF2_RemoveFile(Arquivo2);
                SendClientMessage(playerid, COR_DARKVERDE, "Vocк foi desbanido do servidor.");
                format(string, 128, "Motivo do Ban: [%s] / Admin Ban [%s]", DOF2_GetString(Arquivo2, "Relato"), DOF2_GetString(Arquivo2, "ADM"));
                SendClientMessage(playerid, COR_LIMA, string);
                return 0;
            }
            else
        {
        Kick(playerid);
       
        GameTextForPlayer(playerid, "~b~Voce foi banido ~n~~r~pelo Anti xiter!.", 10000, 3);
        SetPlayerPos(playerid, 1175.6014,-1179.9524,87.0427);
       
        if(IsPlayerConnected(playerid))
        {
        Kick(playerid);
        format(str, sizeof(str),"Data do desbanimento [%s]", DOF2_GetString(Arquivo2, "DiaDesban"));
        format(str2, sizeof(str2),"Motivo do Banimento [%s]", DOF2_GetString(Arquivo2, "Relato"));
       
        SendClientMessage(playerid, COR_VERMELHO2, str);
        SendClientMessage(playerid, COR_VERMELHO2, str2);

        return Kick(playerid);
        }
        }
    }
Alguйm sabe um jeito para evitar isso ?


Re: Problema com SendClientMessage - Flood. - DogeMan - 06.06.2014

@Perdгo, erro meu. Mas como assim floodando?


Re: Problema com SendClientMessage - Flood. - davi54723 - 06.06.2014

@Edit: Ele flooda exemplo:
Data do desbanimento ...
Motivo do Banimento ...
Data do desbanimento ...
Motivo do Banimento ...
Data do desbanimento ...
Motivo do Banimento ...
Data do desbanimento ...
Motivo do Banimento ...
Data do desbanimento ...
Motivo do Banimento ...
Data do desbanimento ...
Motivo do Banimento ...

Server Close the Connect.



Ele acaba demorando um pouco pra kika o player que acaba fazendo um flood.


Re: Problema com SendClientMessage - Flood. - Wellington1999 - 06.06.2014

pawn Код:
if(fexist(Arquivo2))
    {
        if(DOF2_GetInt(Arquivo2, "ano") <= Ano && DOF2_GetInt(Arquivo2, "mes") <= Mes && DOF2_GetInt(Arquivo2, "day") <= Dia)
        {
                DOF2_RemoveFile(Arquivo2);
                SendClientMessage(playerid, COR_DARKVERDE, "Vocк foi desbanido do servidor.");
                format(string, 128, "Motivo do Ban: [%s] / Admin Ban [%s]", DOF2_GetString(Arquivo2, "Relato"), DOF2_GetString(Arquivo2, "ADM"));
                SendClientMessage(playerid, COR_LIMA, string);
                return 0;
            }
            else
        {
        Kick(playerid);
       
        GameTextForPlayer(playerid, "~b~Voce foi banido ~n~~r~pelo Anti xiter!.", 10000, 3);
        SetPlayerPos(playerid, 1175.6014,-1179.9524,87.0427);
        format(str, sizeof(str),"Data do desbanimento [%s]", DOF2_GetString(Arquivo2, "DiaDesban"));
        format(str2, sizeof(str2),"Motivo do Banimento [%s]", DOF2_GetString(Arquivo2, "Relato"));
       
        SendClientMessage(playerid, COR_VERMELHO2, str);
        SendClientMessage(playerid, COR_VERMELHO2, str2);

        return 1;
        }
    }



Re: Problema com SendClientMessage - Flood. - davi54723 - 06.06.2014

Agora ele nгo manda nenhuma mensagem, ele kika antes.


Re: Problema com SendClientMessage - Flood. - tonisantolia - 06.06.2014

essa funзгo estб funcionando dentro de algum loop?


Re: Problema com SendClientMessage - Flood. - Wellington1999 - 06.06.2014

pawn Код:
if(fexist(Arquivo2))
    {
        if(DOF2_GetInt(Arquivo2, "ano") <= Ano && DOF2_GetInt(Arquivo2, "mes") <= Mes && DOF2_GetInt(Arquivo2, "day") <= Dia)
        {
                DOF2_RemoveFile(Arquivo2);
                SendClientMessage(playerid, COR_DARKVERDE, "Vocк foi desbanido do servidor.");
                format(string, 128, "Motivo do Ban: [%s] / Admin Ban [%s]", DOF2_GetString(Arquivo2, "Relato"), DOF2_GetString(Arquivo2, "ADM"));
                SendClientMessage(playerid, COR_LIMA, string);
                return 0;
            }
            else
        {
       
        GameTextForPlayer(playerid, "~b~Voce foi banido ~n~~r~pelo Anti xiter!.", 10000, 3);
        SetPlayerPos(playerid, 1175.6014,-1179.9524,87.0427);
        format(str, sizeof(str),"Data do desbanimento [%s]", DOF2_GetString(Arquivo2, "DiaDesban"));
        format(str2, sizeof(str2),"Motivo do Banimento [%s]", DOF2_GetString(Arquivo2, "Relato"));
       
        SendClientMessage(playerid, COR_VERMELHO2, str);
        SendClientMessage(playerid, COR_VERMELHO2, str2);
        Kick(playerid);
        return 1;
        }
    }



Re: Problema com SendClientMessage - Flood. - Ley - 06.06.2014

Tente criar uma booleana quando o comando/funзгo for executada...

Exemplo:

PHP код:
new bool:SemFlood[MAX_PLAYERS]; 
PHP код:
if(fexist(Arquivo2))
{
   if(
DOF2_GetInt(Arquivo2"ano") <= Ano && DOF2_GetInt(Arquivo2"mes") <= Mes && DOF2_GetInt(Arquivo2"day") <= Dia)
   {
      
DOF2_RemoveFile(Arquivo2);
      
SendClientMessage(playeridCOR_DARKVERDE"Vocк foi desbanido do servidor.");
      
format(string128"Motivo do Ban: [%s] / Admin Ban [%s]"DOF2_GetString(Arquivo2"Relato"), DOF2_GetString(Arquivo2"ADM"));
      
SendClientMessage(playeridCOR_LIMAstring);
      return 
0;
   }
   else
   {
      
      if(
SemFlood[playerid] == true) return 1// Se a booleana estiver ativada, nгo executar o comando a seguir. 
      
GameTextForPlayer(playerid"~b~Voce foi banido ~n~~r~pelo Anti xiter!."100003);
      
SetPlayerPos(playerid1175.6014,-1179.9524,87.0427);
      
format(strsizeof(str),"Data do desbanimento [%s]"DOF2_GetString(Arquivo2"DiaDesban"));
      
format(str2sizeof(str2),"Motivo do Banimento [%s]"DOF2_GetString(Arquivo2"Relato"));
       
      
SendClientMessage(playeridCOR_VERMELHO2str);
      
SendClientMessage(playeridCOR_VERMELHO2str2);
      
SemFlood[playerid] = true// Ativa a booleana.
      
Kick(playerid);
      return 
1;
   }

Creio que irб funcionar, poderб adicionar:
PHP код:
SemFlood[playerid] = false
Quando o usuбrio deslogar do servidor, boa sorte.


Re: Problema com SendClientMessage - Flood. - davi54723 - 06.06.2014

Quote:
Originally Posted by Ley
Посмотреть сообщение
Tente criar uma booleana quando o comando/funзгo for executada...

Exemplo:

PHP код:
new bool:SemFlood[MAX_PLAYERS]; 
PHP код:
if(fexist(Arquivo2))
{
   if(
DOF2_GetInt(Arquivo2"ano") <= Ano && DOF2_GetInt(Arquivo2"mes") <= Mes && DOF2_GetInt(Arquivo2"day") <= Dia)
   {
      
DOF2_RemoveFile(Arquivo2);
      
SendClientMessage(playeridCOR_DARKVERDE"Vocк foi desbanido do servidor.");
      
format(string128"Motivo do Ban: [%s] / Admin Ban [%s]"DOF2_GetString(Arquivo2"Relato"), DOF2_GetString(Arquivo2"ADM"));
      
SendClientMessage(playeridCOR_LIMAstring);
      return 
0;
   }
   else
   {
      
      if(
SemFlood[playerid] == true) return 1// Se a booleana estiver ativada, nгo executar o comando a seguir. 
      
GameTextForPlayer(playerid"~b~Voce foi banido ~n~~r~pelo Anti xiter!."100003);
      
SetPlayerPos(playerid1175.6014,-1179.9524,87.0427);
      
format(strsizeof(str),"Data do desbanimento [%s]"DOF2_GetString(Arquivo2"DiaDesban"));
      
format(str2sizeof(str2),"Motivo do Banimento [%s]"DOF2_GetString(Arquivo2"Relato"));
       
      
SendClientMessage(playeridCOR_VERMELHO2str);
      
SendClientMessage(playeridCOR_VERMELHO2str2);
      
SemFlood[playerid] = true// Ativa a booleana.
      
Kick(playerid);
      return 
1;
   }

Creio que irб funcionar, poderб adicionar:
PHP код:
SemFlood[playerid] = false
Quando o usuбrio deslogar do servidor, boa sorte.
Bom depois de todas as tentativas, a sua funcionou da seguinte maneira,ele estava kikando antes da mensagem.
Coloquei um settime com 0 Segundos, e deu para mandar a mensagem corretamente.
Dei REP pra todos por tentarem/me ajudarem!