-

bugfix250729.1
全站通知:

编辑教程:舰船科技树绘制

阅读

    

2025-11-07更新

    

最新编辑:林鸮

阅读:

  

更新日期:2025-11-07

  

最新编辑:林鸮

来自无尽的拉格朗日-星际猎人WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
守望宝岛



如果是第一次来,按"Ctrl+D"可以收藏随时查看更新~觉得WIKI好玩的话,请推荐给朋友哦~(◕ω<)☆
按右上角“WIKI功能→编辑”即可修改页面内容。

前言

前言1

建议不熟悉者请创建讨论页测试完效果后再将代码复制到对应的页面

比如说要写止战的科技树,可以创建一个 讨论:止战 的页面,确定内容无误后再迁移或复制到止战的图鉴页,需要注意的是,“讨论”后面的冒号必须是英文冒号,中文冒号无法创建测试专用的讨论页

前言2

科技树实现说明

  • 先在舰船图鉴页面中的系统下复制粘贴下方主页面部分的源码,并修改对应id和子页面路径,主页面源码负责调用子页面数据
  • 舰船中的每一个系统都需要创建专门的子页面(源码参考下方子页面部分的源码),子页面源码负责填写舰船系统的文本描述、数值以及调用舰船科技树模块
  • 利用模块进行绘制科技树路线以及调用系统强化项页面,以悬浮框的形式查看单个系统的各项强化项数值,参考下方科技树模块部分
  • 各个系统强化项需要创建单独页面,因游戏内大量系统强化项的名称与文本重复,因此在模块内填写时需要给强化项加上页面前缀(比如通用1、2、3等)进行区分,具体参考下方系统强化项具体页面部分

关系简述

主页面负责调用子页面,子页面负责调用模块,模块负责调用系统强化项
在修正科技树错误时,需要注意该错误属于哪一部分,不要找错页面了

实例

主页面部分

止战级-攻坚战列舰-改装型的系统科技树为例

源码

<!-- 主页面:止战改(三层嵌套示例,轻量化,懒加载) -->
<div id="shiptabs-止战改" class="shiptabs" aria-label="止战改 系统页签">
  <!-- ===== 顶层标签组(Level 1) ===== -->
  <div class="tab-group" data-level="1">
    
    <!-- === 顶层标签栏(一级标签头) === -->
    <ul class="tab-headers" role="tablist">
      <!-- “武器系统”选项,默认激活 -->
      <li role="tab" data-tab="weapon-pane" class="active">武器系统</li>
      <li role="tab" data-tab="armor-pane">装甲系统</li>
      <li role="tab" data-tab="propel-pane">动力系统</li>
      <li role="tab" data-tab="energy-pane">能源系统</li>
      <li role="tab" data-tab="command-pane">前排指挥系统</li>
    </ul>

    <!-- === 顶层内容区域(一级面板容器) === -->
    <div class="tab-panes">

      <!-- ===== 一级面板:武器系统 ===== -->
      <!-- 包含第二层标签组 -->
      <div id="weapon-pane" class="tab-pane active" role="tabpanel">
        
        <!-- ===== 第二层标签组(Level 2) ===== -->
        <div class="tab-group" data-level="2">
          
          <!-- 二级标签头(M/A/B/C/D系统) -->
          <ul class="tab-headers sub" role="tablist">
            <li role="tab" data-tab="weapon-M" class="active">M 系统</li>
            <li role="tab" data-tab="weapon-A">A 系统</li>
            <li role="tab" data-tab="weapon-B">B 系统</li>
            <li role="tab" data-tab="weapon-C">C 系统</li>
            <li role="tab" data-tab="weapon-D">D 系统</li>
          </ul>

          <!-- 二级内容面板容器 -->
          <div class="tab-panes">

            <!-- ===== 二级面板:M 系统 ===== -->
            <!-- 直接指向一个懒加载子页(不含子标签) -->
            <div id="weapon-M" class="tab-pane active" role="tabpanel" 
                 data-src="止战改/系统/M系统" data-loaded="0">
              <div class="loading">M 系统占位(未加载)</div>
            </div>

            <!-- ===== 二级面板:A 系统 ===== -->
            <!-- 含有第三级标签组(A1/A2) -->
            <div id="weapon-A" class="tab-pane" role="tabpanel">
              
              <!-- ===== 第三层标签组(Level 3) ===== -->
              <div class="tab-group" data-level="3">
                
                <!-- 第三级标签头 -->
                <ul class="tab-headers subsub" role="tablist">
                  <li role="tab" data-tab="weapon-A1">A1</li>
                  <li role="tab" data-tab="weapon-A2">A2</li>
                </ul>

                <!-- 第三级面板容器 -->
                <div class="tab-panes">
                  
                  <!-- A1 面板:懒加载页面 -->
                  <div id="weapon-A1" class="tab-pane" role="tabpanel" 
                       data-src="止战改/系统/A1系统" data-loaded="0">
                    <div class="loading">A1 占位(未加载)</div>
                  </div>

                  <!-- A2 面板:懒加载页面 -->
                  <div id="weapon-A2" class="tab-pane" role="tabpanel" 
                       data-src="止战改/系统/A2系统" data-loaded="0">
                    <div class="loading">A2 占位(未加载)</div>
                  </div>

                </div><!-- /第三级面板容器 -->
              </div><!-- /第三级标签组 -->
            </div><!-- /A系统面板 -->

            <!-- ===== 二级面板:B 系统 ===== -->
            <!-- 同样含有第三级标签(B1/B2) -->
            <div id="weapon-B" class="tab-pane" role="tabpanel">
              <div class="tab-group" data-level="3">
                <ul class="tab-headers subsub" role="tablist">
                  <li role="tab" data-tab="weapon-B1">B1</li>
                  <li role="tab" data-tab="weapon-B2">B2</li>
                </ul>
                <div class="tab-panes">
                  <!-- B1 子系统 -->
                  <div id="weapon-B1" class="tab-pane" role="tabpanel" 
                       data-src="止战改/系统/B1系统" data-loaded="0">
                    <div class="loading">B1 占位(未加载)</div>
                  </div>
                  <!-- B2 子系统 -->
                  <div id="weapon-B2" class="tab-pane" role="tabpanel" 
                       data-src="止战改/系统/B2系统" data-loaded="0">
                    <div class="loading">B2 占位(未加载)</div>
                  </div>
                </div>
              </div>
            </div><!-- /B系统面板 -->

            <!-- ===== 二级面板:C 系统 ===== -->
            <!-- 直接指向一个懒加载页面 -->
            <div id="weapon-C" class="tab-pane" role="tabpanel" 
                 data-src="止战改/系统/C系统" data-loaded="0">
              <div class="loading">C 系统占位(未加载)</div>
            </div>

            <!-- ===== 二级面板:D 系统 ===== -->
            <!-- 同样为懒加载 -->
            <div id="weapon-D" class="tab-pane" role="tabpanel" 
                 data-src="止战改/系统/D系统" data-loaded="0">
              <div class="loading">D 系统占位(未加载)</div>
            </div>

          </div><!-- /.tab-panes(二级容器) -->
        </div><!-- /.tab-group(二级组) -->
      </div><!-- /weapon-pane(一级面板) -->

      <!-- ===== 一级面板:装甲系统 ===== -->
      <!-- 顶层第二个选项,直接懒加载 -->
      <div id="armor-pane" class="tab-pane" role="tabpanel" 
           data-src="止战改/系统/装甲系统" data-loaded="0">
        <div class="loading">装甲系统占位(未加载)</div>
      </div>

      <!-- ===== 一级面板:动力系统 ===== -->
      <div id="propel-pane" class="tab-pane" role="tabpanel" 
           data-src="止战改/系统/动力系统" data-loaded="0">
        <div class="loading">动力系统占位(未加载)</div>
      </div>

      <!-- ===== 一级面板:能源系统 ===== -->
      <div id="energy-pane" class="tab-pane" role="tabpanel" 
           data-src="止战改/系统/能源系统" data-loaded="0">
        <div class="loading">能源系统占位(未加载)</div>
      </div>

      <!-- ===== 一级面板:指挥系统 ===== -->
      <div id="command-pane" class="tab-pane" role="tabpanel" 
           data-src="止战改/系统/指挥系统" data-loaded="0">
        <div class="loading">前排指挥系统占位(未加载)</div>
      </div>

    </div><!-- /.tab-panes(一级容器) -->
  </div><!-- /.tab-group(一级标签组) -->
</div><!-- /#shiptabs-止战改(整个模块) -->

效果

  • 装甲系统
  • 动力系统
  • 能源系统
  • 前排指挥系统
  • A 系统
  • B 系统
  • C 系统
  • D 系统
M 系统占位(未加载)
  • A1
  • A2
A1 占位(未加载)
A2 占位(未加载)
  • B1
  • B2
B1 占位(未加载)
B2 占位(未加载)
C 系统占位(未加载)
D 系统占位(未加载)
装甲系统占位(未加载)
动力系统占位(未加载)
能源系统占位(未加载)
前排指挥系统占位(未加载)

使用说明

①为舰船起个简称(最好是玩家共识度比较高的,可以用舰船型号,比如050A,050B这样的),替换源码中所有“止战改”字样
②根据舰船系统的具体情况修改 <!-- === 顶层标签栏(一级标签头) === -->下的系统名称(比如前排指挥系统改成中排指挥系统)
③武器系统中的A系统,id填A,如果有B、C、D系统,那么它们的id也是以此类推

  • A、B、C系统的判断优先看它的模块编号,如果你没有获得这个船或者因为某些原因看不到它的模块编号,请参考以下排序判断方式
  • 第一个系统肯定是M系统(它左上角都带M标了),M系统以下的武器系统就是ABC以此类推了
  • 需要注意的是,并非要有攻击力的系统才算武器系统,机库、维修等系统也算武器系统
  • 根据各舰船的具体情况,增加或删改<!-- 二级标签头(M/A/B/C/D系统) -->下的源码

④超主力舰需要保留第三级标签组、标签头、面板容器,非超主力舰可删除此部分源码

  • 需根据各舰船的具体情况删改第二级、第三级的标签组、标签头、面板容器,第一级一般不用改,各级面板的对应关系如上

data-src="止战改/系统/D系统"部分是子页面路径,武器系统的命名规则是“舰船简称/系统/系统编号”;其他系统的命名规则是“舰船简称/系统/系统名”,比如指挥系统就是“舰船简称/系统/指挥系统”

子页面

止战级-攻坚战列舰-改装型的主武器系统页面止战改/系统/M系统为例

源码

{{预设系统
|系统名=[[file:M系统.png|40px|link=| 主武器系统]]舰首离子炮系统
|描述=
====<big>FI-750T型</big>双联装离子炮×1<sup>{{蓝色|直射武器}}</sup>====
<big>对舰火力:{{图鉴颜色|描述|10000/分钟}}</big><br>
<big>伤害类型:能量伤害</big><br>
<big>优先攻击:大型舰船</big><br>
<big>单发伤害:500</big><br>
<br>
对舰火力:10000/分钟<br>
战斗序列:<br>
*01战列舰/航空母舰/战列巡洋舰/巡洋舰
*02支援舰
攻城火力:1500/分钟<br>
持续时间:6秒<br>
冷却时间:12秒<br>
伤害频率:3次<br>
锁定时间:7.0秒<br>
|标识=
<small>[[file:系统自维修.png|30px|link=|]]系统自维修</small><br>
[[file:强化槽.png|40px|link=| 强化槽]]可用强化项数量:5个
|科技树=
{{#invoke:科技树|render|ship=止战改|system=M系统}}
}}
{{预设标题样式}}
{{背景|文件=空白背景板.png}}

效果

主武器系统舰首离子炮系统

FI-750T型双联装离子炮×1直射武器

对舰火力:10000/分钟
伤害类型:能量伤害
优先攻击:大型舰船
单发伤害:500

对舰火力:10000/分钟
战斗序列:

  • 01战列舰/航空母舰/战列巡洋舰/巡洋舰
  • 02支援舰

攻城火力:1500/分钟
持续时间:6秒
冷却时间:12秒
伤害频率:3次
锁定时间:7.0秒

系统自维修.png系统自维修
强化槽可用强化项数量:5个



文件:编辑教程:舰船科技树绘制

说明

  • 武器系统弹道类型请在武器名称右上角标注
  • 科技树模块调用说明:{{#invoke:科技树|render|ship=舰船简称|system=系统名称}}

科技树模块

创建规范:“模块:舰船数据/舰船简称
比如:模块:舰船数据/止战改


local data = {}

data["M系统"] = {
    name = "舰首离子炮系统",
    techs = {
        {",","-","Zhuang","-","Dan",
            Zhuang = "{{图标|科技|通用3|装甲防爆强化}}",
            Dan = "{{图标|科技|通用3|弹仓装甲强化}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Shu","-","Li","-","Ju",
        	Shu = "{{图标|科技|通用3|强化输出功率}}",
        	Li = "{{图标|科技|通用3|强化离子弹药}}",
        	Ju = "{{图标|科技|通用·调|聚能输出}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Chong","-","Guan",
        	Chong = "{{图标|科技|通用3|充能装置强化}}",
        	Guan = "{{图标|科技|通用3|管线冷却加强}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Gong","-","Xi","-","Ju",
        	Gong = "{{图标|调校|通用|功率矩阵}}",
        	Xi = "{{图标|调校|止战改M|系统调校}}",
        	Ju = "{{图标|调校|止战改|聚能输出}}"},
    }
}

data["A1系统"] = {
    name = "反舰鱼雷系统",
    techs = {
        {",","-","Bao","-","Zhuang",
            Bao = "{{图标|科技|通用·调|爆炸装药改进}}",
            Zhuang = "{{图标|科技|通用3|装填机构升级}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Da","-","Dan","-","Da",
            Da = "{{图标|科技|通用3|大型目标矫正}}",
            Dan = "{{图标|科技|通用3|弹身隐身处理}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Zhan","-","Yao",
        	Zhan = "{{图标|科技|通用3|战斗部改进}}",
        	Yao = "{{图标|科技|通用3|装药强化}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Pao","-","Xi","-","Bao",
        	Pao = "{{图标|调校|通用|炮弹改良}}",
        	Xi = "{{图标|调校|止战改A|系统调校}}",
        	Bao = "{{图标|调校|止战改|爆炸装药改进}}"},
    }
}

data["B1系统"] = {
    name = "攻城鱼雷系统",
    techs = {
        {",","-","Bao","-","Zhuang",
            Bao = "{{图标|科技|通用|爆炸装药改进}}",
            Zhuang = "{{图标|科技|通用|装填机构升级}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Da","-","Dan","-","Da",
            Da = "{{图标|科技|通用|大型目标矫正}}",
            Dan = "{{图标|科技|通用|弹身隐身处理}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Zhan","-","Yao",
        	Zhan = "{{图标|科技|通用|战斗部改进}}",
        	Yao = "{{图标|科技|通用|装药强化}}"},
    }
}

data["C系统"] = {
    name = "离子攻击系统",
    techs = {
        {",","-","Shu","-","Li",
            Shu = "{{图标|科技|通用|强化输出功率}}",
            Li = "{{图标|科技|通用3|强化离子弹药}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Chong","-","Guan","-","Dan",
        	Chong = "{{图标|科技|通用|充能装置强化}}",
        	Guan = "{{图标|科技|通用|管线冷却加强}}",
        	Dan = "{{图标|科技|通用|弹仓装甲强化}}"},
    }
}

data["D系统"] = {
    name = "护航艇坞舱",
    techs = {
        {",","-","Zhan","-","Dan","-","Zai",
            Zhan = "{{图标|科技|通用3|战场雷达强化}}",
            Dan = "{{图标|科技|通用3|弹药补充加速}}",
            Zai = "{{图标|科技|通用3|载机维护加速}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Wu","-","Gong",
        	Wu = "{{图标|科技|通用3|机载武器维护}}",
        	Gong = "{{图标|科技|通用3|辅助攻击雷达}}"},
    }
}

data["装甲系统"] = {
    name = "装甲系统",
    techs = {
        {",","-","Gang","-","Cui","-","Tu","-","Dui",
            Gang = "{{图标|科技|通用|装甲刚性强化}}",
            Cui = "{{图标|科技|通用|装甲淬火处理}}",
            Tu = "{{图标|科技|通用|装甲能量涂层}}",
            Dui = "{{图标|科技|通用|装甲能量对抗}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {")","-","Long","-","Han","-","Zhu",
        	Long = "{{图标|科技|通用|龙骨结构增强Ⅱ}}",
        	Han = "{{图标|科技|通用|焊接工艺强化Ⅱ}}",
        	Zhu = "{{图标|科技|通用·调|主动反应装甲}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Kang","-","Xi","-","Zhu",
        	Kang = "{{图标|调校|通用|抗冲击结构}}",
        	Xi = "{{图标|调校|止战改Z|系统调校}}",
        	Zhu = "{{图标|调校|止战改|主动反应装甲}}"},
    }
}

data["动力系统"] = {
    name = "动力系统",
    techs = {
        {",","-","Ran","-","Chu",
            Ran = "{{图标|科技|通用|燃烧效率强化}}",
            Chu = "{{图标|科技|通用|引擎出力强化}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Yin","-","Ji",
        	Yin = "{{图标|科技|通用|曲率引擎强化}}",
        	Ji = "{{图标|科技|通用|曲率计算强化}}"},
    }
}

return data

模块说明

{{新舰船图标|科技}}{{新舰船图标|调校}}部分分别对应普通的系统强化项和系统调校部分
{{新舰船图标|科技|前缀|强化项名称}}会生成“前缀强化项名称”页面对应的悬浮框,一般来说,前缀为“通用”代表后面的“强化项”需要5点技术值,“通用2”为8点,“通用3”为10点(动力系统除外),{{新舰船图标|调校|前缀|强化项名称}}同理

  • 为什么需要在强化项名称页面前加前缀?因为游戏中的大量强化项存在名称、文案和效果重复,但它们消耗的技术值却不一样,因此需要在强化项前加前缀区分

科技树的路线依赖模块划线,所以要在英文引号" "中利用不同的英文符号画出不同的线段进行拼接,各英文符号对应的线段效果如下

  • 请注意,模块中除了{{新舰船图标}}模板中有中文,其余地方均为英文字符
  • 若是下方图片不够清晰,可查阅模板:Chart中的参数部分

模块中的参数要求首字母大写,参数命名可以选择该参数在对应系统强化项名称中的关键字拼音

  • 请注意,同一行参数的命名请不要重复,除非这一行有多个重复强化项,比如动力系统中出现了两个燃烧效率强化,那可以这样写
data["动力系统"] = {
    name = "动力系统",
    techs = {
        {",","-","Ran","-","Chu",-"Ran",
            Ran = "{{图标|科技|通用|燃烧效率强化}}",
            Chu = "{{图标|科技|通用|引擎出力强化}}"},
        {"!"," "," "," "," "," "," "," "," ",""},
        {"`","-","Yin","-","Ji",
        	Yin = "{{图标|科技|通用|曲率引擎强化}}",
        	Ji = "{{图标|科技|通用|曲率计算强化}}"},
    }
}

我们可以看到第一行科技树中有两个“Ran”,那么它就能画出“燃烧效率强化-引擎出力强化-燃烧效率强化”这样结构的科技树线段

补充说明

子页面中的{{预设系统}}模板有默认输出值,所以舰船中没有科技树的系统可以不写入该舰船对应的舰船科技树数据模块模块:舰船数据/舰船简称

系统强化项具体页面

{{系统科技图鉴
|名称=装甲防爆强化
|描述=针对装甲结构做特殊处理,避免受到爆炸冲击而形成破坏性缺口。
|消耗=10
|Lv1=系统受到暴击伤害下降{{图鉴颜色|描述|6%}}
|Lv2=系统受到暴击伤害下降{{图鉴颜色|描述|12%}}
|Lv3=系统受到暴击伤害下降{{图鉴颜色|描述|18%}}
|Lv4=系统受到暴击伤害下降{{图鉴颜色|描述|24%}}
|Lv5=系统受到暴击伤害下降{{图鉴颜色|描述|30%}}
|满强化=系统受到暴击伤害下降{{图鉴颜色|描述|30%}}
}}

有几级就写到Lv几,最高可到Lv10

  • 满强化写该系统强化项的最高等级的内容

如果是策略技能,请写Lv0,并删除满强化,示例如下

{{系统科技图鉴
|名称=聚能输出
|描述=将调整系统武器打击参数,提高单次输出功率,以更有效的穿透重型装甲。
*策略技能
|消耗=15
|Lv0=目标为巡洋舰时,伤害提升{{图鉴颜色|描述|35%}},打击冷却提高{{图鉴颜色|描述|15%}}
}}



如果是{{图标|调校}}的页面,把消耗换成成本,其余规则不变



空白背景板.png