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

注册 登录

QQ登录

只需一步,快速开始

楼主: c4sunyx
打印 上一主题 下一主题

[原创] 【04.28更新】直接读取外部文件的方法,附杂项魔改插件(难度锁定,解锁视角,战斗经验,去除随机,半即时制,自定开局)

  [复制链接]

10

主题

359

帖子

996

积分

超级玩家

Rank: 5Rank: 5

贡献度
104
金元
5696
积分
996
精华
1
注册时间
2010-3-23

3DM MOD站(白银)

跳转到指定楼层
主题
发表于 2020-5-14 12:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 c4sunyx 于 2021-4-28 19:32 编辑

使用方法:将dll改名为Assembly-CSharp.dll,放在steam\steamapp\common\PathOfWuxia\PathOfWuxia_Data\Managed\下面替换官方版本(原版记得备份)
然后手动修改游戏文件路径下的Config.json文件,将ExternalDirectory设为你要玩的Mod路径即可
例如"ExternalDirectory":"Mods/<你的Mod名>/",建议路径用英文
然后你的Mod文件夹里面的路径要和AssetBundle里的对应
比如主题曲替换是audio/music/In_theme_01.wav,文本替换是config/textfiles/stringTable.txt,等等
这样这个文件夹下的对应文件就会优先于本体AssetBundle文件读取,如果没有再去找本体

还可以下载多个不同Mod后,用修改Mod路径的方式进行更换
插件更新后,支持方式变更为多个Mod可同时加载,可自行增删

附Harmony插件形式的功能mod,功能不定期添加中,目前除了加载外部文件效果外,还包括如下杂项效果
1.可随时更改难度

2.自定义加速自由场景和战斗(默认F2)
3.视角解锁,包括战斗和自由活动,以及战斗视角跟随方式等
4.可在战斗中使用招式时获得招式经验,并可突破10级上限(只限战斗经验)
5.随机事件设定(可选择贴吧水友zhzzdhd的小概率必发生方式,以及自设随机数的方式

6.血条直接显示角色的五行、姓名;修炼时显示需要多少点数可一次练满到10级
7.添加半即时制战斗模式,类似金庸群侠传系列,灵巧排序
8.新建角色时可自定属性和特性点数,并可自定义模型和头像
9.装备锻造重铸功能(锻造菜单中按对应键切换)
10.可装备多个饰品
11.可自行配置语音,包括战斗语音和剧情语音
12.自定义调整队伍人数
13.战斗中切换姿势
14.可开启自动战斗
链接1 http://pathofwuxia.ys168.com/  
链接2 https://github.com/Binarizer/Plugin-Pow/releases
* 所有功能均可开关可调节,以增强且不影响原版游戏体验为原则
* 所有功能均可开关可调节,以增强且不影响原版游戏体验为原则
* 所有功能均可开关可调节,以增强且不影响原版游戏体验为原则

游戏中按F1设置


下面是思路和修改方法
Unity游戏加载是实现DataProvider来弄的,引擎推荐用的都是打包好的AssetBundle,但很多游戏也有读外部(External)媒体文件的需求
河洛做了4个Provider,其中在AssetBundle之前还有2个,其中有一个就叫ExternalResourceProvider,并且已经写好了不少逻辑
但是其发布版路径设为空了,这样我们只要将其设定为你的Mod路径,就可以正常工作了。
找到类Heluo.GameConfig,添加成员变量
[JsonProperty]
public static string ExternalDirectory = string.Empty;

为避免每次覆盖设置,找到类Heluo.UI.ConfigData,添加成员变量
public string ExternalDirectory;
然后找到CtrlOption.StoreSetting()函数,在写设置之前加入
                        configData.ExternalDirectory = GameConfig.ExternalDirectory;
                        string text = JsonUtility.ToJson(configData);
                        File.WriteAllText(GameConfig.ConfigName, text);
最后找到Heluo.Resource.ExternalResourceProvider
改掉构造函数
        public ExternalResourceProvider(ICoroutineRunner runner, IModManager mod) : base(runner)
        
{
            
this.modManager = mod;
            
this.ExternalDirectory = ((mod != null) ? mod.GetCurrentModInfo().FolderPath : null);
            this.ExternalDirectory = ((GameConfig.Mod.ExternalDirectory != string.Empty) ? GameConfig.Mod.ExternalDirectory : this.ExternalDirectory);
            
string text = this.ExternalDirectory + "/Config.zip";
            
if (File.Exists(text))
            
{
               
this.zip = ZipFile.Read(text);
               
this.allEntry = this.zip.ToDictionary((ZipEntry x) => x.FileName.ToLower(), (ZipEntry x) => x);
            
}
        
}
*实际上直接将此路径硬编码为你的Mod相对/绝对路径也是可以的,但是我还是希望游戏能通过配置文件来修改不同Mod路径来支持多个Mod。按以上这样修改可以放很多mod互不冲突,在Config.json中改Mod路径就可以随时换Mod了,有心者还能在游戏里弄个菜单来换
我们可以看到这个类本身已经写好了对外部文本和图片的读取逻辑,但是其他类型都不支持直接返回Default<T>了,所以要支持其他种类需要自己写加载逻辑
看到贴吧很多老哥喜欢换战斗音乐,所以我就去网上搜了下怎么加载音乐,如下所示加上就好了,代码很糙但是It Just Works就好,毕竟我也不是专业搞Unity的
找到Load()函数添加如下红色部分
                                else if (typeFromHandle == typeof(Texture2D) || typeFromHandle == typeof(Sprite))
                                {
                                        byte[] data = File.ReadAllBytes(path2);
                                        Texture2D texture2D = new Texture2D(2, 2);
                                        texture2D.LoadImage(data);
                                        if (typeFromHandle == typeof(Sprite))
                                        {
                                                result = (Sprite.Create(texture2D, new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height), new Vector2((float)(texture2D.width / 2), (float)(texture2D.height / 2))) as T);
                                        }
                                        else
                                        {
                                                result = (texture2D as T);
                                        }
                                }
                                else if (typeFromHandle == typeof(AudioClip))
                                {
                                        string path3 = Path.GetFullPath(path2);
                                        WWW www = new WWW(path3);
                                        if (www.error != null)
                                        {
                                                Debug.LogError("www " + www.error);
                                                return default(T);
                                        }
                                        while (!www.isDone)
                                        {
                                        }
                                        AudioClip audioClip = www.GetAudioClip();
                                        if (audioClip == null)
                                        {
                                                Debug.LogError("Failed!! file://" + path3);
                                                return default(T);
                                        }
                                        audioClip.LoadAudioData();
                                        return audioClip as T;
                                }

                                else
                                {
                                        result = default(T);
                                }





评分

4

查看全部评分

回复

使用道具 举报

0

主题

48

帖子

110

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1096
积分
110
精华
0
注册时间
2016-10-28
舒服的沙发
发表于 2021-2-1 13:28 | 只看该作者
第二年出了,等大佬更新
回复 支持 反对

使用道具 举报

1

主题

293

帖子

474

积分

高级玩家

Rank: 4

贡献度
0
金元
4735
积分
474
精华
0
注册时间
2016-5-4
硬硬的板凳
发表于 2021-2-2 09:18 | 只看该作者
1111111111
回复 支持 反对

使用道具 举报

0

主题

59

帖子

132

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1315
积分
132
精华
0
注册时间
2012-8-23
冰凉的地板
发表于 2021-2-2 14:02 | 只看该作者
好像新更新后不能用了,不能触发必然随机事件
回复 支持 反对

使用道具 举报

0

主题

59

帖子

132

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1315
积分
132
精华
0
注册时间
2012-8-23
5#
发表于 2021-2-2 14:20 | 只看该作者
走近你 发表于 2021-2-2 14:02
好像新更新后不能用了,不能触发必然随机事件

可以用的,文本要自己改,感谢大佬
回复 支持 反对

使用道具 举报

0

主题

354

帖子

455

积分

高级玩家

Rank: 4

贡献度
0
金元
4545
积分
455
精华
0
注册时间
2013-7-7
6#
发表于 2021-2-5 14:29 | 只看该作者
牛逼嗷,这个视角是真的难受
回复 支持 反对

使用道具 举报

0

主题

47

帖子

104

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1035
积分
104
精华
0
注册时间
2014-7-18
7#
发表于 2021-2-11 17:10 | 只看该作者
楼主,二周目似乎不能用你的DLL,新建人物没有属性点可加了,特技点也变为了1
回复 支持 反对

使用道具 举报

0

主题

351

帖子

667

积分

超级玩家

Rank: 5Rank: 5

贡献度
20
金元
5865
积分
667
精华
0
注册时间
2011-9-19
8#
发表于 2021-2-11 23:23 | 只看该作者
太感谢了
回复 支持 反对

使用道具 举报

0

主题

59

帖子

132

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1315
积分
132
精华
0
注册时间
2012-8-23
9#
发表于 2021-2-20 10:52 | 只看该作者
亲更新后有bug了,建议改下。
回复 支持 反对

使用道具 举报

0

主题

44

帖子

49

积分

初级玩家

Rank: 2

贡献度
0
金元
485
积分
49
精华
0
注册时间
2019-2-3
10#
发表于 2021-3-13 22:15 | 只看该作者
谢谢楼主分享,下来试试,sl到要吐了
回复 支持 反对

使用道具 举报

7

主题

329

帖子

332

积分

高级玩家

Rank: 4

贡献度
6
金元
3079
积分
332
精华
0
注册时间
2011-7-23
11#
发表于 2021-3-23 10:27 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

6

主题

605

帖子

547

积分

高级玩家

Rank: 4

贡献度
5
金元
5271
积分
547
精华
0
注册时间
2011-5-20
12#
发表于 2021-3-23 23:35 | 只看该作者
本帖最后由 a745775195 于 2021-3-23 23:42 编辑

感谢大佬 终于用上了!
回复 支持 反对

使用道具 举报

2

主题

103

帖子

135

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1354
积分
135
精华
0
注册时间
2019-3-12
13#
发表于 2021-3-31 12:52 | 只看该作者
请问功能mod放在哪个文件夹
回复 支持 反对

使用道具 举报

25

主题

367

帖子

1484

积分

3DM Mod站 原创组

Rank: 12Rank: 12Rank: 12

贡献度
205
金元
6644
积分
1484
精华
0
注册时间
2011-7-8
14#
发表于 2021-5-2 08:17 | 只看该作者
多谢大佬,新版本总算能用以前的mod改模型和立绘了
回复 支持 反对

使用道具 举报

10

主题

359

帖子

996

积分

超级玩家

Rank: 5Rank: 5

贡献度
104
金元
5696
积分
996
精华
1
注册时间
2010-3-23

3DM MOD站(白银)

15#
 楼主| 发表于 2021-5-7 17:35 | 只看该作者
geleisisisi 发表于 2021-5-2 08:17
多谢大佬,新版本总算能用以前的mod改模型和立绘了

...从2月新版就一直能用,从没坏过
回复 支持 反对

使用道具 举报

23

主题

1343

帖子

1225

积分

游戏狂人

Rank: 6Rank: 6

贡献度
19
金元
11486
积分
1225
精华
0
注册时间
2009-7-21
16#
发表于 2021-5-10 23:53 | 只看该作者
太强了!!!感谢!!!
回复 支持 反对

使用道具 举报

6

主题

423

帖子

1992

积分

游戏狂人

Rank: 6Rank: 6

贡献度
0
金元
19917
积分
1992
精华
0
注册时间
2018-3-2
17#
发表于 2021-6-4 22:16 | 只看该作者
大佬!!!!事件概率默认50的选项,100是必定触发,还是1必定触发阿?
回复 支持 反对

使用道具 举报

0

主题

55

帖子

61

积分

初级玩家

Rank: 2

贡献度
0
金元
610
积分
61
精华
0
注册时间
2018-5-5
18#
发表于 2021-6-16 13:04 | 只看该作者
大佬怎么替换主角立绘和头像啊,不会操作
回复 支持 1 反对 0

使用道具 举报

4

主题

603

帖子

2797

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
1
金元
27930
积分
2797
精华
0
注册时间
2018-12-18
19#
发表于 2021-7-15 02:47 | 只看该作者
jsw741258 发表于 2021-6-16 13:04
大佬怎么替换主角立绘和头像啊,不会操作

好像现在这版斗不能用  改了一到换装的时候就又变回去了
回复 支持 反对

使用道具 举报

0

主题

1802

帖子

2114

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
0
金元
21140
积分
2114
精华
0
注册时间
2017-6-6
20#
发表于 2022-4-4 16:21 | 只看该作者
老子玩玩
回复 支持 反对

使用道具 举报

0

主题

488

帖子

566

积分

高级玩家

Rank: 4

贡献度
0
金元
5662
积分
566
精华
0
注册时间
2012-6-28
21#
发表于 2022-4-4 21:37 | 只看该作者
66666666666666666
回复 支持 反对

使用道具 举报

1

主题

47

帖子

118

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1180
积分
118
精华
0
注册时间
2016-1-5
22#
发表于 2022-4-10 02:28 | 只看该作者
老哥贴吧是不是也是你?还更新吗?
回复 支持 反对

使用道具 举报

0

主题

6

帖子

8

积分

新手玩家

Rank: 1

贡献度
0
金元
75
积分
8
精华
0
注册时间
2021-4-3
23#
发表于 2022-4-10 18:37 | 只看该作者
666666666666
回复 支持 反对

使用道具 举报

2

主题

905

帖子

1084

积分

游戏狂人

Rank: 6Rank: 6

贡献度
3
金元
10715
积分
1084
精华
0
注册时间
2010-1-2
24#
发表于 2022-4-17 04:45 | 只看该作者
要重新开档才能玩吗
回复 支持 反对

使用道具 举报

2

主题

103

帖子

135

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1354
积分
135
精华
0
注册时间
2019-3-12
25#
发表于 2024-10-11 18:01 | 只看该作者
大佬,进游戏f1后只有mod路径和音乐路径,其他都没有,咋搞
回复 支持 反对

使用道具 举报

0

主题

73

帖子

95

积分

初级玩家

Rank: 2

贡献度
0
金元
953
积分
95
精华
0
注册时间
2021-11-6
26#
发表于 2024-12-21 07:52 | 只看该作者
感谢分享

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-18 03:17 , Processed in 0.034681 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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