Stimmt, Entdecker, den Befehl hab ich übersehen - man lernt doch nie aus...
Allerdings hat das Ganze noch einen anderen Haken, der sich mit ziemlicher Sicherheit nicht beheben lässt. Das Triggersystem erkennt ein KI-Signal ein Mal und diese Erkennung lässt sich nicht mehr aus dem Speicher löschen. Das gleiche Problem also an anderer Stelle!
Du siehst, mein lieber Henning, es ist nicht so einfach...
---
Eine Möglichkeit, die bestimmt hinhaut, aber sehr kompliziert ist, wäre es, eben über Tribute zu laufen. Folgendermaßen:
(defrule
(taunt-detected 1 001)
=>
(tribute-to-player 3 gold 1)
(acknowledge-taunt 1 001)
)
(defrule
(taunt-detected 1 002)
=>
(tribute-to-player 3 wood 1)
(acknowledge-taunt 1 002)
)
Was tut die KI?
Jedes Mal, wenn sie "001" hört, gibt sie Spieler 3 eine Einheit Gold. Jedes Mal, wenn sie "002" hört, gibt sie Spieler 3 eine Einheit Holz.
Spieler 2 besitzt mindestens je eine Einheit Holz und Gold.
Im Editor gibt es dann folgende Schalter:
Schalter 0 - kein Trigger - ein
Bedingung: irgendwas
Effekt: Schalter 1 aktivieren
Schalter 1 - Trigger - aus
Bedingung: Zeitgeber 10
Effekt: Objekt zuweisen (Karren, Einheit)
Schalter 2 - kein Trigger - ein
Bedingung: Eigenschaften ansammeln Spieler 3 1 Gold
Effekt: Objekt anhalten (Karren)
Effekt: Schalter 1 deaktivieren
Effekt: Tribut entrichten Spieler 3 an Spieler 2 1 Gold
Effekt: Schalter 3 aktivieren
Schalter 3 - kein Trigger - aus
Bedingung: Eigenschaften ansammeln Spieler 3 1 Holz
Effekt: Schalter 1 aktivieren
Effekt: Tribut entrichten Spieler 3 an Spieler 2 1 Holz
Effekt: Schalter 2 aktivieren
Vorraussetzungen, dass das hinhaut, sind:
Spieler 3 baut kein Gold und kein Holz ab.
Spieler 2 und Spieler 3 besitzen einen Marktplatz.
---
Zuletzt noch eine Frage:
Muss das Ganze über KI laufen?
Wesentlich einfacher wäre die Variante, dass man zum Stoppen/Bewegen des Karrens z.B. einfach auf den Karren klickt. Das Schema wäre das selbe wie oben, nur eben mit einmal weniger um die Ecke!
Allerdings hat das Ganze noch einen anderen Haken, der sich mit ziemlicher Sicherheit nicht beheben lässt. Das Triggersystem erkennt ein KI-Signal ein Mal und diese Erkennung lässt sich nicht mehr aus dem Speicher löschen. Das gleiche Problem also an anderer Stelle!
Du siehst, mein lieber Henning, es ist nicht so einfach...
---
Eine Möglichkeit, die bestimmt hinhaut, aber sehr kompliziert ist, wäre es, eben über Tribute zu laufen. Folgendermaßen:
(defrule
(taunt-detected 1 001)
=>
(tribute-to-player 3 gold 1)
(acknowledge-taunt 1 001)
)
(defrule
(taunt-detected 1 002)
=>
(tribute-to-player 3 wood 1)
(acknowledge-taunt 1 002)
)
Was tut die KI?
Jedes Mal, wenn sie "001" hört, gibt sie Spieler 3 eine Einheit Gold. Jedes Mal, wenn sie "002" hört, gibt sie Spieler 3 eine Einheit Holz.
Spieler 2 besitzt mindestens je eine Einheit Holz und Gold.
Im Editor gibt es dann folgende Schalter:
Schalter 0 - kein Trigger - ein
Bedingung: irgendwas
Effekt: Schalter 1 aktivieren
Schalter 1 - Trigger - aus
Bedingung: Zeitgeber 10
Effekt: Objekt zuweisen (Karren, Einheit)
Schalter 2 - kein Trigger - ein
Bedingung: Eigenschaften ansammeln Spieler 3 1 Gold
Effekt: Objekt anhalten (Karren)
Effekt: Schalter 1 deaktivieren
Effekt: Tribut entrichten Spieler 3 an Spieler 2 1 Gold
Effekt: Schalter 3 aktivieren
Schalter 3 - kein Trigger - aus
Bedingung: Eigenschaften ansammeln Spieler 3 1 Holz
Effekt: Schalter 1 aktivieren
Effekt: Tribut entrichten Spieler 3 an Spieler 2 1 Holz
Effekt: Schalter 2 aktivieren
Vorraussetzungen, dass das hinhaut, sind:
Spieler 3 baut kein Gold und kein Holz ab.
Spieler 2 und Spieler 3 besitzen einen Marktplatz.
---
Zuletzt noch eine Frage:
Muss das Ganze über KI laufen?
Wesentlich einfacher wäre die Variante, dass man zum Stoppen/Bewegen des Karrens z.B. einfach auf den Karren klickt. Das Schema wäre das selbe wie oben, nur eben mit einmal weniger um die Ecke!