“SubModule”的版本间的差异

来自骑砍中文百科
跳转至: 导航搜索
示例
示例
第16行: 第16行:
  
 
=== <big>示例</big> ===
 
=== <big>示例</big> ===
[https://docs.bannerlordmodding.com/_xmldocs/submodule.html#example 示例代码]<br>
+
[https://docs.bannerlordmodding.com/_xmldocs/submodule.html#example 示例代码 源链接]<br>
 +
<nowiki>
 +
<Module>
 +
    <Name value="My Module"/>
 +
    <Id value="MyModule"/>
 +
    <Version value="v1.0.0"/>
 +
    <SingleplayerModule value="true"/>
 +
    <MultiplayerModule value="false"/>
 +
    <DependedModules>
 +
        <DependedModule Id="Native"/>
 +
        <DependedModule Id="SandBoxCore"/>
 +
        <DependedModule Id="Sandbox"/>
 +
        <DependedModule Id="CustomBattle"/>
 +
        <DependedModule Id="StoryMode" />
 +
    </DependedModules>
 +
    <SubModules>
 +
        <!-- 接下来的 SubModule 元素是可选的. 如果没有 DLL 文件关联你可以移除这个部分. -->
 +
        <SubModule>
 +
            <Name value="MySubModule"/>
 +
            <!-- 指向 DLL 文件的路径, 如果模组叫 MyModule 那么就应该是这样子. -->
 +
            <DLLName value="ExampleMod.dll"/>
 +
            <SubModuleClassType value="ExampleMod.MySubModule"/>
 +
            <Tags>
 +
                <Tag key="DedicatedServerType" value="none" />
 +
                <Tag key="IsNoRenderModeElement" value="false" />
 +
            </Tags>
 +
        </SubModule>
 +
    </SubModules>
 +
    <Xmls>
 +
        <XmlNode>
 +
            <XmlName type="1" id="Items" path="customitems"/>
 +
        </XmlNode> 
 +
        <XmlNode>
 +
            <XmlName type="1" id="SPCultures" path="customcultures"/>
 +
        </XmlNode>
 +
        <XmlNode>
 +
            <XmlName type="1" id="NPCCharacters" path="customcharacters"/>
 +
        </XmlNode>
 +
    </Xmls>
 +
</Module>
 +
</nowiki>

2020年4月20日 (一) 13:13的版本

返回目录

SubModule (XML)

元素注释

  • Name - 你的模组的名字。
  • Id - 你的模组的id (不要使用空格)。
  • Version - 你的模组的当前版本。
  • SinglePlayerModule - 你的模组是否适用单人游戏。
  • MultiPlayerModule - 你的模组是否适用多人游戏。
  • DependedModules - 你的模组生效所需要依赖的模组。
  • SubModules - 构成你的模组的子模块(DLLs)。
  • Xmls - 包含到 ModuleData 文件夹中的 XML 文件的路径。


重要

两个相互独立的模组(或同一个模组)的XML文件里如果存在相同的id的话,它们会被合并生效而不是一个被另一个覆盖。然而,倘若在同一个XML文件中存在两个相同的id(两个物品),在启动器执行启动命令时会以模组加载的顺序相互覆盖,就像像启动器中看到的模组顺序一样,了解这一点对于是否覆盖Native内容很重要。
MPClassDivisions 当前不可用。

示例

示例代码源链接

<Module>
    <Name value="My Module"/>
    <Id value="MyModule"/>
    <Version value="v1.0.0"/>
    <SingleplayerModule value="true"/>
    <MultiplayerModule value="false"/>
    <DependedModules>
        <DependedModule Id="Native"/>
        <DependedModule Id="SandBoxCore"/>
        <DependedModule Id="Sandbox"/>
        <DependedModule Id="CustomBattle"/>
        <DependedModule Id="StoryMode" />
    </DependedModules>
    <SubModules>
        <!-- 接下来的 SubModule 元素是可选的. 如果没有 DLL 文件关联你可以移除这个部分. -->
        <SubModule>
            <Name value="MySubModule"/>
            <!-- 指向 DLL 文件的路径, 如果模组叫 MyModule 那么就应该是这样子. -->
            <DLLName value="ExampleMod.dll"/>
            <SubModuleClassType value="ExampleMod.MySubModule"/>
            <Tags>
                <Tag key="DedicatedServerType" value="none" />
                <Tag key="IsNoRenderModeElement" value="false" />
            </Tags>
        </SubModule>
    </SubModules>
    <Xmls>
        <XmlNode>
            <XmlName type="1" id="Items" path="customitems"/>
        </XmlNode>  
        <XmlNode>
            <XmlName type="1" id="SPCultures" path="customcultures"/>
        </XmlNode>
        <XmlNode>
            <XmlName type="1" id="NPCCharacters" path="customcharacters"/>
        </XmlNode>
    </Xmls>
</Module>