
Gegenstände in Schränken
- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
Gegenstände in Schränken
Mir ist es ein bisschen peinlich, aber wie kann man was machen, wenn z.B. man den Kühlschrank öffnet, das dann Gegenstände erscheinen ohne "Object On" und "Object Off" um sie aus dem Kühlschrank rauszuholen? 

- Rayman
- Logik-Lord
- Beiträge: 1388
- Registriert: 07.01.2006, 20:08
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich würde es mit baselines machen, denn dann reicht es, das Objekt im Schrank auszuschalten, nachdem es genommen wurde. Es ist nur eine zusätzliche Fehlerquelle, wenn man nach dem Öffnen des Schrankes abfragen muss, ob es schon genommen wurde, um zu wissen, ob es angeschaltet werden muss oder nicht.
Man kann natürlich eine entsprechende Variable benutzen, aber 10x einfacher ist es doch, einfach die baseline der Tür ans untere Ende des Schrankes und die des Objektes ein Stück drüber zu setzen.
Ist doch nicht kompliziert
Nachtrag: Suche nach "Objekt" und "Schrank":
http://www.adventure-treff.de/forum/vie ... php?t=7208
Man kann natürlich eine entsprechende Variable benutzen, aber 10x einfacher ist es doch, einfach die baseline der Tür ans untere Ende des Schrankes und die des Objektes ein Stück drüber zu setzen.
Ist doch nicht kompliziert

Nachtrag: Suche nach "Objekt" und "Schrank":
http://www.adventure-treff.de/forum/vie ... php?t=7208
Use gopher repellent on funny little man
-
- Hobby-Archäologe
- Beiträge: 140
- Registriert: 22.09.2005, 23:44
- Wohnort: NRW
- Kontaktdaten:
Ich will auch mal was hilfreiches beisteuern und geb einfach mal den Script raus, den ich für ein nachtschränkchen verwendet habe... Ich hoffe du kennst dich soweit schon mit "Scripten aus 
Die Baslines müssen natürlich auch für die Objekte gesetz werden
Der Hotspot des Nachtschränkchens:
Ich habs zwar über "Inventar überprüfen" gemacht, was man eigentlich nicht tun sollte aber da dieser Gegenstand in diesem Spielabschnitt bleibt ist es eh Latte
@Mods: Scheut euch nicht meinen Post zu löschen wenns aus irgendeinem Grund Blödsinn ist. Bin grad etwas angetrunken aber wollt auch mal was schlaues machen

Die Baslines müssen natürlich auch für die Objekte gesetz werden

Der Hotspot des Nachtschränkchens:
if (UsedAction (A_WALK_TO))
{
if (MovePlayer (240, 129))
{
FaceLocation (GetPlayerCharacter (), 240, 122);
}
}
else if (UsedAction (A_OPEN))
{
if (MovePlayer (240, 129))
{
FaceLocation (GetPlayerCharacter (), 240, 122);
Wait(5);
if (GetGlobalInt(16)==0)
{
PlaySound(85);
ObjectOn(1);
SetGlobalInt(16,1);
if (player.InventoryQuantity[1] == 0)
{ ObjectOn(9);}
}
}
}
else if (UsedAction (A_CLOSE))
{
if (MovePlayer (240, 129))
{
FaceLocation (GetPlayerCharacter (), 240, 122);
Wait(5);
if (GetGlobalInt(16)==1)
{
PlaySound(83);
ObjectOff(1);
ObjectOff(9);
SetGlobalInt(16,0);
}
}
}
else if (UsedAction (A_PICK_UP))
{
if (MovePlayer (240, 129))
{
FaceLocation (GetPlayerCharacter (), 240, 122);
Wait(5);
DisplaySpeech(GetPlayerCharacter(), "Der ist mir zu schwer.");
}
}
else Unhandled ();
Ich habs zwar über "Inventar überprüfen" gemacht, was man eigentlich nicht tun sollte aber da dieser Gegenstand in diesem Spielabschnitt bleibt ist es eh Latte

@Mods: Scheut euch nicht meinen Post zu löschen wenns aus irgendeinem Grund Blödsinn ist. Bin grad etwas angetrunken aber wollt auch mal was schlaues machen

- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Rück Deinen Code ein, das kann doch kein Mensch lesen 
Und nimm den

Und nimm den
Code: Alles auswählen
-tag, -> feste Zeichenbreite und keine ungewollten Smilies.
Außerdem ist die Abfrage übers Inventar ein absoluter Kardinalfehler. Wenn der Gegenstand im Inventar bleibt, solange man Zugang zum Schrank hat, funktioniert es zwar, aber es ist schlechter Stil und keine allgemein gültige Lösung.
Use gopher repellent on funny little man
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Also so gemein sind wir nicht und löschen Post nur weil sie Blödsinn sind. Aus Fehlern lernt man schließlich.@Mods: Scheut euch nicht meinen Post zu löschen wenns aus irgendeinem Grund Blödsinn ist. Bin grad etwas angetrunken aber wollt auch mal was schlaues machen
Ansonsten hat Khris völlig recht, eine Abfrage übers Inventar ist keine gute Idee bei solchen Sachen. Das ist nur sinnvoll, wenn du willst, das der Cha ein einer Stelle nur weiter kommt, wenn er einen bestimmten Gegenstand hat, also zum Beispiel, wenn ein Polizist das Haus nicht ohne Waffe verlassen will (das Beispiel dürfte klar sein, hoffe ich).
Außerdem scheinst du für das Bild des offenen Schranks ein Objekt zu benutzen (object (1)) und für den geschlossenen Schrank kein Objekt wenn ich das richtig sehe. Das ist auch nicht unbedingt sinnvoll, weil du so die Grafik für den Gegenstand im Schrank ständig an und ausschaltest, solange der Spieler den Gegenstand noch nicht genommen hat. So musst du beim öffnen und schließen immer zwei Objekte beachten. Wenn du den geschlossenen Schrank als Objekt machst statt den offenen und mit Baseline arbeitest kannst du dir das sparen.
-
- Hobby-Archäologe
- Beiträge: 140
- Registriert: 22.09.2005, 23:44
- Wohnort: NRW
- Kontaktdaten:
@khrismuc
Oh! hab mich scho gefragt wofür der Code-Tag gut ist
Cool, wieder was gelernt
Normalerweise rücke ich auch bei geschweiften Klammern immer den Text ein, damit es übersichtlich bleibt aber als ich den Script für "Object in die Schublade" gemacht hab war es noch nicht so
Jedenfalls werd´ ich den Beitrag editieren sobald ich mehr Zeit hab...
@Sinitrena
Hehe, man weis ja nie wie streng die Mods so sind. Eigentlich gehts in diesem Threat ja darum "Rayman" zu zeigen wie man es am besten lösen kann
Das mit "Objekt für offenen Schrank" ist aus ´nem MMM-Starterpack. Aber wie du es sagst hört sich wirklich weniger umständlich an
Ist die beste Lösung für das eigentliche Problem hier alles über "GlobalInts" zu machen? So viele wie ich bei meiner Epi verwende muss ich mir dann bald mal aufschreiben welche wofür sind
Oh! hab mich scho gefragt wofür der Code-Tag gut ist




@Sinitrena
Hehe, man weis ja nie wie streng die Mods so sind. Eigentlich gehts in diesem Threat ja darum "Rayman" zu zeigen wie man es am besten lösen kann

Das mit "Objekt für offenen Schrank" ist aus ´nem MMM-Starterpack. Aber wie du es sagst hört sich wirklich weniger umständlich an

Ist die beste Lösung für das eigentliche Problem hier alles über "GlobalInts" zu machen? So viele wie ich bei meiner Epi verwende muss ich mir dann bald mal aufschreiben welche wofür sind

-
- Hobby-Archäologe
- Beiträge: 163
- Registriert: 28.04.2005, 16:26
- Wohnort: Mönchengladbach
PsychoF82 hat geschrieben: Ist die beste Lösung für das eigentliche Problem hier alles über "GlobalInts" zu machen?
Man kann auch die Objektgrafik durchsichtig machen, und das Objekt dann mit dem Hintergrund verschmelzen(MergeObject).
Allerdings darf man dann nicht ObjectOn benutzen, sondern muss mit Baselines arbeiten.
- DieFüchsin
- Adventure-Gott
- Beiträge: 4411
- Registriert: 12.03.2004, 16:55
-
- Hobby-Archäologe
- Beiträge: 140
- Registriert: 22.09.2005, 23:44
- Wohnort: NRW
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
DieFüchsin:
In diesem thread ist explizit gefragt, wie man es erreicht, einen Gegenstand *sichtbar* in einem Schrank unterzubringen.
Und das simple Deaktivieren eines hotspots, nachdem er erfolgreich benutzt wurde, halte ich ebenfalls für ziemlich daneben.
Rayman: Wie gesagt, nutze keine Inventarabfrage zur Darstellung des Gegenstandes, sondern eine GlobalInt oder eine room script-variable. (Welches Skript hast Du denn jetzt genommen? Hoffentlich meins aus dem verlinkten thread...)
In diesem thread ist explizit gefragt, wie man es erreicht, einen Gegenstand *sichtbar* in einem Schrank unterzubringen.
Und das simple Deaktivieren eines hotspots, nachdem er erfolgreich benutzt wurde, halte ich ebenfalls für ziemlich daneben.
Rayman: Wie gesagt, nutze keine Inventarabfrage zur Darstellung des Gegenstandes, sondern eine GlobalInt oder eine room script-variable. (Welches Skript hast Du denn jetzt genommen? Hoffentlich meins aus dem verlinkten thread...)
Use gopher repellent on funny little man