PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atomangriffe



Stahl-Opa
27.08.12, 15:04
Guten Tag meine Herren,

Da ich neu hier bin hoffe ich mal, dass das hier die Richtige Ecke für meine anliegen ist.

Hatte vor nicht allzu langer Zeit auf heartsofiron.de nen Beitrag gehabt, wos um eine Eventkette bezüglich Atomangriffe ging. DerStudi hatte damals wenn ich mich recht entsinne geholfen.

Da ich nicht sofort Zeit hatte, die Eventkette zu bearbeiten und ja bekannterweise das Forum nun nicht mehr existiert... Keinen Plan wie die Events aussehen sollten.

Habe es mal insofern rekonstruiert:



event = {
id = 1936014
random = no
persistent = no
name = "Atomangriff!"
desc = "NUC001"
style = 2
picture = "nuke"


trigger = {


nuked = -1



}

date = { day = 1 month = march year = 1930 }
offset = 1
deathdate = { day = 30 month = december year = 9999 }

action
= {
name = "Verflucht!"
command = { type = manpowerpool value = -50 }
command = { type = dissent value = 10 }
command = { type = local_setflag which = nuke1 }
}
}

event = {
id = 1936015
random = no

name = "Atomangriff!1"
desc = "NUC001"
style = 2
picture = "nuke"


trigger = {
nuked = -1
local_flag = nuke1


}

date = { day = 1 month = march year = 1930 }
offset = 1
deathdate = { day = 30 month = december year = 9999 }

action
= {
name = "Verflucht!"
command = { type = manpowerpool value = -50 }
command = { type = dissent value = 10 }
command = { type = local_setflag which = nuke2 }
}
}

event = {
id = 1936016
random = no

name = "Atomangriff!2"
desc = "NUC001"
style = 2
picture = "nuke"


trigger = {
nuked = -1
local_flag = nuke2


}

date = { day = 1 month = march year = 1930 }
offset = 1
deathdate = { day = 30 month = december year = 9999 }

action
= {
name = "Verflucht!"
command = { type = manpowerpool value = -50 }
command = { type = dissent value = 10 }
command = { type = local_setflag which = nuke3 }
}
}

nnur funktioniert hier irgend was nicht. Das Event triggert einfach nicht. Auch wenn ein Land mit 5 Atomangriffen malträtiert wird...

Wo ist der Fehler? Was habe ich übersehen?

lg

Opa

PS: Noch anzufügen wäre dass es sich um DH handelt. Der Sinn und Zweck des Events sollte übrigens sein, dass nach dem 1. Atomangriff der Event triggert (für jedes Land jeweils einmal) und nachm nächsten A-Angriff der 2. Event usw., wobei es mit den Flags beliebig erwiterbar ist. (Jeweils einfach die Flag hüher setzten).

Al. I. Cuza
27.08.12, 17:30
Das Problem müsste beim "nuked" Trigger sein, oder bei der Event-Zahl.

Und funktioniert eine local flag nicht nur auf Provinzebene?

So lange nicht mehr für HOI2 gemoddet...

Stahl-Opa
27.08.12, 17:37
Hmmm, also, die Event ID is i.O, hatte die schonmal früher für einen Event verwendet den ich aber wieder gelöscht habe und es ging damals fehlerfrei.

Beim Nuked Trigger bin ich mir nicht ganz sicher - habe den einfach mal nach der event-commands.txt entnommen:


nuked = X / nuked = { country = TAG1 [country = TAG2] data = X [where = Y] }
- nuked = -1 # True if against that country have been used more the 1 nukes
- nuked = 1 # True if that country has used at least one nuke against any country
- nuked = { country = FRA country = GER data = 1 where = 300 } # True if France(FRA) has used at least 1 nuke to Germany (GER) in Berlin (ID #300)
- nuked = { country = FRA data = -1 } # True if against France(FRA) has been used at least 1 nuke by any country
- nuked = { country = GER data = -2 where = 300 } # True is against Germany have been used at least 2 nukes (by any country) at Berlin

local_flags sind einfach auf nationen beschränkt, dH die Flag wird nur für zB GER gesetzt. Global_Flags werden Nationenübergreiffend gesetzt, daher sollte das kein Problem sein.

Kann sein dass irgendwie der TAG fehlt, für welchen das Event triggern soll? Aber es gibt ja auch Events, welche undefiniert sind/für alle Länder triggern können, alöso müsste es unbestimmt ja auch möglich sein?!...

lg

Opa

clone
27.08.12, 17:48
Ich habe aktuell nur mein Handy da und kann nicht auf die Eventdatenbank von D.H. zugreifen, aber: irgendwo im D.H. full db event ordner stecken events, die ähnlich zu eurem sind, z.B. die move Capital ( kommt nach Nuklearschlag auf die Hauptstadt einer Nation )decision. Kopiert die doch einfach, baut den decision Teil um zum Event und testet es nochmal. Bei frührem Modding fing ich ohne irgendwelche Ahnung ab und habe einfach alle Events erstellt, in dem ich ein Rumpf-Event kopiert habe, angepasst habe und die Kommandos habe ich dann auch alle aus anderen Events kopiert und angepasst. Ich glaube, so modde ich noch immer, denn ich kann mir einfach nix merken.

Al. I. Cuza
27.08.12, 17:48
Hmm, dann sollte die Eventreihe sowieso nicht richtig funktionieren.

Mit "nuked = -1" sollten alle Events nacheinander getriggert werden, da dieses nur überprüft ob mindestens eine Bombe gefallen ist.

Ihr könnt daher in den Nachfolgeevents einfach "nuked = -2" usw. benutzten.

Stahl-Opa
27.08.12, 18:32
irgendwo im D.H. full db event ordner stecken events, ......, z.B. die move Capital ( kommt nach Nuklearschlag auf die Hauptstadt einer Nation )decision. ...

Leider ist das ganze so gelöst:



trigger = {
nuked = { country = USA data = -1 where = 1809 } # Washington - Northeast US
}

action
= {
name = "Cnuke_act"
command = { type = capital which = 1805 }
command = { type = dissent value = -1}
}

Das Problem scheint nun sein, den Trigger so anzupassen, dasses weder auf Land noch Provinz definiert ist. Was die folgetrigger angeht:


... Ihr könnt daher in den Nachfolgeevents einfach "nuked = -2" usw. benutzten.

Müsste so sein, jawohl. Mit dem Trigger-Kopf "invention = yes" das Event bei der ersten Bombe (im Trigger nuked = -1) für jedes Land triggern können, bei der zweiten Bombe (zweiter Event mit nuked = -2) ebenfalls nochmal etc.

Wobei, eben, ich denke, dass ist dann alles noch feinschliff - das Hauptproblem ist, dass der Event für jedes Land unabhängig von Provinz oder Tag triggert sobald es von einer Bombe getroffen wurde - und zwar nur einmal (was den persistant = yes nutzlos macht), trotzdem einmal für jedes Land (der Event darf also nicht einfach nach einmaligem Triggern alös ausgelöst zählen.

und eben, mitm "invention = yes" scheints ebenfalls nicht zu klappen... wieso au immer?!

Danke für Eure Antworten,

lg
Opa

Al. I. Cuza
27.08.12, 18:38
Versucht es erst mal mit einem TAG zu machen. Wenn es dann nicht funktioniert sehen wir weiter.

DerStudti
27.08.12, 18:48
Sehr schön, noch ein bekanntes Gesicht. :)

Zunächst mal: Der invention-Eintrag sollte vermieden werden, denn der sorgt dafür, dass das Event zufallsgesteuert mit einer in der misc festgelegten Wahrscheinlichkeit pro Jahr auslöst.

Zur Eventkette selbst: Meines Erachtens sollte sie nach diesem Muster hier funktionieren...



event = {
id = 1936014
random = no
persistent = yes

name = "Atomangriff!"
desc = "NUC001"
style = 2
picture = "nuke"


trigger = {
nuked = -1
NOT = { nuked = -2 }
NOT = { local_flag = nuke1 }
}

date = { day = 1 month = march year = 1930 }
offset = 1
deathdate = { day = 30 month = december year = 9999 }

action_a = {
name = "Verflucht!"
command = { type = manpowerpool value = -50 }
command = { type = dissent value = 10 }
command = { type = local_setflag which = nuke1 }
}
}

event = {
id = 1936015
random = no
persistent = yes

name = "Atomangriff!"
desc = "NUC001"
style = 2
picture = "nuke"


trigger = {
local_flag = nuke1
nuked = -2
NOT = { nuked = -3 }
NOT = { local_flag = nuke2 }
}

date = { day = 1 month = march year = 1930 }
offset = 1
deathdate = { day = 30 month = december year = 9999 }

action_a = {
name = "Verflucht!"
command = { type = manpowerpool value = -50 }
command = { type = dissent value = 10 }
command = { type = local_setflag which = nuke2 }
}
}


usw.

persistent = yes sorgt für die Anwendbarkeit für jede Nation
Die Flags und die Triggerbedingungen limitieren die Zahl der ausgelösten Events auf 1 pro Bombe und Land.

Falls ich keinen Denkfehler mache... :D

Stahl-Opa
27.08.12, 19:01
Ah, der grosse Mod-Meister DerStudi is hier Aktiv :)
Hab doch gewusst Euch einmal hier gelesen zu haben... Mich freuts immerhin^^
Ihr wart glaube der letzte wirklich aktive Modder mit Skill im heartsofiron.de Forum ;)

Hab den Event mal kurz durchgelesen, scheint soweit alles Sinn zu amchen/logisch zu sein.

Des "NOT = { nuked = -2 }" wäre glaube nicht nötig, da das ja schon mitm Flag eigentlich unterbunden wird. Aber sollte ja auch nicht stören.

Habe dementsprechend Euer Event-Vorschlag 1:1 in die Event-Datei kopiert und mal getestet. Mit England 1936 ne A-Bombe auf Irland geworfen... Wirkung: Keine. bzw. Triggerte das Event einfach nicht. Ich hab keinen Plan wieso der keinerlei reaktion zeigt...

lg

Opa

Edit: Komisch ist, dass bei meiner ersten Version (die ich noch im anderen Forum gepostet hab) mit persistent = yes ja wunderbar funktionierte, nur eben immer wieder triggerte. Der Trigger "Nuked = -1" MUSS also funktionieren?!

DerStudti
27.08.12, 19:10
Zuviel der Ehre... :ähem:
Wenn überhaupt, dann sollte man wohl die Betonung auf "aktive" legen. :D

Versuche mal den Vorschlag des werten Cuza und benutze einen country-Eintrag. Vielleicht benötigt das Kommando einen. Falls es dann funktioniert, wäre der nächste Versuch, einen zweiten Länder-TAG im country-Abschnitt zu ergänzen (was seit DH ja geht) und das Verhalten zu testen. Sollte zumindest dieses Konstrukt dann funktionieren, müsstest du nur eine sehr lange country-Liste mit allen denkbaren TAGs erstellen. Falls nicht, wird die Sache sehr umfangreich.

Edit: Habe gerade die editierte Version gelesen. Der einzige, relevante Unterschied zu der aus meinem oben stehenden Beitrag ist die Zusatzbedingung

NOT = { nuked = -2 }

. Vielleicht funktioniert's, wenn du sie weglässt. Sie ist auch mehr oder minder (dank der flag) "doppelt gemoppelt"...

Stahl-Opa
27.08.12, 19:24
Îmmerhin "nur" Aktiv^^ und meistens war es Schlussendlich immernoch Euer Post der schliesslich des Problems lösung brachte :P Aber egal, Offtopic :P

Hmm....

Habe jetzt erst das NOT = { Nuked = X } gelöscht --> Keine Reaktion

Dann Country = IRE reingehauen --> funktioniert wunderbar. Event kommt einmal, bei 2. angriff ein zweites mal. Probiere jetzt noch mitm country = IRE DEN und schaue wies sichs dann verhalte.. melde mich gleich wieder

Stahl-Opa
27.08.12, 19:34
hmm... also habs nun so probiert:


TAG = { IRE DEN }

keine Reaktion...

dann mal versucht noch all = yes anzufügen (bei dem ölfelder-event steht des noch da), aber das machte auch keinen Unterschied...


edit: habe noch versucht


country = IRE
country = DEN

im selben Event anzuwenden - dann funktioniert der Event jedoch leider nur für den letzten Eintrag (DEN).

bei dem Eintrag:


TAG = {IRE DEN}
country = IRE

wird der TAG = eintrag ignoriert und lediglich der Event für IRE verwendet...

scheint als obs da keine Möglichkeit gibt ausser für alle (zumindest Minor) Nationen Events zu schreiben... -.-

Al. I. Cuza
27.08.12, 22:26
Hmm, schade, dass es nicht funktioniert, liegt also am Tag.

PS: Sehe ich das richtig, ihr seid Rumäne?

Setsches
27.08.12, 22:48
Ein zweiter? :eek::D

Stahl-Opa
28.08.12, 01:19
Hmm, schade, dass es nicht funktioniert, liegt also am Tag.

PS: Sehe ich das richtig, ihr seid Rumäne?

Jau... naja, los gehts mitm Events schreiben... für jede Minor-Nation 20 Stück oder so... naja, wenigstens nur Copy-Paste und dann den Tag umschreiben...

Und was die Nationalität angeht: Leider Nein. Aber Rumänien-Bereisender, Hobby-Rumänien-Historiker, Orthodoxie-Sympathisant, der Meinung, dass Rumänien sich mindestens über den ganzen Balkan erstrecken sollte (und nein, die Erklärung wie ich dazu komme würd selbst einen eigenen Thread füllen, also lassen wir das ;)) und... ähm... und Rumänien-Befürworter im Allgemeinen. Und treuer Rumänien-Streiter in sämtlichen Strategiespiele, die das zulassen.

Und ich nehme an, - dem Namen nach - das Ihr, werter Cuza, nicht um sonst Euren Namen entsprechend Fürst Alexandru Ioan I. gewählt habt?!

Al. I. Cuza
28.08.12, 03:27
(und nein, die Erklärung wie ich dazu komme würd selbst einen eigenen Thread füllen, also lassen wir das ;))

Ach, das können wir im Rumänien-Thread (http://www.si-games.com/forum/showthread.php?goto=newpost&t=11489) ausführlich besprechen :D


Und ich nehme an, - dem Namen nach - das Ihr, werter Cuza, nicht um sonst Euren Namen entsprechend Fürst Alexandru Ioan I. gewählt habt?!

Ja, das habt ihr gut erfasst :D

Stahl-Opa
28.08.12, 10:34
Ach, das können wir im Rumänien-Thread (http://www.si-games.com/forum/showthread.php?goto=newpost&t=11489) ausführlich besprechen :D

Ja, wobei ich momentan nicht die Besprechung aktueller Themen unterbrechen will. ;) Ihr könnt aber gerne einmal auf mich zurückkommen. :P

Und nun... Wieder zum Topic... Falls eh überhaupt je eine einfachere Lösung geben wird, was ich leider bezweifle...

lg

Opa

edit:Habe nun mal für die für meine Mod mehr oder weniger wichtigen Länder und für die Grossmächte Atomangriffs-Events gebastelt. War zwar n gutes Stück Arbeit (etwa 300 Events... - 20 pro Land) aber Copy-Paste und Open-Office sei Dank. (ca. 1-2h Arbeit, hät gedacht wird schlimmer).
Ist zwar net ganz Optimal da es eben nur eine gewisse Auswahl von Ländern trifft (gegen die Atomangriffe nun einfach wesetlich veherrender sind als gegen andere, die nicht von den Events betroffen sind), aber da es sich bei der Auswahl um vermeintlich alle militärisch starken Länder handelt, sollts gehen. (Ich meine, wenn Deutschland und sagen wir, Irland einen Atomkrieg führen, muss Irland net zusätzlich durch die A-Waffen drunterkommen - die haben eh keine Chance und die IK des Landes würde völlig zerstört. Unruhen hin oder her.)

Falls wer ne einfache, funktionierende Lösung für ALLE Länder hat, wärs trotzdem schön wenn er sie posten könnte :)

lg

Opa