Leider kommt immer ne Fehlermeldung... und der Spieler baut keine Einheiten
Zusatzfragen:
1. Wie bekomme ich das hin, dass all diese Aktionen erst ab einem bestimmten Zeitpunkt (KI-Skripziel) wirksam werden
2. Das die Dorfis nix machen
3. Das der Spieler nur verteidigt
4. Das der Spieler schön angreift (ähnliche KI)
Re: KI
Verfasst: Montag 28. Februar 2011, 21:50
von Günter
Hi Björn,
was steht in der Fehlermeldung?
zu 1. hierfür ist das KI-Skritpziel im Editor. Du machst einfach unter dem Spieler, dessen KI das Skriptziel erhalten, soll sagen wir mal Spieler3 KI-Skriptziel 99.
In der KI von Spieler3 schreibst du dann die Bedingung event-detected trigger 99. Alle Anweisungen, die in diesem Trigger enthalten sind, werden dann erst nach erfüllen des Schalters ausgeführt.
Um den Trigger für mehrere KI-Regeln geltend zu machen kannst du die goals verwenden.
In deinem Beispiel ist das folgende Zeile:
trigger 2 bedeutet hier, du musst per Schalter das KI-Skriptziel 2 aktivieren. Dann erst wird die KI aktiv. Das goal 10 wurde auf 1 gesetzt.
Es werden nun alle rules, welche mit dem goal 10 verknüpft sind aktiviert.
disable-self hebt den trigger auf, er kann somit nicht mehr verwendet werden.
Dafür ist nun das goal zuständig.
Es können jetzt zum Beispiel die Angriffe gestartet werden.
Wenn die Angriffe später wieder gestoppt werden sollen kann das goal 10 mit 2 überschrieben werden und der Attack-Timer mittels event-detected trigger 3 ausgeschaltet werden, Angriffstrupps auf 0.
zu 2. ganz einfach immobile units
zu 3. indem du keine attack-rule schreibst. Verteidung erfolgt normalerweise automatisch. Du musst nur deine Verteidigungstruppen bauen lassen.
zu 4. Wiederspricht sich zwar mit 3 aber in dem Fall genau umgekehrt, nämlich indem du eine attack-rule erstellst. Hier kannst du dann die min- max-Anzahl der Einheiten einstellen.
Damit bekommst du schöne Angriffsformationen.
Die Anfgriffsabstände kannst du mittels Timer erledigen.
Re: KI
Verfasst: Dienstag 1. März 2011, 15:31
von Ivan
Ich hätte da mal wieder eine Frage:
Ich habe eine Zusammenarbeit aus KI und Schaltern zusammengestellt.
Bei eingabe eines bestimmten Taunts soll (per schalter) etwas bestimmtes passieren.
Das habe ich bisher bewerkstelligt indem ich in der KI als fact "taunt-detected..." geschrieben habe. Die KI wiederum sendet ein Signal, welches der Schalter der die gewünschte Aktion ausführt als Bedingung hat.
Das funktioniert auch prima soweit. Das problem, das ich aber habe ist, dass sobald das signal zum ersten mal gegeben wird, die Bedingung ständig erfüllt ist und die Aktion folglich ständig stattfindet und nicht nur immer dann wenn der taunt eingegeben wird (triggerschleife ist an). Was ich aber will ist eben dass NUR jedesmal wenn der taunt eingegeben die aktion stattfindet.
daher meine Frage: wie kann ich das lösen ? Ich vermute, dass das problem das Signal ist welches ja nicht wieder "deaktiviert" und "reaktiviert" werden kann. Gibt es eine andere Möglichkeit von KI zu Schalter zu kommunizieren?
Re: KI
Verfasst: Dienstag 1. März 2011, 22:06
von Günter
Hi Ivan,
hast du schon versucht, mit disable-self den KI-Trigger, der das Signal auszuschalten?
Re: KI
Verfasst: Dienstag 1. März 2011, 22:48
von Björn_Jernside
Also in diversen Szenarien wurde das so gelöst....
KI:
Wenn Taunt 100 ... dann bekommt Spieler X zb 1 Holz
Schalter: (Triggerschleife an)
Bed: Spieler 2 hat 1 Holz
Effekt: was auch immer passieren soll
Effekt: Tribut - Spieler 2 - Holz an Gaia
Re: KI
Verfasst: Dienstag 1. März 2011, 23:47
von Ivan
kann ich "dann bekommt Spieler X 1 Holz" in KI umsetzen ? Dachte das geht nur per Schalter ?!
Re: KI
Verfasst: Dienstag 1. März 2011, 23:53
von Henning
(...)
=>
(cc-add-resource wood 1)
)
Re: KI
Verfasst: Mittwoch 2. März 2011, 00:09
von Ivan
Super Danke! Gibt es da noch andere Möglichkeiten ? Kann man z.b. irgendwie per KI einheiten setzen lassen (also nicht in ner ausbildungsstätte ausbilden lassen, sondern einfach aufploppen lassen) ?
Edit: Irgendwie besteht mein Problem immer noch. Jetzt ist es so, dass der Effekt ständig eintritt. Es scheint so als ob der KI fact sobald ich den entsprechenden Taunt zum ersten Mal eingegeben habe ständig erfüllt ist, weswegen der Spieler mit der KI 1 Holz pro Zeiteinheit erhält.
Re: KI
Verfasst: Mittwoch 2. März 2011, 00:25
von Barbarossa
Nein, derartige Dinge gehen leider nur per Schalter.
Kannst es höchstens indirekt, etwa über ein KI-Signal, steuern bzw auslösen, aber letzten Endes muß die Aktion "neue Einheit setzen" selbst mit einem Schalter erfolgen.
KI-Skripte regeln im Grunde vereinfacht gesagt nur die "(Inter)aktion von PC-Spielern anhand ihrer auf der jeweiligen Map vorgegebenen Möglichkeiten". Du kannst einer KI befehlen, bei Event A oder je Zeitgeber B iwelche Einheiten unter Bedingung C auszubilden. Sofern aber die praktischen Voraussetzungen dafür nicht existent sind oder erstellt werden können (etwa: das benötigte Gebäude) wird das schlicht nicht passieren.
Re: KI
Verfasst: Mittwoch 2. März 2011, 00:29
von Henning
Hier nochmal als Inspiration für alle Nichtsahnenden und Unwissenden die guten alten KI Cheat-Lines, damit spart man sich viele Tributschalter und vergleichbares, um das "Ausbluten" der KI zu verhindern.
ja was würden deine MAyas nur ohne diese Zeilen machen ^^
Re: KI
Verfasst: Mittwoch 2. März 2011, 15:03
von Henning
ja was würden deine MAyas nur ohne diese Zeilen machen
Ziemlich alt aussehen!
Re: KI
Verfasst: Donnerstag 31. März 2011, 02:38
von khfk
Ivan hat geschrieben:
Edit: Irgendwie besteht mein Problem immer noch. Jetzt ist es so, dass der Effekt ständig eintritt. Es scheint so als ob der KI fact sobald ich den entsprechenden Taunt zum ersten Mal eingegeben habe ständig erfüllt ist, weswegen der Spieler mit der KI 1 Holz pro Zeiteinheit erhält.
Falls das Problem noch nicht gelöst ist:
Du musst in dieselbe Regel, wo als Bedingung taunt-detected drinsteht als Effekt acknowledge taunt reinschreiben, damit der Zähler für den Taunt immer wieder zurückgesetzt wird
Als kleines Beispiel eine KI, die immer, wenn der Taunt 1 ("Ja") eingegeben wird mit "Nein" antwortet:
Falke hat geschrieben:
Falls das Problem noch nicht gelöst ist:
Du musst in dieselbe Regel, wo als Bedingung taunt-detected drinsteht als Effekt acknowledge taunt reinschreiben, damit der Zähler für den Taunt immer wieder zurückgesetzt wird
Als kleines Beispiel eine KI, die immer, wenn der Taunt 1 ("Ja") eingegeben wird mit "Nein" antwortet:
Ahh super ! Das müsste die Lösung sein. Ich hatte die Idee schon verworfen, aber jetzt mal sehen hm...
Danke auf jeden Fall.
Re: KI
Verfasst: Dienstag 3. Mai 2011, 14:48
von khfk
Ich hab ein kleines KI-Problem
Die Situation auf der Map ist folgende:
Es gibt mehrere Dörfer, die alle dem selben Spieler gehören. Damit das ganze ein bisschen lebendig aussieht, sammeln die Dorfis auch fleißig Rohstoffe. Das Problem ist, dass die Dorfis auch ständig zwischen den Dörfern hin- und herlaufen, was sie eigentlich nicht tun sollten. Ist es irgendwie möglich der KI zu sagen, dass sie die Dorfis in dem Dorf lassen soll, wo sie platziert wurden?
Hab's schon mit Heruntertsetzen der dropsite-distance versucht, aber das funktioniert nicht.
Re: KI
Verfasst: Dienstag 3. Mai 2011, 17:35
von Henning
Ein paar Fragen zu dem Spieler, dem die KI zugeordnet ist:
- Bleibt (ist) dieser mit Spieler 1 verbündet?
- Muss er ausser Eyecandy-Zwecken noch anderweitige Funktionen erfüllen oder ist er eher nur reine Dekoration?
Re: KI
Verfasst: Dienstag 3. Mai 2011, 18:19
von khfk
-Ja, der Spieler ist und bleibt mit Spieler 1 verbündet
-Der Spieler erhält im Laufe des Spiels (per Besitzwechsel) auch Soldaten und Türme, die auch angreifen sollen, wenn feindliche Einheiten in der Nähe sind (was auch funktioniert). Die Dorfis sind aber nur Dekoration, sollen also nichts bauen oder so (ausser Farmen).
Re: KI
Verfasst: Dienstag 3. Mai 2011, 18:43
von Björn_Jernside
Ändere die Ki doch so, dass die Dorfis nichts tun und weise sie per Schalter den Aufgaben zu
Re: KI
Verfasst: Mittwoch 4. Mai 2011, 00:54
von Henning
Ändere die Ki doch so, dass die Dorfis nichts tun und weise sie per Schalter den Aufgaben zu
Würde ich auch so machen. Da der Spieler aber wohl Feinde hat (ging jetzt aus deiner Beschreibung so hervor) würde ich entsprechende Gegner auf neutral stellen, damit sie sich nur mit den Soldaten der Dörfer beulen und nicht die ganzen Dorfis schlachten.