Alter : 29 Ort : In einem gaaaaanz kleinen Kaff in Austria Anmeldedatum : 21.03.09
Thema: Musik in Clonk Sa Jan 09, 2010 4:20 pm
die Musik Joa so ne gute Musik ist immer praktisch, aber was machen wenn ich nicht will das z.B. eine Musik die am Ende kommen soll nicht zufällig irgendwann kommt? Hier wird ihnen geholfen. Vorkenntnisse: ganz einfache Scriptbefehle ein Szenario erstellen
Schwierigkeitsgrad: *****
Bevor wir uns nun den Befehlen widmen, ein paar grundlegende Wörter zur Musik in Clonk. Clonk kennt prinzipiell 2 Dateiformate nämlich .mid und .ogg. Wer nichts mit diesen Namen anfangen kann, dem erkläre ich es hier ein bisschen. .mid ist eine ziemlich kleine Datei, die bis Clonk Endeavour als Standard verwendet wurde. Dieses Format kann aber nur Noten und die dazugehörigen Instrumente speichern. .ogg dagegen ist so ähnlich wie mp3, kann also jeden Ton speichern, ist aber größer als .mid . Außerdem wird sie in Clonk Rage häufig verwendet. es gibt jedoch auch .xm, .it und .mod, aber auf die will ich jetzt nicht näher eingehen, .mid und .ogg reichen wohl aus
Nun schaun wir uns mal den Befehl Music() an. Was der macht kann man sich wohl denken, er spielt ein Musikstück ab, genau. Natürlich muss es eines sein, das in der Music.c4g oder im Szenario selbst enthalten ist. Die Doku sagt uns:
int Music (string szSongName, bool fLoop);
das bedeutet, zuerst muss der Songname in Anführungszeichen und mit Dateiendung geschrieben werden, danach 0 (= Song wird einmal abgespielt) oder 1(=Song wird auf ewig wiederholt). In der Praxis sieht das dann so aus:
Dieser Script spielt am anfang des Szens immer und immer wieder den Clonk-Titelsong ab. Auch aktiviert der Befehl Music() automatisch die Musikwiedergabe die man mit f3 abschalten kann. Notiz: wenn vor dem Namen des Musikstückes ein @ ist, kann dieses Lied nur mit dem Befehl Music() abgespielt werden. Von der normalen Playlist wird es ignoriert
So nun widmen wir uns dem Befehl MusicLevel()
int MusicLevel (int iLevel);
Dieser Befehl ist einfach, man setzt einfach die Lautstärke der Musik fest. 100 ist die normale Lautstärke, 50 halbe usw.
dieser Script spielt am Anfang des Szens immer und immer wieder den Clonk-Titelsong in halber Lautstärke ab.
So nun kommen wir zu einem Befehl, der etwas schwieriger ist.
int SetPlayList (string szPlayList);
mit SetPlayList kann man die Abspielliste der Musik verändern. Standardmäßig wird jedes Lied außer die mit einem @ beginnen in zufälliger Reihenfolge abgespielt. Anders als bei Music() wird die Musikausgabe NICHT aktiviert wenn dieser Befehl ausgeführt wird. die Songs werden in Anführungszeichen angeschrieben und mit einem ; getrennt