Einheiten bewegen

Fragen zum Szenarienbau und Mapdesign

Moderatoren: Henning, Björn_Jernside

Ich würde gerne folgendes verwircklichen: Alleine oder zu zweit muss man eine Festung verteidigen. Der Computer greift die Festung an. Muss ich da ein Skript schreiben? Oder ist dass mit Schalter möglich?
Ki eignet sich besser.
Aber is auch mit Schaltern möglich. Einheit einfach per Schalter in n Gebiet schicken, damit sie dort kämpfen. ABER Problem: ohne Ki könnte der Computer sowieso alles anders machen und mit Immobile Units könnte es sein, dass der PC vor der Festung stehen bleibt und nur mit 2-3 Einheiten angreift.
Wäre es schwierig das mit einem KI zu machen ich habe nähmlich noch keine Ahnung davon.
Kommt drauf an, wie du dich mit KI auskennst.
Oder frag ma Günni
Ich kenne mich überhaupt ned mit dem KI programmieren aus :(. ich kann nur ein bissel mappen und Schalter machen.
Die Sache ist die, dass du mit Schaltern den Einheiten genau sagen kannst, wann sie wohin laufen sollen. Das machen die Einheiten dann auch (meistens).
Die KI ist da allgemeiner aufgebaut. Sie gibt dem Computer Handlungsanweisungen, die mehr oder weniger speziell sind. Du kannst dem Computer dadurch (und mit Hilfe von Schaltern) ebenfalls einen genauen Zeitpunkt zum Angriff geben. Wie er dann genau angreift, bleibt dem Computer überlassen. Das hat natürlich den Vorteil, dass der Computer so flexibler reagiert.

Deine Frage: "Der Computer greift die Festung an. Was muss ich da machen?" lässt sich leider nicht so einfach (bzw. gar nicht) beantworten.
Es kommt drauf an. Wie das Szenario aussieht, was du selbst für genaue Anforderungen an den Angriff hast etc etc.

Ach und: Es heisst die KI. (steht für künstliche Intelligenz) ;)
Ich würde gerne folgendes verwircklichen: Alleine oder zu zweit muss man eine Festung verteidigen. Der Computer greift die Festung an. Muss ich da ein Skript schreiben? Oder ist dass mit Schalter möglich?
Definiere den Begriff "Festung". :D

Wenn es sich dabei z.B. um eine Ansammlung von Burgen handelt, kannst du der Ki auch mit dem Befehl

(set-strategic-number sn-special-attack-type1 82)

anweisen, vorrangig Burgen (Master ID Nummer 82) anzugreifen.
Es lassen sich bis zu 3 dieser Hauptziele definieren (type1 bis type3).
Für das Primärziel (special-attack-type1) kann man noch einen Gewichtungsfaktor festlegen:

(set-strategic-number sn-special-attack influence1 90)

wobei die 90 für den Faktor steht (muß >0 und < 100 sein!).
Ein Festung ist für mich mit mehreren Ringmauern und mehreren Burgen, dazu kommt kommen noch Tirböcke und Türme welche die Mauern verteidigen.
Ok, dann kannst du als Angriffsziele Burgen (ID 82), Triböke (gepackte = ID 331, aufgebaute = ID 42), Türme (ID hängt vom Turmtyp ab, z.B. Hauptturm = ID 235) oder Wälle (Steinwälle = ID 117, Bef. Wälle = ID 155) nehmen.

Die komplette Befehlszeile würde dann z.B. so aussehen:


(defrule
(true)
=>
(set-strategic-number sn-attack-winning-player-factor 100)
(set-strategic-number sn-attack-winning-player 1)
(set-strategic-number sn-special-attack-type1 82) ; Burg
(set-strategic-number sn-special-attack-type2 235) ; Hauptturm
(set-strategic-number sn-special-attack-type3 155) ; Bef. Wälle
(set-strategic-number sn-special-attack-influence1 90)
)


Das "true" bedeutet, daß der Befehl sofort und ohne weitere Bedingung gilt.
Das kursive sind nur Notizen (alles was man nach einem Semikolon schreibt, wird vom KI-Script ignoriert).
Danke vielmals. Ein bisschen kenne ich mich auch mit dem Scripten aus aber leider zu wenig um so was zu machen. Gehe ich richtig in der Annahme, dass die Türme und Burgen zufällig angegriffen werden? Gibts irgendwo eine Übersicht mit allen ID ? Was passiert wenn die Angreifer noch ausser Reichweite ihres Zieles sind? Greifen sie dann tozdem an?

So ich hoffe du wurdest nun nicht allzu fest von mir mit Fragen bombardiert. :D
Also die Master IDs findet man in Genied (bei den jeweiligen Einheiten).

Als Angriffskoordinator dient der influence-Faktor (Werte 1-100). Leider kann man den nur für das 1. Angriffsziel angeben.

Was meinst du mit Reichweite? :confused:
Das geht natürlich nur bei Sichtkontakt.
Wie sollten sie sonst angreifen???