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

您所在的位置:网站首页 群星mod收费事件 [Stellaris][群星]Mod制作指南

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

2023-07-22 21:07| 来源: 网络整理| 查看: 265

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

mod(dir)

cilin.modcilin(dir) cilin.pngdescriptor.modcommon(dir) traits (dir) 00_cilin_species_traits.txtevent(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创意工坊的IDsupported_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制作指南-附录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3