Всем привет,я вёл разработку - Freedom Project | Protection ,но теперь у меня нет желания довести её до ума,вот и решил поделиться античитом на Air транспорт/пешка,телепорт транспорт/пешка,тп по метке транспорт/пешка.

Ну а теперь переходим к вшивке:

К #define
PHP код:
#define SetPlayerPos FP_SetPlayerPos
#define SetVehiclePos FP_SetVehiclePos
#define PutPlayerInVehicle FP_PutPlayerInVehicle
#define SetPlayerPosFindZ FP_SetPlayerPosFindZ
#define Kick.(%0) SetTimerEx("OnPlayerKick",100,false,"i",%0) 
К new
PHP код:
new FP_I_SVP;
new 
FP_MAX_SVP;
new 
Float:FP_Air_Player[MAX_PLAYERS][3];
new 
FP_Air_Time[MAX_PLAYERS];
new 
Float:FP_Air_Car[MAX_PLAYERS][3];
new 
Float:FP_Velocity_Air_Car[MAX_PLAYERS][3];
new 
FP_Air_Time_Car[MAX_PLAYERS]; 
К forward
PHP код:
forward OnPlayerKick(playerid); 
В OnPlayerConnect
PHP код:
    FP_Air_Time[playerid]=0;
    
FP_Air_Time_Car[playerid]=0
В OnPlayerSpawn
PHP код:
    SetPVarInt(playerid,"FP_Protection",1);
    
Air_Gettime(playerid,4); 
В OnPlayerDeath
PHP код:
    Air_Gettime(playerid,4); 
В OnPlayerStateChange
PHP код:
    Air_Gettime(playerid,4); 
В Update или секундный таймер
PHP код:
    if(!IsPlayerNPC(playerid)&&GetPVarInt(playerid,"FP_Protection")==1){
        if(!
IsPlayerInAnyVehicle(playerid)){
            if(
gettime()>FP_Air_Time[playerid]){
                if(
GetPlayerDistanceFromPoint(playerid,FP_Air_Player[playerid][0],FP_Air_Player[playerid][1],FP_Air_Player[playerid][2])>70){
                    if(!
TunningGarages(playerid)&&GetPlayerState(playerid)!=PLAYER_STATE_SPECTATING){
                        
SendClientMessage(playerid,0xFFFFFFff,"Тебя спалили на Air|Тп|Тп по метке [Пешком] и ты был кикнут");
                        
Kick.(playerid);
                    }
                }
            }
            
Air_Get_Pos(playerid);
        }
    } 
В Update или секундный таймер

PHP код:
    if(!IsPlayerNPC(playerid)&&GetPVarInt(playerid,"FP_Protection")==1){
        if(
IsPlayerInAnyVehicle(playerid)){
            if(
gettime()>FP_Air_Time_Car[playerid]){
                
GetVehicleVelocity(GetPlayerVehicleID(playerid),FP_Velocity_Air_Car[playerid][0],FP_Velocity_Air_Car[playerid][1],FP_Velocity_Air_Car[playerid][2]);
                if(
GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid),FP_Air_Car[playerid][0],FP_Air_Car[playerid][1],FP_Air_Car[playerid][2])>100&&floatround(floatsqroot(FP_Velocity_Air_Car[playerid][0]*FP_Velocity_Air_Car[playerid][0]+FP_Velocity_Air_Car[playerid][1]*FP_Velocity_Air_Car[playerid][1]+FP_Velocity_Air_Car[playerid][2]*FP_Velocity_Air_Car[playerid][2])*200.0)==0.0){
                    if(!
TunningGarages(playerid)&&GetPlayerState(playerid)!=PLAYER_STATE_SPECTATING){
                        
SendClientMessage(playerid,0xFFFFFFff,"Тебя спалили на Air|Тп|Тп по метке [В транспорте] и ты был кикнут");
                        
Kick.(playerid);
                    }
                }
            }
            
Air_Get_Pos(playerid);
        }
    } 
В конец мода
PHP код:
public OnPlayerKick(playerid)
{
    
Kick(playerid);
}


stock Air_Get_Pos(playerid)
{
    if(!
IsPlayerInAnyVehicle(playerid))GetPlayerPos(playerid,FP_Air_Player[playerid][0],FP_Air_Player[playerid][1],FP_Air_Player[playerid][2]);
    else 
GetVehiclePos(GetPlayerVehicleID(playerid),FP_Air_Car[playerid][0],FP_Air_Car[playerid][1],FP_Air_Car[playerid][2]);
}

stock Air_Gettime(playerid,extra)
{
    if(!
IsPlayerInAnyVehicle(playerid))FP_Air_Time[playerid]=gettime()+extra;
    else 
FP_Air_Time_Car[playerid]=gettime()+extra;
}

stock FP_SetPlayerPos(playerid,Float:x,Float:y,Float:z)
{
    
SetPlayerPos(playerid,x,y,z);
    
Air_Get_Pos(playerid);
    
Air_Gettime(playerid,4);
    return 
1;
}

stock FP_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
{
    
SetVehiclePos(vehicleid,x,y,z);
    for(
FP_I_SVP=0,FP_MAX_SVP=GetMaxPlayers();FP_I_SVP!=FP_MAX_SVP;FP_I_SVP++){
        if(
GetPlayerVehicleID(FP_I_SVP)==vehicleid){
            
Air_Get_Pos(FP_I_SVP);
            
Air_Gettime(FP_I_SVP,4);
        }
    }
    return 
1;
}

stock FP_PutPlayerInVehicle(playerid,vehicleid,seatid)
{
    
PutPlayerInVehicle(playerid,vehicleid,seatid);
    
Air_Get_Pos(playerid);
    
Air_Gettime(playerid,4);
    return 
1;
}

stock FP_SetPlayerPosFindZ(playerid,Float:x,Float:y,Float:z)
{
    
SetPlayerPosFindZ(playerid,x,y,z);
    
Air_Get_Pos(playerid);
    
Air_Gettime(playerid,4);
    return 
1;
}

stock TunningGarages(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,20.0,2065.3801,-1832.5280,13.68)||IsPlayerInRangeOfPoint(playerid,20.0,-99.7154,1117.5011,19.88)||IsPlayerInRangeOfPoint(playerid,20.0,719.8336,-456.7990,16.47)||IsPlayerInRangeOfPoint(playerid,20.0,-1420.4562,2583.2180,55.98)||IsPlayerInRangeOfPoint(playerid,20.0,-2424.8093,1021.1127,50.53)||IsPlayerInRangeOfPoint(playerid,20.0,1975.0587,2161.9456,11.21)||
    
IsPlayerInRangeOfPoint(playerid,20.0,487.9699,-1741.5265,11.28)||IsPlayerInRangeOfPoint(playerid,20.0,1025.7683,-1023.8249,32.24)||IsPlayerInRangeOfPoint(playerid,20.0,-1904.9709,285.8506,41.18)||IsPlayerInRangeOfPoint(playerid,20.0,615.2845,-124.2390,997.7112)||IsPlayerInRangeOfPoint(playerid,20.0,616.7787,-74.8150,997.6274)||IsPlayerInRangeOfPoint(playerid,20.0,617.5302,-1.9900,1001.06))return true;
    return 
false;


Разработчик:
- Tracer (Freedom Project)



При копировании материала в другие источники указывайте настоящего разработчика!