Objekte "verstecken"

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
leChuck93
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 55
Registriert: 13.05.2006, 18:01

Beitrag von leChuck93 »

Hab ne Frage: Wie lautet der Code zum "verstecken" von Objekten in z.B. Schubladen oder Schränke?
Benutzeravatar
SeltsamMitHut
Profi-Abenteurer
Profi-Abenteurer
Beiträge: 798
Registriert: 22.06.2004, 21:54
Wohnort: Arkham

Beitrag von SeltsamMitHut »

Wenn das Objekt sichtbar werden soll, wenn du z.B. einen Schrank öffnest, wäre das einfach "ObjectOff" bzw. "ObjectOn". Wenn man es nicht sehen soll würde ich es mit einem GlobalInt machen (also: setglobalint(x, y); und if (GetGlobalInt(x) == y) { ... } ).
Hoffe du meinst etwas in dieser Art.

PS.: Das ist alles ganz gut in der Hilfe von AGS erklärt. Schau nächstes Mal besser erst da nach (wenn dus nicht gemacht hast).
I was frozen today!
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Noch besser geht's mit baselines. Außerdem wurde das mehrmals im AGS-Forum beantwortet.
Und es gehört nicht in diesen thread.

Mods: bitte löschen/verschieben.
Use gopher repellent on funny little man
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

khrismuc hat geschrieben:Und es gehört nicht in diesen thread.
Abgetrennt. Der ursprüngliche Thread "Hilfreiche Funktionen in MMM" ist eher als eine Befehls- und Tippdatenbank für Funktionen, die in den MMM-Packs verwendet werden gedacht.

Zur Frage: Ein Blick in der Hilfe hätte sicher nicht geschadet, aber wenn ich schonmal dabei bin:
Für AGS 2.62 abwärts:
ObjectOff(x);
Für AGS 2.7 aufwärts (alternativ):
object[x].Visible = false;
oder:
oBezeichnung.Visible = false; (Hierzu UNBEDINGT die Hilfe studieren.)
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Benutzeravatar
leChuck93
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 55
Registriert: 13.05.2006, 18:01

Beitrag von leChuck93 »

Also muss ich jetzt den Script so eingeben:

else if (UsedAction (A_LOOK_AT)) {
if (MovePlayer (x, y)) {
FaceLocation (GetPlayerCharacter (), x, y);
ObjectOn(6);
AddInventory(8);
}
}

so oder noch anders?
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

init_object: Die hilfreiche Funktion im MMM-Script

Beitrag von a-v-o »

Tatsächlich gibt es im MMM-Script eine Funktion, die das Ein- und Ausschalten eines Objekts übernimmt:
f) init_object (int GI, int objects)
Ist GlobalInt GI ==1, dann wird das Objekt objects angezeigt, ansonsten versteckt. Einsatz in erster Linie in (... before fadein).
Wenn man also mit GlobalInts arbeitet um den Zustand eines Objekts zu speichern, dann reicht ein init_object in (... before fadein), um beim Betreten eines Raumes das Objekt entsprechend seinem Zustand richtig anzuzeigen.

Ändert sich der Zustand des Objekts in einem anderen Raum, dann muss dort lediglich das GlobalInt geändert werden.

Ändert sich der Zustand im Raum, dann reichen folgende Zeilen:

Code: Alles auswählen

SetGlobalInt (GI, 0 oder 1);
init_object (GI, object);
wobei für GI die Nummer des GlobalInt angegeben wird, 0 für ausblenden, 1 für einblenden und object die Nummer des Objekts.
Antworten