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. 인게임 파일 경로
- 디시전 파일은
Heart of Iron IV / common / decisions
- 에서 찾아 볼 수 있으며, 디시전 카테고리는
Heart of Iron IV / common / decisions / categories
- 에서 찾아 볼 수 있다. 참고용으로 사용할 수 있다. 다만 파일을 수정할 시 멀티플레이를 할 수 없어 게임을 재설치해야 한다.
3. 폴더 및 파일 생성
- 위와 같이 모드 폴더 안의 common 폴더 내에 decision 폴더를 생성하고 그 안에 categories 폴더를 생성한다. 카테고리 파일은 categories 폴더 내에, 디시전 파일은 decision 폴더 내에 생성해주면 된다. 파일명은 어떻게 하든 시스템 상 상관 없으나, 구별을 위해서 주로 국가 태그를 사용한다.
4. 카테고리 만들기
위 사진처럼 카테고리를 생성할 수 있다. 카테고리의 이름 (위 사진에서 deccat1)은 인게임에서 보이지 않기에 마음대로 정해도 된다. 다만 구별이 쉽게 해야 한다.[1] 아이콘을 넣을 것이라면 DDS 파일을 gfx 폴더에 넣고,
icon = (확장자를 제외한 파일 이름)
을 카테고리의 괄호 안에 넣어주면 된다. 또 카테고리에는 특정 상황에서만 작동되도록 조건을 넣어둘 수도 있다. 카테고리의 괄호 안에다 available = { (조건) } |
5. 디시전 만들기
디시전 제작의 예시. 괄호를 잘 닫아야 한다. |
(디시전 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 |
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 |
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 } |
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" |
경고 : 결정에 대한 설명은 필수입니다. 번역 파일에 "_desc"항목이 없으면 다른 모든 결정은 전혀 표시되지 않습니다.
8.1. 대상 번역
대상 의사 결정에서 대상 국가의 현지화를 위해 From을 사용할 수 있습니다.help_others : 0 "인프라 관련 [From.GetName] 도움말" help_others_desc : 0 "농촌 인프라를 위해 [From.GetName]에 도움을 보내야합니다." |
[1] 인게임에서 번역하는 작업은 localisation 폴더에서 yml 파일을 생성하여 작업한다,