Mit "Gehe zu" Befehl durch eine Tür gehen, NICHT m

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Dafür brauchst du das obige Script gar nicht. Du verwendest einfach eine Region an der Stelle, an der der Character den Raum verlassen kann. Das standardmäßige Verhalten bei einem Mausklick im Walk Mode ist ja, dass der Character dorthin geht, man aber jederzeit durch Klicken an eine andere Stelle den Character umleiten kann.
Betritt er den Bereich (region) bei einer Tür, dann verlässt er den Raum.
Sharalamude

Beitrag von Sharalamude »

Das ganze ist etwas kompliziert, zumindest bei meinem Aufbau. Hast du mal irgendwann Zeit ( Chat ), wo wir das in Ruhe bereden könnten? Ich bin täglich ab 18:00 online zu erreichen, nenn mir einfach 'nen 'nen Tag, an dem du Zeit hast, und 'nen Chat.
Sharalamude

Beitrag von Sharalamude »

Du sagst mit einer Region wird der Raum verlassen, wenn der Character den gewählten Bereich betritt, und das will ich nicht. Es soll nicht beim Betreten des Bereiches von dem Spielecharacter der Raum gewechselt werden, sondern beim Anklicken des Bereiches - worauf der Spieler zum Punkt hingeht - und dem darauffolgendem Erreichen des Bereiches. Beim Anklicken geht der Spieler erst hin. Erst wenn man den Punkt angeklickt hat und er SO draufzugeht, soll er den Raum wechseln, nicht wenn er andernfalls irgendwie den Punkt erreicht, z.B. wenn man rechts im Raum ist, in der Mitte ist die Tür, man klickt nach links. Dann geht der Character vorbei, erreicht den Punkt, und geht rein. Er soll aber nur reingehen, wenn der Punkt angeklcitk wurde. Wenn er angeklickt wurde, kann man jedoch jederzeit wieder wegklicken. So!
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Also... nehmen wir dein Beispiel von der Türe in der Mitte eines Raumes:

1. Du zeichnest einen hotspot über die Türe. Darauf soll der Spieler klicken, wenn der character den Raum verlassen soll.

2. Du zeichnest eine region in der walkable area an der Unterkante der Türe. Sobald der character diese region betritt, verlässt der character den Raum, also entsprechende interaction verwenden.

3. Bei Betreten des Raumes (...before fadein) wird die region abgeschaltet.

4. Bei jedem Mausklick wird die region abgeschaltet.

5. Bei Klick auf den Hotspot wird die region eingeschaltet.

Das Script sieht dann etwa so aus:

// room script file

function room_a() {
// script for room: Player enters screen (before fadein)
DisableRegion (1); // entspricht 3.
}

function on_mouse_click(int button) {
// called when a mouse button is clicked. button is either LEFT or RIGHT
DisableRegion (1); // entspricht 4.
if ((IsGamePaused() == 0) && (button==LEFT) && (GetCursorMode () == MODE_WALK))
{
string loc_name;
GetLocationName (mouse.x, mouse.y, loc_name);
if (StrComp (loc_name, "Tuere") == 0)
{
EnableRegion (1); // entspricht 5.
}
}
}

function region1_a() {
// script for region1: Player walks onto region
NewRoom (1); // entspricht 2.
}
Sharalamude

Beitrag von Sharalamude »

Code: Alles auswählen

#define LT_HOTSPOT 1 
#define LT_OBJECT 3 

function on_mouse_click(int button) { 
// called when a mouse button is clicked. button is either LEFT or RIGHT 
DisableRegion (1); // entspricht 4. 
if ((IsGamePaused() == 0) && (button==LEFT) && (GetCursorMode () == MODE_WALK)) 
{ 
string loc_name; 
GetLocationName (mouse.x, mouse.y, loc_name); 
int loc_type = GetLocationType (mouse.x, mouse.y); 
if (StrComp (loc_name, "Tür") == 0) {
if (loc_type == LT_OBJECT) 
{ 
NewRoom (7);
}
EnableRegion (1); }
} 
} 
} 
Wunderbar. Nun kommt bloß wieder das Problem mit Objekt und Tür sind gleich benannt, man soll die Tür erst öffnen bevor man durchgehen kann. Also muss das OBJEKT Tür angeklickt werden, um in den nächsten Raum zu gelangen. Der obige Script lässt sich problemlos abspeichern, funktioniert aber nicht. Problem: Der SpieleCharacter gehti mmer noch durch den HOTSPOT Tür. Warum?
Sharalamude

Beitrag von Sharalamude »

achso das andere mit disableregion und so hab ich oben natürlich nicht mitgeschrieben, denn das haut alles hin, was du gesagt hast. das einzige was nicht geht ist halt das mit dem objekt und em hotspot.
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

Setz mal EnableRegion (1); direkt in die nächste Zeile nach NewRoom (7); also in die vorausgehende {}.

Ansonsten erklär nochmal genau den Ablauf, was hast du im Raum, was soll nach Klick wohin passieren bzw. nicht passieren.

Oder schick mir den Raum per eMail, dann schau ich es direkt an.
Sharalamude

Beitrag von Sharalamude »

Jep, es geht... Danke nochmal.
Sharalamude

Beitrag von Sharalamude »

achso was anderes:

Ich hab ein GUI und in diesem sind zwei Textboxen, wenn ich was schreiben will schreibt er dies in beide Textboxen gleichzeitig. Ist es möglich die Textboxen unabhängig voneinander arbeiten zu lassen?
Sharalamude

Beitrag von Sharalamude »

sorry nochmal ich musste eben feststellen das mein lieber spielecharacter garnicht zu region geht sondern sofort bei klick auf das objekt den raum wechselt. sag mir mal bitte deine eMail ich schick dir das game dann mal per agt.

> Bei der ScummBar ( Room 6 ) die Tür ist die Tür, um die es hier die ganze Zeit geht.

Ich hoffe desweiteren das es klar ist, das dieses unveröffentlichte grad angefangene Spiel weiterhin unveröffentlicht bleibt und nicht weitergegeben wird.

Also, deine eMail-Adresse, please
a-v-o
Süßwasserpirat
Süßwasserpirat
Beiträge: 258
Registriert: 22.09.2002, 21:28
Kontaktdaten:

Beitrag von a-v-o »

unter meinen Artikeln ist zwar ein eMail-Knopf... :shock:

a-v-o@web.de

BTW: Du bist nicht der Einzige, dem ich beim Scripten helfe. Ich habe ein paar unveröffentlichte Spiele von anderen und habe auch nicht vor, diese zu veröffentlichen oder irgendwem zu geben.
Sharalamude

Beitrag von Sharalamude »

Schon klar, aber ich wollt's nur nochmal gesagt haben, also, die Mail ist gleich weg...
Antworten