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

Говорю сразу,принцип работы античита,поймать транспорт на подъёме в высоту,без больших изменений координат X и Y .

Минус античита - нету проверок на верталёты,т.к при взлёте будут ложные,я думаю вы это сами сделаете.

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

К #define
PHP код:
#define Kick.(%0) SetTimerEx("OnPlayerKick",100,false,"i",%0) 
К new
PHP код:
new Float:FP_Coord_FC[MAX_PLAYERS][3];
new 
Float:FP_Coord_FCC[MAX_PLAYERS][3];
new 
Float:FP_Velocity_Fly_Car[MAX_PLAYERS]; 
К forward
PHP код:
forward OnPlayerKick(playerid); 
В OnPlayerSpawn
PHP код:
    SetPVarInt(playerid,"FP_Protection",1); 
Строго в таймер 500мс,т.к данная величина рассчитана под 500мс.

PHP код:
    if(!IsPlayerNPC(playerid)&&GetPVarInt(playerid,"FP_Protection")==1){
        if(
IsPlayerInAnyVehicle(playerid)&&GetPlayerState(playerid)==PLAYER_STATE_DRIVER){
            
GetVehiclePos(GetPlayerVehicleID(playerid),FP_Coord_FC[playerid][0],FP_Coord_FC[playerid][1],FP_Coord_FC[playerid][2]);
            if(
FP_Coord_FCC[playerid][0]<=(FP_Coord_FC[playerid][0]+1.5)&&FP_Coord_FCC[playerid][0]>=(FP_Coord_FC[playerid][0]-1.5)&&FP_Coord_FCC[playerid][1]<=(FP_Coord_FC[playerid][1]+1.5)&&FP_Coord_FCC[playerid][1]>=(FP_Coord_FC[playerid][1]-1.5)&&FP_Coord_FCC[playerid][2]<=(FP_Coord_FC[playerid][2]+1.5)){
                
GetVehicleVelocity(GetPlayerVehicleID(playerid),FP_Velocity_Fly_Car[playerid],FP_Velocity_Fly_Car[playerid],FP_Velocity_Fly_Car[playerid]);
                if(
FP_Velocity_Fly_Car[playerid]>=0.07){
                    if(!
NotFlyingHack(playerid)&&GetPlayerState(playerid)!=PLAYER_STATE_SPECTATING){
                    
SendClientMessage(playerid,0xFFFFFFff,"Тебя спалили на Fly в транспорте и ты был кикнут");
                    
Kick.(playerid);
                    }
                }
            }
            
FP_Coord_FCC[playerid][0]=FP_Coord_FC[playerid][0];
            
FP_Coord_FCC[playerid][1]=FP_Coord_FC[playerid][1];
            
FP_Coord_FCC[playerid][2]=FP_Coord_FC[playerid][2];
        }
    } 
В конец мода

PHP код:
public OnPlayerKick(playerid)
{
    
Kick(playerid);
}
stock NotFlyingHack(playerid)
{
    if(
IsPlayerInRangeOfPoint(playerid,20.0,1968.3948,-1198.0753,17.4500)||IsPlayerInRangeOfPoint(playerid,20.0,2310.9861,-1412.8881,21.6151)||IsPlayerInRangeOfPoint(playerid,20.0,1241.1094,-2379.7263,8.3145)||IsPlayerInRangeOfPoint(playerid,20.0,225.6394,-1187.0551,73.4500)||IsPlayerInRangeOfPoint(playerid,20.0,193.2040,-1224.7693,76.5034)||IsPlayerInRangeOfPoint(playerid,20.0,196.0067,-1232.3684,76.5034)||
    
IsPlayerInRangeOfPoint(playerid,20.0,512.7349,-1104.1942,78.8238)||IsPlayerInRangeOfPoint(playerid,20.0,1283.7939,-806.5845,86.1230)||IsPlayerInRangeOfPoint(playerid,20.0,2531.6001,1568.4032,8.4171)||IsPlayerInRangeOfPoint(playerid,60.0,2105.2651,1916.6781,9.5989)||IsPlayerInRangeOfPoint(playerid,150.0,-792.4582,2173.0356,40.0821)||IsPlayerInRangeOfPoint(playerid,150.0,1993.5868,1601.2623,9.2979))return true;
    return 
false;

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



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