PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Divisionen per Event aufstellen



von Stollberg
11.10.04, 09:58
Hallo zusammen!
Ich habe mal eine Frage:
Was muss ich anstellen, um einem Bündnisparter mit "Sonderdivisionen" unter die Arme zu greifen?
Als Beispiel:
Vichy soll sagen wir 15 Infaterie-Div mit Pio bekommen.

Leider habe ich von dieser Thematik null Ahnung, also bitte für dummies erklären.
Danke :prost:

Mantikor
11.10.04, 10:39
Werter von Stollberg ihr müsst dem jeweiligen Land durch ein Event unter die Arme greifen oder ein bestehendes verändern. Schaut euch hierzu mal bei den Threads das Thema Programme an, da habe ich beschrieben worauf es bei Events ankommt.

Oder ihr kopiert einfach mein Event das ich extra für die Version 1.06 für Vichy geschrieben habe in einen Eventordner von HOI. Dann hat Vichy auch mehr Einheiten.




#########################################################################
# Vichy Armee (by Mantikor)
#########################################################################
event = {
id = 8460
random = no
country = VIC
trigger = { ai = yes atwar = yes }


name = "Vichy Armee"
desc = "Nach dem Waffenstillstand wurde der Vichy Regierung die Unterhaltung eines 100 000 Soldaten starken Heeres erlaubt"
style = 0

date = { day = 1 month = january year = 1936 }
offset = 1 # Check for trigger conditions every day
deathdate = { day = 30 month = december year = 1947 }

action_a = {
name = "Stellt neue Einheiten auf" #RAF reinforcement
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = armor value = 2 }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = infantry }
command = { type = add_division which = armor value = 2 }
command = { type = add_division which = strategic_bomber }
command = { type = add_division which = strategic_bomber }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = armor value = 2 }
command = { type = add_division which = infantry when = 1081 }
command = { type = add_division which = infantry when = 1003 }
command = { type = add_division which = infantry when = 1011 }
command = { type = add_division which = infantry when = 1077 }
command = { type = add_division which = infantry when = 1077 }
command = { type = add_division which = infantry when = 1077 }
command = { type = add_division which = infantry when = 1077 }
command = { type = add_division which = infantry when = 1081 }
command = { type = add_division which = infantry when = 1081 }
command = { type = add_division which = infantry when = 1081 }
command = { type = add_division which = infantry when = 1081 }
command = { type = manpowerpool value = 850 }
command = { type = supplies value = 90000 }
}
}

von Stollberg
11.10.04, 11:00
Werter Mantikor, zunächst besten Dank!
Ich habe noch ein paar Verständnisfragen:

Der Trigger trigger = { ai = yes atwar = yes } was besagt dieser?

Der Divisionsliste entnehme ich, daß Infanterie, strat. Bomber und Jäger aufgestellt wird.
Col. Chris schrieb mir (danke noch mal an dieser Stelle) das bei value = artillery etc. die Brigaden zugefügt werden.
Aber welche Bomber und Jäger werden aufgestellt? Immer die besten/aktuellsten?
Kann man das beeinflussen?

Abschließende Frage:
Wie würde es aussehen wenn ich Tiger-Panzer austellen würde?

Danke für Deine Mühe!

Preussenhusar
11.10.04, 11:08
Werter Mantikor, zunächst besten Dank!
Ich habe noch ein paar Verständnisfragen:

Der Trigger trigger = { ai = yes atwar = yes } was besagt dieser?

ich erlaube mir, zu antorten:
Der event tritt nur auf, wenn Vichy von der AI kontrolliert ist UND im Krieg ist.
also ein neutrales Vichy würde das nicht bekommen.




Der Divisionsliste entnehme ich, daß Infanterie, strat. Bomber und Jäger aufgestellt wird.
Col. Chris schrieb mir (danke noch mal an dieser Stelle) das bei value = artillery etc. die Brigaden zugefügt werden.
Aber welche Bomber und Jäger werden aufgestellt? Immer die besten/aktuellsten?
Kann man das beeinflussen?

Abschließende Frage:
Wie würde es aussehen wenn ich Tiger-Panzer austellen würde?

Danke für Deine Mühe!

Tiger kann Frankreich nicht aufstellen, nur "französische Modelle" und gemäß SEINES Forschungsstandes !
PH

von Stollberg
11.10.04, 11:15
Werter PH,
auch Dir vielen Dank!

Ich muss noch mal kurz nachharken:
Vichy bekommt seine Jäger und seine Panzer.
Auf die Modelle habe ich keinen Einfluß?

Beispiel:
Deutschland kann 4 Panzermodelle bauen (A, B, C, D)
Kann ich sagen stelle mir 3 B und 4 D auf?

(Das diese erforscht sein müssen ist mir nun klar).

--- EDIT ---
Was bedeutet eigentlich command = { type = add_division which = armor value = 2 }?
--- EDIT ---

Umgssda
11.10.04, 11:35
"command" ist immer ein Befehl in einem Event, der "type" bestimmt was es fuer ein Befehl ist, in diesem Fall wird eine Division hinzugefuegt, und zwar aus dem Bereich Panzer und zwar das Modell Nummer 2 in diesem Bereich. Da ein Ort fehlt ("where") wird diese Einheit dem Einheitenpool hinzugefuegt.

von Stollberg
11.10.04, 12:24
Ah!
Bedeutet an meinem Beispiel:
command = { type = add_division which = armor value = 2 } für Typ B
und
command = { type = add_division which = armor value = 4 } für Typ D
richtig?

Danke für die Antwort :prost:

Mantikor
11.10.04, 12:47
Die hinteren Ziffern stehen nicht für unterschiedlich Panzertypen sondern für die Zusatzbrigaden. Man kann nicht wählen welchen Fahrzeugtyp man haben will sondern erhält stets den mordernsten Panzer oder das mordernste Flugzeug.

command = { type = add_division which = armor value = 2 } Wenn man diesen Befehl eingibt erhält der Spieler eine Panzerdivision mit Zusatzbrigade Panzerabwehr. Armor steht hierbei für Panzer und value = 2 für die Zusatzbrigade.

Gibt man den Befehl ohne value = 2 ein erscheint die neue Panzerdivision ohne Zusatzbrigade das sieht dann so aus.

command = { type = add_division which = armor }

Die Zahl ganz hinten im oberen Bsp. entscheidet übrigens welche Zusatzbrigade man erhält. Die 1 steht für Artillerie. Die 2 für Panzerabwehr. Die 3 für Flak. Und die 4 für Pioniere.

von Stollberg
11.10.04, 13:51
Ok, zunächst Danke noch mal an alle Beteiligten.
Ich darf vielleicht mal kurz zusammenfassen um zu testen ob ich es nun
am Ende doch noch verstanden habe :D



#########################################################################
# Vichy Armee (by Mantikor)
#########################################################################
event = {
id = 999001
random = no
country = VIC
# trigger = { ai = yes atwar = yes }

trigger = {
control = { province = XXX data = VIC } # Vichy-Nummer muß ich noch suchen

name = "Vichy Armee"
desc = "Nach dem Waffenstillstand wurde der Vichy Regierung die Unterhaltung eines 100 000 Soldaten starken Heeres erlaubt"
style = 0

date = { day = 1 month = january year = 1936 }
offset = 1 # Check for trigger conditions every day
deathdate = { day = 30 month = december year = 1947 }

action_a = {
name = "Stellt neue Einheiten auf" #RAF reinforcement
command = { type = add_division which = infantry value = engineer}
command = { type = add_division which = infantry value = artillery}
command = { type = add_division which = infantry value = pak}
command = { type = add_division which = infantry }
command = { type = add_division which = armor value = 2 }
command = { type = add_division which = strategic_bomber }
command = { type = add_division which = fighter }
command = { type = add_division which = cruiser }
command = { type = add_division which = battleship }
command = { type = add_division which = destroyer }
command = { type = add_division which = submarine }
command = { type = manpowerpool value = 850 }
command = { type = supplies value = 90000 }
}
}

Für den Fall, daß Vichy gleichnamige Provinz besetzt tritt dieses Event IMMER?
ein und es werden 4 Inf. Divisionen mit verschiedenen Brigaden, 1 Bomber + 1 Flugzeugstaffel sowie ein Kreuzer, ein Schlachtschiff, ein Zerstörer sowie ein U-Boot in den Truppenpool gestellt.
Des weiteren gibt es 850 MP, sowie 90.000 Nachschub.

Eine klitzekleine Frage noch am Rande:
Mir fehlt noch die Bezeichung für eine Infanterie + Flak, vielleicht so?
command = { type = add_division which = infantry value = antiair}

Colonel Chris
11.10.04, 13:59
engineer und artillery wird funktionieren anstelle der Zahlen

Aber für PAK und FLAK wählt doch auch einfach die Zahlen, wie sie Mantikor schon nannte.
Oder:
anti_tank
anti_air

der _ ist dabei wichtig

Umgssda
11.10.04, 13:59
date = { day = 1 month = january year = 1936 }
offset = 1 # Check for trigger conditions every day
deathdate = { day = 30 month = december year = 1947 }

Und das funktioniert?
Mal ganz davon abgesehen, dass dies ueberfluessiger Balast fuer das System ist, war ich der Meinung, dass Events, die schon vor der Existenz eines Landes auf Ausloesbarkeit geprueft werden erst nach einem Neuladen ausgeloest werden.

Mantikor
11.10.04, 14:50
Mein Event funktioniert. Ausgelöst wird das Event in der Tat allerding erst nach einem Neustart des Spiels. Oder genauer gesagt sobald Vichy existiert muß man das Spiel abspeichern und dann wieder neu starten. Erst dann löst das Event aus.

Und das man anstelle der Zahlen auch anti_Tank unsw. eingeben kann wie Colonel Chris sagte stimmt ebenfalls ich bevorzuge jedoch die Zahlen da diese sich leichter und schneller ändern lassen.

Das Event vom Werten von Stollberg wird allerding in seiner jetzigen Form nicht funktionieren da dort Fehler eingebaut sind. Die Bezeichnung Pak z.b. wird der PC nicht kapieren und der Zusatztrigger mit der Provinzkontrolle hättet ihr unter den anderen Trigger aufführen sollen. Im übrigen löst jedes Event normalerweise nur einmal aus.

von Stollberg
11.10.04, 15:16
Auf die Gefahr hin, das ich nerve :rolleyes:
Ziel ist es, daß das Event auf jeden Fall auslöst sobald Vichy an Vichy geht.
Das müsste doch so gehen oder?



#########################################################################
# Unterstuetzung fuer Vichy
#########################################################################
event = {
id = 99001
random = no
country = VIC

trigger = {
control = { province = XXX data = VIC } # Vichy-Nummer muß ich noch suchen

name = "Vichy Armee"
desc = "Vichy stellt Truppen auf"
style = 0

date = { day = 1 month = january year = 1936 }
offset = 7 # Prüft alle 7 Tage
deathdate = { day = 30 month = december year = 1947 }

action_a = {
name = "Vichy stellt neue Divisionen auf" # Truppen fuer Vichy

command = { type = manpowerpool value = 500 } # Neue Rekruten
command = { type = add_division which = infantry value = 1 } # Art
command = { type = add_division which = infantry value = 2 } # PAK
command = { type = add_division which = infantry value = 3 } # FLAK
command = { type = add_division which = infantry value = 4 } # Pio
command = { type = add_division which = armored value = 1 } # Art-Panzer
}
}

Umgssda
11.10.04, 15:28
Wie schon oben erwaehnt werden Ereignisse nicht ausgeloest, die rein zeitlich schon vor der Existenz schon ausgeloest werden koennen. Da es 1936 aber aller Wahrscheinlichkeit Vichy noch nicht gibt, wird dieses Event erst ausgeloest, wenn man neu geladen hat. Wenn Mantikor das als "funktionieren" bezeichnet ist das natuerlich etwas euphemistisch.
Man kann das Problem natuerlich umgehen. Indem man ein Event fuer ein anderes Land, zum Beispiel Deutschland schreibt, das prueft, ob die Bedingungen fuer Vichy erfuellt sind und dann das Vichy event ausloest. In diesem Fall hat das Vichy event keinen Datumsteil und wird auf alle Faelle funktionieren.

PS: In der Klammersetzung beim Trigger ist auch noch ein Fehler. Vielleicht solltest du es mal mit meinem Editor probieren, damit sollten solche Fehler seltener auftreten, der kann naemlich schon Klammern checken.

von Stollberg
11.10.04, 16:49
Werter Umgssda,

würde ihr mir den kleinen Gefallen tun und ein Beispiel für oben beschriebenes geben?
Das würde mir in der Tat helfen.

Danke im Voraus!

PS:
Den Editor schaue ich mir mal an.

Mantikor
11.10.04, 17:18
Ein Event mit Folgeevent sieht folgendermaßen aus. Sobald das erste Event auslöst wird auch das zweite ausgelöst. Allerdings müsstet ihr die Trigger des Events ändern damit das Event in eurem Fall auch wirklich zur richtigen Zeit auslösen kann.


#################################################################################
# Handelsvertrag mit der Schweiz
#################################################################################
event = {
id = 8469
random = no
country = GER

trigger = {

war = { country = GER country = ENG }
NOT = { war = { country = GER country = SCH } }
OR = {
control = { province = 557 data = GER} #Stuttgart
control = { province = 602 data = GER} #Berlin
control = { province = 605 data = GER} #Leipzig
}
}

date = { day = 23 month = february year = 1943 }

name = "Verkauf von Flugzeugen"


desc = "Die Schweiz war während des Krieges neutral und hatte enge Handelsbeziehungen mit Deutschland. Die Schweizer hatten bsp. über 100 deutsche ME 109 Jäger für ihre Luftwaffe eingekauft. Umgekehrt profiertierte natürlich auch Deutschland vom regen Handel mit der Schweiz."

style = 0

action_a = {
name = "lasst uns mit der Schweiz tauschen"
command = { type = trigger which = 8470 }
command = { type = steelpool value = 15000 }


}
action_b = {
name = "wir behalten die Jäger für uns"
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }

}
}


event = {
id = 8470
random = no
country = SCH

name = "Deutsche Jäger werden in den Dienst gestellt!"
desc = "Die Schweiz erhielt für den Austausch von Rohstoffen deutsche Jäger für ihre Luftwaffe!"
style = 0

action_a = {
name = "OK"
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }


}

}

Mantikor
11.10.04, 17:32
Das Vichy Event sollte dann folgendermaßen aussehen.

#################################################################################
# Deutschland unterstütz Vichy
#################################################################################
event = {
id = 8469
random = no
country = GER

trigger = {

war = { country = GER country = ENG }
NOT = { war = { country = GER country = VIC } }
exists = VIC

}

date = { day = 23 month = february year = 1936 }
offset = 1 # Check for trigger conditions every day
deathdate = { day = 30 month = december year = 1947 }

name = "Deutschland unterstützt Vichy"


desc = "Deutschland unterstüzte Vichy durch Lieferungen von Material."

style = 0

action_a = {
name = "helft Vichy"
command = { type = trigger which = 8470 }
command = { type = steelpool value = -15000 }


}
action_b = {
name = "keine Hilfe für Vichy"
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }

}
}




Und hier kommt das Folgeevent.


event = {
id = 8470
random = no
country = VIC

name = "Vichy erhält deutsche Jäger"
desc = "Vichy erhielt durch Deutschland Jäger!"
style = 0

action_a = {
name = "OK"
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }
command = { type = add_division which = fighter }


}

}


Das wichtigste hierbei ist diese Commandozeile da sie dafür sorgt das dass Folgeevent ausgelöst wird.

command = { type = trigger which = 8470 }. Fehlt diese Zeile löst kein Folgeevent aus und gebt ihr die Falsche Nummer ein (Immer die ID Nummer des gefragten Evenst eingeben) löst natürlich auch das falsche Event und nicht das richtige aus.

Alternativ könntet ihr das Folgeevent auch mit einem Trigger versehen damit es automatisch nach dem bereits das erste Event ausgelöst wurde selber auslöst. Dies empfiehlt sich wenn man möchte das ein Folgeevent nicht sofort ausgelöst wird sondern zeitlich versetzt. Für Events die jedoch sofort auslösen sollen ist o.g. Lösung zu empfehlen.

Umgssda
11.10.04, 18:23
Konkret fuer das von Stollberg geplante event empfehle ich sich die events 2021 und 2022 sowie die durch sie "getriggerten" (2800) anzuschauen.
Der Sprung zu den Folgeevents geht im Editor per Shift+Strg Tastenkombi sehr fix
2021 dient als Beispiel wie man ein anderes Folgeevent aufrufen kann.
2022 kann nun als Ausgangspunkt fuer das gewuenschte Vichy event dienen.

Dort fuegt man bei den Befehlen einfach die Zeile


command = { type = trigger which = 99001 } # ID mal so uebernommen

ein.
Das event 99001 sieht dann wie folgt aus:



event = {
id = 99001
random = no
country = VIC

name = "Vichy Armee"
desc = "Vichy stellt Truppen auf"
style = 0

action_a = {
name = "Vichy stellt neue Divisionen auf"
command = { type = manpowerpool value = 500 } # Neue Rekruten
command = { type = add_division which = infantry value = 1 } # Art
command = { type = add_division which = infantry value = 2 } # PAK
command = { type = add_division which = infantry value = 3 } # FLAK
command = { type = add_division which = infantry value = 4 } # Pio
command = { type = add_division which = armored value = 1 } # Art-Panzer
}
}

Wie man bemerkt ist die komplette Trigger Sektion verschwunden und vielleicht stellt man sich die Frage was aus den Bedingungen geworden ist.
Diese sollten durch das ausloesende Ereignis, also 2022 geprueft werden. Dort stehen sie allerdings nicht drin. Implizit gehe ich aber davon aus, dass 2022 nur ausgeloest wird, wenn die Bedingungen in Ordnung sind.
Es wird dort schon geprueft ob Vichy als Staat existiert, und wenn ja, dann bekommt es von Deutschland die Provinz Vichy. Gehoert jemand anderem die Provinz als Deutschland so wird aber das Event 2021, dass Vicht gruendet nicht ausgeloest.

Ich denke so werden alle Wuensche mit dem geringsten Aufwand erfuellt.

von Stollberg
11.10.04, 18:57
Vielen Dank euch beiden :top:
Ich werde das mal noch verinnerlichen und Testen.

Anschließen folgt selbstverständlich Rückmeldung über das Erreichte.

von Stollberg
11.10.04, 23:34
So, wie versprochen hier die Rückmeldung:
Beide Varientan gehen wunderbar.

Ich bedanke mich bei allen Beteiligten :prost:

Preussenhusar
12.10.04, 10:29
Prächtig, Danke !
Das kann ich wunderbar gebrauchen :D

PH