Advertisement
Guest User

Untitled

a guest
May 26th, 2018
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 100.10 KB | None | 0 0
  1. #include "stdafx.h"
  2.  
  3. typedef void(__fastcall* tSET_ENTITY_INVINCIBLE)(int entity, bool toggle);
  4. //Set Invincible Ped
  5. char *call1o;
  6. char *call2o;
  7. char *nameo;
  8. Ped PTLoopPed;
  9. char *call1s;
  10. char *call2s;
  11. char *names;
  12.  
  13. void Features::UpdatePerTick()
  14. {
  15.  
  16.     playersuperjump ? SuperJump(true) : NULL;
  17.  
  18.     playersuperrun ? Superrun(true) : NULL;
  19.  
  20.     neverwanted ? NeverGetWanted(true) : NULL;
  21.  
  22.     orbool ? OffRadar(true) : NULL;
  23.  
  24.     playerGodMode ? GodMode(true) : NULL;
  25.  
  26.     rlbool ? HasPaintLoop(true) : NULL;
  27.  
  28.     rainbowweapons ? weaponsloop(true) : NULL;
  29.    
  30.     infammo ? noreloadv(true) : NULL;
  31.  
  32.     boostbool ? carboost(true) : NULL;
  33.  
  34.     supermele ? supermelee(true) : NULL;
  35.  
  36.     dowbool ? DriveOnWater(true) : NULL;
  37.  
  38.     bikefall ? fallbike(true) : NULL;
  39.  
  40.     visible ? Ivisible(true) : NULL;
  41.  
  42.     flybool ? playerflyer(true) : NULL;
  43.  
  44.     invicar ? carinvi(true) : NULL;
  45.  
  46.     driftmode ? drifter(true) : NULL;
  47.  
  48.     carbooster ? superbooster(true) : NULL;
  49.  
  50.     sticktoground ? groundvehicle(true) : NULL;
  51.  
  52.     partmen ? fxplayer(true) : NULL;
  53.  
  54.     alienmen ? alienplayer(true) : NULL;
  55.  
  56.     electricmen ? electricplayer(true) : NULL;
  57.  
  58.     bankmen ? bankplayer(true) : NULL;
  59.  
  60.     dirtmen ? dirtplayer(true) : NULL;
  61.  
  62.     policeignore ? policeignorep(true) : NULL;
  63.  
  64.     orbitalcanon ? orbcaninf(true) : NULL;
  65.  
  66.     vehcoll ? collvehicle(true) : NULL;
  67.  
  68.     betiny ? TinyPlayer(true) : NULL;
  69.  
  70.     vehiclegun ? shootvehicles(true) : NULL;
  71.  
  72.     dragon ? dragonfire(true) : NULL;
  73.  
  74.     shootwhale ? whalegun(true) : NULL;
  75.  
  76.     gravitygun ? gravweapon(true) : NULL;
  77.  
  78.     forcegun ? gunforced(true) : NULL;
  79.  
  80.     explosiveammo ? expammo(true) : NULL;
  81.  
  82.     airammo ? superammo(true) : NULL;
  83.  
  84.     partcar ? fxcar(true) : NULL;
  85.  
  86.     lightcar ? interiorlights(true) : NULL;
  87.  
  88.     freezeprot ? freezing(true) : NULL;
  89.  
  90.     bigmarker ? realmark(true) : NULL;
  91.  
  92.     osk ? OSKR(true) : NULL;
  93.  
  94.     binds ? binder(true) : NULL;
  95.  
  96.     norec ? norecoil(true) : NULL;
  97.  
  98.  
  99.  
  100.     PLAYER::_SET_WORLD_BOUNDS_LIMIT(FLT_MAX, FLT_MAX, FLT_MAX);
  101.     for (int ix = 0; ix < 33; ix++)
  102.     {
  103.         if (PTLoopedO[ix])
  104.         {
  105.             PTLopperO(ix);
  106.         }
  107.         if (killpedsbool)
  108.         {
  109.             killpeds();
  110.         }
  111.         if (lobbyraper)
  112.         {
  113.             raperlobber(ix);
  114.         }
  115.         if (mpbypass)
  116.         {
  117.             bypasser(ix);
  118.         }
  119.         if (explodepedsbool)
  120.         {
  121.             explodepeds();
  122.         }
  123.         if (explodenearbyvehiclesbool)
  124.         {
  125.             explodenearbyvehicles();
  126.         }
  127.         if (deletenearbyvehiclesbool)
  128.         {
  129.             deletenearbyvehicles();
  130.         }
  131.         if (deletenearbypeds)
  132.         {
  133.             deletenearbypedsbool();
  134.         }
  135.         if (chaosbool)
  136.         {
  137.             chaosmode();
  138.         }
  139.         if (spectate[ix])
  140.         {
  141.             specter(ix);
  142.         }
  143.  
  144.         if (freezed[ix])
  145.         {
  146.             Freezer(ix);
  147.         }
  148.  
  149.         if (fuckedhandling[ix])
  150.         {
  151.             fuckhandling(ix);
  152.         }
  153.         if (exploder[ix])
  154.         {
  155.             explodeloop(ix);
  156.         }
  157.         if (shakecam[ix])
  158.         {
  159.             camshaker(ix);
  160.         }
  161.         if (fireloop[ix])
  162.         {
  163.             firelooper(ix);
  164.         }
  165.         if (playerwaterloop[ix])
  166.         {
  167.             WaterLoop(ix);
  168.         }
  169.         if (esper)
  170.         {
  171.             esp(ix);
  172.         }
  173.         if (boxer)
  174.         {
  175.             box(ix);
  176.         }
  177.         if (namer)
  178.         {
  179.             nameplayer(ix);
  180.         }
  181.     }
  182.  
  183. }
  184.  
  185. void Print(char *text)
  186. {
  187.     UI::BEGIN_TEXT_COMMAND_PRINT("STRING");
  188.     UI::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(text);
  189.     UI::END_TEXT_COMMAND_PRINT(2000, 1);
  190. }
  191.  
  192. void Features::limuzyna()
  193. {
  194.     int WaypointHandle = UI::GET_FIRST_BLIP_INFO_ID(8);
  195.     if (UI::DOES_BLIP_EXIST(WaypointHandle))
  196.     {
  197.         Vector3 coords = get_blip_marker();
  198.         if (coords.x + coords.y == 0) return;
  199.         Entity e = PLAYER::PLAYER_PED_ID();
  200.         if (PED::IS_PED_IN_ANY_VEHICLE(e, 0))
  201.         {
  202.             AI::CLEAR_PED_TASKS_IMMEDIATELY(PLAYER::PLAYER_PED_ID());
  203.         }
  204.         Hash V_hash = GAMEPLAY::GET_HASH_KEY("WINDSOR2");
  205.         Hash P_hash = GAMEPLAY::GET_HASH_KEY("A_C_CHIMP");
  206.         STREAMING::REQUEST_MODEL(V_hash);
  207.         STREAMING::REQUEST_MODEL(P_hash);
  208.         while ((!STREAMING::HAS_MODEL_LOADED(V_hash)) || (!STREAMING::HAS_MODEL_LOADED(P_hash))) WAIT(0);
  209.         Vector3 spawn_coords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER::PLAYER_PED_ID(), 0.0, 5.0, 0.0);
  210.         FLOAT lookDir = ENTITY::GET_ENTITY_HEADING(PLAYER::PLAYER_PED_ID());
  211.         Vehicle veh = VEHICLE::CREATE_VEHICLE(V_hash, spawn_coords.x, spawn_coords.y, spawn_coords.z, lookDir, 1, 0);
  212.  
  213.         VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(veh, "VIP");
  214.         VEHICLE::LOWER_CONVERTIBLE_ROOF(veh, 1);
  215.         VEHICLE::SET_VEHICLE_MOD_KIT(veh, 0);
  216.         VEHICLE::SET_VEHICLE_WHEEL_TYPE(veh, 8);
  217.         VEHICLE::SET_VEHICLE_MOD(veh, 23, 25, 0);
  218.  
  219.         Ped ped = PED::CREATE_PED(25, P_hash, spawn_coords.x, spawn_coords.y, spawn_coords.z, 0, false, false);
  220.         PED::SET_PED_INTO_VEHICLE(ped, veh, -1);
  221.         for (int i = 1; i <= 8; i++)
  222.         {
  223.             if (!VEHICLE::IS_VEHICLE_SEAT_FREE(veh, i)) continue;
  224.             AI::TASK_WARP_PED_INTO_VEHICLE(PLAYER::PLAYER_PED_ID(), veh, i); break;
  225.         }
  226.         AI::TASK_VEHICLE_DRIVE_TO_COORD(ped, veh, coords.x, coords.y, coords.z, 100, 1, ENTITY::GET_ENTITY_MODEL(veh), 4, 0xC00AB, -1);
  227.     }
  228.     else {
  229.         Print("Set waypoint first.");
  230.     }
  231. }
  232. void Features::maxupg()
  233. {
  234.     Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
  235.     VEHICLE::SET_VEHICLE_MOD_KIT(veh, 0);
  236.     VEHICLE::SET_VEHICLE_COLOURS(veh, 120, 120);
  237.     VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX(veh, 1);
  238.     VEHICLE::TOGGLE_VEHICLE_MOD(veh, 18, 1);
  239.     VEHICLE::TOGGLE_VEHICLE_MOD(veh, 22, 1);
  240.     VEHICLE::SET_VEHICLE_MOD(veh, 16, 5, 0);
  241.     VEHICLE::SET_VEHICLE_MOD(veh, 12, 2, 0);
  242.     VEHICLE::SET_VEHICLE_MOD(veh, 11, 3, 0);
  243.     VEHICLE::SET_VEHICLE_MOD(veh, 14, 14, 0);
  244.     VEHICLE::SET_VEHICLE_MOD(veh, 15, 3, 0);
  245.     VEHICLE::SET_VEHICLE_MOD(veh, 13, 2, 0);
  246.     VEHICLE::SET_VEHICLE_WHEEL_TYPE(veh, 6);
  247.     VEHICLE::SET_VEHICLE_WINDOW_TINT(veh, 5);
  248.     VEHICLE::SET_VEHICLE_MOD(veh, 23, 19, 1);
  249.     VEHICLE::SET_VEHICLE_MOD(veh, 0, 1, 0);
  250.     VEHICLE::SET_VEHICLE_MOD(veh, 1, 1, 0);
  251.     VEHICLE::SET_VEHICLE_MOD(veh, 2, 1, 0);
  252.     VEHICLE::SET_VEHICLE_MOD(veh, 3, 1, 0);
  253.     VEHICLE::SET_VEHICLE_MOD(veh, 4, 1, 0);
  254.     VEHICLE::SET_VEHICLE_MOD(veh, 5, 1, 0);
  255.     VEHICLE::SET_VEHICLE_MOD(veh, 6, 1, 0);
  256.     VEHICLE::SET_VEHICLE_MOD(veh, 7, 1, 0);
  257.     VEHICLE::SET_VEHICLE_MOD(veh, 8, 1, 0);
  258.     VEHICLE::SET_VEHICLE_MOD(veh, 9, 1, 0);
  259.     VEHICLE::SET_VEHICLE_MOD(veh, 10, 1, 0);
  260. }
  261.  
  262. void Features::mkweapons()
  263. {
  264.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_PISTOL_MK2"), 9999, 1);
  265.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("weapon_assaultrifle_mk2"), 9999, 1);
  266.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("weapon_carbinerifle_mk2"), 9999, 1);
  267.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("weapon_combatmg_mk2"), 9999, 1);
  268.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("weapon_heavysniper_mk2"), 9999, 1);
  269.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("weapon_smg_mk2"), 9999, 1);
  270.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_SNSPISTOL_MK2"), 9999, 1);
  271.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_REVOLVER_MK2"), 9999, 1);
  272.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_SPECIALCARBINE_MK2"), 9999, 1);
  273.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_BULLPUPRIFLE_MK2"), 9999, 1);
  274.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_PUMPSHOTGUN_MK2"), 9999, 1);
  275.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_MARKSMANRIFLE_MK2"), 9999, 1);
  276.     WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), GAMEPLAY::GET_HASH_KEY("WEAPON_MARKSMANRIFLE_MK2"), 9999, 1);
  277. }
  278. void Features::stdweapons()
  279. {
  280.     uint Weapons[] = { 0x99B507EA, 0x678B81B1, 0x4E875F73, 0x958A4A8F, 0x440E4788, 0x84BD7BFD, 0x1B06D571, 0x5EF9FEC4, 0x22D8FE39, 0x99AEEB3B, 0x13532244, 0x2BE6766B, 0xEFE7E2DF, 0xBFEFFF6D, 0x83BF0278, 0xAF113F99, 0x9D07F764, 0x7FD62962, 0x1D073A89, 0x7846A318, 0xE284C527, 0x9D61E50F, 0x3656C8C1, 0x05FC3C11, 0x0C472FE2, 0x33058E22, 0xA284510B, 0x4DD2DC56, 0xB1CA77B1, 0x687652CE, 0x42BF8A85, 0x93E220BD, 0x2C3731D9, 0xFDBC8A50, 0x24B17070, 0x060EC506, 0x34A67B97, 0xFDBADCED, 0x23C9F95C, 0x497FACC3, 0xF9E6AA4B, 0x61012683, 0xC0A3098D, 0xD205520E, 0xBFD21232, 0x7F229F94, 0x92A27487, 0x083839C4, 0x7F7497E5, 0xA89CB99E, 0x3AABBBAA, 0xC734385A, 0x787F0BB, 0x47757124, 0xD04C944D };
  281.     for (int i = 0; i < (sizeof(Weapons) / 4); i++) {
  282.         WEAPON::GIVE_DELAYED_WEAPON_TO_PED(PLAYER::PLAYER_PED_ID(), Weapons[i], 9999, 1);
  283.     }
  284. }
  285. void Features::randomout()
  286. {
  287.     PED::SET_PED_RANDOM_COMPONENT_VARIATION(PLAYER::PLAYER_PED_ID(), 0);
  288.     PED::SET_PED_RANDOM_PROPS(PLAYER::PLAYER_PED_ID());
  289. }
  290.  
  291. void Features::restzones()
  292. {
  293.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("am_armybase");
  294.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("restrictedareas");
  295.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("re_armybase");
  296.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("re_lossantosintl");
  297.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("re_prison");
  298.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("re_prisonvanbreak");
  299. }
  300. //binds start
  301. Vector3 getz(Vector2 coords, int tries)
  302. {
  303.     float groundZ;
  304.     for (int i = 0; i < tries; ++i)
  305.     {
  306.         if (i)
  307.         {
  308.             for (float z = 1000.f; z >= 0.f; z -= 100.f)
  309.             {
  310.                 STREAMING::REQUEST_COLLISION_AT_COORD(coords.x, coords.y, z);
  311.  
  312.                 WAIT(0);
  313.             }
  314.         }
  315.  
  316.         if (GAMEPLAY::GET_GROUND_Z_FOR_3D_COORD(coords.x, coords.y, 1000.f, &groundZ, 0))
  317.         {
  318.             return { coords.x, coords.y, groundZ + 1 };
  319.         }
  320.     }
  321.  
  322.     return { coords.x, coords.y, 1000.f };
  323. }
  324.  
  325. bool Features::binds = true;
  326. void Features::binder(bool toggle)
  327. {
  328.     if (IsKeyPressed(VK_F6))
  329.     {
  330.         static bool(*GetWaypointPos)(Vector2 *coords) =
  331.             reinterpret_cast<decltype(GetWaypointPos)>(Memory::pattern("48 89 5c 24 08 57 48 83 ec 20 8b 15 ? ? ? ? 65 48 8b 04 25 ? ? ? ? 48 8b f9 48 8b 04 d0 b9 b4").count(1).get(0).get<void>(0));
  332.  
  333.         Vector2 position;
  334.         if (GetWaypointPos(&position))
  335.         {
  336.             auto coords = getz(position, 20);
  337.  
  338.             int Handle = PLAYER::PLAYER_PED_ID();
  339.             if (PED::IS_PED_IN_ANY_VEHICLE(Handle, 0)) {
  340.                 Handle = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
  341.             }
  342.  
  343.             ENTITY::SET_ENTITY_COORDS(Handle, coords.x, coords.y, coords.z, 0, 0, 0, 1);
  344.         }
  345.     }
  346.     if (IsKeyPressed(VK_F7))
  347.     {
  348.         PED::ADD_ARMOUR_TO_PED(PLAYER::PLAYER_PED_ID(), 200);
  349.         Memory::set_value<float>({ OFFSET_PLAYER , OFFSET_ENTITY_HEALTH }, 320);
  350.     }
  351.     if (IsKeyPressed(VK_F8))
  352.     {
  353.         uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  354.         VEHICLE::SET_VEHICLE_FIXED(Vehicle);
  355.         VEHICLE::SET_VEHICLE_DEFORMATION_FIXED(Vehicle);
  356.         VEHICLE::SET_VEHICLE_DIRT_LEVEL(Vehicle, 0);
  357.     }
  358. }
  359.  
  360.  
  361. //binds end
  362. //misc
  363.  
  364.  
  365.  
  366. Vehicle Features::SpawnVehicle(char* toSpawn, Vector3 coords, bool tpinto = 0, float heading = 0.0f) {
  367.     Hash model = GAMEPLAY::GET_HASH_KEY(toSpawn);
  368.     if (STREAMING::IS_MODEL_VALID(model))
  369.     {
  370.         STREAMING::REQUEST_MODEL(model);
  371.         while (!STREAMING::HAS_MODEL_LOADED(model)) WAIT(0);
  372.         Vector3 ourCoords = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), false);
  373.         float forward = 5.f;
  374.         float heading = ENTITY::GET_ENTITY_HEADING(PLAYER::PLAYER_PED_ID());
  375.         float xVector = forward * sin(degToRad(heading)) * -1.f;
  376.         float yVector = forward * cos(degToRad(heading));
  377.         Vehicle veh = VEHICLE::CREATE_VEHICLE(model, ourCoords.x + xVector, ourCoords.y + yVector, ourCoords.z, heading, true, true);
  378.         RequestControlOfEnt(veh);
  379.         VEHICLE::SET_VEHICLE_ENGINE_ON(veh, true, true, true);
  380.         VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(veh);
  381.         DECORATOR::DECOR_SET_INT(veh, "MPBitset", 0);
  382.         auto networkId = NETWORK::VEH_TO_NET(veh);
  383.         ENTITY::_SET_ENTITY_REGISTER(veh, true);
  384.         if (NETWORK::NETWORK_GET_ENTITY_IS_NETWORKED(veh))
  385.             NETWORK::SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES(networkId, true);
  386.         if (Features::spawnincar)
  387.         {
  388.             PED::SET_PED_INTO_VEHICLE(PLAYER::PLAYER_PED_ID(), veh, -1);
  389.         }
  390.         if (Features::spawnmaxed)
  391.         {
  392.             VEHICLE::SET_VEHICLE_MOD_KIT(veh, 0);
  393.             for (int i = 0; i < 50; i++)
  394.             {
  395.                 VEHICLE::SET_VEHICLE_MOD(veh, i, VEHICLE::GET_NUM_VEHICLE_MODS(veh, i) - 1, false);
  396.             }
  397.         }
  398.         WAIT(150);
  399.         STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model);
  400.         BypassOnlineVehicleKick(vehicle);
  401.     }
  402. }
  403.  
  404. bool Features::lightcar = false;
  405. void Features::interiorlights(bool toggle)
  406. {
  407.     if (toggle == true)
  408.     {
  409.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  410.         VEHICLE::SET_VEHICLE_INTERIORLIGHT(Veh, 1);
  411.     }
  412.     else {
  413.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  414.         VEHICLE::SET_VEHICLE_INTERIORLIGHT(Veh, 0);
  415.     }
  416. }
  417.  
  418. void RequestControl(Entity input)
  419. {
  420.     NETWORK::NETWORK_REQUEST_CONTROL_OF_ENTITY(input);
  421.  
  422.     int tick = 0;
  423.     while (tick <= 50)
  424.     {
  425.         if (!NETWORK::NETWORK_HAS_CONTROL_OF_ENTITY(input))
  426.             WAIT(0);
  427.         else
  428.             return;
  429.         NETWORK::NETWORK_REQUEST_CONTROL_OF_ENTITY(input);
  430.         tick++;
  431.     }
  432. }
  433.  
  434.  
  435. bool Features::norec = false;
  436. void Features::norecoil(bool toggle)
  437. {
  438.     if (toggle == true)
  439.     {
  440.         Memory::set_value<float>({ OFFSET_WEAPON_RECOIL }, 0);
  441.     }
  442.     else {
  443.         Memory::set_value<float>({ OFFSET_WEAPON_RECOIL }, 3);
  444.     }
  445. }
  446.  
  447.  
  448. bool Features::forcegun = false;
  449. void Features::gunforced(bool toggle)
  450. {
  451.     Player player = PLAYER::PLAYER_ID();
  452.     Ped playerPed = PLAYER::PLAYER_PED_ID();
  453.  
  454.     Vector3 rot = CAM::GET_GAMEPLAY_CAM_ROT(0);
  455.     Vector3 dir = rot_to_direction(&rot);
  456.     Vector3 camPosition = CAM::GET_GAMEPLAY_CAM_COORD();
  457.     Vector3 playerPosition = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  458.     float spawnDistance = get_distance(&camPosition, &playerPosition);
  459.     spawnDistance += 0.25;
  460.     Vector3 spawnPosition = add(&camPosition, &multiply(&dir, spawnDistance));
  461.  
  462.     float endDistance = get_distance(&camPosition, &playerPosition);
  463.     endDistance += 1000;
  464.     Vector3 endPosition = add(&camPosition, &multiply(&dir, endDistance));
  465.  
  466.     if (!ENTITY::DOES_ENTITY_EXIST(playerPed) || !gunforced) return;
  467.  
  468.     if (PED::IS_PED_ON_FOOT(playerPed) && PED::IS_PED_SHOOTING(playerPed))
  469.     {
  470.         Hash weaponAssetRocket = GAMEPLAY::GET_HASH_KEY("WEAPON_FIREWORK");
  471.         if (!WEAPON::HAS_WEAPON_ASSET_LOADED(weaponAssetRocket))
  472.         {
  473.             WEAPON::REQUEST_WEAPON_ASSET(weaponAssetRocket, 31, 0);
  474.             while (!WEAPON::HAS_WEAPON_ASSET_LOADED(weaponAssetRocket))
  475.                 WAIT(0);
  476.         }
  477.         GAMEPLAY::SHOOT_SINGLE_BULLET_BETWEEN_COORDS(spawnPosition.x, spawnPosition.y, spawnPosition.z, endPosition.x, endPosition.y, endPosition.z, 250, 1, weaponAssetRocket, playerPed, 1, 0, -1.0);
  478.     }
  479. }
  480.  
  481.  
  482. float Get3DDistance(Vector3 a, Vector3 b) {
  483.     float x = pow((a.x - b.x), 2);
  484.     float y = pow((a.y - b.y), 2);
  485.     float z = pow((a.z - b.z), 2);
  486.     return sqrt(x + y + z);
  487. }
  488.  
  489. void Features::LoadPlayerInfo(char* playerName, Player p) {
  490.  
  491.  
  492.     Ped ped = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(p);
  493.     RequestControlOfEnt(ped);
  494.     float health = ENTITY::GET_ENTITY_HEALTH(ped);
  495.     float maxHealth = ENTITY::GET_ENTITY_MAX_HEALTH(ped);
  496.     float healthPercent = health * 100 / maxHealth;
  497.     ostringstream Health; Health << "Health:~s~ " << healthPercent;
  498.     float armor = PED::GET_PED_ARMOUR(ped);
  499.     float maxArmor = PLAYER::GET_PLAYER_MAX_ARMOUR(p);
  500.     float armorPercent = armor * 100 / maxArmor;
  501.     ostringstream Armor; Armor << "Armor:~s~ " << armorPercent;
  502.     bool alive = !PED::IS_PED_DEAD_OR_DYING(ped, 1);
  503.     char* aliveStatus;
  504.     if (alive) aliveStatus = "Yes"; else aliveStatus = "No";
  505.     ostringstream Alive; Alive << "Alive:~s~ " << aliveStatus;
  506.     bool inVehicle = PED::IS_PED_IN_ANY_VEHICLE(ped, 0);
  507.     ostringstream VehicleModel; VehicleModel << "Vehicle:~s~ ";
  508.     ostringstream Speed; Speed << "Speed:~s~ ";
  509.     ostringstream IsInAVehicle; IsInAVehicle << "In Vehicle:~s~ ";
  510.     if (inVehicle) {
  511.         IsInAVehicle << "Yes";
  512.         Hash vehHash = ENTITY::GET_ENTITY_MODEL(PED::GET_VEHICLE_PED_IS_IN(ped, 0));
  513.         VehicleModel << UI::_GET_LABEL_TEXT(VEHICLE::GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(vehHash));
  514.         float vehSpeed = ENTITY::GET_ENTITY_SPEED(PED::GET_VEHICLE_PED_IS_IN(ped, 0));
  515.         float vehSpeedConverted;
  516.         vehSpeedConverted = round(vehSpeed * 1.6);
  517.         Speed << vehSpeedConverted << " KM/H";
  518.     }
  519.     else {
  520.         IsInAVehicle << "No";
  521.         float speed = round(ENTITY::GET_ENTITY_SPEED(ped) * 100) / 100;
  522.         Speed << speed << " M/S";
  523.         VehicleModel << "--------";
  524.     }
  525.     ostringstream WantedLevel; WantedLevel << "Wanted Level:~s~ " << PLAYER::GET_PLAYER_WANTED_LEVEL(p);
  526.     ostringstream Weapon; Weapon << "Weapon: ~s~";
  527.     Hash weaponHash;
  528.     if (WEAPON::GET_CURRENT_PED_WEAPON(ped, &weaponHash, 1)) {
  529.         char* weaponName;
  530.         if (weaponHash == 2725352035) {
  531.             weaponName = "Unarmed";
  532.         }
  533.         else if (weaponHash == 2578778090) {
  534.             weaponName = "Knife";
  535.         }
  536.         else if (weaponHash == 0x678B81B1) {
  537.             weaponName = "Nightstick";
  538.         }
  539.         else if (weaponHash == 0x4E875F73) {
  540.             weaponName = "Hammer";
  541.         }
  542.         else if (weaponHash == 0x958A4A8F) {
  543.             weaponName = "Bat";
  544.         }
  545.         else if (weaponHash == 0x440E4788) {
  546.             weaponName = "GolfClub";
  547.         }
  548.         else if (weaponHash == 0x84BD7BFD) {
  549.             weaponName = "Crowbar";
  550.         }
  551.         else if (weaponHash == 0x1B06D571) {
  552.             weaponName = "Pistol";
  553.         }
  554.         else if (weaponHash == 0x5EF9FEC4) {
  555.             weaponName = "Combat Pistol";
  556.         }
  557.         else if (weaponHash == 0x22D8FE39) {
  558.             weaponName = "AP Pistol";
  559.         }
  560.         else if (weaponHash == 0x99AEEB3B) {
  561.             weaponName = "Pistol 50";
  562.         }
  563.         else if (weaponHash == 0x13532244) {
  564.             weaponName = "Micro SMG";
  565.         }
  566.         else if (weaponHash == 0x2BE6766B) {
  567.             weaponName = "SMG";
  568.         }
  569.         else if (weaponHash == 0xEFE7E2DF) {
  570.             weaponName = "Assault SMG";
  571.         }
  572.         else if (weaponHash == 0xBFEFFF6D) {
  573.             weaponName = "Assault Riffle";
  574.         }
  575.         else if (weaponHash == 0x83BF0278) {
  576.             weaponName = "Carbine Riffle";
  577.         }
  578.         else if (weaponHash == 0xAF113F99) {
  579.             weaponName = "Advanced Riffle";
  580.         }
  581.         else if (weaponHash == 0x9D07F764) {
  582.             weaponName = "MG";
  583.         }
  584.         else if (weaponHash == 0x7FD62962) {
  585.             weaponName = "Combat MG";
  586.         }
  587.         else if (weaponHash == 0x1D073A89) {
  588.             weaponName = "Pump Shotgun";
  589.         }
  590.         else if (weaponHash == 0x7846A318) {
  591.             weaponName = "Sawed-Off Shotgun";
  592.         }
  593.         else if (weaponHash == 0xE284C527) {
  594.             weaponName = "Assault Shotgun";
  595.         }
  596.         else if (weaponHash == 0x9D61E50F) {
  597.             weaponName = "Bullpup Shotgun";
  598.         }
  599.         else if (weaponHash == 0x3656C8C1) {
  600.             weaponName = "Stun Gun";
  601.         }
  602.         else if (weaponHash == 0x05FC3C11) {
  603.             weaponName = "Sniper Rifle";
  604.         }
  605.         else if (weaponHash == 0x0C472FE2) {
  606.             weaponName = "Heavy Sniper";
  607.         }
  608.         else if (weaponHash == 0xA284510B) {
  609.             weaponName = "Grenade Launcher";
  610.         }
  611.         else if (weaponHash == 0x4DD2DC56) {
  612.             weaponName = "Smoke Grenade Launcher";
  613.         }
  614.         else if (weaponHash == 0xB1CA77B1) {
  615.             weaponName = "RPG";
  616.         }
  617.         else if (weaponHash == 0x42BF8A85) {
  618.             weaponName = "Minigun";
  619.         }
  620.         else if (weaponHash == 0x93E220BD) {
  621.             weaponName = "Grenade";
  622.         }
  623.         else if (weaponHash == 0x2C3731D9) {
  624.             weaponName = "Sticky Bomb";
  625.         }
  626.         else if (weaponHash == 0xFDBC8A50) {
  627.             weaponName = "Smoke Grenade";
  628.         }
  629.         else if (weaponHash == 0xA0973D5E) {
  630.             weaponName = "BZGas";
  631.         }
  632.         else if (weaponHash == 0x24B17070) {
  633.             weaponName = "Molotov";
  634.         }
  635.         else if (weaponHash == 0x060EC506) {
  636.             weaponName = "Fire Extinguisher";
  637.         }
  638.         else if (weaponHash == 0x34A67B97) {
  639.             weaponName = "Petrol Can";
  640.         }
  641.         else if (weaponHash == 0xFDBADCED) {
  642.             weaponName = "Digital scanner";
  643.         }
  644.         else if (weaponHash == 0x88C78EB7) {
  645.             weaponName = "Briefcase";
  646.         }
  647.         else if (weaponHash == 0x23C9F95C) {
  648.             weaponName = "Ball";
  649.         }
  650.         else if (weaponHash == 0x497FACC3) {
  651.             weaponName = "Flare";
  652.         }
  653.         else if (weaponHash == 0xF9E6AA4B) {
  654.             weaponName = "Bottle";
  655.         }
  656.         else if (weaponHash == 0x61012683) {
  657.             weaponName = "Gusenberg";
  658.         }
  659.         else if (weaponHash == 0xC0A3098D) {
  660.             weaponName = "Special Carabine";
  661.         }
  662.         else if (weaponHash == 0xD205520E) {
  663.             weaponName = "Heavy Pistol";
  664.         }
  665.         else if (weaponHash == 0xBFD21232) {
  666.             weaponName = "SNS Pistol";
  667.         }
  668.         else if (weaponHash == 0x7F229F94) {
  669.             weaponName = "Bullpup Rifle";
  670.         }
  671.         else if (weaponHash == 0x92A27487) {
  672.             weaponName = "Dagger";
  673.         }
  674.         else if (weaponHash == 0x083839C4) {
  675.             weaponName = "Vintage Pistol";
  676.         }
  677.         else if (weaponHash == 0x7F7497E5) {
  678.             weaponName = "Firework";
  679.         }
  680.         else if (weaponHash == 0xA89CB99E) {
  681.             weaponName = "Musket";
  682.         }
  683.         else if (weaponHash == 0x3AABBBAA) {
  684.             weaponName = "Heavy Shotgun";
  685.         }
  686.         else if (weaponHash == 0xC734385A) {
  687.             weaponName = "Marksman Rifle";
  688.         }
  689.         else if (weaponHash == 0x63AB0442) {
  690.             weaponName = "Homing Launcher";
  691.         }
  692.         else if (weaponHash == 0xAB564B93) {
  693.             weaponName = "Proximity Mine";
  694.         }
  695.         else if (weaponHash == 0x787F0BB) {
  696.             weaponName = "Snowball";
  697.         }
  698.         else if (weaponHash == 0x47757124) {
  699.             weaponName = "Flare Gun";
  700.         }
  701.         else if (weaponHash == 0xE232C28C) {
  702.             weaponName = "Garbage Bag";
  703.         }
  704.         else if (weaponHash == 0xD04C944D) {
  705.             weaponName = "Handcuffs";
  706.         }
  707.         else if (weaponHash == 0x0A3D4D34) {
  708.             weaponName = "Combat PDW";
  709.         }
  710.         else if (weaponHash == 0xDC4DB296) {
  711.             weaponName = "Marksman Pistol";
  712.         }
  713.         else if (weaponHash == 0xD8DF3C3C) {
  714.             weaponName = "Brass Knuckles";
  715.         }
  716.         else if (weaponHash == 0x6D544C99) {
  717.             weaponName = "Railgun";
  718.         }
  719.         else {
  720.             weaponName = "Unarmed";
  721.         }
  722.         Weapon << weaponName;
  723.     }
  724.     else Weapon << "Unarmed";
  725.     Vector3 myCoords = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  726.     Vector3 coords = ENTITY::GET_ENTITY_COORDS(ped, 1);
  727.     ostringstream Zone; Zone << "Zone: ~s~" << UI::_GET_LABEL_TEXT(ZONE::GET_NAME_OF_ZONE(coords.x, coords.y, coords.z));
  728.     Hash streetName, crossingRoad;
  729.     PATHFIND::GET_STREET_NAME_AT_COORD(coords.x, coords.y, coords.z, &streetName, &crossingRoad);
  730.     ostringstream Street; Street << "Street: ~s~" << UI::GET_STREET_NAME_FROM_HASH_KEY(streetName);
  731.     float distance = Get3DDistance(coords, myCoords);
  732.     ostringstream Distance; Distance << "Distance: ~s~";
  733.  
  734.     if (distance > 1000) {
  735.         distance = round((distance / 1000) * 100) / 100;
  736.         Distance << distance << " Kilometers";
  737.     }
  738.     else {
  739.         distance = round(distance * 1000) / 100;
  740.         Distance << distance << " Meters";
  741.     }
  742.  
  743.  
  744.  
  745.     Menu::AddSmallTitle(playerName);
  746.     Menu::AddSmallInfo((char*)Health.str().c_str(), 0);
  747.     Menu::AddSmallInfo((char*)Armor.str().c_str(), 1);
  748.     Menu::AddSmallInfo((char*)Alive.str().c_str(), 2);
  749.     Menu::AddSmallInfo((char*)IsInAVehicle.str().c_str(), 3);
  750.     Menu::AddSmallInfo((char*)VehicleModel.str().c_str(), 4);
  751.     Menu::AddSmallInfo((char*)Speed.str().c_str(), 5);
  752.     Menu::AddSmallInfo((char*)WantedLevel.str().c_str(), 6);
  753.     Menu::AddSmallInfo((char*)Weapon.str().c_str(), 7);
  754.     Menu::AddSmallInfo((char*)Zone.str().c_str(), 8);
  755.     Menu::AddSmallInfo((char*)Street.str().c_str(), 9);
  756.     Menu::AddSmallInfo((char*)Distance.str().c_str(), 10);
  757. }
  758.  
  759.  
  760.  
  761. bool Features::airammo = false;
  762. void Features::superammo(bool toggle)
  763. {
  764.     Player playerPed = PLAYER::PLAYER_PED_ID();
  765.     if (ENTITY::DOES_ENTITY_EXIST(playerPed) && PED::IS_PED_SHOOTING(playerPed))
  766.     {
  767.         float xD[6];
  768.         WEAPON::GET_PED_LAST_WEAPON_IMPACT_COORD(playerPed, (Vector3*)xD);
  769.         if (xD[0] != 0 || xD[2] != 0 || xD[4] != 0)
  770.         {
  771.             GAMEPLAY::SHOOT_SINGLE_BULLET_BETWEEN_COORDS(xD[0], xD[2], xD[4], xD[0], xD[2], xD[4], 200, 1, GAMEPLAY::GET_HASH_KEY("WEAPON_AIRSTRIKE_ROCKET"), PLAYER::PLAYER_PED_ID() , 1, 0, 3.21283686E+09f);
  772.         }
  773.     }
  774. }
  775.  
  776.  
  777. bool Features::explosiveammo = false;
  778. void Features::expammo(bool toggle)
  779. {
  780.         Player playerPed = PLAYER::PLAYER_PED_ID();
  781.         if (ENTITY::DOES_ENTITY_EXIST(playerPed) && PED::IS_PED_SHOOTING(playerPed))
  782.         {
  783.             float xD[6];
  784.             WEAPON::GET_PED_LAST_WEAPON_IMPACT_COORD(playerPed, (Vector3*)xD);
  785.             if (xD[0] != 0 || xD[2] != 0 || xD[4] != 0)
  786.             {
  787.                 FIRE::ADD_EXPLOSION(xD[0], xD[2], xD[4], 4, 10000000.f, true, false, 0.0f);
  788.             }
  789.         }
  790. }
  791.  
  792.  
  793. bool Features::spectate[32] = { false };
  794. void Features::specter(Player target)
  795. {
  796.     if (Features::spectate[target] == true) {
  797.         NETWORK::NETWORK_SET_IN_SPECTATOR_MODE(Features::spectate[target], PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target));
  798.     }
  799.     else if (Features::spectate[target] == false) {
  800.         NETWORK::NETWORK_SET_IN_SPECTATOR_MODE(true, PLAYER::PLAYER_PED_ID());
  801.     }
  802. }
  803.  
  804.  
  805. Vector3 RotToDirection(Vector3* rot)
  806. {
  807.     float radiansZ = rot->z * 0.0174532924f;
  808.     float radiansX = rot->x * 0.0174532924f;
  809.     float num = std::abs((float)std::cos((double)radiansX));
  810.     Vector3 dir;
  811.     dir.x = (float)((double)((float)(-(float)std::sin((double)radiansZ))) * (double)num);
  812.     dir.y = (float)((double)((float)std::cos((double)radiansZ)) * (double)num);
  813.     dir.z = (float)std::sin((double)radiansX);
  814.     return dir;
  815. }
  816.  
  817. float GetDistance(Vector3* pointA, Vector3* pointB)
  818. {
  819.     float a_x = pointA->x;
  820.     float a_y = pointA->y;
  821.     float a_z = pointA->z;
  822.  
  823.     float b_x = pointB->x;
  824.     float b_y = pointB->y;
  825.     float b_z = pointB->z;
  826.  
  827.     double x_ba = (double)(b_x - a_x);
  828.     double y_ba = (double)(b_y - a_y);
  829.     double z_ba = (double)(b_z - a_z);
  830.  
  831.     double y_2 = y_ba * y_ba;
  832.     double x_2 = x_ba * x_ba;
  833.     double sum_2 = y_2 + x_2;
  834.  
  835.     return (float)std::sqrt(sum_2 + z_ba);
  836. }
  837.  
  838. Vector3 Add(Vector3* vectorA, Vector3* vectorB)
  839. {
  840.     Vector3 result;
  841.     result.x = vectorA->x;
  842.     result.y = vectorA->y;
  843.     result.z = vectorA->z;
  844.  
  845.     result.x += vectorB->x;
  846.     result.y += vectorB->y;
  847.     result.z += vectorB->z;
  848.  
  849.     return result;
  850. }
  851.  
  852. Vector3 Multiply(Vector3* vector, float x)
  853. {
  854.     Vector3 result;
  855.     result.x = vector->x;
  856.     result.y = vector->y;
  857.     result.z = vector->z;
  858.  
  859.     result.x *= x;
  860.     result.y *= x;
  861.     result.z *= x;
  862.  
  863.     return result;
  864. }
  865.  
  866. bool Features::gravitygun = false;
  867. void Features::gravweapon(bool toggle)
  868. {
  869.     Vector3 rot = CAM::GET_GAMEPLAY_CAM_ROT(0);
  870.     Vector3 dir = RotToDirection(&rot);
  871.     Vector3 camPosition = CAM::GET_GAMEPLAY_CAM_COORD();
  872.     Vector3 playerPosition = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  873.     float spawnDistance = GetDistance(&camPosition, &playerPosition);
  874.     spawnDistance += 1;
  875.     Vector3 spawnPosition = Add(&camPosition, &Multiply(&dir, spawnDistance));
  876.  
  877.     Hash model = GAMEPLAY::GET_HASH_KEY("prop_beachball_02");
  878.  
  879.     if (PED::IS_PED_SHOOTING(PLAYER::PLAYER_PED_ID()))
  880.     {
  881.         if (STREAMING::IS_MODEL_VALID(model))
  882.         {
  883.             if (!STREAMING::HAS_MODEL_LOADED(model))
  884.             {
  885.                 STREAMING::REQUEST_MODEL(model);
  886.                 while (!STREAMING::HAS_MODEL_LOADED(model))
  887.                 {
  888.                     WAIT(0);
  889.                 }
  890.             }
  891.             if (STREAMING::HAS_MODEL_LOADED(model))
  892.             {
  893.                 Object spawnedPed = OBJECT::CREATE_OBJECT(model, spawnPosition.x, spawnPosition.y, spawnPosition.z, true, true, false);
  894.                 {
  895.                     if (ENTITY::DOES_ENTITY_EXIST(spawnedPed))
  896.                     {
  897.                         ENTITY::APPLY_FORCE_TO_ENTITY(spawnedPed, 1, dir.x * 50000.0f, dir.y * 50000.0f, dir.z * 50000.0f, 0.0f, 0.0f, 0.0f, 0, 0, 1, 1, 0, 1);
  898.                         ENTITY::SET_ENTITY_LOD_DIST(spawnedPed, 696969);
  899.                     }
  900.                     STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model);
  901.                 }
  902.             }
  903.         }
  904.     }
  905. }
  906.  
  907. bool Features::shootwhale = false;
  908. void Features::whalegun(bool toggle)
  909.  {
  910.     Vector3 rot = CAM::GET_GAMEPLAY_CAM_ROT(0);
  911.     Vector3 dir = rot_to_direction(&rot);
  912.     Vector3 camPosition = CAM::GET_GAMEPLAY_CAM_COORD();
  913.     Vector3 playerPosition = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  914.     float spawnDistance = get_distance(&camPosition, &playerPosition);
  915.     spawnDistance += 5;
  916.     Vector3 spawnPosition = add(&camPosition, &multiply(&dir, spawnDistance));
  917.  
  918.     Hash model = GAMEPLAY::GET_HASH_KEY("A_C_Husky");
  919.  
  920.     if (toggle == true)
  921.     {
  922.         if (PED::IS_PED_SHOOTING(PLAYER::PLAYER_PED_ID()))
  923.         {
  924.             if (STREAMING::IS_MODEL_VALID(model))
  925.             {
  926.                 if (!STREAMING::HAS_MODEL_LOADED(model))
  927.                 {
  928.                     STREAMING::REQUEST_MODEL(model);
  929.                     while (!STREAMING::HAS_MODEL_LOADED(model))
  930.                     {
  931.                         WAIT(0);
  932.                     }
  933.                 }
  934.  
  935.                 if (STREAMING::HAS_MODEL_LOADED(model))
  936.                 {
  937.                     Ped spawnedPed = PED::CREATE_PED(26, model, spawnPosition.x, spawnPosition.y, spawnPosition.z, 1, 1, 1);
  938.  
  939.                     if (ENTITY::DOES_ENTITY_EXIST(spawnedPed))
  940.                     {
  941.                         ENTITY::SET_ENTITY_RECORDS_COLLISIONS(spawnedPed, true);
  942.                         for (float f = 0.0f; f < 75.0f; f++)
  943.                         {
  944.                             if (ENTITY::HAS_ENTITY_COLLIDED_WITH_ANYTHING(spawnedPed)) break;
  945.  
  946.                             ENTITY::APPLY_FORCE_TO_ENTITY(spawnedPed, 1, dir.x * 10.0f, dir.y * 10.0f, dir.z * 10.0f, 0.0f, 0.0f, 0.0f, 0, 0, 1, 1, 0, 1);
  947.                         }
  948.                     }
  949.                 }
  950.             }
  951.         }
  952.     }
  953. }
  954.  
  955. void ApplyForceToEntity(Player ped_id, int x, int y, int z)
  956. {
  957.     ENTITY::APPLY_FORCE_TO_ENTITY(ped_id, 1, 0, x, y, z, 0, 0, 0, 1, 1, 1, 0, 1);
  958. }
  959.  
  960.  
  961.  
  962.  
  963.  
  964. bool Features::boxer = false;
  965. void Features::box(Player target)
  966. {
  967.     {
  968.         Player playerPed = PLAYER::PLAYER_PED_ID();
  969.         for (int i = 0; i < 32; i++)
  970.         {
  971.             Player playerHandle = PLAYER::GET_PLAYER_PED(i);
  972.             Vector3 handleCoords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(playerHandle, 0, 0, 0);
  973.             char* Name = PLAYER::GET_PLAYER_NAME(PLAYER::INT_TO_PLAYERINDEX(i));
  974.  
  975.             if (ENTITY::DOES_ENTITY_EXIST(playerHandle))
  976.             {
  977.                 UI::SET_TEXT_OUTLINE();
  978.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, 0, 255, 0, 255); // top Box
  979.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  980.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  981.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  982.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, 0, 255, 0, 255); // bottom Box
  983.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, 0, 255, 0, 255);
  984.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, 0, 255, 0, 255);
  985.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, 0, 255, 0, 255);
  986.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, handleCoords.x + 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, 0, 255, 0, 255); // bottom Box
  987.                 GRAPHICS::DRAW_LINE(handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, handleCoords.x + 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  988.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z - 0.75, handleCoords.x - 0.5, handleCoords.y - 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  989.                 GRAPHICS::DRAW_LINE(handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z - 0.75, handleCoords.x - 0.5, handleCoords.y + 0.5, handleCoords.z + 0.75, 0, 255, 0, 255);
  990.             }
  991.         }
  992.     }
  993. }
  994.  
  995.  
  996. bool Features::osk = false;
  997. void Features::OSKR(bool toggle)
  998. {
  999.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1000.     PLAYER::SET_PLAYER_WEAPON_DAMAGE_MODIFIER(playerPed, 8000);
  1001. }
  1002.  
  1003.  
  1004.  
  1005. bool Features::namer = false;
  1006. void Features::nameplayer(Player target)
  1007. {
  1008.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1009.     for (int i = 0; i < 32; i++)
  1010.     {
  1011.         Player playerHandle = PLAYER::GET_PLAYER_PED(i);
  1012.         Vector3 handleCoords = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(playerHandle, 0, 0, 0);
  1013.         Vector3 playerCoords = ENTITY::GET_ENTITY_COORDS(playerPed, 0);
  1014.         char* Name = PLAYER::GET_PLAYER_NAME(PLAYER::INT_TO_PLAYERINDEX(i));
  1015.  
  1016.         if (ENTITY::DOES_ENTITY_EXIST(playerHandle))
  1017.         {
  1018.             float x1;
  1019.             float y1;
  1020.  
  1021.             BOOL screenCoords = GRAPHICS::_WORLD3D_TO_SCREEN2D(handleCoords.x, handleCoords.y, handleCoords.z, &x1, &y1);
  1022.  
  1023.             std::string playerName = PLAYER::GET_PLAYER_NAME(PLAYER::INT_TO_PLAYERINDEX(i));
  1024.  
  1025.             std::string nameSetupRed = "~HUD_COLOUR_RED~" + playerName;
  1026.             std::string nameSetupGreen = "~HUD_COLOUR_GREEN~" + playerName;
  1027.  
  1028.             char* playerInfoRed = new char[nameSetupRed.length() + 1];
  1029.             char* playerInfoGreen = new char[nameSetupGreen.length() + 1];
  1030.  
  1031.             std::strcpy(playerInfoRed, nameSetupRed.c_str());
  1032.             std::strcpy(playerInfoGreen, nameSetupGreen.c_str());
  1033.  
  1034.             UI::SET_TEXT_FONT(7);
  1035.             UI::SET_TEXT_SCALE(0.0, 0.40);
  1036.             UI::SET_TEXT_COLOUR(0, 255, 0, 255);
  1037.             UI::SET_TEXT_CENTRE(0);
  1038.             UI::SET_TEXT_DROPSHADOW(0, 0, 0, 0, 0);
  1039.             UI::SET_TEXT_EDGE(0, 0, 0, 0, 0);
  1040.             UI::_SET_TEXT_ENTRY("STRING");
  1041.             if (ENTITY::HAS_ENTITY_CLEAR_LOS_TO_ENTITY(playerPed, playerHandle, 17))
  1042.             {
  1043.                 UI::_ADD_TEXT_COMPONENT_STRING(playerInfoGreen);
  1044.             }
  1045.             else
  1046.             {
  1047.                 UI::_ADD_TEXT_COMPONENT_STRING(playerInfoRed);
  1048.             }
  1049.             UI::_DRAW_TEXT(x1, y1);
  1050.             UI::SET_TEXT_OUTLINE();
  1051.             UI::SET_TEXT_DROPSHADOW(5, 0, 78, 255, 255);
  1052.         }
  1053.     }
  1054. }
  1055.  
  1056. bool Features::esper = false;
  1057. void Features::esp(Player target)
  1058. {
  1059.     if (target != PLAYER::PLAYER_ID() && ENTITY::DOES_ENTITY_EXIST(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target)))
  1060.     {
  1061.         Vector3 locationOne = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target), false);
  1062.         Vector3 locationTwo = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), false);
  1063.         GRAPHICS::DRAW_LINE(locationOne.x, locationOne.y, locationOne.z, locationTwo.x, locationTwo.y, locationTwo.z, 255, 0, 0, 255);
  1064.     }
  1065. }
  1066.  
  1067. //outfiter
  1068. //torso
  1069. int Features::torso = 0;
  1070. void Features::torser()
  1071. {
  1072.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1073.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 3, Features::torso, 0, 0);
  1074. }
  1075.  
  1076. int Features::torsotexture = 0;
  1077. void Features::torsertexture()
  1078. {
  1079.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1080.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 3, Features::torso, Features::torsotexture, 0);
  1081. }
  1082. //face
  1083. int Features::face = 0;
  1084. void Features::facer()
  1085. {
  1086.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1087.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 0, Features::face, 0, 0);
  1088. }
  1089.  
  1090. int Features::facetexture = 0;
  1091. void Features::facertexture()
  1092. {
  1093.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1094.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 0, Features::face, Features::facetexture, 0);
  1095. }
  1096. //head
  1097. int Features::head = 0;
  1098. void Features::header()
  1099. {
  1100.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1101.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 1, Features::head, 0, 0);
  1102. }
  1103.  
  1104. int Features::headtexture = 0;
  1105. void Features::headertexture()
  1106. {
  1107.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1108.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 1, Features::head, Features::headtexture, 0);
  1109. }
  1110. //hair
  1111. int Features::hair = 0;
  1112. void Features::hairer()
  1113. {
  1114.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1115.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 2, Features::hair, 0, 0);
  1116. }
  1117.  
  1118. int Features::hairtexture = 0;
  1119. void Features::hairertexture()
  1120. {
  1121.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1122.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 2, Features::hair, Features::hairtexture, 0);
  1123. }
  1124. //legs
  1125. int Features::legs = 0;
  1126. void Features::legser()
  1127. {
  1128.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1129.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 4, Features::legs, 0, 0);
  1130. }
  1131.  
  1132. int Features::legstexture = 0;
  1133. void Features::legsertexture()
  1134. {
  1135.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1136.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 4, Features::legs, Features::legstexture, 0);
  1137. }
  1138. //hands
  1139. int Features::hands = 0;
  1140. void Features::handser()
  1141. {
  1142.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1143.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 5, Features::hands, 0, 0);
  1144. }
  1145.  
  1146. int Features::handstexture = 0;
  1147. void Features::handsertexture()
  1148. {
  1149.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1150.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 5, Features::hands, Features::handstexture, 0);
  1151. }
  1152. //feet
  1153. int Features::feet = 0;
  1154. void Features::feeter()
  1155. {
  1156.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1157.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 6, Features::feet, 0, 0);
  1158. }
  1159.  
  1160. int Features::feettexture = 0;
  1161. void Features::feetertexture()
  1162. {
  1163.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1164.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 6, Features::feet, Features::feettexture, 0);
  1165. }
  1166. //eyes
  1167. int Features::eyes= 0;
  1168. void Features::eyeser()
  1169. {
  1170.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1171.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 7, Features::eyes, 0, 0);
  1172. }
  1173.  
  1174. int Features::eyestexture = 0;
  1175. void Features::eyesertexture()
  1176. {
  1177.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1178.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 7, Features::eyes, Features::eyestexture, 0);
  1179. }
  1180. //accesories
  1181. int Features::accesories = 0;
  1182. void Features::accesorieser()
  1183. {
  1184.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1185.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 8, Features::accesories, 0, 0);
  1186. }
  1187.  
  1188. int Features::accesoriestexture = 0;
  1189. void Features::accesoriesertexture()
  1190. {
  1191.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1192.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 8, Features::accesories, Features::accesoriestexture, 0);
  1193. }
  1194. //accesories2
  1195. int Features::accesoriessec = 0;
  1196. void Features::accesoriesersec()
  1197. {
  1198.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1199.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 9, Features::accesoriessec, 0, 0);
  1200. }
  1201.  
  1202. int Features::accesoriessectexture = 0;
  1203. void Features::accesoriesersectexture()
  1204. {
  1205.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1206.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 9, Features::accesoriessec, Features::accesoriessectexture, 0);
  1207. }
  1208. //textures
  1209. int Features::textures = 0;
  1210. void Features::textureser()
  1211. {
  1212.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1213.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 10, Features::textures, 0, 0);
  1214. }
  1215.  
  1216. int Features::texturestexture = 0;
  1217. void Features::texturesertexture()
  1218. {
  1219.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1220.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 10, Features::textures, Features::texturestexture, 0);
  1221. }
  1222. //torso2
  1223. int Features::torsosec = 0;
  1224. void Features::torsersec()
  1225. {
  1226.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1227.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 11, Features::torsosec, 0, 0);
  1228. }
  1229.  
  1230. int Features::torsosectexture = 0;
  1231. void Features::torsersectexture()
  1232. {
  1233.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1234.     PED::SET_PED_COMPONENT_VARIATION(playerPed, 11, Features::torsosec, Features::torsosectexture, 0);
  1235. }
  1236. //hats
  1237. int Features::hats = 0;
  1238. void Features::hatser()
  1239. {
  1240.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1241.     PED::SET_PED_PROP_INDEX(playerPed, 0, Features::hats, 0, 0);
  1242. }
  1243.  
  1244. int Features::hatstexture = 0;
  1245. void Features::hatsertexture()
  1246. {
  1247.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1248.     PED::SET_PED_PROP_INDEX(playerPed, 0, Features::hats, Features::hatstexture, 0);
  1249. }
  1250. //glasses
  1251. int Features::glasses = 0;
  1252. void Features::glasser()
  1253. {
  1254.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1255.     PED::SET_PED_PROP_INDEX(playerPed, 1, Features::glasses, 0, 0);
  1256. }
  1257.  
  1258. int Features::glassestexture = 0;
  1259. void Features::glassertexture()
  1260. {
  1261.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1262.     PED::SET_PED_PROP_INDEX(playerPed, 1, Features::glasses, Features::glassestexture, 0);
  1263. }
  1264. //Ears
  1265. int Features::ears = 0;
  1266. void Features::earser()
  1267. {
  1268.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1269.     PED::SET_PED_PROP_INDEX(playerPed, 2, Features::ears, 0, 0);
  1270. }
  1271.  
  1272. int Features::earstexture = 0;
  1273. void Features::earsertexture()
  1274. {
  1275.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1276.     PED::SET_PED_PROP_INDEX(playerPed, 2, Features::ears, Features::earstexture, 0);
  1277. }
  1278. //Watches
  1279. int Features::watches = 0;
  1280. void Features::watcher()
  1281. {
  1282.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1283.     PED::SET_PED_PROP_INDEX(playerPed, 3, Features::watches, 0, 0);
  1284. }
  1285.  
  1286. int Features::watchestexture = 0;
  1287. void Features::watchertexture()
  1288. {
  1289.     Player playerPed = PLAYER::PLAYER_PED_ID();
  1290.     PED::SET_PED_PROP_INDEX(playerPed, 3, Features::watches, Features::watchestexture, 0);
  1291. }
  1292. //outfiterend
  1293.  
  1294. //MobileLSC_______________________________________________________________________
  1295. //frontbumpers
  1296.  
  1297. int Features::frontbumper = 0;
  1298. void Features::bumperf()
  1299. {
  1300.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1301.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1302.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 1, Features::frontbumper, 0);
  1303. }
  1304. int Features::rearbumper = 0;
  1305. void Features::bumperr()
  1306. {
  1307.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1308.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1309.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 2, Features::rearbumper, 0);
  1310.  
  1311. }
  1312. //spoiler
  1313. int Features::spoiler = 0;
  1314. void Features::spoilerew()
  1315. {
  1316.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1317.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1318.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 0, Features::spoiler, 0);
  1319.  
  1320. }
  1321. //sideskirt
  1322. int Features::sideskirt = 0;
  1323. void Features::sideskirter()
  1324. {
  1325.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1326.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1327.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 3, Features::sideskirt, 0);
  1328.  
  1329. }
  1330. //exhaust
  1331. int Features::exhaust = 0;
  1332. void Features::exhauster()
  1333. {
  1334.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1335.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1336.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 4, Features::exhaust, 0);
  1337.  
  1338. }
  1339. //frame
  1340. int Features::frame = 0;
  1341. void Features::framer()
  1342. {
  1343.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1344.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1345.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 5, Features::frame, 0);
  1346.  
  1347. }
  1348. //grille
  1349. int Features::grille = 0;
  1350. void Features::griller()
  1351. {
  1352.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1353.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1354.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 6, Features::grille, 0);
  1355.  
  1356. }
  1357. //hood
  1358. int Features::hood = 0;
  1359. void Features::hooder()
  1360. {
  1361.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1362.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1363.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 7, Features::hood, 0);
  1364.  
  1365. }
  1366. //fender
  1367. int Features::fender = 0;
  1368. void Features::fenderer()
  1369. {
  1370.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1371.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1372.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 8, Features::fender, 0);
  1373.  
  1374. }
  1375. //roof
  1376. int Features::roof = 0;
  1377. void Features::roofer()
  1378. {
  1379.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1380.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1381.     VEHICLE::SET_VEHICLE_MOD(Vehicle, 10, Features::roof, 0);
  1382.  
  1383. }
  1384. //colours
  1385. //prim
  1386. int Features::primred = 0;
  1387. void Features::primreder()
  1388. {
  1389.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1390.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1391.     VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(Vehicle, Features::primred, 0, 0);
  1392. }
  1393. int Features::primgreen = 0;
  1394. void Features::primgreener()
  1395. {
  1396.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1397.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1398.     VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(Vehicle, Features::primred, Features::primgreen, 0);
  1399.  
  1400. }
  1401. int Features::primblue = 0;
  1402. void Features::primbluer()
  1403. {
  1404.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1405.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1406.     VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(Vehicle, Features::primred, Features::primgreen, Features::primblue);
  1407.  
  1408. }
  1409. //second
  1410. int Features::secondred = 0;
  1411. void Features::secondreder()
  1412. {
  1413.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1414.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1415.     VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(Vehicle, Features::secondred, 0, 0);
  1416. }
  1417. int Features::secondgreen = 0;
  1418. void Features::secondgreener()
  1419. {
  1420.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1421.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1422.     VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(Vehicle, Features::secondred, Features::secondgreen, 0);
  1423. }
  1424. int Features::secondblue = 0;
  1425. void Features::secondbluer()
  1426. {
  1427.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1428.     VEHICLE::SET_VEHICLE_MOD_KIT(Vehicle, 0);
  1429.     VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(Vehicle, Features::secondred, Features::secondgreen, Features::secondblue);
  1430. }
  1431. //EndMobileLSC_______________________________________________________________
  1432.  
  1433. bool Features::flybool = false;
  1434. void Features::playerflyer(bool toggle) {
  1435.  
  1436.     Ped playerPed = PLAYER::PLAYER_PED_ID();
  1437.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(playerPed, false);
  1438.     ENTITY::SET_ENTITY_COORDS_NO_OFFSET(playerPed, pos.x, pos.y, pos.z, false, false, false);
  1439.     if (GetAsyncKeyState(VK_KEY_S) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, 268)) {
  1440.         float fivef = .5f;
  1441.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1442.         float xVec = fivef * sin(degToRad(heading)) * -1.0f;
  1443.         float yVec = fivef * cos(degToRad(heading));
  1444.         ENTITY::SET_ENTITY_HEADING(playerPed, heading);
  1445.  
  1446.         pos.x -= xVec, pos.y -= yVec;
  1447.         ENTITY::SET_ENTITY_COORDS_NO_OFFSET(playerPed, pos.x, pos.y, pos.z, false, false, false);
  1448.     }
  1449.     if (GetAsyncKeyState(VK_KEY_W) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, 269)) {
  1450.         float fivef = .5f;
  1451.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1452.         float xVec = fivef * sin(degToRad(heading)) * -1.0f;
  1453.         float yVec = fivef * cos(degToRad(heading));
  1454.         ENTITY::SET_ENTITY_HEADING(playerPed, heading);
  1455.  
  1456.         pos.x += xVec, pos.y += yVec;
  1457.         ENTITY::SET_ENTITY_COORDS_NO_OFFSET(playerPed, pos.x, pos.y, pos.z, false, false, false);
  1458.     }
  1459.     if (GetAsyncKeyState(VK_KEY_A) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, 266)) {
  1460.         float fivef = .5f;
  1461.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1462.         ENTITY::SET_ENTITY_HEADING(playerPed, heading + 0.5f);
  1463.     }
  1464.     if (GetAsyncKeyState(VK_KEY_D) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, 271)) {
  1465.         float fivef = .5f;
  1466.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1467.         ENTITY::SET_ENTITY_HEADING(playerPed, heading - 0.5f);
  1468.     }
  1469.     if (GetAsyncKeyState(VK_SHIFT) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, ControlFrontendRb)) {
  1470.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1471.         ENTITY::SET_ENTITY_HEADING(playerPed, heading);
  1472.  
  1473.         pos.z -= 0.5;
  1474.         ENTITY::SET_ENTITY_COORDS_NO_OFFSET(playerPed, pos.x, pos.y, pos.z, false, false, false);
  1475.     }
  1476.     if (GetAsyncKeyState(VK_SPACE) || CONTROLS::IS_DISABLED_CONTROL_JUST_PRESSED(2, ControlFrontendLb)) {
  1477.         float heading = ENTITY::GET_ENTITY_HEADING(playerPed);
  1478.         ENTITY::SET_ENTITY_HEADING(playerPed, heading);
  1479.  
  1480.         pos.z += 0.5;
  1481.         ENTITY::SET_ENTITY_COORDS_NO_OFFSET(playerPed, pos.x, pos.y, pos.z, false, false, false);
  1482.     }
  1483. }
  1484.  
  1485.  
  1486.  
  1487. void Features::Online::TeleportToPlayer(Player player) {
  1488.  
  1489.     Entity handle;
  1490.     Vector3 coords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player), false);
  1491.     PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), false) ? handle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::PLAYER_PED_ID()) : handle = PLAYER::PLAYER_PED_ID();
  1492.     ENTITY::SET_ENTITY_COORDS(handle, coords.x, coords.y, coords.z, false, false, false, false);
  1493. }
  1494.  
  1495.  
  1496. int Features::powerer = 0;
  1497. void Features::power()
  1498. {
  1499.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1500.     VEHICLE::_SET_VEHICLE_ENGINE_POWER_MULTIPLIER(Vehicle, 0);
  1501. }
  1502.  
  1503. int Features::torquer = 0;
  1504. void Features::torque()
  1505. {
  1506.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1507.     VEHICLE::_SET_VEHICLE_ENGINE_TORQUE_MULTIPLIER(Vehicle, 0);
  1508. }
  1509.  
  1510. int Features::speeder = 0;
  1511. void Features::speed()
  1512. {
  1513.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1514.     VEHICLE::SET_VEHICLE_FORWARD_SPEED(Vehicle, 0);
  1515. }
  1516.  
  1517.  
  1518. bool Features::sticktoground = false;
  1519. void Features::groundvehicle(bool toggle)
  1520. {
  1521.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1522.     VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(Vehicle);
  1523. }
  1524.  
  1525.  
  1526. bool Features::playernoragdoll = false;
  1527. void Features::NoRagdoll(bool toggle)
  1528. {
  1529.     Memory::set_value<DWORD>({ OFFSET_PLAYER, OFFSET_PLAYER_INFO, OFFSET_PLAYER_RAGDOLL }, toggle ? 0x20 : 0x01);
  1530.     PED::SET_PED_RAGDOLL_ON_COLLISION(PLAYER::PLAYER_PED_ID(), !toggle);
  1531.     PED::SET_PED_CAN_RAGDOLL_FROM_PLAYER_IMPACT(PLAYER::PLAYER_PED_ID(), !toggle);
  1532.     PED::SET_PED_CAN_RAGDOLL(PLAYER::PLAYER_PED_ID(), !toggle);
  1533. }
  1534.  
  1535. bool Features::playerwaterloop[35] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
  1536. void Features::WaterLoop(Player target)
  1537. {
  1538.     Player selectedPlayer = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target);
  1539.     Vector3 Pos = ENTITY::GET_ENTITY_COORDS(selectedPlayer, true);
  1540.     FIRE::ADD_EXPLOSION(Pos.x, Pos.y, Pos.z, 13, 5, true, 0, 0);
  1541. }
  1542.  
  1543. bool Features::fireloop[32] = { false };
  1544. void Features::firelooper(Player target)
  1545. {
  1546.     Vector3 targetCords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target), false);
  1547.     FIRE::ADD_EXPLOSION(targetCords.x, targetCords.y, targetCords.z, 12, 0.0f, true, false, 0.0f);
  1548. }
  1549.  
  1550. bool Features::orbitalcanon = false;
  1551. void Features::orbcaninf(bool toggle)
  1552. {
  1553.         STATS::STAT_SET_INT(GAMEPLAY::GET_HASH_KEY("MP0_ORBITAL_CANNON_COOLDOWN"), 0, Features::orbitalcanon);
  1554. }
  1555.  
  1556. bool Features::carbooster = false;
  1557. void Features::superbooster(bool toggle)
  1558. {
  1559.     Print("Press NumPad 3 or NumPad 9 to use.");
  1560.     if (IsKeyPressed(VK_NUMPAD9))
  1561.     {
  1562.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  1563.         VEHICLE::SET_VEHICLE_FORWARD_SPEED(Veh, 75);
  1564.     }
  1565.     if (IsKeyPressed(VK_NUMPAD3))
  1566.     {
  1567.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  1568.         VEHICLE::SET_VEHICLE_FORWARD_SPEED(Veh, 0);
  1569.     }
  1570. }
  1571.  
  1572.  
  1573. bool Features::mpbypass = false;
  1574. void Features::bypasser(bool toggle)
  1575. {
  1576.     GAMEPLAY::TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("shop_controller");
  1577. }
  1578.  
  1579.  
  1580. bool Features::vehcoll = false;
  1581. void Features::collvehicle(bool toggle)
  1582. {
  1583.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  1584.         ENTITY::SET_ENTITY_COLLISION(Veh, 0, 1);
  1585. }
  1586.  
  1587.  
  1588.  
  1589. int Features::graviter = 0;
  1590. void Features::gravity()
  1591. {
  1592.     GAMEPLAY::SET_GRAVITY_LEVEL(Features::graviter);
  1593. }
  1594.  
  1595.  
  1596. int Features::timer = 0;
  1597. void Features::time()
  1598. {
  1599.     NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(Features::timer, 0, 0);
  1600. }
  1601.  
  1602.  
  1603.  
  1604. int Features::winder = 0;
  1605. void Features::wind()
  1606. {
  1607.     GAMEPLAY::SET_WIND(Features::winder);
  1608. }
  1609.  
  1610. bool Features::driftmode = false;
  1611. void Features::drifter(bool toggle)
  1612. {
  1613.     if (IsKeyPressed(VK_LSHIFT))
  1614.     {
  1615.         Player playerPed = PLAYER::PLAYER_PED_ID();
  1616.         VEHICLE::SET_VEHICLE_REDUCE_GRIP(PED::GET_VEHICLE_PED_IS_USING(playerPed), true);
  1617.     }
  1618.     else {
  1619.         Player playerPed = PLAYER::PLAYER_PED_ID();
  1620.         VEHICLE::SET_VEHICLE_REDUCE_GRIP(PED::GET_VEHICLE_PED_IS_USING(playerPed), false);
  1621.     }
  1622. }
  1623.  
  1624. bool Features::pausetime = false;
  1625. void Features::stoptime(bool toggle)
  1626. {
  1627.     if (toggle == true)
  1628.     {
  1629.         TIME::PAUSE_CLOCK(true);
  1630.     }
  1631.     else {
  1632.         TIME::PAUSE_CLOCK(false);
  1633.     }
  1634. }
  1635.  
  1636. bool Features::shakecam[32] = { false };
  1637. void Features::camshaker(Player target)
  1638. {
  1639.     Vector3 targetCords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target), false);
  1640.     FIRE::ADD_EXPLOSION(targetCords.x, targetCords.y, targetCords.z, 0, 0.0f, false, false, 1000.0f);
  1641. }
  1642.  
  1643.  
  1644. bool Features::boostbool = false;
  1645. void Features::carboost(bool toggle) {
  1646.     if (PLAYER::IS_PLAYER_PRESSING_HORN(PLAYER::PLAYER_ID()))
  1647.     {
  1648.         Vehicle Veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()), false);
  1649.         NETWORK::NETWORK_REQUEST_CONTROL_OF_ENTITY(Veh);
  1650.         if (NETWORK::NETWORK_HAS_CONTROL_OF_ENTITY(Veh))
  1651.         {
  1652.             VEHICLE::SET_VEHICLE_FORWARD_SPEED(Veh, Features::hornpower);
  1653.         }
  1654.     }
  1655. }
  1656.  
  1657.  
  1658.  
  1659. bool Features::vehiclegun = false;
  1660. void Features::shootvehicles(bool toggle)
  1661. {
  1662.     Vector3 rot = CAM::GET_GAMEPLAY_CAM_ROT(0);
  1663.     Vector3 dir = RotToDirection(&rot);
  1664.     Vector3 camPosition = CAM::GET_GAMEPLAY_CAM_COORD();
  1665.     Vector3 playerPosition = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  1666.     float spawnDistance = GetDistance(&camPosition, &playerPosition);
  1667.     spawnDistance += 1;
  1668.     Vector3 spawnPosition = Add(&camPosition, &Multiply(&dir, spawnDistance));
  1669.  
  1670.     Hash model = GAMEPLAY::GET_HASH_KEY("ZENTORNO");
  1671.  
  1672.     if (PED::IS_PED_SHOOTING(PLAYER::PLAYER_PED_ID()))
  1673.     {
  1674.         if (STREAMING::IS_MODEL_VALID(model))
  1675.         {
  1676.             if (!STREAMING::HAS_MODEL_LOADED(model))
  1677.             {
  1678.                 STREAMING::REQUEST_MODEL(model);
  1679.                 while (!STREAMING::HAS_MODEL_LOADED(model))
  1680.                 {
  1681.                     WAIT(0);
  1682.                 }
  1683.             }
  1684.             if (STREAMING::HAS_MODEL_LOADED(model))
  1685.             {
  1686.                 Object spawnedPed = OBJECT::CREATE_OBJECT(model, spawnPosition.x, spawnPosition.y, spawnPosition.z, true, true, false);
  1687.                 {
  1688.                     if (ENTITY::DOES_ENTITY_EXIST(spawnedPed))
  1689.                     {
  1690.                         ENTITY::APPLY_FORCE_TO_ENTITY(spawnedPed, 1, dir.x * 50000.0f, dir.y * 50000.0f, dir.z * 50000.0f, 0.0f, 0.0f, 0.0f, 0, 0, 1, 1, 0, 1);
  1691.                         ENTITY::SET_ENTITY_LOD_DIST(spawnedPed, 696969);
  1692.                     }
  1693.                     STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model);
  1694.                 }
  1695.             }
  1696.         }
  1697.     }
  1698. }
  1699.  
  1700. void Features::shootcar(char* toSpawn) {
  1701.     Hash model = GAMEPLAY::GET_HASH_KEY(toSpawn);
  1702.     if (STREAMING::IS_MODEL_VALID(model))
  1703.     {
  1704.         STREAMING::REQUEST_MODEL(model);
  1705.         while (!STREAMING::HAS_MODEL_LOADED(model)) WAIT(0);
  1706.         Vector3 ourCoords = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), false);
  1707.         float forward = 5.f;
  1708.         float heading = ENTITY::GET_ENTITY_HEADING(PLAYER::PLAYER_PED_ID());
  1709.         float xVector = forward * sin(degToRad(heading)) * -1.f;
  1710.         float yVector = forward * cos(degToRad(heading));
  1711.         Vehicle veh = VEHICLE::CREATE_VEHICLE(model, ourCoords.x + xVector, ourCoords.y + yVector, ourCoords.z, heading, true, true);
  1712.         RequestControlOfEnt(veh);
  1713.         VEHICLE::SET_VEHICLE_ENGINE_ON(veh, true, true, true);
  1714.         VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(veh);
  1715.         DECORATOR::DECOR_SET_INT(veh, "MPBitset", 0);
  1716.         auto networkId = NETWORK::VEH_TO_NET(veh);
  1717.         ENTITY::_SET_ENTITY_REGISTER(veh, true);
  1718.         VEHICLE::SET_VEHICLE_FORWARD_SPEED(veh, 700.0);
  1719.         if (NETWORK::NETWORK_GET_ENTITY_IS_NETWORKED(veh))
  1720.             NETWORK::SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES(networkId, true);
  1721.         WAIT(150);
  1722.         STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model);
  1723.     }
  1724. }
  1725.  
  1726.  
  1727. bool Features::freezeprot = false;
  1728. void Features::freezing(bool toggle)
  1729. {
  1730.     AI::CLEAR_PED_TASKS_IMMEDIATELY(PLAYER::PLAYER_PED_ID());
  1731. }
  1732.  
  1733.  
  1734. bool Features::PTLoopedO[35] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
  1735. void Features::PTLopperO(Player target)
  1736. {
  1737.  
  1738.     if ((timeGetTime() - Features::TimePD6) > 500) // Time between drops
  1739.     {
  1740.         STREAMING::REQUEST_NAMED_PTFX_ASSET(call1o);
  1741.         GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL(call2o);
  1742.         GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_ENTITY(nameo, PTLoopPed, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 1.0, false, false, false);
  1743.         Features::TimePD6 = timeGetTime();
  1744.  
  1745.     }
  1746. }
  1747. void Features::PTFXCALLO(char * call1, char * call2, char * name, Ped target)
  1748. {
  1749.     Ped user = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target);
  1750.  
  1751.     call1o = call1;
  1752.     call2o = call2;
  1753.     nameo = name;
  1754.     PTLoopPed = user;
  1755.  
  1756.     STREAMING::REQUEST_NAMED_PTFX_ASSET(call1);
  1757.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL(call2);
  1758.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_ENTITY(name, user, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 1.0, false, false, false);
  1759. }
  1760.  
  1761.  
  1762. bool Features::betiny = false;
  1763. void Features::TinyPlayer(bool toggle)
  1764. {
  1765.     PED::SET_PED_CONFIG_FLAG(PLAYER::PLAYER_PED_ID(), 223, toggle);
  1766. }
  1767.  
  1768. int Features::hornpower = 50;
  1769. void Features::hornpowerer()
  1770. {
  1771.     GRAPHICS::_0x1600FD8CF72EBC12(Features::hornpower);
  1772. }
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780. void Features::RequestControlOfid(Entity netid)
  1781. {
  1782.     int tick = 0;
  1783.  
  1784.     while (!NETWORK::NETWORK_HAS_CONTROL_OF_NETWORK_ID(netid) && tick <= 25)
  1785.     {
  1786.         NETWORK::NETWORK_REQUEST_CONTROL_OF_NETWORK_ID(netid);
  1787.         tick++;
  1788.     }
  1789. }
  1790.  
  1791. void Features::attachobjectstocar2(char* object)
  1792. {
  1793.     bool custom = false;
  1794.     int hash = 0;
  1795.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1796.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), true);
  1797.     hash = GAMEPLAY::GET_HASH_KEY(object);
  1798.     if (STREAMING::IS_MODEL_IN_CDIMAGE(hash))
  1799.     {
  1800.         if (STREAMING::IS_MODEL_VALID(hash))
  1801.         {
  1802.             STREAMING::REQUEST_MODEL(hash);
  1803.             if (STREAMING::HAS_MODEL_LOADED(hash))
  1804.             {
  1805.                 Features::attachobj[Features::nuattach] = OBJECT::CREATE_OBJECT(hash, pos.x, pos.y, pos.z, 1, 1, 1);
  1806.                 if (ENTITY::DOES_ENTITY_EXIST(Features::attachobj[Features::nuattach]))
  1807.                 {
  1808.                     ENTITY::SET_ENTITY_VISIBLE(Vehicle, false, 0);
  1809.                     ENTITY::ATTACH_ENTITY_TO_ENTITY(Features::attachobj[Features::nuattach], PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID())), ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "bumper_f"), 0, 0, 0, 1822, 0, 0, 1, 1, 0, 0, 2, 1);
  1810.                     nuattach++;
  1811.                     if (nuattach >= 101) { nuattach = 1; }
  1812.                 }
  1813.             }
  1814.         }
  1815.     }
  1816. }
  1817.  
  1818.  
  1819. void Features::attachobjectstocar(char* object)
  1820. {
  1821.     bool custom = false;
  1822.     int hash = 0;
  1823.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1824.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), true);
  1825.     hash = GAMEPLAY::GET_HASH_KEY(object);
  1826.     if (STREAMING::IS_MODEL_IN_CDIMAGE(hash))
  1827.     {
  1828.         if (STREAMING::IS_MODEL_VALID(hash))
  1829.         {
  1830.             STREAMING::REQUEST_MODEL(hash);
  1831.             if (STREAMING::HAS_MODEL_LOADED(hash))
  1832.             {
  1833.                 Features::attachobj[Features::nuattach] = OBJECT::CREATE_OBJECT(hash, pos.x, pos.y, pos.z, 1, 1, 1);
  1834.                 if (ENTITY::DOES_ENTITY_EXIST(Features::attachobj[Features::nuattach]))
  1835.                 {
  1836.                     ENTITY::SET_ENTITY_VISIBLE(Vehicle, false, 0);
  1837.                     ENTITY::ATTACH_ENTITY_TO_ENTITY(Features::attachobj[Features::nuattach], PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID())), ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "bumper_f"), 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1);
  1838.                     nuattach++;
  1839.                     if (nuattach >= 101) { nuattach = 1; }
  1840.                 }
  1841.             }
  1842.         }
  1843.     }
  1844. }
  1845.  
  1846. void Features::rampcar()
  1847. {
  1848.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1849.     uint Handle = PLAYER::PLAYER_PED_ID();
  1850.     Vector3 MyCoords = ENTITY::GET_ENTITY_COORDS(Handle, 1);
  1851.     Vector3 null; null.x = 0, null.y = 0; null.z = 0;
  1852.     Vector3 a; a.x = 0.0, a.y = 0.32, a.z = -0.25;
  1853.     Vector3 b; b.x = 0, b.y = 0, b.z = 180;
  1854.     int hash2 = GAMEPLAY::GET_HASH_KEY("prop_windmill_01");
  1855.     STREAMING::REQUEST_MODEL(hash2);
  1856.     if (STREAMING::HAS_MODEL_LOADED(hash2))
  1857.     {
  1858.         int Object = OBJECT::CREATE_OBJECT(hash2, null.x, null.y, null.z, 1, 1, 0);
  1859.         if (ENTITY::DOES_ENTITY_EXIST(Object))
  1860.         {
  1861.             ENTITY::ATTACH_ENTITY_TO_ENTITY_PHYSICALLY(Object, Vehicle, ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_lf"), ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_lf"), 10.0f, 10.0f, 10.0f, 10.0f, 10.0f, 10.0f, 0, 0, 0, 50, 1, 1, true, false, 2);
  1862.             ENTITY::FREEZE_ENTITY_POSITION(Object, false);
  1863.             ENTITY::SET_ENTITY_VISIBLE(Handle, true, 0);
  1864.         }
  1865.     }
  1866. }
  1867.  
  1868.  
  1869.  
  1870. int Features::attachobj[100];
  1871. int Features::nuattach = 1;
  1872. void Features::attachobjects2(char* object)
  1873. {
  1874.     bool custom = false;
  1875.     int hash = 0;
  1876.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), true);
  1877.     hash = GAMEPLAY::GET_HASH_KEY(object);
  1878.     if (STREAMING::IS_MODEL_IN_CDIMAGE(hash))
  1879.     {
  1880.         if (STREAMING::IS_MODEL_VALID(hash))
  1881.         {
  1882.             STREAMING::REQUEST_MODEL(hash);
  1883.             if (STREAMING::HAS_MODEL_LOADED(hash))
  1884.             {
  1885.                 Features::attachobj[Features::nuattach] = OBJECT::CREATE_OBJECT(hash, pos.x, pos.y, pos.z, 1, 1, 1);
  1886.                 if (ENTITY::DOES_ENTITY_EXIST(Features::attachobj[Features::nuattach]))
  1887.                 {
  1888.                     ENTITY::ATTACH_ENTITY_TO_ENTITY(Features::attachobj[Features::nuattach], PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), 31086, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1);
  1889.                     nuattach++;
  1890.                     if (nuattach >= 101) { nuattach = 1; }
  1891.                 }
  1892.             }
  1893.         }
  1894.     }
  1895. }
  1896.  
  1897.  
  1898. void DeleteVehicle(int VehicleHandle)
  1899. {
  1900.     if (ENTITY::DOES_ENTITY_EXIST(VehicleHandle))
  1901.     {
  1902.         ENTITY::SET_ENTITY_AS_MISSION_ENTITY(VehicleHandle, 1, 1);
  1903.         VEHICLE::DELETE_VEHICLE(&VehicleHandle);
  1904.     }
  1905. }
  1906.  
  1907. void Features::attachobjects3(char* object)
  1908. {
  1909.     bool custom = false;
  1910.     int hash = 0;
  1911.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), true);
  1912.     hash = GAMEPLAY::GET_HASH_KEY(object);
  1913.     if (STREAMING::IS_MODEL_IN_CDIMAGE(hash))
  1914.     {
  1915.         if (STREAMING::IS_MODEL_VALID(hash))
  1916.         {
  1917.             STREAMING::REQUEST_MODEL(hash);
  1918.             if (STREAMING::HAS_MODEL_LOADED(hash))
  1919.             {
  1920.                 Features::attachobj[Features::nuattach] = OBJECT::CREATE_OBJECT(hash, pos.x, pos.y, pos.z, 1, 1, 1);
  1921.                 if (ENTITY::DOES_ENTITY_EXIST(Features::attachobj[Features::nuattach]))
  1922.                 {
  1923.                     ENTITY::ATTACH_ENTITY_TO_ENTITY_PHYSICALLY(Features::attachobj[Features::nuattach], PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(Features::Online::selectedPlayer), 12844, 12844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 0, 2);
  1924.                     ENTITY::APPLY_FORCE_TO_ENTITY(Features::Online::selectedPlayer, 5, pos.x, pos.y, pos.z, 0, 0, 0, 12844, 1, 1, 1, 0, 1);
  1925.                     if (nuattach >= 101) { nuattach = 1; }
  1926.                 }
  1927.             }
  1928.         }
  1929.     }
  1930. }
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936. DWORD myVeh, cam_gta2;
  1937. bool Features::gtasec = false;
  1938. void Features::oldcam(bool toggle)
  1939. {
  1940.     if (toggle == true)
  1941.     {
  1942.         if (CAM::DOES_CAM_EXIST(cam_gta2)) CAM::SET_CAM_ACTIVE(cam_gta2, 1);
  1943.         else
  1944.         {
  1945.             cam_gta2 = CAM::CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", 1);
  1946.             CAM::ATTACH_CAM_TO_ENTITY(cam_gta2, PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 8.5f, 1);
  1947.             Vector3 Pos = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 1);
  1948.             CAM::POINT_CAM_AT_COORD(cam_gta2, Pos.x, Pos.y, -1000000);
  1949.             CAM::SET_CAM_ACTIVE(cam_gta2, 1);
  1950.         }
  1951.         CAM::RENDER_SCRIPT_CAMS(1, 0, 3000, 1, 0);
  1952.     }
  1953.     else if (CAM::DOES_CAM_EXIST(cam_gta2))
  1954.     {
  1955.         CAM::SET_CAM_ACTIVE(cam_gta2, 0);
  1956.         CAM::DESTROY_CAM(cam_gta2, 0);
  1957.         CAM::RENDER_SCRIPT_CAMS(0, 0, 3000, 1, 0);
  1958.     }
  1959.     return;
  1960. }
  1961.  
  1962. bool Features::policeignore = false;
  1963. void Features::policeignorep(bool toggle)
  1964. {
  1965.     if (toggle == true)
  1966.     {
  1967.         PLAYER::SET_POLICE_IGNORE_PLAYER(PLAYER::PLAYER_ID(), true);
  1968.     }
  1969.     else {
  1970.         PLAYER::SET_POLICE_IGNORE_PLAYER(PLAYER::PLAYER_ID(), false);
  1971.     }
  1972. }
  1973.  
  1974. bool Features::playerignore = false;
  1975. void Features::everyoneignore(bool toggle)
  1976. {
  1977.     if (toggle == true)
  1978.     {
  1979.         PLAYER::SET_EVERYONE_IGNORE_PLAYER(PLAYER::PLAYER_ID(), true);
  1980.     }
  1981.     else {
  1982.         PLAYER::SET_EVERYONE_IGNORE_PLAYER(PLAYER::PLAYER_ID(), false);
  1983.     }
  1984. }
  1985.  
  1986.  
  1987. bool Features::partcar = false;
  1988. void Features::fxcar(bool toggle)
  1989. {
  1990.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  1991.     if (STREAMING::HAS_NAMED_PTFX_ASSET_LOADED("scr_rcbarry1"))
  1992.     {
  1993.             Vector3 pos = ENTITY::GET_WORLD_POSITION_OF_ENTITY_BONE(Vehicle, ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_lf"));
  1994.             GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  1995.             GRAPHICS::_START_PARTICLE_FX_NON_LOOPED_AT_COORD_2("scr_alien_disintegrate", pos.x, pos.y, pos.z, 0.0f, 0.0f, 0.0f, 0.10f, false, false, false);
  1996.     }
  1997.     else STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  1998.  
  1999.     if (STREAMING::HAS_NAMED_PTFX_ASSET_LOADED("scr_rcbarry1"))
  2000.     {
  2001.         Vector3 pos2 = ENTITY::GET_WORLD_POSITION_OF_ENTITY_BONE(Vehicle, ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_rf"));
  2002.         GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2003.         GRAPHICS::_START_PARTICLE_FX_NON_LOOPED_AT_COORD_2("scr_alien_disintegrate", pos2.x, pos2.y, pos2.z, 0.0f, 0.0f, 0.0f, 0.10f, false, false, false);
  2004.     }
  2005.     else STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2006.  
  2007.     if (STREAMING::HAS_NAMED_PTFX_ASSET_LOADED("scr_rcbarry1"))
  2008.     {
  2009.         Vector3 pos3 = ENTITY::GET_WORLD_POSITION_OF_ENTITY_BONE(Vehicle, ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_lr"));
  2010.         GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2011.         GRAPHICS::_START_PARTICLE_FX_NON_LOOPED_AT_COORD_2("scr_alien_disintegrate", pos3.x, pos3.y, pos3.z, 0.0f, 0.0f, 0.0f, 0.10f, false, false, false);
  2012.     }
  2013.     else STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2014.  
  2015.     if (STREAMING::HAS_NAMED_PTFX_ASSET_LOADED("scr_rcbarry1"))
  2016.     {
  2017.         Vector3 pos4 = ENTITY::GET_WORLD_POSITION_OF_ENTITY_BONE(Vehicle, ENTITY::GET_ENTITY_BONE_INDEX_BY_NAME(Vehicle, "wheel_rr"));
  2018.         GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2019.         GRAPHICS::_START_PARTICLE_FX_NON_LOOPED_AT_COORD_2("scr_alien_disintegrate", pos4.x, pos4.y, pos4.z, 0.0f, 0.0f, 0.0f, 0.10f, false, false, false);
  2020.     }
  2021.     else STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2022. }
  2023.  
  2024.  
  2025.  
  2026.  
  2027. bool Features::alienmen = false;
  2028. void Features::alienplayer(bool toggle)
  2029. {
  2030.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2031.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2032.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_alien_disintegrate", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 12844, 0.08f, false, false, false);//Head
  2033.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2034.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2035.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_alien_disintegrate", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6286, 0.08f, false, false, false);//RHAND
  2036.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2037.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2038.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_alien_disintegrate", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 36029, 0.08f, false, false, false);//LHAND
  2039.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2040.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2041.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_alien_disintegrate", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 35502, 0.08f, false, false, false);//RFOOT
  2042.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry1");
  2043.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry1");
  2044.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_alien_disintegrate", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 65245, 0.08f, false, false, false);//LFOOT
  2045. }
  2046.  
  2047. bool Features::electricmen = false;
  2048. void Features::electricplayer(bool toggle)
  2049. {
  2050.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_agencyheistb");
  2051.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_agencyheistb");
  2052.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_agency3b_elec_box", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 12844, 0.08f, false, false, false);//Head
  2053.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_agencyheistb");
  2054.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_agencyheistb");
  2055.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_agency3b_elec_box", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6286, 0.08f, false, false, false);//RHAND
  2056.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_agencyheistb");
  2057.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_agencyheistb");
  2058.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_agency3b_elec_box", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 36029, 0.08f, false, false, false);//LHAND
  2059.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_agencyheistb");
  2060.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_agencyheistb");
  2061.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_agency3b_elec_box", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 35502, 0.08f, false, false, false);//RFOOT
  2062.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_agencyheistb");
  2063.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_agencyheistb");
  2064.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_agency3b_elec_box", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 65245, 0.08f, false, false, false);//LFOOT
  2065. }
  2066.  
  2067.  
  2068. bool Features::bankmen = false;
  2069. void Features::bankplayer(bool toggle)
  2070. {
  2071.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
  2072.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_ornate_heist");
  2073.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_heist_ornate_banknotes", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 12844, 0.40f, false, false, false);//Head
  2074.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
  2075.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_ornate_heist");
  2076.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_heist_ornate_banknotes", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6286, 0.40f, false, false, false);//RHAND
  2077.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
  2078.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_ornate_heist");
  2079.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_heist_ornate_banknotes", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 36029, 0.40f, false, false, false);//LHAND
  2080.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
  2081.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("cscr_ornate_heist");
  2082.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_heist_ornate_banknotes", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 35502, 0.40f, false, false, false);//RFOOT
  2083.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_ornate_heist");
  2084.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_ornate_heist");
  2085.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_heist_ornate_banknotes", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 65245, 0.40f, false, false, false);//LFOOT
  2086. }
  2087.  
  2088. bool Features::dirtmen = false;
  2089. void Features::dirtplayer(bool toggle)
  2090. {
  2091.     STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
  2092.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("core_snow");
  2093.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("cs_mich1_spade_dirt_throw", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 12844, 0.08f, false, false, false);//Head
  2094.     STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
  2095.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("core_snow");
  2096.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("cs_mich1_spade_dirt_throw", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6286, 0.08f, false, false, false);//RHAND
  2097.     STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
  2098.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("core_snow");
  2099.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("cs_mich1_spade_dirt_throw", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 36029, 0.08f, false, false, false);//LHAND
  2100.     STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
  2101.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("core_snow");
  2102.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("cs_mich1_spade_dirt_throw", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 35502, 0.08f, false, false, false);//RFOOT
  2103.     STREAMING::REQUEST_NAMED_PTFX_ASSET("core_snow");
  2104.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("core_snow");
  2105.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("cs_mich1_spade_dirt_throw", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 65245, 0.08f, false, false, false);//LFOOT
  2106. }
  2107.  
  2108. bool Features::partmen = false;
  2109. void Features::fxplayer(bool toggle)
  2110. {
  2111.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2112.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2113.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 12844, 0.08f, false, false, false);//Head
  2114.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2115.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2116.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6286, 0.08f, false, false, false);//RHAND
  2117.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2118.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2119.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 36029, 0.08f, false, false, false);//LHAND
  2120.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2121.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2122.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 35502, 0.08f, false, false, false);//RFOOT
  2123.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2124.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2125.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 65245, 0.08f, false, false, false);//LFOOT
  2126. }
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132. void Features::teleporttocoords(Player player, Vector3 target)
  2133. {
  2134.     for (int iz = 0; iz < 2; iz++)
  2135.     {
  2136.         Ped destPed = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player);
  2137.         Vector3 ourLoc = target;
  2138.         AI::CLEAR_PED_TASKS_IMMEDIATELY(destPed);
  2139.         int netScene = NETWORK::NETWORK_CREATE_SYNCHRONISED_SCENE(ourLoc.x, ourLoc.y, ourLoc.z, 0.f, 0.f, 0.f, 0, 0, 0, 0.f, 0.f, 0.f);
  2140.         NETWORK::NETWORK_ADD_PED_TO_SYNCHRONISED_SCENE(destPed, netScene, "amb@code_human_cower@female@base", "base", 8.f, -8.f, 2, 0, 100.f, 0);
  2141.         NETWORK::NETWORK_START_SYNCHRONISED_SCENE(netScene);
  2142.         WAIT(150);
  2143.         AI::CLEAR_PED_TASKS_IMMEDIATELY(destPed);
  2144.         NETWORK::NETWORK_STOP_SYNCHRONISED_SCENE(netScene);
  2145.     }
  2146. }
  2147.  
  2148. void Features::vehfix()
  2149. {
  2150.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2151.     VEHICLE::SET_VEHICLE_FIXED(Vehicle);
  2152.     VEHICLE::SET_VEHICLE_DEFORMATION_FIXED(Vehicle);
  2153.     VEHICLE::SET_VEHICLE_DIRT_LEVEL(Vehicle, 0);
  2154. }
  2155.  
  2156.  
  2157.  
  2158. bool Features::exploder[32] = { false };
  2159. void Features::explodeloop(Player target)
  2160. {
  2161.     Vector3 targetCords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target), false);
  2162.     GAMEPLAY::SHOOT_SINGLE_BULLET_BETWEEN_COORDS(targetCords.x, targetCords.y, targetCords.z, targetCords.x, targetCords.y, targetCords.z, 2000, 1, GAMEPLAY::GET_HASH_KEY("WEAPON_AIRSTRIKE_ROCKET"), 0, 1, 0, -1.0);
  2163. }
  2164.  
  2165. void Features::explodeplayer(Ped ped)
  2166. {
  2167.     Vector3 coords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(ped), false);
  2168.     GAMEPLAY::SHOOT_SINGLE_BULLET_BETWEEN_COORDS(coords.x, coords.y, coords.z, coords.x, coords.y, coords.z, 2000, 1, GAMEPLAY::GET_HASH_KEY("WEAPON_AIRSTRIKE_ROCKET"), 0, 1, 0, -1.0);
  2169. }
  2170.  
  2171.  
  2172. void Features::health()
  2173. {
  2174.     PED::ADD_ARMOUR_TO_PED(PLAYER::PLAYER_PED_ID(), 200);
  2175.     Memory::set_value<float>({ OFFSET_PLAYER , OFFSET_ENTITY_HEALTH }, 320);
  2176. }
  2177.  
  2178.  
  2179. void Features::crashhim(Ped ped)
  2180. {
  2181.     const int maxPeds = 70;
  2182.     Ped ClonedPed[maxPeds];
  2183.     Vector3 dir = RotToDirection(&CAM::GET_GAMEPLAY_CAM_ROT(0));
  2184.     if (GAMEPLAY::GET_DISTANCE_BETWEEN_COORDS(ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0).x, ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0).y, ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), 0).z, ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED(ped), 0).x, ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED(ped), 0).y, ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED(ped), 0).z, false) > 400.0f)
  2185.     {
  2186.         for (int i = 0; i < maxPeds; i++)
  2187.         {
  2188.             ClonedPed[i] = PED::CLONE_PED(PLAYER::GET_PLAYER_PED(ped), 1, 1, 1);
  2189.             Vector3 coords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(ped), false);
  2190.             ENTITY::SET_ENTITY_COORDS(ClonedPed[i], coords.x, coords.y, coords.z, 0, 0, 0, 1);
  2191.             WAIT(0);
  2192.         }
  2193.         for (int i = 0; i < maxPeds; i++)
  2194.         {
  2195.             RequestControl(ClonedPed[i]);
  2196.             PED::DELETE_PED(&ClonedPed[i]);
  2197.             WAIT(0);
  2198.         }
  2199.     }
  2200. }
  2201.  
  2202. void Features::trapcage(Ped ped)
  2203. {
  2204.     Vector3 remotePos = ENTITY::GET_ENTITY_COORDS(ped, 0);
  2205.     Object obj = OBJECT::CREATE_OBJECT($("prop_gold_cont_01"), remotePos.x, remotePos.y, remotePos.z - 1.f, true, false, false);
  2206. }
  2207.  
  2208.  
  2209. void Features::trapcontainer(Ped ped)
  2210. {
  2211.     Vector3 remotePos = ENTITY::GET_ENTITY_COORDS(ped, 0);
  2212.     Object obj = OBJECT::CREATE_OBJECT($("stt_prop_stunt_tube_fn_01"), remotePos.x, remotePos.y, remotePos.z - 1.f, true, false, false);
  2213.     ENTITY::SET_ENTITY_ROTATION(obj, 0.0f, 90.0f, 0.0f, 0, true);
  2214.  
  2215. }
  2216.  
  2217. void Features::attachNearbyVehsToPly(Ped ped)
  2218. {
  2219.     const int numElements = 10;
  2220.     const int arrSize = numElements * 2 + 2;  //Start at index 2, and the odd elements are padding
  2221.     int vehs[arrSize];
  2222.     //0 index is the size of the array
  2223.     vehs[0] = numElements;
  2224.  
  2225.     int count = PED::GET_PED_NEARBY_VEHICLES(selectedPlayer, vehs);
  2226.     for (int i = 0; i < count; ++i)
  2227.     {
  2228.         int offsettedID = i * 2 + 2;
  2229.         if (ENTITY::DOES_ENTITY_EXIST(vehs[offsettedID]))
  2230.         {
  2231.             if ((vehs[offsettedID]) == PED::GET_VEHICLE_PED_IS_IN(selectedPlayer, 0)) continue;
  2232.             {
  2233.                 ENTITY::ATTACH_ENTITY_TO_ENTITY(vehs[offsettedID], selectedPlayer, PED::GET_PED_BONE_INDEX(selectedPlayer, SKEL_Spine_Root), 0.0, 0.0, 0.0, 0.0, 90.0, 0, false, false, false, false, 2, true);
  2234.             }
  2235.         }
  2236.     }
  2237. }
  2238.  
  2239.  
  2240. void Features::alieninvasion(Ped ped)
  2241. {
  2242.     Vector3 remotePos = ENTITY::GET_ENTITY_COORDS(ped, 0);
  2243.     Object obj = OBJECT::CREATE_OBJECT($("p_spinning_anus_s"), remotePos.x, remotePos.y, remotePos.z + 20.0f, true, false, false);
  2244. }
  2245.  
  2246.  
  2247.  
  2248. void Features::maxupgnr()
  2249. {
  2250.     const int ElementAmount = 10;
  2251.     const int ArrSize = ElementAmount * 2 + 2;
  2252.  
  2253.     Vehicle *vehs = new Vehicle[ArrSize];
  2254.     vehs[0] = ElementAmount;
  2255.     int VehFound = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), vehs);
  2256.  
  2257.     for (int i = 0; i < VehFound; i++)
  2258.     {
  2259.         int OffsetID = i * 2 + 2;
  2260.         if (vehs[OffsetID] != PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false))
  2261.         {
  2262.             RequestControlOfEnt(vehs[OffsetID]);
  2263.             VEHICLE::SET_VEHICLE_MOD_KIT(vehs[OffsetID], 0);
  2264.             VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(vehs[OffsetID], "suck it");
  2265.             VEHICLE::SET_VEHICLE_COLOURS(vehs[OffsetID], 120, 120);
  2266.             VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT_INDEX(vehs[OffsetID], 1);
  2267.             VEHICLE::TOGGLE_VEHICLE_MOD(vehs[OffsetID], 18, 1);
  2268.             VEHICLE::TOGGLE_VEHICLE_MOD(vehs[OffsetID], 22, 1);
  2269.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 16, 5, 0);
  2270.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 12, 2, 0);
  2271.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 11, 3, 0);
  2272.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 14, 14, 0);
  2273.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 15, 3, 0);
  2274.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 13, 2, 0);
  2275.             VEHICLE::SET_VEHICLE_WHEEL_TYPE(vehs[OffsetID], 8);
  2276.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 23, 4, 0);
  2277.             VEHICLE::SET_VEHICLE_WINDOW_TINT(vehs[OffsetID], 5);
  2278.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 23, 19, 1);
  2279.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 0, 1, 0);
  2280.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 1, 1, 0);
  2281.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 2, 1, 0);
  2282.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 3, 1, 0);
  2283.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 4, 1, 0);
  2284.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 5, 1, 0);
  2285.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 6, 1, 0);
  2286.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 7, 1, 0);
  2287.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 8, 1, 0);
  2288.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 9, 1, 0);
  2289.             VEHICLE::SET_VEHICLE_MOD(vehs[OffsetID], 10, 1, 0);
  2290.         }
  2291.     }
  2292. }
  2293.  
  2294. void Features::fixnr()
  2295. {
  2296.     const int ElementAmount = 10;
  2297.     const int ArrSize = ElementAmount * 2 + 2;
  2298.  
  2299.     Vehicle *vehs = new Vehicle[ArrSize];
  2300.     vehs[0] = ElementAmount;
  2301.     int VehFound = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), vehs);
  2302.  
  2303.     for (int i = 0; i < VehFound; i++)
  2304.     {
  2305.         int OffsetID = i * 2 + 2;
  2306.         if (vehs[OffsetID] != PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false))
  2307.         {
  2308.             RequestControlOfEnt(vehs[OffsetID]);
  2309.             VEHICLE::SET_VEHICLE_FIXED(vehs[OffsetID]);
  2310.             VEHICLE::SET_VEHICLE_DEFORMATION_FIXED(vehs[OffsetID]);
  2311.             VEHICLE::SET_VEHICLE_DIRT_LEVEL(vehs[OffsetID], 0);
  2312.  
  2313.         }
  2314.     }
  2315. }
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325. bool Features::cargodmode = false;
  2326. void Features::godmodecar(bool toggle)
  2327. {
  2328.     if (toggle == true)
  2329.     {
  2330.         uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2331.         ENTITY::SET_ENTITY_INVINCIBLE(Vehicle, true);
  2332.     }
  2333.     else {
  2334.         uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2335.         ENTITY::SET_ENTITY_INVINCIBLE(Vehicle, false);
  2336.     }
  2337. }
  2338.  
  2339. bool Features::invicar = false;
  2340. void Features::carinvi(bool toggle)
  2341. {
  2342.     if (toggle == true) {
  2343.         uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2344.         ENTITY::SET_ENTITY_VISIBLE(Vehicle, false, 0);
  2345.     }
  2346.     else {
  2347.         uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2348.         ENTITY::SET_ENTITY_VISIBLE(Vehicle, true, 0);
  2349.     }
  2350. }
  2351.  
  2352. bool Features::visible = false;
  2353. void Features::Ivisible(bool toggle)
  2354. {
  2355.     if (toggle == true)
  2356.     {
  2357.         ENTITY::SET_ENTITY_VISIBLE(PLAYER::PLAYER_PED_ID(), false, 0);
  2358.     }
  2359.     else {
  2360.         ENTITY::SET_ENTITY_VISIBLE(PLAYER::PLAYER_PED_ID(), true, 0);
  2361.     }
  2362. }
  2363.  
  2364. bool Features::dragon = false;
  2365. void Features::dragonfire(bool toggle)
  2366. {
  2367.     Player playerHandle = PLAYER::PLAYER_PED_ID();
  2368.     STREAMING::REQUEST_NAMED_PTFX_ASSET("scr_rcbarry2");
  2369.     GRAPHICS::_USE_PARTICLE_FX_ASSET_NEXT_CALL("scr_rcbarry2");
  2370.     GRAPHICS::START_PARTICLE_FX_NON_LOOPED_ON_PED_BONE("scr_clown_appears", PLAYER::PLAYER_PED_ID(), 0.0f, 0.0f, 0.0f, 90.0f, 0.0f, 0.0f, 65068, 0.08f, false, false, false);//Head
  2371. }
  2372.  
  2373. bool Features::playerGodMode = false;
  2374. void Features::GodMode(bool toggle)
  2375. {
  2376.     if (toggle == true)
  2377.     {
  2378.         ENTITY::SET_ENTITY_INVINCIBLE(PLAYER::PLAYER_PED_ID(), true);
  2379.     }
  2380.     else {
  2381.         ENTITY::SET_ENTITY_INVINCIBLE(PLAYER::PLAYER_PED_ID(), false);
  2382.     }
  2383. }
  2384.  
  2385. bool Features::rlbool = false;
  2386. void Features::HasPaintLoop(bool toggle)
  2387. {
  2388.     uint Vehicle = PED::GET_VEHICLE_PED_IS_USING(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(PLAYER::PLAYER_ID()));
  2389.     int Red = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 255),
  2390.         Green = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 255),
  2391.         Blue = GAMEPLAY::GET_RANDOM_INT_IN_RANGE(0, 255);
  2392.     VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(Vehicle, Red, Green, Blue);
  2393.     VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(Vehicle, Red, Green, Blue);
  2394.  
  2395. }
  2396.  
  2397.  
  2398.  
  2399. bool Features::lobbyraper = false;
  2400. void Features::raperlobber(bool toggle)
  2401. {
  2402.     for (int i = 1; i <= 32; i++) {
  2403.         if (PLAYER::PLAYER_ID() != i) {
  2404.             if ((timeGetTime() - Features::TimePD5) > 5) // Time between drops
  2405.             {
  2406.                 Vector3 coords = ENTITY::GET_ENTITY_COORDS(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(i), false);
  2407.                 FIRE::ADD_EXPLOSION(coords.x, coords.y, coords.z - 5.0f, 29, 0.0f, true, false, 0.0f);
  2408.                 FIRE::ADD_EXPLOSION(coords.x, coords.y, coords.z - 5.0f, 29, 0.0f, true, false, 0.0f);
  2409.                 FIRE::ADD_EXPLOSION(coords.x, coords.y, coords.z - 5.0f, 29, 0.0f, true, false, 0.0f);
  2410.                 FIRE::ADD_EXPLOSION(coords.x, coords.y, coords.z - 5.0f, 29, 0.0f, true, false, 0.0f);
  2411.  
  2412.                 FIRE::ADD_EXPLOSION(2847.7905f, 5684.2740f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2413.                 FIRE::ADD_EXPLOSION(2847.7905f, 5684.2740f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2414.                 FIRE::ADD_EXPLOSION(2847.7905f, 5684.2740f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2415.                 FIRE::ADD_EXPLOSION(2847.7905f, 5684.2740f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2416.  
  2417.                 FIRE::ADD_EXPLOSION(2277.0889f, 1739.1307f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2418.                 FIRE::ADD_EXPLOSION(2277.0889f, 1739.1307f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2419.                 FIRE::ADD_EXPLOSION(2277.0889f, 1739.1307f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2420.                 FIRE::ADD_EXPLOSION(2277.0889f, 1739.1307f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2421.  
  2422.                 FIRE::ADD_EXPLOSION(285.7047f, -2618.7354f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2423.                 FIRE::ADD_EXPLOSION(285.7047f, -2618.7354f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2424.                 FIRE::ADD_EXPLOSION(285.7047f, -2618.7354f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2425.                 FIRE::ADD_EXPLOSION(285.7047f, -2618.7354f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2426.  
  2427.                 FIRE::ADD_EXPLOSION(1803.5280f, -1125.6504f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2428.                 FIRE::ADD_EXPLOSION(1803.5280f, -1125.6504f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2429.                 FIRE::ADD_EXPLOSION(1803.5280f, -1125.6504f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2430.                 FIRE::ADD_EXPLOSION(1803.5280f, -1125.6504f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2431.  
  2432.                 FIRE::ADD_EXPLOSION(349.0994f, -1317.8007f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2433.                 FIRE::ADD_EXPLOSION(349.0994f, -1317.8007f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2434.                 FIRE::ADD_EXPLOSION(349.0994f, -1317.8007f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2435.                 FIRE::ADD_EXPLOSION(349.0994f, -1317.8007f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2436.  
  2437.  
  2438.                 FIRE::ADD_EXPLOSION(703.4420f, 6329.8936f, 76.4973f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2439.                 FIRE::ADD_EXPLOSION(703.4420f, 6329.8936f, 76.4973f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2440.                 FIRE::ADD_EXPLOSION(703.4420f, 6329.8936f, 76.4973f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2441.                 FIRE::ADD_EXPLOSION(703.4420f, 6329.8936f, 76.4973f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2442.  
  2443.                 FIRE::ADD_EXPLOSION(-1109.2130f, 4914.7440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2444.                 FIRE::ADD_EXPLOSION(-1109.2130f, 4914.7440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2445.                 FIRE::ADD_EXPLOSION(-1109.2130f, 4914.7440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2446.                 FIRE::ADD_EXPLOSION(-1109.2130f, 4914.7440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2447.  
  2448.                 FIRE::ADD_EXPLOSION(1972.6060f, 3817.0440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2449.                 FIRE::ADD_EXPLOSION(1972.6060f, 3817.0440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2450.                 FIRE::ADD_EXPLOSION(1972.6060f, 3817.0440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2451.                 FIRE::ADD_EXPLOSION(1972.6060f, 3817.0440f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2452.  
  2453.                 FIRE::ADD_EXPLOSION(-2052.0000f, 3237.0000f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2454.                 FIRE::ADD_EXPLOSION(-2052.0000f, 3237.0000f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2455.                 FIRE::ADD_EXPLOSION(-2052.0000f, 3237.0000f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2456.                 FIRE::ADD_EXPLOSION(-2052.0000f, 3237.0000f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2457.  
  2458.                 FIRE::ADD_EXPLOSION(-1370.6250f, 56.1227f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2459.                 FIRE::ADD_EXPLOSION(-1370.6250f, 56.1227f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2460.                 FIRE::ADD_EXPLOSION(-1370.6250f, 56.1227f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2461.                 FIRE::ADD_EXPLOSION(-1370.6250f, 56.1227f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2462.  
  2463.                 FIRE::ADD_EXPLOSION(94.5723f, -1290.0820f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2464.                 FIRE::ADD_EXPLOSION(94.5723f, -1290.0820f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2465.                 FIRE::ADD_EXPLOSION(94.5723f, -1290.0820f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2466.                 FIRE::ADD_EXPLOSION(94.5723f, -1290.0820f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2467.  
  2468.                 FIRE::ADD_EXPLOSION(-1151.7460f, -1518.1360f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2469.                 FIRE::ADD_EXPLOSION(-1151.7460f, -1518.1360f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2470.                 FIRE::ADD_EXPLOSION(-1151.7460f, -1518.1360f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2471.                 FIRE::ADD_EXPLOSION(-1151.7460f, -1518.1360f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2472.  
  2473.                 FIRE::ADD_EXPLOSION(-1154.1100f, -2715.2030f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2474.                 FIRE::ADD_EXPLOSION(-1154.1100f, -2715.2030f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2475.                 FIRE::ADD_EXPLOSION(-1154.1100f, -2715.2030f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2476.                 FIRE::ADD_EXPLOSION(-1154.1100f, -2715.2030f, 0.0000f - 5.0f, 29, 0.0f, true, false, 0.0f);
  2477.                 Features::TimePD5 = timeGetTime();
  2478.             }
  2479.         }
  2480.     }
  2481. }
  2482.  
  2483.  
  2484. bool Features::rainbowweapons = false;
  2485. void Features::weaponsloop(bool toggle)
  2486. {
  2487.     Player playerPed = PLAYER::PLAYER_PED_ID();
  2488.     static LPCSTR weaponNames[] = {
  2489.         "WEAPON_KNIFE", "WEAPON_NIGHTSTICK", "WEAPON_HAMMER", "WEAPON_BAT", "WEAPON_GOLFCLUB", "WEAPON_CROWBAR",
  2490.         "WEAPON_PISTOL", "WEAPON_COMBATPISTOL", "WEAPON_APPISTOL", "WEAPON_PISTOL50", "WEAPON_MICROSMG", "WEAPON_SMG",
  2491.         "WEAPON_ASSAULTSMG", "WEAPON_ASSAULTRIFLE", "WEAPON_CARBINERIFLE", "WEAPON_ADVANCEDRIFLE", "WEAPON_MG",
  2492.         "WEAPON_COMBATMG", "WEAPON_PUMPSHOTGUN", "WEAPON_SAWNOFFSHOTGUN", "WEAPON_ASSAULTSHOTGUN", "WEAPON_BULLPUPSHOTGUN",
  2493.         "WEAPON_STUNGUN", "WEAPON_SNIPERRIFLE", "WEAPON_HEAVYSNIPER", "WEAPON_GRENADELAUNCHER", "WEAPON_GRENADELAUNCHER_SMOKE",
  2494.         "WEAPON_RPG", "WEAPON_MINIGUN", "WEAPON_GRENADE", "WEAPON_STICKYBOMB", "WEAPON_SMOKEGRENADE", "WEAPON_BZGAS",
  2495.         "WEAPON_MOLOTOV", "WEAPON_FIREEXTINGUISHER", "WEAPON_PETROLCAN",
  2496.         "WEAPON_SNSPISTOL", "WEAPON_SPECIALCARBINE", "WEAPON_HEAVYPISTOL", "WEAPON_BULLPUPRIFLE", "WEAPON_HOMINGLAUNCHER",
  2497.         "WEAPON_PROXMINE", "WEAPON_SNOWBALL", "WEAPON_VINTAGEPISTOL", "WEAPON_DAGGER", "WEAPON_FIREWORK", "WEAPON_MUSKET",
  2498.         "WEAPON_MARKSMANRIFLE", "WEAPON_HEAVYSHOTGUN", "WEAPON_GUSENBERG", "WEAPON_HATCHET", "WEAPON_RAILGUN", "WEAPON_FLAREGUN",
  2499.         "WEAPON_KNUCKLE", "GADGET_NIGHTVISION", "GADGET_PARACHUTE", "WEAPON_MARKSMANPISTOL", "", ""
  2500.     };
  2501.     for (int i = 0; i < sizeof(weaponNames) / sizeof(weaponNames[0]); i++)
  2502.     {
  2503.         if (WEAPON::HAS_PED_GOT_WEAPON(playerPed, GAMEPLAY::GET_HASH_KEY((char *)weaponNames[i]), 0))
  2504.         {
  2505.             WEAPON::SET_PED_WEAPON_TINT_INDEX(playerPed, GAMEPLAY::GET_HASH_KEY((char *)weaponNames[i]), rand() % 8);
  2506.         }
  2507.     }
  2508. }
  2509.  
  2510. bool Features::fuckedhandling[32] = { false };
  2511. void Features::fuckhandling(Player player)
  2512. {
  2513.     Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(player), false);
  2514.     RequestControlOfEnt(veh);
  2515.     VEHICLE::SET_VEHICLE_STEER_BIAS(veh, Features::fuckedhandling[player] ? 1.0f : 0.0f);
  2516. }
  2517.  
  2518.  
  2519.  
  2520. bool Features::supermele = false;
  2521. void Features::supermelee(bool toggle)
  2522. {
  2523.     if (toggle == true) {
  2524.         PLAYER::SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER(PLAYER::PLAYER_ID(), 450);
  2525.     }
  2526.     else {
  2527.         PLAYER::SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER(PLAYER::PLAYER_ID(), 0);
  2528.     }
  2529. }
  2530.  
  2531.  
  2532. bool Features::infammo = false;
  2533. void Features::noreloadv(bool toggle)
  2534. {
  2535.     if (toggle == true)
  2536.     {
  2537.         WEAPON::SET_PED_INFINITE_AMMO_CLIP(PLAYER::PLAYER_PED_ID(), true);
  2538.     }
  2539.     else {
  2540.         WEAPON::SET_PED_INFINITE_AMMO_CLIP(PLAYER::PLAYER_PED_ID(), false);
  2541.     }
  2542. }
  2543.  
  2544. bool Features::bikefall = false;
  2545. void Features::fallbike(bool toggle)
  2546. {
  2547.     if (toggle == true)
  2548.     {
  2549.         PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(PLAYER::PLAYER_PED_ID(), TRUE);
  2550.     }
  2551.     else {
  2552.         PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(PLAYER::PLAYER_PED_ID(), FALSE);
  2553.     }
  2554. }
  2555.  
  2556.  
  2557. int Features::Online::selectedPlayer = 0;
  2558.  
  2559. bool Features::playersuperjump = false;
  2560. void Features::SuperJump(bool toggle)
  2561. {
  2562.     Player playerPed = PLAYER::PLAYER_PED_ID();
  2563.     GAMEPLAY::SET_SUPER_JUMP_THIS_FRAME(PLAYER::PLAYER_ID());
  2564.     GAMEPLAY::SET_SUPER_JUMP_THIS_FRAME(playerPed);
  2565. }
  2566.  
  2567.  
  2568. bool Features::playersuperrun = false;
  2569. void Features::Superrun(bool toggle)
  2570. {
  2571.     if (IsKeyPressed(VK_LSHIFT))
  2572.     {
  2573.         ENTITY::APPLY_FORCE_TO_ENTITY(PLAYER::PLAYER_PED_ID(), true, 0, 3, 0, 0, 0, 0, true, true, true, true, false, true);
  2574.     }
  2575. }
  2576.  
  2577.  
  2578.  
  2579. bool Features::orbool = false;
  2580. void Features::OffRadar(bool toggle)
  2581. {
  2582.     globalHandle(2422736 + (1 + (PLAYER::PLAYER_ID() * 420)) + 215);
  2583.     globalHandle(2436251 + 69) = NETWORK::GET_NETWORK_TIME();
  2584. }
  2585.  
  2586.  
  2587. bool Features::neverwanted = false;
  2588. void Features::NeverGetWanted(bool toggle)
  2589. {
  2590.     if (toggle == true) {
  2591.         PLAYER::CLEAR_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID());
  2592.         PLAYER::SET_MAX_WANTED_LEVEL(0);
  2593.     }
  2594.     else {
  2595.         PLAYER::CLEAR_PLAYER_WANTED_LEVEL(PLAYER::PLAYER_ID());
  2596.         PLAYER::SET_MAX_WANTED_LEVEL(5);
  2597.     }
  2598. }
  2599.  
  2600.  
  2601. void Features::TPtoWaypoint()
  2602. {
  2603.     int WaypointHandle = UI::GET_FIRST_BLIP_INFO_ID(8);
  2604.     if (UI::DOES_BLIP_EXIST(WaypointHandle))
  2605.     {
  2606.         Vector3 WaypointPos = UI::GET_BLIP_COORDS(WaypointHandle);
  2607.         WaypointPos.z += 25.0f;
  2608.         int Handle = PLAYER::PLAYER_PED_ID();
  2609.         if (PED::IS_PED_IN_ANY_VEHICLE(Handle, 0))
  2610.             Handle = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
  2611.         ENTITY::SET_ENTITY_COORDS(Handle, WaypointPos.x, WaypointPos.y, WaypointPos.z, 0, 0, 0, 1);
  2612.     }
  2613. }
  2614.  
  2615. bool Features::freezed[35] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
  2616. void Features::Freezer(Player target) {
  2617.     Ped vic = PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(target);
  2618.     AI::CLEAR_PED_TASKS_IMMEDIATELY(vic);
  2619.     AI::CLEAR_PED_TASKS(vic);
  2620.     AI::CLEAR_PED_SECONDARY_TASK(vic);
  2621. }
  2622.  
  2623.  
  2624. int Features::TimePD;
  2625. int Features::TimePD1;
  2626. int Features::TimePD2;
  2627. int Features::TimePD3;
  2628. int Features::TimePD4;
  2629. int Features::TimePD5;
  2630. int Features::TimePD6;
  2631. int Features::TimePD7;
  2632. int Features::TimePD8;
  2633. //
  2634.  
  2635. //Spawn Vehicle Self
  2636. void Features::spawn_vehicle(char* toSpawn) {
  2637.     Hash model = GAMEPLAY::GET_HASH_KEY(toSpawn);
  2638.     if (STREAMING::IS_MODEL_VALID(model))
  2639.     {
  2640.         STREAMING::REQUEST_MODEL(model);
  2641.         while (!STREAMING::HAS_MODEL_LOADED(model)) WAIT(0);
  2642.         Vector3 ourCoords = ENTITY::GET_ENTITY_COORDS(PLAYER::PLAYER_PED_ID(), false);
  2643.         float forward = 5.f;
  2644.         float heading = ENTITY::GET_ENTITY_HEADING(PLAYER::PLAYER_PED_ID());
  2645.         float xVector = forward * sin(degToRad(heading)) * -1.f;
  2646.         float yVector = forward * cos(degToRad(heading));
  2647.         Vehicle veh = VEHICLE::CREATE_VEHICLE(model, ourCoords.x + xVector, ourCoords.y + yVector, ourCoords.z, heading, true, true);
  2648.         RequestControlOfEnt(veh);
  2649.         VEHICLE::SET_VEHICLE_ENGINE_ON(veh, true, true, true);
  2650.         VEHICLE::SET_VEHICLE_ON_GROUND_PROPERLY(veh);
  2651.         VEHICLE::SET_VEHICLE_NUMBER_PLATE_TEXT(veh, "TAKE2");
  2652.         DECORATOR::DECOR_SET_INT(veh, "MPBitset", 0);
  2653.         auto networkId = NETWORK::VEH_TO_NET(veh);
  2654.         ENTITY::_SET_ENTITY_REGISTER(veh, true);
  2655.         if (NETWORK::NETWORK_GET_ENTITY_IS_NETWORKED(veh))
  2656.             NETWORK::SET_NETWORK_ID_EXISTS_ON_ALL_MACHINES(networkId, true);
  2657.         if (Features::spawnincar)
  2658.         {
  2659.             PED::SET_PED_INTO_VEHICLE(PLAYER::PLAYER_PED_ID(), veh, -1);
  2660.         }
  2661.         if (Features::spawnmaxed)
  2662.         {
  2663.             VEHICLE::SET_VEHICLE_MOD_KIT(veh, 0);
  2664.             for (int i = 0; i < 50; i++)
  2665.             {
  2666.                 VEHICLE::SET_VEHICLE_MOD(veh, i, VEHICLE::GET_NUM_VEHICLE_MODS(veh, i) - 1, false);
  2667.             }
  2668.         }
  2669.         WAIT(150);
  2670.         STREAMING::SET_MODEL_AS_NO_LONGER_NEEDED(model);
  2671.         BypassOnlineVehicleKick(vehicle);    //mp bypass
  2672.     }
  2673. }
  2674.  
  2675.  
  2676. bool Features::spawnincar = true;
  2677. bool Features::spawnmaxed = true;
  2678.  
  2679. void vehicle_bypass(Vehicle veh)
  2680. {
  2681.     DECORATOR::DECOR_SET_INT(veh, "MPBitset", (1 << 10));
  2682. }
  2683.  
  2684. //No Kick Bypass Online Vehicle
  2685. void Features::BypassOnlineVehicleKick(Vehicle vehicle)
  2686. {
  2687.     Player player = PLAYER::PLAYER_ID();
  2688.     int var;
  2689.     DECORATOR::DECOR_REGISTER("Player_Vehicle", 3);
  2690.     DECORATOR::DECOR_REGISTER("Veh_Modded_By_Player", 3);
  2691.     DECORATOR::DECOR_SET_INT(vehicle, "Player_Vehicle", NETWORK::_NETWORK_HASH_FROM_PLAYER_HANDLE(player));
  2692.     DECORATOR::DECOR_SET_INT(vehicle, "Veh_Modded_By_Player", GAMEPLAY::GET_HASH_KEY(PLAYER::GET_PLAYER_NAME(player)));
  2693.     DECORATOR::DECOR_SET_INT(vehicle, "Not_Allow_As_Saved_Veh", 0);
  2694.     if (DECORATOR::DECOR_EXIST_ON(vehicle, "MPBitset"))
  2695.         var = DECORATOR::DECOR_GET_INT(vehicle, "MPBitset");
  2696.     GAMEPLAY::SET_BIT(&var, 3);
  2697.     DECORATOR::DECOR_SET_INT(vehicle, "MPBitset", var);
  2698.     VEHICLE::SET_VEHICLE_IS_STOLEN(vehicle, false);
  2699. }
  2700.  
  2701.  
  2702.  
  2703. bool Features::chaosbool = false;
  2704. void Features::chaosmode()
  2705. {
  2706.     const int ElementAmount = 10;
  2707.     const int ArrSize = ElementAmount * 2 + 2;
  2708.  
  2709.     Vehicle *vehs = new Vehicle[ArrSize];
  2710.     vehs[0] = ElementAmount;
  2711.     int VehFound = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), vehs);
  2712.  
  2713.     for (int i = 0; i < VehFound; i++)
  2714.     {
  2715.         int OffsetID = i * 2 + 2;
  2716.         if (vehs[OffsetID] != PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false))
  2717.         {
  2718.             RequestControlOfEnt(vehs[OffsetID]);
  2719.             Vector3 coords = ENTITY::GET_ENTITY_COORDS(vehs[OffsetID], false);
  2720.             VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehs[OffsetID], 700.0);
  2721.         }
  2722.     }
  2723.     delete vehs;
  2724. }
  2725.  
  2726. bool Features::explodenearbyvehiclesbool = false;
  2727. void Features::explodenearbyvehicles()
  2728. {
  2729.     const int ElementAmount = 10;
  2730.     const int ArrSize = ElementAmount * 2 + 2;
  2731.  
  2732.     Vehicle *vehs = new Vehicle[ArrSize];
  2733.     vehs[0] = ElementAmount;
  2734.     int VehFound = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), vehs);
  2735.  
  2736.     for (int i = 0; i < VehFound; i++)
  2737.     {
  2738.         int OffsetID = i * 2 + 2;
  2739.         if (vehs[OffsetID] != PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false))
  2740.         {
  2741.             RequestControlOfEnt(vehs[OffsetID]);
  2742.             Vector3 coords = ENTITY::GET_ENTITY_COORDS(vehs[OffsetID], false);
  2743.             FIRE::ADD_EXPLOSION(coords.x, coords.y, coords.z, 0, 1000.f, true, false, 0.f);
  2744.         }
  2745.     }
  2746.     delete vehs;
  2747. }
  2748.  
  2749.  
  2750.  
  2751.  
  2752. bool Features::deletenearbypeds = false;
  2753. void Features::deletenearbypedsbool()
  2754. {
  2755.     const int ElementAmount = 10;
  2756.     const int ArrSize = ElementAmount * 2 + 2;
  2757.  
  2758.     Ped *peds = new Ped[ArrSize];
  2759.     peds[0] = ElementAmount;
  2760.  
  2761.     int PedFound = PED::GET_PED_NEARBY_PEDS(PLAYER::PLAYER_PED_ID(), peds, -1);
  2762.  
  2763.     for (int i = 0; i < PedFound; i++)
  2764.     {
  2765.         int OffsetID = i * 2 + 2;
  2766.         RequestControlOfEnt(peds[OffsetID]);
  2767.         if (ENTITY::DOES_ENTITY_EXIST(peds[OffsetID]) && PLAYER::PLAYER_PED_ID() != peds[OffsetID])
  2768.         {
  2769.             ENTITY::SET_ENTITY_COORDS(peds[OffsetID], 6400.f, 6400.f, 0.f, false, false, false, false);
  2770.         }
  2771.     }
  2772. }
  2773.  
  2774.  
  2775.  
  2776. bool Features::killpedsbool = false;
  2777. void Features::killpeds()
  2778. {
  2779.     const int ElementAmount = 10;
  2780.     const int ArrSize = ElementAmount * 2 + 2;
  2781.  
  2782.     Ped *peds = new Ped[ArrSize];
  2783.     peds[0] = ElementAmount;
  2784.  
  2785.     int PedFound = PED::GET_PED_NEARBY_PEDS(PLAYER::PLAYER_PED_ID(), peds, -1);
  2786.  
  2787.     for (int i = 0; i < PedFound; i++)
  2788.     {
  2789.         int OffsetID = i * 2 + 2;
  2790.         RequestControlOfEnt(peds[OffsetID]);
  2791.         if (ENTITY::DOES_ENTITY_EXIST(peds[OffsetID]) && PLAYER::PLAYER_PED_ID() != peds[OffsetID])
  2792.         {
  2793.             PED::APPLY_DAMAGE_TO_PED(peds[OffsetID], 1000, false);
  2794.         }
  2795.     }
  2796. }
  2797.  
  2798. bool Features::deletenearbyvehiclesbool = false;
  2799. void Features::deletenearbyvehicles()
  2800. {
  2801.     const int ElementAmount = 10;
  2802.     const int ArrSize = ElementAmount * 2 + 2;
  2803.  
  2804.     Vehicle *vehs = new Vehicle[ArrSize];
  2805.     vehs[0] = ElementAmount;
  2806.     int VehFound = PED::GET_PED_NEARBY_VEHICLES(PLAYER::PLAYER_PED_ID(), vehs);
  2807.  
  2808.     for (int i = 0; i < VehFound; i++)
  2809.     {
  2810.         int OffsetID = i * 2 + 2;
  2811.         if (vehs[OffsetID] != PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false))
  2812.         {
  2813.             RequestControlOfEnt(vehs[OffsetID]);
  2814.             ENTITY::SET_ENTITY_COORDS(vehs[OffsetID], 6400.f, 6400.f, 0.f, false, false, false, false);
  2815.         }
  2816.     }
  2817.     delete vehs;
  2818. }
  2819.  
  2820. bool Features::explodepedsbool = false;
  2821. void Features::explodepeds()
  2822. {
  2823.     const int ElementAmount = 10;
  2824.     const int ArrSize = ElementAmount * 2 + 2;
  2825.  
  2826.     Ped *peds = new Ped[ArrSize];
  2827.     peds[0] = ElementAmount;
  2828.  
  2829.     int PedFound = PED::GET_PED_NEARBY_PEDS(PLAYER::PLAYER_PED_ID(), peds, -1);
  2830.  
  2831.     for (int i = 0; i < PedFound; i++)
  2832.     {
  2833.         int OffsetID = i * 2 + 2;
  2834.         RequestControlOfEnt(peds[OffsetID]);
  2835.         if (ENTITY::DOES_ENTITY_EXIST(peds[OffsetID]) && PLAYER::PLAYER_PED_ID() != peds[OffsetID])
  2836.         {
  2837.             Vector3 pos = ENTITY::GET_ENTITY_COORDS(peds[OffsetID], false);
  2838.             FIRE::ADD_EXPLOSION(pos.x, pos.y, pos.z, 0, 1000.f, true, false, 0.f);
  2839.         }
  2840.     }
  2841. }
  2842.  
  2843.  
  2844. bool Features::dowbool = false;
  2845. void Features::DriveOnWater(bool toggle) {
  2846.     Player player = PLAYER::PLAYER_ID();
  2847.     Ped playerPed = PLAYER::PLAYER_PED_ID();
  2848.     Vehicle veh = PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), 0);
  2849.     DWORD model = ENTITY::GET_ENTITY_MODEL(veh);
  2850.     Vector3 pos = ENTITY::GET_ENTITY_COORDS(playerPed, 0);
  2851.     float height = 0;
  2852.     WATER::_SET_WAVES_INTENSITY(height);
  2853.     if ((!(VEHICLE::IS_THIS_MODEL_A_PLANE(ENTITY::GET_ENTITY_MODEL(veh)))) && WATER::GET_WATER_HEIGHT_NO_WAVES(pos.x, pos.y, pos.z, &height)) {
  2854.         Object container = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(pos.x, pos.y, pos.z, 4.0, GAMEPLAY::GET_HASH_KEY("prop_container_ld2"), 0, 0, 1);
  2855.         if (ENTITY::DOES_ENTITY_EXIST(container) && height > -50.0f) {
  2856.             Vector3 pRot = ENTITY::GET_ENTITY_ROTATION(playerPed, 0);
  2857.             if (PED::IS_PED_IN_ANY_VEHICLE(playerPed, 1)) pRot = ENTITY::GET_ENTITY_ROTATION(veh, 0);
  2858.             RequestControlOfEnt(container);
  2859.             ENTITY::SET_ENTITY_COORDS(container, pos.x, pos.y, height - 1.5f, 0, 0, 0, 1);
  2860.             ENTITY::SET_ENTITY_ROTATION(container, 0, 0, pRot.z, 0, 1);
  2861.             Vector3 containerCoords = ENTITY::GET_ENTITY_COORDS(container, 1);
  2862.             if (pos.z < containerCoords.z) {
  2863.                 if (!PED::IS_PED_IN_ANY_VEHICLE(playerPed, 0)) {
  2864.                     ENTITY::SET_ENTITY_COORDS(playerPed, pos.x, pos.y, containerCoords.z + 2.0f, 0, 0, 0, 1);
  2865.                 }
  2866.                 else {
  2867.                     RequestControlOfEnt(veh);
  2868.                     Vector3 vehc = ENTITY::GET_ENTITY_COORDS(veh, 1);
  2869.                     ENTITY::SET_ENTITY_COORDS(veh, vehc.x, vehc.y, containerCoords.z + 2.0f, 0, 0, 0, 1);
  2870.                 }
  2871.             }
  2872.         }
  2873.         else {
  2874.             Hash model = GAMEPLAY::GET_HASH_KEY("prop_container_ld2");
  2875.             STREAMING::REQUEST_MODEL(model);
  2876.             while (!STREAMING::HAS_MODEL_LOADED(model)) WAIT(0);
  2877.             container = OBJECT::CREATE_OBJECT(model, pos.x, pos.y, pos.z, 1, 1, 0);
  2878.             RequestControlOfEnt(container);
  2879.             ENTITY::FREEZE_ENTITY_POSITION(container, 1);
  2880.             ENTITY::SET_ENTITY_ALPHA(container, 0, 1);
  2881.             ENTITY::SET_ENTITY_VISIBLE(container, 0, 0);
  2882.         }
  2883.     }
  2884.     else {
  2885.         Object container = OBJECT::GET_CLOSEST_OBJECT_OF_TYPE(pos.x, pos.y, pos.z, 4.0, GAMEPLAY::GET_HASH_KEY("prop_container_ld2"), 0, 0, 1);
  2886.         if (ENTITY::DOES_ENTITY_EXIST(container)) {
  2887.             RequestControlOfEnt(container);
  2888.             ENTITY::SET_ENTITY_COORDS(container, 0, 0, -1000.0f, 0, 0, 0, 1);
  2889.             WAIT(10);
  2890.             ENTITY::SET_ENTITY_AS_NO_LONGER_NEEDED(&container);
  2891.             ENTITY::DELETE_ENTITY(&container);
  2892.             WATER::_RESET_WAVES_INTENSITY();
  2893.         }
  2894.     }
  2895. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement