Ai Fortbewegung

  • Frage1) Wie bekommt man eine Wache dazu, auf der Stelle stehen zu bleiben, sodass sie nicht einmal daran denkt, abzuhauen?


    Frage2) In DromEd 2 gab es die Meta-Property "M-RunnyGuard", die bewirkte, dass eine Ai nur noch rennen kann... sowas brauche ich auch in meiner kleinen "FUN-Mission", die ich nur zum Spaß verwalte. Dennoch wäre es gut zu wissen, wie das in DromEd1 machbar ist. Denn da gibt es die besagte M.-Property nicht mehr, bzw. gab es sie da noch nicht.


    Frage2b) Kann man Wachen dazu bringen, in verschiedenen Fortbewegungsarten (Geschwindigkeiten) zu laufen?

  • zu 2b kannst du es zumindest so machen, dass die Wache mal rennt und mal normal geht. Dazu erstellst du einfach ein AiWatchObj Link zu dem Troip, abdem die Wache rennen soll. Dort machst du Add/remove Metaprop und machst Add M-RunnyGuard. An dem Troip wo die Wache normal laufen soll, machst du wieder ein AiWatchObj mit Remove M-RunnyGuard.


    Was genau ist deine Vorstellung bei Frage 1. Soll die Wache erst laufen dann irgendwo stehen bleiben oder soll sie einfach so stehen

  • Zu Frage 1:


    Normalerweise stehen die Wachen immer rum. Meinst du denn, dass sie auch auf Alert 3 stehen bleiben soll und nicht nach dir suchen soll? Du kannst leicht das Investigate verhalten der AIs ändern: Add --> AI --> Ability Settings --> Investigation: Style --> Auf "Don't Investigate" stellen


    Zu Frage 2a:


    Im Zweifelsfall schaust du einfach in der Metaproperty, WAS genau alles darin enthalten ist, um es dann in Thief 1 nachzubauen.
    In der Metapropertie "M-RunnyGuard" ist das entscheidende was du sucht unter: Add --> Motion zu finden. Dort gibst du zusätzlich neben "WithSword" auch "LocoUrgent" ein.
    Was ich jedoch nun stark bezweifle ist, dass das Skript "LocoUrgent" in Thief 1 verfügbar ist.
    Realisieren könntest du es mit AiWatchobjekt Links, indem du der Wache ein "GotoObjekt" Befehl gibst und dann ins 2. Argument "very fast" einträgst. Dann rennt die Wache schnell zu dem angegebenen Objekt.


    Zu 2b: Wachen haben eine gewissen Standardgeschwindigkeit. Diese kannst du folgendermaßen einstellen: Add --> Creature --> Time Warp ---> "Hier Wert eingeben"
    1.00 ist die Standardgeschwindigkeit jeder Swordguard. Je höher, desto langsamer, je niedriger der Wert, desto schneller.
    Kleine Orientierung vielleicht: Bafford Guards haben 1.15, Haunts sowie Apebeaster haben 0.75.


    Desweiteren hat jede AI zu ihrem normalen gehen auch ein "Rennmodus", welchen sie einsetzt, wenn sie flieht, dir kampfeslustig hinterher rennt oder den Befehl "gotoobjekt" mit "very fast" unter Argument 2 bekommt. das Skript "LocoUrgent" bewirkt ebenfalls den Effekt.


    Hoffe, ich konnte helfen.

    Denn so viele bauen heute ohne Achtung vor dem großen Erbauer.


    Die Stadt trägt sein Zeichen nicht mehr


    und ewig sucht der Makel des Schwindlers sich Zutritt zu verschaffen.

    Einmal editiert, zuletzt von DarkThief ()

  • Wunderbar. Du hast all meine Probleme gelöst! Dank Dir :D
    Und ich hab sogar noch einiges dazu glernt...


    EDIT:


    Mein neues Problem passt thematisch immernoch:
    Ich möchte, dass eine Gruppe von Hammeriten zu einem Marker rennt, wenn ich ein Gebiet betrete. Um das leichter zu rralisieren, habe ich einen BoundsTrigger verwendet, der ungefähr das selbe bewirkt wie ein Raumschalter. Aber ich weiss immernoch nicht, was ich jetzt machen muss, verlinkungstechnisch.

  • Problem gelöst. Ich habs folgendermaßen gemacht:


    Ein Raumschalter, durch den man durchgehen muss, verlinkt mit einer RelayTrap:


    Flavour: ControlDevice
    From : [Nummer des Raumschalters]
    To : RelayTrap


    Von der RelayTrap gehen folgende Links zu dem für die Conversation zuständigen Marker (in diesem Fall "Sturmangriff1) und an eine DestroyTrap:


    Flavour: ControlDevice
    From : RelayTrap
    To : DestroyTrap


    Flavour: ControlDevice
    From : RelayTrap
    To : Sturmangriff1


    Und von der DestroyTrap führt ein Link wieder zur RelayTrap zurück:


    Flavour: ControlDevice
    From : DestroyTrap
    To : RelayTrap


    => Die RelayTrap wird von der DestroyTrap zerstört, was zur Folge hat, dass die Conversation nur ein mal ausgeführt wird.


    Nun muss noch ein Marker erstellt werden, der den Punkt Markiert, wo die Ai's hinlaufen sollen. Dieser sollte nicht zu hoch sein, damit die Wachen ihn auch erreichen können. Ich schlage vor, auch diesem Marker einen Namen zu geben (der Übersicht wegen), ich z.B. habe ihn "Ziel1" Genannt.


    Jetzt werden alle Wachen mit dem Marker "Sturmangriff1" verlinkt:


    Die Wachen (In meinen Fall Hammeriten) haben die Namen:
    HamSturm1a
    HamSturm1b
    HamSturm1c


    Flavour: AiConversationActor
    From : Sturmangriff1
    To : HamSturm1a
    Data : 1


    Flavour: AiConversationActor
    From : Sturmangriff1
    To : HamSturm1b
    Data : 2


    Flavour: AiConversationActor
    From : Sturmangriff1
    To : HamSturm1c
    Data : 3


    Die Hammeriten (oder was ihr euch gewählt habt) bekommen nun noch folgende Einstellung:


    Add>Ai>Ability Settings>Idle: Returns to origin:
    False


    Der Marker "Sturmangriff1" braucht noch folgende Einstellungen, damit die Conversation richtig verläuft:


    Add>S>Scripts:
    Script00: TrapConverse

    Die anderen Felder einfach leer lassen, bzw. leeren. Unten kein[/B
    Häckchen machen!
    Add>Ai>Conversations>SaveConversation:
    TRUE
    (also ein Hackchen setzten)
    Und jetzt noch das Herzstück der Conversation:
    Add>Ai>Conversations>Conversation>00:


    Actor : ActorOne
    Flags : [None]
    Action0 : Goto Object
    Argument1: Ziel1
    Argument2: Fast
    Argument3:


    Actor : ActorTwo
    Flags : [None]
    Action0 : Goto Object
    Argument1: Ziel1
    Argument2: Fast
    Argument3:


    Actor : ActorThree
    Flags : [None]
    Action0 : Goto Object
    Argument1: Ziel1
    Argument2: Fast
    Argument3:



    ... und schon laufen die 3 Typen los und man kann - wie in meinem Fall - einen Angriff simulieren.