Maniac Mansion Mania Forum
MMM-Werkzeugkiste => Technik => Newbies => Thema gestartet von: Shoben am 21. November 2010, 02:32:29
-
Hi Leute, ich möchte einfach nur für den Anfang eine einfache Cutscene einbauen. Man kommt über den Startbildschrim in den gewünschten Raum und dann passiert aber leider nichts :(. Ich kann dann den Charakter steuern und alles, aber die Cutscene läuft einfach nicht ab. Was mache ich falsch?
// room script file
#sectionend object0_a // DO NOT EDIT OR REMOVE THIS LINE
#sectionstart room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_a() {
// script for Room: First time player enters room
}
#sectionend room_a // DO NOT EDIT OR REMOVE THIS LINE
function room_FirstLoad()
{
StartCutscene(eSkipESCOnly);
DisplaySpeech (GetPlayerCharacter (),"Guten Morgen Ronville.");
EndCutscene();
}
-
Also was denn jetzt?
In AGS 2.x war das so, dass die room_a() Funktion verwendet wurde. Bei AGS 3.x ist es room_FirstLoad().
Bei beiden muss aber die Funktion im Raum festgelegt werden.
-
Also ich habe AGS3, was soll ich denn machen?
-
Hast Du "function room_FirstLoad()" selbst getippt? Oder hat AGS das für Dich erledigt? Falls Ersteres zutrifft, kannst Du lange warten, bis die Funktion aufgerufen wird.
Die korrekte Vorgehensweise ist
-den Raum öffnen
-Blitz-Icon anklicken
-Event anklicken
-[...]-Button anklicken
Nur so ist die Funktion auch mit dem Event verlinkt. Alternativ kannst Du auch den Namen der Funktion (hier: "room_FirstLoad") in das leere Feld neben dem Event schreiben (Gross- und Kleinschreibung nicht egal).
Ansonsten wäre noch zu sagen:
DisplaySpeech (GetPlayerCharacter (),"Guten Morgen Ronville.");
ist alter Code, das geht schon längst so:
player.Say("Guten Morgen Ronville.");
Statt player dann z.B. cSyd, wenn ein NPC was sagen soll.
Da es hier aus unerfindlichen Gründen immer noch einen Menge Leute gibt, die nicht nur den alten Editor sondern sogar noch alten Code verwenden, wäre es zu empfehlen, sich erst mal unabhängig von MMM mit dem neuen AGS vertraut zu machen (aktuelle Version: 3.2).
-
Verstehe garnicht, wo das Problem ist, DisplaySpeech funktioniert doch.
Achja und kann mir jemand mal den Code geben, der richtig wäre, ich
habe das leider nicht so ganz verstanden. ):
--- Blitzicon ???
-
Windows95 funktioniert auch. Benutzt Du es?
Das Blitzicon ist über den Raumeinstellungen in der kleinen Leiste.
Hast Du gerade frisch mit AGS 3 angefangen?
-
Zum Thema alter Code.
Irgendwann wird der nicht mehr unterstützt.
Und wenn du dich jetzt in den alten Code einarbeitest, wirst du dich später wieder umgewöhnen müssen.
Also lerne besser die neue Syntax.
Vieles davon geht auch mit AGS 2.7x.
-
Ich arbeite jetzt seit 1/2 Wochen mit AGS3.2.
Kann mir bitte nur einer sagen, was an dem ocde flasch ist, so dass ich es verstehe?
-
An dem Code ist im Prinzip nix falsch, die Frage ist nur, ob er auch aufgerufen wird.
Ich wiederhole meine Frage:
Hast Du "function room_FirstLoad()" selbst getippt? Oder hat AGS das für Dich erledigt?
So muss es aussehen:
(http://img843.imageshack.us/img843/3880/shoben.png)
-
Eigentlich reicht dieser Teil:
// room script file
function room_FirstLoad() {
StartCutscene(eSkipESCOnly);
player.Say("Guten Morgen Ronville.");
EndCutscene();
}
Allerdings musst du wie gesagt, das Skript im Raum "aktivieren". Dazu rufst du den Raum auf (nicht das Skript!) wählst über der Eigenschaftsliste unten rechts das Blitzicon aus und dort gehst du auf das Feld "First time enters room" und dann auf die drei Punkte.
Dann ist das Skript, genauer die Funktion, "verlinkt" und dir wird wieder das Skript gezeigt. Dann sollte es gehen. ;)
//Edit: Okay KhrisMUC war schneller.
-
Dankeschön :D