Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Thema gestartet von: MalleTheRedPhoenix am 02. Mai 2009, 21:00:12

Titel: Namenwechsel eines Objektes
Beitrag von: MalleTheRedPhoenix am 02. Mai 2009, 21:00:12
Eine weitere Nachfrage: Ich möchte, dass der Gegenstand, wenn er gezogen worden ist, der Name so umgeändert wird, dass man nun automatisch den Gegenstand mit der rechten Maustaste wieder runterdrücken kann. Sprich, ich will den Namen "Zeiger>y" zu "Zeiger>s" umwandeln.

Wie ist das möglich?
Titel: Re: Namenwechsel eines Objektes
Beitrag von: rulaman am 02. Mai 2009, 22:32:15
Möglichkeit 1:

Verwende zwei Objekte, die du wechselseitig ein- und ausblendest.

Möglichkeit 2:

Schau dir die Umsetzung bei den Türen an und verwende/implementiere die Optionen >y >s analog dazu.
Titel: Re: Namenwechsel eines Objektes
Beitrag von: 1mal_volltanken am 03. Mai 2009, 11:44:02
Hallo!

Diesen Thread find ich durchaus interessant, auch wenn sich in jenem Falle das noch relativ einfach umsetzen lässt, insbesondere dann, wenn ohnehin für 2 verschiedene Stellungen auch dementsprechend 2 verschiedene Befehle vorgesehen sind.

Ich hätte da ja mal noch ne andere Frage, es wurde ja irgendwo schon mal in einem anderen Thread erwähnt...

und zwar:

Gibt es einen Script-Befehl, womit sich die Bezeichnungen von Hotspots, Objects und Charakteren nach einer bestimmten Aktion umbenennen lassen, OHNE den Einsatz eines zusätzlichen Objects?
Insbesondere bei Charakteren kommt es ja vor, das ein Charakter BEVOR man einen Dialog geführt hat bspw. "Handwerker" heisst und nachdem Dialog (sofern er sich dabei namentlich vorgestellt hat) dieser Charakter den Namen "Walter" erhält. Man müsste nur wissen, wie. ;)
Ansonsten müsste gleiches sicher auch mit Hotspots oder Objects funktionieren. ;)

BG
der Volltanker
Titel: Re: Namenwechsel eines Objektes
Beitrag von: Mister L am 03. Mai 2009, 12:49:19
Bei Charakteren ist das ganz einfach:

cEgo.Name = "Dave Miller";
Titel: Re: Namenwechsel eines Objektes
Beitrag von: MalleTheRedPhoenix am 03. Mai 2009, 14:08:53
Tut mir Leid, rulaman, aber ich kann damit nichts anfangen. Die Sache ist die, dass ich nur einen Objekt verwende und die Veränderung als View anzeige. Für mich wäre es wichtig, wie der Skriptname für die Namensänderung eines Objektes lautet.
Titel: Re: Namenwechsel eines Objektes
Beitrag von: NsMn am 03. Mai 2009, 14:27:17
Jibbet net, sojesehen.

Es gibt nur "Object.Name", ist aber read-only.
Titel: Re: Namenwechsel eines Objektes
Beitrag von: KhrisMUC am 04. Mai 2009, 03:53:22
Zur Namensänderung müsste sowas in TranslateAction() eingebaut werden:

// vor     if (ip < op) result = result.Format(result, item, objekt);

  Object*o = Object.GetAtScreenXY(mouse.x, mouse.y);
  if (player.Room == 3 && o = object[2]) {
    if (?) objekt = "Schrank";
    else objekt = "kaputter Schrank";
  }

Zum Ändern des default-Verbs häng ein >v dran, dann bau es in VariableExtensions() ein.
Titel: Re: Namenwechsel eines Objektes
Beitrag von: 1mal_volltanken am 04. Mai 2009, 09:35:22
    if (?) objekt = "Schrank";
    else objekt = "kaputter Schrank";

Und bei [?] müsste dann ein GetGlobalInt hin, richtig? ;)


BG
der Volltanker

Titel: Re: Namenwechsel eines Objektes
Beitrag von: KhrisMUC am 05. Mai 2009, 02:36:57
Naja, nur, falls man diese veralteten, schrecklichen Dinger noch verwendet ;)