[Ajuda] Ja utilizou ELC anti cheat? manja de pawno? Da um help ai
#1

Bom galera eu tentei criar um anti cheat no GM mais nгo deu muito certo entгo procurei por um bom anti cheat e me recomendaram o ELC mas tem alguns probleminhas com ele e queria se alguem soubece,uma forma de ou injetar esse anti cheat no meu GM ou entгo fazer aparecer uma mensagem avisando que o cara ta usando hack pq eu tentei e nгo deu mt certo...

pra evitar enrolaзгo aki add meu Msn:
sonicfreestyle@hotmail.com
Reply
#2

Manjar de Pawno? o.O

Tente usar o Anti-Cheat criado pelo Bruno e pelo Paulo.
Reply
#3

@Topic Esta ja e a propria area, para resolver problemas relacionados a pawn.
Poste os scripts para analizar o cуdigo.

@Regras й proibida a divulgaзгo de e-mail/links. Use uma mensagem privada, Ou a sua assinatura para colocar o seu e-mail

Espero ter ajudado...
Reply
#4

bom o fs eh o seguinte:

pawn Code:
#include <a_samp>
/*----------------------------------------------------------------------------*/
//Anti-Cheat Statut defaut :
#define ANTI_WEAPON_&_AMMO_HACK     1
#define ANTI_AMMO_BLOCK_HACK        1
#define ANTI_MONEY_HACK             1
#define ANTI_SPEED_HACK             1
#define ANTI_TELEPORT/AIBREAK_HACK  1
#define ANTI_HEALTH_HACK            0//Not fix
#define ANTI_ARMOUR_HACK            0//Not fix
//Configuration :
#define MAX_SPEED_VEHICLE                   380.0 // SPEED VEHICLE MAX(380=default)
#define MAX_VEHICLE_DISTANCE_PER_SECOND     180   // DISTANCE PARCOUR MAX VEHICLE PER SECOND(180=default)
#define MAX_PED_DISTANCE_PER_SECOND         100   // DISTANCE PARCOUR MAX AT PED PER SECOND(100=default)
#define SPRINT_SPEED                        30.0  // (30=DEFAULT/BETA)
#define TIRE_RATE                           2000  // (2000=default)
#define TIMER_CHEAT_RATE                    3500
#define TIME_GRANULITY                      50    // Granulity GetTickCount
#define DELAY_LOAD_AFTER_SPAWN              5000
#define MAX_DELAY_SEND_STATS                2000
#define MAX_DELAY_WAIT_AFTER_SPAWN          3000
#define MAX_HEALTH                          100   // Max HEALTH
#define MAX_ARMOUR                          100   // Max ARMOUR
#define MAX_VEHICLE_DISTANCE_UCM            10.0//MAX_VEHICLE_DISTANCE_UNOCCUPIED_CAN_MOVE
//STATUS MODE :
//#define NO_TICK_COUNT  //uncomment If GetTickCount() bug(linux?)
//#define INCLUDE_BASE_MODE //uncomment to pass in mod include
#define MODE_DELAY_SEND_STATS //uncomment if the sending of stats is a bit slow(RECOMMANDED)
//Calcul(DON'T TOUCH)----------------------------------------------------------
#define XMAX_VEHICLE_DISTANCE_PER_SECOND MAX_VEHICLE_DISTANCE_PER_SECOND*(TIMER_CHEAT_RATE/1000)
#define XMAX_PED_DISTANCE_PER_SECOND MAX_PED_DISTANCE_PER_SECOND*(TIMER_CHEAT_RATE/1000)
#define SaveTime(%0,%1) %0=%1
#define IsPassTime(%0,%1) ((MAX_DELAY_SEND_STATS+%0)<%1)//Time Action ,Time Now
#define IsPlayerCheatPos(%0) (!IsPlayerInRangeOfPoint(%0,XMAX_VEHICLE_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][aX],CheatPlayerInfo[%0][aY],CheatPlayerInfo[%0][aZ]))||((GetPlayerSurfingVehicleID(%0)==INVALID_VEHICLE_ID && !IsPlayerInAnyVehicle(%0)) && !IsPlayerInRangeOfPoint(%0,XMAX_PED_DISTANCE_PER_SECOND,CheatPlayerInfo[%0][aX],CheatPlayerInfo[%0][aY],CheatPlayerInfo[%0][aZ]))
#define ELC_AC_IsCreatedVehicle(%0) (GetVehicleModel(%0)!=0)
/*----------------------------------------------------------------------------*/
enum aELCp
{
    aMoney,
    aAmmo[13],
    aWeapon[13],
    aTickFire,
    aAmmoFire,
    aWeaponFire,
    Float:aHealth,
    Float:aGainHealth,
    Float:aArmour,
    aTimer,
    Float:aX,
    Float:aY,
    Float:aZ,
    aAntiTeleportHack,
    aAntiWeaponHack,
    aAntiAmmoBlockHack,
    aAntiMoneyHack,
    aAntiSpeedHack,
    aAntiHealthHack,
    aAntiArmourHack,
#if defined MODE_DELAY_SEND_STATS
    aGiveWeaponTime,
    aGiveMoneyTime,
    aGiveHealthTime,
    aGiveArmourTime,
#endif
    aSetPositionTime,
    aPlayerEnterTime,
    aPossibleVehicleHack
};
new CheatPlayerInfo[MAX_PLAYERS][aELCp];
enum aELCv
{
    Float:vHealth,
    Float:vX,
    Float:vY,
    Float:vZ,
    Float:vAngle,
    vSetPositionTime,
    vPossiblePlayerHack,
    vPossibleHackTime
};
new CheatVehicleInfo[MAX_VEHICLES][aELCv];
#if defined NO_TICK_COUNT
enum aELCs
{
    TickCount,
    TimerTick
};
new CheatServerInfo[aELCs];
#endif
/*stock SENDPOS(playerid)
{
    new Float:Px[3],Ps[128];
    GetPlayerPos(playerid,Px[0],Px[1],Px[2]);
    format(Ps, 128,"ACUTEL : %f,%f,%f | AVANT : %f,%f,%f",Px[0],Px[1],Px[2],CheatPlayerInfo[playerid][aX],CheatPlayerInfo[playerid][aY],CheatPlayerInfo[playerid][aZ]);
    SendClientMessageToAll(0xBD0000FF,Ps);
}*/

/*----------------------------------------------------------------------------*/
stock Float:GetPlayerSpeedXY(playerid)
{
new Float:SpeedX, Float:SpeedY, Float:SpeedZ;
new Float:Speed;
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid), SpeedX, SpeedY, SpeedZ);
else GetPlayerVelocity(playerid, SpeedX, SpeedY, SpeedZ);
Speed = floatsqroot(floatadd(floatpower(SpeedX, 2.0), floatpower(SpeedY, 2.0)));
return floatmul(Speed, 200.0);
}
#if defined NO_TICK_COUNT
    #define GetTickCount()                          (CheatServerInfo[TickCount])
    forward TimeUpdate();
    public TimeUpdate()
    {
        CheatServerInfo[TickCount] +=TIME_GRANULITY;
        return 1;
    }
#endif
forward OnPlayerCheckCheat(playerid);
forward OnPlayerCheat(playerid, cheatid);
forward ELC_AC_EnablePlayerCheatID(playerid,cheatid,enable);
forward ELC_AC_OnPlayerBuy(playerid,buyprice);
forward OnPlayerCheckFaceWall(playerid,Float:wall_x,Float:wall_y,Float:wall_z,Float:nwall_x,Float:nwall_y,Float:wall_he);
forward RemovePlayerWeapon(playerid, weaponid);
/*----------------------------------------------------------------------------*/
forward ELC_AC_GivePlayerMoney(playerid, money);
public ELC_AC_GivePlayerMoney(playerid, money)
{
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==1)CheatPlayerInfo[playerid][aAntiMoneyHack]=2;
    CheatPlayerInfo[playerid][aMoney] += money;
    GivePlayerMoney(playerid, money);
    #if defined MODE_DELAY_SEND_STATS
    SaveTime(CheatPlayerInfo[playerid][aGiveMoneyTime],GetTickCount());
    #endif
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==2)CheatPlayerInfo[playerid][aAntiMoneyHack]=1;
    return 1;
}
stock initial_GivePlayerMoney(playerid, money)
{
    return GivePlayerMoney(playerid, money);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_GivePlayerMoney
    #undef GivePlayerMoney
#else
    #define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney ELC_AC_GivePlayerMoney
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
forward ELC_AC_ResetPlayerMoney(playerid);
public ELC_AC_ResetPlayerMoney(playerid)
{
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==1)CheatPlayerInfo[playerid][aAntiMoneyHack]=2;
    ResetPlayerMoney(playerid);
    CheatPlayerInfo[playerid][aMoney] = 0;
    #if defined MODE_DELAY_SEND_STATS
    SaveTime(CheatPlayerInfo[playerid][aGiveMoneyTime],GetTickCount());
    #endif
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==2)CheatPlayerInfo[playerid][aAntiMoneyHack]=1;
    return 1;
}
stock initial_ResetPlayerMoney(playerid)
{
    return ResetPlayerMoney(playerid);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_ResetPlayerMoney
    #undef ResetPlayerMoney
#else
    #define _ALS_ResetPlayerMoney
#endif
#define ResetPlayerMoney ELC_AC_ResetPlayerMoney
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
forward ELC_AC_GetPlayerMoney(playerid);
public ELC_AC_GetPlayerMoney(playerid)
{
    return CheatPlayerInfo[playerid][aMoney];
}
stock initial_GetPlayerMoney(playerid)
{
    return GetPlayerMoney(playerid);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_GetPlayerMoney
    #undef GetPlayerMoney
#else
    #define _ALS_GetPlayerMoney
#endif
#define GetPlayerMoney ELC_AC_GetPlayerMoney
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
forward ELC_AC_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz);
public ELC_AC_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz)
{
    if(CheatPlayerInfo[playerid][aAntiTeleportHack]==1)CheatPlayerInfo[playerid][aAntiTeleportHack]=2;
    CheatPlayerInfo[playerid][aPlayerEnterTime]+=221;
    SaveTime(CheatPlayerInfo[playerid][aSetPositionTime],GetTickCount());
    CheatPlayerInfo[playerid][aX]=ix; CheatPlayerInfo[playerid][aY]=iy; CheatPlayerInfo[playerid][aZ]=iz;
    SetPlayerPos(playerid, ix, iy, iz);
    if(CheatPlayerInfo[playerid][aAntiTeleportHack]==2)CheatPlayerInfo[playerid][aAntiTeleportHack]=1;
    return 1;
}
stock initial_SetPlayerPos(playerid, Float:ix, Float:iy, Float:iz)
{
    return SetPlayerPos(playerid, ix, iy, iz);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_SetPlayerPos
    #undef SetPlayerPos
#else
    #define _ALS_SetPlayerPos
#endif
#define SetPlayerPos ELC_AC_SetPlayerPos
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_PutPlayerInVehicle(playerid,vehicleid, seatid);
public ELC_AC_PutPlayerInVehicle(playerid,vehicleid, seatid)
{
    if(CheatPlayerInfo[playerid][aAntiTeleportHack]==1)CheatPlayerInfo[playerid][aAntiTeleportHack]=2;
    CheatPlayerInfo[playerid][aPlayerEnterTime]+=221;
    SaveTime(CheatPlayerInfo[playerid][aSetPositionTime],GetTickCount());
    PutPlayerInVehicle(playerid,vehicleid, seatid);
    if(CheatPlayerInfo[playerid][aAntiTeleportHack]==2)CheatPlayerInfo[playerid][aAntiTeleportHack]=1;
    return 1;
}
stock initial_PutPlayerInVehicle(playerid,vehicleid, seatid)
{
    return PutPlayerInVehicle(playerid,vehicleid, seatid);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_PutPlayerInVehicle
    #undef PutPlayerInVehicle
#else
    #define _ALS_PutPlayerInVehicle
#endif
#define PutPlayerInVehicle ELC_AC_PutPlayerInVehicle
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_RemovePlayerFromVehicle(playerid);
public ELC_AC_RemovePlayerFromVehicle(playerid)
{
    CheatPlayerInfo[playerid][aPlayerEnterTime]+=221;
    RemovePlayerFromVehicle(playerid);
    return 1;
}
stock initial_RemovePlayerFromVehicle(playerid)
{
    return RemovePlayerFromVehicle(playerid);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_RemovePlayerFromVehicle
    #undef RemovePlayerFromVehicle
#else
    #define _ALS_RemovePlayerFromVehicle
#endif
#define RemovePlayerFromVehicle ELC_AC_RemovePlayerFromVehicle
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_TogglePlayerSpectating(playerid, toggle);
public ELC_AC_TogglePlayerSpectating(playerid, toggle)
{
    if(toggle==1)
    {
        if(CheatPlayerInfo[playerid][aAntiSpeedHack]==0) CheatPlayerInfo[playerid][aAntiSpeedHack]=3;
        if(CheatPlayerInfo[playerid][aAntiTeleportHack]==0) CheatPlayerInfo[playerid][aAntiTeleportHack]=3;
    }
    else
    {
        if(CheatPlayerInfo[playerid][aAntiSpeedHack]==3) CheatPlayerInfo[playerid][aAntiSpeedHack]=1;
        if(CheatPlayerInfo[playerid][aAntiTeleportHack]==3)CheatPlayerInfo[playerid][aAntiTeleportHack]=1;
        SaveTime(CheatPlayerInfo[playerid][aSetPositionTime],GetTickCount());
    }
    return TogglePlayerSpectating(playerid, toggle);
}
stock initial_TogglePlayerSpectating(playerid, toggle)
{
    return TogglePlayerSpectating(playerid, toggle);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_TogglePlayerSpectating
    #undef TogglePlayerSpectating
#else
    #define _ALS_TogglePlayerSpectating
#endif
#define TogglePlayerSpectating ELC_AC_TogglePlayerSpectating
//ALS_OFF_SYSTEME ----------------
#endif
//Weapon------------------------------------------------------------------------
/*#define IsNotWeaponNoAmmo(%0) (%0!=0 && %0!=1 && %0!=10)
#define IsNotWeaponVise(%0,%1) (%0>1 && %0!=10 && %0!=6 && %0!=9 && %0!=11 && %0!=12 && %1!=35 && %1!=36 %1!=43)*/

stock IsNotWeaponNoAmmo(WeaponID)
{
    new slot=GetWeaponSlot(WeaponID);
    if(slot!=0 && slot!=1 && slot!=10)return 1;
    return 0;
}
stock IsNotWeaponVise(WeaponID)
{
    new slot=GetWeaponSlot(WeaponID);
    if(slot>1 && slot!=10 && slot!=6 && slot!=9 &&slot!=11 && slot!=12 && slot!=35 && slot!=36 && slot!=43) return 1;
    return 0;
}
stock IsGiveVehicleWeapon(WeaponID)
{
    if(WeaponID==25 || WeaponID==46 || WeaponID==2) return 1;
    return 0;
}
#define IsValidWeapon(%0) (%0>=1 && %0<=18 || %0>=21 && %0<=46)
stock GetWeaponSlot(weaponid)
{
    new slot=-1;
    switch(weaponid)
    {
        case 0,1: slot = 0;
        case 2 .. 9: slot = 1;
        case 10 .. 15: slot = 10;
        case 16 .. 18, 39: slot = 8;
        case 22 .. 24: slot =2;
        case 25 .. 27: slot = 3;
        case 28, 29, 32: slot = 4;
        case 30, 31: slot = 5;
        case 33, 34: slot = 6;
        case 35 .. 38: slot = 7;
        case 40: slot = 12;
        case 41 .. 43: slot = 9;
        case 44 .. 46: slot = 11;
    }
    return slot;
}
/*----------------------------------------------------------------------------*/
forward ELC_AC_GivePlayerWeapon(playerid,Weapon,ammo);
public ELC_AC_GivePlayerWeapon(playerid,Weapon,ammo)
{
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1)CheatPlayerInfo[playerid][aAntiWeaponHack]=2;
    new slot=GetWeaponSlot(Weapon);
    if(IsValidWeapon(Weapon) && slot!=-1)
    {
        CheatPlayerInfo[playerid][aWeapon][slot] = Weapon;
        CheatPlayerInfo[playerid][aAmmo][slot] += ammo;
        GivePlayerWeapon(playerid,Weapon,ammo);
        #if defined MODE_DELAY_SEND_STATS
        SaveTime(CheatPlayerInfo[playerid][aGiveWeaponTime],GetTickCount());
        #endif
    }
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==2)CheatPlayerInfo[playerid][aAntiWeaponHack]=1;
    return 1;
}
stock initial_GivePlayerWeapon(playerid,Weapon,ammo)
{
    return GivePlayerWeapon(playerid,Weapon,ammo);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_GivePlayerWeapon
    #undef GivePlayerWeapon
#else
    #define _ALS_GivePlayerWeapon
#endif
#define GivePlayerWeapon ELC_AC_GivePlayerWeapon
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_SetPlayerAmmo(playerid,weapon,ammo);
public ELC_AC_SetPlayerAmmo(playerid,weapon,ammo)
{
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1)CheatPlayerInfo[playerid][aAntiWeaponHack]=2;
    new slot=GetWeaponSlot(weapon);
    if(weapon>0 && 47>weapon && slot!=-1)
    {
        CheatPlayerInfo[playerid][aAmmo][slot]=ammo;
        SetPlayerAmmo(playerid,weapon,ammo);
        #if defined MODE_DELAY_SEND_STATS
        SaveTime(CheatPlayerInfo[playerid][aGiveWeaponTime],GetTickCount());
        #endif
    }
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==2)CheatPlayerInfo[playerid][aAntiWeaponHack]=1;
    return 1;
}
stock initial_SetPlayerAmmo(playerid,weapon,ammo)
{
    return SetPlayerAmmo(playerid,weapon,ammo);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_SetPlayerAmmo
    #undef SetPlayerAmmo
#else
    #define _ALS_SetPlayerAmmo
#endif
#define SetPlayerAmmo ELC_AC_SetPlayerAmmo
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_ResetPlayerWeapons(playerid);
public ELC_AC_ResetPlayerWeapons(playerid)
{
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1)CheatPlayerInfo[playerid][aAntiWeaponHack]=2;
    for(new i = 0; i <13; i++)
    {
        CheatPlayerInfo[playerid][aWeapon][i]=0;
        CheatPlayerInfo[playerid][aAmmo][i]=0;
    }
    ResetPlayerWeapons(playerid);
    #if defined MODE_DELAY_SEND_STATS
    SaveTime(CheatPlayerInfo[playerid][aGiveWeaponTime],GetTickCount());
    #endif
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==2)CheatPlayerInfo[playerid][aAntiWeaponHack]=1;
    return 1;
}
stock initial_ResetPlayerWeapons(playerid)
{
    return ResetPlayerWeapons(playerid);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_ResetPlayerWeapons
    #undef ResetPlayerWeapons
#else
    #define _ALS_ResetPlayerWeapons
#endif
#define ResetPlayerWeapons ELC_AC_ResetPlayerWeapons
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_SetPlayerHealth(playerid,Float:health);
public ELC_AC_SetPlayerHealth(playerid,Float:health)
{
    if(CheatPlayerInfo[playerid][aAntiHealthHack]==1)CheatPlayerInfo[playerid][aAntiHealthHack]=2;
    if(health>MAX_HEALTH)
    {
        CheatPlayerInfo[playerid][aHealth]=MAX_HEALTH;
        SetPlayerHealth(playerid,MAX_HEALTH);
    }
    else
    {
        CheatPlayerInfo[playerid][aHealth]=health;
        SetPlayerHealth(playerid,health);
    }
    #if defined MODE_DELAY_SEND_STATS
    SaveTime(CheatPlayerInfo[playerid][aGiveHealthTime],GetTickCount());
    #endif
    if(CheatPlayerInfo[playerid][aAntiHealthHack]==2)CheatPlayerInfo[playerid][aAntiHealthHack]=1;
    return 1;
}
stock initial_SetPlayerHealth(playerid,Float:health)
{
    return SetPlayerHealth(playerid,health);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_SetPlayerHealth
    #undef SetPlayerHealth
#else
    #define _ALS_SetPlayerHealth
#endif
#define SetPlayerHealth ELC_AC_SetPlayerHealth
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_SetPlayerArmour(playerid,Float:armour);
public ELC_AC_SetPlayerArmour(playerid,Float:armour)
{
    if(CheatPlayerInfo[playerid][aAntiArmourHack]==1)CheatPlayerInfo[playerid][aAntiArmourHack]=2;
    if(armour>MAX_ARMOUR)
    {
        CheatPlayerInfo[playerid][aArmour]=MAX_ARMOUR;
        SetPlayerArmour(playerid,MAX_ARMOUR);
    }
    else
    {
        CheatPlayerInfo[playerid][aArmour]=armour;
        SetPlayerArmour(playerid,armour);
    }
    #if defined MODE_DELAY_SEND_STATS
    SaveTime(CheatPlayerInfo[playerid][aGiveArmourTime],GetTickCount());
    #endif
    if(CheatPlayerInfo[playerid][aAntiArmourHack]==2)CheatPlayerInfo[playerid][aAntiArmourHack]=1;
    return 1;
}
stock initial_SetPlayerArmour(playerid,Float:armour)
{
    return SetPlayerArmour(playerid,armour);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_SetPlayerArmour
    #undef SetPlayerArmour
#else
    #define _ALS_SetPlayerArmour
#endif
#define SetPlayerArmour ELC_AC_SetPlayerArmour
//ALS_OFF_SYSTEME ----------------
#endif
/*----------------------------------------------------------------------------*/
forward ELC_AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z);
public ELC_AC_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
{
    CheatVehicleInfo[vehicleid][vX]=x;
    CheatVehicleInfo[vehicleid][vY]=y;
    CheatVehicleInfo[vehicleid][vZ]=z;
    SetVehiclePos(vehicleid,x,y,z);
    return 1;
}
stock initial_SetVehiclePos(vehicleid,Float:x,Float:y,Float:z)
{
    return SetVehiclePos(vehicleid,x,y,z);
}
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_SetVehiclePos
    #undef SetVehiclePos
#else
    #define _ALS_SetVehiclePos
#endif
#define SetVehiclePos ELC_AC_SetVehiclePos
//ALS_OFF_SYSTEME ----------------
#endif
//Core--------------------------------------------------------------------------
public OnPlayerCheckCheat(playerid)
{
    new IsTime=GetTickCount();
    #if defined MODE_DELAY_SEND_STATS
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==1 && IsPassTime(CheatPlayerInfo[playerid][aGiveMoneyTime],IsTime))
    #else
    if(CheatPlayerInfo[playerid][aAntiMoneyHack]==1)
    #endif
    {
        new elc_getmoney=initial_GetPlayerMoney(playerid);
        if(elc_getmoney!=CheatPlayerInfo[playerid][aMoney])
        {
            if (CheatPlayerInfo[playerid][aMoney] > elc_getmoney)
            {
                ELC_AC_OnPlayerBuy(playerid,CheatPlayerInfo[playerid][aMoney]-elc_getmoney);
                CheatPlayerInfo[playerid][aMoney]=elc_getmoney;
            }
            else
            {
                initial_ResetPlayerMoney(playerid);
                initial_GivePlayerMoney(playerid, CheatPlayerInfo[playerid][aMoney]);
                CallRemoteFunction("OnPlayerCheat", "dd", playerid,1);
            }
        }
    }
    if(CheatPlayerInfo[playerid][aAntiSpeedHack]==1)
    {
        if((GetPlayerSurfingVehicleID(playerid)!=INVALID_VEHICLE_ID || GetPlayerState(playerid) == PLAYER_STATE_DRIVER) && (GetPlayerSpeedXY(playerid) > MAX_SPEED_VEHICLE)) CallRemoteFunction("OnPlayerCheat", "dd", playerid,5);
    }
    if(CheatPlayerInfo[playerid][aAntiTeleportHack]==1)
    {
        #if defined MODE_DELAY_SEND_STATS
        if(CheatPlayerInfo[playerid][aSetPositionTime]!=0 && IsPassTime(CheatPlayerInfo[playerid][aSetPositionTime],IsTime))
        {
            CheatPlayerInfo[playerid][aSetPositionTime]=0;
            GetPlayerPos(playerid,CheatPlayerInfo[playerid][aX],CheatPlayerInfo[playerid][aY],CheatPlayerInfo[playerid][aZ]);
        }
        else if(IsPlayerCheatPos(playerid))
        #else
        if(IsPlayerCheatPos(playerid))
        #endif
        {
            CallRemoteFunction("OnPlayerCheat", "dd", playerid,6);
            GetPlayerPos(playerid,CheatPlayerInfo[playerid][aX],CheatPlayerInfo[playerid][aY],CheatPlayerInfo[playerid][aZ]);
        }
        else
        {
            GetPlayerPos(playerid,CheatPlayerInfo[playerid][aX],CheatPlayerInfo[playerid][aY],CheatPlayerInfo[playerid][aZ]);
        }
    }
    #if defined MODE_DELAY_SEND_STATS
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1 && IsPassTime(CheatPlayerInfo[playerid][aGiveWeaponTime],IsTime))
    #else
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1)
    #endif
    {
        //ANTI BLOCK MUNITIONS
        if(CheatPlayerInfo[playerid][aTickFire]!=0 && CheatPlayerInfo[playerid][aAntiAmmoBlockHack]==1)
        {
            if((IsTime-CheatPlayerInfo[playerid][aTickFire]) >= TIRE_RATE)
            {
                if(CheatPlayerInfo[playerid][aWeaponFire]==GetPlayerWeapon(playerid))
                {
                    if(CheatPlayerInfo[playerid][aAmmoFire]==GetPlayerAmmo(playerid)) ELC_AC_StartCheckPlayerFaceWall(playerid);
                    CheatPlayerInfo[playerid][aTickFire]=0;
                    CheatPlayerInfo[playerid][aAmmoFire]=0;
                    CheatPlayerInfo[playerid][aWeaponFire]=0;

                }
                else
                {

                    new keys,ud,lr;
                    GetPlayerKeys(playerid,keys,ud,lr);
                    if(keys==4 && IsNotWeaponVise(GetPlayerWeapon(playerid)))
                    {
                        CheatPlayerInfo[playerid][aTickFire]=IsTime;
                        CheatPlayerInfo[playerid][aAmmoFire]=GetPlayerAmmo(playerid);
                        CheatPlayerInfo[playerid][aWeaponFire]=GetPlayerWeapon(playerid);
                    }
                    else if(keys==132 && IsNotWeaponNoAmmo(GetPlayerWeapon(playerid)) && (GetPlayerSpeedXY(playerid) < 1))
                    {
                        CheatPlayerInfo[playerid][aTickFire]=IsTime;
                        CheatPlayerInfo[playerid][aAmmoFire]=GetPlayerAmmo(playerid);
                        CheatPlayerInfo[playerid][aWeaponFire]=GetPlayerWeapon(playerid);
                    }
                    else
                    {
                        CheatPlayerInfo[playerid][aTickFire]=0;
                        CheatPlayerInfo[playerid][aAmmoFire]=0;
                        CheatPlayerInfo[playerid][aWeaponFire]=0;
                    }
                }
            }
        }
        new WA_VAR[2][13];
        new NeedRemove;
        for(new i = 0; i <13; i++)
        {
            GetPlayerWeaponData(playerid,i,WA_VAR[0][i],WA_VAR[1][i]);
            if((WA_VAR[0][i]!=CheatPlayerInfo[playerid][aWeapon][i] && WA_VAR[0][i]!=0 && WA_VAR[1][i]!=0))
            {
                //CHEAT WEAPON
                if(!IsGiveVehicleWeapon(WA_VAR[0][i])) CallRemoteFunction("OnPlayerCheat", "dd", playerid,2);
                NeedRemove=1;
                //SetPlayerAmmo(playerid, WA_VAR[0], 0);
            }
            else if(((CheatPlayerInfo[playerid][aAmmo][i]-WA_VAR[1][i]) < 0) && IsNotWeaponNoAmmo(WA_VAR[0][i]) && WA_VAR[0][i]!=0)
            {
                //CHEAT AMMO
                CallRemoteFunction("OnPlayerCheat", "dd", playerid,3);
                NeedRemove=1;
                //SetPlayerAmmo(playerid, WA_VAR[0], 0);
            }
            else if(CheatPlayerInfo[playerid][aWeapon][i]!=0 && WA_VAR[0][i]==0 && WA_VAR[1][i]==0)
            {
                CheatPlayerInfo[playerid][aWeapon][i]=0;
                CheatPlayerInfo[playerid][aAmmo][i]=0;
            }
            else CheatPlayerInfo[playerid][aAmmo][i]=WA_VAR[1][i];
        }
        if(NeedRemove==1)
        {
            new WepUse=GetPlayerWeapon(playerid);
            initial_ResetPlayerWeapons(playerid);
            for(new i = 0; i <13; i++)if(CheatPlayerInfo[playerid][aWeapon][i] != 0)initial_GivePlayerWeapon(playerid, CheatPlayerInfo[playerid][aWeapon][i], CheatPlayerInfo[playerid][aAmmo][i]);
            SetPlayerArmedWeapon(playerid,WepUse);
        }
    }
    #if defined MODE_DELAY_SEND_STATS
    if(CheatPlayerInfo[playerid][aAntiHealthHack]==1 && IsPassTime(CheatPlayerInfo[playerid][aGiveHealthTime],IsTime) && IsPassTime(CheatPlayerInfo[playerid][aGiveMoneyTime],IsTime))
    #else
    if(CheatPlayerInfo[playerid][aAntiHealthHack]==1)
    #endif
    {
        new Float:elc_health;
        GetPlayerHealth(playerid,elc_health);
        if(elc_health!=CheatPlayerInfo[playerid][aHealth])
        {
            if(elc_health<=100 && CheatPlayerInfo[playerid][aHealth]==0) CheatPlayerInfo[playerid][aHealth]=elc_health;
            else if(elc_health>CheatPlayerInfo[playerid][aHealth])
            {
                //Cheat Health
                initial_SetPlayerHealth(playerid,CheatPlayerInfo[playerid][aHealth]);
                CallRemoteFunction("OnPlayerCheat", "dd", playerid,7);
            }
            else CheatPlayerInfo[playerid][aHealth]=elc_health;
        }
    }
    #if defined MODE_DELAY_SEND_STATS
    if(CheatPlayerInfo[playerid][aAntiArmourHack]==1 && IsPassTime(CheatPlayerInfo[playerid][aGiveArmourTime],IsTime) && IsPassTime(CheatPlayerInfo[playerid][aGiveMoneyTime],IsTime))
    #else
    if(CheatPlayerInfo[playerid][aAntiArmourHack]==1)
    #endif
    {
        new Float:elc_armour;
        GetPlayerArmour(playerid,elc_armour);
        if(elc_armour!=CheatPlayerInfo[playerid][aArmour])
        {
            if(elc_armour>CheatPlayerInfo[playerid][aArmour])
            {
                //Cheat Armour
                initial_SetPlayerArmour(playerid,CheatPlayerInfo[playerid][aArmour]);
                CallRemoteFunction("OnPlayerCheat", "dd", playerid,8);
            }
            else CheatPlayerInfo[playerid][aArmour]=elc_armour;
        }
    }
    if(GetPlayerVehicleSeat(playerid)==0)
    {
        new vehicleid=GetPlayerVehicleID(playerid);
        if(vehicleid!=0)
        {
            GetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][vX], CheatVehicleInfo[vehicleid][vY], CheatVehicleInfo[vehicleid][vZ]);
            GetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][vAngle]);
        }
    }
    if(CheatPlayerInfo[playerid][aPossibleVehicleHack]!=0 && IsPassTime(CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vPossibleHackTime],IsTime))
    {
        if(ELC_AC_IsCreatedVehicle(CheatPlayerInfo[playerid][aPossibleVehicleHack]))
        {
            CallRemoteFunction("OnPlayerCheat", "dd", playerid,9);
            SetVehiclePos(CheatPlayerInfo[playerid][aPossibleVehicleHack], CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vX], CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vY], CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vZ]);
            SetVehicleZAngle(CheatPlayerInfo[playerid][aPossibleVehicleHack],CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vAngle]);
            CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vPossiblePlayerHack]=0;
            CheatVehicleInfo[CheatPlayerInfo[playerid][aPossibleVehicleHack]][vPossibleHackTime]=0;
        }
        CheatPlayerInfo[playerid][aPossibleVehicleHack]=0;
    }
    return 1;
}
/*----------------------------------------------------------------------------*/
stock ELC_AC_StartCheckPlayerFaceWall(playerid)
{
    if(IsPlayerConnected(playerid))
    {
        if(CheatPlayerInfo[playerid][aAntiAmmoBlockHack]==1)CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=2;
        new Float:x,Float:y,Float:z,Float:a,Float:lx,Float:ly,Float:lhealth;
        GetPlayerPos(playerid, x, y ,z);
        GetPlayerFacingAngle(playerid, a);
        GetPlayerHealth(playerid,lhealth);
        lx = (0.5 * floatsin(-a, degrees));
        ly = (0.5 * floatcos(-a, degrees));
        SetPlayerVelocity(playerid,lx,ly,0.0);
        SetTimerEx("OnPlayerCheckFaceWall",500,0,"iffffff",playerid,x+lx,y+ly,z,x,y,lhealth);
    }
    return 1;
}
/*----------------------------------------------------------------------------*/
public OnPlayerCheckFaceWall(playerid,Float:wall_x,Float:wall_y,Float:wall_z,Float:nwall_x,Float:nwall_y,Float:wall_he)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:x,Float:y,Float:z;
        GetPlayerPos(playerid, x, y ,z);
        if(IsPlayerInRangeOfPoint(playerid,0.25,wall_x,wall_y,z))
        {
            //Cheat Block Ammo
            CallRemoteFunction("OnPlayerCheat", "dd", playerid,4);
            initial_ResetPlayerWeapons(playerid);
        }
        SetPlayerHealth(playerid,wall_he);
        initial_SetPlayerPos(playerid, nwall_x,nwall_y,wall_z);
        if(CheatPlayerInfo[playerid][aAntiAmmoBlockHack]==2)CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=1;
    }
    return 1;
}
/*----------------------------------------------------------------------------*/
public ELC_AC_OnPlayerBuy(playerid,buyprice)
{
    if(buyprice==1)
    {
        new Float:elc_health;
        GetPlayerHealth(playerid,elc_health);
        if(elc_health<=CheatPlayerInfo[playerid][aHealth]+35) CheatPlayerInfo[playerid][aGainHealth]+=35;//Buy Soda
    }
    return 1;
}
/*----------------------------------------------------------------------------*/
public OnPlayerUpdate(playerid)
{
    new elc_getmoney=initial_GetPlayerMoney(playerid);
    new Float:elc_health; GetPlayerHealth(playerid,elc_health);
    #if defined MODE_DELAY_SEND_STATS
    if(CheatPlayerInfo[playerid][aMoney] > elc_getmoney && CheatPlayerInfo[playerid][aAntiMoneyHack]!=2 && IsPassTime(CheatPlayerInfo[playerid][aGiveMoneyTime],GetTickCount()))
    #else
    if(CheatPlayerInfo[playerid][aMoney] > elc_getmoney && CheatPlayerInfo[playerid][aAntiMoneyHack]!=2)
    #endif
    {
        //printf("ARGENTV : %d,ARGENT : %d,TIME : %d",CheatPlayerInfo[playerid][aMoney],elc_getmoney,GetTickCount());
        ELC_AC_OnPlayerBuy(playerid,CheatPlayerInfo[playerid][aMoney]-elc_getmoney);
        if(elc_health!=CheatPlayerInfo[playerid][aHealth])
        {
            if(CheatPlayerInfo[playerid][aGainHealth]+CheatPlayerInfo[playerid][aHealth]>=elc_health && elc_health<=MAX_HEALTH)
            {
                CheatPlayerInfo[playerid][aGainHealth]=0;
                CheatPlayerInfo[playerid][aHealth]=elc_health;
            }
            else initial_SetPlayerHealth(playerid,CheatPlayerInfo[playerid][aHealth]);
        }
        CheatPlayerInfo[playerid][aMoney]=elc_getmoney;

    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerUpdate", "i",playerid);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerUpdate
    #undef OnPlayerUpdate
#else
    #define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate ELC_AC_OnPlayerUpdate
forward ELC_AC_OnPlayerUpdate(playerid);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
public OnGameModeInit()
#else
public OnFilterScriptInit()
#endif
{
    #if defined NO_TICK_COUNT
    CheatServerInfo[TimerTick]=SetTimer("TimeUpdate", TIME_GRANULITY, true);
    #endif
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnGameModeInit", "");
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnGameModeInit
    #undef OnGameModeInit
#else
    #define _ALS_OnGameModeInit
#endif
#define OnGameModeInit ELC_AC_OnGameModeInit
forward ELC_AC_OnGameModeInit();
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
public OnGameModeExit()
#else
public OnFilterScriptExit()
#endif
{
    #if defined NO_TICK_COUNT
    KillTimer(CheatServerInfo[TimerTick]);
    #endif
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnGameModeExit", "");
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnGameModeExit
    #undef OnGameModeExit
#else
    #define _ALS_OnGameModeExit
#endif
#define OnGameModeExit ELC_AC_OnGameModeExit
forward ELC_AC_OnGameModeExit();
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnPlayerConnect(playerid)
{
    if (!IsPlayerNPC(playerid))
    {
        CheatPlayerInfo[playerid][aTickFire]=0;
        CheatPlayerInfo[playerid][aAmmoFire]=0;
        CheatPlayerInfo[playerid][aWeaponFire]=0;
        for(new i = 0; i <13; i++)
        {
            CheatPlayerInfo[playerid][aWeapon][i]=0;
            CheatPlayerInfo[playerid][aAmmo][i]=0;
        }
        CheatPlayerInfo[playerid][aMoney] = 0;
        CheatPlayerInfo[playerid][aArmour]=100;
        CheatPlayerInfo[playerid][aHealth]=100;
        CheatPlayerInfo[playerid][aGainHealth]=0;
        CheatPlayerInfo[playerid][aTimer]=SetTimerEx("OnPlayerCheckCheat", TIMER_CHEAT_RATE, 1, "i", playerid);
        CheatPlayerInfo[playerid][aX] = 0; CheatPlayerInfo[playerid][aY] = 0; CheatPlayerInfo[playerid][aZ] = 0;
        CheatPlayerInfo[playerid][aAntiTeleportHack]=0;
        CheatPlayerInfo[playerid][aAntiWeaponHack]=ANTI_WEAPON_&_AMMO_HACK;
        CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=ANTI_AMMO_BLOCK_HACK;
        CheatPlayerInfo[playerid][aAntiMoneyHack]=ANTI_MONEY_HACK;
        CheatPlayerInfo[playerid][aAntiSpeedHack]=0;
        CheatPlayerInfo[playerid][aAntiArmourHack]=ANTI_ARMOUR_HACK;
        CheatPlayerInfo[playerid][aAntiHealthHack]=ANTI_HEALTH_HACK;
        #if defined MODE_DELAY_SEND_STATS
        CheatPlayerInfo[playerid][aGiveWeaponTime]=1;
        CheatPlayerInfo[playerid][aGiveMoneyTime]=1;
        CheatPlayerInfo[playerid][aGiveHealthTime]=1;
        CheatPlayerInfo[playerid][aGiveArmourTime]=1;
        #endif
        CheatPlayerInfo[playerid][aPlayerEnterTime]=0;
        SendClientMessage(playerid,0xBD0000FF,"[ANTI-CHEAT]Ce serveur est protйgй par ELC_AC(By Eloctro)");
    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerConnect", "d", playerid);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect ELC_AC_OnPlayerConnect
forward ELC_AC_OnPlayerConnect(playerid);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnPlayerSpawn(playerid)
{
    if (!IsPlayerNPC(playerid))
    {
        SaveTime(CheatPlayerInfo[playerid][aSetPositionTime],GetTickCount()+MAX_DELAY_WAIT_AFTER_SPAWN);
        if(CheatPlayerInfo[playerid][aAntiSpeedHack]!=2)
        {
            CheatPlayerInfo[playerid][aAntiTeleportHack]=ANTI_TELEPORT/AIBREAK_HACK;
            CheatPlayerInfo[playerid][aAntiSpeedHack]=ANTI_SPEED_HACK;
        }
        CheatPlayerInfo[playerid][aHealth]=100;
        CheatPlayerInfo[playerid][aArmour]=100;
    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerSpawn", "d", playerid);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn ELC_AC_OnPlayerSpawn
forward ELC_AC_OnPlayerSpawn(playerid);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnPlayerDeath(playerid, killerid, reason)
{
    if (!IsPlayerNPC(playerid))
    {
        CheatPlayerInfo[playerid][aPlayerEnterTime]+=221;
        CheatPlayerInfo[playerid][aAntiTeleportHack]=0;
        CheatPlayerInfo[playerid][aAntiSpeedHack]=0;
    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerDeath", "ddd", playerid, killerid, reason);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerDeath
    #undef OnPlayerDeath
#else
    #define _ALS_OnPlayerDeath
#endif
#define OnPlayerDeath ELC_AC_OnPlayerDeath
forward ELC_AC_OnPlayerDeath(playerid, killerid, reason);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnPlayerDisconnect(playerid, reason)
{
    CheatPlayerInfo[playerid][aAntiTeleportHack]=0;
    CheatPlayerInfo[playerid][aAntiWeaponHack]=0;
    CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=0;
    CheatPlayerInfo[playerid][aAntiMoneyHack]=0;
    CheatPlayerInfo[playerid][aAntiSpeedHack]=0;
    CheatPlayerInfo[playerid][aAntiArmourHack]=0;
    CheatPlayerInfo[playerid][aAntiHealthHack]=0;
    if (!IsPlayerNPC(playerid))
    {
        KillTimer(CheatPlayerInfo[playerid][aTimer]);
        CheatPlayerInfo[playerid][aTickFire]=0;
        CheatPlayerInfo[playerid][aAmmoFire]=0;
        CheatPlayerInfo[playerid][aWeaponFire]=0;
    }
    CheatPlayerInfo[playerid][aX] = 0; CheatPlayerInfo[playerid][aY] = 0; CheatPlayerInfo[playerid][aZ] = 0;
    CheatPlayerInfo[playerid][aArmour]=0;
    CheatPlayerInfo[playerid][aHealth]=0;
    CheatPlayerInfo[playerid][aGainHealth]=0;
    #if defined MODE_DELAY_SEND_STATS
    CheatPlayerInfo[playerid][aGiveWeaponTime]=0;
    CheatPlayerInfo[playerid][aGiveMoneyTime]=0;
    CheatPlayerInfo[playerid][aGiveHealthTime]=0;
    CheatPlayerInfo[playerid][aGiveArmourTime]=0;
    #endif
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerDisconnect", "dd", playerid, reason);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerDisconnect
    #undef OnPlayerDisconnect
#else
    #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect ELC_AC_OnPlayerDisconnect
forward ELC_AC_OnPlayerDisconnect(playerid, reason);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
        if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1 && CheatPlayerInfo[playerid][aAntiAmmoBlockHack]==1)
        {
            if(newkeys==4)
            {
                new Float:XPOS[3]; GetPlayerPos(playerid,XPOS[0],XPOS[1],XPOS[2]);
                if(CheatPlayerInfo[playerid][aTickFire]==0 && IsNotWeaponVise(GetPlayerWeapon(playerid)) && CheatPlayerInfo[playerid][aZ]==XPOS[2])
                {
                    CheatPlayerInfo[playerid][aTickFire]=GetTickCount();
                    CheatPlayerInfo[playerid][aAmmoFire]=GetPlayerAmmo(playerid);
                    CheatPlayerInfo[playerid][aWeaponFire]=GetPlayerWeapon(playerid);
                }
            }
            else if(newkeys==132)
            {
                if(CheatPlayerInfo[playerid][aTickFire]==0 && IsNotWeaponNoAmmo(GetPlayerWeapon(playerid)) && (GetPlayerSpeedXY(playerid) < 1))
                {
                    CheatPlayerInfo[playerid][aTickFire]=GetTickCount();
                    CheatPlayerInfo[playerid][aAmmoFire]=GetPlayerAmmo(playerid);
                    CheatPlayerInfo[playerid][aWeaponFire]=GetPlayerWeapon(playerid);
                }
            }
            else if(oldkeys==4&&newkeys!=132 || oldkeys==132&&newkeys!=4)
            {
                if(CheatPlayerInfo[playerid][aTickFire]!=0)
                {
                    if((GetTickCount()-CheatPlayerInfo[playerid][aTickFire]) >= TIRE_RATE)
                    {
                        new Float:XPOS[3];
                        GetPlayerPos(playerid,XPOS[0],XPOS[1],XPOS[2]);
                        if(CheatPlayerInfo[playerid][aZ]==XPOS[2] && CheatPlayerInfo[playerid][aWeaponFire]==GetPlayerWeapon(playerid)&& CheatPlayerInfo[playerid][aAmmoFire]==GetPlayerAmmo(playerid)) ELC_AC_StartCheckPlayerFaceWall(playerid);
                    }
                    CheatPlayerInfo[playerid][aTickFire]=0;
                    CheatPlayerInfo[playerid][aAmmoFire]=0;
                    CheatPlayerInfo[playerid][aWeaponFire]=0;
                }
            }
        }
    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerKeyStateChange", "ddd",playerid, newkeys, oldkeys);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerKeyStateChange
    #undef OnPlayerKeyStateChange
#else
    #define _ALS_OnPlayerKeyStateChange
#endif
#define OnPlayerKeyStateChange ELC_AC_OnPlayerKeyStateChange
forward ELC_AC_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        CheatPlayerInfo[playerid][aPlayerEnterTime] = GetTickCount();
    }
    else if(oldstate == PLAYER_STATE_DRIVER)
    {
        if((GetTickCount()-CheatPlayerInfo[playerid][aPlayerEnterTime]) < 220)//player entered and exited vehicle faster than 220 ms.
        {
            CallRemoteFunction("OnPlayerCheat", "dd", playerid,9);
        }
        //GetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][vX], CheatVehicleInfo[vehicleid][vY], CheatVehicleInfo[vehicleid][vZ]);

    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnPlayerStateChange", "ddd",playerid, newstate, oldstate);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnPlayerStateChange
    #undef OnPlayerStateChange
#else
    #define _ALS_OnPlayerStateChange
#endif
#define OnPlayerStateChange ELC_AC_OnPlayerStateChange
forward ELC_AC_OnPlayerStateChange(playerid, newstate, oldstate);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -CheatVehicleInfo[vehicleid][vX]);
    tempposy = (oldposy -CheatVehicleInfo[vehicleid][vY]);
    tempposz = (oldposz -CheatVehicleInfo[vehicleid][vZ]);
    if (CheatVehicleInfo[vehicleid][vX]==0 || ((tempposx < MAX_VEHICLE_DISTANCE_UCM) && (tempposx > -MAX_VEHICLE_DISTANCE_UCM)) && ((tempposy < MAX_VEHICLE_DISTANCE_UCM) && (tempposy > -MAX_VEHICLE_DISTANCE_UCM)) && ((tempposz < MAX_VEHICLE_DISTANCE_UCM) && (tempposz > -MAX_VEHICLE_DISTANCE_UCM)))
    {
        CheatVehicleInfo[vehicleid][vX]=oldposx;
        CheatVehicleInfo[vehicleid][vY]=oldposy;
        CheatVehicleInfo[vehicleid][vZ]=oldposz;
        GetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][vAngle]);
    }
    else if(playerid!=INVALID_PLAYER_ID && IsPlayerInRangeOfPoint(playerid,MAX_VEHICLE_DISTANCE_UCM,oldposx,oldposy,oldposz))
    {
        if(CheatVehicleInfo[vehicleid][vPossiblePlayerHack]==0)
        {
            CheatVehicleInfo[vehicleid][vPossiblePlayerHack]=playerid+1;
            SaveTime(CheatVehicleInfo[vehicleid][vPossibleHackTime],GetTickCount());
            CheatPlayerInfo[playerid][aPossibleVehicleHack]=vehicleid;
        }
        else if(CheatVehicleInfo[vehicleid][vPossiblePlayerHack]!=playerid+1)
        {
            CheatVehicleInfo[vehicleid][vPossiblePlayerHack]=0;
            CheatVehicleInfo[vehicleid][vPossibleHackTime]=0;
            if(IsPlayerConnected(CheatVehicleInfo[vehicleid][vPossiblePlayerHack]-1))CheatPlayerInfo[CheatVehicleInfo[vehicleid][vPossiblePlayerHack]-1][aPossibleVehicleHack]=0;
            SetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][vX], CheatVehicleInfo[vehicleid][vY], CheatVehicleInfo[vehicleid][vZ]);
            SetVehicleZAngle(vehicleid,CheatVehicleInfo[vehicleid][vAngle]);
        }
    }
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnUnoccupiedVehicle", "ddd",vehicleid, playerid, passenger_seat);
    #else
    return 1;
    #endif
}

/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnUnoccupiedVehicleUpdate
    #undef OnUnoccupiedVehicleUpdate
#else
    #define _ALS_OnUnoccupiedVehicleUpdate
#endif
#define OnUnoccupiedVehicleUpdate ELC_AC_OnUnoccupiedVehicle
forward ELC_AC_OnUnoccupiedVehicle(vehicleid, playerid, passenger_seat);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnVehicleSpawn(vehicleid)
{
    GetVehiclePos(vehicleid, CheatVehicleInfo[vehicleid][vX], CheatVehicleInfo[vehicleid][vY], CheatVehicleInfo[vehicleid][vZ]);
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnVehicleSpawn", "d",vehicleid);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnVehicleSpawn
    #undef OnVehicleSpawn
#else
    #define _ALS_OnVehicleSpawn
#endif
#define OnVehicleSpawn ELC_AC_OnVehicleSpawn
forward ELC_AC_OnVehicleSpawn(vehicleid);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public OnVehicleDeath(vehicleid)
{
    CheatVehicleInfo[vehicleid][vX]=0;
    #if defined INCLUDE_BASE_MODE
    return CallLocalFunction("ELC_AC_OnVehicleDeath", "d",vehicleid);
    #else
    return 1;
    #endif
}
/*----------------------------------------------------------------------------*/
#if defined INCLUDE_BASE_MODE
//ALS_SYSTEME --------------------
#if defined _ALS_OnVehicleDeath
    #undef OnVehicleDeath
#else
    #define _ALS_OnVehicleDeath
#endif
#define OnVehicleDeath ELC_AC_OnVehicleDeath
forward ELC_AC_OnVehicleDeath(vehicleid);
#endif
//ALS_OFF_SYSTEME ----------------
/*----------------------------------------------------------------------------*/
public ELC_AC_EnablePlayerCheatID(playerid,cheatid,enable)
{
    if(cheatid==1)//Money
    {
        if(enable==1)
        {
            CheatPlayerInfo[playerid][aAntiMoneyHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiMoneyHack]=0;
    }
    else if(cheatid==2)//Weapon
    {
        if(enable==1)
        {
            for(new i = 0; i <13; i++)
            {
                GetPlayerWeaponData(playerid,i,CheatPlayerInfo[playerid][aWeapon][i],CheatPlayerInfo[playerid][aAmmo][i]);
            }
            CheatPlayerInfo[playerid][aAntiWeaponHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiWeaponHack]=0;
    }
    else if(cheatid==3)//AirBreak/SpeedHack
    {
        if(enable==1) CheatPlayerInfo[playerid][aAntiSpeedHack]=1;
        else CheatPlayerInfo[playerid][aAntiSpeedHack]=0;
    }
    else if(cheatid==4)//Anti-Teleport
    {
        if(enable==1)
        {
            GetPlayerPos(playerid,CheatPlayerInfo[playerid][aX],CheatPlayerInfo[playerid][aY],CheatPlayerInfo[playerid][aZ]);
            CheatPlayerInfo[playerid][aAntiTeleportHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiTeleportHack]=0;
    }
    else if(cheatid==5)//Anti-Ammo_Block
    {
        if(enable==1)
        {
            CheatPlayerInfo[playerid][aTickFire]=0;
            CheatPlayerInfo[playerid][aAmmoFire]=0;
            CheatPlayerInfo[playerid][aWeaponFire]=0;
            CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiAmmoBlockHack]=0;
    }
    else if(cheatid==6)//Anti_HEALTH_HACK
    {
        if(enable==1)
        {
            CheatPlayerInfo[playerid][aAntiHealthHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiHealthHack]=0;
    }
    else if(cheatid==7)//Anti_ARMOUR_HACK
    {
        if(enable==1)
        {
            CheatPlayerInfo[playerid][aAntiArmourHack]=1;
        }
        else CheatPlayerInfo[playerid][aAntiArmourHack]=0;
    }
    return 1;
}
public RemovePlayerWeapon(playerid, weaponid)
{
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==1)CheatPlayerInfo[playerid][aAntiWeaponHack]=2;
    new WeaponsID[13];
    new AmmoID[13];
    new WepUse=GetPlayerWeapon(playerid);
    new slotremove=GetWeaponSlot(weaponid);
    for(new slot = 0; slot <13; slot++)
    {
        if(slotremove!=slot)GetPlayerWeaponData(playerid, slot, WeaponsID[slot], AmmoID[slot]);
    }
    initial_ResetPlayerWeapons(playerid);
    for(new slot = 0; slot <13; slot++)if(WeaponsID[slot]!=0 && AmmoID[slot] != 0)initial_GivePlayerWeapon(playerid, WeaponsID[slot], AmmoID[slot]);
    SetPlayerArmedWeapon(playerid,WepUse);
    if(CheatPlayerInfo[playerid][aAntiWeaponHack]==2)CheatPlayerInfo[playerid][aAntiWeaponHack]=1;
    return 1;
}
/*----------------------------------------------------------------------------*/
#define EnablePlayerCheatID ELC_AC_EnablePlayerCheatID
/*----------------------------------------------------------------------------*/
eu n consigo achar qual a frase q define quando o anti cheat nao deve agir por exemplo no meu GM pra evitar o acionamento do ant hack de teleporte eh isso:

XXAirBreak[playerid] += 3;
XXAirBreak[playerid] += 3;SetPlayerPos(playerid,260.8988,1286.0612,1080.25 7;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)