Difference between revisions of "AddonStructure/zh-Hans"

From The Battle for Wesnoth Wiki
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Translations}}
 
{{Create}}
 
{{Create}}
 
{| {{Prettytable}}
 
|-
 
!|Other languages:
 
[[AddonStructure|English]]
 
[[AddonStructure/zh|简体中文]]
 
|}
 
  
 
如果您想为韦诺创建自定义内容,您需要在 userdata/data/add-ons/ 中设置一个文件夹。如果您没有找到您的 userdata 目录,请阅读[[EditingWesnoth]]章节。本页面将讲解插件的结构。
 
如果您想为韦诺创建自定义内容,您需要在 userdata/data/add-ons/ 中设置一个文件夹。如果您没有找到您的 userdata 目录,请阅读[[EditingWesnoth]]章节。本页面将讲解插件的结构。
Line 12: Line 6:
 
<b>这个页面假设您已经了解在哪里找到 userdata 目录。</b>
 
<b>这个页面假设您已经了解在哪里找到 userdata 目录。</b>
  
== The Main File ==
+
== 主文件 ==
  
 
作为示例,我们建立一个名为 <b>A Simple Addon</b> 的插件。
 
作为示例,我们建立一个名为 <b>A Simple Addon</b> 的插件。
Line 50: Line 44:
 
  [/units]
 
  [/units]
  
== The Directory Structure ==
+
== 目录结构 ==
  
What to create next depend on what type of content you are creating. For example, campaigns or map packs will have <b>scenarios</b> and <b>maps</b> directories, while a music pack would have only <b>music</b>. Here we will assume you are creating a campaign or single-scenario add-on.
+
接下来创建的取决于类型。例如战役和地图包会有 <b>scenarios</b> <b>maps</b> 目录,音乐包只需要 <b>music</b>。我们假设您在创建一个战役或者单人场景组件。
  
Create the following directories:
+
请建立如下目录:
  
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/scenarios</b>
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/scenarios</b>
Line 74: Line 68:
  
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/translations</b>
 
*<b><i>userdata</i>/data/add-ons/A_Simple_Addon/translations</b>
 +
 
 +
<b>注意!</b>译文质量不佳。
  
==See also==
+
==参见==
  
 
* [[Create]]
 
* [[Create]]
Line 83: Line 79:
  
 
[[Category:Create]]
 
[[Category:Create]]
 
<b>注意!</b>译文质量不佳。
 

Latest revision as of 02:38, 12 August 2017


如果您想为韦诺创建自定义内容,您需要在 userdata/data/add-ons/ 中设置一个文件夹。如果您没有找到您的 userdata 目录,请阅读EditingWesnoth章节。本页面将讲解插件的结构。

这个页面假设您已经了解在哪里找到 userdata 目录。

主文件

作为示例,我们建立一个名为 A Simple Addon 的插件。

  • 建立一个路径为 userdata/data/add-ons/A_Simple_Addon 的空目录。

重要提示:所有目录和文件名都要使用下划线而不是空格。否则会无法正常工作。

  • 在 A_Simple_Addon 文件夹中,建立一个名为 _main.cfg 的文件。

_main.cfg 文件决定游戏如何加载您的内容。这里展示了一个非常简单的示例。

#textdomain wesnoth-A_Simple_Addon
[textdomain]
    name="wesnoth-A_Simple_Addon"
    path="data/add-ons/A_Simple_Addon/translations"
[/textdomain]

#ifdef MULTIPLAYER
[binary_path]
    path=data/add-ons/A_Simple_Addon
[/binary_path]

{~add-ons/A_Simple_Addon/scenarios}
#endif

[textdomain] WML 标签指定了组件中字符串的翻译。textdomain 应该是组件的目录名,需要添加前缀“wesnoth-”来确保不会和其他文本冲突,并和 WesCamp 兼容。

注意:只有在您的组件需要翻译时,才需要 textdomain。如果是音乐包或者其他情况,并不需要 textdomain。

所有的 [campaign] 和 [textdomain] 标签必须 包含在 #ifdef 预处理条件中,包括替换条件(详见 PreprocessorRef)。这是为了确保您的内容在正确的时间加载,并且不和其他插件冲突。在上面的示例中,您的场景会在多人模式下被加载。在战役中,您可以设置特定标记,让只在战役中被加载。

Note:只有代码必须放在这个文件里。您不需要将二进制内容(例如声音、图片、音乐)放在这里。您可以通过指定相对于 [binary_path] 的路径来引用内容。此外,units 目录不能通过简单的引用路径;它必须使用 [+units][/units]+非常重要!)标签包裹,就象这样:

[+units]
    {~add-ons/A_Simple_Addon/units}
[/units]

目录结构

接下来创建的取决于类型。例如战役和地图包会有 scenariosmaps 目录,音乐包只需要 music。我们假设您在创建一个战役或者单人场景组件。

请建立如下目录:

  • userdata/data/add-ons/A_Simple_Addon/scenarios
  • userdata/data/add-ons/A_Simple_Addon/maps

场景中使用的所有地图文件都在 maps 当中(详见BuildingMaps)。所有场景的的配置文件(.cfg)文件都在 scenarios 当中(详见BuildingScenarios)。

如果您有一些自定义的内容,比如图片或者单位,请建立如下内容:

  • userdata/data/add-ons/A_Simple_Addon/macros
  • userdata/data/add-ons/A_Simple_Addon/units
  • userdata/data/add-ons/A_Simple_Addon/images
  • userdata/data/add-ons/A_Simple_Addon/music
  • userdata/data/add-ons/A_Simple_Addon/sounds

注意:您可以命名包含代码的目录(例如 scenariosmacros)为任意名称,但是三个二进制内容目录(imagesmusicsounds必须是这个名字,并且相对于 [binary_path] 指定的路径。游戏尝试解析图像、音乐、声音路径时,会在 [binary_path] 下查找。

如果您设置了 textdomain,则要建立 translations 目录,即便是空的也要建立。否则会在 stderr 中生成警告。路径必须和 [textdomain] 标签指定的一致。

  • userdata/data/add-ons/A_Simple_Addon/translations

注意!译文质量不佳。

参见

This page was last edited on 12 August 2017, at 02:38.