3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 121349|回复: 38
打印 上一主题 下一主题

[MOD] 【Mod开发实例】利用 ScriptHook RDR2.NET 用C#为荒野大镖客2 制作脚本Mod 实现“超级跳”和“修改时间”

  [复制链接]

345

主题

2万

帖子

21万

积分

3DM Mod组 组长

mod.3dmgame.com

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

贡献度
783
金元
2088028
积分
211995
精华
6
注册时间
2013-3-6

Mod站荣誉勋章3DM MOD站(白银)3DM MOD站(黄金)

跳转到指定楼层
主题
发表于 2019-11-23 10:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
[quote]前排小广告:
如果您对游戏Mod的制作感兴趣,并且愿意与广大玩家一起分享快乐,欢迎加入我们的3DM MOD组:https://mod.3dmgame.com/Team

为什么使用C#呢,因为我个人对C++这门语言不是很了解,主要C#接触的比较多,可能是操我作的问题,我用C++写中文,它在游戏里面乱码

然后昨天看到有大佬已经做出了Community ScriptHook RDR2 .NET,于是简单研究了一下,

虽然部分功能上有些限制,但对于我这种编程小白来说,还是能看懂的一点,至少比C++懂。。。

成品:
源码:https://github.com/3DMXM/TestModForNetAtRDR2
生成后的Mod:

TestModForNet.dll (5 KB, 下载次数: 106)

现此贴不设回复可见,用于Mod制作相关问题的讨论


准备工作:
        首先下载Community ScriptHook RDR2 .NET:Mod站GitHub
        Script Hook RDR2 SDK:http://www.dev-c.com/rdr2/scripthookrdr2
        然后下载Visual Studio:https://visualstudio.microsoft.com/zh-hans/
        .NET Framework 4.8或其以上版本:https://dotnet.microsoft.com/download/thank-you/net48-developer-pack
        准备资料 RDR2 NativeDB:https://mod.3dmgame.com/NativeDB | alloc8or.re | rdr2mods.com (均可)

要求:
        Visual Studio版本要求2017或以上版本
        .NET Framework 版本要求4.8或以上版本

新建项目:
        打开Visual Studio,新建项目,选择Visual C# ->类库(NET Framework),框架选择.NET Framework 4.8,名称自定义
        
        右键“引用”,选择“添加引用”,将ScriptHook RDR2 .NET里面的“ScriptHookRDRNetAPI.dll”这个文件引用进来
        
        
        
        
        

        文件引用完成完毕之后,添加几个引用:
       <

        添加进去之后,我们会发现一个报错
        

        是因为我们创建项目的时候没有引用System.Windows.Forms这个东西,我们手动引用一下:        
        

        现在错误就消失了,接下来我们将自带的“Class1”改成“Main : Script”,这样我们就可以直接使用“ScriptHookRDRNetAPI”的函数了,接下来我们在里面开始写代码:
<


        这样,我们的“超级跳”的功能就实现了,接下来我们再来写一个“修改时间”的功能,先在Script Hook RDR2 SDK 的“natives.h”文件中找到修改时间的代码:
       <
        简单说一下:
                “SET_CLOCK_TIME”是设置时间
                “ADD_TO_CLOCK_TIME”是添加时间,传递的全是整数,可正可负
        
        使用ScriptHook RDR2 .NET要修改时间就是
       <
        
        逻辑研究明白之后,我们来想想要怎么操作, 我们就使用键盘的 ↑和↓键来修改时间吧,
        
        我们两个按键,操作的内容是一样的,只有一个值不一样,我们可以将它们写到一个方法里面:
       <

        然后在按键监控的方法OnKeyDown来进行判断是否按下 ↑和↓键:
       <

现在,我们修改时间的功能也已经实现了,将项目生成,


然后,将\bin\Debug\TestModForNet.dll放到游戏目录中的“scripts”文件夹中,没有自己新建一个
别忘了安装原版的ScriptHook RDR2 .NETScript Hook RDR2

进游戏按C、↑、↓ 键就可以实现我们要的功能了


评分

3

查看全部评分

回复

使用道具 举报

0

主题

61

帖子

89

积分

初级玩家

Rank: 2

贡献度
0
金元
889
积分
89
精华
0
注册时间
2018-8-8
舒服的沙发
发表于 2021-1-27 08:08 | 只看该作者
666666666666666
回复 支持 反对

使用道具 举报

1

主题

33

帖子

97

积分

初级玩家

Rank: 2

贡献度
0
金元
970
积分
97
精华
0
注册时间
2013-2-6
硬硬的板凳
发表于 2021-3-31 14:56 | 只看该作者
额。。。只是监听下键盘调用了下SDK的函数吗
回复 支持 反对

使用道具 举报

1

主题

33

帖子

97

积分

初级玩家

Rank: 2

贡献度
0
金元
970
积分
97
精华
0
注册时间
2013-2-6
冰凉的地板
发表于 2021-3-31 15:31 | 只看该作者
有没有函数所需参数的文档,我去NativeDB里看了只有函数名说明 没有参数说明- -
回复 支持 反对

使用道具 举报

1

主题

231

帖子

388

积分

高级玩家

Rank: 4

贡献度
0
金元
3877
积分
388
精华
0
注册时间
2009-11-20
5#
发表于 2021-7-29 09:53 | 只看该作者
膜拜大佬!
回复 支持 反对

使用道具 举报

0

主题

172

帖子

235

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2350
积分
235
精华
0
注册时间
2012-7-13
6#
发表于 2022-1-29 18:26 | 只看该作者
康康康康扩扩扩扩
回复 支持 反对

使用道具 举报

1

主题

95

帖子

617

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6170
积分
617
精华
0
注册时间
2015-10-22
7#
发表于 2022-2-21 09:09 | 只看该作者
虽然看不懂,感觉很牛x
回复 支持 反对

使用道具 举报

504

主题

6106

帖子

4万

积分

勤勤恳恳

Rank: 12Rank: 12Rank: 12

贡献度
3396
金元
283352
积分
41949
精华
3
注册时间
2020-10-13

龙年勋章旧版萌之委员会''永久''元气女仆(永久)你开心就好[永久版]智力-1[永久版]滑稽[永久版]

8#
发表于 2022-12-4 08:43 | 只看该作者
感谢大佬教学
回复 支持 反对

使用道具 举报

3

主题

1万

帖子

1万

积分

骨灰玩家

Rank: 10Rank: 10Rank: 10

贡献度
1
金元
188171
积分
18821
精华
0
注册时间
2016-4-26
9#
发表于 2023-1-8 15:42 | 只看该作者
66666666666666666666
回复 支持 反对

使用道具 举报

0

主题

6

帖子

7

积分

新手玩家

Rank: 1

贡献度
0
金元
70
积分
7
精华
0
注册时间
2023-2-5
10#
发表于 2023-3-7 19:22 | 只看该作者
”Script Hook RDR2 SDK 的‘natives.h’文件“ 。作者提到的这个文件我应该在哪里找?
回复 支持 反对

使用道具 举报

41

主题

2311

帖子

6809

积分

游戏精英

Rank: 8Rank: 8

贡献度
197
金元
60211
积分
6809
精华
0
注册时间
2011-12-10
11#
发表于 2023-6-17 16:13 | 只看该作者
安装了这个 ScriptHook RDR2 .NET 进不了游戏,故事模式loading到最后跳出关闭
回复 支持 反对

使用道具 举报

0

主题

18

帖子

23

积分

新手玩家

Rank: 1

贡献度
0
金元
230
积分
23
精华
0
注册时间
2024-11-13
12#
发表于 2025-1-6 14:57 | 只看该作者
◕小莫◕ 发表于 2019-11-23 14:30
人家做了个成品,就是 NT修改器

大佬你游戏库怎么没有游戏啦?
回复 支持 反对

使用道具 举报

0

主题

441

帖子

499

积分

高级玩家

Rank: 4

贡献度
0
金元
4987
积分
499
精华
0
注册时间
2025-2-14
13#
发表于 2025-2-18 11:13 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-13 17:00 , Processed in 0.035479 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表