Texte auf dem Bildschirm in Bezug auf ein Objekt

  • Okay ich habs mal mit dieser Überschrift versucht, wenn euch was besseres einfällt ruhig sagen ;). ich hab mal wieder gesucht aber nur diesen Thread gefunden und ehrlich gesagt nix verstanden.
    So, ich habe einen Grabstein und möchte einen Text erscheinen lassen, sobald man nahe am Grabstein dran ist. [z.B hier ruht Dad oder so]
    könnte mir jemand sagen wie das geht? Also man sollte nur nahe genug dran sein und nicht unbedingt rechtsklicken dazu müssen.
    Danke
    Mfg The Niggster

  • Meine erste Idee war es, einen BoundsTrigger zu nutzen, der den Text triggert. Allerdings klappt es mit dem ControlDevice Link leider nicht.


    2 weitere Möglichkeit dein Vorhaben umzusetzen wäre aber die:


    Variante 1:


    1. Erstelle eine Plaque in einem Blueroom und gib ihr den Text
    2. In einem 2. Blueroom eine beliebige AI
    3. AIWatchObj-Link von der AI zu der Plaque
    4. Platziere eine TeleportTrap im 1. Blueroom und verlinke die AI
    5. Nutze einen Raum mit TrigRoomPlayer Skript oder einen BoundsTrigger um die TeleportTrap zu aktivieren


    Als Ergebnis wird nun die AI in den Raum mit der Plaque teleportiert und frobt dort die Plaque woraufhin der Text erscheint.


    Variante 2:


    Du erstelllst eine Conversation, in der bei Step 0 Actor1 ein Objekt, im dem Fall die Plaque frobt. Aber ich glaube fast für dich ist Variante 1 erstmal besser verständlich, bevor du dich auf Conversations stürzt.

  • Zitat

    Aber ich glaube fast für dich ist Variante 1 erstmal besser verständlich, bevor du dich auf Conversations stürzt.


    Häh naja bis zum 3. Punkt versteh ichs ja, aber beim 4.: was genau muss ich denn da verlinken? Und den 5. versteh ich acuh net ganz... ich bin da halt noch ein richtiger amateur was diese ganzen triggers und so angeht. Könntest du mir es vllt besser erklären, oder mir genau die einzelnen Schritte schreiben?
    Danke
    The Niggster

  • hm ich hab nich so den dunst, wieso der player nich selbst frobben soll. ich finde die variante immer ganz nett wenn ich durch ne stadt geh und quasi "selber" nachlese was auf den tür oder straßenschildern steht...aber ist halt geschmackssache und über geschmack lässt sich ja bekanntlich nicht streiten.
    ich spar mir halt so freiwillich die arbeit mit den conversations oder platzhalter-AIs (und ist unter uns gesagt auch neueinsteiger-freundlicher, das MIT frobben zu gestalten) ;)

  • Turcaill:
    Ich finde die Variante mit dem selber "aktivieren" auch besser, a) weil es wesentlich einfach ist und b) weil sonst der Text auch erscheint, wenn man eigentlich überhaupt nicht auf den Grabstein achtet. Da wundert man sich dann vielleicht noch :D


    The Niggster, der ausführlicher Weg:


    1. Erstelle eine Plaque in einem Blueroom und gib ihr den Text
    2. In einem 2. Blueroom eine beliebige AI
    3. AIWatchObj-Link von der AI zu der Plaque
    4. Platziere eine TeleportTrap im 1. Blueroom, genau neber der Plaque
    5. ControlDevice (CD) Link von der TeleportTrap zur AI
    6. Lege einem Room-Brush um den Grabstein, mach ihn zu einem konkreten Raum (nenn ihn am besten "GrabsteinTrigger") und geb dem Room das TrigRoomPlayer Skript, achte darauf, dass der Room-Brush nicht im Zentrum eines anderen Room- oder Solidbrushes liegt
    7. CD Link vom Room-Brush "GrabsteinTrigger" zur TeleportTrap
    8. Room Database und AI Roomdatabase neu erstellen

  • Okay...naja ich versteh da das ein oder andere immer noch nicht ganz:
    1. Wie genau kann ich der Plaque nochmal den Text geben? :rolleyes:
    2. Dieses TrigRoomPlayer Skript, ich habe unter S--> Scripts einfach beim ersten TrigRoomPlayer eingegen. Ist das richtig so?
    3. Muss der TeleportTrap die Plaque berühren, oder was genau bedeutet nahe?


    Falls ihr Lust habt es mir zu erklären, könntet ihr mir vllt auch die andere Variante erklären?
    Mfg The Niggster

  • Zitat

    Original von The Niggster
    1. Wie genau kann ich der Plaque nochmal den Text geben? :rolleyes:


    Add->Book->Text


    Dort trägst du dann den Namen der .str Datei ein, die den Text enthält, der dargestellt werden soll. Zum Beispiel: "miss20\Grabstein.str"


    Zitat

    Original von The Niggster
    2. Dieses TrigRoomPlayer Skript, ich habe unter S--> Scripts einfach beim ersten TrigRoomPlayer eingegen. Ist das richtig so?


    Richtig.


    Zitat

    Original von The Niggster
    3. Muss der TeleportTrap die Plaque berühren, oder was genau bedeutet nahe?


    AIWatchObj funktioniert immer nur auf die Entfernung, die du bei dem Data Feld des Links angibst. Setzt du diesen Wert z.b. auf "2" bedeutet das, dass die AI das Objekt berührt, sobald es nur noch 2 DU davon entfernt ist. Damit also die AI das Objekt berührt, sobald sie in den Raum teleportiert wird, sollte die TeleportTrap nicht zuweit von der Plaque entfernt sein, z.B. 2-3 DU's


    Zitat

    Original von The Niggster
    Falls ihr Lust habt es mir zu erklären, könntet ihr mir vllt auch die andere Variante erklären?


    Dazu solltest du erst einmal wissen, wie man eine Conversation baut. Wenn du das geschafft hast, können wir nochmal drüber reden ;)
    Aber an deiner Stelle würde ich das am Anfang erstmal lassen und mit den "DromEd Basics" weitermachen.


    Aber hier ein Link dazu:
    AI Conversations


    In dem Thread findest du eine Demo zu Conversations und Links zu Threads die sich auch um Conversations drehen.

  • Zitat

    Original von The Niggster
    1. Wie genau kann ich der Plaque nochmal den Text geben? :rolleyes:


    Das ist recht ausführlich in Kapitel 15 (Einbindung von Büchern, Schriftrollen und Gedenktafeln) des off. DromEd-Tutoriums erklärt.


    Zitat

    Falls ihr Lust habt es mir zu erklären, könntet ihr mir vllt auch die andere Variante erklären?


    Welche andere Methode?


    Edit:
    Herrgott, Intruder! Das darf doch nicht wahr sein, jedes Mal! :D
    Und dann antwortest du noch so ausführlich. ;)

  • Hmpf... das hab ich zwar jetzt verstanden, aber irgendwas muss ich doch wohl falsch gemacht haben.
    Seht euch vllt. mal diese Bilder an, kann man dort ein Fehler entdecken?
    Oder wo könnte mein Fehler liegen?

  • Mir fällt nur auf, dass du bei der Plakette den Namen der entsprechenden Str-Datei mit Endung geschrieben hast, also "miss20/RIP.str".
    Meines Wissens muss jedoch der Name der Str-Datei ohne Endung eingetragen werden, also nur "miss20/RIP".
    Probier's mal so, vielleicht geht es dann.

  • Du hast einen Fehler gemacht bei dem Pfad zum .str Objekt:


    Es muss heißen miss20\RIP.str.
    Die Dateiendung kann ruhig bleiben, dass stört DromEd nicht.
    Stelle auch sicher, dass die RIP.str Datei dann auch wirklich unter books\miss20 im Thief Ordner liegt.


    Zu dem AIWatchObj-Link:


    Diese Angaben müssen in das Data Feld, natürlich mit veränderter Objektnummer.


    [Blockierte Grafik: http://s10.directupload.net/images/090228/temp/wlpng9lk.jpg]


    Die erste Zeile die man aufgrund der riesigen Listenlänge nicht lesen kann heißt "Self Entry".


    Versuche es am besten mal mit den Werten die im Screenhsot bei mir drin stehen. Da frobt die AI das Objekt 2 mal weil man es so besser lesen kann, besonders wenn der Text etwas länger wird.


    Du solltest vielleicht auch den Raum etwas größer machen. Also rund 8x8x8 DU's sonst wird wahrscheinlich niemand den Text lesen.

    • Offizieller Beitrag

    Dass man die str-Dateien in Unterordnern (wie miss20) ablegen kann, wäre mir aber neu. Ich dachte immer, die .str-Dateien sind immer unter folgenden Pfad abgelegt:
    \books\<Sprache>\
    Demzufolge müsste in DromEd auch nur die str-Datei alleine stehen. Natürlich kann es auch sein, dass ich mich irre...

  • Es geht auch mit Unterordner. Ich verwende z.B. dieses System weil ich an 6 Missionen gleichzeitig baue für meine Kampagne. Um die Dateien besser zuordnen zu können, packe ich die nach Missionen geordnet in die entsprechenden Unterordner.


    Meine Ordnerstruktur im books-Ordner sieht so aus:


    miss20
    \english
    \german


    .
    .
    .


    miss25
    \english
    \german


    Man kann auch noch mehr Unterordner anlegen, allerdings wird man dabei schnell an die Grenze der Pfadlängen der DarkEngine Pfadlängen stoßen.

  • Mir ist neu, dass es möglich ist, die Endung mit anzugeben. Das ist dann nämlich auch eine Fehlinformation im offiziellen DromEd-Tutorium. Da steht, man soll die Endung weglassen.

  • Zitat

    Diese Angaben müssen in das Data Feld, natürlich mit veränderter Objektnummer.


    Welche Objectnummern? Zuerst die von der AI, dann die von der Plaque, und dann nochmal die AI oder?
    Mist es funktioniert nämlich noch immern nicht :(... komisch. Ich habe alles nochmal gecheckt und eig. keinen Fehler endteckt.

  • Diese Werte solltest du haben:


    Response Step 1: Frob Object


    Argument 1: Die Nummer der Plaque (bei mir die Nummer 485)


    Von der AI musst du überhaupt keine Nummer eintragen, du hast ja immerhin den AIWatchObj-Link ausgehend von der AI.


    Den 2. und 3. Response Step brauchst du nicht unbedingt, nur für den Fall, dass der Text zu kurz auf dem Bildschirm erscheint.

  • Wenn ich das jetzt alles richtig verstanden habe, ist das doch praktisch der gleiche Weg, als würde man allgemein einen Text auf dem Bildschirm erscheinen lassen wollen, ohne Bezug zu einem Objekt, oder?


    Wenn ja, würde ich vorschlagen, den Titel des Threads von "Objekte beschriften" zu etwas in der Art wie "Texte auf dem Bildschirm in Bezug auf ein Objekt" umzubenennen.

  • Hmpf* Ich bin schon ziemlich enttäuscht von mir! Warum krieg ichs mal wieder nicht hin X( :(. Soll ich vllt nochmal ein paar Bilder zeigen? Sagt mir am besten was ich genau zeigen soll, wenn das überhaupt Sinn macht.

  • Naja, also raten bringt uns nicht weiter.


    Ich hätte 2 Vorschläge für dich:


    a) Mach es einfach so, dass der Text erscheint, sobald man den Grabstein anklickt. Du könntest auch eine Plakette auf dem Grabstein anbringen, die man froben muss. So würde nicht der ganze Grabstein aufleuchten, sondern nur die Plakette.


    b) Lade dir Deep Trouble 1 (von John D.) oder Keeper Investigations 2 (von mir) herunter. In jeder der beiden Missionen wird ein Ingame-Textbriefing mit genau der gleichen Methode realisiert, via AIWatchObj. Da kannst du dir das Ganze mal an einem funktionierenden Beispiel ansehen und in deine Mission übernehmen.


    Oder zeig mal ein Screenshot von dem AIWatchObj-Link, also speziell diese riesige Liste.