Giter VIP home page Giter VIP logo

horsemenu's Introduction

YimMenu

A mod menu base for Grand Theft Auto V. Strictly for educational purposes.

YimMenu is originally based of off BigBaseV2 which was an amazing base at the time but nowadays is a bit dated. So here I am with an up-to-date menu focusing on protecting the user from toxic modders.

Table of contents

How to compile YimMenu

Read the SETUP guide.

Make your own flavour of YimMenu

Fork YimMenu and git clone that repository instead of https://github.com/YimMenu/YimMenu.git

Click the below link to make your own fork of YimMenu: https://github.com/YimMenu/YimMenu/fork

Staying Up To Date

Pull the latest changes from this repository.

With a command line it is as easy as:

git pull

CMake should be handling removed / added files automatically without any user input.

If this is not the case for some reason you'll have to redo the steps in the Making changes to the source code section of the SETUP.

If you are doing custom modifications to the codebase and have a fork you are on your own for staying up to date with upstream (this repository), google stuff like "merge from upstream" and learn how to use Git.

Project Structure

  • backend/ all features that should be ran in a loop are in here sorted by category
  • gui/ includes everything related to UI elements
  • hooks/ function hooks
  • native_hooks/ hooks to natives
  • services/ service files to interact and maintain stuff
  • util/ general utility functions to keep code as compact and as much in one place as possible

Contributing

You're free to contribute to YimMenu as long as the features are useful, not overly toxic and do not contain anything money related that might get the menu targeted by Take2.

Make sure to read the CONTRIBUTING.md file.

horsemenu's People

Contributors

aaa-alr avatar dayibbaba avatar deadlineem avatar markecza avatar maybegreat48 avatar rxann avatar tyackman avatar vali0004 avatar yimura avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

horsemenu's Issues

[Request] XP Roles Multpilier

I think a good way to set yourself apart from the free mod menus and do it before the others would be to make this XP multiplier for roles such as bounty hunter and all the others

Use base85 encoded font

We should use AddFontFromMemoryCompressedBase85TTF instead of AddFontFromMemoryTTF. AddFontFromMemoryTTF is gei, so is binary bloat :(

GUI Backend

Before determining the UI style, a backend has to be crafted to host all sub-menus. Preferably one that intellisense doesn't complain about.

Help with compile

Heyo kinda new to this, but it keeps giving me cmake generation failed when I try to build it. Is there any way I could get some help or sent it on discord by chance? add me if possible - moosetg tysm!!

The Basics

  • ImGui needs to be rendered
  • The invoker has to be tailored for Rdr
  • New natives file with Rdr2 natives (most likely from Native Reference )
  • Game details changed from gta to Rdr
  • Fiber pool and script system or some other technique that can substitute

These are a few of the fundamental assets that need to be supplied to get this thing off the ground.

Crash Dump - [Crash from another menu]

-------- CUSTOM CRASH-DUMP: REASON EXCEPTION_ACCESS_VIOLATION ---
Date: 11/2/2023:14:35:58:00
rax: 0xFFFFFFFFFFFFFFFF
rcx: 0x7FF79BCF3D00
rdx: 0x18B3AE14CC0
rbx: 0x183A69FDC70
rsi: 0xFFFFFFFFFFFFFFFF
rdi: 0x0
rsp: 0x74CB7FEF10
rbp: 0x0
r8: 0x183A69FDC70
r9: 0x6E
r10: 0x183A69E0240
r11: 0x183A69FDC70
r12: 0x1
r13: 0x834
r14: 0x7FF79B8BD4F0
r15: 0x183A7361910

Follow Dump:
RDR2.exe+0x9A3BB3 7FF7979C3BB3
RDR2.exe+0x134803 7FF797154803
RDR2.exe+0x9837D5 7FF7979A37D5
RDR2.exe+0x97AA95 7FF79799AA95
RDR2.exe+0x9AB31C 7FF7979CB31C
RDR2.exe+0x9EC491 7FF797A0C491
RDR2.exe+0xEEDF17 7FF797F0DF17
RDR2.exe+0x2B0FF04 7FF799B2FF04
RDR2.exe+0x258D11A 7FF7995AD11A
RDR2.exe+0x258E60F 7FF7995AE60F

  • Another user Teleport to my location: #FFFFFFFF after 8 seconds the user arrived to my location

(Request) Clear character

It would be great to be able to clean the character whenever you want or prevent it from getting dirty

[Request] Dropping

Weapon drop,
Treasure, coins, collectibles chest, and map treasure spawn

Hi

Hi, Yimura. First of all thanks for your great job. Do you have a server discord or something we can contact you easily ? I tried to add you on discord but you dont receive request anymore they told me. my dc is: ElkaShal.
Thanks man, from France.

[Idea] Horse Speed Slider

Stumbled on this native

PLAYER::BOOST_PLAYER_HORSE_SPEED_FOR_TIME(Player Player, float speedBoost, int duration)

Thought a slider under the horse section for horse speed would be a cool feature.

Vulkan api support

Vulkan API Benefits:

  1. Performance Boost: Vulkan has better performance for most users

  2. Linux Compatibility: Unlike DirectX for Windows, Vulkan serves as a standard Linux graphics API. Converting DirectX10/11 to Vulkan (using DXVK) worked for YimMenu, but not for RDR2 due to crashes when using DirectX12

  3. User Empowerment: Vulkan offers freedom for users to select graphics tech, enhancing personalization. Some exclusively use Vulkan due to errors (SteamDeck, also Windows users, see below)

  4. Developer Learning: Learning Vulkan improves developer skills and knowledge.

Incorporating Vulkan into HorseMenu will (probably) provide better performance, Linux compatibility, and user satisfaction. With the emergence of SteamDeck, a Linux-based console, support for Linux/SteamDeck is important

[Improvement/Addition] Wanted Levels/Crimes

BOUNTY::_BOUNTY_REQUEST_PAY_OFF_BOUNTY(guid);
-- Pays the bounty price from your wallet, Does not remove currently active police -- Tested/Working
This can replace the current "Clear Crimes" button. It doesn't remove the currently active wanted level but it does pay the bounties off, so if you die or escape the area, you wont have to visit the post clerk to pay them.

"NeverWanted.cpp" addition - add a toggle like the "Godmode" toggle in self options for never wanted.

#include "core/commands/LoopedCommand.hpp"
#include "game/features/Features.hpp"
#include "game/rdr/Natives.hpp"

namespace YimMenu::Features
{
    class NeverWanted : public LoopedCommand
    {
        using LoopedCommand::LoopedCommand;

        virtual void OnTick() override
        {
            // Set the wanted level multiplier to 0 (Never Wanted)
            PLAYER::SET_WANTED_LEVEL_MULTIPLIER(0.0f);
        }

        virtual void OnDisable() override
        {
            // Reset the wanted level multiplier to 1.0f (normal behavior)
            PLAYER::SET_WANTED_LEVEL_MULTIPLIER(1.0f);
        }
    };

    static NeverWanted _NeverWanted{"neverwanted", "Never Wanted", "Toggle Never Wanted mode"};
}

Crashing on injection

Social club install of the game results in this crash on injection repetitively
OS: Windows 10 19045
Resolution: 2560x1440
GPU: RTX 2060
Rendering: Vulkan, DX12 leaves no stacktrace but still crashes
cout sc crash vulkan.log

Block Metrics

I think it would be useful to block these metrics:
"PCSETTINGS",
"CHEAT",
"WEATHER",
"FIRST_VEH",
"HARDWARE_OS",
"HARDWARE_CPU",
"HARDWARE_GPU",
"HARDWARE_MOBO",
"HARDWARE_MEM",
"CASH_CREATED"

I could implement this, and I will if I get some free time.

[Feature] Changing Weather

The first index value is the weather type, this is currently sunny. I tried making a dropdown for it, didnt work out lol

Considered making a new tab under Self called World for this and under the world tab, columns for various things sort of like YimMenu.

ClearWeather.cpp

#include "game/features/Features.hpp"
#include "game/rdr/Enums.hpp"
#include "game/rdr/Natives.hpp"
#include "core/frontend/Notifications.hpp"

namespace YimMenu::Features
{
	class ClearWeather : public Command
	{
		using Command::Command;

		virtual void OnCall() override
		{
			MISC::SET_WEATHER_TYPE(0x614A1F91, 0, 1, 1, 50.0, 0);
			MISC::_SET_OVERRIDE_WEATHER(0x614A1F91);
			Notifications::Show("Weather", "Weather has been set to Sunny.", NotificationType::Warning);
		}
	};

	static ClearWeather _ClearWeather{"clearweather", "Sunny Skies", "Changes the weather to Sunny."};
}

crash when catching unwanted dependency

[22:53:27.2553484][INFO/QueueDependency.cpp:52] Caught unwanted dependency: RDR2.exe+27F3254

This is all I got, there was no stack trace, this was also on my modified version, not vanilla horsemenu

Edit: this version was probably packed with themida forgot about that, sorry.

Crash on load

I am loading the menu like normal, on the main branch. and then it just gives this stack trace. I did compile this on my pc, with debug mode on, but as I said it was a fresh branch.
stacktrace.txt

[request] Model Changer

I know how to make a model changer I just don't know the bypass, so when you get kicked when you're changing your model if anyone know what it is that would be great.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.