【教程】SMAPI功能类mod制作入门
星露谷物语吧
全部回复
仅看楼主
level 12
(禁止不署名、无授权的转载)
参考资料:https://stardewvalleywiki.com/Modding:Modder_Guide
这篇文章会一步一步教你制作一个最简单的基于SMAPI的功能类mod。
这篇文章不是SMAPI安装教程,传送门:
https://tieba.baidu.com/p/5702079944
这篇文章不是制作替换类mod的教程,替换类mod只需会打包解包Content即可——当然,如果你愿意,你也可以把替换类mod做成用SMAPI加载的mod,令其安装/卸除操作变得更方便,不再需要手动替换文件/检查文件完整性,不过此处不进行介绍,仅推荐工具。
【解包/打包XNB文件】
XNB Extract 0.2.2(基于XNBNode)
或者
xnbcli
百度搜索常见的工具是前者,但这个工具在打包中文时出现丢失数据的问题,如果编辑文字的话不推荐使用。
后者可以在github搜索下载。
【编辑图片】
paint.NET(windows)
GIMP(Linux/Mac)
(或者用其他你喜欢的工具也行)
2018年06月18日 10点06分 1
level 12
二楼备用
2018年06月18日 10点06分 2
[无效] [SMAPI]功能类mod教程附件
2018年06月18日 10点06分
密码:r03m
2018年06月18日 14点06分
【作者】Pathoschild 【翻译】戳破你个荷包蛋 【图解】翼莉娜
2018年06月18日 15点06分
level 12

技能基础:
0. 作为玩家能够熟练使用基于SMAPI的mod
1. 足以看懂程序里出现的单词的英语能力
2. 拥有编程基础可以降低学习难度:
C#——畅通无阻;
C/C++/java等——很有用但需要一定的转化能力;
零基础——仍然可以尝试这个入门教程,但后续的制作建议先学习编程语言。
很多mod制作者一开始都没什么编程基础,但只要有决心仍然可以从零开始。
如果你想走得更远,编程是绕不开的坎,没有基础注定面临更大的学习难度。
不要一开始就把目标定得太大、试图制作功能强大的mod,这样很容易陷入困境导致放弃。
从简单的mod做起,循序渐进。
这篇文章不负责编程教学,不负责解决编程过程中遇到的问题。
(事实上,教程中的主要内容是 创建文件、修改设置 等基本的软件使用方法,其中涉及的程序只需要复制粘贴,只要不乱改内容不会有问题)。
2018年06月18日 10点06分 3
c# 畅行无阻吗
2018年07月09日 00点07分
2018年07月09日 09点07分
level 12

准备工具:
0. 安装正版星露谷物语,正式版或测试版都可以,但要
保证版本最新
1. 根据游戏版本,安装
对应且最新的SMAPI
2. 根据系统安装IDE(集成开发环境),
安装时请勾选“.NET 桌面开发”以及“ASP.NET 和 Web 开发”
Linux:MonoDevelop
Mac:Visual Studio 2017 for Mac(本质上是MonoDevelop)
Windows:Visual Studio 2017 Community
2018年06月19日 08点06分 17
level 12

基于SMAPI的mod实质上是一个已编译的库文件(DLL),通过entry方法被SMAPI调用,所以让我们从这里入手。
接下来的内容会教你制作一个最简单的教学mod,
制作这个mod不需要编程基础,只需简单的十步。
教学mod实现的功能:
当你读取存档后,在游戏中按下任意一个键,SMAPI会捕捉你的按键操作,并在控制台显示一行信息作为响应——功能虽小,却是各种复杂功能的基础。
2018年06月19日 08点06分 18
level 12

零、请不要在以下任何步骤输入中文,除非你很清楚自己在做什么、会导致什么结果
[灯泡][灯泡][灯泡]
2018年06月19日 08点06分 19
level 12

一、打开你的IDE
2018年06月19日 08点06分 20
level 12

二、创建一个解决方案,其中包含.NET Framework类库的项目
1. 点击 文件 -> 新建 -> 项目
2. 在“新建项目”窗口,选择 Visual C# -> 类库(.NET Framework)
3. 给你的mod起名。
按照惯例,名字应该是一个
英文组合词,其中
单词首字母大写,形如:PineapplesEverywhere
4. 确保
勾选“在解决方案目录内创建项目目录”,点击“确定”
2018年06月19日 08点06分 21
4. 确保勾选“为解决方案创建目录”,点击“确定”
2018年06月19日 09点06分
@戳破你个荷包蛋 你第二步的那个界面 为什么我就一个选项,只有一个wpf应用
2018年07月28日 13点07分
@🍭搁浅🍭 17楼注意如图勾选安装项目
2018年07月28日 15点07分
level 12

三、把目标框架设置为 .NET Framework 4.5,从而确保Linux系统的兼容性
0. 如果界面中没有显示“解决方案资源管理器”,点击 视图 -> 解决方案资源管理器
1. 在“解决方案资源管理器”中,右键
你的项目(注意看图,不要点错),点击“属性”
2. 在“应用程序”选项卡上,将“目标框架”设置为 .NET Framework 4.5
3. 如果弹出对话框让你确认改动,点击“是”
2018年06月19日 09点06分 22
同问
2025年03月31日 06点03分
您好,由于游戏更新,大改1.6版本,也能跟着教程继续做吗?谢谢
2024年07月03日 17点07分
level 12

四、引用NuGet包
1. 点击 工具 -> NuGet包管理器 -> 管理解决方案的NuGet程序包
2. 在“浏览”选项卡上,输入Stardew搜索,
【如果想制作适用于v1.3beta版游戏的mod,需要勾选“包括预发行版”】
选择如下的包
Pathoschild.Stardew.ModBuildConfig NuGet package
版本默认即可,以实际显示为准
3. 在面板右侧,勾选你的项目,点击“安装”
4. 如果弹出对话框让你确认改动,点击“是”
2018年06月19日 09点06分 25
level 12

五、关闭、重新打开你的IDE
[灯泡][灯泡][灯泡]
2018年06月19日 09点06分 26
level 12

六、删除不必要的文件
1. 打开刚才创建的解决方案
2. 在“解决方案资源管理器”中,展开你的项目,右键Class1.cs 或 MyClass.cs 这个文件,删除
2018年06月19日 09点06分 27
level 12

七、在你的项目中添加ModEntry.cs文件
1. 在“解决方案资源管理器”中,右键你的项目,点击 添加 -> 新建项
2. 在“添加新项”窗口,选择Visual C# 项-> 类
3. 命名为ModEntry.cs,
注意大小写要完全一致,点击“添加”
4. 在“解决方案资源管理器”中,双击ModEntry.cs打开文件,删除原有内容,复制粘贴 [SMAPI]功能类mod教程附件 -> ModEntry.txt 里面的代码
注意把YourProjectName改成你的项目名(此处是PineapplesEverywhere,
实际按你在第二步中起的名字为准),保存
2018年06月19日 09点06分 31
level 12

八、在你的项目中添加manifest.json文件
1. 在“解决方案资源管理器”中,右键你的项目,点击 添加 -> 新建项
2. 在“添加新项”窗口,选择Web -> JSON文件
3. 命名为manifest.json,
注意大小写要完全一致,点击添加
4. 在“解决方案资源管理器”中,双击manifest.json打开文件,删除原有内容,复制粘贴 [SMAPI]功能类mod教程附件 -> manifest.txt 里面的代码
注意把
所有的<your project name>改成你的项目名(
共有3处,此处是PineapplesEverywhere,
实际按你在第二步中起的名字为准)、
所有的<your name>改成你的nexus ID名(
共有2处,如果没有就起一个,
注意全英文)
修改时<>不需要保留,其他地方不用更改,保存
(图右选中行多打了一个空格,注意不要犯这样的错误!!!)
2018年06月19日 10点06分 32
level 12

九、生成mod
在“解决方案资源管理器”中,右键你的项目,点击 “生成”
如果成功,你可以在Mods文件夹看到刚刚做好的mod
如果IDE出现红色报错,删除报错文件,重新进行第七步/第八步
2018年06月19日 10点06分 33
1 2 3 尾页