Blackjack Schlag

  • Du hast Recht. In T2 funktioniert es sofort, in TG gar nicht. Wiso auch immer.
    Du kannst aber eine NVRelaytrap machen, die wird funktionieren.
    Dein Gegenstand zur Trap via CD verlinken
    Design Note:

    Zitat

    NVRelayTrapTdest="Blackjack";NVRelayTrapTOn="InvSelect"


    Das klappt, eben in TG probiert.

  • Danke für deine schnelle Antwort!


    Da ich schon sehr viele NVRelayTrap-Befehle an diesem Objekt nutze klappt es leider nicht richtig.


    Aber ich habe eine super Alternative gefunden.


    Zitat

    NVItemGiver


    Gives the object specified by the NVGiveWhat parameter to the object specified by the NVGiveTo parameter (or the Player if none is specified). If the item is an archetype, an instance of that object is created instead. Objects will stack where appropriate.


    NVItemGiverOn="InvSelect";NVGiveWhat=OBJEKTNUMMER;


    Das funktioniert super!


    Gibt es noch die Möglichkeit, dass wenn man ein anderes Item auswählt die Waffe auch wieder eingesteckt wird? Ich habe eben mit "InvDeselect" experimentiert. Aber ich glaube ich wende das falsch an. Hast du da eine Idee?

  • Wieder einstecken geht auch mit der NVRelaytrap
    Die Design Note wäre dann
    NVRelayTrapTdest="Objekt";NVRelayTrapTOn="InvDeSelect"


    Anbei eine kleine Demo
    Nimm erst das Schwert (stecks wieder weg), dann den Schlüssel. Jedesmal, wenn du den Schlüssel frobbst, wird das Schwert gezückt und wieder eingesteckt. Der Schlüssel ist auch die NVRelaytrap mit
    NVRelayTrap
    und NVFrobToggle
    - Script
    Design Note
    NVRelayTrapTdest="schwert";NVRelayTrapTOn="InvSelect";NVRelayTrapTOff="InvDeSelect"

  • Danke dir für deine Demo :)


    Leider stürzt Dromed mit deinem "NVRelayTrap" Befehl ab und bringt die Meldung:


    ASSERT: [PHFLIST.CPP41] PhysApplyForceList: Obj 640 has 1 submodels (asking for 1)


    Meine Waffe nutzt hier das NVNewWeapon Script und folgende Design-Note:


    "NVWeaponMeta="M-GarrettHands";NVWeaponAttach1="GHLEffekt"; NVWeaponAttach2="GHLR";NVWeaponAttach3="GHLL";"


    Ja, du siehst richtig. Das bedeutet, es hängen 3 Submodels (SFX Animationen) an der Waffe. Das NVRelayTrap Script scheint damit Probleme zu haben. Leider.


    Aber das NVItemGiver Script ist in meinem Fall auch besser.


    Design-Note:
    NVItemGiverOn="InvSelect";NVGiveWhat=OBJEKTNUMMER;


    Denn hier nimmt der Spieler die Waffe sofort in die Hand, ohne das ich erst klicken muss. Also das heißt, wenn ich nur im Inventar auf das Item scroll, ohne zu klicken, erscheint schon die Waffe. Und so wollte ich es.


    Allerdings bekomme ich es mit dem NVItemGiver nicht hin, dass diese von selbst wieder eingesteckt wird, sobald das Item nicht mehr im Inventar angezeigt wird, bzw. ich zu einem anderen Item scroll...


    Das muss aber machbar sein. Ich suche mal auf ttlg.com weiter. Vielleicht find ich noch die Lösung.

  • Um das zu testen, müßte ich deine Daten haben. Klar können NVScripts sich im Weg herumgehen. Vielleicht wärs besser, einen Marker mit der NVRelayTrap zu bestücken. Das geht genauso.

  • Das ganze Setup ist komplizierter als du denkst. Ich behaupte dieses Mal sogar, es ist zu komplex um es dir zu schicken. Ich müsste dir dann alles erklären und das ist sehr Zeitaufwendig. Aber sollte dir noch eine Lösung für das NVItemGiver-Script einfallen, lass es mich gerne wissen :)


    Wie gehabt, das Script funktioniert so, wie ich es wollte. Nur steckt der Spieler die Waffe nicht von selbst wieder ein. Da das Script dem Spieler die Waffe in die Hand geben kann, muss das Script auch das Gegenteil können...

  • Ich habe keine Ahnung, wie das ohne NVRelaytrap gehen soll.
    Es gäbe aber eine andere Möglichkeit mit einem Umweg. NVItemgiver könnte beim zweiten Frobben ein unsichtbares, selbstzerstörendes Dummy-Objekt erschaffen, das deinen Blackjack sozusagen "verdrängt" und kurze Zeit (unsichtbar) an dessen Stelle ist. Dann wird der Prügel automatisch deselected.
    Ich weiß aber nicht, wie sowas gehen soll. Zwei Instanzen NVItemgiver gibts nicht. Vielleicht kannst du wenigstens hier eine NVRelaytrap einsetzen.

  • Ich hab es tatsächlich geschafft! Und zwar, wie du vermutet hast, aus der Kombination zwischen NVRelayTrap + NVItemGiver


    Meine Design-Note:


    NVRelayTrapOn="FrobInvEnd"; NVRelayTrapTDest="Player"; NVRelayTrapTOn="[1.00]StormStim"; NVItemGiverOn="InvSelect";NVGiveWhat=640; NVRelayTrap2On="InvDeSelect";NVRelayTrap2Tdest="640";NVRelayTrap2TOn="InvDeSelect"


    640 ist hier die Waffe mit den SFX Animationen.


    Ohne deine Hilfe wäre ich aber auch nicht drauf gekommen. DANKE :D


    Freu mich gerade so, denn ich hab es echt lange versucht!


    Jetzt wird die Waffe automatisch eingesteckt, wenn ich das Item weg scroll. Perfekt!

  • NVRelayTrapOn und NVRelayTrapTOn sind zwei verschiedene Dinge (mit und ohne "T")
    Das Erste ergibt sich aus dem Zustand und damit Befehl "InvDeSelect"
    Das Zweite (mit "T") triggert eine spezifische Aktion (auch Action-Trigger genannt).

  • Meines Wissens kann man die Einblendungsdauer in einer der Parameterdateien einstellen, diese gilt dann aber für alle Objekte gleich. Oder hat da jemand eine andere Info? :huh:

    Und so sei der Hammer ewiges Symbol unseres Aufstiegs aus dem Schatten des Schwindlers.

  • Eine Möglichkeit wäre, das CommandControl-Script zu verwenden.
    Damit ist es aber Glückspiel, einige Befehle funktionieren, andere nicht
    In die Design Note kommt sowas wie
    on=inv_select (das sollte funktionieren, man könnte das in Kombination mit einer NVRelaytrap so kombinieren, dass bei InvDeselect die Trap anspringt)
    ob
    inv_item_timeout xxxx
    funktioniert, weiß ich nicht. Was nicht in cmds.txt steht, geht nicht, aber angeblich kommt es in der thief.exe vor