Schalter mit Weltwunderbezug

Fragen zum Szenarienbau und Mapdesign

Moderatoren: Henning, Björn_Jernside

Moinsen!

Ich wollte eine aufgeschobene Siegbedingung für KIs mit Weltwunderbezug als Schalter in meine Map einbauen. Was mir aufgefallen ist:

a) Ich sehe keinen Dorfbewohner, der das Weltwunder errichtet, wenn es von der KI gebaut wird

b) Wenn ich "Sieg erklären" mit dem Weltwunder verknüpfe, kann ich keinen textartigen Countdown mehr zwischenschlten. Die KI gewinnt immer , sobald das Gebäude fertig ist. "Zeitgeber" und "Anweisungen" einblenden funktionieren also nicht.


Kennt jemand die genaue Bauzeit in Sekunden bei mittlerem Schwierigkeitsgrad für Weltwunder?
Hm...

a)
Fügst du das Weltwunder per mit dem Effekt "Neues Objekt" ein? Denn da muss das Weltwunder nicht gebaut werden. Sonst probiers es mal mit dem Effekt "Bauort vorbestimmen", dann wird einfach an der gewählten Stelle der Bauort (also das Gebäude mit 0% Baustatus) eingefügt.

b)
Hast du ev. bei den Siegbedingungen "Weltwundersieg" eingestellt? Wenn ja, ist das klar. Bei Weltwundersieg gewinnt jener, der sein Weltwunder als erstes fertiggstellt hat. Damit ein 400 Jahre Countdown entsteht, brauchst du die Siegbedingung "Standard". Aber da du ja sowieso dem Compo per Effekt "Sieg erklären" den Gewinn zusprichst, kannst du auch als Siegbedingung "Eroberung" einstellen, dann erscheint kein Countdown.
Es werden übrigens keine Anweisungen mehr eingeblendet, wenn der Effekt "Sieg erklären" dabei ist.
Du musst dann halt noch einen zusätzlichen Schalter einbauen.
Machst du die KI selber?

Dann musst du folgende Bedingungen und Befehle berücksichtigen:

(defrule
(building-type-count wonder less-than 1)
(can-build wonder)
=>
(set-strategic-number sn-percent-civilian-builders 80)
(build wonder)
)

Erläuterung:
Es wird geprüft, ob ein Weltwunder gebaut werden kann.
Sobald dies der Fall ist werden im Beispiel 80% der zivilen Bevölkerung als Handwerker eingesetzt. Wieviel Handwerker tatsächlich möglich bzw. nötig sind hängt vom Spiel ab.
So ... ich hab jetzt ein paar Tage rumgebastelt und probiert und hgelesen und probiert ... allerdings ohne sichtbare Erfolge. So muss ich EUch doch wieder auf die nerven fallen. Ich poste gleich mal die Syntax.



Schalter 1: Countdown Stop
Ziel : Nein , Ausgang: AN, Schleife: JA

Bedingung 1: Weniger eig. Obj. / Gebäude / Weltwunder / 1 / Spieler X
Effekt 1: Schalter deaktivieren / Alternativsieg X
Effekt 2: Schalter deaktivieren / WW Countdown X 60
Effekt 3: Schalter deaktivieren / WW Countdown X 45
Effekt 4: Schalter deaktivieren / WW Countdown X 30
Effekt 5: Schalter deaktivieren / WW Countdown X 15
Effekt 6: Schalter deaktivieren / WW Countdown X 10
Effekt 7: Schalter deaktivieren / WW Countdown X 5
Effekt 8: Schalter deaktivieren / WW Countdown X 1
Effekt 9: Schalter aktivieren / Countdown Start



Schalter 2: Countdown Start
Ziel : Nein , Ausgang: AUS, Schleife: JA

Bedingung 1: Eigene Obj. / Gebäude / Weltwunder / 1 / Spieler X
Effekt 1: Schalter aktivieren / WW Countdown X 60



Schalter 3: WW Countdown X 60
Ziel : Nein , Ausgang: AUS, Schleife: NEIN

Bedingung 1: Zeitgeber / 0
Effekt 1: Schalter deaktivieren / Countdown Start
Effekt 2: Anweisungen einblenden (10 / 0) Text ...
Effekt 3: Schalter aktivieren / WW Countdown X 45



Schalter 4: WW Countdown X 45
Ziel : Nein , Ausgang: AUS, Schleife: NEIN

Bedingung 1: Zeitgeber / 900
Effekt 1: Schalter deaktivieren / WW Countdown X 60
Effekt 2: Anweisungen einblenden (10 / 0) Text ...
Effekt 3: Schalter aktivieren / WW Countdown X 30



(...)



Schalter n-1: WW Countdown X 1
Ziel : Nein , Ausgang: AUS, Schleife: NEIN

Bedingung 1: Zeitgeber / 240
Effekt 1: Schalter deaktivieren / WW Countdown X 5
Effekt 2: Anweisungen einblenden (10 / 0) Text ...
Effekt 3: Schalter aktivieren / Alternativsieg X



Schalter n: Alternativsieg X
Ziel : Nein , Ausgang: AUS, Schleife: NEIN

Bedingung 1: Zeitgeber / 60
Effekt 1: Schalter deaktivieren / WW Countdown X 1
Effekt 2: Sieg erklären / Spieler X




So ... Was passieren sollte, müsstet ihr eigentlich alle ablesen können. Sobald Spieler X ein Weltwunder fertiggestellt hat, wird der Countdown aktiviert. Zu bestimmten Zeitpunkten soll eine Textmeldung über den Fortschritt des Countdowns eingeblendet werden.

Wenn das Weltwunder innerhalb der Stunde zerstört wird ... geht das Spiel normal weiter. Geschieht innerhalb der Frist nichts, gewinnt der Erbauer des WW.


So ... folgendes passiert:

Sobald die KI der WW fertiggestellt hat, erscheint die erste Textmeldung für 10 Sekunden, kommt aber immer wieder ... verschwindet also eigentlich nie. Es scheint so, als ob die anderen Schalter nachfolgend gar nicht erst aktiviert werden.

Entdeckt da jemand den Fehler, den ich nicht sehe?

Klar ist der Countdown Start zwar in der Trigger schleife ... sollte aber ja deaktiviert werden, sobald die 60er Meldung erscheint.


[EDIT] Ich arbeite immer noch nur mit den Standart KIs und ohnt die Erweiterung zu AOE II [/EDIT]

[EDIT] Copy/Paste fehler korrigiert. [/EDIT]
Ich habe scherzeshalber die Bedingungen mal umgekehrt, was "eigene Gebäude" / "weniger eigene Gebäude" anbelangt.

Also wenn der gegner kein WW hat, beginnt der Countdown.

Funktionieren tut es so. Warum aber dann in der richtigen Reihenfolge nicht?
So ... fragt mich nicht, warum es so ist ... aber ich konnte das Problem lösen, in dem ich folgende Schalter änderte:

Schalter 1: Countdown Stop
Ziel : Nein , Ausgang: AN, Schleife: JA

Bedingung 1: Weniger eig. Obj. / Gebäude / Weltwunder / 0 / Spieler X
Effekt 1: Schalter deaktivieren / Alternativsieg X
Effekt 2: Schalter deaktivieren / WW Countdown X 60
Effekt 3: Schalter deaktivieren / WW Countdown X 45
Effekt 4: Schalter deaktivieren / WW Countdown X 30
Effekt 5: Schalter deaktivieren / WW Countdown X 15
Effekt 6: Schalter deaktivieren / WW Countdown X 10
Effekt 7: Schalter deaktivieren / WW Countdown X 5
Effekt 8: Schalter deaktivieren / WW Countdown X 1
Effekt 9: Schalter aktivieren / Countdown Start



Schalter 2: Countdown Start
Ziel : Nein , Ausgang: AUS, Schleife: NEIN

Bedingung 1: Eigene Obj. / Gebäude / Weltwunder / 1 / Spieler X
Effekt 1: Schalter aktivieren / WW Countdown X 60


Die KI muss "Weniger Eigene Objekte" als "NULL" Weltwunder haben, damit alles in allem funktioniert. Warum da keine 1 hin soll, kann ich nicht beantworten.
Sobald die KI der WW fertiggestellt hat, erscheint die erste Textmeldung für 10 Sekunden, kommt aber immer wieder ... verschwindet also eigentlich nie. Es scheint so, als ob die anderen Schalter nachfolgend gar nicht erst aktiviert werden.
"Weniger eigene Obj" bedeutet wohl "weniger als" und nicht "höchstens".
Weniger als 0 ist ja negativ, das kann man nicht erreichen. Also stimmt die 1, dann wird der Schalter aktiviert, sobald die KI weniger als 1 WW hat, also 0.