Attachment Links löschen?

  • Ich hatte ein ähnliches Problem bei Rabenbach und keine Lösung gefunden, da ging es um eine Flasche mit Contains/hand-Link. Aber vielleicht weiß es ja jetzt jemand.


    Also ich habe die Kochmütze und den Koch mit Detail-Attachment verlinkt. Soweit so gut. Schlage ich ihn nieder, oder töte ihn, bleibt die Mütze schön brav auf seinem Kopf. Hebt Garrett den Koch dann aber auf, trägt er die Mütze vor sich her. Das sieht blöd aus, gibt es eine Möglichkeit den Link zu löschen, damit die Mütze einfach liegen bleibt? Oder zerstören/weg teleportieren?

    Oder sehen die Spieler gar darüber hinweg, weil es in Thief nunmal so ist :S


    Ich habe noch einige solcher Attachments, die ich im ko/tod-Falle gerne löschen würde...

  • Ein Pseudoscript kann sowas. Also z. B. eine Conversation, AIAwareness oder ein AiWatchobj-Link (Befehl: remove Link) .


    Die Trigger wären dann:

    1. Der Koch könnte einfach die Mütze verlieren, wenn er den maximalen Zustand der Errgeung hat

    2. oder er "Knocked Out" ist, nach einem Schlag. Das ginge z. B. mit S+R oder einfach mit einer NVRelaytrap.


    Kommt drauf an, wie du dir das vorstellst.

  • Also am besten wäre es, wenn er mit der Mütze zu Boden geht und der Link gelöscht wird, wenn Garrett ihn aufheben will. Also wenn er bewußtlos oder tod ist.

    Dann würde es am wenigsten auffallen, denn die Mütze fällt ja nicht einfach zu Boden, wenn der Link gelöscht wird, die Mütze selbst hat keine Physics. Die mußte ich ja löschen wegen dem Detail-Attachment-Link :/


    Ich würde ja einen Contains-Link machen, dann könnte Garrett die Mütze sogar klauen. Aber leider funktioniert das nicht mit der Position.


    Edit: also ich habe jetzt mal NVRelayTrap probiert - Als DesignNote "Container" - das löst einen Lever aus und der aktiviert eine Destroy-Trap zur Mütze. Das funktioniert schonmal prima. Hat allerdings den Nachteil, daß die Mütze gelöscht wird, wenn man den AI beklauen will. Und lösche ich die Beute an seinem Gürtel, löst der Lever seltsamerweise sofort aus, wenn ich ins Spiel gehe... :/ . Ich habe noch "EndScript" probiert, aber das funktioniert leider nicht. (ich habe diesmal an NVSpy gedacht ;))


    Nochmal Edit: Also mit DesignNote: NVRelayTrapOn="PhysMadeNonPhysical" funktioniert es, die Mütze wird gelöscht, sobald er am Boden liegt.


    Ich habe jetzt mal versuchsweise eine Conversation probiert, weil ich es schöner fände, wenn die Mütze nicht gelöscht wird, sondern liegen bleibt. Leider funktioniert das nicht. Da die Mütze keine Physiks hat, verschwindet sie sofort. Ich habe eine neue MetaProperty geschrieben, damit der ConvActor nicht nur den Link löscht, sondern auch mit der neuen MetaProperty die Physics added. Leider klappt das auch nicht. Die Mütze verschwindet sofort und da ich erst im 2. Schritt die Physics adde, ist sie da schon weg. Also bleibe ich wohl bei der DestroyTrap, ist simpler.


    Werden es die Spieler seltsam finden, wenn die Mütze verschwindet, sobald der Koch am Boden liegt? Ich könnte in die Nähe einfach eine neue Mütze hin teleportieren. Aber wenn Garrett vom Koch entdeckt wird, mit ihm kämpft/wegläuft und ihn dann irgendwo anders erledigt, wäre es seltsam, wenn die Mütze in der Küche rumliegt, weil ihn der Koch ja mit Mütze verfolgt hat...

    Oder sollte ich es einfach lassen?

    Was ist sinnvoller? Ein Objekt, daß einfach verschwindet, oder ein Objekt, daß beim Rumtragen des AI blöd aussieht? Irgendwie schwanke ich da im Moment hin und her. :/:/:/

  • Ich weiß jetzt nicht, wie die Mütze gestrickt ist. Die Mütze sollte etwas sein, was fallen kann und körperlich ist. Dann kannst du sie mit einer TrapDeadfall zum fallen bringen, sobald sie den Attachment-Link verliert. Aber so geht das nicht, weil sie ja keine Physics hat.


    Einfacher wäre es,

    1. Die Mütze zuerst zu zerstören. Sie soll verschwinden.

    2. Anstelle dessen zeitgleich eine neue Mütze hereinzuteleportieren, die dann fällt. Der Agent zum Teleport ist dabei der Koch.


    So ähnlich wurde das in "Stupid Grimrock Quote - Reloaded" mit einem Hut gemacht. Das sieht beinahe echt aus. (Hut 2381)

    https://www.taffersparadise.co…rimrock_Reloaded_1.01.zip

  • Bei deinem DetailAttachement-Link müssen vorher die Physics gelöscht werden, sonst crasht Dromed...


    Also neues Objekt, nach dem Zerstören - aber wie gebe ich als Agent zum Teleport den Koch ein? Müsste ich da nicht über die S&R gehen? (geht nicht, weil sonst ein kleiner Pfeiltreffer schon reicht und dann wäre der Koch nicht am Boden)

    Außerdem wird das neue Objekt ja dann mittig zum Koch teleportiert, nicht zum Kopf des Kochs :/


    Edit: ...aber ich könnte die Kochmütze selbst als Teleport-Trap mißbrauchen - dann müßte sie zuerst die 2. Mütze teleportieren und dann sofort zerstört werden. Wenn die 2. Mütze direkt auf die 1. Mütze teleportiert wird, dürfte das gar nicht auffallen. Es passiert ja erst, wenn der Koch am Boden liegt... ich probiere mal weiter...

  • Wie ist denn die Mütze momentan aufgesetzt? Bitte Screenshot vom Setup.


    Ja, das ist S+R. Beim Teleport kannst du einen Offset definieren. Sollte etwa 2.5 DU nach oben sein.

    Falls du sicher gehen willst, mußt du dann dasselbe für PokeStim, Slashstim, usw machen,


    Sehr einfach wäre dagegen, dass der Koch die Mütze verliert, wenn er sehr erregt ist. Das ist immer der Fall, wenn er von etwas getroffen wird oder abhauen will.

    Also AI--Responses--Alert Response

  • Das Problem bei S&R ist halt, daß ein Treffer dann genügt, um das alles in Gang zu setzen, während der Koch dann noch steht. :/


    Also ich habe es jetzt ganz einfach gemacht:


    Die Mütze, die der Koch aufhat, ist eine TeleportTrap. Sobald der Koch am Boden liegt, teleportiert sie die 2. Mütze und wird dann sofort zerstört. Das fällt wirklich gar nicht auf. Wenn man den Koch dann hochhebt, bleibt die 2. Mütze genau da liegen und der Koch hat keine Mütze mehr auf.


    Das Einzige, was noch nicht so gut gefällt ist, daß die Mütze knapp über dem Boden schwebt und nicht fällt. Obwohl die 2. Mütze normale Physics hat (sphere und controls-none). Außerdem fällt er manchmal in den Herd oder einen der Schränke (wie das halt bei AI's so ist) - Dann sieht der Spieler die Mütze leider nicht mehr...

  • Versuchs am Ende der Geschichte eine Trapdeadfall zu triggern. Also einen Marker mit dem Script "TrapDeadfall" erzeugen und den mit der neuen Mütze via CD zu verlinken. Das Script funktioniert aber nicht immer.


    Quote

    TrapDeadfall gen.osm 1/G/2

    A derivative of <a href="https://www.thiefmissions.com/telliamed/scripts.html#stdtrap">StdTrap</a> in Thief 2. On TurnOn, makes all ControlDevice linked objects fall. Each object has the Location and Rotation flags of Physics\Model\Controls removed. The script object is destroyed.

    https://www.thiefmissions.com/telliamed/scripts.html

    Ich denke besser wäre aber, die zweite Mütze ist nur ein sichtbarer Marker ohne körperliche Eigenschaften.

    Dass die Mütze in anderen Objekten landet, kannst du nicht verhindern.

  • Probiert habe ich es gerade, es funktioniert. Aber es sieht teilweise wirklich blöd aus, wie die Mütze fällt :/

    Bei den anderen Objekten, die meine AI's so mit sich rumtragen (Kochlöffel, Besen, Gieskanne) - da wird das richtig aussehen, da mache ich das dann auf jeden Fall.

    Aber bei dem Koch würde ich es jetzt ehr weglassen. Lieber eine leicht über den Boden schwebende Mütze als eine, die dem Koch durch den Kopf fällt ;)
    Wenn der Spieler gegen die Mütze läuft, fällt sie dann eh. :/

  • Du könntest die Mütze etwas wegschleudern lassen (Scatter). Dazu brauchst du aber einen "Flinderize"-Link, wie bei Kisten oder Fässer, die nachdem sie zerstört wurden, andere Objekte erzeugen. Den Flinderize-Link kann man editieren und minimal einstellen. Das wäre aber ein anderes Setup. Du bräuchtest die neue Mütze als Eintrag in der Hierarchie. Die alte Mütze hätte dann einen Flinderize-Link zur neuen Mütze. Die neue Mütze wird dann erst erzeugt, wenn die alte Mütze zerstört wird.


    Oder du machst für den Teleport einen kleinen offset, z. B. x=1, y=-1


    Ich gehe davon aus, dass du nicht eingestellt hast, wie die Mütze liegen bleibt, also die Richtung. Ich weiß jetzt auch nicht, was da gut ist, aber du kannst ja mal damit spielen. Vielleicht wird es dann besser

    Physics--Attributes--Rest Axes

  • Ich werde noch ein bischen rumprobieren... :)


    Ich bearbeite jetzt erstmal alle AIs, die etwas tragen... Wie erwartet, sieht das mit der TrapDeadfall bei Tabletts u.ä. gut aus. Liegt wohl auch daran, daß die der AI in der Hand hält. Es wirkt fast, als würde er die Sachen loslassen, wenn er liegt...


    Aber natürlich hätte ich da noch etwas Spezielles.... :saint: Ich finde es zwar wirklich tapfer, wenn der Hauptmann von Lord Ashton's Wache auf mich losgeht und dabei schön auf sein Blumensträußen aufpasst, aber vielleicht sollte er es doch fallen lassen, sobald er Garrett sieht? :whistling:

  • Falls es ein "Content"-Link ist, mit dem die Objekte verbunden sind, ist das NVScript "NVGibTrap" die richtige Wahl


    Quote

    NVGibTrap (NVTrap)

    Targetable: default: [me]

    Upon receiving TurnOn, this script sends the object's contents flying and destroys it. The object is not slain, but destroyed / deleted.

    Die default-Einstellung zerstört das Script-Objekt. Wenn du also etwas anderes herunterfallen lassen willst, mußt du die DesignNote auf einem Marker anders schreiben. Z. B. NVGibTrapTdest=xxxx (Objektnummer oder Name). Damit kannst du ein anderes Objekt "anfunken", um dessen Inhalt fallen zu lassen.

    Übrigens gibt es neue NVScripts 1.29

  • Nein, das sind alles DetailAttachement-Links, da sie sonst die Gegenstände nicht richtig halten würden.


    Ich habe es mal bei der Wache mit DesignNote: NVRelayTrapOn="StartAttack"; NVRelayTrap2On="PhysMadeNonPhysical" probiert - da läßt er den Blumenstrauß fallen, sobald er zum ersten Mal zuschlägt. Oder eben wenn er zu Boden geht, weil Garrett ihn niederknüppelt.

    Ich hätte ja nicht gedacht, daß beides funktioniert. Aber klappt alles soweit. :)


    Die neuen Scripts habe ich mir neulich heruntergeladen, gibt auch für SS2 neue. Aber angeguckt habe ich sie ehrlich gesagt noch nicht. Sollte ich die eigentlich einpacken oder haben alle Spieler alle Scripts? Ich hab noch die alten drin... :whistling:

    Edit: ok, das nervt mich jetzt wirklich... ich habe bei der ersten Mission jetzt mal alle, die was tragen bearbeitet. 4 Diener und die eine Wache. Soweit, so gut... aber es reicht seltsamerweise, daß ich nur einen von denen niederknüple, dann schmeißen alle ihre Sachen runter... und sie sind garantiert nicht miteinander verlinkt, alle haben ihre eigenen Schalter... Ich verstehe es wirklich nicht. Kann es sein, daß die NVRelayTrap alle aktiviert, die dieses Script haben und die Design-Note "PhysMadeNonPhysical"? Das dürfte eigentlich nicht sein?

    In der 2. Mission sind es 2 Diener, da gibt's keine Probleme? In der 3. Mission ist es eh nur der Koch.

  • Was auch immer funktionieren sollte, ist "damage". weil ja in der Regel reingekloppt wird. Blackjack macht auch Schaden.


    Besser als alte Scripts sind neue Scripts. Zumindest T2fix scheint die alten Scripts zu überschreiben, bzw. in der Priorität die neuen zu bevorzugen, die schon darin enthalten sind. Ist also nicht mehr so tragisch, wenn man alte Scripts verwendet.

  • "Damage" ist im Fall der Wache noch besser, dann läßt er die Blumen gleich fallen, nicht erst wenn er am Boden liegt... (bei der Mütze wäre es nicht gut, die fällt dann quasi durch den Koch, der muß wirklich schon liegen, bevor was passiert)


    Aber obwohl ich die Wache jetzt geändert habe, werden die 4 Diener trotzdem ausgelöst, wenn ich die Wache niederschlage. Ich verstehe das wirklich nicht, denn keiner ist irgendwie mit dem anderem verlinkt. Alle haben ihre eigenen Schalter.


    Dromed treibt mich heute echt noch in den Wahnsinn ?(.

  • Ich hatte da vorhin meinen Post noch editiert ;)


    Also die 4 Diener haben die DesignNote "PhysMadeNonPhysical" - die Wache hat jetzt "StartAttack" und "Damage" - sobald ich irgendeinen von denen niederschlage, schmeißen ALLE ihre Sachen runter - als wären sie miteinander verlinkt. Sind sie aber nicht, jeder hat seinen eigenen Lever/Marker/DestroyTrap.


    In der 1. Mission geht's nach dem Motto "Einer für Alle" Ich habe das erst gar nicht gemerkt, weil die teilweise weit auseinander sind...:/


    In der 2. Mission habe ich 2 Diener, da klappt es ganz normal. Darum verstehe ich das jetzt wirklich nicht.


    Woran könnte das liegen? Wie kann ich das herausfinden?


    Edit: Dromed hasst mich, oder liebt es, mich zu vera**** 8| ...also ich habe jetzt bei allen im 1. Level "Damage" eingegeben und seltsamerweise funktioniert es jetzt so wie es soll. Ich verstehe es zwar nicht, aber Hauptsache es klappt. Es wirkt wirklich gut, wenn die Diener ihre Sachen fallen lassen, wenn sie niedergeschlagen werden.

  • ^^^^^^


    Ne, da habe ich extra alles nachgeguckt, das ist nämlich schnell passiert - und wäre wenigstens eine einfache Erklärung gewesen ;)

    Kann natürlich sein, daß noch Murks in den gamesys ist - aber außer ein paar neue Objekte habe ich damals noch nicht viel mit den gamesys gemacht. Schon gar nicht irgendwelchen Script-Kram. Aber mir graut vor den späteren Missionen mit DEDX...