Thunder-Menu

Gta5 Color 1.66

Feb 3rd, 2023 (edited)
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 43.17 KB | Gaming | 0 0
  1. #define OFFSET_PLAYER_INFO_WANTED               0x8E8 //0x888
  2. #define OFFSET_PLAYER_INFO_SWIM_SPD             0x1D0 //0x170
  3. #define OFFSET_PLAYER_INFO_RUN_SPD              0xD50
  4. #define OFFSET_PLAYER_INFO_FRAMEFLAGS           0x278 //0x218 //superjump
  5.  
  6. helicospawn = 1131623211,
  7. freezespawn = -1796714618,
  8. first50k = 429482368, //697566862
  9. second50k = -1178821498, //1046014587
  10.     giverp = -2136917450,//SD_TIC_CMPLT func_20581 under
  11. uint64_t givetbs_bullshark[4] = { -1872286655, player, 1, 1 };
  12.  
  13.     DWORD ticks = GetTickCount64();
  14.     DWORD milliseconds = ticks % 1000;
  15.     ticks /= 1000;
  16.     DWORD seconds = ticks % 60;
  17.     int getTimer = seconds;
  18.     if (getTimer % 10 == 0)
  19.     {
  20.         std::uint64_t args_13[7] = { giverp, a1, 8, rand() % 1000, 1, 1, 1 };
  21.         Hooking::trigger_script_event(1, args_13, 7, 1 << a1);
  22.     }
  23.  
  24.     globalHandle(2672505).At(3690).As<int>() = 1; //BULL_SHARK_TESTOSTERONE_01
  25. offradar
  26.         *ScriptGlobal::ScriptGlobal(2657589).Add(1 + (PlayerID * 466)).Add(210).As<int*>() = 1;
  27.         *ScriptGlobal::ScriptGlobal(2672505).Add(57).As<int*>() = NETWORK::GET_NETWORK_TIME() + 999;//56
  28.  
  29.     red_zenith(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB960
  30.     green_zenith(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB964
  31.     blue_zenith(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB968
  32.     red_transition(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB990 //GTA5.exe+26CEB80 - 00 60 60              - add [rax+60],ah
  33.     green_transition(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB994
  34.     blue_transition(Signature("? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 27 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 26 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 44 ? ? 80 42 ? ? ? 43 ? ? ? ? 25").Scan().As<float*>()),//GTA5.exe+26BB998
  35.    
  36.  
  37.  
  38.  
  39.  
  40. m_RainRed(Signature("? ? ? ? ? ? ? ? ? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D ? ? C8 42 ? ? ? ? ? ? A0 C0 ? ? 80 3F ? ? C8 42 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 80 3F ? ? 80 3F ? ? 80 3F F7 7F ? ? ? ? 20 41 ? ? 48 42 ? ? ? 3F F7 7F ? ? 66 66 66 3F ? ? ? ? ? ? ? ? CD CC CC 3D ? ? 80 3F ? ? 60 40 ? ? FA 43 02 ? ? ? ? ? 80 3F CD CC 4C 3F ? ? ? ? ? ? ? ? 19 81 69 F4 01 ? ? ? 9A 99 99 3E ? ? 40").Scan().As<float*>()),//? ? ? ? ? ? ? ? ? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D
  41.     m_RainGreen(Signature("? ? ? ? ? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D ? ? C8 42 ? ? ? ? ? ? A0 C0 ? ? 80 3F ? ? C8 42 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 80 3F ? ? 80 3F ? ? 80 3F F7 7F ? ? ? ? 20 41 ? ? 48 42 ? ? ? 3F F7 7F ? ? 66 66 66 3F ? ? ? ? ? ? ? ? CD CC CC 3D ? ? 80 3F ? ? 60 40 ? ? FA 43 02 ? ? ? ? ? 80 3F CD CC 4C 3F ? ? ? ? ? ? ? ? 19 81 69 F4 01 ? ? ? 9A 99 99 3E ? ? 40").Scan().As<float*>()),//? ? ? ? ? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D
  42.     m_RainBlue(Signature("? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D ? ? C8 42 ? ? ? ? ? ? A0 C0 ? ? 80 3F ? ? C8 42 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 80 3F ? ? 80 3F ? ? 80 3F F7 7F ? ? ? ? 20 41 ? ? 48 42 ? ? ? 3F F7 7F ? ? 66 66 66 3F ? ? ? ? ? ? ? ? CD CC CC 3D ? ? 80 3F ? ? 60 40 ? ? FA 43 02 ? ? ? ? ? 80 3F CD CC 4C 3F ? ? ? ? ? ? ? ? 19 81 69 F4 01 ? ? ? 9A 99 99 3E ? ? 40").Scan().As<float*>()),//? ? ? ? CD CC 4C 3E CD CC 4C 3D CD CC 4C 3D CD CC CC 3D ? ? C8 42
  43. m_FogModification(Signature("? ? ? ? 6F 12 83 3A 0A D7 23 3C 35 FA 8E 3C 08 21 04 3D 89 88 08 3D").Scan().As<float*>()),
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. #pragma region sunintensity
  51.         case sunintensity:
  52.         {
  53.             Menu::Title("Sun Change Color");
  54.             headers::thunderheaders();
  55.             if (Menu::Option((char*)langage::h16.c_str())) { TIME::SET_CLOCK_TIME(16, 0, 0); }
  56.             Menu::Float("redsun value", g_Settings.sunred, 0.f, 255.0f, 1.f);
  57.             Menu::Float("greensun value", g_Settings.sungreen, 0.f, 255.0f, 1.f);
  58.             Menu::Float("bluesun value", g_Settings.sunblue, 0.f, 255.0f, 1.f);
  59.             Menu::Float("sunalpha value", g_Settings.sunalpha, 0.f, 255.0f, 1.f);
  60.             if (Menu::Option("sun"))
  61.             {
  62.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  63.                 memset(reinterpret_cast<void*>(g_base_address + 0xE437F2), 0x90, 4); //E4369E
  64.                 uintptr_t redsun = engine::scan_address(g_base_address + 0x2835800, {});//0x2822600
  65.                 uintptr_t greensun = engine::scan_address(g_base_address + 0x2835804, {});//0x2822604
  66.                 uintptr_t bluesun = engine::scan_address(g_base_address + 0x2835808, {});//0x2822608
  67.                 *(float*)redsun = (g_Settings.sunred / 255.f) * g_Settings.sunalpha;
  68.                 *(float*)greensun = (g_Settings.sungreen / 255.f) * g_Settings.sunalpha;
  69.                 *(float*)bluesun = (g_Settings.sunblue / 255.f) * g_Settings.sunalpha;
  70.             }
  71.             if (Menu::Option("Reset Sun"))
  72.             {
  73.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  74.                 std::copy_n("\x0F\x29\x41\x40", 4, reinterpret_cast<char*>(g_base_address + 0xE437F2));//moon
  75.             }
  76.  
  77.             Menu::Float("redsun2 value", g_Settings.sunred2, 0.f, 255.0f, 1.f);
  78.             Menu::Float("greensun2 value", g_Settings.sungreen2, 0.f, 255.0f, 1.f);
  79.             Menu::Float("bluesun2 value", g_Settings.sunblue2, 0.f, 255.0f, 1.f);
  80.             Menu::Float("sunalpha2 value", g_Settings.sunalpha2, 0.f, 255.0f, 1.f);
  81.             if (Menu::Option("sun Atmosphère"))
  82.             {
  83.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  84.                 memset(reinterpret_cast<void*>(g_base_address + 0xE437EA), 0x90, 4);//0xE43696
  85.                 uintptr_t redsun2 = engine::scan_address(g_base_address + 0x28357F4, {});//0x28225F4
  86.                 uintptr_t greensun2 = engine::scan_address(g_base_address + 0x28357F8, {});//0x28225F8
  87.                 uintptr_t bluesun2 = engine::scan_address(g_base_address + 0x28357FC, {});//0x28225FC
  88.                 *(float*)redsun2 = (g_Settings.sunred2 / 255.f) * g_Settings.sunalpha2;
  89.                 *(float*)greensun2 = (g_Settings.sungreen2 / 255.f) * g_Settings.sunalpha2;
  90.                 *(float*)bluesun2 = (g_Settings.sunblue2 / 255.f) * g_Settings.sunalpha2;
  91.             }
  92.             if (Menu::Option("Reset Sun Atmosph"))
  93.             {
  94.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  95.                 std::copy_n("\x0F\x29\x49\x30", 4, reinterpret_cast<char*>(g_base_address + 0xE437EA));//moon
  96.             }
  97.  
  98.             Menu::Float("redsun3 value", g_Settings.sun_red, 0.f, 255.0f, 1.f);
  99.             Menu::Float("greensun3 value", g_Settings.sun_green, 0.f, 255.0f, 1.f);
  100.             Menu::Float("bluesun3 value", g_Settings.sun_blue, 0.f, 255.0f, 1.f);
  101.             Menu::Float("sunalpha3 value", g_Settings.sun_alpha, 0.f, 255.0f, 1.f);
  102.  
  103.  
  104.  
  105.             if (Menu::Option("Sun Pattern"))
  106.             {
  107.                 auto SunPTR = Memory::pattern("80 3F 00 00 80 3F CD CC 4C 3E 9A 99 99 3E 00 00 80 3F 00 00 80 3F 00");
  108.                 DWORD64* d_location = nullptr;
  109.                 d_location = (DWORD64*)SunPTR.count(1).get(0).get<DWORD64*>(0);
  110.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  111.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  112.                 Log::Msg((char*)datar.c_str());
  113.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  114.                 std::stringstream myStrm(datar);
  115.                 DWORD64 x;
  116.                 myStrm >> x;
  117.                 std::string address2;
  118.                 stringstream addrs2;
  119.                 addrs2 << hex << "0x" << x;
  120.                 address2 = addrs2.str();
  121.                 Log::Msg((char*)address2.c_str());
  122.  
  123.                 std::string address;
  124.                 stringstream addrs;
  125.                 addrs << hex << "0x" << base_address;
  126.                 address = addrs.str();
  127.                 Log::Msg((char*)address.c_str());
  128.                 std::stringstream myStrm1;
  129.                 myStrm1 << base_address;
  130.                 DWORD64 x1;
  131.                 myStrm1 >> x1;
  132.                 std::stringstream myStrm2(datar);
  133.                 DWORD64 x2;
  134.                 myStrm2 >> x2;
  135.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  136.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  137.                 std::string address3;
  138.                 stringstream addrs3;
  139.                 addrs3 << hex << "0x" << in2;
  140.                 address3 = addrs3.str();
  141.                 Log::Msg((char*)address3.c_str());
  142.  
  143.                 Addresss::SunPointer = in2;
  144.                 //0x2822d6e
  145.                 Addresss::SunPointerred = (DWORD64)Addresss::SunPointer - (DWORD64)0x76E;
  146.                 Addresss::SunPointergreen = (DWORD64)Addresss::SunPointer - (DWORD64)0x76A;
  147.                 Addresss::SunPointerblue = (DWORD64)Addresss::SunPointer - (DWORD64)0x766;
  148.                 Addresss::SunPointerpatch = (DWORD64)Addresss::SunPointer - (DWORD64)0x19F277C;
  149.                 /*
  150.                 0x2822d6e - 0xE4369E = 0x19DF6D0
  151.                 0x2822d6e - 0x2822600 = 0x76E
  152.                 0x2822d6e - 0x2822604 = 0x76A
  153.                 0x2822d6e - 0x2822608 = 0x766
  154.                 */
  155.                 memset(reinterpret_cast<void*>(base_address + Addresss::SunPointerpatch), 0x90, 4);
  156.                 uintptr_t redsun2 = engine::scan_address(base_address + Addresss::SunPointerred, {});
  157.                 uintptr_t greensun2 = engine::scan_address(base_address + Addresss::SunPointergreen, {});
  158.                 uintptr_t bluesun2 = engine::scan_address(base_address + Addresss::SunPointerblue, {});
  159.                 *(float*)redsun2 = (g_Settings.sun_red / 255.f) * g_Settings.sun_alpha;
  160.                 *(float*)greensun2 = (g_Settings.sun_green / 255.f) * g_Settings.sun_alpha;
  161.                 *(float*)bluesun2 = (g_Settings.sun_blue / 255.f) * g_Settings.sun_alpha;
  162.             }
  163.             if (Menu::Option("Reset Sun"))
  164.             {
  165.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  166.                 std::copy_n("\x0F\x29\x41\x40", 4, reinterpret_cast<char*>(g_base_address + Addresss::SunPointerpatch));//0xE4369E
  167.             }
  168.             Menu::Float("redsun A value", g_Settings.sun_red_a, 0.f, 255.0f, 1.f);
  169.             Menu::Float("greensun A value", g_Settings.sun_green_a, 0.f, 255.0f, 1.f);
  170.             Menu::Float("bluesun A value", g_Settings.sun_blue_a, 0.f, 255.0f, 1.f);
  171.             Menu::Float("sun A alpha4 value", g_Settings.sun_alpha, 0.f, 255.0f, 1.f);
  172.             if (Menu::Option("sun Atmosphère Pattern"))
  173.             {
  174.                 auto SunPTR = Memory::pattern("80 3F 00 00 80 3F CD CC 4C 3E 9A 99 99 3E 00 00 80 3F 00 00 80 3F 00");
  175.                 DWORD64* d_location = nullptr;
  176.                 d_location = (DWORD64*)SunPTR.count(1).get(0).get<DWORD64*>(0);
  177.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  178.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  179.                 Log::Msg((char*)datar.c_str());
  180.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  181.                 std::stringstream myStrm(datar);
  182.                 DWORD64 x;
  183.                 myStrm >> x;
  184.                 std::string address2;
  185.                 stringstream addrs2;
  186.                 addrs2 << hex << "0x" << x;
  187.                 address2 = addrs2.str();
  188.                 Log::Msg((char*)address2.c_str());
  189.  
  190.                 std::string address;
  191.                 stringstream addrs;
  192.                 addrs << hex << "0x" << base_address;
  193.                 address = addrs.str();
  194.                 Log::Msg((char*)address.c_str());
  195.                 std::stringstream myStrm1;
  196.                 myStrm1 << base_address;
  197.                 DWORD64 x1;
  198.                 myStrm1 >> x1;
  199.                 std::stringstream myStrm2(datar);
  200.                 DWORD64 x2;
  201.                 myStrm2 >> x2;
  202.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  203.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  204.                 std::string address3;
  205.                 stringstream addrs3;
  206.                 addrs3 << hex << "0x" << in2;
  207.                 address3 = addrs3.str();
  208.                 Log::Msg((char*)address3.c_str());
  209.  
  210.                 Addresss::SunPointerat = in2;
  211.                 //0x2822d6e
  212.                 Addresss::SunPointerredat = (DWORD64)Addresss::SunPointerat - (DWORD64)0x77A;
  213.                 Addresss::SunPointergreenat = (DWORD64)Addresss::SunPointerat - (DWORD64)0x776;
  214.                 Addresss::SunPointerblueat = (DWORD64)Addresss::SunPointerat - (DWORD64)0x772;
  215.                 Addresss::SunPointerpatchat = (DWORD64)Addresss::SunPointerat - (DWORD64)0x19F2784;//0x19DF6D8
  216.                 /*
  217.                 0x2822d6e - 0xE43696 = 0x19DF6D8
  218.                 0x2822d6e - 0x28225F4 = 0x77A
  219.                 0x2822d6e - 0x28225F8 = 0x776
  220.                 0x2822d6e - 0x28225FC = 0x772
  221.                 */
  222.                 memset(reinterpret_cast<void*>(base_address + Addresss::SunPointerpatchat), 0x90, 4);
  223.                 uintptr_t redsun2 = engine::scan_address(base_address + Addresss::SunPointerredat, {});
  224.                 uintptr_t greensun2 = engine::scan_address(base_address + Addresss::SunPointergreenat, {});
  225.                 uintptr_t bluesun2 = engine::scan_address(base_address + Addresss::SunPointerblueat, {});
  226.                 *(float*)redsun2 = (g_Settings.sun_red_a / 255.f) * g_Settings.sun_alpha_a;
  227.                 *(float*)greensun2 = (g_Settings.sun_green_a / 255.f) * g_Settings.sun_alpha_a;
  228.                 *(float*)bluesun2 = (g_Settings.sun_blue_a / 255.f) * g_Settings.sun_alpha_a;
  229.             }
  230.  
  231.             if (Menu::Option("Reset Sun Atmosph"))
  232.             {
  233.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  234.                 std::copy_n("\x0F\x29\x49\x30", 4, reinterpret_cast<char*>(g_base_address + Addresss::SunPointerpatchat));
  235.             }
  236.  
  237.  
  238.  
  239.             headers::thunderbackgrounds();
  240.             backgrounds::casesixteen();
  241.         }
  242.         break;
  243. #pragma endregion
  244. #pragma region moonintensity
  245.         case moonintensity:
  246.         {
  247.             Menu::Title("Moon Change Color");
  248.             headers::thunderheaders();
  249.             if (Menu::Option((char*)langage::h3.c_str())) { TIME::SET_CLOCK_TIME(3, 0, 0); }
  250.  
  251.             Menu::Float("redmoon value", g_Settings.moonred, 0.f, 255.0f, 1.f);
  252.             Menu::Float("greenmoon value", g_Settings.moongreen, 0.f, 255.0f, 1.f);
  253.             Menu::Float("bluemoon value", g_Settings.moonblue, 0.f, 255.0f, 1.f);
  254.             Menu::Float("moonalpha value", g_Settings.moonalpha, 0.f, 255.0f, 1.f);
  255.             if (Menu::Option("Moon"))
  256.             {
  257.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  258.                 memset(reinterpret_cast<void*>(g_base_address + 0xE43805), 0x90, 4);//0xE436B1
  259.                 memset(reinterpret_cast<void*>(g_base_address + 0xE4380C), 0x90, 4);//0xE436B1
  260.                 uintptr_t redmoon = engine::scan_address(g_base_address + 0x2835828, {});
  261.                 uintptr_t greenmoon = engine::scan_address(g_base_address + 0x283582C, {});
  262.                 uintptr_t bluemoon = engine::scan_address(g_base_address + 0x2835830, {});
  263.                 *(float*)redmoon = (g_Settings.moonred / 255.f) * g_Settings.moonalpha;
  264.                 *(float*)greenmoon = (g_Settings.moongreen / 255.f) * g_Settings.moonalpha;
  265.                 *(float*)bluemoon = (g_Settings.moonblue / 255.f) * g_Settings.moonalpha;
  266.             }
  267.             //GTA5.exe + E43805 - 0F29 41 60 - movaps[rcx + 60], xmm0
  268.             //GTA5.exe+E4380C - 0F29 49 F0            - movaps [rcx-10],xmm1
  269.  
  270.             if (Menu::Option("Reset Moon"))
  271.             {
  272.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  273.                 std::copy_n("\x0F\x29\x41\x60", 4, reinterpret_cast<char*>(g_base_address + 0xE43805));//moon
  274.                 std::copy_n("\x0F\x29\x49\xF0", 4, reinterpret_cast<char*>(g_base_address + 0xE4380C));//moon
  275.             }
  276.  
  277.             Menu::Float("redmoon2 value", g_Settings.moon_red, 0.f, 255.0f, 1.f);
  278.             Menu::Float("greenmoon2 value", g_Settings.moon_green, 0.f, 255.0f, 1.f);
  279.             Menu::Float("bluemoon2 value", g_Settings.moon_blue, 0.f, 255.0f, 1.f);
  280.             Menu::Float("moonalpha2 value", g_Settings.moon_alpha, 0.f, 255.0f, 1.f);
  281.  
  282.             if (Menu::Option("moon2 Pattern"))
  283.             {
  284.                 auto moonPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  285.                 DWORD64* d_location = nullptr;
  286.                 d_location = (DWORD64*)moonPTR.count(1).get(0).get<DWORD64*>(0);
  287.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  288.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  289.                 Log::Msg((char*)datar.c_str());
  290.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  291.                 std::stringstream myStrm(datar);
  292.                 DWORD64 x;
  293.                 myStrm >> x;
  294.                 std::string address2;
  295.                 stringstream addrs2;
  296.                 addrs2 << hex << "0x" << x;
  297.                 address2 = addrs2.str();
  298.                 Log::Msg((char*)address2.c_str());
  299.  
  300.                 std::string address;
  301.                 stringstream addrs;
  302.                 addrs << hex << "0x" << base_address;
  303.                 address = addrs.str();
  304.                 Log::Msg((char*)address.c_str());
  305.                 std::stringstream myStrm1;
  306.                 myStrm1 << base_address;
  307.                 DWORD64 x1;
  308.                 myStrm1 >> x1;
  309.                 std::stringstream myStrm2(datar);
  310.                 DWORD64 x2;
  311.                 myStrm2 >> x2;
  312.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  313.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  314.                 std::string address3;
  315.                 stringstream addrs3;
  316.                 addrs3 << hex << "0x" << in2;
  317.                 address3 = addrs3.str();
  318.                 Log::Msg((char*)address3.c_str());
  319.  
  320.                 Addresss::MoonPointer = in2;
  321.  
  322.                 Addresss::MoonPointerred = (DWORD64)Addresss::MoonPointer - (DWORD64)0x777;//0x2822D9F - 0x2822628 = 0x777
  323.                 Addresss::MoonPointergreen = (DWORD64)Addresss::MoonPointer - (DWORD64)0x773;//0x2822D9F - 0x282262C = 0x773
  324.                 Addresss::MoonPointerblue = (DWORD64)Addresss::MoonPointer - (DWORD64)0x76F;//0x2822D9F - 0x2822630 = 0x76F
  325.                 Addresss::MoonPointerpatch = (DWORD64)Addresss::MoonPointer - (DWORD64)0x19F279A;//0x2822D9F - 0xE436B1 = 0x19DF6EE
  326.                 Addresss::MoonPointerpatch_ = (DWORD64)Addresss::MoonPointer - (DWORD64)0x19F2793;//0x2822D9F - 0xE436B1 = 0x19DF6EE
  327.                 //2835F9F - E4380C = 19F 2793
  328.                 memset(reinterpret_cast<void*>(base_address + Addresss::MoonPointerpatch), 0x90, 4);
  329.                 uintptr_t redmoon = engine::scan_address(base_address + Addresss::MoonPointerred, {});
  330.                 uintptr_t greenmoon = engine::scan_address(base_address + Addresss::MoonPointergreen, {});
  331.                 uintptr_t bluemoon = engine::scan_address(base_address + Addresss::MoonPointerblue, {});
  332.                 *(float*)redmoon = (g_Settings.moon_red / 255.f) * g_Settings.moon_alpha;
  333.                 *(float*)greenmoon = (g_Settings.moon_green / 255.f) * g_Settings.moon_alpha;
  334.                 *(float*)bluemoon = (g_Settings.moon_blue / 255.f) * g_Settings.moon_alpha;
  335.  
  336.             }
  337.             if (Menu::Option("Reset Moon Pattern"))
  338.             {
  339.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  340.                 std::copy_n("\x0F\x29\x41\x60", 4, reinterpret_cast<char*>(g_base_address + Addresss::MoonPointerpatch));//moon
  341.                 std::copy_n("\x0F\x29\x49\xF0", 4, reinterpret_cast<char*>(g_base_address + Addresss::MoonPointerpatch_));//moon
  342.             }
  343.  
  344.  
  345.             headers::thunderbackgrounds();
  346.             /*backgrounds::caseseven();*/
  347.             /*backgrounds::casesixteen();*/
  348.             backgrounds::casethirteen();
  349.         }
  350.         break;
  351. #pragma endregion
  352.  
  353. #pragma region skycolor
  354.         case skycolor:
  355.         {
  356.             Menu::Title("Sky Change Color");
  357.             headers::thunderheaders();
  358.  
  359.             Menu::Float("redsky value", g_Settings.sky_red_p, 0.f, 255.0f, 1.f);
  360.             Menu::Float("greensky value", g_Settings.sky_green_p, 0.f, 255.0f, 1.f);
  361.             Menu::Float("bluesky value", g_Settings.sky_blue_p, 0.f, 255.0f, 1.f);
  362.             Menu::Float("skyalpha value", g_Settings.sky_alpha_p, 0.f, 255.0f, 1.f);
  363.             if (Menu::Option("Sky Pattern"))
  364.             {
  365.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  366.                 DWORD64* d_location = nullptr;
  367.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  368.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  369.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  370.                 Log::Msg((char*)datar.c_str());
  371.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  372.                 std::stringstream myStrm(datar);
  373.                 DWORD64 x;
  374.                 myStrm >> x;
  375.                 std::string address2;
  376.                 stringstream addrs2;
  377.                 addrs2 << hex << "0x" << x;
  378.                 address2 = addrs2.str();
  379.                 Log::Msg((char*)address2.c_str());
  380.  
  381.                 std::string address;
  382.                 stringstream addrs;
  383.                 addrs << hex << "0x" << base_address;
  384.                 address = addrs.str();
  385.                 Log::Msg((char*)address.c_str());
  386.                 std::stringstream myStrm1;
  387.                 myStrm1 << base_address;
  388.                 DWORD64 x1;
  389.                 myStrm1 >> x1;
  390.                 std::stringstream myStrm2(datar);
  391.                 DWORD64 x2;
  392.                 myStrm2 >> x2;
  393.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  394.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  395.                 std::string address3;
  396.                 stringstream addrs3;
  397.                 addrs3 << hex << "0x" << in2;
  398.                 address3 = addrs3.str();
  399.                 Log::Msg((char*)address3.c_str());
  400.  
  401.                 Addresss::SkyPointer = in2;
  402.                 Addresss::SkyPointerred = (DWORD64)Addresss::SkyPointer - (DWORD64)0x5C7;//0x2822D9F - 0x28227D8 = 0x5C7
  403.                 Addresss::SkyPointergreen = (DWORD64)Addresss::SkyPointer - (DWORD64)0x5C3;//0x2822D9F - 0x28227DC = 0x5C3
  404.                 Addresss::SkyPointerblue = (DWORD64)Addresss::SkyPointer - (DWORD64)0x5BF;//0x2822D9F - 0x28227E0 = 0x5BF
  405.                 Addresss::SkyPointerpatch = (DWORD64)Addresss::SkyPointer - (DWORD64)0x19F27BD;//0x2822D9F - 0xE43686 = 0x19DF719
  406.                 //GTA5.exe+E43686 - 0F29 49 10
  407.  
  408.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch), 0x90, 4);
  409.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::SkyPointerred, {});
  410.                 uintptr_t greensky2 = engine::scan_address(base_address + Addresss::SkyPointergreen, {});
  411.                 uintptr_t bluesky2 = engine::scan_address(base_address + Addresss::SkyPointerblue, {});
  412.                 *(float*)redsky2 = (g_Settings.sky_red_p / 255.f) * g_Settings.sky_alpha_p;
  413.                 *(float*)greensky2 = (g_Settings.sky_green_p / 255.f) * g_Settings.sky_alpha_p;
  414.                 *(float*)bluesky2 = (g_Settings.sky_blue_p / 255.f) * g_Settings.sky_alpha_p;
  415.  
  416.                 /*
  417.                  GTA5.exe+E43686 - 0F29 49 10
  418.                 //  7FF60BF327D8
  419.                 //  GTA5.exe + 28227D8//red
  420.                 //  7FF60BF327DC
  421.                 //  GTA5.exe + 28227DC//green
  422.                 //  7FF60BF327E0
  423.                 //  GTA5.exe + 28227E0//blue
  424.                 */
  425.             }
  426.             if (Menu::Option("Reset Sky"))
  427.             {
  428.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  429.                 std::copy_n("\x0F\x29\x49\x10", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch));//0xE43686
  430.             }
  431.  
  432.  
  433.             Menu::Float("redsky1 value", g_Settings.sky_red_p1, 0.f, 255.0f, 1.f);
  434.             Menu::Float("greensky1 value", g_Settings.sky_green_p1, 0.f, 255.0f, 1.f);
  435.             Menu::Float("bluesky1 value", g_Settings.sky_blue_p1, 0.f, 255.0f, 1.f);
  436.             Menu::Float("skyalpha1 value", g_Settings.sky_alpha_p1, 0.f, 255.0f, 1.f);
  437.  
  438.             if (Menu::Option("Sky1 Pattern"))
  439.             {
  440.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  441.                 DWORD64* d_location = nullptr;
  442.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  443.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  444.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  445.                 Log::Msg((char*)datar.c_str());
  446.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  447.                 std::stringstream myStrm(datar);
  448.                 DWORD64 x;
  449.                 myStrm >> x;
  450.                 std::string address2;
  451.                 stringstream addrs2;
  452.                 addrs2 << hex << "0x" << x;
  453.                 address2 = addrs2.str();
  454.                 Log::Msg((char*)address2.c_str());
  455.  
  456.                 std::string address;
  457.                 stringstream addrs;
  458.                 addrs << hex << "0x" << base_address;
  459.                 address = addrs.str();
  460.                 Log::Msg((char*)address.c_str());
  461.                 std::stringstream myStrm1;
  462.                 myStrm1 << base_address;
  463.                 DWORD64 x1;
  464.                 myStrm1 >> x1;
  465.                 std::stringstream myStrm2(datar);
  466.                 DWORD64 x2;
  467.                 myStrm2 >> x2;
  468.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  469.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  470.                 std::string address3;
  471.                 stringstream addrs3;
  472.                 addrs3 << hex << "0x" << in2;
  473.                 address3 = addrs3.str();
  474.                 Log::Msg((char*)address3.c_str());
  475.  
  476.                 Addresss::SkyPointer1 = in2;
  477.  
  478.                 Addresss::SkyPointerred1 = (DWORD64)Addresss::SkyPointer1 - (DWORD64)0x73F;//0x2822D9F - 0x2822660 = 0x73F
  479.                 Addresss::SkyPointergreen1 = (DWORD64)Addresss::SkyPointer1 - (DWORD64)0x73B;//0x2822D9F - 0x2822664 = 0x73B
  480.                 Addresss::SkyPointerblue1 = (DWORD64)Addresss::SkyPointer1 - (DWORD64)0x737;//0x2822D9F - 0x2822668 = 0x737
  481.                 Addresss::SkyPointerpatch1 = (DWORD64)Addresss::SkyPointer1 - (DWORD64)0x19F27BD;//0x2822D9F - 0xE4368E = 0x19DF711
  482.                 //GTA5.exe+E4368E - 0F29 41 20
  483.  
  484.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch1), 0x90, 4);
  485.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::SkyPointerred1, {});
  486.                 uintptr_t greensky2 = engine::scan_address(base_address + Addresss::SkyPointergreen1, {});
  487.                 uintptr_t bluesky2 = engine::scan_address(base_address + Addresss::SkyPointerblue1, {});
  488.                 *(float*)redsky2 = (g_Settings.sky_red_p1 / 255.f) * g_Settings.sky_alpha_p1;
  489.                 *(float*)greensky2 = (g_Settings.sky_green_p1 / 255.f) * g_Settings.sky_alpha_p1;
  490.                 *(float*)bluesky2 = (g_Settings.sky_blue_p1 / 255.f) * g_Settings.sky_alpha_p1;
  491.  
  492.             }
  493.             if (Menu::Option("Reset Sky1"))
  494.             {
  495.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  496.                 std::copy_n("\x0F\x29\x41\x20", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch1));
  497.             }
  498.  
  499.             Menu::Float("redsky2 value", g_Settings.sky_red_p2, 0.f, 255.0f, 1.f);
  500.             Menu::Float("greensky2 value", g_Settings.sky_green_p2, 0.f, 255.0f, 1.f);
  501.             Menu::Float("bluesky2 value", g_Settings.sky_blue_p2, 0.f, 255.0f, 1.f);
  502.             Menu::Float("skyalpha2 value", g_Settings.sky_alpha_p2, 0.f, 255.0f, 1.f);
  503.  
  504.             if (Menu::Option("Sky2 Pattern"))
  505.             {
  506.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  507.                 DWORD64* d_location = nullptr;
  508.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  509.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  510.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  511.                 Log::Msg((char*)datar.c_str());
  512.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  513.                 std::stringstream myStrm(datar);
  514.                 DWORD64 x;
  515.                 myStrm >> x;
  516.                 std::string address2;
  517.                 stringstream addrs2;
  518.                 addrs2 << hex << "0x" << x;
  519.                 address2 = addrs2.str();
  520.                 Log::Msg((char*)address2.c_str());
  521.  
  522.                 std::string address;
  523.                 stringstream addrs;
  524.                 addrs << hex << "0x" << base_address;
  525.                 address = addrs.str();
  526.                 Log::Msg((char*)address.c_str());
  527.                 std::stringstream myStrm1;
  528.                 myStrm1 << base_address;
  529.                 DWORD64 x1;
  530.                 myStrm1 >> x1;
  531.                 std::stringstream myStrm2(datar);
  532.                 DWORD64 x2;
  533.                 myStrm2 >> x2;
  534.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  535.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  536.                 std::string address3;
  537.                 stringstream addrs3;
  538.                 addrs3 << hex << "0x" << in2;
  539.                 address3 = addrs3.str();
  540.                 Log::Msg((char*)address3.c_str());
  541.  
  542.                 Addresss::SkyPointer2 = in2;
  543.  
  544.                 Addresss::SkyPointerred2 = (DWORD64)Addresss::SkyPointer2 - (DWORD64)0x733;//0x2822D9F - 0x282266C = 0x733
  545.                 Addresss::SkyPointergreen2 = (DWORD64)Addresss::SkyPointer2 - (DWORD64)0x72F;//0x2822D9F - 0x2822670 = 0x72F
  546.                 Addresss::SkyPointerblue2 = (DWORD64)Addresss::SkyPointer2 - (DWORD64)0x72B;//0x2822D9F - 0x2822674 = 0x72B
  547.                 Addresss::SkyPointerpatch2_ = (DWORD64)Addresss::SkyPointer2 - (DWORD64)0x19F27BD;//0x2822D9F - 0xE4368E = 0x19DF711
  548.                 Addresss::SkyPointerpatch2 = (DWORD64)Addresss::SkyPointer2 - (DWORD64)0x19F27B5;//0x2822D9F - 0xE4368E = 0x19DF711
  549.                 //GTA5.exe + E4368E - 0F29 41 20 - movaps[rcx + 20], xmm0
  550.                 /*GTA5.exe + E437E2 - 0F29 41 20 - movaps[rcx + 20], xmm0
  551.                     GTA5.exe + E437EA - 0F29 49 30 - movaps[rcx + 30], xmm1*/
  552.                 /*2835F9F - E437E2 = 19F 27BD
  553.                     2835F9F - E437EA = 19F 27B5*/
  554.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch2_), 0x90, 4);
  555.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch2), 0x90, 4);
  556.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::SkyPointerred2, {});
  557.                 uintptr_t greensky2 = engine::scan_address(base_address + Addresss::SkyPointergreen2, {});
  558.                 uintptr_t bluesky2 = engine::scan_address(base_address + Addresss::SkyPointerblue2, {});
  559.                 *(float*)redsky2 = (g_Settings.sky_red_p2 / 255.f) * g_Settings.sky_alpha_p2;
  560.                 *(float*)greensky2 = (g_Settings.sky_green_p2 / 255.f) * g_Settings.sky_alpha_p2;
  561.                 *(float*)bluesky2 = (g_Settings.sky_blue_p2 / 255.f) * g_Settings.sky_alpha_p2;
  562.  
  563.             }
  564.             if (Menu::Option("Reset Sky2"))
  565.             {
  566.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  567.                 std::copy_n("\x0F\x29\x41\x20", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch2_));
  568.                 std::copy_n("\x0F\x29\x49\x30", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch2));
  569.             }
  570.  
  571.             Menu::Float("redsky3 value", g_Settings.sky_red_p3, 0.f, 255.0f, 1.f);
  572.             Menu::Float("greensky3 value", g_Settings.sky_green_p3, 0.f, 255.0f, 1.f);
  573.             Menu::Float("bluesky3 value", g_Settings.sky_blue_p3, 0.f, 255.0f, 1.f);
  574.             Menu::Float("skyalpha3 value", g_Settings.sky_alpha_p3, 0.f, 255.0f, 1.f);
  575.  
  576.             if (Menu::Option("Sky3 Pattern"))
  577.             {
  578.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  579.                 DWORD64* d_location = nullptr;
  580.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  581.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  582.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  583.                 Log::Msg((char*)datar.c_str());
  584.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  585.                 std::stringstream myStrm(datar);
  586.                 DWORD64 x;
  587.                 myStrm >> x;
  588.                 std::string address2;
  589.                 stringstream addrs2;
  590.                 addrs2 << hex << "0x" << x;
  591.                 address2 = addrs2.str();
  592.                 Log::Msg((char*)address2.c_str());
  593.  
  594.                 std::string address;
  595.                 stringstream addrs;
  596.                 addrs << hex << "0x" << base_address;
  597.                 address = addrs.str();
  598.                 Log::Msg((char*)address.c_str());
  599.                 std::stringstream myStrm1;
  600.                 myStrm1 << base_address;
  601.                 DWORD64 x1;
  602.                 myStrm1 >> x1;
  603.                 std::stringstream myStrm2(datar);
  604.                 DWORD64 x2;
  605.                 myStrm2 >> x2;
  606.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  607.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  608.                 std::string address3;
  609.                 stringstream addrs3;
  610.                 addrs3 << hex << "0x" << in2;
  611.                 address3 = addrs3.str();
  612.                 Log::Msg((char*)address3.c_str());
  613.  
  614.                 Addresss::SkyPointer3 = in2;
  615.                 Addresss::SkyPointerred3 = (DWORD64)Addresss::SkyPointer3 - (DWORD64)0x723;//0x2822D9F - 0x282267C = 0x723
  616.                 Addresss::SkyPointergreen3 = (DWORD64)Addresss::SkyPointer3 - (DWORD64)0x71F;//0x2822D9F - 0x2822680 = 0x71F
  617.                 Addresss::SkyPointerblue3 = (DWORD64)Addresss::SkyPointer3 - (DWORD64)0x71B;//0x2822D9F - 0x2822684 = 0x71B
  618.                 Addresss::SkyPointerpatch3 = (DWORD64)Addresss::SkyPointer3 - (DWORD64)0x19F27B5;//0x2822D9F - 0xE43696 = 0x19DF709
  619.                 Addresss::SkyPointerpatch3_ = (DWORD64)Addresss::SkyPointer3 - (DWORD64)0x19F27AD;//0x2822D9F - 0xE4369E = 0x19DF701
  620.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch3), 0x90, 4);
  621.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch3_), 0x90, 4);
  622.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::SkyPointerred3, {});
  623.                 uintptr_t greensky2 = engine::scan_address(base_address + Addresss::SkyPointergreen3, {});
  624.                 uintptr_t bluesky2 = engine::scan_address(base_address + Addresss::SkyPointerblue3, {});
  625.                 *(float*)redsky2 = (g_Settings.sky_red_p3 / 255.f) * g_Settings.sky_alpha_p3;
  626.                 *(float*)greensky2 = (g_Settings.sky_green_p3 / 255.f) * g_Settings.sky_alpha_p3;
  627.                 *(float*)bluesky2 = (g_Settings.sky_blue_p3 / 255.f) * g_Settings.sky_alpha_p3;
  628.             }
  629.  
  630.             if (Menu::Option("Reset Sky3"))
  631.             {
  632.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  633.                 std::copy_n("\x0F\x29\x49\x30", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch3));
  634.                 std::copy_n("\x0F\x29\x41\x40", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch3_));
  635.             }
  636.  
  637.             Menu::Float("Clouds value", g_Settings.sky_intensity_p4, 0.f, 5555.0f, 1.f);
  638.             if (Menu::Option("Clouds1 Pattern"))
  639.             {
  640.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  641.                 DWORD64* d_location = nullptr;
  642.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  643.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  644.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  645.                 Log::Msg((char*)datar.c_str());
  646.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  647.                 std::stringstream myStrm(datar);
  648.                 DWORD64 x;
  649.                 myStrm >> x;
  650.                 std::string address2;
  651.                 stringstream addrs2;
  652.                 addrs2 << hex << "0x" << x;
  653.                 address2 = addrs2.str();
  654.                 Log::Msg((char*)address2.c_str());
  655.  
  656.                 std::string address;
  657.                 stringstream addrs;
  658.                 addrs << hex << "0x" << base_address;
  659.                 address = addrs.str();
  660.                 Log::Msg((char*)address.c_str());
  661.                 std::stringstream myStrm1;
  662.                 myStrm1 << base_address;
  663.                 DWORD64 x1;
  664.                 myStrm1 >> x1;
  665.                 std::stringstream myStrm2(datar);
  666.                 DWORD64 x2;
  667.                 myStrm2 >> x2;
  668.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  669.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  670.                 std::string address3;
  671.                 stringstream addrs3;
  672.                 addrs3 << hex << "0x" << in2;
  673.                 address3 = addrs3.str();
  674.                 Log::Msg((char*)address3.c_str());
  675.                 Addresss::SkyPointer4 = in2;
  676.                 Addresss::getSkyPointer4 = (DWORD64)Addresss::SkyPointer4 - (DWORD64)0x707;//0x2822D9F - 0x2822698 = 0x707     
  677.                 Addresss::SkyPointerpatch4 = (DWORD64)Addresss::SkyPointer4 - (DWORD64)0x19F27A5;//0x2822D9F - 0xE436A6 = 0x19DF6F9
  678.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch4), 0x90, 4);
  679.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::getSkyPointer4, {});         
  680.                 *(float*)redsky2 = g_Settings.sky_intensity_p4;
  681.             }
  682.             if (Menu::Option("Reset Clouds1"))
  683.             {
  684.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  685.                 std::copy_n("\x0F\x29\x49\x50", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch4));
  686.             }
  687.             Menu::Float("Clouds2 value", g_Settings.sky_intensity_p5, 0.f, 5555.0f, 1.f);
  688.             if (Menu::Option("Clouds2 Pattern"))
  689.             {
  690.                 auto SkyPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  691.                 DWORD64* d_location = nullptr;
  692.                 d_location = (DWORD64*)SkyPTR.count(1).get(0).get<DWORD64*>(0);
  693.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  694.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  695.                 Log::Msg((char*)datar.c_str());
  696.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  697.                 std::stringstream myStrm(datar);
  698.                 DWORD64 x;
  699.                 myStrm >> x;
  700.                 std::string address2;
  701.                 stringstream addrs2;
  702.                 addrs2 << hex << "0x" << x;
  703.                 address2 = addrs2.str();
  704.                 Log::Msg((char*)address2.c_str());
  705.  
  706.                 std::string address;
  707.                 stringstream addrs;
  708.                 addrs << hex << "0x" << base_address;
  709.                 address = addrs.str();
  710.                 Log::Msg((char*)address.c_str());
  711.                 std::stringstream myStrm1;
  712.                 myStrm1 << base_address;
  713.                 DWORD64 x1;
  714.                 myStrm1 >> x1;
  715.                 std::stringstream myStrm2(datar);
  716.                 DWORD64 x2;
  717.                 myStrm2 >> x2;
  718.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  719.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  720.                 std::string address3;
  721.                 stringstream addrs3;
  722.                 addrs3 << hex << "0x" << in2;
  723.                 address3 = addrs3.str();
  724.                 Log::Msg((char*)address3.c_str());
  725.                 Addresss::SkyPointer5 = in2;
  726.                 Addresss::getSkyPointer5 = (DWORD64)Addresss::SkyPointer5 - (DWORD64)0x6FB;//0x2822D9F - 0x28226A4 = 0x6FB
  727.                 Addresss::SkyPointerpatch5 = (DWORD64)Addresss::SkyPointer5 - (DWORD64)0x19F279A;//0x2822D9F - 0xE436B1 = 0x19DF6EE
  728.                 memset(reinterpret_cast<void*>(base_address + Addresss::SkyPointerpatch5), 0x90, 4);
  729.                 uintptr_t redsky2 = engine::scan_address(base_address + Addresss::getSkyPointer5, {});
  730.                 *(float*)redsky2 = g_Settings.sky_intensity_p5;
  731.             }
  732.             if (Menu::Option("Reset Clouds2"))
  733.             {
  734.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  735.                 std::copy_n("\x0F\x29\x41\x60", 4, reinterpret_cast<char*>(g_base_address + Addresss::SkyPointerpatch5));
  736.             }
  737.  
  738.  
  739.  
  740.             /*blackandwhiteflashGTA5.exe + 28227D1 GTA5.exe + 15F9B3C - F3 41 0F11 09  GTA5.exe + 15F9B57 - F3 41 0F11 01
  741.                 cloudsflash2GTA5.exe + E436A6 - 0F29 49 50 - movaps[rcx + 50], xmm1
  742.                 GTA5.exe + 2822698 - 7E 5E - jle GTA5.exe + 28226F8
  743.                 cloudsflashGTA5.exe + E436B1 - 0F29 41 60 - movaps[rcx + 60], xmm0
  744.                 GTA5.exe + 28226A4 - 9E - sahf*/
  745.  
  746.  
  747.             headers::thunderbackgrounds();
  748.             backgrounds::casesixteen();
  749.         }
  750.         break;
  751. #pragma endregion
  752.  
  753. #pragma region starintensity
  754.         case starintensity:
  755.         {
  756.             Menu::Title("Star Change Color");
  757.             headers::thunderheaders();
  758.             /*Menu::Float("m_azimuth_transition_red value", m_vars.m_azimuth_transition_red, 0.f, 255.0f, 1.f);
  759.             Menu::Float("m_azimuth_transition_green value", m_vars.m_azimuth_transition_green, 0.f, 255.0f, 1.f);
  760.             Menu::Float("m_azimuth_transition_blue value", m_vars.m_azimuth_transition_blue, 0.f, 255.0f, 1.f);
  761.             Menu::Float("m_azimuth_transition_intensity value", m_vars.m_azimuth_transition_intensity, 0.f, 255.0f, 1.f);*/
  762.             //GTA5.exe + 2822628//MOON RED
  763.  
  764.             //GTA5.exe + 2822628//MOON RED
  765.             //  GTA5.exe + 282262C//MOON GREEN
  766.             //  GTA5.exe + 2822630//MOON BLUE
  767.             //  memset(reinterpret_cast<void*>(g_Settings.m_ModuleBaseAddress + 0xE436B1), 0x90, 4);
  768.             Menu::MenuOption((char*)langage::Times.c_str(), LobbyTimes);
  769.  
  770.             Menu::Float("starintensity value", g_Settings.starintensity, 0.f, 5000.0f, 100.f);
  771.             if (Menu::Option("Star"))
  772.             {
  773.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  774.                 memset(reinterpret_cast<void*>(g_base_address + 0xE4380C), 0x90, 4);
  775.                 *(float*)engine::scan_address(g_base_address + 0x282263C, {}) = g_Settings.starintensity;
  776.             }
  777.             if (Menu::Option("Reset Star"))
  778.             {
  779.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  780.                 std::copy_n("\x0F\x29\x49\xF0", 4, reinterpret_cast<char*>(g_base_address + 0xE4380C));//stars
  781.                 //std::copy_n("\x0F\x29\xA2\xE0", 4, reinterpret_cast<char*>(g_base_address + 0xE3FFB1));//sky
  782.             }
  783.             Menu::Float("starintensity Pattern value", g_Settings.star_intensity_p, 0.f, 5000.0f, 100.f);
  784.             if (Menu::Option("Star Pattern"))
  785.             {
  786.                 auto StarPTR = Memory::pattern("00 62 6F 61 74 73 65 61 72 63 68 6C 69 67 68 74 2E 6D 61 69 6E 4C 69 67 68 74 49 6E 66 6F 2E 6C 69 67 68 74 46 61 64 65 44 69 73 74 00 79 46 61 72 00 78 70 6F 6E 65 6E 74 00 6E 74 00");
  787.                 DWORD64* d_location = nullptr;
  788.                 d_location = (DWORD64*)StarPTR.count(1).get(0).get<DWORD64*>(0);
  789.                 std::string datar = std::string(std::to_string(reinterpret_cast<DWORD64>(d_location)));
  790.                 DWORD64 base_address = DWORD64(GetModuleHandleA(nullptr));
  791.                 Log::Msg((char*)datar.c_str());
  792.                 Log::Msg((char*)std::string(std::to_string(base_address)).c_str());
  793.                 std::stringstream myStrm(datar);
  794.                 DWORD64 x;
  795.                 myStrm >> x;
  796.                 std::string address2;
  797.                 stringstream addrs2;
  798.                 addrs2 << hex << "0x" << x;
  799.                 address2 = addrs2.str();
  800.                 Log::Msg((char*)address2.c_str());
  801.  
  802.                 std::string address;
  803.                 stringstream addrs;
  804.                 addrs << hex << "0x" << base_address;
  805.                 address = addrs.str();
  806.                 Log::Msg((char*)address.c_str());
  807.                 std::stringstream myStrm1;
  808.                 myStrm1 << base_address;
  809.                 DWORD64 x1;
  810.                 myStrm1 >> x1;
  811.                 std::stringstream myStrm2(datar);
  812.                 DWORD64 x2;
  813.                 myStrm2 >> x2;
  814.                 DWORD64 in2 = ((DWORD64)x2 - (DWORD64)x1);
  815.                 Log::Msg((char*)std::string(std::to_string(in2)).c_str());
  816.                 std::string address3;
  817.                 stringstream addrs3;
  818.                 addrs3 << hex << "0x" << in2;
  819.                 address3 = addrs3.str();
  820.                 Log::Msg((char*)address3.c_str());
  821.  
  822.                 Addresss::StarPointer = in2;               
  823.                 Addresss::StarIntensity = (DWORD64)Addresss::StarPointer - (DWORD64)0x763;//0x2822D9F - 0x763 = 0x282263C
  824.                 Addresss::StarPointerpatch = (DWORD64)Addresss::StarPointer - (DWORD64)0x19F2793;//0x2822D9F - 0xE436B8 = 0x19DF6E7
  825.                 memset(reinterpret_cast<void*>(base_address + Addresss::StarPointerpatch), 0x90, 4);
  826.  
  827.                 uintptr_t intensity_Star = engine::scan_address(base_address + Addresss::StarIntensity, {});
  828.                 *(float*)intensity_Star = g_Settings.star_intensity_p;
  829.  
  830.             }
  831.             if (Menu::Option("Reset Star"))
  832.             {
  833.                 uintptr_t g_base_address = uintptr_t(GetModuleHandleA(nullptr));
  834.                 std::copy_n("\x0F\x29\x49\xF0", 4, reinterpret_cast<char*>(g_base_address + Addresss::StarPointerpatch));//0xE436B8 //star
  835.                 //std::copy_n("\x0F\x29\xA2\xE0", 4, reinterpret_cast<char*>(g_base_address + 0xE3FFB1));//0xE3FFB1 //sky
  836.             }
  837.  
  838.             headers::thunderbackgrounds();
  839.             backgrounds::caseseven();
  840.         }
  841.         break;
  842. #pragma endregion
  843.  
  844. const int DisableErrorScreenGlobal[] = { 4536673 };
  845. #define moneydropglobal1 2764232 //2764230 //2787534 //under HeistLocate
  846. #define moneydropglobal2 4535172 //4534105 //above MPROP_RWD_TCK1m
  847. #define moneydropglobal3 2764238 //2764236 //2787540
  848.  
  849. int playermoneydrop = 0;
  850.  
  851. int moneydropplayer()
  852. {
  853.     if (playermoneydrop <= 30)
  854.     {
  855.         playermoneydrop = playermoneydrop + 1;
  856.     }
  857.     else
  858.         playermoneydrop = 0;
  859.     return 0;
  860. }
  861. bool m_features::moneybool2 = 0;
  862. void m_features::moneydrop2()
  863. {
  864.     DWORD ticks = GetTickCount64();
  865.     DWORD milliseconds = ticks % 1000;
  866.     ticks /= 1000;
  867.     DWORD seconds = ticks % 60;
  868.     int getTimer = seconds;
  869.     if (getTimer % 1 == 0)
  870.     {
  871.         moneydropplayer();
  872.         if (globalHandle(DisableErrorScreenGlobal[0]).As<int>() != 0)
  873.             globalHandle(DisableErrorScreenGlobal[0]).As<int>() = 0;
  874.             if (ENTITY::DOES_ENTITY_EXIST(Hooking::get_player_ped(playermoneydrop)))
  875.             {
  876.                 Vector3 coords = ENTITY::GET_ENTITY_COORDS(Hooking::get_player_ped(playermoneydrop), false);
  877.                 *ScriptGlobal::ScriptGlobal(moneydropglobal1 + 3).As<float*>() = coords.x;
  878.                 *ScriptGlobal::ScriptGlobal(moneydropglobal1 + 4).As<float*>() = coords.y;
  879.                 *ScriptGlobal::ScriptGlobal(moneydropglobal1 + 5).As<float*>() = coords.z;
  880.                 *ScriptGlobal::ScriptGlobal(moneydropglobal1 + 1).As<int*>() = 2000;
  881.                 *ScriptGlobal::ScriptGlobal(moneydropglobal2 + (1 + *ScriptGlobal::ScriptGlobal(moneydropglobal1).As<int*>() * 85) + 66 + 2).As<int*>() = 2;
  882.                 *ScriptGlobal::ScriptGlobal(moneydropglobal3).As<int*>() = 1 << 0;
  883.             }
  884.     }
  885. }
  886. -353514253 //1279059857
  887.  
  888. x64dbg gta5 copy address entrypoint and patch dump
  889. https://www.mediafire.com/file/57mk7i2sc8hu0aa/GTA5_dump(01).exe/file
  890. all data loaded
  891. https://www.mediafire.com/file/dldlaik6eqq4om6/GTA5_dump(01).exe.i64/file
  892.  
  893. ida file produce .c
  894. https://www.mediafire.com/file/6ybprf9b9dnn75n/GTA5_dump(1.66).exe.c/file
Add Comment
Please, Sign In to add comment