MMM.Starterpack

  • #60, by AlexFriday, 16. September 2011, 22:59 14 years ago
    Ich habe den Thread nicht wirklich verfolgt und habe jetzt auch nicht die Zeit mir das alles durchzulesen. Generell würde ich dir raten deine Probleme kurz in 1-2 Absätzen zu schildern, dann ist auch die Chance höher, dass es gelesen wird und jemand helfen kann. Wenn ich es richtig gesehen habe, ist das Problem das Setzen der Schriftart für den Aktionstext. Ich würde versuchen für den mainLoop event einen Eventhandler zu registrieren (der wird immer einmal aufgerufen, bevor das aktuelle Bild gezeichnet wird), siehe http://wiki.visionaire2d.net/index.php?title=RegisterEventHa... in der Funktion kannst du von der aktuellen Person überprüfen, ob sie gerade zu einem Objekt geht um dort eine Aktion auszuführen. Das steht im Feld VCharacterDestinationObject. Wenn der link nicht leer ist, dann geht die Person dorthin und es wird bei erreichen eine Aktion gestarten. Abhängig von dem Feld setzt du die Schriftart für den Aktionstext. Dadurch müsste die Schriftart immer aktuell sein.

    Great Poster

    378 Posts


  • #61, by BluecrystalTuesday, 20. September 2011, 17:14 14 years ago
    Um mich noch mal kurz zu fassen

    Ich möchte gerne das der Aktiontext Folgenten zusätzlichen Ablauf hat

    1.) Beim ausführen einer Aktion bzw. beim Mausklick den Textfont wechselt (Textfarbe Blau auf Hellbau)

    2.) In der ausführenden Aktion soll der Aktiontext eingefroren werden.(das kein Objekt im Zuge der ausführenden Aktion bis diese Beendet ist am Aktionstext angezeigt wird)

    3.) Der Aktiontext soll erst nach Beendigung der ausführenden Aktion auf den Standartbehfehl umspringen (Gehe zu) und den Textfont wechseln (Textfarbe Hellblau auf Blau).

    Es sollte der Ablauf des Aktiontextes von MI2 oder Indy 4 widerspiegeln

    Ist es aus technischer Sicht möglich sowas bei Vis zu machen...?

    Mfg Blue

    Newbie

    42 Posts

  • #62, by SpiderbyteWednesday, 21. September 2011, 12:22 14 years ago
    Hallo, da mich das ebenfalls interessiert, schalte ich mich hier mal ein. Bluecrystal und ich versuchen für diverse Maniac-Mansion-Mania-Episoden das GUI von Lucas Arts 1:1 mit Visionaire nachzubauen. Für diejenigen die sich mit Lucas Arts Adventure nicht so gut auskennen werde ich mal versuchen den Ablauf des GUI zu erklären: Das Interface besteht aus 9 Verben: schau, benutze, nimm, öffne, schließe, gib, ziehe, drücke und rede. Klickt man nun mit der linken Maustaste auf ein Verb, erscheint das Verb z.B. "Nimm" im Aktionstextfenster über den Verben (z.B. in dunkelblau). Solange ich mit dem Mauscurser über ein Objekt im der Kulisse fahre, erscheint sein Objektname im Aktionstextfenster hinter dem ausgewählen Verb. -Linksklick- auf "Nimm". Der Befehl "Nimm" ist also ausgewählt und der Text "Nimm" steht in dunkelblauer Schrift im Aktionstextfenster. Klicke ich nun auf eine Stelle in der Kulisse, wo sich KEIN Objekt befindet, BLEIBT der Charakter STEHEN. Der Text "Nimm" im Aktionstextfenster wechselt auf "Gehe zu", den Standartbefehl. Der Charakter bleibt stehen, weil der ausgewählte Befehl "Nimm" war und NICHT "Gehe zu". Jetzt ist "Gehe zu" aktiv und wartet auf den nächsten Klick. Klicke ich jetzt auf eine Stelle in der Kulisse soll sich der Charakter zu der Position bewegen. Denn dieses mal hat er ja den Befehl dafür "Gehe zu" bekommen. Wärend der Befehl ausgeführt wird (Charakter bewegt sich auf das Ziel zu) ändert sich der Aktionstext in hellblau, also nach dem Linksklick auf die Position bis zum Erreichen der Position. Der Aktionstext ändert sich auch dann nicht, wenn ich während der Ausführung, mit dem Mauscursor über andere Objekte fahre. Erst wenn ein Befehl vollständig ausgeführt ist, d.h. Charakter hat Ziel erreicht, evtl. seinen Text aufgesagt etc. ändert der Aktionstext wieder auf dunkelblau und den Standardbefehl "Gehe zu". Solange der Charakter seine Zielkoordinaten nicht erreicht hat, kann jeder Befehl mit einem Linksklick abgebrochen werden.Nach dem Abbruch bleibt der Charakter auf seiner aktuellen Position stehen und "gehe zu" ist wieder aktiv. Mit einer Ausnahme: War der abgebrochene Befehl bereits ein "Gehe Zu" Befehl, ändert der Charakter seine Richtung und marschiert zum neu gesetzten Punkt. Der Aktionstext bleibt bis zum Abbruch eines Befehls oder bei "Gehe zu" bis zum Erreichen der zuletzt gesetzten Positon hellblau. Rechtsklick: Objekten kann eine Rechtsklickaktion zugeordnet werden. Z.B. Objekt: Pflanze. Im Kulissenobjekt Pflanze ist hinterlegt, das der Charakter bei Aufruf des Objektes mit dem Befehl "Schau" (Schau angewand) einen Text sagen soll. Die gleiche Aktion ist auch auf den Aufruf mit Rechtsklick definiert. Nach dem Rechtsklick soll also das gleiche Im Aktionstextfenster stehen wie bei dem Befehl "schau", nämlich "Schau an Pflanze" in hellblau und solange bis der Charakter seinen Text gesagt hat. Das klingt bestimmt alles kompliziert aber genau so arbeitet eine Lucas Arts GUI. Und dabei bin ich nicht (um es nicht noch komplizierter zu machen) auch noch auf die leuchtenden Verben beim Überfahren mit der Maus oder überfahren eines Objektes mit Rechtsklickfunktion, eingegangen. Ich bin auf eure Ideen zur Umsetzung in Visionaire gespannt. MfG, Spiderbyte

    Newbie

    13 Posts

  • #63, by marvelWednesday, 21. September 2011, 13:00 14 years ago
    Ich denke es gibt einiges, was man leicht und schnell umsetzen kann (beispielsweise Leuchtende Verben beim Hovern, Rechtsklickfunktion, etc.)... und anderes davon ist (wenn man es ganz genau so haben will wie es beschrieben ist) sicherlich kompliziert.

    Wenn all diese Details mit Scripting ansteuerbar sein sollen - und das Standardverhalten der Engine somit verändert werden soll - dann müssen wir diese Möglichkeiten in LUA zunächst implementieren. Wie aufwändig das ist kann ich nicht sagen. Alex wird sich dazu sicherlich noch zu Wort melden.

    Ob sich das für die Spieler auszahlt und einen Mehrwert schafft, will ich aber bezweifeln. Die wenigsten Spieler würden solche Details wahrscheinlich bemerken. Aber ich weiß auch, mit welchem Ehrgeiz die Entwickler auf solche Details achten wink Mit AGS ist so eine Navi leichter umzusetzen, weil die Engine ja ursprünglich genau für diese Art von Spielen entwickelt wurde. Auf der anderen Seite braucht man natürlich nur einmal so ein Template umzusetzen... und Alle könnten das dann übernehmen und hätten keine weitere Arbeit mehr.

    Key Killer

    603 Posts

  • #64, by SpiderbyteWednesday, 21. September 2011, 13:38 14 years ago
    Hi Marvel, das mit den Verben habe ich auch schon gelöst, wollte nur nicht schreiben wie, da es vielleicht jemanden gibt, der eine Bessere Idee hat. Also, für die Verben habe ich zusätzliche Befehlsschalter angelegt und als Aktionsfläche definiert. Hätte ich sie in "aktives Bild" von den Befehlsschaltern gelegt, würden sie nach anklicken des Befehls aktiv bleiben. Sie sollen aber nur gezeigt werden, wenn ich mit dem Curser über den Befehl fahre oder über ein Objekt dem eine Rechtsklick funktion zugewiesen wurde. Sonst passiert es das zwei Verben gleichzeitig leuchten. Eins für den aktivierten Befehl und eins, wenn man über ein Objekt mit Rechtsklickoption fährt. Ich denke, daß die wenigsten AGS MMM-Episoden-Ersteller eine funktionierende GUI von Null an aufbauen können. Aber darin liegt ja auch der Vorteil. Bei AGS ist schon alles in den Starterpacks vorhanden. Ich denke, das es jede Menge Leute gibt, die Lust hätten bei MMM mitzumachen aber mit AGS nicht zurechtkommen. Ich gehöre dazu. Wenn wir denen ein gleichwertiges Lucas Arts GUI anbieten könnten, hättet ihr ein ein paar Kunden mehr und MMM mehr Episoden :-) MfG, Spiderbyte

    Newbie

    13 Posts

  • #65, by SpiderbyteWednesday, 21. September 2011, 14:10 14 years ago
    Nachtrag: Ich verstehe einige Programmirer von MMM nicht. auf der einen Seite soll eine Episode kreativ und ausgefallen sein und möglichst wenig Standardkommentare beinhalten aber auf der anderen Seite wird einem das Lucas Arts GUI aufgezwungen. Jede Episode hat das gleiche GUI. Evtl. mal in anderer Farbe. Eigentlich ziemlich unkreativ. Ich plane jedenfalls für meine Episode ein eigenes GUI das eher an Erben der Erde erinnert. Das "Erben der Erde" GUI lässt sich übrigens mit Visionaire 1:1 nachbauen. Trotzdem habe ich Interesse an einer Lucas Arts GUI :-) P.S. hab mich gestern für die Vollversion registriert Best.Nr : 522 Bezahlt mit PayPal.

    Newbie

    13 Posts

  • #66, by BluecrystalWednesday, 21. September 2011, 14:40 14 years ago
    Hi,Spiderbyte

    Bin froh das ich nicht mehr so alleine bin mit der Interesse ein gleichwertiges Lucas Arts GUI mit demVIS-Editor zu erstellen. Aber auch beim erstellen mit dem Vis-Editor von einen Erben der Erde GUI hast du das gleiche Problem mit den Ablauf des Aktionstext wie bei Lucas Arts GUI.

    Mfg Blue

    Newbie

    42 Posts

  • #67, by SpiderbyteWednesday, 21. September 2011, 15:09 14 years ago
    Hi Blue, du hast recht, hab es gerade angespielt. Tatsächlich wird auch hier der Befehlstext während der Befehlsausführung eingefroren. Aber das ist auch das Einzige, was sich mit Visionaire (noch) nicht umsetzen lässt .

    Newbie

    13 Posts

  • #68, by AlexWednesday, 21. September 2011, 21:20 14 years ago
    Das mit der Textfarbe müsste wie gesagt mit einem Eventhandler im mainLoop funktionieren (wie in meinem letzten Post beschrieben). Die anderen Dinge sind glaub ich derzeit nicht möglich. Was ich mir vorstellen könnte, wäre die Möglichkeit, zusätzliche Hooks definieren zu können. Vorraussetzung dazu ist allerdings, dass ihr fit im Lua Scripting seid. Ohne Scripting wird es in keinem Fall gehen. Mein Vorschlag für hooks für das Lua Kommando registerHookFunction wären folgende: - getActionText: die Funktion muss einen String zurückliefern, welcher als Aktionstext verwendet wird. D.h. der Aktionstext wird nicht mehr durch die Engine generiert, sondern durch Scripting in dieser Funktion. - sendCharacterToDestination: die Funktion wird aufgerufen, wenn die Person zu einem Ziel geschickt wird. Gibt die Funktion false zurück, wird die Pesron nicht zum Ziel geschickt. Damit könnte man z.b. erreichen, dass die Person sich nur bewegt, wenn man innerhalb der Weggrenzen oder auf ein Objekt klickt. - beforeExecuteAction: wird aufgerufen, bevor die Aktion ausgeführt wird, z.b. wenn man einen Befehl auf ein Objekt ausführt und die Person erst zu dem Objekt geschickt wird. Hier könnte man z.b. die Schriftfarbe des Aktionstextes setzen. - afterExecuteAction: wird aufgerufen, nachdem eine Aktion ausgeführt wird. wie wäre es damit?

    Great Poster

    378 Posts

  • #69, by SpiderbyteThursday, 22. September 2011, 12:15 14 years ago
    Hallo Alex, da ich vom Scipten keine Ahnung habe, wüsste ich gar nicht, wo ich anfangen sollte. Mir kommt es auch nicht unbedingt darauf an das Lucas Arts GUI 1:1 nachzubauen aber falls man sie in Visionaire umsetzen könnte würde ich sie auch benutzen. Wir können ja erst mal klein anfangen wink Ich hatte ja beschrieben, daß wenn ein Befehl aus den Verben ausgewählt wurde und man nun auf eine Stelle in der Kulisse klickt, an der sich kein Objekt befindet der Charakter nichts tut und der Standardbefehl "Gehe zu" aktiviert wird. Bei Visionaire tritt folgendes auf: der Befehl "Nimm" wird angeklickt, -"Nimm" wird im Aktionsfenster angezeigt nun wird auf eine freie Stelle in der Kulisse gecklickt. Der Charakter macht sich auf den Weg zu der angeklickten Stelle und der Nimm Befehl bleibt im Aktionstextfenster stehen. Um das zu ändern habe ich vieles ausprobiert. Ich habe z.B. versucht die Mausklickeinstellungen zu verändern. Ich habe der linken Maustaste eine Aktion zugeordnet, nämlich "Wenn Objekt unter Curser nicht existiert" und daran angeknüpft "setze Befehl -"Gehe zu" Leider hat das nicht funktioniert weil die Befehlsschalter anscheinend keine Objekte sind. Momentan begnüge ich mich mit folgender Einstellung: Zeit bis Maustaste als gehalten erkannt wird - auf 0 gesetzt. Und gehaltener Maus - wieder die Aktion rein: "Wenn Objekt unter Curser nicht existiert" - "setze Befehl -"Gehe zu" Das bewirkt zumindest das der Nimm befehl in gehe zu umgewandelt wird aber der Charakter geht trotzdem los. Wird die linke Maustaste gedrückt, wechselt der Befehl von Nimm auf gehe zu, - erst wenn die Maustaste losgelassen wird, marschiert der Charakter los. Mir fehlt da irgendwie noch das Know how.

    Newbie

    13 Posts

  • #70, by SpiderbyteThursday, 22. September 2011, 12:37 14 years ago
    Wenn ich mich recht erinnere, hatte Zak McKracken btas auch eine neun Verben GUI. <müsste ich mal wieder spielen> Wie habt ihr das denn da gemacht?

    Newbie

    13 Posts