АФК система

Description: Уроки по скриптингу
Moderator: SJplayer

Sprite M
Topic author, Сержант
Сержант
Avatar
Sprite M
Topic author, Сержант
Сержант
Reputation: 26
Posts: 70
Joined: 5 Jun 2013
With us: 6 years

#1by Sprite » 12 Nov 2014, 14:34

над pInfo

Code: Select all

enum pAFKInfo
{
     
bool:pIsAFK,
    
pAFK,
    
pDarkAFK
}
new 
pAFKSystem[MAX_PLAYERS][pAFKInfo]; 


В любой 1-секундный таймер к примеру OnPlayerUpdateTimer (Только не OnPlayerUpdate!)

Code: Select all

    pAFKSystem[i][pAFK] ++;
        if(
pAFKSystem[i][pAFK] >= 3)
        {
            new 
mes[128];
            
format(mes,sizeof(mes),"Игрок на паузе: %d секунд.",Converts(pAFKSystem[i][pAFK]));
            
SetPlayerChatBubble(imes0xFFFF00FF19.01500);
            
pAFKSystem[i][pIsAFK] = true;
        }
        if(
pAFKSystem[i][pIsAFK])
        {
             
pAFKSystem[i][pIsAFK] = false;
        } 


Добавляем stock для высчитывание времени АФК:

Code: Select all

stock Converts(number)
{
    new 
hours 0mins 0secs 0string[30];
    
hours floatround(number 3600);
    
mins floatround((number 60) - (hours 60));
    
secs floatround(number - ((hours 3600) + (mins 60)));
    if(
hours 0)
    {
        
format(string30"%d:%02d:%02d"hoursminssecs);
    }
    else
    {
        
format(string30"%d:%02d"minssecs);
    }
    return 
string;


А теперь в OnPlayerUpdate

Code: Select all

pAFKSystem[playerid][pAFK] = 0


В OnPlayerConnect

Code: Select all

pAFKSystem[playerid][pIsAFK] = false;
pAFKSystem[playerid][pAFK] = 0

! ! !


  • Similar Topics
    Replies
    Views
    Last post

Return to “Уроки”