Анти Телепорт

Moderator: SJplayer

SJplayer M
Topic author, Модератор
Модератор
Avatar
SJplayer M
Topic author, Модератор
Модератор
Posts: 196
Joined: 25 May 2013
With us: 11 years 4 months

#1by SJplayer » 1 Jun 2013, 21:22

Анти Телепорт
Автор: Leonardo_Gun

Анти Телепорт кикает после 5 секунд . Можно было поставить после 1 но могут быть ложные срабатывания.

Ко всем new:

Code: Select all

new LastCheck[MAX_PLAYERS];
new 
IsPlayerAirBreaking[MAX_PLAYERS]; 


Ко всем forward:

Code: Select all

forward AntiAirBreak();  


Добавим в public OnGameModeInit() (После скобки):

Code: Select all

SetTimer("AntiAirBreak",100,true); // Можно заменить таймер до кика 100  


И в конец мода добавим public AntiAirBreak():

Code: Select all

public AntiAirBreak()
{
    new 
Float:x,Float:y,Float:z;
    new 
pstate;
    new 
string[256];
    for(new 
i=0;i<GetMaxPlayers();i++)
    {
        if(!
IsPlayerNPC(i) && FullyConnected[i] && GetPlayerPos(i,x,y,z))
        {
            
pstate=GetPlayerState(i);
            if(
pstate==PLAYER_STATE_ONFOOT || (pstate==PLAYER_STATE_DRIVER && GetPlayerSpeed(i,true)<10))
            {
                new var=(
floatround(floatsqroot(GetSquareDistance(x,y,z,CurrentPos[i][0],CurrentPos[i][1],CurrentPos[i][2]))*3600)/(GetTickCount()-LastCheck[i]));
                if(var>=
320 && var<=10000// Минимал 320 макс 10000
                 
{
                    
IsPlayerAirBreaking[i] = 1;
                    
format(string,256,"CEPBEP:{FF00FF} %s[%d] {00FF00}was kicked, reason: {FFFFFF}AirBag",PlayerName(i),i);
                    
SendClientMessageToAll(COLOR_REDstring);
                
Kick(i);
                }
            }
        }
        
CurrentPos[i][0]=x;
        
CurrentPos[i][1]=y;
        
CurrentPos[i][2]=z;
        
LastCheck[i]=GetTickCount();
    }
    return 
1;
}  


Return to “Античиты”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest