최근 수정 시각 : 2024-04-22 01:01:02

Hearts of Iron IV/모딩/디시전

파일:hearts_of_iron_iv_new_cover.png
Hearts of Iron IV : 모딩
{{{#!wiki style="margin:-0px -10px -5px; color: #c7b89e"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-5px -1px -11px; color: #000, #ddd"
<colbgcolor=#575a52> 문서 작성 이펙트 | 트리거 | 정의 | 모디파이어(수정자) | 스코프 | 번역(로컬리제이션) | 변수 | 행동변수(실행 시) | 데이터
스크립트 작성 도전과제 | AI | 괴뢰국 주 관리 | 힘의 균형
북마크, 시나리오(게임 규칙) | 건설 | 인물
태그 | 국가 | 편제 | 결정(디시전) | 장비 | 이벤트 | 국민정신 | 이념 | 산업체 | 국가 중점 | 자원 | 스크립트 GUI | 기술, 교리 | 유닛
지도 지도 | | 보급 지역 | 전략 구역
그래픽 인터페이스 | 그래픽 에셋 | 엔티티 | 포스트이펙트 | 파티클 | 폰트
외부 초상화 | 사단 이름 | 음악 | 효과음
기타 콘솔 명령어 | 문제 해결 | 모드 구조 | 모드 | 넛져
문서 분류            모딩 둘러보기 틀           게임 둘러보기 틀 }}}}}}}}}


1. 참고할 만 한 문서2. 인게임 파일 경로3. 폴더 및 파일 생성4. 카테고리 만들기5. 디시전 만들기
5.1. 기본 설정 추가5.2. 실행 효과 추가5.3. 디시전 조건5.4. 디시전의 가용성5.5. 제거 효과5.6. 디시전 모디파이어
6. 목표 선택
6.1. 대상의 결정6.2. 참고 사항
7. 임무8. 카테고리 번역
8.1. 대상 번역

1. 참고할 만 한 문서

  • # 트리거의 개념과 목록을 서술해 두었다.
  • # 이펙트(효과)의 개념과 목록을 서술해 두었다.

2. 인게임 파일 경로

  • 디시전 파일은
Heart of Iron IV / common / decisions
  • 에서 찾아 볼 수 있으며, 디시전 카테고리는
Heart of Iron IV / common / decisions / categories
  • 에서 찾아 볼 수 있다. 참고용으로 사용할 수 있다. 다만 파일을 수정할 시 멀티플레이를 할 수 없어 게임을 재설치해야 한다.

3. 폴더 및 파일 생성

파일:스크린샷 2024-04-22 002257.png
  • 위와 같이 모드 폴더 안의 common 폴더 내에 decision 폴더를 생성하고 그 안에 categories 폴더를 생성한다. 카테고리 파일은 categories 폴더 내에, 디시전 파일은 decision 폴더 내에 생성해주면 된다. 파일명은 어떻게 하든 시스템 상 상관 없으나, 구별을 위해서 주로 국가 태그를 사용한다.

4. 카테고리 만들기

파일:스크린샷 2024-04-22 003319.png
위 사진처럼 카테고리를 생성할 수 있다. 카테고리의 이름 (위 사진에서 deccat1)은 인게임에서 보이지 않기에 마음대로 정해도 된다. 다만 구별이 쉽게 해야 한다.[1] 아이콘을 넣을 것이라면 DDS 파일을 gfx 폴더에 넣고,
icon = (확장자를 제외한 파일 이름)
을 카테고리의 괄호 안에 넣어주면 된다. 또 카테고리에는 특정 상황에서만 작동되도록 조건을 넣어둘 수도 있다. 카테고리의 괄호 안에다
available = {
(조건)
}
을 넣어 구현할 수 있다. 이 available에 들어가는 것은 Triggers, 즉 트리거이다.

5. 디시전 만들기

파일:스크린샷 2024-04-22 004302.png
디시전 제작의 예시. 괄호를 잘 닫아야 한다.
아까 만든 decisions 폴더로 올라와서, 파일을 생성해준다. 마찬가지로 이름은 구별할 수 있게 짓는다. 먼저 categories 폴더 내의 파일에서 생성했던 카테고리를 (카테고리 id = {}) 식으로 열어준다. 그 다음 그 안에다
(디시전 id) = {}
식으로 디시전을 생성할 수 있다. 이제 이 중괄호 안에다 효과와 조건을 추가한다.

5.1. 기본 설정 추가

  • cost = (숫자) 는 디시전을 실행시키는 데 필요한 비용을 설정한다. 예를 들어 50으로 설정하면, 디시전을 실행시키는 데 50의 정치력이 든다는 뜻이다. 디시전을 실행시키는 데 정치력이 필요하지 않다면 cost를 넣지 않아도 된다.
  • days_remove = (숫자) 는 디시전을 실행시키고 제거되는 데 걸리는 시간을 설정한다. 예를 들어 5로 설정하면, 디시전을 실행시키고 제거하는 데 5일이 걸린다는 뜻이다. 디시전이 즉각 실행되어야 한다면 days_remove를 넣지 않아도 된다.
    • fire_only_once = (yes / no) 는 디시전이 단 한 번만 실행되고 사라질 지, 아니면 계속 남아있을 지를 결정한다. 일회성 디시전이라면 yes를, 노동 환경 개선과 같은 다회용 디시전이라면 no를 선택하자. 기본적으로 no로 세팅되어있다.

5.2. 실행 효과 추가

  • complete_effect = {} 는 디시전을 실행시켰을 때의 효과를 설정한다. 디시전 제작의 핵심이라고 할 수 있다. complete_effect = {} 구문 내에 Effect(효과)를 넣어 효과를 만들 수 있다. 예를 들어 add_political_power = 150 는 정치력 150을 추가하는 effect이다. 이를 complete_effect에 넣는다면 디시전 실행 시 정치력 150을 얻을 수 있게 된다.
  • random_list = {}로 complete_effect에 확률을 추가할 수도 있다. random_list 구문을 complete_effect에 널고 그 안에 원하는 확률 (ex: 33)을 구문 형태로(ex: 33 = {}) 넣는다. 그 안에 원하는 효과를 넣으면 된다.

5.3. 디시전 조건

특정 상황에서만 디시전을 누를수 있도록 할수 있습니다.
find_resources = {
develop_infrastructure = {
available = {
has_manpower > 500
}
complete_effect = {
random_owned_state = {
add_building_construction = { type = infrastructure level = 2 instant_build = yes }
}
add_manpower = -500
}
}
}
위의 내용은 디시전 효과 칸에서 조금 추가된 내용으로 국가에 500 명 이상의 인력이있을 경우에만 기반시설을 2단계 높일수 있도록 해놓았습니다. 즉 국가의 인력이 500명 보다 부족할때 사용하여 인력이 마이너스가 되는 상황을 방지하는겁니다.

5.4. 디시전의 가용성

복잡한 결정을 피하기 위해 결정 탭에서 결정을 항상 볼 필요는 없습니다. 혼란을 피하기 위해 다음과 같이 플레이어의 인력이 0 명 이상인 경우에만 결정을 표시하려고합니다.
find_resources = {
develop_infrastructure = {
visible = {
has_manpower > 0
}
cost = 50
available = {
has_manpower > 500
}
complete_effect = {
random_owned_state = {
add_building_construction = { type = infrastructure level = 2 instant_build = yes }
}
add_manpower = -500
}
}

5.5. 제거 효과

결정을 선택한 후 (예: days_remove )효과가 발생할 수 있습니다.예를 들어 아래의 선택을 할 경우 10일 후에 다시 인력이 돌아옵니다.
find_resources = {
develop_infrastructure = {
visible = {
has_manpower> 0
}
cost = 50
available = {
has_manpower> 500
}
complete_effect = {
random_owned_state = {
add_building_construction = {유형 = 인프라 수준 = 2 instant_build = 예}
}
add_manpower = -500
}
days_remove = 10
remove_effect = {
add_manpower = 500
}
}
}

5.6. 디시전 모디파이어

의사 결정을 사용하면 특정 시간 동안 만 모디파이어가 작동 할 수 있습니다. 모디파이어를을 사용하면 디시전이 활성화 되어있는 동안(days_remove)아래의 작업을 활성화 합니다.
find_resources = {
resource_spree = {
cost = 100
fire_only_once = 예
modifier = {
local_resources_factor = 0.1
}
days_remove = 200
}
}
local_resource_factor 에 대한 자세한 내용 은 수정자를 참조하십시오.

6. 목표 선택

각 국가를 타겟팅하기 위해 동일한 결정을 여러 번 작성하는 대신 하나의 결정으로 여러 태그를 타겟팅하려는 경우 대신 대상 결정을 사용할 수 있습니다.대상 결정에서 FROM 은 보낸 사람이 아니라 결정 대상을 나타냅니다.다음은 국가에 독일, 미국 및 일본에 발신자에게 50 개의 정치력과 500 명의 인력을 희생시키면서 임의의 상태로 기반을 제공 할 수있는 새로운 결정입니다.
find_resources = {
help_others = {
target_trigger = {
FROM = {
OR = {
tag = GER
tag = USA
tag = JAP
}
}
}
cost = 50
fire_only_once = yes
complete_effect = {
FROM = {
random_owned_state = {
add_building_construction = { type = infrastructure level = 2 instant_build = yes }
}}add_manpower = -500
}
}
}

6.1. 대상의 결정

target_trigger는 모든 국가를 채크함으로 성능에 영향을 줄 수 있습니다.특정 국가에 대한 목표 결정을 단순히 초점에서 추가하려는 경우 효과를 사용하여 수행 할 수 있습니다.
activate_targeted_decision = { target = TAG decision = decision_to_activate }
참고 : 태그 대신 FROM을 사용할 수 있습니다.

6.2. 참고 사항

target_trigger는 즉시 평가되지 않을 수 있습니다.

7. 임무

임무는 결정과 동일한 방식을 따릅니다.아래는 베를린의 폴란드 정복에 관환 임무입니다.
polish_conquest = { # 카테고리
conquer_berlin = { # 임무의 id
allowed = { tag = POL } # 폴란드에만 적용되며 다른 국가는 이를 보고나 활성화 할수 없음.
available = { # 목표 달성 조건
controls_state = 64 # 베를린 포함 64개 주를 통재 해야함
}
activation = { # 다음과 같은 상황에서 임무가 나타나고 카운트 다운이 시작됩니다.
has_war_with = GER # 독일과의 전쟁
}
is_good = yes # 이 임무는 긍정적인 임무입니까? 예(위기가 아님)
days_mission_timeout = 100 # 며칠 후 임무가 종료됩니까? (100일)
timeout_effect = { # 미션이 실패하면 어떻게됩니까?
add_political_power = -50 # 50pp를 잃습니다
}
complete_effect = { # 이션 성공 보상
add_political_power = 50 # 50pp획득
}
}
}

8. 카테고리 번역

카테고리와 의사 결정 모두 트리에 초점을 맞추기 위해 비슷한 방식으로 번역됩니다.
find_resources:0 "Find Resources"
find_resources_desc:0 "To increase the military might of our nation, we must find more natural resources within our borders to exploit"

develop_infrastructure:0 "Develop Infrastructure"
develop_infrastructure_desc:0 "In order to access our natural resources more effectively, we must develop rural infrastructure!"

resource_spree:0 "Resource Spree"
resource_spree_desc:0 "We should go on a resource spree to increase production for a short time"
(:0 뒤 부터 한글로 쓰셔야 합니다.)
경고 : 결정에 대한 설명은 필수입니다. 번역 파일에 "_desc"항목이 없으면 다른 모든 결정은 전혀 표시되지 않습니다.

8.1. 대상 번역

대상 의사 결정에서 대상 국가의 현지화를 위해 From을 사용할 수 있습니다.
help_others : 0 "인프라 관련 [From.GetName] 도움말"
help_others_desc : 0 "농촌 인프라를 위해 [From.GetName]에 도움을 보내야합니다."

[1] 인게임에서 번역하는 작업은 localisation 폴더에서 yml 파일을 생성하여 작업한다,