讲师中心 微信公众号
AI工具推荐 视频效率加速

hoi-mod-maker

Polar Sponsor
爱发电 赞助
.NET 9.0

HOI4模组全流程技能,涵盖国策树、民族精神、人物、事件、决议、本地化、变量、调试。触发关键词:HOI4、钢铁雄心、钢4、国策、国策树、民族精神、焦点树、focus tree、national_focus、ideas、spirits、events、decisions、localisation、inner circle、...

HOI4 完整 Mod-Maker Skill

功能概述

HOI4 完整 Mod-Maker Skill是一项面向实际任务的技能,主要用于触发关键词:HOI4 mod, 4,钢4,国策,国策树,国策树,焦树,国 焦点,思想,精神,事件,决定,本地化,内圈,连续焦点,取代 path,P。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

HOI4 Complete Mod-Maker Skill

触发关键词: HOI4 mod, 钢铁雄心4, 钢4, 国策, 国策树, 民族精神, 焦点树, focus tree, national_focus, ideas, spirits, events, decisions, localisation, inner circle, 连续焦点, replace_path, Paradox modding

⚠ 国策树布局黄金法则(每次生成前必读)

AI 在生成国策树时最常见的错误。生成代码前,必须确认以下七点全部满足:

  1. 图标尺寸:每个国策图标是一个以坐标 (x,y) 为中心的 2×2 正方形。即图标左边界在 x-1,右边界在 x+1,上边界在 y+1,下边界在 y-1。左右相邻(同行)时 x 差必须 >= 2,否则图标重叠;上下相邻时 y 差 >= 1 即可。同一焦点块内紧凑排列时 x 间距用 2(最小合法值)。

  2. relative_position_id 是首选:除非有充分理由(固定窗口锚点、避免 offset 继承等),一律使用 relative_position_id = <父节点ID> + 小的 x/y 偏移量。绝对坐标只用于树的根节点或没有父节点的主干焦点。

  3. 前置国策必须存在:每个 prerequisite = { focus = XXX } 引用的 XXX 必须在同一个国策树文件中实际定义。不得凭空捏造 focus ID,也不得使用其他国家的 focus ID 作为前置。生成完成后,对照 examples/09_focus_tree_design_guide.md 的检查清单逐条验证。

  4. 禁止长线性链:同一条路径上连续节点不得超过 3 个(即 A->B->C 之后必须出现分支或汇合)。超过 3 个连续节点会让玩家感到单调,且视觉上形成难看的长竖线。如需表达「递进过程」,用分支+汇合代替直线延伸。

  5. 子节点数量上限:单个焦点的直接子节点(同一 prerequisite 指向同一父节点)不得超过 5 个。超过 5 个时,将部分子节点改为二级分支(先汇到中间节点,再展开)。

  6. 树深度要求:单个国策树的主路径深度应 >= 5 层,建议 6-10 层。浅层树(<5层)会让玩家缺乏战略规划感。通过添加中间节点、分支选择、汇聚节点来增加深度。

  7. 不同板块间距:同一 focus_tree 内的不同分支(如政治/工业/军事),根节点 x 坐标差应 >= 6。不同 focus_tree 文件之间,使用不同的 initial_show_position 错开显示。严禁不同板块的国策左右相邻且 x 差 < 2,这会导致视觉混乱。

Skill Meta

属性 值
版本 7.2
更新 2026-04-26
游戏版本 HOI4 1.14+
覆盖范围 国策树 / 民族精神 / 人物 / 事件 / 决议 / 本地化 / 变量 / 调试
参考文件 74 原版国策树 + 10 语法参考 + 12 注释示例
特色能力 布局设计 / 原版ID查询 / 代码生成 / 递进奖励设计 / 兼容性指导

典型使用场景 → 推荐路径

用户意图 推荐路径
做国策树 09设计指南 → 布局规划 → 代码生成 → 检查清单
图标重叠 09设计指南 → 坐标系统/间距规则
查原版国策ID references/vanilla_focus_trees/ → 搜索对应国家.txt
条件偏移 09设计指南(动态与条件定位) → advanced_syntax.md
修改原版树 查原版ID → replace_path/同ID追加
写民族精神 02注释示例 → ideas_syntax.md → 08导入详解
内圈焦点 09设计指南(真实架构模式) → germany.txt参考
完成效果写法 focus_complete_guide.md / dictionary.md
本地化编码 04本地化详解 → UTF-8 BOM
mod不生效 调试技巧 → error.log

快速开始

Mod 基础文件结构

your_mod/
├── descriptor.mod              # Mod 描述符(必需)
├── thumbnail.png               # 封面图(推荐 256x256)
├── common/
│   ├── national_focus/         # 国策树 .txt
│   ├── ideas/                  # 民族精神 .txt
│   ├── characters/             # 人物定义 .txt
│   ├── unit_leader/            # 领导人特质 .txt
│   ├── decisions/              # 决议 .txt
│   └── modifiers/              # 自定义修正值
├── events/                     # 事件 .txt
├── localisation/
│   ├── english/                # 英文本地化 .yml
│   └── simp_chinese/           # 中文本地化 .yml
├── interface/                  # GFX 图标定义
└── gfx/
    └── goals/                  # 国策图标图片

descriptor.mod 模板

name = "Your Mod Name"
version = "0.2.0"  # changelog: 扩展黄金法则至7条;去除模板机械拼装;新增孤立节点/碰撞检测;BOM清理修复skill加载
tags = { "National Focus" "Gameplay" }
picture = "thumbnail.png"

代码规范

基础语法

 =     # 数值/字符串/布尔值/代码块

编码要求

文件类型 编码
脚本文件 (.txt) UTF-8 无 BOM
本地化文件 (.yml) UTF-8 带 BOM

缩进规范

  • 开闭括号同一缩进层级
  • 代码块内部增加一层缩进(Tab 或 4空格)
  • 一行不要有多于一个括号

注释

# 单行注释(无多行注释)
cost = 10  # TODO: 检查平衡性

常量定义

@base_cost = 10
focus = { id = POL_focus  cost = @base_cost }

文件结构

加载顺序

Base Game → DLCs → User Directory → Mods

文件名排序:ASCII 字符顺序,00_ 前缀先加载,zz_ 后加载。

国策树

📄 完整语法: references/focus_complete_guide.md — Focus Tree 结构、节点字段、定位方式、前置条件、互斥、available、bypass、completion_reward 完整效果列表、内圈焦点、连续焦点、Search Filters

📄 高级语法: references/advanced_syntax.md — 备选图标、默认树、内圈窗口、快捷方式、嵌入窗口、连续焦点位置

📄 形式化语法: references/syntax.md — BNF 语法 + Joint/Shared Focus + 11 个常见陷阱

📄 布局设计: examples/09_focus_tree_design_guide.md — 坐标系统、间距、4步方法论、视口导航、动态定位、真实架构模式、递进奖励设计、原版数据分析

最小可用模板

focus_tree = {
    id = {TAG}_focus
    country = { factor = 0  modifier = { add = 10  tag = {TAG} } }
    default = no
    initial_show_position = { x = 500  y = 300 }
    
    focus = {
        id = {TAG}_root
        icon = GFX_goal_generic_political_pressure
        x = 0  y = 0
        cost = 5
        search_filters = { FOCUS_FILTER_POLITICAL }
        completion_reward = { add_political_power = 50 }
    }
    
    focus = {
        id = {TAG}_child
        prerequisite = { focus = {TAG}_root }
        relative_position_id = {TAG}_root
        x = 0  y = 1
        icon = GFX_goal_generic_authoritarian
        cost = 10
        completion_reward = { add_political_power = 100 }
    }
}

递进奖励(Progressive Reward)

📄 完整设计指南: examples/09_focus_tree_design_guide.md → 递进奖励设计章节

三层奖励结构:
  🪨 过程层 → cost=5, 1基建/10-15XP/25PP(克制,推动继续走)
  📦 阶段层 → cost=10, 1-2工厂+科技加成/50PP+25XP(阶段性成果)
  🏆 终点层 → cost=10-15, 3-4工厂+科技+50-100XP+100PP(终极目标)

核心原则:递进 ≠ 加量,是把相同总量重新分配——中间少给,终点多给

建筑效果(正确语法)

📄 完整参考: references/focus_complete_guide.md → 建筑效果章节

# ❌ 错误写法:random_owned_controlled_state + state = 762
# ✅ 正确写法:在 state scope 内直接调用 add_building_construction

# 指定州建造(推荐)
123 = {
    add_extra_state_shared_building_slots = 1    # 先扩容(如需)
    add_building_construction = {
        type = industrial_complex              # 民用工厂
        level = 1
        instant_build = yes
    }
}
124 = {
    add_extra_state_shared_building_slots = 2
    add_building_construction = { type = arms_factory  level = 2  instant_build = yes }
}

# 遍历所有符合条件的州
# every_owned_state = {
#     limit = { free_building_slots = { building = industrial_complex size > 0 } }
#     add_building_construction = { type = industrial_complex level = 1 instant_build = yes }
# }

# 建筑类型:industrial_complex / arms_factory / dockyard
#           infrastructure / air_base / naval_base / bunker / coastal_bunker

可持久/连续国策

📄 完整参考: references/focus_complete_guide.md → Continuous Focus 章节

# 连续焦点(continuous = yes):完成10个常规国策后解锁,激活期间持续生效
focus = {
    id = continuous_army_xp
    icon = GFX_focus_generic_army_xp
    x = 0  y = 0
    continuous = yes                  # 关键标记
    cost = 0                         # 连续焦点必须为 0
    search_filters = { FOCUS_FILTER_ARMY_XP }
    # ✅ 用 modifier = {} 提供持续效果(不是 completion_reward)
    modifier = { army_experience_gain_factor = 0.05 }
}

# 可取消的持久国策(带 cancel 块)
focus = {
    id = TAG_mobilization
    cost = 30
    cancel = {                        # ❗ 被取消时触发
        add_stability = -0.05
    }
    cancel_if_invalid = yes            # 条件失效时自动取消
    ai_will_do = { factor = 0 }       # AI 不会自动选(玩家决策)
}

# 可取消属性
cancelable = yes        # 可手动取消(默认)
cancelable = no         # 不可取消(内圈选择等)

民族精神

📄 完整语法: references/ideas_syntax.md | 注释示例: examples/02_ideas_annotated.md | 导入详解: examples/08_importing_ideas_annotated.md

Ideas 类型

类型 槽位 说明
country 无限制 国家精神
army/navy/air 各1个 军种精神(需DLC)
political_advisor 1个 政治顾问
theorist 1个 理论家
chief_of_staff/army_chief/navy_chief/air_chief 各1个 军事首脑

国家精神模板

ideas = {
    country = {
        {TAG}_spirit_name = {
            allowed = { original_tag = {TAG}  always = no }
            allowed_civil_war = { always = no }
            removal_cost = -1
            picture = generic_authoritarian_regime
            modifier = {
                political_power_gain = 0.10
                stability_factor = 0.05
            }
        }
    }
}

人物系统

📄 注释示例: examples/06_characters_annotated.md

角色类型

角色类型 说明
country_leader 国家领导人
corps_commander 军级指挥官
field_marshal 陆军元帅
navy_leader 海军指挥官
advisor 顾问

完整人物定义

characters = {
    {TAG}_character = {
        name = "Character Name"
        portraits = {
            civilian = { large = "GFX_portrait_{TAG}_char" }
            army = { large = "GFX_portrait_{TAG}_char" }
        }
        country_leader = {
            ideology = despotism
            traits = { trait_name }
            expire = "1965.1.1.1"  id = -1
        }
        corps_commander = {
            traits = { cavalry_officer war_hero }
            skill = 2  attack_skill = 2  defense_skill = 2
            planning_skill = 2  logistics_skill = 1
        }
    }
}

领导人特质

📄 注释示例: examples/07_leader_traits_annotated.md

特质类型

类型 获得方式
personality_trait 开局随机
status_trait 战斗获得
assignable_trait 手动分配
terrain_trait 地形战斗

特质定义模板

leader_traits = {
    trait_name = {
        type = land
        trait_type = personality_trait
        attack_skill = 1
        modifier = { planning_speed = 0.10 }
    }
}

本地化

📄 详细指南: references/localisation_guide.md | 注释示例: examples/04_localisation_annotated.md

YML 格式

l_english:
 {TAG}_focus_name:0 "Focus Display Name"
 {TAG}_focus_name_desc:0 "Detailed description..."

编码:本地化文件必须 UTF-8 带 BOM + LF

⚠️ AI 生成 .yml 本地化文件时必须遵守此格式,零例外:

属性 值
编码 UTF-8 with BOM(文件开头三个隐藏字节 xEFxBBxBF)
换行符 LF(n,不是 CRLF rn)
文件路径示例 localisation/simp_chinese/{TAG}_l_simp_chinese.yml

为什么必须带 BOM:Paradox Launcher 读取 .yml 本地化文件时依赖 BOM 识别 UTF-8。 无 BOM 的文件在游戏中直接显示为乱码,无法事后修复。

生成后自检命令:

$bytes = [System.IO.File]::ReadAllBytes("pathtofile.yml")
if ($bytes[0] -eq 0xEF -and $bytes[1] -eq 0xBB -and $bytes[2] -eq 0xBF) {
    Write-Host "✅ BOM 正确"
} else {
    Write-Host "❌ 缺少 BOM,请重新生成并确保编辑器保存为 UTF-8 with BOM"
}

常见错误避坑:

  • ❌ VSCode 保存为「UTF-8」(无 BOM)→ 游戏中文乱码
  • ❌ 记事本 / Notepad 保存为 ANSI/GBK → 中文完全无法显示
  • ❌ LF/CRLF 混用 → 部分游戏版本解析异常
  • ✅ 正确:VSCode 选「UTF-8 with BOM」,底部状态栏 CRLF 改为 LF

颜色与图标

§R红色§!  §G绿色§!  §B蓝色§!  §Y黄色§!  §H高亮§!
£pol_power  £stability  £civilian_factory

事件

📄 事件参考: references/events_guide.md | 注释示例: examples/03_events_annotated.md

国家事件模板

add_namespace = {TAG}_events

country_event = {
    id = {TAG}_events.1
    title = {TAG}_events.1_title
    desc = {TAG}_events.1_desc
    picture = generic_event
    is_triggered_only = yes
    
    option = {
        name = {TAG}_events.1_option_a
        add_political_power = 100
    }
}

决议

📄 注释示例: examples/05_decisions_annotated.md

决议模板

decisions = {
    {TAG}_category = {
        icon = GFX_goal_generic_major_alliance
        
        {TAG}_decision = {
            available = { tag = {TAG} }
            visible = { has_war_with = GER }
            cost = 50
            complete_effect = {
                transfer_state = { state = 123  target = ROOT }
            }
        }
    }
}

变量与动态修饰符

📄 动态修饰符: references/dynamic_modifiers.md | 脚本效果: references/scripted_effects.md | 脚本触发器: references/scripted_triggers.md

变量操作

set_variable = { var = {TAG}_var  value = 10 }
add_to_variable = { var = {TAG}_var  value = 5 }
subtract_from_variable = { var = {TAG}_var  value = 3 }
clamp_variable = { var = {TAG}_var  min = 0  max = 100 }

动态修饰符

add_dynamic_modifier = { modifier = {TAG}_modifier  days = 365 }
remove_dynamic_modifier = { modifier = {TAG}_old_modifier }

调试技巧

启用调试模式

Steam 启动选项加 -debug

控制台命令

debug_yesmen       # AI 总是接受
debug_events       # 显示事件 ID
tdebug             # 显示调试信息
error              # 打开错误日志

错误日志

Windows: C:Users<用户名>DocumentsParadox InteractiveHearts of Iron IVlogserror.log

参考文档

语法参考

文件 内容
references/focus_complete_guide.md 国策树完整语法(结构/字段/效果/内圈/连续焦点)
references/focus_syntax_complete.md 国策树语法(含Joint/Shared/波兰示例)
references/advanced_syntax.md 高级语法(备选图标/默认树/内圈窗口/快捷方式/嵌入窗口/连续焦点位置)
references/syntax.md 形式化语法 + BNF + 11个常见陷阱
references/dictionary.md 效果/触发器语义字典(169效果 + 79触发器 + 作用域)
references/ideas_syntax.md Ideas 完整语法
references/localisation_guide.md 本地化详细指南
references/events_guide.md 事件系统参考
references/dynamic_modifiers.md 动态修正完整语法
references/scripted_effects.md 脚本效果完整语法
references/scripted_triggers.md 脚本触发器完整语法

示例与模板

文件 内容
examples/09_focus_tree_design_guide.md 布局设计指南(坐标/间距/视口/动态定位/真实架构/递进奖励/原版数据分析)
examples/templates.md 基础模板+经典子模块 国策+民族精神+建筑效果+5个可组装子模块
examples/snippet_library.md 代码片段库
examples/01_focus_tree_annotated.md 国策树注释示例
examples/02_ideas_annotated.md 民族精神注释示例
examples/03_events_annotated.md 事件注释示例
examples/04_localisation_annotated.md 本地化注释示例
examples/05_decisions_annotated.md 决议注释示例
examples/06_characters_annotated.md 人物系统注释示例
examples/07_leader_traits_annotated.md 领导人特质注释示例
examples/08_importing_ideas_annotated.md Ideas 导入详解
examples/10_dynamic_modifiers_annotated.md 动态修饰符注释示例
examples/complete_mod_example.md 完整 mod 示例
examples/complete_tutorial.md 完整教程
examples/focus_real_examples.md 原版国策真实示例
examples/ideas_real_examples.md 原版精神真实示例
examples/events_real_examples.md 原版事件真实示例

原版参考

文件 内容
references/vanilla_focus_trees/ 74个原版国策树文本
references/vanilla_focus_trees/README.md 原版国策树索引表
tools/validator.md 验证清单

官方参考

  • Wiki: https://hoi4.paradoxwikis.com/Modding
  • 本地文件: Hearts of Iron IV/common/

推荐工具

  • VS Code + CWTools 扩展
  • Notepad++
  • WinMerge

版本: 7.2 | 更新: 2026-04-26

目录

热门AI工具

更多
PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn