[Stellaris][群星]Mod制作指南-编写中-预计6月完成。。大概

[Stellaris][群星]Mod制作指南


1. 引言

欢迎阅读本指南,本指南将尽可能全面地介绍群星Mod的制作方法,并以制作一个希灵帝国Mod的形式作为样例。

注:本文中如见“UTF-8”无特别指明的情况下为UTF-8无BOM格式,如带BOM格式记为“UTF-8-BOM”。

目前正在编写中,预计将会在6月间完成。。大概╮(╯▽╰)╭


2. Mod编写规则

  • 尽可能进行最小改动(下文将会提到Mod生效机制)
  • Mod文件中,文本文件(*.txt)请使用UTF-8编码且不带BOM的格式,否则会出现乱码
  • Mod文件中,语言文件(*.yml)请使用UTF-8编码且带BOM的格式,否则会出现乱码
  • Mod文件中,脚本文件(*.lua)特殊,请参照原文件格式
  • 可以考虑使用版本控制系统(如:Git),在调试过程中,可能出现Mod文件丢失、损坏等情况。
  • 最好使用Tab进行缩进
  • 可以使用#来进行注释

3.Mod文件结构

1.游戏目录文件结构

如果是Steam正版,游戏的根目录在SteamLibrary\steamapps\common\Stellaris
在mod根目录下参照游戏目录文件结构建立相应的mod文件,即可覆盖/增加相应内容。
当然不按照游戏文件结构建立也是可以的,群星的mod生效机制如下:
- 如果文件名与游戏原文件相同,将会覆盖
- 如果为文本文件(*.txt),你可以取任何文件名,放在mod根目录任意位置,游戏将会对文件内容进行融合操作(merge),如遇内容冲突,以文件名升序排列优先
- 如果为语言文件(*.yml),规则同上,请注意文件开头的语言种类语句(下文会说明)
- 如果为脚本文件(*.lua),请注意,只能覆盖,无法融合

具体文件结构详情,请参见:[Stellaris][群星]Mod制作指南-附录

2.Mod目录文件结构

Mod文件通常保存在C:\Users\<Username>\Documents\Paradox Interactive\Stellaris\mod下(非Windows系统则在~/.local/share/Paradox Interactive/Stellaris/mod下),但是在游戏根目录下建立mod文件夹,放入其中一样可以生效。
Mod文件夹中的目录结构通常如下:

  • mod(dir)

    • cilin.mod
    • cilin(dir)
      • cilin.png
      • descriptor.mod
      • common(dir)
        • traits (dir)
          • 00_cilin_species_traits.txt
      • event(dir)
      • localisation(dir)
  • mod目录为根目录

  • cilin.mod为mod基本信息文件,纯文本、UTF-8,只在开发时出现,用户使用时会转为descriptor.mod。
  • cilin目录为mod文件主目录
  • cilin.png为mod封面图片(也可以是其它名字,不过建议和mod目录名相同)
  • descriptor.mod为mod描述信息,纯文本、UTF-8,该文件与cilin.mod内容相同,上传创意工坊时自动生成于工坊zip包中,开发时不会出现
  • common、traits、event等目录结构同游戏根目录结构

cilin.mod文件格式:

name="CiLin"
path="mod/cilin"
archive="workshop/content/111111/111111111/cilin.zip"
tags={
    "Species"
    "Spaceships"
    "Technologies"
    "Total Conversion"
}
picture="cilin.png"
remote_file_id="111111111"
supported_version="1.1.0"
  • name:名称
  • path:路径(开发者使用,与archive互斥)
  • archive:压缩包路径(mod用户使用,与path互斥)
  • tags:标签
  • picture:封面图片文件名(然而我并没有试验成功过!→_→)
  • remote_file_id:上传Steam创意工坊的ID
  • supported_version:支持的版本

4.特征

1.种族特征

种族特征就是初始建立文明界面中的天赋啦~当然后期也是可以DNA改造的,默认设置在common/traits/00_species_traits.txt文件中。
下面将以希灵使徒种族天赋为例,介绍如何编写。


common/traits/00_cilin_species_traits.txt

###############################
# Custom Species Traits #
###############################

# 希灵使徒
trait_cilin = {
    # 消耗的属性点
    cost = 2
    # 排斥的种族特征
    opposites = {
        # 农耕 节俭 勤勉
        "trait_agrarian" "trait_thrifty" "trait_industrious"

        # 智慧 天生工程师 天生物理学家 天生社会学家
        "trait_intelligent" "trait_natural_engineers" "trait_natural_physicists" "trait_natural_sociologists"

        # 极度变通 变通 不适
        "trait_extremely_adaptive" "trait_adaptive" "trait_nonadaptive"

        # 快速增殖 缓慢增殖
        "trait_rapid_breeders" "trait_slow_breeders"

        # 才华横溢 聪颖 愚笨
        "trait_talented" "trait_quick_learners" "trait_slow_learners"

        # 非常强壮 强壮 虚弱
        "trait_very_strong" "trait_strong" "trait_weak"

        # 游牧 定居 合群 独行
        "trait_nomadic" "trait_sedentary" "trait_communal" "trait_solitary"

        # 魅力非凡 令人厌恶
        "trait_charismatic" "trait_repugnant"

        # 顺从者 尊者 耐久
        "trait_conformists" "trait_venerable" "trait_enduring"

        # 颓废 快速恢复
        "trait_decadent" "trait_resilient"
    }

    # 设置效果
    modifier = {
        # 食物 能量 矿物
        tile_resource_food_mult = 15
        tile_resource_energy_mult = 15
        tile_resource_minerals_mult = 15

        # 工程、物理、社会生产
        tile_resource_engineering_research_mult = 20
        tile_resource_physics_research_mult = 20
        tile_resource_society_research_mult = 10

        # 适居性 生长时间 领导者能力等级 领导者经验
        pop_environment_tolerance = 20
        pop_growth_req_mult = -10
        leader_skill_levels = 100
        species_leader_exp_gain = 25

        # 军队损伤 矿物
        army_damage_mult = 40
        tile_resource_minerals_mult = 10

        # 移民时间 重新安置价格
        pop_migration_time = -50
        pop_resettlement_cost_mult = -33

        # 幸福度 其他种族的幸福 道德分歧 领导人寿命
        pop_happiness = 5
        pop_other_species_happiness = 1
        pop_ethic_shift = -20
        leader_age = 10000

        # 没有奴隶的能源输出
        # pop_eff_wo_slaves = -0.1

        # 驻防健康 额外增加的防御工事
        garrison_health = 100
        pop_fortification_defense = 5
    }
}

2.行星特征

行星特征,其实就是种族对行星的喜好以及行星的宜居性!
默认设置在common/traits/00_habitability_traits.txt文件中,这个设置仅用于改变某种行星的宜居性(对AI也生效)或者在新增行星种类的时候使用。
关于行星特征的修改,将在下文中与新增行星种类一同介绍。


5.事件机制

1.事件类型

在群星中,有如下几种事件类型
- 全局事件(event)
- 国家事件(country_event)
- 行星事件(planet_event)
- 舰队事件(fleet_event)
- 舰船事件(ship_event)
- 派系事件(pop_faction_event)
- 人口事件(pop_event)

# 这是注释
# 全局事件
event = {...}
# 国家事件
country_event = {...}
# 行星事件
planet_event = {...}
# 舰队事件
fleet_event = {...}
# 舰船事件
ship_event = {...}
# 派系事件
pop_faction_event = {...}
# 人口事件
pop_event = {...}

不同类型的事件表示了事件的作用范围,但是这个并不是绝对的,
首先是作用域(Scopes),作用域是指语句中作用对象的类型/范围,不过在群星的事件中,作用域并不是很重要,它只是提供方便和性能上的考虑,实际上在任意类型的事件中,你可以操作各种范围。

2.事件检测时机

群星的事件检测时机有两种:

  • 定时检测
  • 行为检测

定时检测:

  • MTTH事件每月检测一次
  • 普通事件(国家事件或行星事件)默认为每隔20天检测一次,该值在common/defines/00_defines.lua中设定
    NEngine = {
        EVENT_PROCESS_OFFSET = 20
    },

你可以设置该值为1,这样每天都会检测,只要你的CPU承受得起。╮(╯▽╰)╭

行为检测:在特定行为发生时检测,关于行为节点,定义于
common/on_actions/00_on_actions.txt文件中。
具体行为节点详情,请参见:[Stellaris][群星]Mod制作指南-附录

注:触发不代表事件生效,触发只是一种“检查”如果不符合触发器或选项所设定的规则,则不会产生效果

3.标记

嗯,标记,flag,也就是喜闻乐见的立旗啦~!
群星中标记的使用非常简单!

# 全局标记建议命名规则:xxx_yyy_global
# 设置全局标记
set_global_flag = xxx_yyy_global
# 移除全局标记
remove_global_flag = xxx_yyy_global
# 检查全局标记
has_global_flag = xxx_yyy_global

# 国家标记建议命名规则:xxx_yyy_country
# 设置国家标记
set_country_flag = xxx_yyy_country
# 移除国家标记
remove_country_flag = xxx_yyy_country
# 检查国家标记
has_country_flag = xxx_yyy_country

# 行星标记建议命名规则:xxx_yyy_planet
# 设置行星标记
set_planet_flag = xxx_yyy_planet
# 移除行星标记
remove_planet_flag = xxx_yyy_planet
# 检查行星标记
has_planet_flag = xxx_yyy_planet

# 舰队标记建议命名规则:xxx_yyy_fleet
# 设置舰队标记
set_global_flag = xxx_yyy_fleet
# 移除舰队标记
remove_global_flag = xxx_yyy_fleet
# 检查舰队标记
has_global_flag = xxx_yyy_fleet

# 舰船标记建议命名规则:xxx_yyy_ship
# 设置舰船标记
set_global_flag = xxx_yyy_ship
# 移除舰船标记
remove_global_flag = xxx_yyy_ship
# 检查舰船标记
has_global_flag = xxx_yyy_ship

# 派系标记建议命名规则:xxx_yyy_pop_faction
# 设置派系标记
set_global_flag = xxx_yyy_pop_faction
# 移除派系标记
remove_global_flag = xxx_yyy_pop_faction
# 检查派系标记
has_global_flag = xxx_yyy_pop_faction

# 人口标记建议命名规则:xxx_yyy_pop
# 设置人口标记
set_global_flag = xxx_yyy_pop
# 移除人口标记
remove_global_flag = xxx_yyy_pop
# 检查人口标记
has_global_flag = xxx_yyy_pop


附录

详情请参见:[Stellaris][群星]Mod制作指南-附录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值