Mission kann nicht beendet werden

  • Hi, meine Mission ist ja nun schon veröffentlicht und ein Update habe ich vor kurzem auch nachgeschoben. Leider musste ich letztens, -eher durch Zufall, feststellen, das die Änderung ein neues Problem hervorgebtracht hat. Im Spiel gibt es Holzbretter, die den Zugang zur gesuchten Person "versperren". Diese müssen abgenommen werden, einige Spieler aber haben den Blackjack benutzt, was zur Folge hatte, dass die Mission nicht beendet werden konnte. Die Änderung die ich anschließend vorgenommen hatte, war, dass ich dem Brett ein Receptron verpasst habe, so das der Spieler nun alternativ nun auch en Blackjakc nutzen konnte.


    Jetzt musste ich aber feststellen, dass das entfernen des Brettes zwar immer noch die Ziele anspricht, bzw. abhakt aber 'ne Ratte, die für das beenden der Miss zuständig ist, irgendwie den Befehl nicht bekommt.
    Es funktioniert nur noch, wenn man die Bretter abschlägt. Das ganze sieht etwa so aus:


    Brett, StdButton Script, CD zu Ziel Null,Ziel Eins, Timer für Ziel zwei, Ziel RequireAllTrap.


    Der RequireAll wird von mehreren Seiten angesprochen und hat 'nen CD Link zur AIConversation(Ratte). Add, M-PaddelFrob, Paddel.
    Der Receptron Eintag am Brett sieht wie folgt aus:
    Brett_Eins, Stimulus-BashStim(NoMin,NoMax), FrobObj-Button. DerButton spricht dieselben Ziele an, also:
    Ziel Null,Ziel Eins, Timer für Ziel zwei, Ziel RequireAllTrap.


    Einzelnd wie gesagt funzt es, trage ich aber zusätzlich das Receptron ein, funktioniert nur noch das. Ich bin schon am überlegen, es wieder rückgängig zu machen, denn mir fällt keine Lösung ein. Vielleicht hat aber jemand 'ne idee und ich habe etwas entscheidenes übersehen.


    DS

  • So eine Ratte schützt man und läßt sie nicht in der Map stehen. Mach einen kleinen Blueroom und stell sie da rein.
    In AI Core machst du unter Efficiency Setting das Häkchen raus.


    Aber vielleicht ist es auch gar nicht die Ratte. Im Zweifel mußt du überprüfen, ob die RequireAllTrap auch alle Signale bekommt. Dazu lädst du entweder Public Scripts oder NVScripts und verpasst der Trap das Script Spy, bzw. NVSpy.
    Ich denke, deine RAT erwartet von diesem Brett zwei Signale, einmal über das Frobben und dann nochmal über die BashStim.

  • So eine Ratte schützt man und läßt sie nicht in der Map stehen. Mach einen kleinen Blueroom und stell sie da rein.
    In AI Core machst du unter Efficiency Setting das Häkchen raus.


    'Nen Blueroom nutze ich schon länger nicht mehr, die Ratte ist halt so schön praktisch, weil sie so klein ist. Ich mach es aber immer so, dass ich der Ratte bestimmte Eigenschaften verpasse. Ich stelle sie auf Neutral, Hearing Null, dann natürlich noch unsichtbar und das man sie nicht hört.

    Zitat

    Ich denke, deine RAT erwartet von diesem Brett zwei Signale, einmal über das Frobben und dann nochmal über die BashStim.


    Das ist auch meine Vermutung! Ich werd' das mal mit dem NvScript versuchen, muss ich da dann nach einer Meldung in der Monolog txt suchen oder muss dann im Dromed Fenster ne Meldung kommen?


    Danke Fibi

  • Das Problem mit der Conversationsratte kann immer mal sein, dass die
    1. aus irgendwelchen Gründen mal kaputt geht (deshalb Blue Room)
    2. mal einpennt (deshalb keine Efficiency Settings geben)


    Spy, bzw. NVSpy geben ihre Botschaften sowohl im Monolog aus, als auch direkt im DromEd Game Mode ins Display. Du siehst das sofort im Bild. Am besten schiebst du deine Triggerobjekte testweise vor Ort (oder läßt es über Schalter triggern), dann gehts schneller.

  • RATs benötigt pro CD-Link, aber max einem pro Object ein TurnOn.
    Die Kontrolle erfolgt über ScriptParams Links - (man sollte also nie selbst welche von der RAT aus machen)


    Also wenn du Brett->Rat und Button->Rat hast geht das schief.


    Entweder du leitest beide auf ein Object->Rat um oder machst z.B. mittel NVScript auf dem Brett.


    NVRelayTrapOn="FrobWorldEnd"
    NVRelayTrapOff="BashStimStimulus";NVRelayTrapTOff="TurnOn"


    Damit das ganze funktioniert musst du deinen BashReceptron auf SendToScript umstellen.


    ------------
    Und was hat das ganze mit ner Ratte zu tun :D

  • Das Problem mit der Conversationsratte kann immer mal sein, dass die
    1. aus irgendwelchen Gründen mal kaputt geht (deshalb Blue Room)
    2. mal einpennt (deshalb keine Efficiency Settings geben)


    :D

    Zitat

    Spy, bzw. NVSpy geben ihre Botschaften sowohl im Monolog aus, als auch direkt im DromEd Game Mode ins Display. Du siehst das sofort im Bild. Am besten schiebst du deine Triggerobjekte testweise vor Ort (oder läßt es über Schalter triggern), dann gehts schneller.


    Habs eben mal probiert, gab beim auslösen auch immer gleich ne Anzeige am Bildschirm. Hab dann im Monobildschirm die einzelnen Auslöser überprüft, bzw. in dem RAT entsprechend gelöscht. Es ist, wie du auch schon vermutet hattest. Nehme ich das Brett ab, wartet die Ratte auf Auslöser Brett abschlagen, wenn ich es abschlage, wartet sie auf den Auslöser Brett abnehmen.


    Daraan
    NVRelayTrapOn="FrobWorldEnd"
    NVRelayTrapOff="BashStimStimulus";NVRelayTrapTOff="TurnOn"

    Wo trage ich das ein, unter Script? Steh' gerade auf dem Schlauch.


    Also wenn du Brett->Rat und Button->Rat hast geht das schief.
    Entweder du leitest beide auf ein Object->Rat um...

    ?(
    Das Brett spricht den RAT an, der Button spricht die RAT an, das funzt ja nicht.
    Beide umleiten, dann habe ich doch wieder dasselbe!?


    DS

  • Solche Sachen, wie von Daraan beschrieben trägt man in die Design Note ein.
    Ich schlage vor, du machst für das Brett eine RequireAnyTrap und linkst die zur RequireAllTrap. Dann genügt eines der beiden Signale.

  • Hier mal ne alte online Version der NVscripte:


    Normale RelayTrap reicht völlig, da die RAT ja sozusagen kontrolliert.


    Also wenn dus mit Relays machen willst:
    BrettFrob--------->Relay----->RAT
    BretStim->Button--↑

  • Hier mal ne alte online Version der NVscripte:


    Normale RelayTrap reicht völlig, da die RAT ja sozusagen kontrolliert.


    Also wenn dus mit Relays machen willst:
    BrettFrob--------->Relay----->RAT
    BretStim->Button--↑


    Leuts, ich bin zu doof dazu, verstehe jetzt überhaupt nix mehr. Frage vorweg, du schreibst oben:
    NVRelayTrapTOff="TurnOn"
    TrapTOff oder TrapOff?
    Beim Receptron habe ich eingestellt, SendToScript:Created By Script. Das Brett hat nach wie vor StdButton, muss da FrobWorldEnd rein?
    Woher bekommt jetzt der RAT die Info, wenn ich das Brett abschlage? Beim Abnehmen, hab ich ja immer noch StdButton. Das Problem ist, dass mir das Prinzip hinter dem ganzen NVRelay TurnOffOn nicht klar ist.


    Bzg. dem Vorschlag von Fibi, das funzt nicht, also werd' ich was falsch gemacht haben. Folgendes hatte ich eingestellt:
    Brett, StdButton, CD-Link zu Ziel Null, Ziel Eins, Ziel Timer Zwei, RequireAnyTrap
    Receptron, Bash, Frob=Button. CD Link von Button zu Ziel Null, Ziel Eins, Ziel Timer Zwei, RequireAllTrap.
    Cd-Link von RequireAnyTrap zu RequireAllTrap.


    Ds

  • 1. Brett mit STDButton-->CD zur RequireAnyTrap. Das Brett hat Frobinfo--WorldAction--Script+Move, wie gehabt.
    2. Dasselbe Brett mit Stim-->Frobt Button--->CD zur selben RequireAnyTrap
    Die RequireAnyTrap wird mit der RequireAllyTrap verlinkt (und/oder mit der QVarTrap, wenn du das so brauchst).
    Du kannst mir auch mal die mis/cow geben, dann erledige ich das.

  • Leuts, ich bin zu doof dazu, verstehe jetzt überhaupt nix mehr. Frage vorweg, du schreibst oben:
    NVRelayTrapTOff="TurnOn"
    TrapTOff oder TrapOff?


    TOff stimmt schon.
    TrapOff ist die Nachricht auf die das Skript reagiert und dann die TrapTOff Nachricht wegschickt.


    Evtl. bissle schematisch dargestellt:
    BashStimStimulus -rein->[TrapOff "wird umgewandelt"- TrapTOff] -raus-> TurnOn
    FrobWorldEnd -rein->[TrapOn "Standard" TrapTOn] -raus-> TurnOn (hier ist TOn=TurnOn der Standard also müssen wir da nichts extra reinschreiben)


    Zitat

    Das Brett hat nach wie vor StdButton, muss da FrobWorldEnd rein?


    FrobWorldEnd ist die Nachricht die das Objekt beim Loslassen der rechten Maustaste erhält.


    Wenn du NVRelayTrapOn="FrobWorldEnd" in der Design Note verwendest brauchst du das StdButton Skript nicht mehr. (das macht genau das gleiche: wandelt FrobWordEnd (Rechtsklick) in TurnOn um)


    Zitat

    Das Problem ist, dass mir das Prinzip hinter dem ganzen NVRelay TurnOffOn nicht klar ist.


    Die NVRelayTrap kann zwei Nachrichten (definiert durch NVRelayTrapOn= bzw. NVRelayTrapOff=) in zwei andere (NVRelayTrapTOn=, NVRelayTrapTOff=) umwandeln.
    Da die RAT nur mit TurnOn bzw. TurnOff umgehen kann müssen also die durchgeführten Aktionen umgewandelt werden.


    Zitat

    Woher bekommt jetzt der RAT die Info, wenn ich das Brett abschlage? Beim Abnehmen, hab ich ja immer noch StdButton.


    Die RAT muss ein TurnOn bekommen ob jetzt abgeschlagen oder abgenommen ist egal WICHTIG ist nur, dass beides direkt VOM GLEICHEM Objekt kommt.


    Zitat

    Bzg. dem Vorschlag von Fibi, das funzt nicht, also werd' ich was falsch gemacht haben. Folgendes hatte ich eingestellt:


    Brett, StdButton, CD-Link zu Ziel Null, Ziel Eins, Ziel Timer Zwei, RequireAnyTrap
    Receptron, Bash, Frob=Button. CD Link von Button zu Ziel Null, Ziel Eins, Ziel Timer Zwei, RequireAllTrap.
    Cd-Link von RequireAnyTrap zu RequireAllTrap.


    Ich versteh jetzt gerade nicht, wo das Ziel Timer usw. herkommt, aber hier ist es das gleiche die RAT muss die Info über einen einzigen CD Link bekommen.
    Was fibi meinte dein Bash->Button sollte auch an die gleiche Trap wie dein Brett gehen.
    ---------
    Was ich grade gesehen habe wenn du NVRelayTrap nicht verwenden willst. Da dein Brett ja StdButton hat kannst du es über den BashStim sich auch selbst frobben [me] lassen, du brauchst also keinen extra Button der irgendwo rumsteht.

  • Also ich habe noch etwas ausprobiert bevor ich eure letzten beiden Beiträge gestern und heute gelesen habe.


    Das Brett ist nun nur noch verlinkt zu einem RelayTrap. Es besitzt weiterhin die BashStim zu einem Button. Dieser ist ebenfalls zum RelayTrap verlinkt. Der RelayTrap hat nun die Verlinkungen zu den Zielen Null, Eins, Zwei und zum RAT. Ich kann jetzt sowohl das Brett abschlagen als auch abnehmen und die Paddel leuchten auf.


    Danke nochmals für Eure Bemühungen :)


    Ds