1472-1651185016-1160113647
1472-1711021717-1990642378

# ScriptHookRDR2 V2
本项目旨在提供 Alexander Blade 版 ScriptHookRDR2 的替代方案,同时保持一致的 API 架构并新增更多功能。

Alexander Blade 版 ScriptHookRDR2 的当前版本存在一个漏洞:在包含大量物体和行人的城市中,游戏对象池会发生重置。此问题在 ScriptHookRDR2 V2 中已修复。

此外,V2 版本搭载现代化界面,支持单独管理各个 MOD,且无需重启游戏即可添加新 MOD。

若你想支持我的开发工作,欢迎成为我的赞助人(完全自愿,量力而行):
我计划分享各类关于 RAGE 引擎的 MOD 开发及研究内容。
赞助平台(Patreon)

## 安装步骤:
1. 下载 MOD 加载器和 ScriptHookRDR2 V2 文件(两个文件均需下载)。
2. 解压两个文件,将 dinput8.dll 和 ScriptHookRDR2.dll 复制到你的《荒野大镖客2》游戏目录(即 RDR2.exe 所在目录)。
3. 启动游戏即可!

## 鸣谢:
感谢 Alexander Blade 开发的基础 API。

请务必下载 2.0 版本,该版本已修复所有已知漏洞!

## 新增功能:
如需使用以下导出函数,请在你的项目中链接提供的库文件!

### 1. 原生命令:DRAW_LINE(绘制线条)
使用方法:
将以下代码添加到你的 natives.h 文件中:
void DRAW_LINE(float fromX, float fromY, float fromZ, float toX, float toY, float toZ, int r, int g, int b, int a) { invoke(0xec2ab68b,fromX,fromY, fromZ, toX, toY, toZ, r, g, b, a); } // 0xec2ab68b

### 2. 原生命令:SET_TEXT_FONT(设置文本字体)
使用方法:
将以下代码添加到你的 natives.h 文件中:
void SET_TEXT_FONT(int fontType) { invoke(0x3EDE2F10, fontType); } // 0x3EDE2F10

### 3. 原生命令:SET_TEXT_JUSTIFICATION(设置文本对齐方式)
使用方法:
/* 0=居中, 1=左对齐, 2=右对齐 */
将以下代码添加到你的 natives.h 文件中:
void SET_TEXT_JUSTIFICATION(int justifyType) { invoke(0x1B929974, justifyType); } // 0x1B929974

### 4. 导出函数:getStaticPtr(获取静态指针,在反编译脚本中称为“本地变量”Locals)
将以下代码添加到你的 main.h 文件中:
DLL_IMPORT uint64_t* getStaticPtr(const char* scriptName, int staticIndex);

使用示例:
uint64_t* static = getStaticPtr(“script_name”, 12345);
LOG(*static); // 读取值
*static = 0xCOFFEEBABE; // 写入值

### 5. 导出函数:switchLabel(替换游戏文本标签,支持在输入框中显示自定义文本)
将以下代码添加到你的 main.h 文件中:
DLL_IMPORT void switchLabel(const char* oldLabel, const char* newLabel);

### 6. 导出函数:getCommandFromHash(根据哈希值获取命令指针)
将以下代码添加到你的 main.h 文件中:
DLL_IMPORT void* getCommandFromHash(uint64_t hash);

祝你使用愉快!

版本更新内容

最新 2.0 2024-09-20 00:51

修复了窗口调整大小时界面无法工作的问题(VULKAN 和 DX12)

修复了部分用户Vulkan和DX12无法工作的问题

修复了在Vulkan运行时窗口调整大小时按键绑定失效的问题

修复了重新加载模组时崩溃的问题

修复了重新加载存档时无限黑屏的问题

将.asi模组的最大数量限制从60扩展到400(AB版本为60)

添加了配置功能

添加了配置编辑器

添加了Lua脚本引擎

性能提升10%(与旧版本和AB版本相比平均FPS提升10%)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。