Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Thema gestartet 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?
-
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.
-
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
-
Bei Charakteren ist das ganz einfach:
cEgo.Name = "Dave Miller";
-
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.
-
Jibbet net, sojesehen.
Es gibt nur "Object.Name", ist aber read-only.
-
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.
-
if (?) objekt = "Schrank";
else objekt = "kaputter Schrank";
Und bei [?] müsste dann ein GetGlobalInt hin, richtig? ;)
BG
der Volltanker
-
Naja, nur, falls man diese veralteten, schrecklichen Dinger noch verwendet ;)