AI Sneak Attack?

Joined
Oct 19, 2005
Messages
68
Points
0
Hi, Ich habe eine Frage zur Sneak Attack: Wenn ich Einheiten ins Tunnel Netzwerk geladen habe und der KI sage, sie soll eine Sneak Attack machen, scheint noch etwas zu fehlen, damit die KI auch die Einheiten aus dem Tunnel entlädt und damit angreift. Was genau muss ich da machen?
3de10246.jpg
 
Last edited:
Also ganz ehrlich ich würde dir gerne helfen aber ich keine Ahnung wie du das meinst lol... :D
 
Hm, habe ich es so schlecht erklärt? Okay, nochmal ausführlicher. Es gibt eine Generalsfähigkeit genannt Sneak Attack. Dabei kann man ein GLA Tunnel Netzwerk an einen beliebigen Ort setzen. Aus diesem Tunnelausgang kann man dann Einheiten herausholen, die man in einen anderen Tunnel hineinbefördert hat. Der Computergegner soll diese Fähigkeit benutzen, um den Spieler zu attackieren, d.h. einen zufälligen Platz aussuchen, einen Tunnel erstellen und schließlich Einheiten ausladen, um den Spieler anzugreifen. Wenn ich den Computer aber so programmiere, dass er die Sneak Attack Fähigkeit benutzt, platziert er den Tunnel, entlädt aber nicht die Einheiten, die sich im Tunnel befinden, um den Gegner anzugreifen. Das bedeutet, man muss noch zusätzlich etwas programmieren, damit er das tut und das möchte ich gerne wissen.
87234ee5.jpg
 
Hm, habe ich es so schlecht erklärt? Okay, nochmal ausführlicher. Es gibt eine Generalsfähigkeit genannt Sneak Attack. Dabei kann man ein GLA Tunnel Netzwerk an einen beliebigen Ort setzen. Aus diesem Tunnelausgang kann man dann Einheiten herausholen, die man in einen anderen Tunnel hineinbefördert hat. Der Computergegner soll diese Fähigkeit benutzen, um den Spieler zu attackieren, d.h. einen zufälligen Platz aussuchen, einen Tunnel erstellen und schließlich Einheiten ausladen, um den Spieler anzugreifen. Wenn ich den Computer aber so programmiere, dass er die Sneak Attack Fähigkeit benutzt, platziert er den Tunnel, entlädt aber nicht die Einheiten, die sich im Tunnel befinden, um den Gegner anzugreifen. Das bedeutet, man muss noch zusätzlich etwas programmieren, damit er das tut und das möchte ich gerne wissen.
87234ee5.jpg

Ich schau nachher mal in den Worldedit rein. Eventuell find ich eine Möglichkeit, damit die KI das macht. Du wirst wahrscheinlich mit areas (Gebieten) arbeiten müssen vermute ich jetzt mal.

"All units of type "sneak_attack_tunnel_network" use ability "evacuate" in region "evacuate here""
 
"All units of type "sneak_attack_tunnel_network" use ability "evacuate" in region "evacuate here""

Die habe ich noch nie gesehen. Kannst du mir den Pfad für diese Funktion angeben, bitte.

9872a224.jpg
 
Kann den Skript Teil gerade auch nicht finden ...
Ich schließ meine Externe Festplatte mal an und schau ob ich in meinen alten maps noch was finden kann zu dem Sneak Attack. Ich schreib dann nachher nochmal hier

EDIT:
Leider kein Erfolg gehabt :(
Bin auch leider schon viel zu eingerostet mit dem skripten. Eventuell hast du Glück und I^love^Mixery schreibt hier noch was rein. Mixery hat sehr viel Erfahrung mit dem Skripten.

Die Skript Zeile die ich dir aufgelistet habe trifft glaube ich auf den Szenario Editor von Starcraft 1 zu. Das würde zumindest erklären, warum wir beide das Skript in Zero Hour nicht finden können.

Hab mit Starcraft 1 und Zero Hour gleich viel rumexperimentiert in Sachen Welten bauen, wodurch ich leider öfters mal die Skripts durcheinander werfe.
Hoffe du erhälst trotzdem noch eine Antwort auf deine Frage.

Sollte deine Mission gut werden und du benötigst noch einen BETA Tester, stelle ich mich gerne zur Verfügung
 
Last edited:
Ich habe ein Umgehungsskript ergoogelt, mit dem ich die Sneak Attack simulieren kann, wobei es dann nicht zufällig, sondern immer auf demselben Waypoint stattfinden würde. Indem ich den Sneak Attack Tunnel spawne und dann die Units dadurch beordere. Ist aber umständlich und suboptimal, da man sich als Spieler auf den Ort vorbereiten kann.

Trotzdem danke für deine Bemühungen. Ich überlege mir noch, wie oder ob ich die Sneak Attack einführe.
f0077840.jpg
 
Yeah~ ich bin fertig!
75154fb9.jpg

Also für Interessierte, ich habe die Sneak Attack folgendermaßen programmiert:
Code:
spawn team (with subr: enter tunnel-prepareSneak)
delay
IF someCondition THEN an position 1  ELSE an position 2 (für etwas Abwechslung)
spawn Sneak Attack Tunnel Start; EVAUSA_SneakAttackDetected Speech; SneakAttackLaunched Sound an Waypoint
4.8 sec timer -> (IF SneakTunnelStart lebt noch THEN->) remove Sneak Tunnel Start; Spawn Sneak Tunnel; Cave Connection zwischen TunnelPrepare und SneakTunnel
IF SneakTunnel lebt noch THEN Unload Sneak Tunnel ELSE Unload TunnelPrepare
delay 2 sec
Set Team Hunting
 
WTF is das für eine skriptsprache mit "lebt noch"
LOOOL
 
gibt eine viel coolere methode:

Team -> Guard -> Set to guard - from inside tunnel network.

Wenn du dieses script einem team zuweist, dann fährt das team in den nächsten tunnel (bis das tunnelnetz voll ist) und wenn dann ein tunnel von dem spieler angegriffen wird, lädt er automatisch diese einheiten am jeweiligen tunnel aus und vernichtet den angreifer. danach zieht sich das team in den tunnel zurück. alles vollautomatisch.

komm allerdings nicht auf die idee, die einheiten außerhalb des sichtbaren kartenfeldes in den tunnel fahren zu lassen. damit habe ich ganz schlechte erfahrung gemacht (geht zwar an sich aber die einheiten spinnen dann rum).

um nun diese sneak attack tunnel aus dem boden sprießen zu lassen:
1. spawne ein benanntes GBA command center (commandcenterGLA) außerhalb der karte (zu dem computerspieler, dem die sneak tunnel gehören sollen)
2. Unit -> Special power -> Special power -- fire at location -> Unit 'commandcenterGLA' fires Special power 'SuperweaponSneakAttack' at Waypoint 'Base-attack'.

so sprießt am waypoint 'Base-attack' so ein sneak tunnel aus dem boden. bei dieser methode ist es völlig egal, ob dem spieler eigentlich tatsächlich so ein tunnel zur verfügung steht. countdowns und voraussetzung für diese fähigkeit werden komplett ignoriert.
 
Genau diese Methode habe ich die ganze Zeit gesucht!! Herr Vorragend! Danke Henning!! Ich hab mir schon gedacht, dass du es weißt.
d0b8a560.jpg
 
gerne doch. das problem an der methode ist halt, dass der sneak tunnel keinen namen hat, weswegen du ihn nicht direkt befehligen kannst. du kannst also nicht gezielt das team aus diesem tunnel evakuieren oder wieder einladen. du musst dich voll auf das guard script verlassen.

wenn dir das nicht reicht gibt dazu aber bestimmt einen workaround, ähnlich der methode die du zuerst verwendet hast.
 
Das war genau, was ich gesucht hatte. Meine Umgehungsmethode war total umständig und vorhersehbar.
 
Back
Top Bottom