Alert oder Signal Response

  • Hi, ich hab ne Ai die ne Conversation (startet ihre Patrol), wenn ich ein Fenster öffne. Irgendwann ertönt ein Alarm und jetzt soll sie ihre Patrouille unterbrechen und an einen bestimmten Punkt laufen.


    Hab daher der Ai ne SignalResponse verpasst. Siehr jetzt so aus wie auf
    dem Screen. Das Problem ist, anscheinend fehlt mir noch ein Befehl.


    Er macht folgendes, er läuft zum ersten Punkt(Marker), schaut sich um, rennt aber jetzt nicht zum nächsten Punkt (ist ein Patrolpoint) sondern rennt auf der Stelle. Erst wenn ich den Alarm abstelle, rennt er zum zweiten Punkt.


    Anschließend rennt er sogar noch die Treppe runter.

  • Sinnvoller wäre es, diese Conversation nicht durch eine AlertReponse zu starten, sondern direkt nach Ertönen des Alarms. Momentan wird die Conversation in einer Endlosschleife abgespielt, solange der Alarm aktiv ist.


    D.h. deine eigentliche Conversation bleibt genau so, nur dass du dazu einen Marker mit TrapConverse-Script verwendest. Das was den Alarm auslöst, wird dann via CD mit der Conversation verbunden. Somit rennt die AI nach Ertönen des Alarms zu den Punkt und tut dies aber auch nur einmal.

  • Verstehe ich nicht so ganz. Also ich hab den Conversation Marker. Die SignalResponse findet aber nicht im ConversationMarker statt sondern ist der Eintrag bei der Ai selber.(Ai Responses, Signal Response).


    Er macht ganz normal seine Patrouille, erst wenn der Alarm beginnt, kommt er angelaufen. ich habs auch mit Alert Response versucht, da schaut er sich aber nur um.

  • Du hast doch sicher irgendetwas, was den Alarm auslöst. D.h. du hast einen ControlDevice-Link von "Irgendetwas" zu einem AlarmLight (oder etwas ähnlichem).
    Du erzeugst jetzt einen ConversationMarker und stellst dort alles genau so ein, wie auf deinem Screenshot und verlinkst die AI die später rennen soll via AIConversationActor.


    Nun verlinkst du "Irgendetwas" (siehe oben) via ControlDevice mit dem ConversationMarker.


    Effekt:
    - der Alarm geht los, die Conversation wird genau einmal abgespielt
    - die AI rennt zu den Punkt


    Deine Idee mit der SignalReponse hat eben den Haken, dass sie in einer Schleife läuft, solange der Alarm an ist. Das kannst du mit der Conversation umgehen.

  • Zitat

    Original von intruder
    Du erzeugst jetzt einen ConversationMarker und stellst dort alles genau so ein, wie auf deinem Screenshot und verlinkst die AI die später rennen soll via AIConversationActor.
    .


    Da ist doch aber schon das Problem, die Einträge auf dem Screenshot lassen sich doch so im ConversationMarker überhaupt nicht eintragen. Der Eintrag ist einfach ActorOne, Add, M-DoesPatrol. Wenn ich jetzt als nächstes Signal nehme hab ich folgendes eingetragen. Alarm(Signal) 4(target) 5(Distance).


    Wenn die Conversation gestartet wird, rennt er sofort los. Ich probiere noch etwas rum, versuchs nochmal mit AlertResponse.


    DS

  • Zitat

    Original von DarkShadow
    Da ist doch aber schon das Problem, die Einträge auf dem Screenshot lassen sich doch so im ConversationMarker überhaupt nicht eintragen.


    Wieso das nicht? Das einzige was es bei einer Conversation nicht gibt, sind die Alert-Levels, aber die brauchst du auch nicht, da du die Conversation ja genau wie den Alarm triggerst.


    Zitat

    Original von DarkShadow
    Wenn die Conversation gestartet wird, rennt er sofort los. Ich probiere noch etwas rum, versuchs nochmal mit AlertResponse.


    Du kannst auch einfach noch eine kurze Wartezeit in die Conversaton einbauen, d.h. vor dem Schritt GoToObject "OneGoHere" einfach noch
    "Wait, 3000, Stand".


    Was passiert eigentlich wenn der Alarm ein 2. Mal angeht? Dann rennt die AI wieder zum Punkt zurück, oder?

  • Aha, interessantes Thema.
    Denn ich finde es auch immer toll, wenn die Wachen bei Alarm sich schlauer verhalten, als sie es normal (ohne zutun des Autors) machen. ^^


    Ich hab da auch schon viel rumprobiert. Gerade mit AiWatchObj und Signal Response, Alert Response.


    Aber ich verstehe nicht so ganz, was eine Conversation da helfen soll? Sind Conversationen nicht verdammt schlecht, generell? Ich meine, dann speichert und lädt der Spieler und was passiert dann?
    (Oder versteh ich mit Conversation was falschen :tongue: )

    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 ()

  • Mit Signal/Alert-Response und Conversation kannst du genau das gleiche machen, allerdings (siehe Fall von DarkShadow) wird eine Signal/Alter-Response immer wieder getriggert, sobald das Signal eintrifft. Bei einer Conversation kann man das (auf mehrere Wege) unterbinden. Daher auch meine Idee mit der Conversation, damit die Wache eben nicht wie ein Idiot im Kreis rennt, da die Signal/Alart-Response Reaktionen immer wieder abgespielt werden, solange ein Signal vorliegt.


    Der einzige Unterschied zwischen AIWatchObj-Link, SignalResponse, AlertResponse und Conversation ist lediglich die Art und Weise, wie sie ausgelöst werden.
    Und nur bei einer Conversation und einem AIWatchObj-Link kann man einstellen, dass die eigentlichen Aktionen nur genau einmal abgespielt werden.

  • Ja genau das ist ja das, was wir alle wollen. :D


    Aber die Conversationen haben doch die nette Eigenschaft, mit dem Speichern und laden nicht gut zurecht zu kommen, oder verwechsle ich da was?
    Und wenn es so wäre, wie kann der Spieler mit der Information am Verhalten der AI rumtricksen(speichern, laden), wenn er genau diesen Bug ausnutzt?

    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.

  • Danke erstmal für deine Geduld ;)


    Zitat

    Original von intruder
    Du kannst auch einfach noch eine kurze Wartezeit in die Conversaton einbauen, d.h. vor dem Schritt GoToObject "OneGoHere" einfach noch
    "Wait, 3000, Stand".


    Da sitzt der Hase im Pfeffer. Die Conv wird vom Spieler gestartet sobald er ein Fenster öffnet. Der Alarm wird auch vom Spieler gestartet, nur wann, bestimmt der Spieler selbst, bzw. er löst ihn aus, weiß aber nicht wann.


    Zitat

    Original von intruderWas passiert eigentlich wenn der Alarm ein 2. Mal angeht? Dann rennt die AI wieder zum Punkt zurück, oder?


    Hab ich noch nicht probiert, ist aber so auch nicht vorgesehen.


    DS

  • Zitat

    Original von DarkShadow
    Da sitzt der Hase im Pfeffer. Die Conv wird vom Spieler gestartet sobald er ein Fenster öffnet. Der Alarm wird auch vom Spieler gestartet, nur wann, bestimmt der Spieler selbst, bzw. er löst ihn aus, weiß aber nicht wann.


    Das heißt doch, dass du irgendeinen ControlDevice-Link von "Irgendetwas" zu deinem Alarm hast. Oder sehe ich das falsch?


    Dann kannst du doch auch einen 2. ControlDevice-Link einfügen, der mit Ertönen des Alarms die Conversation startet. Darauf wollte ich hinaus...
    Oder funktioniert das prinzipiell nicht in deinem Aufbau?

  • Sorry wenn ich mich erst jetzt wieder melde. :rolleyes: Also ich lass es jetzt über die AlertResponse laufen.
    Der Alarm wird nach etwa 15-20 Sekunden(ist noch offen) beendet, spätestens dann läuft die Ai wieder ihre normale Patrouille und der Spieler sollte bis dato schon weg sein.


    Gruß
    DS

  • Das passt eigentlich auch hierein.


    Es geht um die Alert Response.


    Und zwar habe ich folgendes Problem. Ich möchte, dass eine Wache eine Metapropertie bekommt, wenn sie auf Alert 0 ist. Also wenn sie vollkommen unberührt von irgendlwechen Geräuschen oder Phantombilder im Schatten ist.


    Ich habe es also probiert: Alert 0; Priotiät: Absolut; blabla ....
    Leider steht aber anscheinend das "Alert 0" für --> nicht vorhanden. Jedenfalls tut sich nichts und die Wache bekommt auch die Metapropertie nicht. was kann ich denn dagegen tun, dass die Wache die Metapropertie auf Alert 0 erhält, weiß jemand Rat?

    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.

  • Ja, das ist eben nicht der Fall, oder ich hab was falsch gemacht.


    Ich habe es oft getestet. Die Metapropertie für Alert 0 beinhaltete, dass die AI extrem langsam wird (also langsam im laufen etc.).


    Da das nichts gebracht hat und die Wache ihre normale Geschwindigkeit gelaufen ist, habe ich das mal die Bedingung der Metaporpertie auf Alert 1 gestellt, und siehe da: Sie wurde langsamer, sobald sie auf Alert 1 ging (was ja recht selten vorkommt) ...... aber eben nicht auf Alert 0. -.-


    Können die anderen das vielleicht auch bestätigen, oder klappt es bei euch?

    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.

  • Hm, aber würde es dann noch funktionieren, dass wenn die Wache während des Spiels diese Metaproperty gelöscht bekommt, weil sie nicht mehr auf Alert 0 war und wenn sie DANN wieder auf alert 0 geht, diese Metapropertie auch wieder bekommt.


    Immerhin soll das auch ein "Standard"-Zustand sein, der bei jeder AI gleich ablaufen sollte und eben keine zusätzlichen Objekte oder sonst was verbraucht und halt einfach auf die gesamte Masse von AIs anwendbar ist.


    Gibts es denn keine Möglichkeit, einer AI eine Metapropertie zu verpassen, wenn sie auf Alert 0 geht(sowohl beim Spielstart, als auch nach Abbruch einer Suchaktion während des Spiels)? 8o

    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.

  • Das ist ne simple Metapropertie. Darin ist nur die Geschwindigkeit der AI verändert. AI --> Creature --> Time warp --> 1.15


    Mehr ist das auch nicht.

    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.