User Tag List

Ergebnis 1 bis 3 von 3

Thema: Arbeiten mit NPCs Teil 7 - Das ai_goal_follow Entity

  1. #1
    Moderator Avatar von Dmx6
    Registriert seit
    18.06.2010
    Ort
    Zwischen Frankfurt und Darmstadt
    Alter
    26
    Beiträge
    950
    Blog-Einträge
    3
    Renommee-Modifikator
    17

    Arbeiten mit NPCs Teil 7 - Das ai_goal_follow Entity

    Arbeiten mit NPCs Teil 7 - Das ai_goal_follow Entity


    Willkommen beim mittlerweile siebten Teil der NPC Tutorrialreihe, diesmal dreht sich alles um das ai_goal_follow Entity.

    Wenn wir ein paar Rebellen oder Einwohner von City 17 in unsere Map einfügen, folgen Sie dem Spieler sobald sie ihn erkennen.

    Das ist nicht immer von Vorteil, manchmal ist es besser Sie folgen dem Spieler erst ab einen bestimmten Ereignis. Um dies zu realisieren, gibt es das ai_goal_follow Entity, mit Hilfe von diesem Entity, folgen NPC´s dem Spieler oder einen anderen NPC.

    Allerdings hat das ai_goal_entity einige Limitierungen:
    • Die NPC`s folgen dem Ziel nicht intelligent. Sie können an Wänden oder Säulen hängen bleiben.
    • Sollen die NPC`s einen anderen NPC folgen, kann es vorkommen, das die NPC´s den führenden NPC einkesseln und dieser an den folgenden NPC`s hängen bleibt.


    Zu aller erst benötigen wir wieder einen Raum, in den wir das ai_goal_follow Entity ausprobieren. Ich habe schon mal einen Raum gebaut und 3 NPC´s hinzugefügt:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	raum1.jpg 
Hits:	42 
Größe:	93,8 KB 
ID:	2806

    Wenn wir die Map nun compilieren und Spielen folgen die NPC´s uns.

    Um dies von beginn an zu verhindern brauchen wir ein env_global.
    Mithilfe dieses Entities können wir auf der ganzen Map wirksame änderungen durchführen, die sich auf den Spieler beschränken.
    Baut das env_global irgendwo in die Map uns stellt folgendes ein:
    Initial State: “On” (Legt fest, wann die Einstellungen wirksam werden. On = Von Mapbeginn an Off = Von Mapbeginn aus, Dead = Wenn der Spieler stirbt)
    Global State to Set: „Gordon pre-criminal“ (Mit dieser Einstellung folgen uns Rebellen und Bürger in der Map nichtmehr)

    Jeder der 3 NPC`s hat einen eigenen Namen bekommen, der erste „citizen_1“, der zweite „citizen_2“ und der dritte „citizen_3“.

    Name:  Ai_goal_follow.png
Hits: 162
Größe:  5,0 KB

    Über jedem NPC platzieren wir ein ai_goal_follow Entity.
    Wir stellen beim Entity über den Ersten NPC folgendes ein:

    Name: „follow1“ (Name zur Identifizierung des Entities)
    Actor(s) to affect: „citizen_1“ (Hier wählen wir den NPC aus der unserem Ziel-Entity folgen soll)
    Target Entity: „!player“ (Hiermit wählen wir das Ziel-Entity aus dem die NPC´s folgen sollen. Ihr könnt den Namen anderer NPC´s oder Entites eintragen, wollt Ihr aber das der NPC dem Spieler folgt gebt „!player“ ein.)
    Search Type: „Entity Name“ (Hier kann eingestellt werden auf welche Art der NPC bei Actror(s) to affect angesprochen wird. Bei „Entity Name“ wird der NPC der diesen Namen hat angesprochen, bei „Class Name“ werden ganze Entity Klassen angesprochen. Beispiel: "npc_headcrab")
    Start Active: "No" (Legt fest ob das "ai_goal_follow" schon bei Mapstart aktiviert sein soll, in unserem Fall wollen wir, zur Demonstartionszwecken, das Entity per Input ansprechen, daher "No".)
    Maximum state:“Idle“ (Der maximale Status des NPC, um dem Ziel-Entity folgen zu dürfen)
    Formation: "Wide Circle" (Legt fest in welcher Formation der NPC dem Ziel-Entity folgt; zum Beispiel: ein geschlossener Krein, ein offener Kreis uvm.)

    Alle weiteren ai_goal_follow Entities erhalten die gleichen Einstellungen nur mit anderen Namen (follow2 & follow3) und für die anderen NPC´s (citizen_2 & citizen3).

    Wie Ihr seht, habe ich in meiner Map neben jedem NPC eine Säule gebaut. Diese dienen zur Orientierung, denn auf dieser Höhe wollen wir den jeweiligen NPC ansprechen uns zu folgen.

    Neben der Säule, neber dem ersten NPC, ziehen wir nun einen Trigger brush.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	trigger1.jpg 
Hits:	38 
Größe:	100,4 KB 
ID:	2807


    Den Brush machen wir zu einem „trigger_multiple“ mit folgenden Einstellungen:
    Name: „trigger_follow1“ (Name zur Identifizierung des Entities)

    Wir geben dem Entity folgenden Output:
    My Output Named: OnTrigger
    Targets Entities Named: follow1
    Via this Input: Activate

    Der Trigger wurde nun so eingestellt das er , wenn der Spieler Ihn berührt, auslöst und unser erstes ai_goal_follow Entity anspricht und dieses Aktiviert.
    Nun folgt uns der erste NPC überall hin. Wir bauen nun 2 weitere Trigger damit die 2 anderen NPC uns auch folgen, wenn sie getriggert werden.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	trigger2.jpg 
Hits:	49 
Größe:	97,1 KB 
ID:	2808

    Wenn Ihr nun die Map compiled, werden die NPC´s euch folgen, wenn Ihr den Trigger berührt.
    Die NPC´s folgen euch solange bis sich der Maximum state in "Alert2 oder „Combat“ ändert.

    Die .vmf als Anhang gibt es hier:
    ai_goal_follow.vmf

    Den nächsten Teil der Tutorialreihe, der dieses Sytem umdreht, findet Ihr hier.
    Geändert von DaEngineer (14.02.2016 um 17:40:30 Uhr)

  2. #2
    Administrator Avatar von DaEngineer
    Registriert seit
    23.06.2010
    Beiträge
    1.544
    Blog-Einträge
    2
    Renommee-Modifikator
    20
    Wieder was gelernt, gute Arbeit

  3. #3
    Mitglied Avatar von Av3ris
    Registriert seit
    21.09.2010
    Beiträge
    486
    Renommee-Modifikator
    11
    Danke hierfür, gab Grün
    K - L - O - N, Klon Radio, we play the songs that sound more like everyone elses, than everyone elses! It's songs for the deaf, you can't even hear them!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]