Question

error 021: symbol already defined: "ac_GivePlayerWeapon"
#include <a_samp>
#define DEBUG
#include <nex-ac_ru.lang>
#include <nex-ac>
 
Сам инклюд
Спойлер

//Nex-AC by Nexius v1.9.61 (0.3.7)

#if defined _nex_ac_included
    #endinput
#endif
#define _nex_ac_included

#tryinclude <a_samp>

#if !defined FILTERSCRIPT

#if !defined DEBUG
    #define DEBUG
#endif

#if !defined NO_SUSPICION_LOGS
    //#define NO_SUSPICION_LOGS
#endif

#if defined NO_SUSPICION_LOGS
    #pragma unused SUSPICION_1
    #pragma unused SUSPICION_2
#endif

#if !defined _nex_ac_lang_included
    #include <nex-ac_en.lang>    //Localization
#endif

#define    NEX_AC_VERSION                "1.9.61"

#define AC_SERVER_VERSION            "0.3."
#define AC_SERVER_OMP_VERSION        "open.mp"

#if !defined AC_CLIENT_VERSION
    #define AC_CLIENT_VERSION            "0.3"
#endif

#if !defined AC_USE_CONFIG_FILES
    #define AC_USE_CONFIG_FILES                true
#endif

#if !defined AUTOSAVE_SETTINGS_IN_CONFIG
    #define AUTOSAVE_SETTINGS_IN_CONFIG        false
#endif

#if AC_USE_CONFIG_FILES
    #if !defined AC_CONFIG_FILE
        #define AC_CONFIG_FILE                "nex-ac_settings.cfg"
    #endif

    #if !defined AC_NOP_CONFIG_FILE
        #define AC_NOP_CONFIG_FILE            "nex-ac_nop_settings.cfg"
    #endif
#else
    #pragma unused CFG_OPENING_ERROR
#endif

#if !defined AC_USE_AMMUNATIONS
    #define AC_USE_AMMUNATIONS                true
#endif

#if !defined AC_USE_PICKUP_WEAPONS
    #define AC_USE_PICKUP_WEAPONS            true
#endif

#if !defined AC_USE_RESTAURANTS
    #define AC_USE_RESTAURANTS                true
#endif

#if !defined AC_USE_VENDING_MACHINES
    #define AC_USE_VENDING_MACHINES            true
#endif

#if !defined AC_USE_TUNING_GARAGES
    #define AC_USE_TUNING_GARAGES            true
#endif

#if !defined AC_USE_PAYNSPRAY
    #define AC_USE_PAYNSPRAY                true
#endif

#if !defined AC_USE_CASINOS
    #define AC_USE_CASINOS                    true
#endif

#if !defined AC_USE_NPC
    #define AC_USE_NPC                        true
#endif

#if !defined AC_USE_QUERY
    #define AC_USE_QUERY                    true
#endif

#if !defined AC_USE_STATISTICS
    #define AC_USE_STATISTICS                true
#endif

#if !AC_USE_STATISTICS
    #pragma unused STATS_STRING_1
    #pragma unused STATS_STRING_2
    #pragma unused STATS_STRING_3
    #pragma unused STATS_STRING_4
    #pragma unused STATS_STRING_5
    #pragma unused STATS_STRING_6
    #pragma unused STATS_STRING_7
    #pragma unused STATS_STRING_8
#endif

#if !defined AC_DEFAULT_COLOR
    #define AC_DEFAULT_COLOR                -1
#endif

#if !defined AC_MAX_CLASSES
    #define AC_MAX_CLASSES                    320
#endif

#if !defined AC_MAX_SKINS
    #define AC_MAX_SKINS                    312
#endif

#if !defined AC_MAX_CONNECTS_FROM_IP
    #define AC_MAX_CONNECTS_FROM_IP            1
#endif

#if !defined AC_MAX_RCON_LOGIN_ATTEMPT
    #define AC_MAX_RCON_LOGIN_ATTEMPT        1
#endif

#if !defined AC_MAX_MSGS_REC_DIFF
    #define AC_MAX_MSGS_REC_DIFF            800
#endif

#if !defined AC_MAX_PING
    #define AC_MAX_PING                        500
#endif

#if !defined AC_MIN_TIME_RECONNECT
    #define AC_MIN_TIME_RECONNECT            12        //In seconds
#endif

#if !defined AC_SPEEDHACK_VEH_RESET_DELAY
    #define AC_SPEEDHACK_VEH_RESET_DELAY    3        //In seconds
#endif

#if !defined AC_MAX_NOP_WARNINGS
    #define AC_MAX_NOP_WARNINGS                8
#endif

#if !defined AC_MAX_NOP_TIMER_WARNINGS
    #define AC_MAX_NOP_TIMER_WARNINGS        3
#endif

#if !defined AC_MAX_PING_WARNINGS
    #define AC_MAX_PING_WARNINGS            8
#endif

#if !defined AC_MAX_MONEY_WARNINGS
    #define AC_MAX_MONEY_WARNINGS            2
#endif

#if !defined AC_MAX_AIR_WARNINGS
    #define AC_MAX_AIR_WARNINGS                4
#endif

#if !defined AC_MAX_AIR_VEH_WARNINGS
    #define AC_MAX_AIR_VEH_WARNINGS            4
#endif

#if !defined AC_MAX_SPEEDHACK_WARNINGS
    #define AC_MAX_SPEEDHACK_WARNINGS        4
#endif

#if !defined AC_MAX_SPEEDHACK_VEH_WARNINGS
    #define AC_MAX_SPEEDHACK_VEH_WARNINGS    (1 * AC_SPEEDHACK_VEH_RESET_DELAY)
#endif

#if !defined AC_MAX_FLYHACK_WARNINGS
    #define AC_MAX_FLYHACK_WARNINGS            2
#endif

#if !defined AC_MAX_FLYHACK_BIKE_WARNINGS
    #define AC_MAX_FLYHACK_BIKE_WARNINGS    8
#endif

#if !defined AC_MAX_FLYHACK_VEH_WARNINGS
    #define AC_MAX_FLYHACK_VEH_WARNINGS        4
#endif

#if !defined AC_MAX_CARSHOT_WARNINGS
    #define AC_MAX_CARSHOT_WARNINGS            4
#endif

#if !defined AC_MAX_GODMODE_WARNINGS
    #define AC_MAX_GODMODE_WARNINGS            3
#endif

#if !defined AC_MAX_GODMODE_VEH_WARNINGS
    #define AC_MAX_GODMODE_VEH_WARNINGS        3
#endif

#if !defined AC_MAX_FAKE_WEAPON_WARNINGS
    #define AC_MAX_FAKE_WEAPON_WARNINGS        2
#endif

#if !defined AC_MAX_SILENT_AIM_WARNINGS
    #define AC_MAX_SILENT_AIM_WARNINGS        2
#endif

#if !defined AC_MAX_PRO_AIM_WARNINGS
    #define AC_MAX_PRO_AIM_WARNINGS            2
#endif

#if !defined AC_MAX_AFK_GHOST_WARNINGS
    #define AC_MAX_AFK_GHOST_WARNINGS        2
#endif

#if !defined AC_MAX_RAPID_FIRE_WARNINGS
    #define AC_MAX_RAPID_FIRE_WARNINGS        16
#endif

#if !defined AC_MAX_AUTO_C_WARNINGS
    #define AC_MAX_AUTO_C_WARNINGS            8
#endif

#if !defined AC_MAX_TELEPORT_GLITCH_WARNINGS
    #define AC_MAX_TELEPORT_GLITCH_WARNINGS    1
#endif

#if !defined AC_MAX_CJ_RUN_WARNINGS
    #define AC_MAX_CJ_RUN_WARNINGS            3
#endif

#define ac_fpublic%0(%1) forward%0(%1); public%0(%1)
#define ac_AbsoluteAngle(%0) ((floatround(%0, floatround_floor) % 360) + floatfract(%0))
#define ac_abs(%0) (((%0) < 0) ? (-(%0)) : ((%0)))

//'ac_ACAllow' contains the default settings that will be set if no config file is found
//Don't change these values if you already have 'scriptfiles\nex-ac_settings.cfg'
static bool:ac_ACAllow[] =
{
    true,    //0 Anti-AirBreak (onfoot)
    true,    //1 Anti-AirBreak (in vehicle)
    true,    //2 Anti-teleport hack (onfoot)
    true,    //3 Anti-teleport hack (in vehicle)
    true,    //4 Anti-teleport hack (into/between vehicles)
    true,    //5 Anti-teleport hack (vehicle to player)
    true,    //6 Anti-teleport hack (pickups)
    true,    //7 Anti-FlyHack (onfoot)
    true,    //8 Anti-FlyHack (in vehicle)
    true,    //9 Anti-SpeedHack (onfoot)
    true,    //10 Anti-SpeedHack (in vehicle)
    true,    //11 Anti-Health hack (in vehicle)
    true,    //12 Anti-Health hack (onfoot)
    true,    //13 Anti-Armour hack
    true,    //14 Anti-Money hack
    true,    //15 Anti-Weapon hack
    true,    //16 Anti-Ammo hack (add)
    true,    //17 Anti-Ammo hack (infinite)
    true,    //18 Anti-Special actions hack
    true,    //19 Anti-GodMode from bullets (onfoot)
    true,    //20 Anti-GodMode from bullets (in vehicle)
    true,    //21 Anti-Invisible hack
    true,    //22 Anti-lagcomp-spoof
    true,    //23 Anti-Tuning hack
    false,    //24 Anti-Parkour mod
    true,    //25 Anti-Quick turn
    true,    //26 Anti-Rapid fire
    true,    //27 Anti-FakeSpawn
    true,    //28 Anti-FakeKill
    true,    //29 Anti-Pro Aim
    true,    //30 Anti-CJ run
    true,    //31 Anti-CarShot
    true,    //32 Anti-CarJack
    false,    //33 Anti-UnFreeze
    true,    //34 Anti-AFK Ghost
    true,    //35 Anti-Full Aiming

    false,    //36 Anti-Fake NPC
    true,    //37 Anti-Reconnect
    true,    //38 Anti-High ping
    true,    //39 Anti-Dialog hack
    true,    //40 Protection from sandbox
    true,    //41 Protection from invalid version
    true,    //42 Anti-Rcon hack

    true,    //43 Anti-Tuning crasher
    true,    //44 Anti-Invalid seat crasher
    true,    //45 Anti-Dialog crasher
    true,    //46 Anti-Attached object crasher
    true,    //47 Anti-Weapon Crasher

    true,    //48 Protection from connection flood in one slot
    true,    //49 Anti-callback functions flood
    true,    //50 Anti-flood by seat changing

    true,    //51 Anti-DoS

    true    //52 Anti-NOPs
},

bool:ac_NOPAllow[] =
{
    true,    //0 Anti-NOP GivePlayerWeapon
    true,    //1 Anti-NOP SetPlayerAmmo
    true,    //2 Anti-NOP SetPlayerInterior
    true,    //3 Anti-NOP SetPlayerHealth
    true,    //4 Anti-NOP SetVehicleHealth
    true,    //5 Anti-NOP SetPlayerArmour
    true,    //6 Anti-NOP SetPlayerSpecialAction
    true,    //7 Anti-NOP PutPlayerInVehicle
    true,    //8 Anti-NOP TogglePlayerSpectating
    true,    //9 Anti-NOP SpawnPlayer
    true,    //10 Anti-NOP SetPlayerPos
    true    //11 Anti-NOP RemovePlayerFromVehicle
};

static const ac_Mtfc[][] =
{
    {1208},    //0 OnDialogResponse
    {8002},    //1 OnEnterExitModShop
    {2508},    //2 OnPlayerClickMap
    {4005},    //3 OnPlayerClickPlayer
    {5011},    //4 OnPlayerClickTextDraw
    {4008},    //5 OnPlayerCommandText
    {508},    //6 OnPlayerEnterVehicle
    {5011},    //7 OnPlayerExitVehicle
    {5011},    //8 OnPlayerPickUpPickup
    {1508},    //9 OnPlayerRequestClass
    {1208},    //10 OnPlayerSelectedMenuRow
    {6008},    //11 OnPlayerStateChange
    {4502},    //12 OnVehicleMod
    {4502},    //13 OnVehiclePaintjob
    {4502},    //14 OnVehicleRespray
    {3001},    //15 OnVehicleDeath
    {4508},    //16 OnPlayerText
    {1508},    //17 OnPlayerEnterCheckpoint
    {1508},    //18 OnPlayerLeaveCheckpoint
    {1505},    //19 OnPlayerRequestSpawn
    {1208},    //20 OnPlayerExitedMenu
    {1508},    //21 OnPlayerEnterRaceCheckpoint
    {1508},    //22 OnPlayerLeaveRaceCheckpoint
    {5011},    //23 OnPlayerClickPlayerTextDraw
    {609},    //24 OnVehicleDamageStatusUpdate
    {1508},    //25 OnVehicleSirenStateChange
    {1505},    //26 OnPlayerSelectObject
    {5011}    //27 Cross-public
},

ac_wSlot[] =
{
    00111111111010101010,
    108888882223334455,
    4667777812999111111
},

ac_vType[] =
{
    00000000000000000200,
    00000200003600000600,
    00000032570033300000,
    15550000520533001000,
    04003002200003000200,
    00000000044111000001,
    15550000000000000881,
    00000000200001000000,
    00020000099000000100,
    05000050000011030000,
    000000000000
},

#if AC_USE_PICKUP_WEAPONS
    ac_wModel[] =
    {
        0331333334335336337338339341321322323324325,
        326342343344345345345346347348349350351352353355356,
        372357358359360361362363364365366367368369371
    },

    ac_pAmmo[] =
    {
        1111111111111,
        11188884430101015,
        10106060808060201043,
        1005005150050036001
    },
#endif

#if AC_USE_TUNING_GARAGES
    ac_cPrice[] =
    {
        400550200250100150805005002001000220250100400,
        500200500350300250200150350501000480480770680370,
        3701701207901505006901903905003901000500500510710,
        670530810620670530130210230520430620720530180550430,
        83085075025020055045055045011001030980156016201200,
        10309001230820156013507701001500150650450100750,
        350450350100062011401000940780830325016101540780780780,
        161015400033403250213020502040780940780940780860,
        7801120334032503340165033803290159083080015001000800,
        58047087098015015010010049060089010001090840910,
        12001030103092093055010501050950650450550850950,
        85095097088099090095010009001000900205021502130,
        205021302040215020402095217520802200120010409401100
    },
#endif

#if AC_USE_AMMUNATIONS
    ac_AmmuNationInfo[][] =
    {
        {20030}, {60030}, {120015},
        {60015}, {80012}, {100010},
        {50060}, {200090}, {3500120},
        {4500150}, {30060}
    },

    Float:ac_AmmuNations[][] =
    {
        {296.3255, -38.3041001.5156},
        {295.7595, -80.55791001.5156},
        {290.1898, -109.4821001.5156},
        {312.6785, -165.5487999.6016},
        {308.2072, -141.0583999.6016}
    },
#endif

#if AC_USE_RESTAURANTS
    Float:ac_Restaurants[][] =
    {
        {374.0, -119.6411001.4922},
        {368.789, -6.8571001.8516},
        {375.566, -68.2221001.5151}
    },
#endif

#if AC_USE_PAYNSPRAY
    Float:ac_PayNSpray[][] =
    {
        {2064.2842, -1831.473613.5469},
        {-2425.78221021.139250.3977},
        {-1420.51952584.230555.8433},
        {487.6401, -1739.947911.1385},
        {1024.8651, -1024.08732.1016},
        {-1904.7019284.596841.0469},
        {1975.23842162.508811.0703},
        {2393.44561491.553710.5616},
        {720.0854, -455.280716.3359},
        {-99.94171117.904819.7417}
    },
#endif

#if AC_USE_VENDING_MACHINES
    Float:ac_vMachines[][] =
    {
        {-862.821536.621.98},
        {2271.72, -76.4625.96},
        {1277.83372.5118.95},
        {662.42, -552.1615.71},
        {201.01, -107.610.89},
        {-253.742597.9562.24},
        {-253.742599.7562.24},
        {-76.031227.9919.12},
        {-14.71175.3518.95},
        {-1455.112591.6655.23},
        {2352.17, -1357.1523.77},
        {2325.97, -1645.1314.21},
        {2139.51, -1161.4823.35},
        {2153.23, -1016.1462.23},
        {1928.73, -1772.4412.94},
        {1154.72, -1460.8915.15},
        {2480.85, -1959.2712.96},
        {2060.11, -1897.6412.92},
        {1729.78, -1943.0412.94},
        {1634.1, -2237.5312.89},
        {1789.21, -1369.2615.16},
        {-2229.18286.4134.7},
        {2319.992532.8510.21},
        {2845.721295.0410.78},
        {2503.141243.6910.21},
        {2647.691129.6610.21},
        {-2420.21984.5744.29},
        {-2420.17985.9444.29},
        {2085.772071.3510.45},
        {1398.842222.610.42},
        {1659.461722.8510.21},
        {1520.141055.2610.0},
        {-1980.78142.6627.07},
        {-2118.96, -423.6434.72},
        {-2118.61, -422.4134.72},
        {-2097.27, -398.3334.72},
        {-2092.08, -490.0534.72},
        {-2063.27, -490.0534.72},
        {-2005.64, -490.0534.72},
        {-2034.46, -490.0534.72},
        {-2068.56, -398.3334.72},
        {-2039.85, -398.3334.72},
        {-2011.14, -398.3334.72},
        {-1350.11492.2810.58},
        {-1350.11493.8510.58},
        {2222.361602.641000.06},
        {2222.21606.771000.05},
        {2155.91606.771000.05},
        {2155.841607.871000.06},
        {2209.91607.191000.05},
        {2202.451617.01000.06},
        {2209.241621.211000.06},
        {2576.7, -1284.431061.09},
        {330.67178.51020.07},
        {331.92178.51020.07},
        {350.9206.081008.47},
        {361.56158.611008.47},
        {371.59178.451020.07},
        {374.89188.971008.47},
        {-19.03, -57.831003.63},
        {-36.14, -57.871003.63},
        {316.87, -140.35998.58},
        {2225.2, -1153.421025.9},
        {-15.1, -140.221003.63},
        {-16.53, -140.291003.63},
        {-35.72, -140.221003.63},
        {373.82, -178.141000.73},
        {379.03, -178.881000.73},
        {495.96, -24.321000.73},
        {500.56, -1.361000.73},
        {501.82, -1.421000.73},
        {-33.87, -186.761003.63},
        {-32.44, -186.691003.63},
        {-16.11, -91.641003.63},
        {-17.54, -91.711003.63}
    },
#endif

#if AC_USE_CASINOS
    Float:ac_Casinos[][] =
    {
        {2241.28781617.16241006.17972.0},
        {2240.97361604.65921006.17976.0},
        {2242.54271592.87261006.18366.0},
        {2230.21241592.14261006.18326.0},
        {2230.47171604.4841006.1866.0},
        {2230.32981616.92721006.17993.0},
        {2251.94071586.17361006.1861.0},
        {2218.67851587.34481006.17491.0},
        {2219.27731591.74671006.18671.0},
        {2218.54081589.32291006.1841.0},
        {2218.64771593.62791006.17971.0},
        {2221.9261603.82851006.17971.0},
        {2218.50951603.83851006.17971.0},
        {2219.95971603.92161006.17971.0},
        {2216.30541603.79961006.18191.0},
        {2218.7311619.80461006.17941.0},
        {2218.94071617.84131006.18211.0},
        {2218.6681615.46811006.17971.0},
        {2218.64181613.26291006.17971.0},
        {2252.42721589.84121006.17975.0},
        {2252.42291596.61691006.17975.0},
        {2255.15651608.87841006.1861.0},
        {2254.84961610.86051006.17971.0},
        {2255.29171612.91671006.17971.0},
        {2255.0331614.88921006.17971.0},
        {2255.12131616.82841006.17971.0},
        {2255.21611618.80051006.17971.0},
        {2268.52811606.48941006.17971.0},
        {2270.49221606.85391006.17971.0},
        {2272.56931606.44731006.17971.0},
        {2274.53911607.01221006.17971.0},
        {2271.84471586.16331006.17971.0},
        {2261.48441586.17241006.17971.0},
        {2257.45071589.65551006.17975.0},
        {2267.89941589.86721006.17975.0},
        {2262.84861590.0261006.17975.0},
        {2272.64581589.77041006.17975.0},
        {2272.65331596.56821006.17975.0},
        {2270.48951596.46061006.17975.0},
        {2265.44411596.42991006.17975.0},
        {2260.03081596.79871006.17975.0},
        {2254.99071596.2411006.17975.0},
        {1956.9524988.2533992.46882.0},
        {1961.6155993.0375992.46882.0},
        {1963.7998998.4406992.47452.0},
        {1936.2885987.1995992.47452.0},
        {1944.9768986.3937992.46882.0},
        {1940.7397990.9521992.46092.0},
        {1940.09661005.8996992.46886.0},
        {1938.87851014.1768992.46886.0},
        {1938.88111021.4434992.46886.0},
        {1966.59751006.6469992.47456.0},
        {1966.59791014.1024992.46886.0},
        {1939.83511029.912992.46886.0},
        {1956.8541047.3718992.46886.0},
        {1961.3561042.8112992.46886.0},
        {1963.8111037.1263992.47456.0},
        {1961.7331025.8929992.468810.0},
        {1961.7081010.3194992.468810.0},
        {1966.59891029.7954992.47456.0},
        {1961.41391017.8281992.468810.0},
        {1966.59851021.7686992.46886.0},
        {1128.7106, -1.97791000.67971.0},
        {1125.23881.611000.67971.0},
        {1125.1249, -5.04891000.67971.0},
        {1127.41393.01991000.67971.0},
        {1135.0634, -3.86951000.67971.0},
        {1135.08610.61071000.67971.0},
        {1132.8943, -1.71391000.67971.0},
        {1125.37273.03151000.67971.0},
        {1119.0272, -1.49161000.69241.0}
    },
#endif

ac_MaxPassengers[] =
{
    0x103311130x113111310x113313130x801333010x1381F110,
    0x103111030x10001F100x111133110x131133110x31101100,
    0x300023010x110313110x111113310x100131110x01131100,
    0x111111100x111000310x111301110x331133110x11111101,
    0x331011330x101005100x031331110xFF11113F0x13330111,
    0xFF1311110x0000FF3F
},

ac_vMods[] =
{
    0x033C27000x000000000x00FFFE000x000000070x000000000x000000000x021A27FA0x000000000x00FFFE00,
    0x000000070x0003C0000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x023B27850x000000000x00FFFE00,
    0x000000070x000000000x000000000x02BC47030x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x03BA278A0x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x028E078A0x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x023107440x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x0228073A0x000000000x00FFFE000x000000070x000000000x00000000,
    0x02BD47010x000000000x00FFFE000x000000070x000000000x000000000x023A27800x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x0228077A0x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x027A27CA0x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x0282278A0x000000000x00FFFE000x000000070x0003C0000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x023E07C00x000000000x00FFFE000x000000070x000000000x00000000,
    0x037037300x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x031D27750x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x02BE47880x000000000x00FFFE00,
    0x000000070x0003C0000x000000000x020107710x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x029A0FCE0x000000000x00FFFE000x000000070x0000C0000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x033827000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x023F87950x000000000x00FFFE000x000000070x000000000x00000000,
    0x029F078C0x000000000x00FFFE000x000000070x0003C0000x000000000x029627EA0x000000000x00FFFE00,
    0x000000070x0003C0000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x0236C7820x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x029E1FCA0x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000xFC0004370x000000000x021C0000,
    0x020007000x000000000x00FFFE000x03FE60070x000000000x000000000x020007000x000000000x00FFFE00,
    0x00001B870x000000010x01E000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x039E07D20x000000000x00FFFE000x000000070x0003C0000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x023CC7000x000000000x00FFFE00,
    0x000000070x000300000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x038E07D60x000000000x00FFFE000x000000070x0003C0000x00000000,
    0x023D07090x000000000x00FFFE000x000000070x0000C0000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x029E1F8A0x000000000x00FFFE000x000000070x0003C0000x00000000,
    0x029C077A0x000000000x00FFFE000x000000070x0003C0000x000000000x02BD076C0x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000xFFFFFE000x000000070x000000000x000001F8,
    0x020007000x000000000x00FFFFFE0x000000070xC00000000x000020070xFE0007000x000000030x00FFFE00,
    0x000000070x00003C000x000006000xCE0007000xFF8000000x00FFFE010x000000070x3C0000000x00000000,
    0x020007000x000003FC0x00FFFE000x000000070x003C00000x000018000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x007FE0000x00FFFE000x000000070x03C000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000470x0000003E0x3C000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x000000000x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x00001C000x00FFFE00,
    0x0000000F0x000000000x0003C0000x020007000x000000000x00FFFE000x000000070x000003C00xC0000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x029607C20x000000000x00FFFE000x000000070x000000000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x03FFE7CF0x000000000x00FFFE000x000000070x0003C0000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x031727F10x000000000x00FFFE000x000000070x000300000x000000000x000000000x000000000x00000000,
    0x000000000x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x000000000x000000000x000000000x000000000x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x025627F00x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x039E07C20x000000000x00FFFE000x000000070x0003C0000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x000000000x020007000x000000000x00FFFE000x000000070x000000000x00000000,
    0x020007000x000000000x00FFFE000x000000070x000000000x000000000x020007000x000000000x00FFFE00,
    0x000000070x000000000x00000000
};

static stock const Float:ac_wMinRange[] =
{
    25.025.025.030.025.035.0,
    25.035.040.040.025.055.0,
    50.050.050.04.065.0
};

enum acInfo
{
    Float:acPosX,
    Float:acPosY,
    Float:acPosZ,
    Float:acDropJpX,
    Float:acDropJpY,
    Float:acDropJpZ,
    Float:acSpawnPosX,
    Float:acSpawnPosY,
    Float:acSpawnPosZ,
    Float:acSetVehHealth,
    Float:acLastPosX,
    Float:acLastPosY,
    Float:acSetPosX,
    Float:acSetPosY,
    Float:acSetPosZ,
    acCamMode,
    acSpeed,
    acHealth,
    acArmour,
    acMoney,
    acShotWeapon,
    acHoldWeapon,
    acLastWeapon,
    acEnterSeat,
    acEnterVeh,
    acKickVeh,
    acVeh,
    acSeat,
    acNextDialog,
    acDialog,
    acInt,
    acAnim,
    acSpecAct,
    acNextSpecAct,
    acLastSpecAct,
    acLastPickup,
    acReloadTick,
    acShotTick,
    acSpawnTick,
    acTimerTick,
    acSetPosTick,
    acUpdateTick,
    acEnterVehTick,
    acSpawnWeapon1,
    acSpawnWeapon2,
    acSpawnWeapon3,
    acSpawnAmmo1,
    acSpawnAmmo2,
    acSpawnAmmo3,
    acSpawnRes,
    acTimerID,
    acKickTimerID,
    acParachute,
    acIntRet,
    acKicked,
    acIp[16],
    acSet[12],
    acGtc[20],
    acWeapon[13],
    acAmmo[13],
    acSetWeapon[13],
    acGiveAmmo[13],
    acGtcSetWeapon[13],
    acGtcGiveAmmo[13],
    acNOPCount[12],
    acCheatCount[22],
    acCall[sizeof ac_Mtfc],
    acFloodCount[sizeof ac_Mtfc],
    bool:acNOPAllow[sizeof ac_NOPAllow],
    bool:acACAllow[sizeof ac_ACAllow],
    bool:acStuntBonus,
    bool:acModShop,
    bool:acUnFrozen,
    bool:acOnline,
    bool:acDeathRes,
    bool:acDmgRes,
    bool:acVehDmgRes,
    bool:acForceClass,
    bool:acClassRes,
    bool:acDead,
    bool:acTpToZ,
    bool:acIntEnterExits,
    bool:acSpec
}

enum acVehInfo
{
    Float:acVelX,
    Float:acVelY,
    Float:acVelZ,
    Float:acTrVelX,
    Float:acTrVelY,
    Float:acTrVelZ,
    Float:acPosX,
    Float:acPosY,
    Float:acPosZ,
    Float:acSpawnPosX,
    Float:acSpawnPosY,
    Float:acSpawnPosZ,
    Float:acSpawnZAngle,
    Float:acPosDiff,
    Float:acZAngle,
    Float:acHealth,
    acLastSpeed,
    acSpeedDiff,
    acTrSpeedDiff,
    acDriver,
    acPanels,
    acDoors,
    acLights,
    acTires,
    acInt,
    acSpeed,
    acTrSpeed,
    acPaintJob,
    acLocked[MAX_PLAYERS],
    bool:acSpawned
}

enum acPickInfo
{
    Float:acPosX,
    Float:acPosY,
    Float:acPosZ,
    acType,
    acWeapon
}

static
    Float:ac_ClassPos[AC_MAX_CLASSES][3],
    ac_ClassWeapon[AC_MAX_CLASSES][3],
    ac_ClassAmmo[AC_MAX_CLASSES][3],

    #if AC_USE_STATISTICS
        ac_sInfo[6],
    #endif

    ACInfo[MAX_PLAYERS][acInfo],
    ACVehInfo[MAX_VEHICLES][acVehInfo],
    ACPickInfo[MAX_PICKUPS][acPickInfo],

    #if defined GetLocalIP
        ac_BindAddr[10][16],
    #else
        ac_BindAddr[16],
    #endif

    bool:ac_IntEnterExits = true,
    bool:ac_StuntBonus = true,
    bool:ac_LagCompMode,
    #if !AC_USE_QUERY
        bool:ac_QueryEnable,
    #endif
    bool:ac_RconEnable,
    bool:ac_PedAnims;

static stock bool:ac_VehFriendlyFire;

forward ac_IsValidFloat(Float:value);
forward Float:ac_GetVectorDist(Float:ac_x, Float:ac_y, Float:ac_z = 0.0);

ac_fpublic ac_AddStaticVehicle(vehicleid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle)
{
    ACVehInfo[vehicleid][acInt] =
    ACVehInfo[vehicleid][acSpeed] =
    ACVehInfo[vehicleid][acTires] =
    ACVehInfo[vehicleid][acLights] =
    ACVehInfo[vehicleid][acDoors] =
    ACVehInfo[vehicleid][acPanels] =
    ACVehInfo[vehicleid][acLastSpeed] =
    ACVehInfo[vehicleid][acSpeedDiff] =
    ACVehInfo[vehicleid][acTrSpeedDiff] = 0;
    ACVehInfo[vehicleid][acPaintJob] = 3;
    ACVehInfo[vehicleid][acHealth] = 1000.0;
    ACVehInfo[vehicleid][acSpawned] = true;
    ACVehInfo[vehicleid][acTrSpeed] = -1;
    ACVehInfo[vehicleid][acPosDiff] =
    ACVehInfo[vehicleid][acTrVelX] =
    ACVehInfo[vehicleid][acTrVelY] =
    ACVehInfo[vehicleid][acTrVelZ] =
    ACVehInfo[vehicleid][acVelX] =
    ACVehInfo[vehicleid][acVelY] =
    ACVehInfo[vehicleid][acVelZ] = 0.0;
    ACVehInfo[vehicleid][acSpawnPosX] =
    ACVehInfo[vehicleid][acPosX] = spawn_x;
    ACVehInfo[vehicleid][acSpawnPosY] =
    ACVehInfo[vehicleid][acPosY] = spawn_y;
    ACVehInfo[vehicleid][acSpawnPosZ] =
    ACVehInfo[vehicleid][acPosZ] = spawn_z;
    ACVehInfo[vehicleid][acSpawnZAngle] =
    ACVehInfo[vehicleid][acZAngle] = z_angle;
    ACVehInfo[vehicleid][acDriver] = INVALID_PLAYER_ID;
    return 1;
}

ac_fpublic ac_AddPlayerClass(classid, Float:spawn_x, Float:spawn_y, Float:spawn_z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
{
    if(0 <= classid < AC_MAX_CLASSES)
    {
        #undef AC_MAX_CLASSES
        ac_ClassPos[classid][0] = spawn_x;
        ac_ClassPos[classid][1] = spawn_y;
        ac_ClassPos[classid][2] = spawn_z;
        ac_ClassWeapon[classid][0] = weapon1;
        ac_ClassAmmo[classid][0] = weapon1_ammo;
        ac_ClassWeapon[classid][1] = weapon2;
        ac_ClassAmmo[classid][1] = weapon2_ammo;
        ac_ClassWeapon[classid][2] = weapon3;
        ac_ClassAmmo[classid][2] = weapon3_ammo;
    }
    return 1;
}

ac_fpublic ac_SetSpawnInfo(playerid, ac_team, ac_skin, Float:ac_x, Float:ac_y, Float:ac_z, Float:ac_rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
{
    if(!SetSpawnInfo(playerid, ac_team, ac_skin, ac_x, ac_y, ac_z, ac_rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)) return 0;
    ACInfo[playerid][acSpawnPosX] = ac_x;
    ACInfo[playerid][acSpawnPosY] = ac_y;
    ACInfo[playerid][acSpawnPosZ] = ac_z;
    ACInfo[playerid][acSpawnWeapon1] = weapon1;
    ACInfo[playerid][acSpawnAmmo1] = weapon1_ammo;
    ACInfo[playerid][acSpawnWeapon2] = weapon2;
    ACInfo[playerid][acSpawnAmmo2] = weapon2_ammo;
    ACInfo[playerid][acSpawnWeapon3] = weapon3;
    ACInfo[playerid][acSpawnAmmo3] = weapon3_ammo;
    return 1;
}

ac_fpublic ac_CreatePickup(pickupid, modelid, type, Float:ac_X, Float:ac_Y, Float:ac_Z)
{
    ACPickInfo[pickupid][acType] = 5;
    ACPickInfo[pickupid][acWeapon] = 0;
    #if AC_USE_PICKUP_WEAPONS
        switch(type)
        {
            case 231522:
            {
                switch(modelid)
                {
                    case 370: ACPickInfo[pickupid][acType] = 1;
                    case 1240: ACPickInfo[pickupid][acType] = 2;
                    case 1242: ACPickInfo[pickupid][acType] = 3;
                    case 321..326331333..339341..353355..369371372:
                    {
                        for(new ac_i = 46; ac_i >= 1; --ac_i)
                        {
                            if(ac_wModel[ac_i] == modelid)
                            {
                                ACPickInfo[pickupid][acType] = 4;
                                ACPickInfo[pickupid][acWeapon] = ac_i;
                                break;
                            }
                        }
                    }
                }
            }
        }
    #endif
    ACPickInfo[pickupid][acPosX] = ac_X;
    ACPickInfo[pickupid][acPosY] = ac_Y;
    ACPickInfo[pickupid][acPosZ] = ac_Z;
    return 1;
}

#if AC_USE_PICKUP_WEAPONS\
    && defined Streamer_SetIntData
    #if defined STREAMER_ENABLE_TAGS
        ac_fpublic ac_CreateDynamicPickup(STREAMER_TAG_PICKUP:pickupid, modelid, type)
    #else
        ac_fpublic ac_CreateDynamicPickup(pickupid, modelid, type)
    #endif
    {
        Streamer_SetIntData(STREAMER_TYPE_PICKUP, pickupid, E_STREAMER_EXTRA_ID, 0);
        switch(type)
        {
            case 231522:
            {
                switch(modelid)
                {
                    case 370: Streamer_SetIntData(STREAMER_TYPE_PICKUP, pickupid, E_STREAMER_EXTRA_ID, 1);
                    case 1240: Streamer_SetIntData(STREAMER_TYPE_PICKUP, pickupid, E_STREAMER_EXTRA_ID, 2);
                    case 1242: Streamer_SetIntData(STREAMER_TYPE_PICKUP, pickupid, E_STREAMER_EXTRA_ID, 3);
                    case 321..326331333..339341..353355..369371372:
                    {
                        for(new ac_i = 46; ac_i >= 1; --ac_i)
                        {
                            if(ac_wModel[ac_i] == modelid)
                            {
                                Streamer_SetIntData(STREAMER_TYPE_PICKUP, pickupid, E_STREAMER_EXTRA_ID, ac_i + 100);
                                break;
                            }
                        }
                    }
                }
            }
        }
        return 1;
    }
#endif

#if defined Streamer_UpdateEx
    stock ac_Streamer_UpdateEx(playerid, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, type = -1, compensatedtime = -1, freezeplayer = 1)
    {
        if(!Streamer_UpdateEx(playerid, x, y, z, worldid, interiorid, type, compensatedtime, freezeplayer)) return 0;
        if(compensatedtime >= 0)
        {
            ACInfo[playerid][acSet][7] = 4;
            ACInfo[playerid][acTpToZ] = false;
            ACInfo[playerid][acNOPCount][10] = 0;
            ACInfo[playerid][acSetPosX] = x;
            ACInfo[playerid][acSetPosY] = y;
            ACInfo[playerid][acSetPosZ] = z;
            ACInfo[playerid][acSetPosTick] =
            ACInfo[playerid][acGtc][10] = GetTickCount() + 3850;
            #if defined FreezeSyncPacket
                if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
            #endif
        }
        return 1;
    }

    #if defined _ALS_Streamer_UpdateEx
        #undef Streamer_UpdateEx
    #else
        #define _ALS_Streamer_UpdateEx
    #endif
    #define Streamer_UpdateEx ac_Streamer_UpdateEx
#endif

#if defined GetPlayerVersion
    stock ac_GetPlayerVersion(playerid, version[], len)
    {
        new ac_i, ac_ret = GetPlayerVersion(playerid, version, len);
        for(ac_i = ac_ret - 1; ac_i >= 0; --ac_i)
        {
            if(version[ac_i] == '%')
            {
                strdel(version, ac_i, ac_i + 1);
                ac_ret--;
            }
        }
        while((ac_i = strfind(version, "~k~")) != -1)
        {
            strdel(version, ac_i, ac_i + 3);
            ac_ret -= 3;
        }
        return ac_ret;
    }

    #if defined _ALS_GetPlayerVersion
        #undef GetPlayerVersion
    #else
        #define _ALS_GetPlayerVersion
    #endif
    #define GetPlayerVersion ac_GetPlayerVersion
#endif

#if !defined PAWNRAKNET_INC_
    stock ac_GetPlayerFacingAngle(playerid, &Float:ang)
    {
        if(!GetPlayerFacingAngle(playerid, ang)) return 0;
        if(!ac_IsValidFloat(ang)) ang = 0.0;
        ang = ac_AbsoluteAngle(ang);
        return 1;
    }

    #if defined _ALS_GetPlayerFacingAngle
        #undef GetPlayerFacingAngle
    #else
        #define _ALS_GetPlayerFacingAngle
    #endif
    #define GetPlayerFacingAngle ac_GetPlayerFacingAngle

    stock ac_GetVehicleZAngle(vehicleid, &Float:z_angle)
    {
        if(!GetVehicleZAngle(vehicleid, z_angle)) return 0;
        if(!ac_IsValidFloat(z_angle)) z_angle = 0.0;
        z_angle = ac_AbsoluteAngle(z_angle);
        #undef ac_AbsoluteAngle
        return 1;
    }

    #if defined _ALS_GetVehicleZAngle
        #undef GetVehicleZAngle
    #else
        #define _ALS_GetVehicleZAngle
    #endif
    #define GetVehicleZAngle ac_GetVehicleZAngle
#endif

ac_fpublic ac_DestroyVehicle(vehicleid)
{
    if(!DestroyVehicle(vehicleid)) return 0;
    ACVehInfo[vehicleid][acSpawned] = false;
    new ac_gtc = GetTickCount() + 2650;
    #if defined foreach
        foreach(new ac_i : Player)
        {
            if(ACInfo[ac_i][acVeh] == vehicleid) ACInfo[ac_i][acSetPosTick] = ACInfo[ac_i][acGtc][10] = ac_gtc;
        }
    #else
        #if defined GetPlayerPoolSize
            for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
        #else
            for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
        #endif
        {
            if(IsPlayerInVehicle(ac_i, vehicleid)) ACInfo[ac_i][acSetPosTick] = ACInfo[ac_i][acGtc][10] = ac_gtc;
        }
    #endif
    return 1;
}

ac_fpublic ac_DestroyPickup(pickupid)
{
    if(!DestroyPickup(pickupid)) return 0;
    ACPickInfo[pickupid][acWeapon] = 0;
    ACPickInfo[pickupid][acType] = 0;
    #if AC_USE_PICKUP_WEAPONS
        #if defined foreach
            foreach(new ac_i : Player)
            {
        #else
            #if defined GetPlayerPoolSize
                for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
            #else
                for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
            #endif
            {
                if(!IsPlayerConnected(ac_i)) continue;
        #endif
            if(ACInfo[ac_i][acLastPickup] == pickupid) ACInfo[ac_i][acLastPickup] = -1;
        }
    #endif
    return 1;
}

#if defined DestroyDynamicPickup
    #if defined STREAMER_ENABLE_TAGS
        ac_fpublic ac_DestroyDynamicPickup(STREAMER_TAG_PICKUP:pickupid)
    #else
        ac_fpublic ac_DestroyDynamicPickup(pickupid)
    #endif
    {
        if(!DestroyDynamicPickup(pickupid)) return 0;
        #if AC_USE_PICKUP_WEAPONS
            #if defined foreach
                foreach(new ac_i : Player)
                {
            #else
                #if defined GetPlayerPoolSize
                    for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
                #else
                    for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
                #endif
                {
                    if(!IsPlayerConnected(ac_i)) continue;
            #endif
                if(ACInfo[ac_i][acLastPickup] > MAX_PICKUPS &&
                (ACInfo[ac_i][acLastPickup] - MAX_PICKUPS) == _:pickupid) ACInfo[ac_i][acLastPickup] = -1;
            }
        #endif
        return 1;
    }
#endif

ac_fpublic ac_DisableInteriorEnterExits()
{
    ac_IntEnterExits = false;
    return DisableInteriorEnterExits();
}

ac_fpublic ac_UsePlayerPedAnims()
{
    ac_PedAnims = true;
    return UsePlayerPedAnims();
}

#if defined EnableVehicleFriendlyFire
    ac_fpublic ac_EnableVehicleFriendlyFire()
    {
        ac_VehFriendlyFire = true;
        return EnableVehicleFriendlyFire();
    }
#endif

ac_fpublic ac_EnableStuntBonusForAll(enable)
{
    ac_StuntBonus = (enable != 0);
    #if defined foreach
        foreach(new ac_i : Player) ACInfo[ac_i][acStuntBonus] = ac_StuntBonus;
    #else
        #if defined GetPlayerPoolSize
            for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
        #else
            for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
        #endif
        {
            if(IsPlayerConnected(ac_i)) ACInfo[ac_i][acStuntBonus] = ac_StuntBonus;
        }
    #endif
    return EnableStuntBonusForAll(enable);
}

ac_fpublic ac_EnableStuntBonusForPlayer(playerid, enable)
{
    if(!EnableStuntBonusForPlayer(playerid, enable)) return 0;
    ACInfo[playerid][acStuntBonus] = (enable != 0);
    return 1;
}

ac_fpublic ac_ShowPlayerDialog(playerid, dialogid)
{
    if(dialogid > 65535) dialogid %= 32768;
    ACInfo[playerid][acDialog] = dialogid;
    return 1;
}

ac_fpublic ac_fs_ShowPlayerDialog(playerid, dialogid)
{
    if(dialogid > 65535) dialogid %= 32768;
    ACInfo[playerid][acNextDialog] = dialogid;
    return 1;
}

ac_fpublic ac_TogglePlayerControllable(playerid, toggle)
{
    if(!TogglePlayerControllable(playerid, toggle)) return 0;
    ACInfo[playerid][acUnFrozen] = (toggle != 0);
    #if defined FreezeSyncPacket
        if(toggle) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
        else if(ACInfo[playerid][acACAllow][33]) FreezeSyncPacket(playerid, E_ALL_SYNC, true);
    #endif
    return 1;
}

ac_fpublic ac_TogglePlayerSpectating(playerid, toggle)
{
    if(!TogglePlayerSpectating(playerid, toggle)) return 0;
    if(ACInfo[playerid][acSpec] || ACInfo[playerid][acSet][5] != -1)
    {
        if(!toggle)
        {
            if(ACInfo[playerid][acDead]) ACInfo[playerid][acSet][6] = 4;
            else
            {
                ACInfo[playerid][acSet][3] =
                ACInfo[playerid][acSet][5] =
                ACInfo[playerid][acSet][7] =
                ACInfo[playerid][acSet][8] =
                ACInfo[playerid][acNextSpecAct] = -1;
                for(new ac_i = 12; ac_i >= 0; --ac_i)
                {
                    ACInfo[playerid][acSetWeapon][ac_i] = -1;
                    ACInfo[playerid][acGiveAmmo][ac_i] = -65535;
                }
                ACInfo[playerid][acForceClass] =
                ACInfo[playerid][acUnFrozen] = true;
                ACInfo[playerid][acSet][6] = 1;
                #if defined FreezeSyncPacket
                    FreezeSyncPacket(playerid, E_ALL_SYNC, false);
                #endif
            }
            ACInfo[playerid][acSpawnRes]++;
            ACInfo[playerid][acSpec] = false;
            ACInfo[playerid][acSpawnTick] = ACInfo[playerid][acNOPCount][9] = 0;
            ACInfo[playerid][acGtc][12] = GetTickCount() + 2650;
        }
    }
    else if(toggle)
    {
        ACInfo[playerid][acSet][5] = 1;
        ACInfo[playerid][acNOPCount][8] = 0;
        ACInfo[playerid][acGtc][11] = GetTickCount() + 2650;
    }
    return 1;
}

ac_fpublic ac_SpawnPlayer(playerid)
{
    if(!SpawnPlayer(playerid)) return 0;
    if(ACInfo[playerid][acDead]) ACInfo[playerid][acSet][6] = 5;
    else
    {
        ACInfo[playerid][acSet][3] =
        ACInfo[playerid][acSet][7] =
        ACInfo[playerid][acSet][8] =
        ACInfo[playerid][acNextSpecAct] = -1;
        for(new ac_i = 12; ac_i >= 0; --ac_i)
        {
            ACInfo[playerid][acSetWeapon][ac_i] = -1;
            ACInfo[playerid][acGiveAmmo][ac_i] = -65535;
        }
        ACInfo[playerid][acUnFrozen] = true;
        ACInfo[playerid][acSet][6] = 2;
        #if defined FreezeSyncPacket
            FreezeSyncPacket(playerid, E_ALL_SYNC, false);
        #endif
    }
    ACInfo[playerid][acSpawnRes]++;
    ACInfo[playerid][acSpawnTick] = ACInfo[playerid][acNOPCount][9] = 0;
    ACInfo[playerid][acGtc][12] = GetTickCount() + 2650;
    return 1;
}

ac_fpublic ac_SetPlayerHealth(playerid, Float:ac_health)
{
    if(!SetPlayerHealth(playerid, ac_health)) return 0;
    if(ac_health < 0.0) ac_health = 0.0;
    ACInfo[playerid][acNOPCount][3] = 0;
    ACInfo[playerid][acSet][1] = floatround(ac_health, floatround_tozero);
    ACInfo[playerid][acGtc][2] = GetTickCount() + 2650;
    #if defined FreezeSyncPacket
        if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
    #endif
    return 1;
}

ac_fpublic ac_SetPlayerArmour(playerid, Float:ac_armour)
{
    if(!SetPlayerArmour(playerid, ac_armour)) return 0;
    if(ac_armour < 0.0) ac_armour = 0.0;
    ACInfo[playerid][acNOPCount][5] = 0;
    ACInfo[playerid][acSet][2] = floatround(ac_armour, floatround_tozero);
    ACInfo[playerid][acGtc][4] = GetTickCount() + 2650;
    #if defined FreezeSyncPacket
        if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
    #endif
    return 1;
}

ac_fpublic ac_GivePlayerWeapon(playerid, weaponid, ac_ammo)
{
    if(ac_IsValidWeapon(weaponid))
    {
        new ac_s = ac_wSlot[weaponid];
        ACInfo[playerid][acNOPCount][0] = ACInfo[playerid][acNOPCount][1] = 0;
        if(ac_IsWeaponSlotWithAmmo(ac_s))
        {
            if(ac_IsAmmoSharingInSlot(ac_s) || (ACInfo[playerid][acSetWeapon][ac_s] == -1
            ? ACInfo[playerid][acWeapon][ac_s] : ACInfo[playerid][acSetWeapon][ac_s]) == weaponid)
            {
                new ac_tmp;
                if(ACInfo[playerid][acGiveAmmo][ac_s] == -65535) ac_tmp = ACInfo[playerid][acAmmo][ac_s] + ac_ammo;
                else ac_tmp = ACInfo[playerid][acGiveAmmo][ac_s] + ac_ammo;
                if(ac_tmp < -32768)
                {
                    ac_ammo -= ac_tmp + 32768;
                    ac_tmp = -32768;
                }
                else if(ac_tmp > 32767)
                {
                    ac_ammo -= ac_tmp - 32767;
                    ac_tmp = 32767;
                }
                ACInfo[playerid][acGiveAmmo][ac_s] = ac_tmp;
            }
            else
            {
                if(ac_ammo < -32768) ac_ammo = -32768;
                else if(ac_ammo > 32767) ac_ammo = 32767;
                ACInfo[playerid][acGiveAmmo][ac_s] = ac_ammo;
            }
            ACInfo[playerid][acCheatCount][12] = ACInfo[playerid][acReloadTick] = 0;
        }
        else ACInfo[playerid][acGiveAmmo][ac_s] = -65535;
        ACInfo[playerid][acSetWeapon][ac_s] = weaponid;
        ACInfo[playerid][acGtcSetWeapon][ac_s] =
        ACInfo[playerid][acGtcGiveAmmo][ac_s] = GetTickCount() + 2850;
    }
    return GivePlayerWeapon(playerid, weaponid, ac_ammo);
}

ac_fpublic ac_SetPlayerAmmo(playerid, weaponid, ac_ammo)
{
    if(ac_IsValidWeapon(weaponid))
    {
        new ac_s = ac_wSlot[weaponid];
        if(ac_ammo < -32768) ac_ammo = -32768;
        else if(ac_ammo > 32767) ac_ammo = 32767;
        if(ac_IsWeaponSlotWithAmmo(ac_s) && (ACInfo[playerid][acSetWeapon][ac_s] == -1
        ? ACInfo[playerid][acWeapon][ac_s] : ACInfo[playerid][acSetWeapon][ac_s]) == weaponid)
        {
            ACInfo[playerid][acNOPCount][1] = 0;
            ACInfo[playerid][acGiveAmmo][ac_s] = ac_ammo;
            ACInfo[playerid][acGtcGiveAmmo][ac_s] = GetTickCount() + 2850;
        }
    }
    return SetPlayerAmmo(playerid, weaponid, ac_ammo);
}

ac_fpublic ac_ResetPlayerWeapons(playerid)
{
    if(!ResetPlayerWeapons(playerid)) return 0;
    for(new ac_i = 12; ac_i >= 0; --ac_i)
    {
        ACInfo[playerid][acWeapon][ac_i] = ACInfo[playerid][acAmmo][ac_i] = 0;
        ACInfo[playerid][acSetWeapon][ac_i] = -1;
        ACInfo[playerid][acGiveAmmo][ac_i] = -65535;
    }
    ACInfo[playerid][acGtc][6] = GetTickCount() + 2650;
    return 1;
}

ac_fpublic ac_GivePlayerMoney(playerid, ac_money)
{
    if(!GivePlayerMoney(playerid, ac_money)) return 0;
    ACInfo[playerid][acNOPCount][11] = AC_MAX_MONEY_WARNINGS;
    ACInfo[playerid][acMoney] += ac_money;
    #undef AC_MAX_MONEY_WARNINGS
    return 1;
}

ac_fpublic ac_ResetPlayerMoney(playerid)
{
    if(!ResetPlayerMoney(playerid)) return 0;
    ACInfo[playerid][acNOPCount][11] = 0;
    ACInfo[playerid][acMoney] = 0;
    return 1;
}

ac_fpublic ac_GetPlayerMoney(playerid) return ACInfo[playerid][acMoney];

ac_fpublic ac_SetPlayerSpecialAction(playerid, ac_actionid)
{
    if(!SetPlayerSpecialAction(playerid, ac_actionid)) return 0;
    if(ac_actionid == SPECIAL_ACTION_USEJETPACK || 24 <= ac_actionid <= 25 ||
    (ac_actionid == SPECIAL_ACTION_USECELLPHONE || ac_actionid == 68 || SPECIAL_ACTION_DANCE1 <= ac_actionid <= SPECIAL_ACTION_DANCE4) && ACInfo[playerid][acVeh] == 0 ||
    ac_actionid == SPECIAL_ACTION_STOPUSECELLPHONE && ACInfo[playerid][acSpecAct] == SPECIAL_ACTION_USECELLPHONE ||
    (ac_actionid == SPECIAL_ACTION_HANDSUP || SPECIAL_ACTION_DRINK_BEER <= ac_actionid <= SPECIAL_ACTION_DRINK_SPRUNK) && ACInfo[playerid][acSpecAct] != SPECIAL_ACTION_ENTER_VEHICLE && ACInfo[playerid][acVeh] == 0 ||
    ac_actionid == SPECIAL_ACTION_NONE && ACInfo[playerid][acSpecAct] != SPECIAL_ACTION_DUCK &&
    ACInfo[playerid][acSpecAct] != SPECIAL_ACTION_ENTER_VEHICLE && ACInfo[playerid][acSpecAct] != SPECIAL_ACTION_HANDSUP)
    {
        ACInfo[playerid][acNOPCount][6] = 0;
        if((ac_actionid == 68 || SPECIAL_ACTION_HANDSUP <= ac_actionid <= SPECIAL_ACTION_USECELLPHONE || SPECIAL_ACTION_DRINK_BEER <= ac_actionid <= 25) &&
        SPECIAL_ACTION_DANCE1 <= ACInfo[playerid][acSpecAct] <= SPECIAL_ACTION_DANCE4 ||
        SPECIAL_ACTION_DRINK_BEER <= ac_actionid <= 25 && ACInfo[playerid][acSpecAct] == SPECIAL_ACTION_DUCK ||
        (ac_actionid == SPECIAL_ACTION_NONE || 24 <= ac_actionid <= 25) && ACInfo[playerid][acVeh] > 0 ||
        24 <= ac_actionid <= 25 && ACInfo[playerid][acSpecAct] == SPECIAL_ACTION_ENTER_VEHICLE) ACInfo[playerid][acNextSpecAct] = ac_actionid;
        else
        {
            if(ac_actionid == SPECIAL_ACTION_STOPUSECELLPHONE) ac_actionid = SPECIAL_ACTION_NONE;
            else if(ac_actionid == SPECIAL_ACTION_USEJETPACK || ac_actionid == SPECIAL_ACTION_HANDSUP ||
            ac_actionid == 68 || SPECIAL_ACTION_DANCE1 <= ac_actionid <= SPECIAL_ACTION_DANCE4 ||
            SPECIAL_ACTION_DRINK_BEER <= ac_actionid <= SPECIAL_ACTION_DRINK_SPRUNK) ACInfo[playerid][acNextSpecAct] = ACInfo[playerid][acSpecAct];
            else ACInfo[playerid][acNextSpecAct] = -1;
            ACInfo[playerid][acSet][3] = ac_actionid;
            ACInfo[playerid][acGtc][5] = GetTickCount() + 3250;
            #if defined FreezeSyncPacket
                if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
            #endif
        }
    }
    return 1;
}

ac_fpublic ac_PlayerSpecPlayerOrVehicle(playerid)
{
    ACInfo[playerid][acGtc][16] = GetTickCount() + 2650;
    return 1;
}

ac_fpublic ac_SetPlayerInterior(playerid, interiorid)
{
    if(!SetPlayerInterior(playerid, interiorid)) return 0;
    ACInfo[playerid][acNOPCount][2] = 0;
    ACInfo[playerid][acSet][0] = interiorid % 256;
    ACInfo[playerid][acGtc][16] =
    ACInfo[playerid][acGtc][0] = GetTickCount() + 3250;
    return 1;
}

ac_fpublic ac_SetPlayerPos(playerid, Float:ac_x, Float:ac_y, Float:ac_z)
{
    if(!SetPlayerPos(playerid, ac_x, ac_y, ac_z)) return 0;
    ACInfo[playerid][acSet][7] = 1;
    ACInfo[playerid][acTpToZ] = false;
    ACInfo[playerid][acNOPCount][10] = 0;
    ACInfo[playerid][acSetPosX] = ac_x;
    ACInfo[playerid][acSetPosY] = ac_y;
    ACInfo[playerid][acSetPosZ] = ac_z;
    ACInfo[playerid][acSetPosTick] =
    ACInfo[playerid][acGtc][10] = GetTickCount() + 3850;
    #if defined FreezeSyncPacket
        if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
    #endif
    return 1;
}

ac_fpublic ac_SetPlayerPosFindZ(playerid, Float:ac_x, Float:ac_y, Float:ac_z)
{
    if(!SetPlayerPosFindZ(playerid, ac_x, ac_y, ac_z)) return 0;
    ACInfo[playerid][acSet][7] = 2;
    ACInfo[playerid][acTpToZ] = true;
    ACInfo[playerid][acNOPCount][10] = 0;
    ACInfo[playerid][acSetPosX] = ac_x;
    ACInfo[playerid][acSetPosY] = ac_y;
    ACInfo[playerid][acSetPosTick] =
    ACInfo[playerid][acGtc][10] = GetTickCount() + 3850;
    #if defined FreezeSyncPacket
        if(!ACInfo[playerid][acUnFrozen]) FreezeSyncPacket(playerid, E_ALL_SYNC, false);
    #endif
    return 1;
}

ac_fpublic ac_SetPlayerVelocity(playerid, Float:ac_X, Float:ac_Y, Float:ac_Z)
{
    if(!SetPlayerVelocity(playerid, ac_X, ac_Y, ac_Z)) return 0;
    ACInfo[playerid][acSpeed] = ac_GetSpeed(ac_X, ac_Y, ac_Z);
    ACInfo[playerid][acGtc][9] = GetTickCount() + 1650;
    return 1;
}

ac_fpublic ac_PutPlayerInVehicle(playerid, vehicleid, ac_seatid)
{
    if(!PutPlayerInVehicle(playerid, vehicleid, ac_seatid)) return 0;
    if(!(SPECIAL_ACTION_DANCE1 <= ACInfo[playerid][acSpecAct] <= SPECIAL_ACTION_DANCE4) &&
    !(SPECIAL_ACTION_DRINK_BEER <= ACInfo[playerid][acSpecAct] <= SPECIAL_ACTION_DRINK_SPRUNK) &&
    GetPlayerVirtualWorld(playerid) == GetVehicleVirtualWorld(vehicleid))
    {
        new ac_model = GetVehicleModel(vehicleid);
        ACInfo[playerid][acNOPCount][7] = 0;
        ACInfo[playerid][acSet][8] = vehicleid;
        if(ac_IsABusEx(ac_model) || ac_IsVehicleSeatOccupied(vehicleid, ac_seatid) ||
        ac_seatid > ac_GetMaxPassengers(ac_model)) ACInfo[playerid][acSet][4] = -1;
        else ACInfo[playerid][acSet][4] = ac_seatid;
        ACInfo[playerid][acGtc][1] = GetTickCount() + 2650;
    }
    return 1;
}

ac_fpublic ac_RemovePlayerFromVehicle(playerid)
{
    if(!RemovePlayerFromVehicle(playerid)) return 0;
    ACInfo[playerid][acSet][9] = 1;
    ACInfo[playerid][acGtc][7] = GetTickCount() + 4650;
    return 1;
}

ac_fpublic ac_SetVehiclePos(vehicleid, Float:ac_x, Float:ac_y, Float:ac_z)
{
    if(!SetVehiclePos(vehicleid, ac_x, ac_y, ac_z)) return 0;
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACInfo[ac_driver][acSet][7] = 3;
        ACInfo[ac_driver][acTpToZ] = false;
        ACInfo[ac_driver][acNOPCount][10] = 0;
        ACInfo[ac_driver][acSetPosX] = ac_x;
        ACInfo[ac_driver][acSetPosY] = ac_y;
        ACInfo[ac_driver][acSetPosZ] = ac_z;
        ACInfo[ac_driver][acSetPosTick] =
        ACInfo[ac_driver][acGtc][10] = GetTickCount() + 3850;
        #if defined FreezeSyncPacket
            if(!ACInfo[ac_driver][acUnFrozen]) FreezeSyncPacket(ac_driver, E_ALL_SYNC, false);
        #endif
    }
    else
    {
        ACVehInfo[vehicleid][acPosX] = ac_x;
        ACVehInfo[vehicleid][acPosY] = ac_y;
        ACVehInfo[vehicleid][acPosZ] = ac_z;
    }
    return 1;
}

ac_fpublic ac_SetVehicleVelocity(vehicleid, Float:ac_X, Float:ac_Y, Float:ac_Z)
{
    if(!SetVehicleVelocity(vehicleid, ac_X, ac_Y, ac_Z)) return 0;
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACVehInfo[vehicleid][acVelX] = ac_X;
        ACVehInfo[vehicleid][acVelY] = ac_Y;
        ACVehInfo[vehicleid][acVelZ] = ac_Z;
        ACVehInfo[vehicleid][acSpeed] = ac_GetSpeed(ac_X, ac_Y, ac_Z);
        ACInfo[ac_driver][acGtc][8] = GetTickCount() + 1650;
    }
    return 1;
}

ac_fpublic ac_SetVehicleAngularVelocity(vehicleid, Float:ac_X, Float:ac_Y, Float:ac_Z)
{
    if(!SetVehicleAngularVelocity(vehicleid, ac_X, ac_Y, ac_Z)) return 0;
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACVehInfo[vehicleid][acVelX] = ac_X;
        ACVehInfo[vehicleid][acVelY] = ac_Y;
        ACVehInfo[vehicleid][acVelZ] = ac_Z;
        ACVehInfo[vehicleid][acSpeed] = ac_GetSpeed(ac_X, ac_Y, ac_Z);
        ACInfo[ac_driver][acGtc][8] = GetTickCount() + 1650;
    }
    return 1;
}

ac_fpublic ac_LinkVehicleToInterior(vehicleid, interiorid)
{
    if(!LinkVehicleToInterior(vehicleid, interiorid)) return 0;
    ACVehInfo[vehicleid][acInt] = interiorid % 256;
    return 1;
}

ac_fpublic ac_ChangeVehiclePaintjob(vehicleid, paintjobid)
{
    ACVehInfo[vehicleid][acPaintJob] = paintjobid;
    return ChangeVehiclePaintjob(vehicleid, paintjobid);
}

ac_fpublic ac_SetVehicleHealth(vehicleid, Float:ac_health)
{
    if(!SetVehicleHealth(vehicleid, ac_health)) return 0;
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACInfo[ac_driver][acNOPCount][4] = 0;
        ACInfo[ac_driver][acSetVehHealth] = ac_health;
        ACInfo[ac_driver][acGtc][3] = GetTickCount() + 2650;
        #if defined FreezeSyncPacket
            if(!ACInfo[ac_driver][acUnFrozen]) FreezeSyncPacket(ac_driver, E_ALL_SYNC, false);
        #endif
    }
    else ACVehInfo[vehicleid][acHealth] = ac_health;
    return 1;
}

ac_fpublic ac_RepairVehicle(vehicleid)
{
    if(!RepairVehicle(vehicleid)) return 0;
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACInfo[ac_driver][acNOPCount][4] = 0;
        ACInfo[ac_driver][acSetVehHealth] = 1000.0;
        ACInfo[ac_driver][acGtc][3] = GetTickCount() + 2650;
        #if defined FreezeSyncPacket
            if(!ACInfo[ac_driver][acUnFrozen]) FreezeSyncPacket(ac_driver, E_ALL_SYNC, false);
        #endif
    }
    else ACVehInfo[vehicleid][acHealth] = 1000.0;
    ACVehInfo[vehicleid][acPanels] =
    ACVehInfo[vehicleid][acDoors] =
    ACVehInfo[vehicleid][acLights] =
    ACVehInfo[vehicleid][acTires] = 0;
    return 1;
}

ac_fpublic ac_UpdateVehicleDamageStatus(vehicleid, ac_panels, ac_doors, ac_lights, ac_tires)
{
    if(!UpdateVehicleDamageStatus(vehicleid, ac_panels, ac_doors, ac_lights, ac_tires)) return 0;
    ACVehInfo[vehicleid][acPanels] = ac_panels;
    ACVehInfo[vehicleid][acDoors] = ac_doors;
    ACVehInfo[vehicleid][acLights] = ac_lights;
    ACVehInfo[vehicleid][acTires] = ac_tires;
    return 1;
}

ac_fpublic ac_SetVehicleParamsEx(vehicleid, ac_engine, ac_lights, ac_alarm, ac_doors, ac_bonnet, ac_boot, ac_objective)
{
    if(!SetVehicleParamsEx(vehicleid, ac_engine, ac_lights, ac_alarm, ac_doors, ac_bonnet, ac_boot, ac_objective)) return 0;
    #if defined foreach
        foreach(new ac_i : Player) ACVehInfo[vehicleid][acLocked][ac_i] = ac_doors;
    #else
        #if defined GetPlayerPoolSize
            for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
        #else
            for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
        #endif
        {
            if(IsVehicleStreamedIn(vehicleid, ac_i)) ACVehInfo[vehicleid][acLocked][ac_i] = ac_doors;
        }
    #endif
    return 1;
}

ac_fpublic ac_SetVehicleParamsForPlayer(vehicleid, playerid, ac_objective, ac_doorslocked)
{
    if(!SetVehicleParamsForPlayer(vehicleid, playerid, ac_objective, ac_doorslocked)) return 0;
    ACVehInfo[vehicleid][acLocked][playerid] = ac_doorslocked;
    return 1;
}

ac_fpublic ac_SetVehicleToRespawn(vehicleid)
{
    new ac_driver = ACVehInfo[vehicleid][acDriver];
    if(ac_driver != INVALID_PLAYER_ID)
    {
        ACInfo[ac_driver][acGtc][8] = GetTickCount() + 1650;
        ACVehInfo[vehicleid][acDriver] = INVALID_PLAYER_ID;
    }
    ACVehInfo[vehicleid][acPaintJob] = 3;
    ACVehInfo[vehicleid][acHealth] = 1000.0;
    ACVehInfo[vehicleid][acSpawned] = true;
    ACVehInfo[vehicleid][acTrSpeed] = -1;
    ACVehInfo[vehicleid][acPosDiff] =
    ACVehInfo[vehicleid][acTrVelX] =
    ACVehInfo[vehicleid][acTrVelY] =
    ACVehInfo[vehicleid][acTrVelZ] =
    ACVehInfo[vehicleid][acVelX] =
    ACVehInfo[vehicleid][acVelY] =
    ACVehInfo[vehicleid][acVelZ] = 0.0;
    ACVehInfo[vehicleid][acSpeed] =
    ACVehInfo[vehicleid][acTires] =
    ACVehInfo[vehicleid][acLights] =
    ACVehInfo[vehicleid][acDoors] =
    ACVehInfo[vehicleid][acPanels] =
    ACVehInfo[vehicleid][acLastSpeed] =
    ACVehInfo[vehicleid][acSpeedDiff] =
    ACVehInfo[vehicleid][acTrSpeedDiff] = 0;
    ACVehInfo[vehicleid][acPosX] = ACVehInfo[vehicleid][acSpawnPosX];
    ACVehInfo[vehicleid][acPosY] = ACVehInfo[vehicleid][acSpawnPosY];
    ACVehInfo[vehicleid][acPosZ] = ACVehInfo[vehicleid][acSpawnPosZ];
    ACVehInfo[vehicleid][acZAngle] = ACVehInfo[vehicleid][acSpawnZAngle];
    return SetVehicleToRespawn(vehicleid);
}

ac_fpublic ac_EnableAntiCheat(code, enable)
{
    if(!(0 <= code < sizeof ac_ACAllow)) return 0;
    if(code == 42)
    {
        if(enable)
        {
            if(!ac_ACAllow

)

                {

                    #if !AC_USE_QUERY

                        #if defined GetConsoleVarAsBool

                            ac_QueryEnable = (GetConsoleVarAsBool("query") != 0);

                        #else

                            ac_QueryEnable = (GetServerVarAsBool("query") != 0);

                        #endif

                    #endif

                    #if defined GetConsoleVarAsBool

                        ac_RconEnable = (GetConsoleVarAsBool("rcon") != 0);

                    #else

                        ac_RconEnable = (GetServerVarAsBool("rcon") != 0);

                    #endif

                }

                #if !AC_USE_QUERY

                    SendRconCommand("query 0");

                #endif

                SendRconCommand("rcon 0");

            }

            else

            {

                static ac_strtmp[9];

                #if !AC_USE_QUERY

                    format(ac_strtmp, sizeof ac_strtmp, "query %b", ac_QueryEnable);

                    SendRconCommand(ac_strtmp);

                #endif

                format(ac_strtmp, sizeof ac_strtmp, "rcon %b", ac_RconEnable);

                SendRconCommand(ac_strtmp);

            }

        }

        ac_ACAllow[code] = (enable != 0);

        if(enable)

        {

            #if defined foreach

                foreach(new ac_i : Player)

                {

            #else

                #if defined GetPlayerPoolSize

                    for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)

                #else

                    for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)

                #endif

                {

                    if(!IsPlayerConnected(ac_i)) continue;

            #endif

                ACInfo[ac_i][acACAllow][code] = ac_ACAllow[code];

                switch(code)

                {

                    case 7: ACInfo[ac_i][acCheatCount][13] = 0;

                    case 9: ACInfo[ac_i][acCheatCount][15] = 0;

                    case 10: ACInfo[ac_i][acCheatCount][18] = ACInfo[ac_i][acCheatCount][14] = 0;

                    #if AC_USE_AMMUNATIONS

                        case 15: ACInfo[ac_i][acCheatCount][20] = 0;

                    #endif

                    case 17: ACInfo[ac_i][acCheatCount][7] = 0;

                    case 19: ACInfo[ac_i][acCheatCount][9] = 0;

                    case 20: ACInfo[ac_i][acCheatCount][10] = 0;

                    #if AC_USE_TUNING_GARAGES

                        case 23: ACInfo[ac_i][acCheatCount][21] = 0;

                    #endif

                    case 26: ACInfo[ac_i][acCheatCount][12] = ACInfo[ac_i][acCheatCount][8] = 0;

                    case 29: ACInfo[ac_i][acCheatCount][11] = ACInfo[ac_i][acCheatCount][6] = 0;

                    case 30: ACInfo[ac_i][acCheatCount][17] = 0;

                    case 34: ACInfo[ac_i][acCheatCount][5] = 0;

                    case 38: ACInfo[ac_i][acCheatCount][0] = 0;

                    case 47: ACInfo[ac_i][acCheatCount][16] = 0;

                }

            }

        }

        else

        {

            #if defined foreach

                foreach(new ac_i : Player)

                {

            #else

                #if defined GetPlayerPoolSize

                    for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)

                #else

                    for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)

                #endif

                {

                    if(!IsPlayerConnected(ac_i)) continue;

            #endif

                ACInfo[ac_i][acACAllow][code] = ac_ACAllow[code];

            }

        }

        #if AC_USE_CONFIG_FILES && AUTOSAVE_SETTINGS_IN_CONFIG

            static ac_strtmp[10];

            new ac_string[415], File:ac_cfgFile = fopen(AC_CONFIG_FILE, io_write);

            if(ac_cfgFile)

            {

                for(new ac_i; ac_i < sizeof ac_ACAllow; ++ac_i)

                {

                    format(ac_strtmp, sizeof ac_strtmp, "%d //%d\r\n", ac_ACAllow[ac_i], ac_i);

                    strcat(ac_string, ac_strtmp);

                }

                fwrite(ac_cfgFile, ac_string);

                fclose(ac_cfgFile);

            }

        #endif

        return 1;

    }


ac_fpublic ac_EnableAntiNOP(nopcode, enable)
{
    if(!(0 <= nopcode < sizeof ac_NOPAllow)) return 0;
    ac_NOPAllow[nopcode] = (enable != 0);
    #if defined foreach
        foreach(new ac_i : Player)
        {
    #else
        #if defined GetPlayerPoolSize
            for(new ac_i = GetPlayerPoolSize(); ac_i >= 0; --ac_i)
        #else
            for(new ac_i = MAX_PLAYERS - 1; ac_i >= 0; --ac_i)
        #endif
        {
            if(!IsPlayerConnected(ac_i)) continue;
    #endif
        ACInfo[ac_i][acNOPAllow][nopcode] = ac_NOPAllow[nopcode];
    }
    #if AC_USE_CONFIG_FILES && AUTOSAVE_SETTINGS_IN_CONFIG
        static ac_strtmp[10];
        new ac_string[87], File:ac_cfgFile = fopen(AC_NOP_CONFIG_FILE, io_write);
        if(ac_cfgFile)
        {
            for(new ac_i; ac_i < sizeof ac_NOPAllow; ++ac_i)
            {
                format(ac_strtmp, sizeof ac_strtmp, "%d //%d\r\n", ac_NOPAllow[ac_i], ac_i);
                strcat(ac_string, ac_strtmp);
            }
            fwrite(ac_cfgFile, ac_string);
            fclose(ac_cfgFile);
        }
    #endif
    #undef AUTOSAVE_SETTINGS_IN_CONFIG
    return 1;
}

ac_fpublic ac_EnableAntiCheatForPlayer(playerid, code, enable)
{
    if(!(0 <= code < sizeof ac_ACAllow)) return -1;
    ACInfo[playerid][acACAllow][code] = (enable != 0);
    if(enable)
    {
        switch(code)
        {
            case 7: ACInfo[playerid][acCheatCount][13] = 0;
            case 9: ACInfo[playerid][acCheatCount][15] = 0;
            case 10: ACInfo[playerid][acCheatCount][18] = ACInfo[playerid][acCheatCount][14] = 0;
            #if AC_USE_AMMUNATIONS
                case 15: ACInfo[playerid][acCheatCount][20] = 0;
            #endif
            case 17: ACInfo[playerid][acCheatCount][7] = 0;
            case 19: ACInfo[playerid][acCheatCount][9] = 0;
            case 20: ACInfo[playerid][acCheatCount][10] = 0;
            #if AC_USE_TUNING_GARAGES
                case 23: ACInfo[playerid][acCheatCount][21] = 0;
            #endif
            case 26: ACInfo[playerid][acCheatCount][12] = ACInfo[playerid][acCheatCount][8] = 0;
            case 29: ACInfo[playerid][acCheatCount][11] = ACInfo[playerid][acCheatCount][6] = 0;
            case 30: ACInfo[playerid][acCheatCount][17] = 0;
            case 34: ACInfo[playerid][acCheatCount][5] = 0;
            case 38: ACInfo[playerid][acCheatCount][0] = 0;
            case 47: ACInfo[playerid][acCheatCount][16] = 0;
        }
    }
    return 1;
}

ac_fpublic ac_EnableAntiNOPForPlayer(playerid, nopcode, enable)
{
    if(!(0 <= nopcode < sizeof ac_NOPAllow)) return -1;
    ACInfo[playerid][acNOPAllow][nopcode] = (enable != 0);
    return 1;
}

ac_fpublic ac_IsAntiCheatEnabled(code)
{
    if(!(0 <= code < sizeof ac_ACAllow)) return 0;
    return ac_ACAllow[code];
}

ac_fpublic ac_IsAntiNOPEnabled(nopcode)
{
    if(!(0 <= nopcode < sizeof ac_NOPAllow)) return 0;
    return ac_NOPAllow[nopcode];
}

ac_fpublic ac_IsAntiCheatEnabledForPlayer(playerid, code)
{
    if(!(0 <= code < sizeof ac_ACAllow)) return 0;
    return ACInfo[playerid][acACAllow][code];
}

ac_fpublic ac_IsAntiNOPEnabledForPlayer(playerid, nopcode)
{
    if(!(0 <= nopcode < sizeof ac_NOPAllow)) return 0;
    return ACInfo[playerid][acNOPAllow][nopcode];
}

ac_fpublic ac_AntiCheatGetSpeed(playerid) return ACInfo[playerid][acSpeed];

ac_fpublic ac_AntiCheatGetAnimationIndex(playerid) return ACInfo[playerid][acAnim];

ac_fpublic ac_AntiCheatGetDialog(playerid) return ACInfo[playerid][acDialog];

ac_fpublic ac_AntiCheatGetInterior(playerid) return ACInfo[playerid][acInt];

ac_fpublic ac_AntiCheatGetEnterVehicle(playerid) return ACInfo[playerid][acEnterVeh];

ac_fpublic ac_AntiCheatGetEnterVehicleSeat(playerid) return ACInfo[playerid][acEnterSeat];

ac_fpublic ac_AntiCheatGetVehicleID(playerid) return ACInfo[playerid][acVeh];

ac_fpublic ac_AntiCheatGetVehicleSeat(playerid) return ACInfo[playerid][acSeat];

ac_fpublic ac_AntiCheatGetWeapon(playerid) return ACInfo[playerid][acHoldWeapon];

ac_fpublic ac_AntiCheatGetWeaponInSlot(playerid, slot) return ACInfo[playerid][acWeapon][slot];

ac_fpublic ac_AntiCheatGetAmmoInSlot(playerid, slot) return ACInfo[playerid][acAmmo][slot];

ac_fpublic ac_AntiCheatGetSpecialAction(playerid) return ACInfo[playerid][acSpecAct];

ac_fpublic ac_AntiCheatGetLastSpecialActio(playerid) return ACInfo[playerid][acLastSpecAct];

ac_fpublic ac_AntiCheatGetLastShotWeapon(playerid) return ACInfo[playerid][acShotWeapon];

ac_fpublic ac_AntiCheatGetLastPickup(playerid) return ACInfo[playerid][acLastPickup];

ac_fpublic ac_AntiCheatGetLastUpdateTime(playerid) return ACInfo[playerid][acUpdateTick];

ac_fpublic ac_AntiCheatGetLastReloadTime(playerid) return ACInfo[playerid][acReloadTick];

ac_fpublic ac_AntiCheatGetLastEnteredVehTi(playerid) return ACInfo[playerid][acEnterVehTick];

ac_fpublic ac_AntiCheatGetLastShotTime(playerid) return ACInfo[playerid][acShotTick];

ac_fpublic ac_AntiCheatGetLastSpawnTime(playerid) return ACInfo[playerid][acSpawnTick];

ac_fpublic ac_AntiCheatIntEnterExitsIsEnab(playerid) return ACInfo[playerid][acIntEnterExits];

ac_fpublic ac_AntiCheatStuntBonusIsEnabled(playerid) return ACInfo[playerid][acStuntBonus];

ac_fpublic ac_AntiCheatIsInModShop(playerid) return ACInfo[playerid][acModShop];

ac_fpublic ac_AntiCheatIsInSpectate(playerid) return ACInfo[playerid][acSpec];

ac_fpublic ac_AntiCheatIsFrozen(playerid) return !ACInfo[playerid][acUnFrozen];

ac_fpublic ac_AntiCheatIsDead(playerid) return ACInfo[playerid][acDead];

ac_fpublic ac_AntiCheatIsConnected(playerid) return ACInfo[playerid][acOnline];

ac_fpublic ac_AntiCheatKickWithDesync(playerid, code)
{
    if(ACInfo[playerid][acKicked] > 0return -1;
    new ac_gpp = GetPlayerPing(playerid) + 150;
    ACInfo[playerid][acKickTimerID] = SetTimerEx("ac_KickTimer", (ac_gpp > AC_MAX_PING ? AC_MAX_PING : ac_gpp), false"i", playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(code == 4) ACInfo[playerid][acKickVeh] = GetPlayerVehicleID(playerid);
        ACInfo[playerid][acKicked] = 2;
    }
    else ACInfo[playerid][acKicked] = 1;
    return 1;
}

ac_fpublic ac_AntiCheatIsKickedWithDesync(playeridreturn ACInfo[playerid][acKicked];

ac_fpublic ac_AntiCheatGetVehicleDriver(vehicleid) return ACVehInfo[vehicleid][acDriver];

ac_fpublic ac_AntiCheatGetVehicleInterior(vehicleid) return ACVehInfo[vehicleid][acInt];

ac_fpublic ac_AntiCheatGetVehiclePaintjob(vehicleid) return ACVehInfo[vehicleid][acPaintJob];

ac_fpublic ac_AntiCheatGetVehicleSpeed(vehicleid) return ACVehInfo[vehicleid][acSpeed];

ac_fpublic ac_AntiCheatIsVehicleSpawned(vehicleid) return ACVehInfo[vehicleid][acSpawned];

ac_fpublic ac_AntiCheatGetNextDialog(playerid) return ACInfo[playerid][acNextDialog];

#endif

stock acc_AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2)
{
    new ac_vehid = AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2);
    if(ac_vehid != INVALID_VEHICLE_ID)
    {
        #if defined FILTERSCRIPT
            CallRemoteFunction("ac_AddStaticVehicle""iffff", ac_vehid, spawn_x, spawn_y, spawn_z, z_angle);
        #else
            ac_AddStaticVehicle(ac_vehid, spawn_x, spawn_y, spawn_z, z_angle);
        #endif
    }
    return ac_vehid;
}

#if defined _ALS_AddStaticVehicle
    #undef AddStaticVehicle
#else
    #define _ALS_AddStaticVehicle
#endif
#define AddStaticVehicle acc_AddStaticVehicle

#if defined OnVehicleSirenStateChange
    stock acc_AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay, addsiren = 0)
    {
        new ac_vehid = AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, respawn_delay, addsiren);
#else
    stock acc_AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay)
    {
        new ac_vehid = AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, respawn_delay);
#endif
    if(ac_vehid != INVALID_VEHICLE_ID)
    {
        #if defined FILTERSCRIPT
            CallRemoteFunction("ac_AddStaticVehicle""iffff", ac_vehid, spawn_x, spawn_y, spawn_z, z_angle);
        #else
            ac_AddStaticVehicle(ac_vehid, spawn_x, spawn_y, spawn_z, z_angle);
        #endif
    }
    return ac_vehid;
}

#if defined _ALS_AddStaticVehicleEx
    #undef AddStaticVehicleEx
#else
    #define _ALS_AddStaticVehicleEx
#endif
#define AddStaticVehicleEx acc_AddStaticVehicleEx

#if defined OnVehicleSirenStateChange
    stock acc_CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren = 0)
    {
        new ac_vehid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, addsiren);
#else
    stock acc_CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay)
    {
        new ac_vehid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay);
#endif
    if(ac_vehid != INVALID_VEHICLE_ID && ac_vehid > 0)
    {
        #if defined FILTERSCRIPT
            CallRemoteFunction("ac_AddStaticVehicle""iffff", ac_vehid, x, y, z, rotation);
        #else
            ac_AddStaticVehicle(ac_vehid, x, y, z, rotation);
        #endif
    }
    return ac_vehid;
}

#if defined _ALS_CreateVehicle
    #undef CreateVehicle
#else
    #define _ALS_CreateVehicle
#endif
#define CreateVehicle acc_CreateVehicle

stock acc_AddPlayerClass(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
{
    new ac_class = AddPlayerClass(modelid, spawn_x, spawn_y, spawn_z, z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #if defined FILTERSCRIPT
        CallRemoteFunction("ac_AddPlayerClass""ifffiiiiii", ac_class, spawn_x, spawn_y, spawn_z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #else
        ac_AddPlayerClass(ac_class, spawn_x, spawn_y, spawn_z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #endif
    return ac_class;
}

#if defined _ALS_AddPlayerClass
    #undef AddPlayerClass
#else
    #define _ALS_AddPlayerClass
#endif
#define AddPlayerClass acc_AddPlayerClass

stock acc_AddPlayerClassEx(teamid, modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
{
    new ac_class = AddPlayerClassEx(teamid, modelid, spawn_x, spawn_y, spawn_z, z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #if defined FILTERSCRIPT
        CallRemoteFunction("ac_AddPlayerClass""ifffiiiiii", ac_class, spawn_x, spawn_y, spawn_z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #else
        ac_AddPlayerClass(ac_class, spawn_x, spawn_y, spawn_z, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #endif
    return ac_class;
}

#if defined _ALS_AddPlayerClassEx
    #undef AddPlayerClassEx
#else
    #define _ALS_AddPlayerClassEx
#endif
#define AddPlayerClassEx acc_AddPlayerClassEx

stock orig_SetSpawnInfo(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
    return SetSpawnInfo(playerid, team, skin, x, y, z, rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);

stock acc_SetSpawnInfo(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetSpawnInfo""iiiffffiiiiii", playerid, team, skin, x, y, z, rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #else
        return ac_SetSpawnInfo(playerid, team, skin, x, y, z, rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
    #endif
}

#if defined _ALS_SetSpawnInfo
    #undef SetSpawnInfo
#else
    #define _ALS_SetSpawnInfo
#endif
#define SetSpawnInfo acc_SetSpawnInfo

stock acc_AddStaticPickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0)
{
    new ac_pickid = CreatePickup(model, type, X, Y, Z, virtualworld);
    if(ac_pickid != -1)
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_CreatePickup""iiifff", ac_pickid, model, type, X, Y, Z);
        #else
            return ac_CreatePickup(ac_pickid, model, type, X, Y, Z);
        #endif
    }
    return 0;
}

#if defined _ALS_AddStaticPickup
    #undef AddStaticPickup
#else
    #define _ALS_AddStaticPickup
#endif
#define AddStaticPickup acc_AddStaticPickup

stock acc_CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0)
{
    new ac_pickid = CreatePickup(model, type, X, Y, Z, virtualworld);
    if(ac_pickid != -1)
    {
        #if defined FILTERSCRIPT
            CallRemoteFunction("ac_CreatePickup""iiifff", ac_pickid, model, type, X, Y, Z);
        #else
            ac_CreatePickup(ac_pickid, model, type, X, Y, Z);
        #endif
    }
    return ac_pickid;
}

#if defined _ALS_CreatePickup
    #undef CreatePickup
#else
    #define _ALS_CreatePickup
#endif
#define CreatePickup acc_CreatePickup

#if defined CreateDynamicPickup
    #if defined STREAMER_ENABLE_TAGS
        stock STREAMER_TAG_PICKUP:acc_CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_PICKUP_SD, STREAMER_TAG_AREA:areaid = STREAMER_TAG_AREA:-1, priority = 0)
        {
            new STREAMER_TAG_PICKUP:ac_pickid = CreateDynamicPickup(modelid, type, x, y, z, worldid, interiorid, playerid, streamdistance, areaid, priority);
    #else
        stock acc_CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_PICKUP_SD, areaid = -1, priority = 0)
        {
            new ac_pickid = CreateDynamicPickup(modelid, type, x, y, z, worldid, interiorid, playerid, streamdistance, areaid, priority);
    #endif
        if(_:ac_pickid > 0)
        {
            #if defined FILTERSCRIPT
                CallRemoteFunction("ac_CreateDynamicPickup""iii", ac_pickid, modelid, type);
            #else
                #if AC_USE_PICKUP_WEAPONS\
                    && defined Streamer_SetIntData
                    ac_CreateDynamicPickup(ac_pickid, modelid, type);
                #endif
            #endif
        }
        return ac_pickid;
    }

    #if defined _ALS_CreateDynamicPickup
        #undef CreateDynamicPickup
    #else
        #define _ALS_CreateDynamicPickup
    #endif
    #define CreateDynamicPickup acc_CreateDynamicPickup
#endif

#if defined CreateDynamicPickupEx
    #if defined STREAMER_ENABLE_TAGS
        stock STREAMER_TAG_PICKUP:acc_CreateDynamicPickupEx(modelid, type, Float:x, Float:y, Float:z, Float:streamdistance = STREAMER_PICKUP_SD, const worlds[] = { -1 }, const interiors[] = { -1 }, const players[] = { -1 }, const STREAMER_TAG_AREA:areas[] = { STREAMER_TAG_AREA:-1 }, priority = 0, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players, maxareas = sizeof areas)
        {
            new STREAMER_TAG_PICKUP:ac_pickid = CreateDynamicPickupEx(modelid, type, x, y, z, streamdistance, worlds, interiors, players, areas, priority, maxworlds, maxinteriors, maxplayers, maxareas);
    #else
        stock acc_CreateDynamicPickupEx(modelid, type, Float:x, Float:y, Float:z, Float:streamdistance = STREAMER_PICKUP_SD, const worlds[] = { -1 }, const interiors[] = { -1 }, const players[] = { -1 }, const areas[] = { -1 }, priority = 0, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players, maxareas = sizeof areas)
        {
            new ac_pickid = CreateDynamicPickupEx(modelid, type, x, y, z, streamdistance, worlds, interiors, players, areas, priority, maxworlds, maxinteriors, maxplayers, maxareas);
    #endif
        if(_:ac_pickid > 0)
        {
            #if defined FILTERSCRIPT
                CallRemoteFunction("ac_CreateDynamicPickup""iii", ac_pickid, modelid, type);
            #else
                #if AC_USE_PICKUP_WEAPONS\
                    && defined Streamer_SetIntData
                    ac_CreateDynamicPickup(ac_pickid, modelid, type);
                #endif
            #endif
        }
        return ac_pickid;
    }

    #if defined _ALS_CreateDynamicPickupEx
        #undef CreateDynamicPickupEx
    #else
        #define _ALS_CreateDynamicPickupEx
    #endif
    #define CreateDynamicPickupEx acc_CreateDynamicPickupEx
#endif

stock acc_DestroyVehicle(vehicleid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_DestroyVehicle""i", vehicleid);
    #else
        return ac_DestroyVehicle(vehicleid);
    #endif
}

#if defined _ALS_DestroyVehicle
    #undef DestroyVehicle
#else
    #define _ALS_DestroyVehicle
#endif
#define DestroyVehicle acc_DestroyVehicle

stock acc_DestroyPickup(pickup)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_DestroyPickup""i", pickup);
    #else
        return ac_DestroyPickup(pickup);
    #endif
}

#if defined _ALS_DestroyPickup
    #undef DestroyPickup
#else
    #define _ALS_DestroyPickup
#endif
#define DestroyPickup acc_DestroyPickup

#if defined DestroyDynamicPickup
    #if defined STREAMER_ENABLE_TAGS
        stock acc_DestroyDynamicPickup(STREAMER_TAG_PICKUP:pickupid)
    #else
        stock acc_DestroyDynamicPickup(pickupid)
    #endif
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_DestroyDynamicPickup""i", pickupid);
        #else
            return ac_DestroyDynamicPickup(pickupid);
        #endif
    }

    #if defined _ALS_DestroyDynamicPickup
        #undef DestroyDynamicPickup
    #else
        #define _ALS_DestroyDynamicPickup
    #endif
    #define DestroyDynamicPickup acc_DestroyDynamicPickup
#endif

stock acc_DisableInteriorEnterExits()
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_DisableInteriorEnterExits""");
    #else
        return ac_DisableInteriorEnterExits();
    #endif
}

#if defined _ALS_DisableInteriorEnterExits
    #undef DisableInteriorEnterExits
#else
    #define _ALS_DisableInteriorEnterExits
#endif
#define DisableInteriorEnterExits acc_DisableInteriorEnterExits

stock acc_UsePlayerPedAnims()
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_UsePlayerPedAnims""");
    #else
        return ac_UsePlayerPedAnims();
    #endif
}

#if defined _ALS_UsePlayerPedAnims
    #undef UsePlayerPedAnims
#else
    #define _ALS_UsePlayerPedAnims
#endif
#define UsePlayerPedAnims acc_UsePlayerPedAnims

#if defined EnableVehicleFriendlyFire
    stock acc_EnableVehicleFriendlyFire()
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_EnableVehicleFriendlyFire""");
        #else
            return ac_EnableVehicleFriendlyFire();
        #endif
    }

    #if defined _ALS_EnableVehicleFriendlyFire
        #undef EnableVehicleFriendlyFire
    #else
        #define _ALS_EnableVehicleFriendlyFire
    #endif
    #define EnableVehicleFriendlyFire acc_EnableVehicleFriendlyFire
#endif

stock acc_EnableStuntBonusForAll(enable)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_EnableStuntBonusForAll""i", enable);
    #else
        return ac_EnableStuntBonusForAll(enable);
    #endif
}

#if defined _ALS_EnableStuntBonusForAll
    #undef EnableStuntBonusForAll
#else
    #define _ALS_EnableStuntBonusForAll
#endif
#define EnableStuntBonusForAll acc_EnableStuntBonusForAll

stock acc_EnableStuntBonusForPlayer(playerid, enable)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_EnableStuntBonusForPlayer""ii", playerid, enable);
    #else
        return ac_EnableStuntBonusForPlayer(playerid, enable);
    #endif
}

#if defined _ALS_EnableStuntBonusForPlayer
    #undef EnableStuntBonusForPlayer
#else
    #define _ALS_EnableStuntBonusForPlayer
#endif
#define EnableStuntBonusForPlayer acc_EnableStuntBonusForPlayer

stock orig_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]) return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);

stock acc_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
    if(ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2))
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_fs_ShowPlayerDialog""id", playerid, dialogid);
        #else
            return ac_ShowPlayerDialog(playerid, dialogid);
        #endif
    }
    return 0;
}

#if defined _ALS_ShowPlayerDialog
    #undef ShowPlayerDialog
#else
    #define _ALS_ShowPlayerDialog
#endif
#define ShowPlayerDialog acc_ShowPlayerDialog

stock orig_TogglePlayerControllable(playerid, toggle) return TogglePlayerControllable(playerid, toggle);

stock acc_TogglePlayerControllable(playerid, toggle)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_TogglePlayerControllable""ii", playerid, toggle);
    #else
        return ac_TogglePlayerControllable(playerid, toggle);
    #endif
}

#if defined _ALS_TogglePlayerControllable
    #undef TogglePlayerControllable
#else
    #define _ALS_TogglePlayerControllable
#endif
#define TogglePlayerControllable acc_TogglePlayerControllable

stock orig_TogglePlayerSpectating(playerid, togglereturn TogglePlayerSpectating(playerid, toggle);

stock acc_TogglePlayerSpectating(playerid, toggle)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_TogglePlayerSpectating""ii", playerid, toggle);
    #else
        return ac_TogglePlayerSpectating(playerid, toggle);
    #endif
}

#if defined _ALS_TogglePlayerSpectating
    #undef TogglePlayerSpectating
#else
    #define _ALS_TogglePlayerSpectating
#endif
#define TogglePlayerSpectating acc_TogglePlayerSpectating

stock orig_SpawnPlayer(playerid) return SpawnPlayer(playerid);

stock acc_SpawnPlayer(playerid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SpawnPlayer""i", playerid);
    #else
        return ac_SpawnPlayer(playerid);
    #endif
}

#if defined _ALS_SpawnPlayer
    #undef SpawnPlayer
#else
    #define _ALS_SpawnPlayer
#endif
#define SpawnPlayer acc_SpawnPlayer

stock orig_SetPlayerHealth(playerid, Float:health) return SetPlayerHealth(playerid, health);

stock acc_SetPlayerHealth(playerid, Float:health)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerHealth""if", playerid, health);
    #else
        return ac_SetPlayerHealth(playerid, health);
    #endif
}

#if defined _ALS_SetPlayerHealth
    #undef SetPlayerHealth
#else
    #define _ALS_SetPlayerHealth
#endif
#define SetPlayerHealth acc_SetPlayerHealth

stock orig_SetPlayerArmour(playerid, Float:armour) return SetPlayerArmour(playerid, armour);

stock acc_SetPlayerArmour(playerid, Float:armour)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerArmour""if", playerid, armour);
    #else
        return ac_SetPlayerArmour(playerid, armour);
    #endif
}

#if defined _ALS_SetPlayerArmour
    #undef SetPlayerArmour
#else
    #define _ALS_SetPlayerArmour
#endif
#define SetPlayerArmour acc_SetPlayerArmour

stock orig_GivePlayerWeapon(playerid, weaponid, ammo) return GivePlayerWeapon(playerid, weaponid, ammo);

stock acc_GivePlayerWeapon(playerid, weaponid, ammo)
{
    if(!(0 <= playerid < MAX_PLAYERS)) return 0;
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_GivePlayerWeapon""iid", playerid, weaponid, ammo);
    #else
        return ac_GivePlayerWeapon(playerid, weaponid, ammo);
    #endif
}

#if defined _ALS_GivePlayerWeapon
    #undef GivePlayerWeapon
#else
    #define _ALS_GivePlayerWeapon
#endif
#define GivePlayerWeapon acc_GivePlayerWeapon

stock orig_SetPlayerAmmo(playerid, weaponslot, ammo) return SetPlayerAmmo(playerid, weaponslot, ammo);

stock acc_SetPlayerAmmo(playerid, weaponslot, ammo)
{
    if(!(0 <= playerid < MAX_PLAYERS)) return 0;
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerAmmo""iid", playerid, weaponslot, ammo);
    #else
        return ac_SetPlayerAmmo(playerid, weaponslot, ammo);
    #endif
}

#if defined _ALS_SetPlayerAmmo
    #undef SetPlayerAmmo
#else
    #define _ALS_SetPlayerAmmo
#endif
#define SetPlayerAmmo acc_SetPlayerAmmo

stock orig_ResetPlayerWeapons(playerid) return ResetPlayerWeapons(playerid);

stock acc_ResetPlayerWeapons(playerid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_ResetPlayerWeapons""i", playerid);
    #else
        return ac_ResetPlayerWeapons(playerid);
    #endif
}

#if defined _ALS_ResetPlayerWeapons
    #undef ResetPlayerWeapons
#else
    #define _ALS_ResetPlayerWeapons
#endif
#define ResetPlayerWeapons acc_ResetPlayerWeapons

stock orig_GivePlayerMoney(playerid, money) return GivePlayerMoney(playerid, money);

stock acc_GivePlayerMoney(playerid, money)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_GivePlayerMoney""id", playerid, money);
    #else
        return ac_GivePlayerMoney(playerid, money);
    #endif
}

#if defined _ALS_GivePlayerMoney
    #undef GivePlayerMoney
#else
    #define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney acc_GivePlayerMoney

stock orig_ResetPlayerMoney(playerid) return ResetPlayerMoney(playerid);

stock acc_ResetPlayerMoney(playerid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_ResetPlayerMoney""i", playerid);
    #else
        return ac_ResetPlayerMoney(playerid);
    #endif
}

#if defined _ALS_ResetPlayerMoney
    #undef ResetPlayerMoney
#else
    #define _ALS_ResetPlayerMoney
#endif
#define ResetPlayerMoney acc_ResetPlayerMoney

stock orig_GetPlayerMoney(playerid) return GetPlayerMoney(playerid);

stock acc_GetPlayerMoney(playerid)
{
    if(!IsPlayerConnected(playerid)) return 0;
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_GetPlayerMoney""i", playerid);
    #else
        return ac_GetPlayerMoney(playerid);
    #endif
}

#if defined _ALS_GetPlayerMoney
    #undef GetPlayerMoney
#else
    #define _ALS_GetPlayerMoney
#endif
#define GetPlayerMoney acc_GetPlayerMoney

stock orig_SetPlayerSpecialAction(playerid, actionid) return SetPlayerSpecialAction(playerid, actionid);

stock acc_SetPlayerSpecialAction(playerid, actionid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerSpecialAction""ii", playerid, actionid);
    #else
        return ac_SetPlayerSpecialAction(playerid, actionid);
    #endif
}

#if defined _ALS_SetPlayerSpecialAction
    #undef SetPlayerSpecialAction
#else
    #define _ALS_SetPlayerSpecialAction
#endif
#define SetPlayerSpecialAction acc_SetPlayerSpecialAction

stock orig_PlayerSpectatePlayer(playerid, targetplayerid, mode = SPECTATE_MODE_NORMAL) return PlayerSpectatePlayer(playerid, targetplayerid, mode);

stock acc_PlayerSpectatePlayer(playerid, targetplayerid, mode = SPECTATE_MODE_NORMAL)
{
    if(PlayerSpectatePlayer(playerid, targetplayerid, mode))
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_PlayerSpecPlayerOrVehicle""i", playerid);
        #else
            return ac_PlayerSpecPlayerOrVehicle(playerid);
        #endif
    }
    return 0;
}

#if defined _ALS_PlayerSpectatePlayer
    #undef PlayerSpectatePlayer
#else
    #define _ALS_PlayerSpectatePlayer
#endif
#define PlayerSpectatePlayer acc_PlayerSpectatePlayer

stock orig_PlayerSpectateVehicle(playerid, targetvehicleid, mode = SPECTATE_MODE_NORMAL) return PlayerSpectateVehicle(playerid, targetvehicleid, mode);

stock acc_PlayerSpectateVehicle(playerid, targetvehicleid, mode = SPECTATE_MODE_NORMAL)
{
    if(PlayerSpectateVehicle(playerid, targetvehicleid, mode))
    {
        #if defined FILTERSCRIPT
            return CallRemoteFunction("ac_PlayerSpecPlayerOrVehicle""i", playerid);
        #else
            return ac_PlayerSpecPlayerOrVehicle(playerid);
        #endif
    }
    return 0;
}

#if defined _ALS_PlayerSpectateVehicle
    #undef PlayerSpectateVehicle
#else
    #define _ALS_PlayerSpectateVehicle
#endif
#define PlayerSpectateVehicle acc_PlayerSpectateVehicle

stock orig_SetPlayerInterior(playerid, interiorid) return SetPlayerInterior(playerid, interiorid);

stock acc_SetPlayerInterior(playerid, interiorid)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerInterior""ii", playerid, interiorid);
    #else
        return ac_SetPlayerInterior(playerid, interiorid);
    #endif
}

#if defined _ALS_SetPlayerInterior
    #undef SetPlayerInterior
#else
    #define _ALS_SetPlayerInterior
#endif
#define SetPlayerInterior acc_SetPlayerInterior

stock orig_SetPlayerPos(playerid, Float:x, Float:y, Float:z) return SetPlayerPos(playerid, x, y, z);

stock acc_SetPlayerPos(playerid, Float:x, Float:y, Float:z)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerPos""ifff", playerid, x, y, z);
    #else
        return ac_SetPlayerPos(playerid, x, y, z);
    #endif
}

#if defined _ALS_SetPlayerPos
    #undef SetPlayerPos
#else
    #define _ALS_SetPlayerPos
#endif
#define SetPlayerPos acc_SetPlayerPos

stock orig_SetPlayerPosFindZ(playerid, Float:x, Float:y, Float:z) return SetPlayerPosFindZ(playerid, x, y, z);

stock acc_SetPlayerPosFindZ(playerid, Float:x, Float:y, Float:z)
{
    #if defined FILTERSCRIPT
        return CallRemoteFunction("ac_SetPlayerPosFindZ"