Maniac Mansion Mania Forum

MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Champ am 27. September 2010, 08:01:05

Titel: Zwischenzequenzen
Beitrag von: Champ am 27. September 2010, 08:01:05
Jep, das heißt ich bräuchte in AGS noch sehr viel Übung!
Zwischenzequenzen, wie macht man die?
Man muss anscheinend das GUI und den Cursor ausschalten.
Aber wie geht der Befehl, dass es gleich nach dem Tietel passiert?
Titel: Re: Zwischenzequenzen
Beitrag von: Bòógieman am 27. September 2010, 08:25:34
GUI ausschalten entweder mit GUIOff(nummer) oder bei neueren ags gleich mit dem namen des GUI zB gInventar.Visible = false;
dabei reicht es, wenn man GUI 0 und 1 ausblendet

cutscene ansich sind einfach nur mehrere befehle in einem script
also zB bei look_at auf einem hotspot machst du statt einem kommentar einfach mehrere befehle und schaltest vorher und nachher das GUI um

mit StartCutScene und EndCutScene kann man bereiche definieren, die der spieler zB mit ESC überspringen kann

beispiel aus dem gedächtnis, muss also nicht 100% stimmen ;)
...
if(UsedAction(A_LOOK_AT))
{
  StartCutScene(eRightMouseButton);
  GUIOff(0);
  GUIOff(1);
  player.Say("Das ist eine sehr kurze Cutscene, die man mit der rechten Maustaste überspringen kann.");
  GUIOn(0);
  GUIOn(1);
  EndCutScene();
}
...

cutscenes wie in MM, die unabhängig von den spieleraktionen erst nach einer gewissen zeit starten, benötigen nen globalen timer und die globale rep_exec
Titel: Re: Zwischenzequenzen
Beitrag von: Domi am 27. September 2010, 08:29:43
es gibt auch eSkipECSonly das benutz ich immer in mmm filmen^^

Zitat
function room_FirstLoad()
{
  StartCutscene(eSkipESCOnly);
player.Say("Hi leute Was geht ab oder so.");
cMichael.FaceCharacter(player, eBlock);
cBernard.Walk(648, 137, eBlock, 0);
cMichael.Say("Ähm bernard wir warten auf die Raketen.");
player.Say("Oh! mist die habe ich ganz vergessen");
cBernard.Walk(705, 127, eBlock, 0);
NewRoomEx(12, 523, 113);
EndCutscene();
}


HIER was es noch gibt:
eSkipanykey
"ormouseclick
USW...


Aber wie geht der Befehl, dass es gleich nach dem Tietel passiert?:
du musst guioff (oder gmaingui.visible=false;) in enters room before fadein setzen (startbildschirm ist 16 bei ags272 und room 1 bei ags 3.1.2 den ich verwende ^^)
Titel: Re: Zwischenzequenzen
Beitrag von: Helli78 am 27. September 2010, 14:31:53
[quote author=ThedomiB link=topic=1604.msg31233#msg31233 date=1285568983]
es gibt auch eSkipECSonly das benutz ich immer in mmm filmen^^

[quote]function room_FirstLoad()
{
  StartCutscene(eSkipESCOnly);
player.Say("Hi leute Was geht ab oder so.");
cMichael.FaceCharacter(player, eBlock);
cBernard.Walk(648, 137, eBlock, 0);
cMichael.Say("Ähm bernard wir warten auf die Raketen.");
player.Say("Oh! mist die habe ich ganz vergessen");
cBernard.Walk(705, 127, eBlock, 0);
NewRoomEx(12, 523, 113);
EndCutscene();
}
[/quote]
.....^)
[/quote]

Kann es sein, das du gerade dein ganzes Sylvester-Special offen dargelegt hast?  ;D ;D ;D
(Und uns somit gleichzeitig die Super-Überraschung verdorben hast!?)
Titel: Re: Zwischenzequenzen
Beitrag von: Domi am 27. September 2010, 14:39:10
DAMN! son mist ^^
aber das ist nur 1 cutscene von 39 bis jetzt^^