Viele Fragen

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
fungibauer
Frischling
Frischling
Beiträge: 6
Registriert: 16.08.2004, 19:18

Viele Fragen

Beitrag von fungibauer »

Hallo,

Ich hab gleich mehrere Fragen:

1. Wie kann man am besten TÜren einbauen, die sich öffnen und schließen lassen?

2. Ich hab über das menü eingestellt, das, wenn man inventar auf einem NPC benutzt, dass dann eine Textmeldung kommt. Wie kann ich einstellen, dass es nur mit einem bestimmten Inventar-Inhalt funktioniert?

fungibauer
Jetzt bloss kein unauffällig braune oder manchmal auch schwarz getarnte Plastiktüte dabei haben...(MM)
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Die Anzahl hält sich ja noch in Grenzen

zu 1.
Male den Hintergrund mit einer geschlossenen Türe, darauf einen Hotspot und darüber ein Objekt mit dem Bild einer offenen Türe. Mit ObjectOn/Off lässt sich die Tür dann öffnen oder schließen.

zu 2.
schau mal in der Hilfe unter game.activeinv nach. Damit kannst du feststellen, welcher Gegenstand gerade benutzt wird.
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Beitrag von DernetteEddy »

Also ich hab das mit den Türen genau umgekehrt wie bei a.v.o. (Raum mit offener Tür, object mit geschlossener Tür), allerdings ist das ja auch egal.
Bei mir hab ich allerdings auch noch ne Region die bei jedem Raum betreten automatisch aus ist [DisableRegion(X)]. Wenn die Tür geöffnet wird schalte ich die dann an [EnableRegion(X)] und der Character kann in den nächsten Raum gehen.
fungibauer
Frischling
Frischling
Beiträge: 6
Registriert: 16.08.2004, 19:18

Fragen, die aus den Fragen resultieren...

Beitrag von fungibauer »

Also, ich hab jetzt eine Tür eingebaut. Wenn man mit ihr interagiert, verschwindet sie und eine Walkable Area sowie eine Regien werden freigeschaltet und auch wieder beendet, wenn man die Tür "shließt".
Durch die Walkable Area kann man schon einwenig in den Raum reingehen, ohne den Raum zu verändern, was ich eigentlich ganz gut finde. Mein problem ist jetzt, dass beim Betreten des Raumes, in dem ich die Tür eingebaut habe, alle Walkable Areas standartmäßig aktiviert sind, das bedeutet, dass ich auch bei geschlossener Türe auf der bereits erwähnten "Pop-Up Walkable Area" laufen kann, und somit natürlich auch auf der Tür...und das ist plöd.
Was muss ich also (vorallem) wo scripten, damit es richtig klappt?
Jetzt bloss kein unauffällig braune oder manchmal auch schwarz getarnte Plastiktüte dabei haben...(MM)
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

im "before fadein" kannst du die Walkable Areas und die Türobjekte korrekt schalten.
fungibauer
Frischling
Frischling
Beiträge: 6
Registriert: 16.08.2004, 19:18

Klappt ZU gut...

Beitrag von fungibauer »

Hallo,

ich bin es mal wieder. Ich hab jetzt im "before fadin" die Walkable Area und so deaktiviert. Eigenlich müsste sie ja reaktiviert werden, wenn ich auf die Türe (bzw. den Hotspot, der hinter der Tür ist) klicke. Aber aus irgendeinem Grund bleibt sie deaktiviert...Woran kann das liegen?

fungibauer
Jetzt bloss kein unauffällig braune oder manchmal auch schwarz getarnte Plastiktüte dabei haben...(MM)
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Beitrag von DernetteEddy »

Ich meine das hättest Du schon oben ungefähr beschrieben, trotzdem kurz vorab.
Du musst im Object Script, angeben wann der die walkable area wieder reaktivieren soll und wann wieder deaktivieren.
Z.B beim Befehl "öffnen" oder bei "any click on..." gibts Du RestoreWalkableArea (X)
Umgekehr bei "schließen" natürlich RemoveWalkableArea(X)

Wenn er das, wie Du sagst, trotzdem nicht tut, hast Du vielleicht einen falschen Wert für (X) eingetragen oder die Befehle im falschen Script verfasst. Sonst schick doch mal Dein komplettes Roomscript
fungibauer
Frischling
Frischling
Beiträge: 6
Registriert: 16.08.2004, 19:18

OK

Beitrag von fungibauer »

OK, hier ist das roomscript:
// room script file


#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
// script for room: Player enters screen (before fadein)
RemoveWalkableArea (2);
DisableRegion (2) ;
}
#sectionend room_a // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE
function hotspot1_a() {
// script for hotspot1: Interact hotspot
ObjectOff (0);
EnableRegion (2);
RestoreWalkableArea (2) ;
}
#sectionend hotspot1_a // DO NOT EDIT OR REMOVE THIS LINE

#sectionstart hotspot1_b // DO NOT EDIT OR REMOVE THIS LINE
function hotspot1_b() {
// script for hotspot1: Interact hotspot
ObjectOn (0);
RemoveWalkableArea (2);
DisableRegion (2);
}
#sectionend hotspot1_b // DO NOT EDIT OR REMOVE THIS LINE
wie gesagt, die walkable-area will einfach nicht restored werden... :(
Jetzt bloss kein unauffällig braune oder manchmal auch schwarz getarnte Plastiktüte dabei haben...(MM)
Benutzeravatar
DernetteEddy
Süßwasserpirat
Süßwasserpirat
Beiträge: 298
Registriert: 30.06.2004, 00:31

Re: OK

Beitrag von DernetteEddy »

Kannst Du bei geschlossener Tür den Hotspot überhaupt anklicken? Die Tür überdeckt den doch dann, oder nicht?

- Vielleicht solltest Du die erste function hotspot1_a beim object (Die Tür selber) eintragen. Dann sollte bei jedem "öffnen" click auf die Tür die Tür als Object verschwinden und der Hotspot clickable sein.

- Oder wenn "interact hotspot" als "any click on hotspot" ist würd ich das auf "öffnen" und "schließen" verteilen.

Wenns nicht klappt weiß ich's auch nicht. Schätze die Experten können Dir dann weiterhelfen. Sonst kann ich Dir auch mein Script zusenden.
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Du hast der interaction "interact" von hotspot1 2 Aktionen zugeordnet. Das ist nur dann sinnvoll, wenn diese unter bestimmten Bedingungen (condintional) ausgeführt werden. Wie sehen deine Eintragungen im interaction editor aus?

Vielleicht wäre es sinnvoller, beide Funktionen zu einer zusammen zu fassen:

im interaction editor nur ein einziges Run Script.
Und im Script:

if (IsObjectOn (0))
{
ObjectOff (0);
EnableRegion (2);
RestoreWalkableArea (2) ;
}
else
{
ObjectOn (0);
RemoveWalkableArea (2);
DisableRegion (2);
}
Antworten