| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819 |
- /*
- * Noble Roleplay Anticheat
- * Last Update: 09/25/2016 @ 06:48 AM
- */
- enum {
- CHEAT_WEAPON,
- CHEAT_AMMO,
- CHEAT_HEALTH,
- CHEAT_ARMOUR,
- CHEAT_NORELOAD,
- CHEAT_TELEPORT,
- CHEAT_AIRBREAK,
- CHEAT_VEHICLEWARP,
- CHEAT_VEHICLEHEALTH
- };
- enum E_ANTICHEAT_ENUM {
- acTimer,
- acWeapons[13],
- acAmmo[13],
- acImmunity,
- acAirbreakTime,
- acFired,
- Float:acHealth,
- Float:acArmour,
- Float:acSpawnX,
- Float:acSpawnY,
- Float:acSpawnZ,
- Float:acPosX,
- Float:acPosY,
- Float:acPosZ,
- acCurrentWeapon,
- acCurrentVehicle,
- acVehicleTime,
- acVehicleSpam
- };
- static
- Anticheat[MAX_PLAYERS][E_ANTICHEAT_ENUM],
- Float:VehicleHealth[MAX_VEHICLES] = {1000.0, ...},
- VehicleDamage[MAX_VEHICLES][4]
- ;
- static const acWeaponSlotIDs[] = {
- 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 8, 8, 8, 0,
- 0, 0, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 4, 6, 6, 7, 7, 7, 7, 8, 12,
- 9, 9, 9, 11, 11, 11
- };
- static const Float:acRepairShops[][] = {
- {2065.1960, -1831.4946, 13.5469},
- {1025.0665, -1024.4612, 32.1016},
- {720.1285, -457.2187, 16.3359},
- {-100.0488, 1117.3574, 19.7417},
- {-1420.5437, 2585.5051, 55.8433},
- {-2425.8203, 1022.0131, 50.3977},
- {-1904.3649, 284.2363, 41.0469},
- {1974.4723, 2162.3350, 11.0703}
- };
- forward OnPlayerCheatDetected(playerid, type);
- stock AC_PutPlayerInVehicle(playerid, vehicleid, seatid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(GetVehicleModel(vehicleid))
- {
- GetVehiclePos(vehicleid, Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ]);
- Anticheat[playerid][acCurrentVehicle] = vehicleid;
- }
- else
- {
- Anticheat[playerid][acCurrentVehicle] = 0;
- }
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return PutPlayerInVehicle(playerid, vehicleid, seatid);
- }
- stock AC_SetPlayerHealth(playerid, Float:value)
- {
- if(IsPlayerConnected(playerid))
- {
- Anticheat[playerid][acHealth] = value;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return SetPlayerHealth(playerid, value);
- }
- stock AC_SetPlayerArmour(playerid, Float:value)
- {
- if(IsPlayerConnected(playerid))
- {
- Anticheat[playerid][acArmour] = value;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return SetPlayerArmour(playerid, value);
- }
- stock AC_SetPlayerAmmo(playerid, weaponid, ammo)
- {
- if(Anticheat[playerid][acWeapons][acWeaponSlotIDs[weaponid]] == weaponid)
- {
- Anticheat[playerid][acAmmo][acWeaponSlotIDs[weaponid]] = ammo;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return SetPlayerAmmo(playerid, weaponid, ammo);
- }
- stock AC_GivePlayerWeapon(playerid, weaponid, ammo)
- {
- if(IsPlayerConnected(playerid))
- {
- Anticheat[playerid][acWeapons][acWeaponSlotIDs[weaponid]] = weaponid;
- Anticheat[playerid][acAmmo][acWeaponSlotIDs[weaponid]] += ammo;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return GivePlayerWeapon(playerid, weaponid, ammo);
- }
- stock AC_ResetPlayerWeapons(playerid)
- {
- new
- ret = ResetPlayerWeapons(playerid);
- if(ret)
- {
- for(new i = 0; i < 13; i ++)
- {
- Anticheat[playerid][acWeapons][i] = 0;
- Anticheat[playerid][acAmmo][i] = 0;
- }
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return ret;
- }
- stock AC_SetPlayerArmedWeapon(playerid, weaponid)
- {
- new
- ret = SetPlayerArmedWeapon(playerid, weaponid);
- if(ret)
- {
- Anticheat[playerid][acCurrentWeapon] = weaponid;
- Anticheat[playerid][acFired] = 0;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return ret;
- }
- stock AC_SetPlayerPos(playerid, Float:x, Float:y, Float:z)
- {
- new
- ret = SetPlayerPos(playerid, x, y, z);
- if(ret)
- {
- Anticheat[playerid][acPosX] = x;
- Anticheat[playerid][acPosY] = y;
- Anticheat[playerid][acPosZ] = z;
- Anticheat[playerid][acImmunity] = gettime() + 1;
- }
- return ret;
- }
- stock AC_SetVehiclePos(vehicleid, Float:x, Float:y, Float:z)
- {
- new
- ret = SetVehiclePos(vehicleid, x, y, z);
- if(ret)
- {
- for(new i = 0, l = GetPlayerPoolSize(); i <= l; i ++)
- {
- if(GetPlayerState(i) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(i, vehicleid))
- {
- Anticheat[i][acPosX] = x;
- Anticheat[i][acPosY] = y;
- Anticheat[i][acPosZ] = z;
- Anticheat[i][acImmunity] = gettime() + 1;
- break;
- }
- }
- }
- return ret;
- }
- stock AC_SetSpawnInfo(playerid, team, skin, Float:x, Float:y, Float:z, Float:rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo)
- {
- if(IsPlayerConnected(playerid))
- {
- Anticheat[playerid][acSpawnX] = x;
- Anticheat[playerid][acSpawnY] = y;
- Anticheat[playerid][acSpawnZ] = z;
- }
- return SetSpawnInfo(playerid, team, skin, x, y, z, rotation, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
- }
- stock AC_SetVehicleHealth(vehicleid, Float:health)
- {
- if(GetVehicleModel(vehicleid))
- {
- VehicleHealth[vehicleid] = health;
- }
- for(new i = 0; i <= GetPlayerPoolSize(); i ++)
- {
- if(GetPlayerState(i) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(i, vehicleid))
- {
- Anticheat[i][acImmunity] = gettime() + 1;
- break;
- }
- }
- return SetVehicleHealth(vehicleid, health);
- }
- stock AC_RepairVehicle(vehicleid)
- {
- if(GetVehicleModel(vehicleid))
- {
- VehicleHealth[vehicleid] = 1000.0;
- VehicleDamage[vehicleid][0] = 0;
- VehicleDamage[vehicleid][1] = 0;
- VehicleDamage[vehicleid][2] = 0;
- VehicleDamage[vehicleid][3] = 0;
- }
- for(new i = 0; i <= GetPlayerPoolSize(); i ++)
- {
- if(GetPlayerState(i) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(i, vehicleid))
- {
- Anticheat[i][acImmunity] = gettime() + 1;
- break;
- }
- }
- return RepairVehicle(vehicleid);
- }
- stock AC_UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires)
- {
- if(GetVehicleModel(vehicleid))
- {
- VehicleDamage[vehicleid][0] = panels;
- VehicleDamage[vehicleid][1] = doors;
- VehicleDamage[vehicleid][2] = lights;
- VehicleDamage[vehicleid][3] = tires;
- }
- return UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
- }
- static AC_PlayerHasWeapon(playerid, weaponid)
- {
- switch(weaponid)
- {
- case 0, 2, 40, 46:
- {
- return 1;
- }
- }
- for(new i = 0; i < 13; i ++)
- {
- if(Anticheat[playerid][acWeapons][i] == weaponid)
- {
- return 1;
- }
- }
- return 0;
- }
- static AC_IsVehicleBoat(vehicleid)
- {
- switch(GetVehicleModel(vehicleid))
- {
- case 430, 446, 452, 453, 454, 472, 473, 484, 493, 595:
- {
- return 1;
- }
- }
- return 0;
- }
- static AC_IsPlayerAtRepairShop(playerid)
- {
- for(new i = 0; i < sizeof(acRepairShops); i ++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, acRepairShops[i][0], acRepairShops[i][1], acRepairShops[i][2]))
- {
- return 1;
- }
- }
- return 0;
- }
- static AC_RangeCheck(Float:x1, Float:y1, Float:z1, Float:radius, Float:x2, Float:y2, Float:z2)
- {
- x1 -= x2;
- y1 -= y2;
- z1 -= z2;
- return ((x1 * x1) + (y1 * y1) + (z1 * z1)) < (radius * radius);
- }
- static Float:AC_GetSpeed(playerid)
- {
- new
- Float:vx,
- Float:vy,
- Float:vz;
- if(IsPlayerInAnyVehicle(playerid))
- {
- GetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz);
- }
- else
- {
- GetPlayerVelocity(playerid, vx, vy, vz);
- }
-
- return floatsqroot((vx * vx) + (vy * vy) + (vz * vz));
- }
- forward AC_UpdateTimer(playerid);
- public AC_UpdateTimer(playerid)
- {
- new
- vehicleid = GetPlayerVehicleID(playerid),
- weapon,
- ammo;
- if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
- {
- return 0;
- }
- for(new i = 0; i < 13; i ++)
- {
- GetPlayerWeaponData(playerid, i, weapon, ammo);
- if(weapon > 0 && AC_PlayerHasWeapon(playerid, weapon))
- {
- if(Anticheat[playerid][acAmmo][i] != ammo && Anticheat[playerid][acAmmo][i] != 0)
- {
- if(ammo > Anticheat[playerid][acAmmo][i] && gettime() > Anticheat[playerid][acImmunity])
- {
- if(!(1 <= weapon <= 15) && !(43 <= weapon <= 46) && weapon != 40)
- {
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_AMMO);
- SetPlayerAmmo(playerid, weapon, Anticheat[playerid][acAmmo][i]);
- }
- }
- }
- Anticheat[playerid][acWeapons][i] = weapon;
- Anticheat[playerid][acAmmo][i] = ammo;
- }
- }
- if(Anticheat[playerid][acCurrentVehicle] != vehicleid)
- {
- if((vehicleid != 0 && Anticheat[playerid][acCurrentVehicle] != 0) && Anticheat[playerid][acVehicleTime] > gettime())
- {
- if(!(AC_IsVehicleBoat(vehicleid) && AC_IsVehicleBoat(Anticheat[playerid][acCurrentVehicle]) && GetVehicleModel(vehicleid) == Anticheat[playerid][acCurrentVehicle]))
- {
- Anticheat[playerid][acVehicleSpam]++;
- if(Anticheat[playerid][acVehicleSpam] >= 2)
- {
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_VEHICLEWARP);
- Anticheat[playerid][acVehicleSpam] = 0;
- }
- }
- }
- Anticheat[playerid][acCurrentVehicle] = vehicleid;
- Anticheat[playerid][acVehicleTime] = gettime() + 1;
- }
-
- GetPlayerPos(playerid, Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- for(new i = 0; i < 13; i ++)
- {
- Anticheat[playerid][acWeapons][i] = 0;
- Anticheat[playerid][acAmmo][i] = 0;
- }
- Anticheat[playerid][acTimer] = SetTimerEx("AC_UpdateTimer", 500, true, "i", playerid);
- Anticheat[playerid][acImmunity] = 0;
- Anticheat[playerid][acAirbreakTime] = 0;
- Anticheat[playerid][acFired] = 0;
- Anticheat[playerid][acHealth] = 100.0;
- Anticheat[playerid][acArmour] = 0.0;
- Anticheat[playerid][acPosX] = 0.0;
- Anticheat[playerid][acPosY] = 0.0;
- Anticheat[playerid][acPosZ] = 0.0;
- Anticheat[playerid][acSpawnX] = 0.0;
- Anticheat[playerid][acSpawnY] = 0.0;
- Anticheat[playerid][acSpawnZ] = 0.0;
- Anticheat[playerid][acCurrentWeapon] = 0;
- Anticheat[playerid][acCurrentVehicle] = 0;
- Anticheat[playerid][acVehicleTime] = 0;
- Anticheat[playerid][acVehicleSpam] = 0;
- #if defined AC_OnPlayerConnect
- return AC_OnPlayerConnect(playerid);
- #else
- return 1;
- #endif
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- KillTimer(Anticheat[playerid][acTimer]);
- #if defined AC_OnPlayerDisconnect
- return AC_OnPlayerDisconnect(playerid, reason);
- #else
- return 1;
- #endif
- }
- public OnPlayerSpawn(playerid)
- {
- Anticheat[playerid][acImmunity] = gettime() + 5;
- Anticheat[playerid][acHealth] = 100.0;
- Anticheat[playerid][acArmour] = 0.0;
- #if defined AC_OnPlayerSpawn
- return AC_OnPlayerSpawn(playerid);
- #else
- return 1;
- #endif
- }
- public OnPlayerUpdate(playerid)
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING && GetPlayerState(playerid) != PLAYER_STATE_NONE)
- {
- new
- Float:health,
- Float:armour,
- weaponid = GetPlayerWeapon(playerid),
- vehicleid = GetPlayerVehicleID(playerid);
- GetPlayerHealth(playerid, health);
- GetPlayerArmour(playerid, armour);
- if(gettime() > Anticheat[playerid][acImmunity])
- {
- if(!IsPlayerInRangeOfPoint(playerid, 75.0, Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ]) && !IsPlayerInRangeOfPoint(playerid, 5.0, Anticheat[playerid][acSpawnX], Anticheat[playerid][acSpawnY], Anticheat[playerid][acSpawnZ]))
- {
- new
- Float:x,
- Float:y,
- Float:z;
- GetPlayerPos(playerid, x, y, z);
- if(!AC_RangeCheck(Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ], 3.0, Anticheat[playerid][acSpawnX], Anticheat[playerid][acSpawnY], Anticheat[playerid][acSpawnZ]) && x != 0.0 && y != 0.0 && z != 0.0 && GetPlayerState(playerid) != PLAYER_STATE_PASSENGER)
- {
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_TELEPORT);
- }
- }
- else if(gettime() > Anticheat[playerid][acAirbreakTime] && !IsPlayerInRangeOfPoint(playerid, 10.0, Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ]))
- {
- if((GetPlayerState(playerid) == PLAYER_STATE_ONFOOT || GetPlayerState(playerid) == PLAYER_STATE_DRIVER) && GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID && GetPlayerSurfingObjectID(playerid) == INVALID_OBJECT_ID)
- {
- // Player is 10.0 meters away from their position. Let's check their velocity!
- new
- Float:px,
- Float:py,
- Float:pz;
- GetPlayerPos(playerid, px, py, pz);
- px = floatabs(Anticheat[playerid][acPosX] - px);
- py = floatabs(Anticheat[playerid][acPosY] - py);
- pz = floatabs(Anticheat[playerid][acPosZ] - pz);
- // Player seems to have moved a great distance. Let's do more checking.
- if(((0.5 <= px < 13.9) && (0.5 <= py <= 13.9)) || (4.2 <= pz <= 19.2))
- {
- new
- Float:speed = AC_GetSpeed(playerid);
- if((0.082 <= speed <= 0.129 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) || (0.0009 <= speed <= 0.0013 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER))
- {
- // When airbreaking in the air, a player's velocity levels tend to stay at a regular speed, as they were moving onfoot.
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_AIRBREAK);
- Anticheat[playerid][acAirbreakTime] = gettime() + 1;
- }
- }
- }
- }
- if(floatround(health) > floatround(Anticheat[playerid][acHealth]))
- {
- if(!(Anticheat[playerid][acHealth] == 0.0 && health == 100.0) && health != 0.0)
- {
- SetPlayerHealth(playerid, Anticheat[playerid][acHealth]);
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_HEALTH);
- }
- }
- if(floatround(armour) > floatround(Anticheat[playerid][acArmour]))
- {
- SetPlayerArmour(playerid, Anticheat[playerid][acArmour]);
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_ARMOUR);
- }
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- GetVehicleHealth(vehicleid, health);
- if(floatround(health) > floatround(VehicleHealth[vehicleid]) && !AC_IsPlayerAtRepairShop(playerid))
- {
- SetVehicleHealth(vehicleid, VehicleHealth[vehicleid]);
- UpdateVehicleDamageStatus(vehicleid, VehicleDamage[vehicleid][0], VehicleDamage[vehicleid][1], VehicleDamage[vehicleid][2], VehicleDamage[vehicleid][3]);
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_VEHICLEHEALTH);
- }
- }
- }
- if(Anticheat[playerid][acCurrentWeapon] != weaponid)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && !AC_PlayerHasWeapon(playerid, weaponid) && gettime() > Anticheat[playerid][acImmunity])
- {
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_WEAPON);
- SetPlayerArmedWeapon(playerid, 0);
- }
- Anticheat[playerid][acCurrentWeapon] = weaponid;
- Anticheat[playerid][acFired] = 0;
- }
- if(GetPlayerWeaponState(playerid) == WEAPONSTATE_RELOADING)
- {
- Anticheat[playerid][acFired] = 0;
- }
- GetPlayerPos(playerid, Anticheat[playerid][acPosX], Anticheat[playerid][acPosY], Anticheat[playerid][acPosZ]);
- if(gettime() > Anticheat[playerid][acImmunity])
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- GetVehicleHealth(vehicleid, VehicleHealth[vehicleid]);
- GetVehicleDamageStatus(vehicleid, VehicleDamage[vehicleid][0], VehicleDamage[vehicleid][1], VehicleDamage[vehicleid][2], VehicleDamage[vehicleid][3]);
- }
- GetPlayerHealth(playerid, Anticheat[playerid][acHealth]);
- GetPlayerArmour(playerid, Anticheat[playerid][acArmour]);
- }
- }
- #if defined AC_OnPlayerUpdate
- return AC_OnPlayerUpdate(playerid);
- #else
- return 1;
- #endif
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- new
- ammo = 0;
- switch(weaponid)
- {
- case 22:
- ammo = 40;
- case 23:
- ammo = 22;
- case 26:
- ammo = 8;
- case 24, 27:
- ammo = 12;
- case 28, 32:
- ammo = 115;
- case 29, 30:
- ammo = 40;
- case 31:
- ammo = 60;
- }
- if(ammo > 0)
- {
- Anticheat[playerid][acFired]++;
- if(Anticheat[playerid][acFired] >= ammo)
- {
- CallLocalFunction("OnPlayerCheatDetected", "ii", playerid, CHEAT_NORELOAD);
- Anticheat[playerid][acFired] = 0;
- }
- }
- }
- #if defined AC_OnPlayerWeaponShot
- return AC_OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, fX, fY, fZ);
- #else
- return 1;
- #endif
- }
- public OnVehicleSpawn(vehicleid)
- {
- VehicleHealth[vehicleid] = 1000.0;
- VehicleDamage[vehicleid][0] = 0;
- VehicleDamage[vehicleid][1] = 0;
- VehicleDamage[vehicleid][2] = 0;
- VehicleDamage[vehicleid][3] = 0;
- #if defined AC_OnVehicleSpawn
- return AC_OnVehicleSpawn(vehicleid);
- #else
- return 1;
- #endif
- }
- public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
- {
- GetVehicleHealth(vehicleid, VehicleHealth[vehicleid]);
- GetVehicleDamageStatus(vehicleid, VehicleDamage[vehicleid][0], VehicleDamage[vehicleid][1], VehicleDamage[vehicleid][2], VehicleDamage[vehicleid][3]);
- #if defined AC_OnUnoccupiedVehicleUpdate
- return AC_OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, new_x, new_y, new_z, vel_x, vel_y, vel_z);
- #else
- return 1;
- #endif
- }
- #if defined _ALS_PutPlayerInVehicle
- #undef PutPlayerInVehicle
- #else
- #define _ALS_PutPlayerInVehicle
- #endif
- #if defined _ALS_SetPlayerHealth
- #undef SetPlayerHealth
- #else
- #define _ALS_SetPlayerHealth
- #endif
- #if defined _ALS_SetPlayerArmour
- #undef SetPlayerArmour
- #else
- #define _ALS_SetPlayerArmour
- #endif
- #if defined _ALS_SetPlayerAmmo
- #undef SetPlayerAmmo
- #else
- #define _ALS_SetPlayerAmmo
- #endif
- #if defined _ALS_GivePlayerWeapon
- #undef GivePlayerWeapon
- #else
- #define _ALS_GivePlayerWeapon
- #endif
- #if defined _ALS_ResetPlayerWeapons
- #undef ResetPlayerWeapons
- #else
- #define _ALS_ResetPlayerWeapons
- #endif
- #if defined _ALS_SetPlayerArmedWeapon
- #undef SetPlayerArmedWeapon
- #else
- #define _ALS_SetPlayerArmedWeapon
- #endif
- #if defined _ALS_SetPlayerPos
- #undef SetPlayerPos
- #else
- #define _ALS_SetPlayerPos
- #endif
- #if defined _ALS_SetVehiclePos
- #undef SetVehiclePos
- #else
- #define _ALS_SetVehiclePos
- #endif
- #if defined _ALS_SetSpawnInfo
- #undef SetSpawnInfo
- #else
- #define _ALS_SetSpawnInfo
- #endif
- #if defined _ALS_SetVehicleHealth
- #undef SetVehicleHealth
- #else
- #define _ALS_SetVehicleHealth
- #endif
- #if defined _ALS_RepairVehicle
- #undef RepairVehicle
- #else
- #define _ALS_RepairVehicle
- #endif
- #if defined _ALS_UpdateVehicleDamageStatus
- #undef UpdateVehicleDamageStatus
- #else
- #define _ALS_UpdateVehicleDamageStatus
- #endif
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #if defined _ALS_OnPlayerDisconnect
- #undef OnPlayerDisconnect
- #else
- #define _ALS_OnPlayerDisconnect
- #endif
- #if defined _ALS_OnPlayerSpawn
- #undef OnPlayerSpawn
- #else
- #define _ALS_OnPlayerSpawn
- #endif
- #if defined _ALS_OnPlayerUpdate
- #undef OnPlayerUpdate
- #else
- #define _ALS_OnPlayerUpdate
- #endif
- #if defined _ALS_OnVehicleSpawn
- #undef OnVehicleSpawn
- #else
- #define _ALS_OnVehicleSpawn
- #endif
- #if defined _ALS_OnUnoccupiedVehicleUpdate
- #undef OnUnoccupiedVehicleUpdate
- #else
- #define _ALS_OnUnoccupiedVehicleUpdate
- #endif
- #define PutPlayerInVehicle AC_PutPlayerInVehicle
- #define SetPlayerHealth AC_SetPlayerHealth
- #define SetPlayerArmour AC_SetPlayerArmour
- #define SetPlayerAmmo AC_SetPlayerAmmo
- #define GivePlayerWeapon AC_GivePlayerWeapon
- #define ResetPlayerWeapons AC_ResetPlayerWeapons
- #define SetPlayerArmedWeapon AC_SetPlayerArmedWeapon
- #define SetPlayerPos AC_SetPlayerPos
- #define SetVehiclePos AC_SetVehiclePos
- #define SetSpawnInfo AC_SetSpawnInfo
- #define SetVehicleHealth AC_SetVehicleHealth
- #define RepairVehicle AC_RepairVehicle
- #define UpdateVehicleDamageStatus AC_UpdateVehicleDamageStatus
- #define OnPlayerConnect AC_OnPlayerConnect
- #define OnPlayerDisconnect AC_OnPlayerDisconnect
- #define OnPlayerSpawn AC_OnPlayerSpawn
- #define OnPlayerUpdate AC_OnPlayerUpdate
- #define OnPlayerWeaponShot AC_OnPlayerWeaponShot
- #define OnVehicleSpawn AC_OnVehicleSpawn
- #define OnUnoccupiedVehicleUpdate AC_OnUnoccupiedVehicleUpdate
- #if defined AC_OnPlayerConnect
- forward AC_OnPlayerConnect(playerid);
- #endif
- #if defined AC_OnPlayerDisconnect
- forward AC_OnPlayerDisconnect(playerid, reason);
- #endif
- #if defined AC_OnPlayerSpawn
- forward AC_OnPlayerSpawn(playerid);
- #endif
- #if defined AC_OnPlayerUpdate
- forward AC_OnPlayerUpdate(playerid);
- #endif
- #if defined AC_OnPlayerWeaponShot
- forward AC_OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);
- #endif
- #if defined AC_OnVehicleSpawn
- forward AC_OnVehicleSpawn(vehicleid);
- #endif
- #if defined AC_OnUnoccupiedVehicleUpdate
- forward AC_OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z);
- #endif
|