[Ajuda] Timer nгo reinicia
#1

Estou com um problema, ele funciona assim:

Quando o player estб com o FPS menor que 30, ele envie mensagens com avisos, e ao chegar ao 10 aviso, e o fps nгo estiver "ajeitado" ele й kickado.

Estб funcionando perfeitamente, porem quando o player arruma o fps por exemplo no 5 aviso, e apуs se o fps cair novamente, os avisos continuam da onde pararam.
Poderiam me ajudar com isso?

Code abaixo:

pawn Код:
forward checarfps(playerid);
public checarfps(playerid)
{
 if(IsPlayerConnected(playerid)) {if(IsPlayerSpawned(playerid)){
 new FPS = GetPlayerFPS(playerid);
 if(FPS < 30)
 {
  if(pnetcheck[playerid] == 0){
  kickporfps[playerid]++;
  new str[128];
  format(str,sizeof(str),"{BABABA}WARNING: FPS BAIXO {FFFFFF}({BABABA}%i{FFFFFF}/{BABABA}10)",kickporfps[playerid]);
  SendClientMessage(playerid,0xFFFFFFFF,str);
  if(kickporfps[playerid] >= 11){
  kickporfps[playerid] = 1;
  new strr[128];
  format(strr,sizeof(strr),"{BABABA}%s {FFFFFF}foi kickado {BABABA}(FPS %i)",GetName(playerid),FPS);
  SendClientMessageToAll(0xFFFFFFFF,strr);
  Kick(playerid);
  if(FPS > 30){
  kickporfps[playerid] = 0;
  }}}}}}
 return 1;
}
Reply
#2

Esta assim?
PHP код:
SetTimer("chacarfps"1000true); 
Esta true para o SetTimer ser atualizado a cada milйsimos de segundo?

@EDIT
Vocк estб usando SetTimer ou SetTimerEx?
Reply
#3

Sim..
Reply
#4

Tente assim, se o codigo estiver mal indentado ou com erros desculpe-me pois estou no celular:
@EDIT Tava com erros!
PHP код:
forward checarfps(playerid);
public 
checarfps(playerid)
{
 if(
IsPlayerConnected(playerid))
 {
 if(
IsPlayerSpawned(playerid))
 {
 new 
FPS GetPlayerFPS(playerid);
 if(
FPS 30)
 {
  if(
pnetcheck[playerid] == 0)
  {
  
kickporfps[playerid]++;
  new 
str[128];
  
format(str,sizeof(str),"{BABABA}WARNING: FPS BAIXO {FFFFFF}({BABABA}%i{FFFFFF}/{BABABA}10)",kickporfps[playerid]);
  
SendClientMessage(playerid,0xFFFFFFFF,str);
  }
  if(
kickporfps[playerid] >= 11)
  {
  
kickporfps[playerid] = 1;
  new 
strr[128];
  
format(strr,sizeof(strr),"{BABABA}%s {FFFFFF}foi kickado {BABABA}(FPS %i)",GetName(playerid),FPS);
  
SendClientMessageToAll(0xFFFFFFFF,strr);
  
Kick(playerid);
  }
 }
 }
 }
 if(
FPS 30)
 {
  
kickporfps[playerid] = 0;
 }
 return 
1;

Reply
#5

Ai cara, deu certo, brigadгo!
Reply
#6

Disponha!
Reply
#7

Pode ser que vocк esteja sozinho e nгo apresente "bugs" mas, pra resolver isso й sу usar SetTimerEx.

PHP код:
SetTimerEx("checarfps"1000true"i"playerid); 
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)