AI - Modding: deutsch

Antworten
Benutzeravatar
Fenneko
Rang 6
Beiträge: 188
Registriert: Fr Jan 19, 2007 5:47 pm
Veteranenorden

AI - Modding: deutsch

Beitrag von Fenneko »

AI Modding - "De Deitsche Version"



Da mir empfohlen wurde den Werten G’Kar anzuquatschen, was das AI – Modding betrifft, und diesem „nur“ die englische Version der Hoi-Wiki bekannt war (http://www.paradoxian.org/hoi2wiki/inde ... g_ai_files), hab ich mir zum Ziel genommen, die ganze Anleitung für solche, die die englische Sprache nicht so gut beherrschen, oder für solche, die wie ich, englischfaul sind und Anleitungen lieber auf Deutsch lesen, diese Seite in die deutsche Sprache zu übersetzen. ;-)

Natürlich ist diese Version noch nicht ganz perfekt, deshalb bitte ich um Erweiterungs – und Verbesserungsvorschläge!

Zuerst stellt sich die Frage: Wie binde ich ein AI file in das Szenario ein?
Falls im *.INC file der entsprechenden Nation kein AI file bestimmt ist, so wird das file TAG_Jahr.ai eingebunden. Wenn man aber selber ein eigenes Szenario schreibt, wäre es denke ich mal besser, das AI file in der *.INC datei zu definieren.


Im INC File einbinden:

Hier am Beispiel mit Finnland im Szenario Barbarossa:
unter der "country = {}" Einstellung kann man das AI file definieren, indem man, wie im Beispiel, schreibt ai = "" und in die "" schreibt man den Namen des files.

country = {
tag = FIN

ai = "fallbarbarossa_FIN.ai"

policy = {
date = { year = 0 month = january day = 0 }
democratic = 8
political_left = 1
free_market = 9
freedom = 7
professional_army = 5
defense_lobby = 9
interventionism = 4
}

Mit einem Event einbinden(Beispiel von Tain):
event = {
id = 991227
random = no
country = U00

trigger = { exists = U00
ai = yes

}

name = "AI_EVENT"
style = 0

date = { day = 1 month = january year = 1936 }
offset = 1
deathdate = { day = 29 month = may year = 1948 }

action_a = {
command = { type = ai which = "Mazedonien.ai" }
}
}


Generelles

#--------------------------------------------------------------------------------------------------------------------------------------
Standart = yes, wenn aktiviert, versucht das Land, jedes Jahr ein neues AI
– File zu laden

Code: Alles auswählen

switch = [yes/no]	
#--------------------------------------------------------------------------------------------------------------------------------------
Hier bin ich mir nicht ganz sicher. Anscheinend werden hier flags definiert.

Code: Alles auswählen

       
flags = {
  	testflag = yes
  	invade_albania = no
  	assist_finland = no
    }
#--------------------------------------------------------------------------------------------------------------------------------------
Chance, dass ein Land einer Gebietsforderung nachkommt

Code: Alles auswählen

claim_acceptance = X 
#--------------------------------------------------------------------------------------------------------------------------------------

Länder, denen wir Gebietsansprüche stellen werden, falls wir welche auf ihre Gebiete haben.

Code: Alles auswählen

demand_claims = {
	EST
	LAT
	ROM
	LIT
	FIN
}
#--------------------------------------------------------------------------------------------------------------------------------------
Länder, die wir erschaffen werden, falls wir ihre Provinzen besitzen

Code: Alles auswählen

liberate = {
	LIT
	FIN
}
#--------------------------------------------------------------------------------------------------------------------------------------
Spezielle Abwehr gegen ein Land; Wert = [0 - 10]

Code: Alles auswählen

resistance = { 
	ROM = 8
}



#--------------------------------------------------------------------------------------------------------------------------------------

Diese Werte geben an, wie sehr wir ein Land zerstören wollen. Das Land mit dem höchsten Wert, muss als
erstes dran glauben.

Code: Alles auswählen

combat = {
	ENG = 60
	FRA = 70
}
#--------------------------------------------------------------------------------------------------------------------------------------
Ländern, denen wir die Unabhängigkeit garantieren. Desto höher der Wert,
desto eher greifen wir in einen Krieg ein, falls dieses Land angegriffen # wird.

Code: Alles auswählen

protect = {
	TUR = 100
	DAN = 100
}
#--------------------------------------------------------------------------------------------------------------------------------------
Mit Ländern, die hier aufgelistet sind, werden wir freundlich agieren und versuchen, ein Bündnis mit ihnen
einzugehen.

Code: Alles auswählen

befriend = {
	TUR = 100
	DAN = 100
}
#--------------------------------------------------------------------------------------------------------------------------------------

Dies ist dafür gut, dass wenn man will, dass die AI in einem Krieg nach speziellen Provinzen “jagt”. Die AI
wird versuchen (hier zb.) die Provinz mit der ID 324 in einem Krieg oder den Friedensverhandlungen zu
bekommen. Der Wert nach dem „=“ zeigt wiederum die Priorität an (Wert zwischen 1 und 100)

Code: Alles auswählen

target = {
	324 = 50 }
#--------------------------------------------------------------------------------------------------------------------------------------
Maximale IK, die für Upgrades ausgegeben wird.

Code: Alles auswählen

upgrading = 0.1		
#--------------------------------------------------------------------------------------------------------------------------------------
Maximale IK, die für Unterstützung der Armeen ausgegeben wird.

Code: Alles auswählen

reinforcement = 0.1
#--------------------------------------------------------------------------------------------------------------------------------------
Wenn mehr als (hier: 0.3) der angegebene Prozentsatz der IK vom Gegner besetzt ist  brich in Panik aus und bau Truppen.

Code: Alles auswählen

desperation = 0.3	

#--------------------------------------------------------------------------------------------------------------------------------------
Die voraussichtliche Zeit, in der die KI sich strategisch umgruppiert.

Code: Alles auswählen

strat_redeploy_threshold = [tage]
#--------------------------------------------------------------------------------------------------------------------------------------
Verhältnis von Divisionen, die sich gleichzeitig umgruppieren. Standarteinstellung: 0.25

Code: Alles auswählen

max_redeploying = X
#--------------------------------------------------------------------------------------------------------------------------------------
Ob die AI Nachschub verwenden soll

Code: Alles auswählen

use_offensive_supply = yes/no
#--------------------------------------------------------------------------------------------------------------------------------------
Der Wert, wie kriegstreiberisch eine Nation ist (Achtung bei zu extremen Werten!)

Code: Alles auswählen

 
war = 50 
#--------------------------------------------------------------------------------------------------------------------------------------
Die Neutralität eines Landes, also wie leicht es Bündnisse eingehen soll (ACHTUNG: setzt diesen Wert nicht zu gering, weil es sonst zu unnatürlich leichten Bündnisakzeptierungen der Länder kommt). Der Wert kann Zwischen 0 und 150 variieren. Natürlich nimmt die Orientierung zwischen Interventionist und Isolationist auch eine entscheidende Rolle bei dem Neutralitätsverhalten ein. Über einem Wert von 100 ist ein Bündnis praktisch nicht mehr möglich.
Beispiel: Schweiz hat einen Wert von 150 :D

Code: Alles auswählen

neutrality = 100


#--------------------------------------------------------------------------------------------------------------------------------------
Unter technology = {} wird das Forschungsverhalten der KI definiert.
Unter endgoal = {} kann man der KI ein spezielles Endziel vorschreiben, das sie versuchen soll zu erreichen.
Unter preference = {} kann man Techs reinschreiben, die bevorzugt erforscht werden soollen.
Ignore = {} Techs die hier reingeschrieben werden, werden nicht erforscht.

In den unteren Einstellungen, wie armor, infantry, industry usw. kann eingestellt werden, welche Bereiche, welche Priorität erhalten sollen.

Code: Alles auswählen

# Factors to modify for technological development.
technology = {
	endgoal = { ... }			
	preference = { ... }		
	ignore = { ... } 			

	armor = 2.0
	infantry = 3.0
	industry = 2.5
	aircraft = 0.6
	naval = 0.1
	land_doctrines = 4.0
	air_doctrines = 0.9
	naval_doctrines = 0.1
	secret_weapons = 0.4
}

#--------------------------------------------------------------------------------------------------------------------------------------
In trade = {} wird das bevorzugte Handelsverhalten der KI definiert.
Unter prefered = {} werden die Nationen eingetragen, mit denen bevorzugt gehandelt werden soll.
Unter embargo = {} werden Nationen eingetragen, mit denen die KI nicht handeln wird.
Cancel_deal_threshold gibt an, wie stark die KI eine unbrauchbare oder unfaire Handelsbeziehung abbrechen soll. Standartwert ist 4.0 Ein niedrigerer Wert bedeutet, dass die KI schneller solche Deals abbricht.
Die unteren Werte (energy, rare_materials usw.) stellen, wie man sicher schnell erkennt, die Rohstoffe dar. Hier kann man einstellen, wie wertvoll ein Rohstoff für die KI sein soll. Bei diesem Beispiel sind alle Werte auf -1 gestellt (= Standarteinstellung), das heißt, die KI ignoriert die Wertverhältnisse der Tabelle aus "db\resource_values.csv" und handelt je nach Bedarf.

Code: Alles auswählen

trade = {
	favored = {
		TAG = X
  	}
	embargo = {
		TAG  		
	}
	
	
	cancel_deal_threshold = X		

	energy = 			-1
	rare_materials = 		-1
	metal =				-1
	oil = 				-1
	supplies = 			-1
	money = 			-1
}


#--------------------------------------------------------------------------------------------------------------------------------------
In tech_sharing wird eingestellt, wie sich die KI beim Hergeben von Technologien verhalten soll.
Unter favored = {} werden die bevorzugten Nationen eingetragen, denen die KI lieber Technologien gibt.
Den Nationen unter embargo = {} gibt die KI keine Techs.
Unter not = {} werden die IDs der Techs eingegeben, die wir nicht sharen.
Unter prioritized = {} werden die IDs der Techs eingetragen, die die KI bevorzugt shared.

Code: Alles auswählen

tech_sharing = {
	favored = {
		TAG = X  	
		...
	}
	embargo = {
		TAG  				
		...
	}
	not = {
		ID  		
		...
	}
	prioritized
		ID = X  	
		...
	}
}

#--------------------------------------------------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------------------------------------------------
Kriegsführung
#--------------------------------------------------------------------------------------------------------------------------------------
#--------------------------------------------------------------------------------------------------------------------------------------
Das maximale Verhältnis von freundlichen zu feindlichen Einheiten entlang der Grenze. Ist also der Wert 4, so wird die KI versuchen, für eine bestehende Gegnereinheit 4 eigene auf der Linie aufzustellen. Meist hat ein Land gar nicht so viele Einheiten, dann stellt es einfach so viele wie möglich auf.

Code: Alles auswählen

max_front_ratio	 = X
#--------------------------------------------------------------------------------------------------------------------------------------
Bestimmt den vorhin besprochenen Wert für hier angegebene Länder speziell. Wenn wir z.b. Nicht eine Rate von 4.0 an der finnischen Grenze wollen, sondern eine von 2.0, so definieren wir diese hier extra.

Code: Alles auswählen

max_front_ratios = { 			
	FIN = 2.0  
	... 
}
#--------------------------------------------------------------------------------------------------------------------------------------
Dieser Wert gibt an, welche Rate an Divisionen die KI für die Unterstützung verbündeter Nationen bereit ist, vorzubereiten. Laut meiner Quelle soll man diesen Wert nicht zu niedrig setzen. Default ist also 0.75

Code: Alles auswählen

exp_force_ratio	 = 0.75


#--------------------------------------------------------------------------------------------------------------------------------------
Will man nicht, dass die KI Truppen zu gewissen Ländern entsenden (auch, wenn sie verbündete sind), so gibt man den Tag des nicht zu unterstützenden Landes hier ein. Kann hilfreich sein, wenn z.b. ein Kleinstaat (sagen wir mal als Beispiel: Siam ), der sich auf einer komplett anderen Position befindet als der Beschützer (sagen wir hier als Beispiel: Italien) nicht unterstützt werden soll, weil die Verbindung zu schlecht ist, oder weil nicht genug Transporter oder Konvois vorhanden sind.

Code: Alles auswählen

no_exp_forces_to = {
	TAG
	...
}
#--------------------------------------------------------------------------------------------------------------------------------------
Die Anzahl (in Proportion)der Truppen, die in Kriegszeiten maximal als Garnisonen arbeiten

Code: Alles auswählen

max_garrison_prop		= [0.0-1.0]
#--------------------------------------------------------------------------------------------------------------------------------------
Das Selbe wie oben nur wird hier die Minumumsgrenze festgelegt.

Code: Alles auswählen

min_garrison_prop		= [0.0-1.0] 
#--------------------------------------------------------------------------------------------------------------------------------------
Hier wird angegeben, wie die KI die Provinzen ausbauen soll, mögliche Parameter werden gleich hier drunter aufgelistet.

Code: Alles auswählen

construction = {
}
NR. 1: Wie viel IK soll für den Ausbau der Provinzen verwendet werden dürfen ? (Proportion)

Code: Alles auswählen

max_factor			= [0.0-1.0]
NR. 2 : “AA_batteries = [yes/no/atwar/not_atwar]” gibt an, ob Flakgeschütze gebaut warden sollen („yes“ für ja, „no“ für nein, „atwar“ für nur wenn sich das Land im Krieg befindet und „not_atwar“ für nur wenn sich das Land nicht im Krieg befindet.)
max_AA_level: dies gibt an, dass nicht mehr als X Flakgeschüze gebaut werden sollen.
AA_provs = { }: hier kann man die ID’s der Provinzen reinschreiben, die bevorzugt ausgebaut werden sollen.
Ein Danke hierbei an G’Kar, der mir und meiner Unwissenheit auf die Sprünge half und mir erklärte, wofür AA_batteries steht ;-) :D

Code: Alles auswählen

        AA_batteries = [yes/no/atwar/not_atwar]	
	max_AA_level = X				
	AA_provs = { ... }		









NR.3: Das gleiche, wie NR2 nur diesmal mit Küstenverteidigungen.

Code: Alles auswählen

       coastal_fort 		= [yes/no/atwar/not_atwar]
	max_coastal_level	= X
	coastal_fort_provs	= { ... }

NR4: Das Gleiche, wie NR2 nur diesmal mit Radarstationen.

Code: Alles auswählen

	radar_station 		= [yes/no/atwar/not_atwar]
	max_radar		= X			
	radar_provs	 	= { ... }

NR5: Das Gleiche, wie NR2 nur diesmal mit Flughäfen

Code: Alles auswählen

	air_base 		= [yes/no/atwar/not_atwar]
	max_air_base		= X			
	air_base_provs		= { ... }

NR6: Das Gleiche, wie NR2 nur diesmal mit Häfen.

Code: Alles auswählen

naval_base 		= [yes/no/atwar/not_atwar]
max_naval_base		= X				
naval_base_provs	= { ... }	

NR7: Hierbei geht es, ähnlich wie bei NR2, um die Landverteidigung. Außerdem gibt es hier eine kleine Feinheit, die mir sehr gut gefällt: Mit „fort_borders = {}“ kann man einstellen, dass entlang von Grenzen mit gewissen Ländern die Forts gebaut werden. Der Rest ist parallel zu verstehen mit NR2

Code: Alles auswählen

land_fort			= [yes/no/atwar/not_atwar]
	max_land_level		= X				
	fort_borders = {							
		GER,
		ITA,
		...
	}
	fort_provs		= { ... }	

NR8: Normalerweise wird IK gebaut, wenn sich eine Provinz mit einem hohen Rohstoffvorkommen in der Nation befindet. Hier kann man jedoch ändern, ob während Kriegszeiten die IK ausgebaut werden soll.

Code: Alles auswählen

	ic_at_war			= [yes/no] 
NR9: Dies zwingt die KI von einem Überschuss an Ressourcen in einer Provinz abzusehen und trotzdem weiter IK zu bauen. Ist angeblich nützlich, wenn das betreffende Land eine Expansion planen soll.
Wert X stellt das Jahr dar, bis wie lange die KI dies tun soll.

Code: Alles auswählen

	force_ic_until		= X	

NR10: Die KI hört auf IK zu bauen, wenn das Jahr X gekommen ist.

Code: Alles auswählen

	ic_end_year			= X	
NR11: Hier werden die Provinzen (also ihre ID) reingeschrieben, in denen bevorzugt IK gebaut werden soll.

Code: Alles auswählen

	IC_provs			= { ... }	
#--------------------------------------------------------------------------------------------------------------------------------------
Diese Werte beschreiben die Priorität der KI beim Verteidigen.
Defend_overseas_beaches: sollen Übersehküsten verteidigt werden? (yes/no) no = Standart
home_multiplier: Heimatgebiete bekommen bei der Priorität einen zusätzlichen Multiplikater (= X), Standart = 0.5
overseas_multiplier: in anderen Gebieten (also nicht heimische), bekommt der Wert folgenden Multiplikator ( = X), Standart = 0.3333
home_peace_cap = Zu Friedenszeiten brauchen wir maximal X Divisionen in unserer Hauptstadt. (kein Standartwert vorhanden, ist auch abhängig von der Größe und der Vegetation des Landes)
war_zone_odds: Abtransport der Truppen bei X mäßiger Überlegenheit des Gegners (Standart = 2)
area_multiplier: soll eine spezielle Provinz, die keine Heimatprovinz ist (!), einen anderen Multiplikator erhalten, als die restlichen Koloniegebiete, so kann dieser Wert hier speziell definiert werden (hier als Beispiel Provinz Nr. 155 erhält den speziellen Multiplikator 1.5)

ACHTUNG: Hier wird empfohlen, die Standartwerte beizubehalten bzw. sie nicht zu stark zu verändern, da, besonders bei ersten Versuchen, die KI hier ordentlich einfahren kann.

Code: Alles auswählen

garrison = {

	defend_overseas_beaches = [yes/no] 

	home_multiplier = X
	overseas_multiplier = X 
	home_peace_cap = X  
	war_zone_odds = X   
	area_multiplier = { 
		155 = 1.5
		....}
	}











#--------------------------------------------------------------------------------------------------------------------------------------
Die nachkommenden Werte sind glaube ich auch noch in das garrison = {} zu schreiben. Sicher bin ich mir aber nicht, da es in der Quelle nicht dabei stand. Falls wer näheres weiß, solle er sich doch bitte melden.
Folgende Einstellungen ähneln in gewissen Bereichen stark dem Vorgänger, sind jedoch diesmal auch besonders für die Offensive ausschlaggebend. Auch hier ist wieder mit der Wertveränderung Vorsicht geboten!
Beach: Wie wichtig ist die Verteidigung des Strandes?
Capital = Wie wichtig ist die Verteidigung der Hauptstadt?
Human_border = Wie stark soll die Grenze zum menschl. Spieler verteidigt werden? (fällt bei allierten menschl. Spielern weg!)
War_target = Priorität der Verfolgung der Kriegsziele.
Reserves = Bonuspriorität für Provinzen, die gleich hinter der Kriegsfront liegen.
Opposing_alliance: Verteidigung für feindliche Allianzen (für neutrale Staaten sind alle Allianzen gegnerische)
Unstable_border = Priorität für angrenzene Länder die sich im Krieg befinden (Beispiel: Rumänien wird die Grenze zu Polen stärker verteidigen, wenn es von den Deutschen oder den Russen angegriffen wird.)
Country_priorities = spezielle Werte für bestimmte Nationen (überschreibt die Werte "opposing_alliance", "claim_threat" und "unstable_border" für dieses Land!)
Province_priorities = spezielle Priorität für gewisse Provinzen; bei einem negativen Wert, werden alle anderen Prioritäten überschrieben und auf 0 gesetzt (nur für diese Provinz)
Ignore = macht die Provinz, wie der Name schon sagt, gleichgültig für die Nation und setzt also den Wert auf 0.
Key_point_prio_mult = Die Siegespunkte einer Provinz werden mit dem Wert X multipliziert und diese Zahl ergibt dann die Priorität für die Siegespunkteprovinzen.

Code: Alles auswählen

	# PRIORITIES:

	beach = 50					
	capital = 100				
	human_border = 210	
	war_target = 100		

	reserves = 20	
	opposing_alliance = 100		
	claim_threat = 100			
	unstable_border	= 50		

	
	country_priorities = {
		ENG = 30
		FRA = -1			
		...
	}


	province_priorities = {
		527 = 50 			
		1123 = -1	
		...
	}
	
	ignore = {
		1123	
	}

	key_point_prio_mult		= X	
}







#--------------------------------------------------------------------------------------------------------------------------------------
Dieses front = {} bietet eine große Anzahl an Variationen, deshalb werde ich sie auf mehrere Codes aufteilen, um die Übersicht nicht leiden zu lassen.

River = Gibt an, wie der Angriffsfaktor der angreifenden Einheiten multipliziert werden soll (alles größer 1 bringt Vorteile für den Angreifer)

Folgende Einstellungen stellen Vorteile für den Verteidiger ein: (bei 1.0 gibt es keine Veränderungen)
Largefort = für Forts über Stufe 6
Smallfort = für Forts von und unter 6
Occupied = für (wahrscheinlich vom Feind) umgebene Provinzen im gegnerischen Gebiet
Owned = für umgebene Provinzen im eigenen Gebiet

Folgende Einstellungen stellen Nachteile für den Angreifer ein (wieder mit dem wert multipliziert)
Frozen_attack = Angriff bei verschneiten Gebieten
Snow_attack = Angriff bei Schneefall
Blizzard_attack = Angriff bei einem Blizzard
Storm_attack = Angriff während eines Sturms
Muddy_attack = Angriff bei matschigen Bodenbedingungen

Die nächsten stellen die Nachteile für die Truppen bei gewissen Reliefbedingungen ein:
Jungle_attack = Dschungel
Mountain_attack = Berg
Swamp_attack = Sumpf
Forrest = Wald
Hill = Hügellandschaft
Urban = Städte


Code: Alles auswählen

front = {
	river = 		x   	

	largefort 	= x 
	smallfort	= x 
	occupied	= x
	owned		= x 


	frozen_attack 	= 0.50
	snow_attack 	= 0.50
	blizzard_attack = 0.25
	storm_attack 	= 0.60
	muddy_attack 	= 0.75


	jungle_attack 	= 0.85
	mountain_attack	= 0.60
	swamp_attack 	= 0.60
	forest_attack 	= 0.85
	hill_attack 	= 0.75
	urban_attack 	= 0.40
	




Weiter gehts mit folgenden Bereichen :
Support_defense_prop = gibt an, wie viele Truppen die KI versuchen soll an eine Provinz zu schicken, die angegriffen wird.
Recklessness = Der Wert X lässt sich zwischen 0 und 3 definieren. 0 bedeutet, die AI wird jedes kleinste Risiko vermeiden. 3 verwandelt die KI jedoch in einen selbstmordenden Zocker ^^.

Distrib_vs_ai = Verteilung der Truppen gegen KI Gegner
Distrib_vs_human = Verteilung der Truppen gegen menschlichen Gegner
Even – KI verteilt die Truppen gleichmäßig entlang der Grenzen
Reactive – Die KI richtet sich bei der Verteilung nach der Armeestärke des Gegners an der Grenze.
Defensive – Truppen werden in wichtigen Provinzen stationiert (hohe IK, Siegespunkte,̷)
Offensive – KI sendet dort Truppen hin, wo der Gegner schwach ist.
Operational Defensive – KI versucht Einkesselungen des Gegners zu verhindern (setzt Truppen in die Gebiete, von denen es gute Rückzugsmöglichkeiten gibt)

Code: Alles auswählen

	support_defense_prop = X

	recklessness 		= X	
	
troops (to avoid encirclement.)
distrib_vs_ai 		= [even/reactive/defensive/offensive/op_defensive]
distrib_vs_human 	= [even/reactive/defensive/offensive/op_defensive]

In enemy_handicap wird festgelegt, welches Land für eine gewisse Anzahl von Tagen nicht angegriffen wird. (England wird hier zb. 100 Tage lang nicht angegriffen). Nach einem Krieg mit anschließendem Friedensvertrag wird dieser Wert wieder erneuert.
Passivity gibt an, wie langsam bzw. schnell ein Land gegen seinen Feind vorgeht. Ist die Passivität hoch, so wird man gegen dieses Land langsam vorgehen und günstige Momente für den Angriff auslassen. Wert ist variabel zwischen 0 und 100.
Auch hier finden wir (schon wieder) ein province_priorities, das wieder den militärischen Schutz für bestimmte Gebiete festlegt.

Code: Alles auswählen

	# Countries we do not counter-attack for a certain number of days
	enemy_handicap = {
		ENG = 100
		FRA = 120
		...
	}

	passivity = {
		ENG = 0
		FRA = 50
		...
	}
	
	province_priorities = {
		527 = 0.2
		...
	}








Reserve_grop gibt an, wie viele Truppen (proportionell gesehen) maximal an der Front als Reserve ein Stück hinter der Front bleiben.
Paniac_ratio_vs_ai = wenn der Wert X z.b. 2 ist und der Gegner an der Front doppelt so stark ist, wie unsere AI, so fordert die AI Unterstützungen an. Das ist das Selbe bei paniac_ratio_vs_human.
Enemy_reinf_days lässt die KI hinter die Linien des Gegners sehen und versucht dann X mal so viel Truppen an die Front zu schicken, wie sie der Gegner schickt.
Base_attack_odds: Die KI wird angreifen, wenn die sie X mal so viele Einheiten wie der Gegner hat.
Bei Min_attack_odds und max_attack_odds bin ich mir leider nicht ganz sicher, aber ich glaube es heißt so viel wie: die KI soll mindestens bzw. maximal eine Rate von X haben.
Reinforce_odds = wenn der Gegner die Rate X erreicht hat, soll die KI eine Verstärkung schicken.
Withdraw_odds = Die KI zieht sich von der Front zurück, wenn der Gegner im Verhältnis zur KI eine X mal so große Armee an der Front stehen hat.

Code: Alles auswählen

	reserve_prop			= 	[0.0-1.0]	
 
	panic_ratio_vs_ai	=	X	
	panic_ratio_vs_human	=	X	

	enemy_reinf_days 		= 	X	

	base_attack_odds		=	X		min_attack_odds			=	X		max_attack_odds			=	X		
	reinforce_odds			=	X 		
	withdraw_odds			= 	X	
}

#--------------------------------------------------------------------------------------------------------------------------------------
Das relative_build_scheme gibt an, ob die KI von jeder Einheit gleich viele bauen soll. Empfohlen wird „no“ zu wählen (jedes Land hat im AI file no gewählt), denn es wäre sinnlos (wenn z.b. Österreich gleich viele Transporter, U-Boote usw. wie Infanterie baut :S ).
Max_batch_peace gibt an, wie lang die KI maximal für eine Serienproduktion an Tagen verwenden soll. (In Friedenszeiten). Max_batch_war gibt das gleiche für Kriegszeiten an (auch für IK zb.)
Max_batch_home_front gibt auch wieder das selbe an, falls ein Krieg herrscht, der vor der Hausetüre (also in den Heimprovinzen) abläuft.
Unter „# Example Build Scheme“ stehen diverse Einheiten, die die KI bauen wird. Nach jedem Typ muss ein „=“ und ein Wert stehen (seis auch nur 0) Hierbei ist zu sagen, dass alle Zahlen zusammen unbedingt 100 ergeben müssen (die Zahlen sind also die Prozent)
Die Summe der Einheiten der „Bevorzugten Landeinheiten“ sollte <= 100 sein.
Bei den bevorzugten Marineeinheiten war als Beispiel leider nur „cag“ dabei. Wenn jemand weitere Typen weiß, bitte posten, dann wird es hier erhänzt :-) Auch hier muss die Summe wieder <= 100 sein.

Code: Alles auswählen

military = {
	relative_build_scheme 	= [yes/no]	
	max_batch_peace = 800					
	max_batch_war = 500			 			
	max_batch_home_front = 190				

# Example Build scheme:
	infantry = 		3
	cavalry = 		0
	motorized = 	5
	mechanized = 	6
	light_armor = 	0
	armor = 		10
	paratrooper = 	0
	marine = 		6
	bergsjaeger = 	3
	garrison = 		0
	hq = 			2
	militia = 		0
					# 35 %

	escort = 		5
	multi_role = 	7
	interceptor = 	3
	strategic_bomber = 4
	tactical_bomber = 6
	naval_bomber = 	5
	cas = 			5
	transport_plane = 0
	flying_bomb = 	0
	flying_rocket = 0
					# 35 %

	battleship = 	2
	light_cruiser = 4
	heavy_cruiser = 3
	battlecruiser = 0
	destroyer = 	6
	carrier = 		6
	submarine = 	4
	transport = 	5
					# 30 %



# Bevorzugte Landeinheiten:
	artillery			=	15
	sp_artillery		=	5
	rocket_artillery	=	0
	sp_rocket_artillery	=	2
	anti_tank			=	3
	tank_destroyer		=	5
	light_armor_brigade	=	0
	heavy_armor			=	0
	super_heavy_armor	=	0
	armored_car			=	0
	anti_air			=	5
	police				=	0
	engineer			= 	5


# Bevorzugte Marineeinheiten
	cag				=	100

}








#--------------------------------------------------------------------------------------------------------------------------------------
In Admiral = {} werden spezielle KI Einstellungen für das Verhalten der Marineeinheiten bestimmt.
In target = {} kann man Häfenprovinzen einschreiben, die besonderen Schutz bekommen sollen.
Auch in core = {} kann dies noch verstärkt werden, weil man hier wichtige Siegespunkteprovinzen eingibgt (natürlich solche, die Zugang zum Meer haben)
Base = {} = welche Provinzen soll die KI als Basis verwenden?
Ignore = {} gibt an, welche GEBIETE ignoriert werden sollen, Provinzen haben hier drinnen nichts verloren ;-)
Min_org und min_dmg gibt an, ab welchen Wert eine Flotte (z.b. wie geschädigt sie ist) wieder den Hafen verlassen darf. Sie muss sich also vorher erholen, bzw. aufgestockt werden, wenn sie in einer Schlacht geschwächt wurde.
Return_org und return_dmg geben an, ab welchen Wert die Flotte zurück in den Hafen fahren soll, wenn sie geschwächt wird auf offener See.

Code: Alles auswählen


admiral = {

	target = {
		592 = 200 
		...
	}

	core = {
		592
		...
	}
	
	#Which provinces to use as bases..
	base = {
		592
		...
	}
	
	ignore = {
		"northern baltic"
		"southern baltic"
	}

	min_org		= 95%		
	min_dmg		= 95%   
	return_org 	= 60% 	
	return_dmg 	= 50% 	
}
















#--------------------------------------------------------------------------------------------------------------------------------------
Hier wird das Invasionsverhalten der KI beschrieben.
Base ist ein relativer Modifikator. Desto niedriger er ist, desto größer wird die Amplitude der Wichtigkeit für unwichtige und wichtige Ziele.
Random beschreibt eine Zufallsreichweite (1.0 = 1%)
Desto höher der Wert coastal ist, desto mehr vermeidet die KI Küstenforts.
Desto höher der Wert beach ist, desto mehr vermeidet die KI schlechte Küsten.
Desto höher der Wert distance ist, desto mehr vermeidet die KI lange Distanzen.
Max_distance gibt das Distanzmaximum für eine Invasion an. 1 steht für 100 km im Spiel.
Island gibt an, wie sehr die KI versucht Inselprovinzen einzunehmen.
Desto höher der Wert enemy ist, desto vorsichtiger ist die KI mit Gegnertruppen in den Provinzen
Desto höher der Wert adjacentenemy ist, desto vorsichtiger ist die KI mit nahen Gegnertruppen.
Air_base, naval_base und air_support geben die Priorität für diese an (also ob die KI Provinzen mit z.b. einem Flughafen bevorzugt erobern soll bei einer Invasion)
Falls ignore auf yes gestellt ist, werden Invasionen durchgeführt, obwohl “zu Hause” ein Frontenkrieg im Gange ist (Standart = no)
Für redirect gibt es folgende Einstellungsmöglichkeiten: „priority/nearest/home“. Ist priority gewählt, so beginnt die KI bevorzut eine Invasion auf Provinzen, die am ehesten den vorherigen Einstellungen gleichen. Ist nearist gewählt, so beginnt die KI eine Invasion auf die nächste für eine leichte Invasion günstige Provinz.
Ist home gewählt, so vermeidet die KI überhaupt Invasionen und bleibt zu Hause.
Unter target = {} können bevorzugte Provinzen für eine Invasion eingetragen werden. (Ist priority bei redirect ausgewählt, so wird die KI auf diese Provinzen eine Invasion versuchen). Desto höher der Wert hinter dem „=“ der ProvinzID ist, desto mehr bevorzugt die KI eine Invasion auf diese Provinz. Ist der Wert negativ, wird die KI eine Invasion auf diese Provinz vermeiden.

Code: Alles auswählen

invasion = {
  	#for evaluating specific province target.
	base = 1.0						
	random = 1.0					
	coastal = 1.0                   
	beach = 1.0                     
	distance = 1.0                  
	max_distance = 20.0		
	pocket = 1.0                    
	island = 1.0                    
	enemy = 1.0                     
	adjacentenemy = 1.0             
	air_base	= 0.1   			
	naval_base	= 0.1				
	air_support	= 0.1   			
	ignore = [yes/no]				

	redirect	  = priority/nearest/home   
	target = {
		898 = 1000 
	}
}

#--------------------------------------------------------------------------------------------------------------------------------------
In leader_ratio wird das Verhältnis zwischen Trppen und Truppführern definiert. Die Zahl der Truppführer ist gleich der Zahl der Truppen multipliziert mit dem Wert hinter dem "="
Beispiel: Wenn ich 100 Landeinheiten habe und der land_field_marshal, wie hier, 0.02 hat, so wird es 2 Landtruppführer geben (100*0.02 = 2)

Code: Alles auswählen

leader_ratio = {
	land_field_marshal =0.02
	land_general =0.031
	land_lt_general =0.41

	sea_grand_admiral =0.02
	sea_admiral =0.061
	sea_vice_admiral =0.401

	air_marshal =0.02
	air_general =0.091
	air_lt_General =0.11



}
#--------------------------------------------------------------------------------------------------------------------------------------
So, das war bis jetzt mal alles.
Hab ein Bisschen Kaffee dafür gebraucht :gluck: :D
Benutzeravatar
Preussenhusar
Rang 19
Beiträge: 12645
Registriert: Fr Mai 23, 2003 10:00 am
SI-VerdienstordenGroßkreuz des VeteranenordenRitterkreuz des Sankt Nikolaus-Ordens+19

Beitrag von Preussenhusar »

Sehr gut,
Ich habe es mal gepinnt.

PH
Mein Modder Forum mit Chat


Völker Europas Wahret Eure Heiligsten Güter !

█████████
█████████
----------------------------------

R.I.P.
Stauffenberg
In Gedenken CJ McWirah

Patrizier II AAR

http://www.wauzikontor.de/

Kaiser von Deutschland in der Wiki
Tain

Beitrag von Tain »

Große Klasse !!!
Sowas hab ich mir immer gewünscht...


Frage:
Wenn ich nun
Beispiel:
jungle_attack = 0.85
und per Switch Ai
jungle_attack = 0.90
mache ....wird dann 0.85 durch 0.90 ersetzt oder zusammen gezählt zu 1.75 ??
Benutzeravatar
Fenneko
Rang 6
Beiträge: 188
Registriert: Fr Jan 19, 2007 5:47 pm
Veteranenorden

RE

Beitrag von Fenneko »

ich würde sagen, es wird auf 0.9 gesetzt.
Benutzeravatar
Bushi
Rang 16
Beiträge: 4870
Registriert: Fr Feb 27, 2004 11:00 am
Hat sich bedankt: 108 Mal
Danksagung erhalten: 398 Mal
Großkreuz des Veteranenorden in bes. AusführungVerdienstorden der FremdenlegionKonvents-Medaille+1

Beitrag von Bushi »

In meinem Mod bekommt Frankreich Cores auf Deutschland. Immer wenn es diese bekommt, erklärt Frankreich(Pat.autokrat) Deutschland den Krieg, das soll es aber nicht tun. Ich habe den war Wert in der FRA1936 ai File auf 0 gesetzt, dennoch erklärt Frankreich munter den Krieg. Wie stelle ich das ab?
"Leisten wir uns den Luxus einer eigenen Meinung."
Benutzeravatar
Fenneko
Rang 6
Beiträge: 188
Registriert: Fr Jan 19, 2007 5:47 pm
Veteranenorden

Beitrag von Fenneko »

Probiers mit "combat" (das würde ich als erstes probieren!), "befriend" oder "protect" oder einer Mischung von allen drei. Eventuell kannst du auch noch die neutrality umstellen, aber ich glaube, das ist ja eher nicht in deinem sinn.

Hast du die Datei auch ordnungsgemäß eingebunden?
Antworten

Zurück zu „HoI 2 - Szenarios/Mods“