@Henning
Aufbauend auf der "IMMOBILE AI" kannst Du es mal so probieren:
1. Wirtschaft steht still, zivile u. milit. Einheiten verharren, etc.
IMMOBILE AI - ALLE EINHEITEN VERHARREN
(defrule
(true)
=>
(set-strategic-number sn-maximum-food-drop-distance 0)
(set-strategic-number sn-maximum-wood-drop-distance 0)
(set-strategic-number sn-maximum-gold-drop-distance 0)
(set-strategic-number sn-maximum-stone-drop-distance 0)
(set-strategic-number sn-maximum-hunt-drop-distance 0)
(set-strategic-number sn-food-gatherer-percentage 0)
(set-strategic-number sn-gold-gatherer-percentage 0)
(set-strategic-number sn-minimum-civilian-explorers 0)
(set-strategic-number sn-wood-gatherer-percentage 0)
(set-strategic-number sn-cap-civilian-explorers 0)
(set-strategic-number sn-percent-civilian-explorers 0)
(disable-self)
)
(defrule
(true)
=>
(set-strategic-number sn-percent-enemy-sighted-response 100)
(set-strategic-number sn-hits-before-alliance-change 25)
(set-strategic-number sn-number-explore-groups 0)
(set-strategic-number sn-percent-attack-soldiers 0)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-number-attack-groups 0)
(set-strategic-number sn-enemy-sighted-response-distance 10)
(set-strategic-number sn-total-number-explorers 0)
(set-strategic-number sn-relic-return-distance 0)
(disable-self)
)
--- PRODUKTION VON MILIT-EINHEITEN ----
(defrule
(unit-type-count-total EINHEIT XY < MENGE XY)
(can-train EINHEIT XY)
=>
(train EINHEIT XY)
)
... etc.
--- ANGRIFFS-TIMER UND VERHALTENSAENDERUNG DER MILIT-EINHEITEN ---
(defrule
(game-time > 355)
=>
(enable-timer 1 5); ANGRIFFSTIMER
(set-strategic-number sn-enemy-sighted-response-distance 30)
(set-strategic-number sn-percent-attack-soldiers 80)
(set-strategic-number sn-task-ungrouped-soldiers 1)
(set-strategic-number sn-number-attack-groups GRUPPENANZAHL XY)
(set-strategic-number minimum-attack-group-size MIN. GROESSE XY)
(set-strategic-number maximum-attack-group-size MAX. GROESSE XY)
(disable-self)
)
(defrule
(timer-triggered 1)
=>
(attack-now)
(disable timer 1 5)
(enable timer 1 360)
(enable-timer 2 60); STELLT MILIT-EINHEITEN WIEDER STILL
(enable-timer 3 355); STELLT MILIT-EINHEITEN WIEDER AUF ANGRIFF
(defrule
(timer-triggered 2)
=>
(set-strategic-number sn-enemy-sighted-response-distance 10)
(set-strategic-number sn-percent-attack-soldiers 0)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-number-attack-groups 0)
(set-strategic-number minimum-attack-group-size 0)
(set-strategic-number maximum-attack-group-size 0)
(disable-timer 2)
(disable-self)
)
(defrule
(timer-triggered timer 3)
=>
(set-strategic-number sn-enemy-sighted-response-distance 30)
(set-strategic-number sn-percent-attack-soldiers 80)
(set-strategic-number sn-task-ungrouped-soldiers 1)
(set-strategic-number sn-number-attack-groups MENGE XY)
(set-strategic-number minimum-attack-group-size MIN. GROESSE XY)
(set-strategic-number maximum-attack-group-size MAX. GROESSE XY)
(disable-timer 3)
(disable-self)
)
(defrule
(timer-triggered 1)
=>
(attack-now)
(enable-timer 2 60)
(enable-timer 3 355)
)
Dadurch, dass Du TIMER 1 beim zweiten Mal nicht mehr abstellst, d.h. nach 6 Minuten wird "geloopt", und immer wenn TIMER 1 geloopt wird, schalten die anderen beiden timer 2 und 3 sich automatisch mit ein und aendern kurz vor dem Angriff die Eigenschaften der gegnerischen Milit-Einheiten auf "Agressiv" und eine Minute (ist natuerlich variabel) nach einem Angriff wieder auf "Passiv". ANMERKUNG: Wenn Du den Angriffstimer nicht von Anfang an haben willst, aenderst Du nur die erste Bedingung
(defrule
(game-time > 355)
ab in z.B.
(defrule
(event-detected trigger 0)
dass Du von einem der Schalter im Spiel abfeuern laesst, sobald eine bestimmte Bedingung erfuellt ist.
2. Wirtschaft steht still, zivile u. milit. Einheiten verharren, etc.
IMMOBILE AI - ALLE MILIT-EINHEITEN VERHARREN - ZIVILE BEV. ARBEITET, HANDELT WIRD BETRIEBEN, ETC.
Du blockierst anfangs lediglich die milit. Population mittels IMMOBILE UNITS AI, die Bloackade der zivilen Population laesst Du weg:
(defrule
(true)
=>
(set-strategic-number sn-percent-enemy-sighted-response 100)
(set-strategic-number sn-hits-before-alliance-change 25)
(set-strategic-number sn-number-explore-groups 0)
(set-strategic-number sn-percent-attack-soldiers 0)
(set-strategic-number sn-task-ungrouped-soldiers 0)
(set-strategic-number sn-number-attack-groups 0)
(set-strategic-number sn-enemy-sighted-response-distance 10)
(set-strategic-number sn-total-number-explorers 0)
(set-strategic-number sn-relic-return-distance 0)
(disable-self)
)
Die Timer zum Umstellen der Eigenschaften der milit. Einheiten sowie zum Angreifen kannst Du von oben uebernehmen, lediglich die Zeit von 6 Minuten auf 5 Minuten stellen, oder welche Aenderungen Du sonst haben moechtest...
Hoffentlich klappt's