Change action Text / Action Text ändern

  • #1, by stothewSaturday, 21. October 2017, 20:49 7 years ago
    Hi there,

    I have a Problem with my Interface. I want to have a Deponia / Broken Sword style "one click" Mouse Interface, but always show the correct action text.
    Like: talk to "Name" or take, use, look, ect. like in a SCUMM interface.

    What i tried so far:
    stage one: easy
    find a way to edit the sting "action text" on the fly -> nope (also looked in "Datastucture dokumentation")

    stage two: workaround
    1. Instead of using the "one click command" I created many comands like look, use, talk ect.
    2. I tried to use "if current Object is.." e.g. "Item" ect but there are not enough to differance them..

    stage three: the pain
    I tried to create many Cursors (many of them with the same look) and used "set Cursor" on "enter" and "leave Object area" and set the default Cursor on every leave. Now set actions in the Images of the Cursors to they change with "set command" to e.g. look, use, ect (with the correct action text). But seems the engine gets confused. some cursors will not get changed (all with the same settings). Also my "draggable Items" in the Itembox will reset to "active normal cursor" immediately for no reason... 

    So long story short, is there any way to edit the action text string e.g. on "Cursor enter area" to the right one e.g. talk to "man" or take "something" all with left click!

    Thanks for reading!

    greets Simon

    PS: Wer möchte auch gerne auf Deutsch.

    Forum Fan

    127 Posts


  • #2, by Philipp StumppSaturday, 21. October 2017, 21:12 7 years ago
    Grüße Dich!

    Was hast du denn genau vor? Ich hab neulich das Tutorial vom Sebastian durchgearbeitet, bei dem man mit der rechten Maustaste durch die Funktionen wie Betrachte/Nimm/RedeMit clickt und sich dabei auch gleich der entsprechende Mauszeiger grafisch verändert/anpasst.

    Das wären diese beiden Tutorials hier unten ...

    Hast du die verschiedenen Mauszeiger als Interface angelegt und die richtigen Begriffe wie Gehe zu bei den command properties unten eingetragen? (siehe Bild)

    Zudem musst du bei den Haupteinstellungen activate standard command: always anwählen.

    Aber es kann sein dass Du eigentlich etwas ganz anderes möchtest. Dann kannst Du meine Ansprache getrost vergessen smile

    Liebe Grüße, Philipp

    Newbie

    54 Posts

  • #3, by stothewSaturday, 21. October 2017, 21:22 7 years ago
    Hi Phillipp!

    Danke für die Links, aber die Tutorials kenne ich schon. Das Problem ist, dass ich den Befehl eigentlich gar nicht ändern will.... sondern, dass nur muss, um einen anderen "actiontext" anzeigen zu können. Also wenn DAS wirklich der Fall ist (und es keinen anderen Weg gibt den actiontext zu ändern außer über schiedene Befehle), dann ist mein Problem, der Engine mitzuteilen, wann ich welchen Befehl brauche. Denn zusammen mit den Cursor den Befehl zu wechseln, scheint nicht zu klappen.
    Mhh... jetzt wo ich das schreibe, fällt mir auf,  ich könnte es auch in den einzelnen Areas der Scenen versuchen.. Das alles erscheint mir aber sehr umständlich für mein Vorhaben..

    Anbei nochmal Screenshots um klarer zu machen was ich möchte. (Das in Rot!) XD

    Der Cursor wechselt dabei automatisch aber der Befehl ist immer "Linksklick"

    Forum Fan

    127 Posts

  • #4, by Philipp StumppSaturday, 21. October 2017, 22:06 7 years ago
    Mhm, ich glaub ich verstehe. Willst du dass der "richtige" Actiontext bei den entsprechenden Objekten automatisch angezeigt wird, sobald der Mauszeiger drüberfährt oder erst, wenn man mit links draufgeclickt hat?

    Ich hab zwar selbst noch keine Lösung gefunden, aber ich hab eine Theorie. ...

    Jedes Objekt hat ja eine Objektarea, die z.B. abließt, ob sich da der Mauszeiger reinbewegt hat oder nicht. Sonst könnte er ja gar nicht abrufen, welchen Objektnamen er in den Actiontext schreiben soll. Hier kann man ja auch "actions" festlegen. Hmmm, ich probier auch mal rum.

    Newbie

    54 Posts

  • #5, by sebastianSaturday, 21. October 2017, 22:13 7 years ago
    du könntest beim mouse enter deinen befehl direkt auf einen anderen setzen, welcher zum entsprechenden Objekt passt. Beim Mouse leave wieder zurück wechseln auf den Standardbefehl.
    Sprich du hast zwar ein oneclick interface, welches aber die Befehle beim überfahren eines Objektes ändert. 

    edit:quasi das, was Philipp unter mir schreibt

    Thread Captain

    2346 Posts

  • #6, by Philipp StumppSaturday, 21. October 2017, 22:15 7 years ago
    Also was ich auf jeden Fall hinbekommen habe ist, dass sich der Actiontext tatsächlich von Objekt zu Objekt individuell ändern lässt.

    Und zwar kannst du zu jedem Objekt in einer Szene eine Action hinzufügen. Und zwar:

    1) Execution type: Cursor enters Object area
    2)Action Part: set command
    3)Specified command (Und aus der Liste dann eben was du für einen möchtest)

    Wichtig ist eine zweite Action hinzuzufügen, die den command bei verlassen des Mauszeigers aus der Objektarea wieder auf den Standard zurücksetzt. Ich hab mal zwei Screenshots angehängt.

    Newbie

    54 Posts

  • #7, by stothewSaturday, 21. October 2017, 22:19 7 years ago
    Hallo ihr beiden!

    Ja genau so hätte ich es gern! und die lösung von euch ist auch das was ich gerade versuche..

    allerdings werden dabei meine "draggable Items" immer gedropt sobald ich damit eine Area enter... sonst wäre die Lösung ganz gut..

    Noch jemand ne Idee wie ich darauf reagieren kann?

    Schonmal Danke soweit!

    Forum Fan

    127 Posts

  • #8, by sebastianSaturday, 21. October 2017, 22:23 7 years ago
    dann müsstest du im mouse enter noch ne Bedingung einbauen, die checkt, ob du ein item an der Maus kleben hast.

    probiere mal ein "if lua" action part und füge ein:
    if game.UsedItem ~= nil then
    return true //item wird verwendet per Drag&Drop
    else 
    return false //kein Item wird verwendet
    end

    und im false - Teil des Aktionsteils (nicht in dem Script oben) nun den cursor ändern. 

    @Philipp: "der große Philipp Stumpp Ordner"? Musste schmunzeln grin

    Thread Captain

    2346 Posts

  • #9, by stothewSaturday, 21. October 2017, 23:50 7 years ago
    Hi sebastian!

    Ich habe das nun mal auf alle areas übertragen, um es vernünftig testen zu können.
    Leider sieht es so aus als würde die Lua-Funktion nie "true" zurückgeben.. hast du eine Idee warum?

    Danke!

    Forum Fan

    127 Posts

  • #10, by sebastianSaturday, 21. October 2017, 23:53 7 years ago
    probiere mal folgendes:

    if not game.UsedItem:isEmpty() then
        return true //item wird verwendet per Drag&Drop
    else 
        return false //kein Item wird verwendet
    end

    Thread Captain

    2346 Posts

  • #11, by stothewSunday, 22. October 2017, 00:27 7 years ago
    ich habs hinbekommen.
    Es liegt tatsächlich an den Kommentaren XD

    Kommentare in Lua:

    -- Dies ist ein einzeiliger Kommentar

    --[[ Dies ist auch ein Kommentar
    jedoch geht dieser über mehrere Zeilen
    und wird beendet mit ]]

    Damit hab ich nicht gerechnet, aber ich bin froh das es nun endlich geht!

    Danke

    Forum Fan

    127 Posts