Hearts of Iron 3 - Eventler ve Event Yapımı - anderasandersen - 12-11-2015
Eventler ve event hazırlama hakkında birçok soru soruldu forumda ben de bir rehber hazırladım.
Eventler oyun esnasında oyundaki birçok şeyi değiştirmeye yarar. bölgelere binalar (fabrika, nükleer tesis vs.) eklemek, bölgelere core(hak iddiası) eklemek, bölgenin kontrolünü almak, veya depoları doldurmak.(fuel manpower money vs.)
Hadi başlayalım. Öncelikle sık kullanılar event kodları ve manalarını açıklamak istiyorum
# : sharp simgesi açıklama metni yazmanızı sağlar. oyun #dan sonra yazdıklarınızı çalıştırmaz. sadece eventi inceleyen kişi için kolaylık olması için kullanılır.
ai_chance = { factor = 100 } : bu ai'nin bu olaydaki seçeneklerden hangisini seçeceğini belirler. factor kısmında 100 yazarsanız eğer ai kesinlikle o seçeneği seçer. Küçük bir örnekle açıklayayım.
country_event = { #sovyetlerin fabrikalarıyla alakalı bir event.
id = 2104
title = "EVTNAME2104"
desc = "EVTDESC2104"
trigger = {
TAG = SOV
war_with = GER
NOT = { has_country_flag = Soviet_industry }
}
option = {
name = "EVTOPTA2104" # Leave it where it is!
manpower = 200
set_country_flag = Soviet_industry
ai_chance = { factor = 0 } #ai bu seçeneği seçmez.
}
option = {
name = "EVTOPTB2104" # Our industrial base is threatened!
ai_chance = { factor = 33 } #ai bu seçeneği %33 oranında seçer.
8211 = { industry = 5 } # Sverdlovsk
8366 = { industry = 5 } # Kopeysk
782 = { industry = -2 } # Leningrad
1231 = { industry = -1 } # Kalinin
1235 = { industry = -1 } # Ivanovo
1278 = { industry = -1 } # Vladimir
1991 = { industry = -1 } # Homyel'
2049 = { industry = -1 } # Chernihiv
2222 = { industry = -1 } # Makhrovka
2575 = { industry = -1 } # Vinnytsya
3581 = { industry = -1 } # Sevastopol
set_country_flag = Soviet_industry
}
...
country_event = { id = 1975 : event ıd ler eventlerin kimlik numaraları gibidir. her eventin kendi kodu vardır.
oyunda kod ekranında eventleri bu ıd'leri kullanarak aktifleştiriyoruz.
TAG : eventin hangi ülke için kullanılabilir olduğunu gösterir. Ülke taglarını "C:\Program Files (x86)\Steam\steamapps\common\Hearts of Iron 3\history\countries" klasöründeki dosyalardan öğrenebilirsiniz. (AFG - Afghanistan afg=afganistanın tag ismi gibi.)
add_core = Province ID : bir bölgeye ülkenin coresini(hak iddiasını) eklemek için kullanılır. province ıd hangi bölgeye core ekleneceğini gösterir. Province ıdlerini "C:\Program Files (x86)\Steam\steamapps\common\Hearts of Iron 3\history\provinces" klasöründen öğrenebilirsiniz.
remove_core = Province ID : bir bölgeden bir ülkenin coresini silmeye yarar.
eventi aktifleştirmek konusu ise 2 şekilde olur.
1) alt+ 2 + 1 ile açtığımız hile ekranında event ıd'sini yazarak(event 1975 gibi)
2) eventlere tarih ekleyerek kendiliğinden aktifleşmesini sağlayarak. ancak bunu eğer mod yapmıyorsanız tavsiye etmem karışık bir olay (ve bazen çalışmadıkları oluyor.)
Yeni bir event yapmak için öncelikle bir .txt dsyası oluşturup kodları yazıyoruz (aşşağıdaki örneklerdeki gibi) ve ardından bu txt dosyasını "C:\Program Files (x86)\Steam\steamapps\common\Hearts of Iron 3\events" klasörüne kaydediyoruz. (Dosya ismini event ıdsi olarak yazmanız event klasöründe karmaşayı önleyecektir.)
Şimdi geçelim örneklere.
1. Örnek:
bir bölgeye fabrika eklemek için bir event. aynısını industry yerine
air_base, naval_base, coastal_fort, land_fort, anti_air, radar_station, nuclear_reactor, rocket_test, infra da yazarak diğer tip binaları ekleyebilirsiniz. daha fazla Province
country_event = { #fabrika eklemek
id = 1975
is_triggered_only = yes
title = "EVTNAME1404"
desc = "EVTDESC1404"
picture = "Danzig"
option = {
name = "EVTOPTA1404" # Then it is War
ai_chance = { factor = 100 }
4503 = { industry = 10 }
1799 = { industry = 10 }
2. Örnek:
newyork ve Washington DC şehirlerini Türkiyeye vermek.
country_event = {
id = 1976
is_triggered_only = yes
title = "EVTNAME1404"
desc = "EVTDESC1404"
picture = "Danzig"
option = {
name = "EVTOPTA1404" # Then it is War
ai_chance = { factor = 100 }
add_core = 4530 # WashingtonDC
add_core = 4279 # NewYork
USA = { country_event = 19750 }
}
}
country_event = {
id = 19750
is_triggered_only = yes
title = "EVTNAME1404"
desc = "EVTDESC1404"
picture = "Danzig"
option = {
name = "EVTOPTA1404" # Then it is War
ai_chance = { factor = 100 }
4530 = { secede_province = TUR } # WashingtonDC
4279 = { secede_province = TUR } # NewYork
}
}
3. Örnek
Ülkenin depolarını kaynak ile doldurmak(oyunun vikipedi adresinden aldım)
country_event = {
id = 1977
is_triggered_only = yes
title = "EVTNAME1404"
desc = "EVTDESC1404"
picture = "Danzig"
option = {
name = "EVTOPTA1404" # Then it is War
ai_chance = { factor = 100 }
energy = 99000
metal = 99000
rare_materials = 99000
crude_oil = 99000
supplies = 99000
money = 99000
manpower = 99000
}
}
sorular üzerine birkaç şeye daha açıklık getireyim.
1)Eventlerin resimlerini düzenlemek.
Event resimleri Hearts of Iron 3\gfx\pictures\events klasöründe .tga formatında ve 466x203 boyutlarında olmalıdır.
2) çok seçenekli eventler.
verdiğim örnekler hep tek seçenekli eventlerdi. bir de çok seçeneklileri anlatayım. çok seçenekli eventlere örnek vermek gerekirse her oyunda karşımıza çıkan Re-organization of the Foreign Ministry olabilir. yapımı da çok zor değildir.
country_event = {
id = 5027
trigger = {
not = { has_country_flag = restructuring_the_foreign_ministry }
is_in_any_faction = no
not = { year = 1940 }
war = no
}
mean_time_to_happen = {
months = 18
modifier = {
factor = 2.0
war = yes
}
}
title = "EVTNAME5027"
desc = "EVTDESC5027"
picture = "politics1"
option = {
name = "EVTOPTA5027" # Good initiative
set_country_flag = restructuring_the_foreign_ministry
add_country_modifier = {
name = "restructuring_the_foreign_ministry"
duration = 20
}
}
option = {
name = "EVTOPTB5027" # There's no need
set_country_flag = restructuring_the_foreign_ministry
add_country_modifier = {
name = "troublesome_ministry"
duration = 20
}
}
}
gördüğünüz gibi giğer erneklerde tek option yazıp eventi bitiriyorduk. burada fazladan bir option satırı açıp 2. seçeneği yazıyoruz.
3) kendiliğinden gerçekleşen eventler.
eventler triggerli(tetikleyicili) veya zaman ayarlı olabilir.
a) zaman ayarlı eventler:
mean_time_to_happen = {
months = 4
}
satırları ile eventlere zaman ayarı koyabilirsin. months = 4 demek 1936 nın 4. ayında bu event kendiğinden gerçekleşecek demektir.
b) triggerli eventler:
trigger = {
tag = SPR
not = { exists = SPA }
war = no
not = { government = national_socialism }
not = { government = fascist_republic }
not = { government = germanic_fascist_republic }
not = { government = right_wing_republic }
not = { government = hungarian_right_wing_republic }
not = { government = right_wing_autocrat }
not = { government = absolute_monarchy }
not = { government = imperial }
not = { has_country_flag = spanish_civil_war }
}
triggerli eventler belirli koşullarda aktif olur. örnekteki trigger e göre event eğer Republican Spain bağımsızsa, savaşta değilse, Nationalist Spain yoksa(daha ortaya çıkmamışsa) ve Republican Spainin yönetim şekli national_socialism ,fascist_republic , germanic_fascist_republic, right_wing_republic, hungarian_right_wing_republic, right_wing_autocrat, absolute_monarchy, imperial değilse ve spanish_civil_war gerçekleşmemişse eğer çalışır. bu koşullardan bir tanesi bile sağlanmazsa eğer event çalışmaz. Oyunnun orjinal eventlerinden bu ikisinide bulunduran bir örnek vereyim:
#######################
# Spanish Civil War - #
#######################
# Republican Spain
country_event = {
id = 2001
major = yes
trigger = {
tag = SPR
not = { exists = SPA }
war = no
not = { government = national_socialism }
not = { government = fascist_republic }
not = { government = germanic_fascist_republic }
not = { government = right_wing_republic }
not = { government = hungarian_right_wing_republic }
not = { government = right_wing_autocrat }
not = { government = absolute_monarchy }
not = { government = imperial }
not = { has_country_flag = spanish_civil_war }
}
mean_time_to_happen = {
months = 4
}
title = "EVTNAME2001"
desc = "EVTDESC2001"
picture = "SCW"
option = {
name = "EVTOPTA2001" # En la Defensa de la Democracia!
set_country_flag = spanish_civil_war
eastern_spain_region = { add_core = SPA }
northern_spain_region = { add_core = SPA }
SPR_5321 = { add_core = SPA }
SPR_5289 = { add_core = SPA }
SPR_4913 = { add_core = SPA }
SPR_9506 = { add_core = SPA }
SPR_9451 = { add_core = SPA }
SPR_10002 = { add_core = SPA }
northern_spain_region = { secede_province = SPA } # Nationalist Spain
SPR_9451 = { secede_province = SPA }
SPR_9506 = { secede_province = SPA }
SPR_5321 = { secede_province = SPA }
SPR_5289 = { secede_province = SPA }
10002 = { secede_province = SPA }
5156 = { secede_province = SPA }
5125 = { secede_province = SPA }
5129 = { secede_province = SPA }
5030 = { secede_province = SPA }
4954 = { secede_province = SPA }
4913 = { secede_province = SPA }
5002 = { secede_province = SPA }
head_of_state = 11033 # Azaña
head_of_government = 11039 # Largo Caballero
foreign_minister = 11034 # Barcia Trelles
armament_minister = 11144 # Giner de los Rios
minister_of_security = 11189 # Azcarate
minister_of_intelligence = 11217# Balboa
chief_of_staff = 11007 # Miaja
chief_of_army = 11007 # Miaja
chief_of_navy = 11067 # Giral
chief_of_air = 11321 # Hidalgo de Cisneros
relation = { who = ENG value = 10 }
relation = { who = FRA value = 10 }
relation = { who = SOV value = 5 }
relation = { who = USA value = 5 }
relation = { who = GER value = -15 }
relation = { who = ITA value = -10 }
relation = { who = POR value = -10 }
dissent = 15
SPR = { war = {
target = SPA
attacker_goal = { casus_belli = civil_war }
defender_goal = { casus_belli = civil_war }
}
}
SPA = { split_troops = 0.55 }
4540 = { infantry_brigade = current }
4540 = { infantry_brigade = current }
threat = { who = all value = -150 }
national_unity = 50
SPA = {
set_country_flag = spanish_civil_war
capital = 4155
country_event = 2002
}
}
}
# Spanish Civil War - Nationalist Spain
country_event = {
id = 2002
is_triggered_only = yes
title = "EVTNAME2002"
desc = "EVTDESC2002"
picture = "SPA_fascist"
option = {
name = "EVTOPTA2002" # Anarchism and Communism must fall!
national_unity = 50
head_of_state = 10001
head_of_government = 10002
foreign_minister = 10003
armament_minister = 10004
minister_of_security = 10005
minister_of_intelligence = 10006
chief_of_staff = 10008
chief_of_army = 10008
chief_of_navy = 10009
chief_of_air = 10010
rare_materials = 2000
crude_oil = 4000
supplies = 10000
energy = 5000
metal = 5000
money = 400
government = right_wing_autocrat
set_country_flag = new_units
manpower = 100
# Burgos
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
# Zaragoza
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
# Càceres
4593 = { infantry_brigade = current }
4593 = { infantry_brigade = current }
# Cádiz
5125 = { infantry_brigade = current }
5125 = { infantry_brigade = current }
# Tenerife
10729 = { infantry_brigade = current }
# Zaragoza
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
# Tanger
5319 = { infantry_brigade = current }
# Mallorca
4913 = { infantry_brigade = current }
}
}
# Troops Defect
country_event = {
id = 2005
is_triggered_only = yes
title = "EVTNAME2005"
desc = "EVTDESC2005"
picture = "SCW"
option = {
name = "EVTOPTA2005" # OK
SPR = {
split_troops = 0.45
4540 = { infantry_brigade = current }
4540 = { infantry_brigade = current }
4540 = { infantry_brigade = current }
}
# Burgos
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
4155 = { infantry_brigade = current }
# Zaragoza
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
4353 = { infantry_brigade = current }
# Càceres
4593 = { infantry_brigade = current }
4593 = { infantry_brigade = current }
# Cádiz
5125 = { infantry_brigade = current }
5125 = { infantry_brigade = current }
# Tenerife
10729 = { infantry_brigade = current }
# Tanger
5319 = { infantry_brigade = current }
# Mallorca
4913 = { infantry_brigade = current }
}
}
# Troops defect
country_event = {
id = 2006
trigger = {
exists = SPA
exists = SPR
or = {
tag = SPA
tag = SPR
}
SPA = { war_with = SPR }
not = { has_country_flag = new_units }
}
mean_time_to_happen = {
months = 5
}
title = "EVTNAME2006"
desc = "EVTDESC2006"
picture = "SCW"
option = {
name = "EVTOPTA2006" # Just in time!
set_country_flag = new_units
random_owned = {
infantry_brigade = current
infantry_brigade = current
}
random_owned = {
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - French Intervention
country_event = {
id = 2007
is_triggered_only = yes
title = "EVTNAME2007"
desc = "EVTDESC2007"
picture = "SCW"
option = {
name = "EVTOPTA2007"
capital_scope = {
infantry_brigade = current
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - British Intervention
country_event = {
id = 2008
is_triggered_only = yes
title = "EVTNAME2008"
desc = "EVTDESC2007"
picture = "SCW"
option = {
name = "EVTOPTA2007"
capital_scope = {
infantry_brigade = current
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - Soviet Intervention
country_event = {
id = 2009
is_triggered_only = yes
title = "EVTNAME2009"
desc = "EVTDESC2007"
picture = "SCW"
option = {
name = "EVTOPTA2007"
capital_scope = {
infantry_brigade = current
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - German Intervention
country_event = {
id = 2010
is_triggered_only = yes
title = "EVTNAME2010"
desc = "EVTDESC2007"
picture = "SCW"
option = {
name = "EVTOPTA2007"
capital_scope = {
infantry_brigade = current
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - Italian Intervention
country_event = {
id = 2011
is_triggered_only = yes
title = "EVTNAME2011"
desc = "EVTDESC2007"
picture = "SCW"
option = {
name = "EVTOPTA2007"
capital_scope = {
infantry_brigade = current
infantry_brigade = current
infantry_brigade = current
}
}
}
# Spanish Civil War - Victory
country_event = {
id = 505
trigger = {
TAG = SPA
SPR = { exists = no }
NOT = { has_country_flag = spanish_civil_war_over }
}
title = "SCWVIC"
desc = "SCWVICDESC"
picture = "SPA_Victory"
option = {
name = "EVTOPTA1406"
capital = 4540
eastern_spain_region = { add_core = SPA }
northern_spain_region = { add_core = SPA }
eastern_spain_region = { remove_core = SPR }
northern_spain_region = { remove_core = SPR }
SPR_5321 = { add_core = SPA }
SPR_5289 = { add_core = SPA }
SPR_4913 = { add_core = SPA }
SPR_9506 = { add_core = SPA }
SPR_9451 = { add_core = SPA }
SPR_10002 = { add_core = SPA }
SPR_5321 = { remove_core = SPR }
SPR_5289 = { remove_core = SPR }
SPR_4913 = { remove_core = SPR }
SPR_9506 = { remove_core = SPR }
SPR_9451 = { remove_core = SPR }
SPR_10002 = { remove_core = SPR }
set_country_flag = spanish_civil_war_over
}
}
4) event hazırlamak için tavsiye ettiğim programlar:
irfanview : sadece .tga ları değil neredeyse tüm resim türlerini açabilen bir program.
notepad++ : windowsun içindeki notepad dan çok daha kapsamlı ve kolay kullanışlı birden fazla .txt dosyasının içeriğini aynı anda görüntüleyip düzenleyip arama yapabilmenizi sağlayan bir program.
paint.net : resim düzenlemek için kullandığım ücretsiz bir program. resimlerin boyutlarını değiştirmek ve siyah beyaz yapmak için kullanıyorum
ddsviewer : eventlerin olmasa da yeni birim eklerken kullandığım dds dosyalarını açarken işe yarayan bir program
RE: Hearts of Iron 3 - Eventler ve Event Yapımı - turkish lokum - 05-04-2017
HOİ3 TFH da eventlerle ilgili bir sorum olacak.Mesela ben doğu ve batı almanya nın kurulmasını istiyorum ama bu belirli şartlar yerine geldiğinde olsun bunu nasıl yapabilirim teşekkürler.
|