About this mod
A working ScriptHook for the latest game patch. Build 1491.50
Featuring a modern native user interface to smartly manage your Scripts
- Requirements
- Permissions and credits
- Changelogs
The purpose of this project is to provide an alternative to Alexander Blade's ScriptHookRDR2 while maintaining the same API architecture and adding more features to it.
There is a bug in the current version of Alexander Blade's ScriptHookRDR2 that causes the game pools to reset in cities with a high number of objects and pedestrians. This issue is not present in ScriptHookRDR2 V2.
In addition, V2 includes a modern native UI that allows you to manage your mods individually and add new ones without the need to restart the game.
I am planning on posting all kinds of mod development and research on RAGE.
Patreon
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);
Enjoy!