AFK над головой (во время esc)

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

Layk M
Topic author, Прапорщик
Прапорщик
Avatar
Layk M
Topic author, Прапорщик
Прапорщик
Reputation: 19
Posts: 163
Joined: 4 Jun 2013
With us: 6 years 1 month

#1by Layk » 22 Jan 2015, 19:55

Автор: Johny

ко всем define

Code: Select all

#define GivePVarInt(%0,%1,%2) \
SetPVarInt(%0,%1,(GetPVarInt(%0,%1) + %2))
#define MAX_AFK 500 // секунд до кика   


в OnGameModeInit

Code: Select all

SetTimer("AFKSystem"10001); //Создаем таймер   


в OnPlayerUpdate

Code: Select all

SetPVarInt(playerid"AFKTime", -2); // если игрок не в AFK переменная будет ровняться -2   


в конец мода

Code: Select all

forward AFKSystem();
public 
AFKSystem()
{
    for(new 
ii<GetMaxPlayers(); i++) //Запускаем цикл на всех игроков
        
{
            if(
IsPlayerConnected(i)) 
                {
                    if(
GetPVarInt(i"AFKTime") == -|| GetPVarInt(i"AFKTime") == -2GivePVarInt(i"AFKTime"1); 
                    if(
GetPVarInt(i"AFKTime") >= 0)
                        {
                            
GivePVarInt(i"AFKTime"1);
                            new 
str[32];
                            
format(str,32,"[AFK]: %d сек.",GetPVarInt(i"AFKTime"));
                            
SetPlayerChatBubble(i,str,0x06A500FF,10.0,3000);
                            if(
GetPVarInt(i"AFKTime") > MAX_AFK)
                                {
                                    
SendClientMessage(i0xFF0000FF"Вы были кикнуты за AFK (" #MAX_AFK " секунд)");
                                    
Kick(i);
                                }
                        }
                }
        }
            
return 
1;
}   
Image

! ! !


  • Similar Topics
    Replies
    Views
    Last post

Return to “Уроки”