Ant-flood -
Kirikage - 25.10.2012
Galera to tentando arrumar meu codigo aki do /relatorio mais nao ta dando certo alguem pode explicar ou arrumar pra min ? Codigo ta sem ant flood eu tentei colocar um ai mais nao deu
Код:
if(strcmp(cmd, "/relatorio", true) == 0 || strcmp(cmd, "/relatorio", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
return true;
}
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 true;
}
if(PlayerInfo[playerid][pVIP] == 1)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio VIP de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorios VIP foi enviado aos admins..");
}
else if(PlayerInfo[playerid][pVIP] == 2)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio VIP-POWER de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorio VIP-POWER foi enviado aos admins..");
}
else
{
format(string, sizeof(string), "Relatorio de %s(%d): %s ", sendername, playerid, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_YELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Seu relatorio foi enviado aos admins..");
}
}
return true;
}
Valeu abraзos
Re: Ant-flood -
Don_Speed - 25.10.2012
O que esta de errado
Re: Ant-flood -
Kirikage - 25.10.2012
Codigo ta certo para dar /relatorio que que nao sei criar ant flood no /relatorio
Respuesta: Ant-flood -
Coreia - 25.10.2012
usa gettime
Re: Ant-flood -
Jessica_Azeredo - 25.10.2012
Tenso
Re: Ant-flood -
PSYRocK - 26.10.2012
Jб que estamos aqui poderia me encinar a fazer um ANTI-FLOOD pra todas as coisas? se o players ficar floodando no /ga /isso e aquilo ou falando com alguem: ei ei ei ei e pб da pra deixar ele 1 minuto calado?>?
Re: Ant-flood -
matheuspain - 26.10.2012
Ai Ai , pronto ta ae seu relatorio com Ant Flood
Ajudei ? +REP
Код:
new prelatoadm;
new TempoRelatoAdm;
KillTimer(TempoRelatoAdm);
Код:
if(strcmp(cmd, "/relato", true) == 0 || strcmp(cmd, "/relatorio", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
return true;
}
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 true;
}
if(prelatoadm == 1)
{
SendClientMessage(playerid,COLOR_GRAD2,"Vocк tem que esperar 10 Segundos para enviar outro relatуrio!");
return 1;
}
if(PlayerInfo[playerid][pJailed] == 2)
{
SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode mandar relatorio no Carandiru!");
return true;
}
if(PlayerInfo[playerid][pVIP] == 1)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio VIP de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorios VIP foi enviado aos admins, Aguarde uma resposta..");
prelatoadm = 1;
TempoRelatoAdm = SetTimer("RelatoAdm", 10000, 0);
}
else if(PlayerInfo[playerid][pVIP] == 2)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio SUPER VIP de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorio S-VIP foi enviado aos admins, Aguarde uma resposta..");
prelatoadm = 1;
TempoRelatoAdm = SetTimer("RelatoAdm", 10000, 0);
}
else
{
format(string, sizeof(string), "Relatorio de %s(%d): %s ", sendername, playerid, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_YELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Seu relatуrio foi enviado aos admins, aguarde uma resposta...");
prelatoadm = 1;
TempoRelatoAdm = SetTimer("RelatoAdm", 10000, 0);
}
}
return true;
}
Re: Ant-flood -
zSuYaNw - 26.10.2012
pawn Код:
if(!strcmp(cmd, "/relatorio", true) || !strcmp(cmd, "/relatorio", true))
{
if(gPlayerLogged[playerid] == 0)
return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб logado!");
if(IsPlayerFlooding(playerid, 5)){
return SendClientMessage(playerid, -1,"SPAMM (5s)");
}
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))
return SendClientMessage(playerid, COLOR_GRAD2, "USE: /relatorio [texto]");
if(PlayerInfo[playerid][pVIP] == 1)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio VIP de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorios VIP foi enviado aos admins..");
}
else if(PlayerInfo[playerid][pVIP] == 2)
{
new lol;
lol = PlayerInfo[playerid][pVIP];
format(string, sizeof(string), "Relatorio VIP-POWER de %s - ID[%d]: %s ", sendername, playerid, lol, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_LIGHTBLUE,string,1);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Seu relatorio VIP-POWER foi enviado aos admins..");
}
else
{
format(string, sizeof(string), "Relatorio de %s(%d): %s ", sendername, playerid, (result));
//HelperBroadCast(COLOR_YELLOW,string,1);
ABroadCast(COLOR_YELLOW,string,1);
SendClientMessage(playerid, COLOR_YELLOW, "Seu relatorio foi enviado aos admins..");
}
}
return true;
}
Final:
PHP код:
stock IsPlayerFlooding(p, time){
static
getMessageTime [ MAX_PLAYERS char ]
;
if ( getMessageTime { p } != 0 ) {
if ( ( gettime() - getMessageTime { p } ) < time ){
getMessageTime { p } = gettime ( ) ;
return !false ;
}
}
getMessageTime { p } = gettime ( ) ;
return !true ;
}