FB' 发表于 2020-1-27 14:20

游戏本体升级,SKSE插件都失效?无需编程基础,自己动手升级

本帖最后由 FB' 于 2020-1-28 11:56 编辑

写在前面:不知道是否有人和我一样,经常被B社时不时地更新恶心到,对我这种不玩creation club的玩家来说,b社的更新既不能修复游戏bug,又会导致skse插件失效,完全没有任何意义。除了关闭游戏自动更新最好就是等作者自己更新插件了,但是很多作者由于时间关系并不能保证及时更新,还有些作者基本就是把源码公开放任不管了23333,这时我们就只能自行编译或向其它的热心网友伸手了。这篇文章就是教你如何自己动手升级skse插件的,不需要你有任何编程的能力。当然我还是建议等作者自己更新,首先作者可能在新版本修复一些bug,其次编译插件可能需要很多库,在添加这些库时可能就会出现一些引用错误或不兼容的情况,这对于不熟悉C++的人来说是不太好解决的。

1. 安装VS
这里推荐安装vs2019社区版,直接去官网下载就好了:
https://visualstudio.microsoft.com/zh-hans/vs/      
安装过程就省略了,现在安装vs已经很简单了,如果实在不会可以在网上搜一下安装教程,记得安装C++开发环境,因为skse插件是C++写的:

https://s2.ax1x.com/2020/01/26/1ni3sx.png


2. 下载最新版本的SKSE64:
http://skse.silverlock.org/
这个网址大家应该都不陌生吧,把下载完成后的文件解压出来,这个文件夹就是我们的工程目录了。


3. 环境搭建
运行vs2019,打开项目或解决方案,选中刚刚解压出的文件夹中的src\skse64\skse64.sln,若弹出代码管理提示,选择永久移除:
https://s2.ax1x.com/2020/01/26/1ni1Q1.png

https://s2.ax1x.com/2020/01/26/1niQzR.png

https://s2.ax1x.com/2020/01/26/1niKJJ.png

若提示重定向项目,点击确定,所有项目将升级到最新版本:

https://s2.ax1x.com/2020/01/26/1niMW9.png

取消所有项目的生成后事件:

https://s2.ax1x.com/2020/01/26/1ni8L6.png

https://s2.ax1x.com/2020/01/26/1niJeK.png

把skse64项目设置为生成静态库:

https://s2.ax1x.com/2020/01/26/1nitoD.png


4. 编译插件
在mod作者提供的网址下载插件源码,一般为github,这里以目标锁定mod:himika's lock on为例,点击跳转至作者提供的源码地址:

https://s2.ax1x.com/2020/01/26/1niaJH.png

在页面的最底部一般会有作者的说明,编译的步骤以及需要用到哪些库之类的,这里作者没有提到第三方库,所以只需要skse64就足够了:

https://s2.ax1x.com/2020/01/26/1ni0SA.png

点击下载源码:

https://s2.ax1x.com/2020/01/26/1niBQI.png

解压后删除文件夹末尾的”-master”,这串是直接下载压缩包自动加上的,用git克隆工程就没有。有些工程的引用指定了路径,如果文件夹名称错误可能会出现找不到引用的情况:

https://s2.ax1x.com/2020/01/26/1niDyt.png

移动解压出的文件夹到skse64工程目录,即src\skse64\skse64.sln所在目录,然后添加项目到工程中:

https://s2.ax1x.com/2020/01/26/1nirOP.png

选中要添加的项目:

https://s2.ax1x.com/2020/01/26/1niyef.png

升级添加的项目:

https://s2.ax1x.com/2020/01/26/1ni6w8.png

插件一般会在入口处检测skse64的版本,若与skse64不匹配,就会报错,所以需要在入口处改变检测版本号至当前使用的插件版本(本文章为2.0.17,对应游戏 1.5.97),在此项目中找到入口:main.cpp

https://s2.ax1x.com/2020/01/26/1nicTS.png

生成项目:

https://s2.ax1x.com/2020/01/26/1niRYQ.png

生成成功后,在\src\skse64\x64\Debug中即可找到刚刚生成的dll,不过此时是debug版的,在运行时一般会生成很多log用来调试,因为我们刚刚生成配置选择的是debug

https://s2.ax1x.com/2020/01/26/1niWWj.png

若进游戏测试成功后就可以编译release版的插件了(当然也可以直接编译release版),在生成配置中选择release,生成项目,然后在\src\skse64\x64\Release中即可找到对应的dll:

https://s2.ax1x.com/2020/01/26/1nihSs.png

上图的dll就是最终生成的插件。

页: [1]
查看完整版本: 游戏本体升级,SKSE插件都失效?无需编程基础,自己动手升级