-
-
Ingo Online
- Söldner
-
- Beiträge: 126
- Registriert: Dienstag 1. April 2003, 04:00
Mittwoch 8. Juni 2005, 09:47
von
Ingo » Mittwoch 8. Juni 2005, 09:47
Taunts sind riskant. Wenn du abspeicherst und einen gespeicherten Spielstand lädst, sind diese über das normale Chat-Fenster (Enter, Chat eintippen, wieder Enter) oft nicht mehr aktivierbar. Dann müssen Spieler das richtige Chatfenster öffnen und dort chat-to-all eingeben.
Man bräuchte für die ai ein event, das man irgendwie nach dem würfeln deaktivieren kann, um es dann wieder aktivieren zu können.
Deshalb hatte ich (set-goal 1 1) vorgeschlagen, um die Würfelrunde zu beginnen und (set-goal 1 1), um die Runde zu beenden/deaktivieren. Aber mit dem Schalter-Signal könntest du Recht haben... ich weiß nicht, ob die Ai mehrmals auf das gleiche Schaltersignal reagiert.
Zwei Alternativen kannst du mal probieren: Danach auf set-goal 1 2 gehen statt zurück auf set-goal 1 0, dann unter goal 1 2 wieder auf Schaltersignal 1 warten... vielleicht klappt's.
(Rest wie vorher)
(defrule
(goal 1 1) ; Zeit zum Würfeln hat begonnen
(random-number < 17) ; falls Zahl 1-16
=>
(set-signal 1) ; Signal 1 aktiviert Schalter: "1 gewürfelt."
(set-goal 1 2) ; Fertig. Nicht mehr würfeln!
(disable-self)
)
(defrule
(goal 1 2)
(event-detected 0 1)
=>
(set-goal 1 1) ; Zeit zum Würfeln beginnt
(disable-self)
)
... und so weiter.
Es gibt noch eine andere Alternative, die wahrscheinlich noch sicherer ist als set-goal: Gib durch die Schalter einem Computerspieler eine Resource als Tribut, die er sonst nicht kriegen kann (z.B. 1000 Stein, und der Spieler hat keine Dorfis). Sobald die Ai 1000 Stein hat, beginnt sie zu würfeln. Wenn sie fertig gewürfelt hat, gibt sie den Tribut an Gaia ab. Sobald sie wieder 1000 Stein hat, geht es von vorne los.
Ingo