Improvements in hook, bug fixes, switched to beta, added bikes fly.
This commit is contained in:
parent
2d0703e281
commit
2cf0915bf7
3
.gitignore
vendored
3
.gitignore
vendored
@ -39,3 +39,6 @@ luac.out
|
|||||||
*.hex
|
*.hex
|
||||||
|
|
||||||
moonloader/lib/cheat-menu/json/config.json
|
moonloader/lib/cheat-menu/json/config.json
|
||||||
|
/CheatMenu.VC.VC.opendb
|
||||||
|
/CheatMenu.VC.db
|
||||||
|
.vs/CheatMenu/v14/.suo
|
||||||
|
6
CheatMenu/CheatMenu.vcxproj.vcxproj.user
Normal file
6
CheatMenu/CheatMenu.vcxproj.vcxproj.user
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ShowAllFiles>true</ShowAllFiles>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
@ -24,10 +24,8 @@ LRESULT Hook::InputProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
|
|||||||
HRESULT Hook::ResetDx9(IDirect3DDevice9 * pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters)
|
HRESULT Hook::ResetDx9(IDirect3DDevice9 * pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters)
|
||||||
{
|
{
|
||||||
ImGui_ImplDX9_InvalidateDeviceObjects();
|
ImGui_ImplDX9_InvalidateDeviceObjects();
|
||||||
long result = oReset9(pDevice, pPresentationParameters);
|
|
||||||
ImGui_ImplDX9_CreateDeviceObjects();
|
|
||||||
|
|
||||||
return result;
|
return oReset9(pDevice, pPresentationParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT Hook::PresentDx9(IDirect3DDevice9 *pDevice, RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion)
|
HRESULT Hook::PresentDx9(IDirect3DDevice9 *pDevice, RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion)
|
||||||
@ -88,13 +86,9 @@ HRESULT Hook::PresentDx11(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Fl
|
|||||||
|
|
||||||
if (Globals::init_done)
|
if (Globals::init_done)
|
||||||
{
|
{
|
||||||
static RwBool fullscreen = RsGlobal.ps->fullScreen;
|
HRESULT hr = pSwapChain->Present(1, 0);
|
||||||
|
if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)
|
||||||
if (fullscreen != RsGlobal.ps->fullScreen)
|
|
||||||
{
|
|
||||||
fullscreen = RsGlobal.ps->fullScreen;
|
|
||||||
ImGui_ImplDX11_InvalidateDeviceObjects();
|
ImGui_ImplDX11_InvalidateDeviceObjects();
|
||||||
}
|
|
||||||
|
|
||||||
// Change font size if the game resolution changes
|
// Change font size if the game resolution changes
|
||||||
if (Globals::font_screen_size.x != screen::GetScreenWidth()
|
if (Globals::font_screen_size.x != screen::GetScreenWidth()
|
||||||
|
@ -32,5 +32,6 @@ void CJson::LoadJsonData(std::vector<std::string>& vec, std::string& selected)
|
|||||||
CJson::~CJson()
|
CJson::~CJson()
|
||||||
{
|
{
|
||||||
std::ofstream file(file_path);
|
std::ofstream file(file_path);
|
||||||
file << data.dump(4) << std::endl;
|
file << data.dump(4,' ',false, nlohmann::json::error_handler_t::replace) << std::endl;
|
||||||
|
file.close();
|
||||||
}
|
}
|
||||||
|
@ -385,9 +385,10 @@ void Menu::Main()
|
|||||||
|
|
||||||
ImGui::TextWrapped("Dowglas_");
|
ImGui::TextWrapped("Dowglas_");
|
||||||
ImGui::TextWrapped("Israel");
|
ImGui::TextWrapped("Israel");
|
||||||
|
|
||||||
ImGui::NextColumn();
|
ImGui::NextColumn();
|
||||||
ImGui::TextWrapped("Junior-Djjr");
|
ImGui::TextWrapped("Junior-Djjr");
|
||||||
|
ImGui::TextWrapped("Um-geek");
|
||||||
|
|
||||||
ImGui::Columns(1);
|
ImGui::Columns(1);
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
|
|
||||||
|
bool Vehicle::bike_fly = false;
|
||||||
bool Vehicle::dont_fall_bike = false;
|
bool Vehicle::dont_fall_bike = false;
|
||||||
bool Vehicle::veh_engine = false;
|
bool Vehicle::veh_engine = false;
|
||||||
bool Vehicle::veh_heavy = false;
|
bool Vehicle::veh_heavy = false;
|
||||||
@ -91,10 +92,10 @@ Vehicle::Vehicle()
|
|||||||
|
|
||||||
static CPlayerPed *player = FindPlayerPed();
|
static CPlayerPed *player = FindPlayerPed();
|
||||||
static int hplayer = CPools::GetPedRef(player);
|
static int hplayer = CPools::GetPedRef(player);
|
||||||
|
CVehicle *veh = player->m_pVehicle;
|
||||||
|
|
||||||
if (Command<Commands::IS_CHAR_IN_ANY_CAR>(hplayer))
|
if (Command<Commands::IS_CHAR_IN_ANY_CAR>(hplayer))
|
||||||
{
|
{
|
||||||
CVehicle *veh = player->m_pVehicle;
|
|
||||||
int hveh = CPools::GetVehicleRef(veh);
|
int hveh = CPools::GetVehicleRef(veh);
|
||||||
|
|
||||||
Command<Commands::SET_CAR_ENGINE_ON>(hveh, !veh_engine);
|
Command<Commands::SET_CAR_ENGINE_ON>(hveh, !veh_engine);
|
||||||
@ -172,6 +173,21 @@ Vehicle::Vehicle()
|
|||||||
}
|
}
|
||||||
neon::traffic_timer = timer;
|
neon::traffic_timer = timer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (bike_fly && veh && veh->IsDriver(player))
|
||||||
|
{
|
||||||
|
if (veh->m_nVehicleSubClass == VEHICLE_BIKE || veh->m_nVehicleSubClass == VEHICLE_BMX)
|
||||||
|
{
|
||||||
|
if (sqrt( veh->m_vecMoveSpeed.x * veh->m_vecMoveSpeed.x
|
||||||
|
+ veh->m_vecMoveSpeed.y * veh->m_vecMoveSpeed.y
|
||||||
|
+ veh->m_vecMoveSpeed.z * veh->m_vecMoveSpeed.z
|
||||||
|
) > 0.0
|
||||||
|
&& CTimer::ms_fTimeStep > 0.0)
|
||||||
|
{
|
||||||
|
veh->FlyingControl(3, -9999.9902, -9999.9902, -9999.9902, -9999.9902);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -615,17 +631,18 @@ void Vehicle::Main()
|
|||||||
Ui::CheckboxAddress("Aim while driving", 0x969179);
|
Ui::CheckboxAddress("Aim while driving", 0x969179);
|
||||||
Ui::CheckboxAddress("All cars have nitro", 0x969165);
|
Ui::CheckboxAddress("All cars have nitro", 0x969165);
|
||||||
Ui::CheckboxAddress("All taxis have nitro", 0x96918B);
|
Ui::CheckboxAddress("All taxis have nitro", 0x96918B);
|
||||||
|
Ui::CheckboxWithHint("Bikes fly", &bike_fly);
|
||||||
Ui::CheckboxAddress("Boats fly", 0x969153);
|
Ui::CheckboxAddress("Boats fly", 0x969153);
|
||||||
Ui::CheckboxWithHint("Car engine", &veh_engine);
|
Ui::CheckboxWithHint("Car engine", &veh_engine);
|
||||||
Ui::CheckboxBitFlag("Cars fly", 0x969160);
|
Ui::CheckboxAddress("Cars fly", 0x969160);
|
||||||
Ui::CheckboxWithHint("Car heavy", &veh_heavy);
|
Ui::CheckboxWithHint("Car heavy", &veh_heavy);
|
||||||
Ui::CheckboxBitFlag("Decreased traffic", 0x96917A);
|
Ui::CheckboxAddress("Decreased traffic", 0x96917A);
|
||||||
Ui::CheckboxWithHint("Don't fall off bike", &dont_fall_bike);
|
Ui::CheckboxWithHint("Don't fall off bike", &dont_fall_bike);
|
||||||
Ui::CheckboxBitFlag("Drive on water", 0x969152);
|
Ui::CheckboxAddress("Drive on water", 0x969152);
|
||||||
Ui::CheckboxAddressEx("Lock train camera", 0x52A52F, 171, 6);
|
|
||||||
|
|
||||||
ImGui::NextColumn();
|
ImGui::NextColumn();
|
||||||
|
|
||||||
|
Ui::CheckboxAddressEx("Lock train camera", 0x52A52F, 171, 6);
|
||||||
Ui::CheckboxAddress("Float away when hit", 0x969166);
|
Ui::CheckboxAddress("Float away when hit", 0x969166);
|
||||||
Ui::CheckboxAddress("Green traffic lights", 0x96914E);
|
Ui::CheckboxAddress("Green traffic lights", 0x96914E);
|
||||||
Ui::CheckboxWithHint("Invisible car", &veh_invisible);
|
Ui::CheckboxWithHint("Invisible car", &veh_invisible);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
class Vehicle : NeonAPI, Paint
|
class Vehicle : NeonAPI, Paint
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
static bool bike_fly;
|
||||||
static bool dont_fall_bike;
|
static bool dont_fall_bike;
|
||||||
static bool veh_engine;
|
static bool veh_engine;
|
||||||
static bool veh_heavy;
|
static bool veh_heavy;
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
#define INPUT_BUFFER_SIZE 64
|
#define INPUT_BUFFER_SIZE 64
|
||||||
#define SPAWN_PED_LIMIT 20
|
#define SPAWN_PED_LIMIT 20
|
||||||
#define MENU_VERSION "2.5-alpha"
|
#define MENU_VERSION "2.5-beta"
|
||||||
#define BUILD_NUMBER "20201112"
|
#define BUILD_NUMBER "20201206"
|
||||||
#define STB_IMAGE_IMPLEMENTATION
|
#define STB_IMAGE_IMPLEMENTATION
|
||||||
|
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
Cheat menu for Grand Theft Auto SanAndreas which allows a large set of modifications/cheats to be applied enabling a much more easier & amusing gameplay.
|
Cheat menu for Grand Theft Auto SanAndreas which allows a large set of modifications/cheats to be applied enabling a much more easier & amusing gameplay.
|
||||||
|
|
||||||
Get stable binaries from [here](https://github.com/user-grinch/Cheat-Menu/releases). Alpha binaries are available at the discord server.
|
Get stable binaries from [here](https://github.com/user-grinch/Cheat-Menu/releases). Beta binaries are available at the discord server.
|
||||||
|
|
||||||
A portuguese translation of the menu is [here](https://github.com/Dowglass/Cheat-Menu)
|
A portuguese translation of the menu is [here](https://github.com/Dowglass/Cheat-Menu)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user