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

注册 登录

QQ登录

只需一步,快速开始

查看: 108885|回复: 36

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

  [复制链接]

324

主题

2万

帖子

23万

积分

3DM Mod组 组长

mod.3dmgame.com

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

贡献度
778
金元
2288189
积分
231991
精华
6
注册时间
2013-3-5

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:



现此贴不设回复可见,用于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、↑、↓ 键就可以实现我们要的功能了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

3

查看全部评分

回复

使用道具 举报

445

主题

2917

帖子

24万

积分

萝莉爱好者

Rank: 12Rank: 12Rank: 12

贡献度
1619
金元
2423038
积分
248780
精华
0
注册时间
2008-6-14

3DM MOD站(白银)Mod站荣誉勋章吾皇万睡

发表于 2019-11-23 10:44 | 显示全部楼层
本帖最后由 doya520 于 2019-11-23 11:48 编辑

回复 支持 反对

使用道具 举报

42

主题

2526

帖子

4327

积分

游戏精英

Rank: 8Rank: 8

贡献度
338
金元
29652
积分
4327
精华
1
注册时间
2007-12-3
发表于 2019-11-23 13:19 | 显示全部楼层
不知道能不能开发,所有动物三星,所有赌博游戏筹码无上限,这类功能。
回复 支持 反对

使用道具 举报

4

主题

1236

帖子

1182

积分

游戏狂人

Rank: 6Rank: 6

贡献度
3
金元
11704
积分
1182
精华
0
注册时间
2013-4-25
发表于 2019-11-23 13:55 | 显示全部楼层
这教学贴真是强,不过我看的云里雾里的,没有这个天赋呀!
回复 支持 反对

使用道具 举报

128

主题

3565

帖子

3554

积分

游戏精英

Rank: 8Rank: 8

贡献度
256
金元
25201
积分
3554
精华
1
注册时间
2011-2-17
发表于 2019-11-23 14:13 | 显示全部楼层
那个大佬干嘛不直接做个成品出来,而是做成一个库,还要写代码调用。。。
回复 支持 1 反对 0

使用道具 举报

7

主题

1253

帖子

2573

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
99
金元
21770
积分
2573
精华
0
注册时间
2017-3-1

3DM MOD站(白银)

QQ
发表于 2019-11-23 14:23 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

324

主题

2万

帖子

23万

积分

3DM Mod组 组长

mod.3dmgame.com

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

贡献度
778
金元
2288189
积分
231991
精华
6
注册时间
2013-3-5

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

 楼主| 发表于 2019-11-23 14:30 | 显示全部楼层
悟叶随风 发表于 2019-11-23 14:13
那个大佬干嘛不直接做个成品出来,而是做成一个库,还要写代码调用。。。 ...

人家做了个成品,就是 NT修改器
回复 支持 反对

使用道具 举报

58

主题

2419

帖子

2731

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
21
金元
26471
积分
2731
精华
0
注册时间
2019-2-19
发表于 2019-11-23 20:42 | 显示全部楼层
可以改时间了? 不错报吗
回复 支持 反对

使用道具 举报

9

主题

1464

帖子

1585

积分

游戏狂人

Rank: 6Rank: 6

贡献度
2
金元
15765
积分
1585
精华
0
注册时间
2012-8-28
发表于 2019-11-24 06:03 | 显示全部楼层
666666666666666666666666666666666
回复 支持 反对

使用道具 举报

194

主题

2165

帖子

3230

积分

游戏达人

让我猜猜,你的甜甜圈被偷了

Rank: 7Rank: 7Rank: 7

贡献度
284
金元
20939
积分
3230
精华
0
注册时间
2009-7-6
发表于 2019-11-26 16:35 | 显示全部楼层
好东西啊   回去研究研究 好久没碰VS了
回复 支持 反对

使用道具 举报

1

主题

60

帖子

126

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1262
积分
126
精华
0
注册时间
2017-8-14
发表于 2019-11-26 18:33 | 显示全部楼层
感谢大佬教学!!!!!!
回复 支持 反对

使用道具 举报

93

主题

3万

帖子

5万

积分

游戏圣者

Rank: 12Rank: 12Rank: 12

贡献度
135
金元
510256
积分
51566
精华
0
注册时间
2015-12-17

3DMer

发表于 2019-11-27 11:12 | 显示全部楼层
。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

0

主题

283

帖子

440

积分

高级玩家

Rank: 4

贡献度
0
金元
4403
积分
440
精华
0
注册时间
2015-3-7
发表于 2019-11-29 01:27 | 显示全部楼层
厉害啊,必须支持。。。
回复 支持 反对

使用道具 举报

6

主题

972

帖子

1663

积分

游戏狂人

Rank: 6Rank: 6

贡献度
72
金元
13749
积分
1663
精华
0
注册时间
2015-2-20
发表于 2019-12-13 17:05 | 显示全部楼层
之前那个LST好像是有个所有动物皮毛三星的,但是我更想要扑克拿到自己想要的牌之类的mod,不知道能不能实现
回复 支持 反对

使用道具 举报

0

主题

45

帖子

45

积分

初级玩家

Rank: 2

贡献度
0
金元
450
积分
45
精华
0
注册时间
2019-11-27
发表于 2019-12-13 17:05 | 显示全部楼层
关注一下!!
回复 支持 反对

使用道具 举报

4

主题

496

帖子

681

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6813
积分
681
精华
0
注册时间
2015-6-24
发表于 2019-12-29 08:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

36

主题

1192

帖子

1166

积分

游戏狂人

Rank: 6Rank: 6

贡献度
43
金元
9942
积分
1166
精华
0
注册时间
2009-5-4
发表于 2019-12-31 16:01 | 显示全部楼层
期待老大做出来一个完美皮的mod
回复 支持 反对

使用道具 举报

6

主题

185

帖子

275

积分

高级玩家

Rank: 4

贡献度
1
金元
2705
积分
275
精华
0
注册时间
2010-2-20
发表于 2020-1-4 10:54 | 显示全部楼层
说出来你可能不信,我竟然在3DM学编程????
回复 支持 反对

使用道具 举报

122

主题

4296

帖子

3317

积分

游戏达人

幽小

Rank: 7Rank: 7Rank: 7

贡献度
37
金元
31694
积分
3317
精华
0
注册时间
2006-11-29

你开心就好[永久版]

QQ
发表于 2020-1-21 12:47 | 显示全部楼层
这个有点厉害了....
回复 支持 反对

使用道具 举报

12

主题

365

帖子

337

积分

高级玩家

Rank: 4

贡献度
5
金元
3167
积分
337
精华
0
注册时间
2012-1-23
发表于 2020-1-24 19:57 | 显示全部楼层
硬核教程
回复 支持 反对

使用道具 举报

59

主题

3786

帖子

4014

积分

游戏精英

喵帕斯

Rank: 8Rank: 8

贡献度
410
金元
23743
积分
4014
精华
0
注册时间
2008-6-29
发表于 2020-1-28 22:36 | 显示全部楼层
这个好~寓教于乐,玩游戏还能学到东西,建议加大力度
回复 支持 反对

使用道具 举报

1

主题

254

帖子

361

积分

高级玩家

Rank: 4

贡献度
0
金元
3614
积分
361
精华
0
注册时间
2012-9-17
发表于 2020-1-29 12:49 | 显示全部楼层
牛批 mod会越来越多的
回复 支持 反对

使用道具 举报

70

主题

709

帖子

849

积分

超级玩家

Rank: 5Rank: 5

贡献度
49
金元
6527
积分
849
精华
0
注册时间
2012-5-24
发表于 2020-2-7 23:11 | 显示全部楼层
touch 发表于 2019-11-23 13:19
不知道能不能开发,所有动物三星,所有赌博游戏筹码无上限,这类功能。

得hook插件里有 没有的话也没有用

回复 支持 反对

使用道具 举报

1

主题

68

帖子

133

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1330
积分
133
精华
0
注册时间
2013-10-15
发表于 2020-2-24 21:02 | 显示全部楼层
这是类似于修改器呀,大佬能不能教下怎么人物模型之类的
回复 支持 反对

使用道具 举报

0

主题

52

帖子

237

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2374
积分
237
精华
0
注册时间
2016-7-27
发表于 2020-11-22 16:57 | 显示全部楼层
怎么指定目标???
回复 支持 反对

使用道具 举报

18

主题

1万

帖子

5万

积分

游戏圣者

Trainer Tester

Rank: 12Rank: 12Rank: 12

贡献度
355
金元
513293
积分
52769
精华
2
注册时间
2009-7-6

玛丽·萝丝~端午节专属勋章3DM MOD站(白银)

发表于 2020-12-7 23:03 | 显示全部楼层
看看哦。。。
回复 支持 反对

使用道具 举报

56

主题

1345

帖子

1410

积分

游戏狂人

Rank: 6Rank: 6

贡献度
29
金元
12939
积分
1410
精华
0
注册时间
2010-3-20
QQ
发表于 2020-12-21 21:10 | 显示全部楼层
为什么用C#?
因为Unity也用C#啊··············
回复 支持 反对

使用道具 举报

0

主题

50

帖子

66

积分

初级玩家

Rank: 2

贡献度
0
金元
664
积分
66
精华
0
注册时间
2018-8-8
发表于 2021-1-27 08:08 | 显示全部楼层
666666666666666
回复 支持 反对

使用道具 举报

0

主题

28

帖子

89

积分

初级玩家

Rank: 2

贡献度
0
金元
885
积分
89
精华
0
注册时间
2013-2-6
发表于 2021-3-31 14:56 | 显示全部楼层
额。。。只是监听下键盘调用了下SDK的函数吗
回复 支持 反对

使用道具 举报

0

主题

28

帖子

89

积分

初级玩家

Rank: 2

贡献度
0
金元
885
积分
89
精华
0
注册时间
2013-2-6
发表于 2021-3-31 15:31 | 显示全部楼层
有没有函数所需参数的文档,我去NativeDB里看了只有函数名说明 没有参数说明- -
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-15 02:22 , Processed in 0.154683 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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