MoHAA Tutorials
AI Patroulie
30.11.2006 - 21:30

 

 

Der AI soll Streife laufen (von Haui http://www.felstroll.de )

.

Hier die Anleitung wie man einen AI dazu bringt in der Gegend herumzuspazieren.

(1) Einen AI Gegner platzieren der Patrouille läuft.
(2) Wie lege ich die Route im Radi fest.
(3) Das Script zur Route
.

.

(1) Einen AI Gegner  platzieren der Patrouille läuft.

Einen Raum mit Licht machen so in der Größe 1024x1024x192 (Dran denken die Oberflächen die man nicht braucht mit CAULK belegen) und in er Mitte der Map den Playerstart (Rechte maus ) info->player->start) setzten. Nun den Feind hinzufügen, dazu rechte Maustaste ai->german->wehrmact->soldier. Nun die I Taste und man bekommt das Popup Fenster mit den AI-Parametern. Hier folgende Einstellungen machen:

Achtung er schiesst nicht aber wenn man zunahe kommt dann geht’s los..

(2) Wie lege ich die Route im Radi fest

Nun setze einen info_waypoint in die linke Ecke des Raums und vergebe ein (key value)
$targetname path1
target path2

Nun setze einen info_waypoint in die linke Ecke des Raums und vergebe ein (key value)
$targetname path1
target path2

Erzeuge ein trigger_multiple vor deinem info_playerstart in xy Richtung und vergebe (key value)
target waechter

baue einen kleinen Brush um dich daran zu erinnern wo der Trigger sitzt (Der Brush kann dern Trigger überlappen)

Wenn du alles Richtig gemacht hast solltest du Linien sehen die alle 4 Entities verbinden.

Nun speichere die Karte als test_waechter.map

Nun den Scripteditor (notepad etc) öffnen und folgendes Script reinklimpern:

//SCRIPTING: Gener_AL
main:
exec global/ai.scr
exec global/loadout.scr maps/test_waechter.scr
exec gloal/friendly.scr

level waittill prespawn

exec global/ambient.scr test_waechter

level waittill spawn 

$player item weapons/colt45.tik
level.script = "maps/test_waechter.scr"
thread objectives
thread waechter1move

end
/////////////////
objectives
:
waitthread global/objectives.scr::add_objectives 1 2 "Kill the guards." $obj1.origin
set_objective_pos $obj1
thread objective1
end
////////////////////
objective1:

waitthread global/objectives.scr::current_objectives 1
iprintln "kill the guards"
if (IsAlive $waechter1)
$waechter1 waittill death
if (IsAlive $waechter)
$waechter waittill death
thread levelend
end

///////////////////
levelend:

waitthread global/objectives.scr::current_objectives 0
iprintln "mission completed"
wait 1

end

nun schön compilieren und der deutsche Soldat läuft von a nach b und von b nach a.

(3) Route mit Rastpunkten.

So nun kann man auch noch die Bewegung das Kameraden steuern. Setze einen ai->german->wehrmact->soldier in die Mitte des Raums und drücke die I Taste.

Setze eine info_pathnode ins obere linke Ecke mit folgenden (key value)
$targetname path11
und eine ins rechte mit den Werten
$targetname path12

Öffne das Script noch einmal und füge folgendes hinzu

////////////////////////
waechter1move:
iprintln "waechter1move threaded"
$waechter1 walkto $path11
wait 10
$waechter1 walkto $path12
wait 10
$waechter1 walkto $path11
wait 10
$waechter1 walkto $path12
wait 10
$waechter1 walkto $path11
wait 10
iprintln "waechter1move finished"
end
//////////////////////////////


Naja Compilieren und los gehts.

Zum Abschluss noch eine vorbereitete <<< Test-map >>>  zum anschauen und das zugehörende <<< Map-script >>>

 

Das bbmd-Team 11/2006

© 2002-2002 by Haui



haui // überarbeitet cubus


gedruckt am 27.11.2024 - 02:57
https://www.bb-mapping-designs.de/community/include.php?path=content&contentid=148