[FilterScript] Sistema de afk por tempo
#3

SetTimer global desnecessario , vocк criou uma stock para getar o nome dos jogadores e mesmo assim em alguns pontos com loop vocк criou outra variavel para getar o nome .
PHP код:
pInfo[playerid][tempoafk] = false
Acho que vocк nem compilou , acho que isto vai dar um aviso ao compilar .

Mas e tentando que se aprende , boa .

Nгo testei talvez tenha algum erro , estou sem os programas no pc para testar mas pode ser uma base para vocк poder melhorar .
PHP код:
#include          a_samp
#include          zcmd
enum   pafk {
       
Timer,
       
Tempo,
       
bool:AFK
}
new 
SistemaAFK[MAX_PLAYERS][pafk];
public 
OnFilterScriptInit()
{
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
SistemaAFK[playerid][Tempo] = 0;
    
SistemaAFK[playerid][AFK] = false;
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
SistemaAFK[playerid][Tempo] = 0;
    
SistemaAFK[playerid][AFK] = false;
    return 
1;
}
public 
OnPlayerCommandPerformed(playeridcmdtext[], success)
{
    if(
success){
        if(
SistemaAFK[playerid][AFK] == true)return SendClientMessage(playerid, -1"Senhor esta ausente.");}
    return 
true;
}
command(afkplayeridparams[])
{
    if(
SistemaAFK[playerid][AFK] == false)
    {
        
TogglePlayerControllable(playeridfalse);
        
        
SendClientMessage(playerid, -1"Use: /afk, para sair do modo ausente");
        
        
SistemaAFK[playerid][AFK] = true;
        
        
SistemaAFK[playerid][Timer] =  SetTimerEx("CheckAFK"1000true"i"playerid);
    }
    else
    {
        
TogglePlayerControllable(playeridtrue);
        
SendClientMessage(playerid, -1"Use: /afk, para entrar no modo ausente");
        
SistemaAFK[playerid][AFK] = false;
        
        
KillTimer(SistemaAFK[playerid][Timer]);
    }
    return 
true;
}
command(listaplayeridparams[])
{
   new 
pimbando[128];
   for (new 
ds;ds <MAX_PLAYERSds++)
   {
       if(
SistemaAFK[ds][AFK] == true)
       {
           
format(pimbandosizeof(pimbando), "%s O jogador %s estб ausente por: [%s]\n"pimbandoDonPegaNome(ds), Convert(SistemaAFK[ds][Tempo]));
       }
   }
   if (
strlen(pimbando) > 0)
        
ShowPlayerDialog(playerid99DIALOG_STYLE_MSGBOX"Jogadores ausentes:"pimbando"FECHAR"#);
    
else
        
SendClientMessage(playerid0xFF0000FF"{FF0000}Nгo hб jogadores ausentes.");
   return 
true;
}
forward CheckAFK(playerid);
public 
CheckAFK(playerid)return SistemaAFK[playerid][Tempo]++;
stock DonPegaNome(playerid)
{
    new 
name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;
}
stock Convert(number)
{
    new 
hours 0mins 0secs 0string[100];
    
hours floatround(number 3600);
    
mins floatround((number 60) - (hours 60));
    
secs floatround(number - ((hours 3600) + (mins 60)));
    new 
days 0;
    if(
hours >= 24)
    {
        
days floatround((hours/24), floatround_floor);
        
hours hours 24;
    }
    if(
days 0)
    {
        
format(string100"%ddias, %dh %dm e %ds"dayshoursminssecs);
    }
    else if(
hours 0)
    {
        
format(string100"%dh %dm e %ds"hoursminssecs);
    }
    else
    {
        
format(string100"%dm e %ds"minssecs);
    }
    return 
string;

Reply


Messages In This Thread
Sistema de afk por tempo - by Gguiz - 02.11.2017, 04:20
Re: Sistema de afk por tempo - by RogerX - 02.11.2017, 10:27
Re: Sistema de afk por tempo - by Don_Speed - 02.11.2017, 11:15
Re: Sistema de afk por tempo - by Naine - 02.11.2017, 12:04
Re: Sistema de afk por tempo - by ScripitrFaunu - 02.11.2017, 13:20
Re: Sistema de afk por tempo - by Gguiz - 02.11.2017, 15:47
Re: Sistema de afk por tempo - by Benner - 02.11.2017, 18:38
Re: Sistema de afk por tempo - by Gguiz - 02.11.2017, 18:45
Re: Sistema de afk por tempo - by Benner - 02.11.2017, 18:48
Re: Sistema de afk por tempo - by CezarBR - 02.11.2017, 21:45

Forum Jump:


Users browsing this thread: 1 Guest(s)