

ScriptHookRDR2 V2 v2.0
ScriptHookRDR2 V2 is an alternative to Alexander Blade’s ScriptHookRDR2 that maintains the same API architecture while adding more features. It includes a modern native user interface for managing scripts and mods.
Features
- Provides an alternative to Alexander Blade’s ScriptHookRDR2 while maintaining the same API architecture.
- Does not have the bug in Alexander Blade’s ScriptHookRDR2 that causes the game pools to reset in cities with a high number of objects and pedestrians.
- Includes a modern interface that allows you to manage mods individually and add new ones without restarting the game.
Specifications
- Game patch: 1491.50
- Version: 2.0
Installation
- Download both the Mod loader and ScriptHookRDR2 V2 file.
- Extract both and copy
dinput8.dllandScriptHookRDR2.dllinto your RDR2 Game Directory, whereRDR2.exeis. - Launch the game.
Make sure to download version 2.0, it fixes all bugs.
Additional features
To use the below listed exports, link the provided library in your project.
1. Native command: DRAW_LINE
How to use:
void DRAW_LINE(float fromX, float fromY, float fromZ, float toX, float toY, float toZ, int r, int g, int b, int a) { invoke<void>(0xec2ab68b,fromX,fromY, fromZ, toX, toY, toZ, r, g, b, a); } // 0xec2ab68b
Add this line to your natives.h file.
2. Native command: SET_TEXT_FONT
How to use:
void SET_TEXT_FONT(int fontType) { invoke<void>(0x3EDE2F10, fontType); } // 0x3EDE2F10
Add this line to your natives.h file.
3. Native command: SET_TEXT_JUSTIFICATION
How to use:
/* 0=Center,1=Left,2=Right */
void SET_TEXT_JUSTIFICATION(int justifyType) { invoke<void>(0x1B929974, justifyType); } // 0x1B929974
Add this line to your natives.h file.
4. Export: getStaticPtr, called Locals in the decompiled scripts
Add this line to your main.h file:
DLL_IMPORT uint64_t* getStaticPtr(const char* scriptName, int staticIndex);
Usage:
uint64_t* static = getStaticPtr("script_name" 12345);
LOG(*static) // to read
*static = 0xCOFFEEBABE // to write
5. Export: switchLabel, switch text labels from the game with your own, this will allow you to provide your custom text in input boxes
Add this line to your main.h file:
DLL_IMPORT void switchLabel(const char* oldLabel, const char* newLabel);
6. Export: getCommandFromHash, returns a pointer to the command of the provided hash
Add this line to your main.h file:
DLL_IMPORT void* getCommandFromHash(uint64_t hash);






