Cutscene beenden

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Anima
Frischling
Frischling
Beiträge: 7
Registriert: 26.07.2010, 19:12
Wohnort: Berlin

Cutscene beenden

Beitrag von Anima »

Hallo ihr da draußen^^

Ich habe grad eine Cutscene erstellt, die wie folgt lautet:

StartCutscene(eSkipESCOnly); {
character[BERNARD].Walk(270, 133);
FaceDirection (GetPlayerCharacter (), DIR_DOWN);
DisplaySpeech (GetPlayerCharacter(),"Ist heute ein schöner Tag.");
EndCutscene();
}

Aber irgendwo muss da ein Fehler drin sein. Denn sie läuft zwar einwandfrei, aber dafür ununterbrochen^^ Also wenn sie ein Mal abgespielt wurde, gehts wieder von vorn los usw. usf. Wenn man sie mit ESC beenden will, startet sie auch wieder von neuem. Könnt ihr mir bitte sagen, wie man sie korrekt beendet, also welcher Script-Befehl dafür erforderlich ist?

Vielen Dank für eure Hilfe im Voraus!
Always look on the bright side of life! 8)
pikubik
Verpackungs-Wegwerfer
Verpackungs-Wegwerfer
Beiträge: 76
Registriert: 09.04.2006, 17:51
Kontaktdaten:

Re: Cutscene beenden

Beitrag von pikubik »

Wo im Script hast du denn den Befehl?

wenn er in repeatedly executed ist, ists klar das es immer wieder kommt...
--> am ende den wert einer variable ändern und vorher abfragen welchen wert sie hat:

Code: Alles auswählen

bool cutscene; // am Anfang des Scripts um die Variable zu deklarieren (müsste automatisch auf "false" gestellt sein

if (cutscene == false) { 
//Dein Script hier rein!
cutscene = true; // am Ende noch eistellen das die Scene schon gelaufen ist
}
Ich hoff das hilft die weiter...
falls die Szene kommt wenn du zum ersten Mal einen Raum betrittst kannst du es auch in "first time enters room" stellen, dann kannst du dir das mit der variable sparen ;)

statt "bool" kannst du auch "int" verwenden, da musst du dann halt nen zahlenwert zuweisen und abfragen
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Cutscene beenden

Beitrag von KhrisMUC »

Hi Anima, verwendest Du ein Tutorial?

Die sind nämlich teilweise extrem veraltet; statt

Code: Alles auswählen

DisplaySpeech (GetPlayerCharacter(),"Ist heute ein schöner Tag.");
kann man inzwischen das wesentlich schönere

Code: Alles auswählen

  player.Say("Ist heute ein schöner Tag.");
verwenden.
Use gopher repellent on funny little man
Benutzeravatar
Anima
Frischling
Frischling
Beiträge: 7
Registriert: 26.07.2010, 19:12
Wohnort: Berlin

Re: Cutscene beenden

Beitrag von Anima »

Hallo allerseits!

Vielen Dank für eure Antworten! Inzwischen habe ich es endlich geschafft, mein erstes Intro zu erstellen *freu* Das heißt, fast... Ein Problem wäre da noch: Welchen Script-Befehl muss ich bei der Cutscene eingeben, damit der Character die Tür von allein öffnet (kann ihn ja während der Zwischensequenz nicht mit Any-click-on-character steuern, wenn ich das richtig sehe, weil er wird ja nicht angeklickt, sondern die Cutscene wird wie ein Film abgespielt)? Wie kann ich es also machen, dass die Tür von allein aufgeht, der Character aus dem Raum verschwindet und die Tür anschließend wieder hinter ihm ins Schloss fällt?
Always look on the bright side of life! 8)
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Re: Cutscene beenden

Beitrag von KhrisMUC »

Grundsätzlich musst Du nur das Objekt, dass die Tür offen zeigt, anschalten, und danach wieder aus.
Any_click_on_door ist ja dafür gedacht, den Zustand der Tür permanent zu ändern oder z.B. falls sie verschlossen ist, das dem Spieler mitzuteilen.

Wenn die Tür zu Beginn der Cutscene also in jedem Fall zu, aber nicht verschlossen ist, dann reicht das:

Code: Alles auswählen

  player.Walk(233, 120, eBlock);
  player.FaceDirection(DIR_UP);
  PlaySound(..);  // Öffnen-Sound abspelen
  object[2].Visible = true;   // Tür öffnen
  Wait(10);
  player.Walk(233, 100, eBlock);
  player.x = 500; // player verschwinden lassen
  PlaySound(..);  // Schließen-Sound abspelen
  object[2].Visible = false;   // Tür schließen
  Wait(10);
  EndCutscene();
  player.ChangeRoom(7, 120, 100);
(Alle Zahlen natürlich beliebige Beispielwerte.)
Use gopher repellent on funny little man
Benutzeravatar
Anima
Frischling
Frischling
Beiträge: 7
Registriert: 26.07.2010, 19:12
Wohnort: Berlin

Re: Cutscene beenden

Beitrag von Anima »

Danke! Hat alles geklappt :)
Always look on the bright side of life! 8)
Antworten