更改

跳到导航 跳到搜索
添加68字节 、 2021年11月4日 (四) 18:57
文本替换 - 替换“tt>”为“samp>”
第1行: 第1行:  
 ← [[模组:目录|目录]]
 
 ← [[模组:目录|目录]]
  −
{{翻译}}
      
 想为游戏创建内容包模组吗?教程就在这里。'''有关如何使用模组,请参阅 [[模组:使用指南/入门]]
 
 想为游戏创建内容包模组吗?教程就在这里。'''有关如何使用模组,请参阅 [[模组:使用指南/入门]]
第15行: 第13行:  
* 制作季节性的变化
 
* 制作季节性的变化
 
* 根据天气、日期、与其他 NPC 的关系等进行更改
 
* 根据天气、日期、与其他 NPC 的关系等进行更改
* 进行非常具体的更改(例如,在完 成乔家 超市献祭之后,在下雪的冬天的周末,咖啡价格会更高)
+
* 进行非常具体的更改(例如,在完 成Joja 超市献祭之后,在下雪的冬天的周末,咖啡价格会更高)
 
* 以及更多
 
* 以及更多
    
===资源 Assets===
 
===资源 Assets===
 一个 '''asset''' 本质上是游戏中的 <tt>Content</tt> 文件夹,具有唯一的“资源名称”。 资产名称从不包含 <tt>Content</tt>路径、语言或文件扩展名(可以使用令牌来定位特定的语言)。例如:
+
 一个 '''asset''' 本质上是游戏中的 <samp>Content</samp> 文件夹,具有唯一的“资源名称”。 资产名称从不包含 <samp>Content</samp>路径、语言或文件扩展名(可以使用令牌来定位特定的语言)。例如:
   −
{| class="wikitable"
+
{|class="wikitable"
 
|-
 
|-
 
! 文件
 
! 文件
 
! 资源名称
 
! 资源名称
 
|-
 
|-
| <tt>Content/Portraits/Abigail.xnb</tt>
+
| <samp>Content/Portraits/Abigail.xnb</samp>
| <tt>Portraits/Abigail</tt>
+
| <samp>Portraits/Abigail</samp>
 
|-
 
|-
| <tt>Content/Maps/spring_beach.xnb</tt><br /><tt>Content/Maps/spring_beach.es-ES.xnb</tt><br /><tt>Content/Maps/spring_beach.fr-FR.xnb</tt>
+
| <samp>Content/Maps/spring_beach.xnb</samp><br /><samp>Content/Maps/spring_beach.es-ES.xnb</samp><br /><samp>Content/Maps/spring_beach.fr-FR.xnb</samp>
| <tt>Maps/spring_beach</tt>
+
| <samp>Maps/spring_beach</samp>
 
|}
 
|}
   −
 一个资源可能包含多个子画面或数据条目。例如:<tt>Portraits/Abigail</tt>:
+
 一个资源可能包含多个子画面或数据条目。例如:<samp>Portraits/Abigail</samp>:
    
[[File:Modding - creating an XNB mod - example portraits.png]]
 
[[File:Modding - creating an XNB mod - example portraits.png]]
   −
 因此,如果想更改阿比盖尔的肖像,则可以使用 Content Patcher 加载或编辑 <tt>Portraits/Abigail</tt>.
+
 因此,如果想更改阿比盖尔的肖像,则可以使用 Content Patcher 加载或编辑 <samp>Portraits/Abigail</samp>.
    
===Load 和 Edit===
 
===Load 和 Edit===
 
 可以通过两种概念上的方式来更改资源:
 
 可以通过两种概念上的方式来更改资源:
   −
* ''Load|加载'' Asset的初始版本。 每个Asset只能同时被一个模组加载。 这主要用于完全替换模组(例如完全改变 NPC 肖像的模组),或提供 <tt>Content</tt> 文件夹中不存在的文件。
+
* ''Load|加载'' Asset的初始版本。 每个Asset只能同时被一个模组加载。 这主要用于完全替换模组(例如完全改变 NPC 肖像的模组),或提供 <samp>Content</samp> 文件夹中不存在的文件。
 
* ''Edit|编辑'' 加载后的Asset。 可以对同一资产应用任意数量的编辑。
 
* ''Edit|编辑'' 加载后的Asset。 可以对同一资产应用任意数量的编辑。
   第56行: 第54行:  
</pre>
 
</pre>
   −
 这分为四种主要操作类型(<tt>Load</tt>、<tt>EditData</tt>、<tt>EditImage</tt>、<tt>EditMap</tt>),在 内容修补程序自述文件中的更多详细信息(见下文)。
+
 这分为四种主要操作类型(<samp>Load</samp>、<samp>EditData</samp>、<samp>EditImage</samp>、<samp>EditMap</samp>),在 内容修补程序自述文件中的更多详细信息(见下文)。
    
==开始==
 
==开始==
 
===了解Json===
 
===了解Json===
You'll notice a lot of files with <tt>.json</tt> at the end of the name when creating mods for Stardew Valley. That means they're formatted as JSON, which is just a way of writing text that's readable to code. If you haven't used JSON before, reading ''[https://towardsdatascience.com/an-introduction-to-json-c9acb464f43e An Introduction to JSON]'' first will be very helpful to understand what the files are doing.
+
在为 Stardew Valley 创建 mod 时,您会注意到很多文件的名称末尾带有 <samp>.json</samp> 。 这意味着它们被格式化为 JSON ,这只是一种编写代码可读的文本的方式。 如果您以前没有使用过 JSON ,请阅读 ''[https://towardsdatascience.com/an-introduction-to-json-c9acb464f43e An Introduction to JSON]'' 会助于了解文件在做什么。
   −
===Create example mod===
+
=== 创建示例模块===
 
 首先让我们安装并运行我们的基本内容:
 
 首先让我们安装并运行我们的基本内容:
 
<ol>
 
<ol>
 
<li>安装 [https://smapi.io/ SMAPI] 和 {{nexus mod|1915|Content Patcher}}.</li>
 
<li>安装 [https://smapi.io/ SMAPI] 和 {{nexus mod|1915|Content Patcher}}.</li>
<li>解压游戏的<tt>Content</tt>文件夹,这样您就可以看到每个资产包含的内容。</li>
+
<li>解压游戏的<samp>Content</samp>文件夹,这样您就可以看到每个资产包含的内容。</li>
 
<li>修改或创建SMAPI内容包。</li>
 
<li>修改或创建SMAPI内容包。</li>
<li>使用以下内容在同一文件夹中创建一个 <tt>content.json</tt> 文件:
+
<li>使用以下内容在同一文件夹中创建一个 <samp>content.json</samp> 文件:
 
{{#tag:syntaxhighlight|
 
{{#tag:syntaxhighlight|
 
{
 
{
第76行: 第74行:  
}|lang=javascript}}
 
}|lang=javascript}}
 
</li>
 
</li>
<li>Launch the game.</li>
+
<li> 启动游戏。</li>
 
</ol>
 
</ol>
   第82行: 第80行:     
===内容格式===
 
===内容格式===
 您在上面创建的 <tt>content.json</tt> 文件告诉 Content Patcher 要更改什么。 这有两个主要领域:
+
 您在上面创建的 <samp>content.json</samp> 文件告诉 Content Patcher 要更改什么。 这有两个主要领域:
   −
* <tt>Format</tt>:格式版本。 您应该始终使用最新版本(当前为 1.19.0)来启用最新功能并避免过时行为。
+
* <samp>Format</samp>:格式版本。 您应该始终使用最新版本(当前为 1.19.0)来启用最新功能并避免过时行为。
* <tt>Changes</tt>:您要进行的更改。 每个条目称为“补丁”,并描述要执行的特定操作:替换此文件、将此图像复制到文件中等。您可以列出任意数量的补丁。
+
* <samp>Changes</samp>:您要进行的更改。 每个条目称为“补丁”,并描述要执行的特定操作:替换此文件、将此图像复制到文件中等。您可以列出任意数量的补丁。
   −
 您可以在 <tt>Changes</tt> 字段中列出任意数量的补丁,每个补丁都由 <code>{</code> 和 <code>}</code> 包围。 有关更多信息,请参阅下一节,但这里有一个快速示例:
+
 您可以在 <samp>Changes</samp> 字段中列出任意数量的补丁,每个补丁都由 <code>{</code> 和 <code>}</code> 包围。 有关更多信息,请参阅下一节,但这里有一个快速示例:
 
{{#tag:syntaxhighlight|
 
{{#tag:syntaxhighlight|
 
{
 
{
第106行: 第104行:  
}|lang=javascript}}
 
}|lang=javascript}}
   −
 (还有其他字段,如 <tt>ConfigSchema</tt> 和 <tt>DynamicTokens</tt> 用于更高级的用法;这些都包含在完整的自述文件中。)
+
 (还有其他字段,如 <samp>ConfigSchema</samp> 和 <samp>DynamicTokens</samp> 用于更高级的用法;这些都包含在完整的自述文件中。)
    
==下一步==
 
==下一步==
第115行: 第113行:  
 如需帮助使其做某事,请参阅...
 
 如需帮助使其做某事,请参阅...
 
* [https://github.com/Pathoschild/StardewMods/tree/develop/ContentPatcher#readme Content Patcher readme]供完整参考;
 
* [https://github.com/Pathoschild/StardewMods/tree/develop/ContentPatcher#readme Content Patcher readme]供完整参考;
* [https://www.youtube.com/watch?v=uqRTgjWvDYs video intro to Content Patcher] (unofficial);
+
* [https://www.youtube.com/watch?v=uqRTgjWvDYs video intro to Content Patcher] ( 非官方);
* [https://docs.google.com/presentation/d/1OBIJSNOwEA2sdBzNbUiVUQni-ajABGFmL-FUanhuLvk intro to converting XNB mods] (unofficial).
+
* [https://docs.google.com/presentation/d/1OBIJSNOwEA2sdBzNbUiVUQni-ajABGFmL-FUanhuLvk intro to converting XNB mods] ( 非官方).
    
==例子==
 
==例子==
第166行: 第164行:  
}}
 
}}
 
-->
 
-->
 +
 +
[[Category:模组]]
    
[[en:Modding:Content Patcher]]
 
[[en:Modding:Content Patcher]]
界面管理员、patroller、结构式讨论监督员管理员、translators
106,473

个编辑

导航菜单