Sounds an bestimmten stellen einfügen.

Halloooo.
Ich möchte an einer bestimmten Stelle, soundeffekte einfügen.
In meinem Fall geht es um Meeresrauschen und Möwengeschrei am Meer.
Kann mir jemand erklären, wie ich dies hinbekomme?
Ich habe schon überall nach einer Lösung gesucht :confused:

Online-Dokumentation:
http://clonk.de/docs/de/sdk/script/fn/Sound.html
http://clonk.de/docs/de/sdk/script/fn/SoundLevel.html

Gemäß der Dokumentation wird man ein Hilfsobjekt erstellen müssen. Dieses am Meer platzieren und den Sound abspielen lassen.

Präzise scripttechnische Hilfe können dir erfahrenere Scripter geben. :slight_smile:

Würde das auch einfacher gehen?
Also zum Beispiel wenn ich aktiv im Entwicklermodus bin.
Also Level im Entwicklermodus starten und dann Rechtsklick -> Eigenschaften -> ??? und so iwie einen Sound einfügen?

Du kannst im Entwicklermodus ein Objekt (z.B. eine Muschel) einfuegen und dann im Eigentschaftsfenster mit ScheduleCall den Sound immer wieder abspielen lassen. Bonuspunkte wenn ein Spieler spaeter die Muschel findet und das Meeresrauschen mit nach Hause nimmt :slight_smile:

Hmm irgendwie funktioniert das nicht.
Ich denke, dass ich irgendwas falsch mache :confused:


Was muss ich denn dort nehmen? :o

Du brauchst die [Sound](http://www.clonk.de/docs/de/sdk/script/fn/Sound.html)-Funktion, um Sounds abzuspielen. Also hier z.B. Sound("SeaSounds1"). Um das mehrfach abzuspielen, kannst du dann die [ScheduleCall](http://www.clonk.de/docs/de/sdk/script/fn/ScheduleCall.html)-Funktion verwenden.

In dem Zusatzfenster, das sich im Entwicklermodus öffnet, wirst du in so einem Fall auch auf Fehler hingewiesen.

Anstelle eines ScheduleCall's kannst du auch ein Loop verwenden:
Sound("SeaSounds", 0, 0, 100, 0, 1)
Der Nachteil dabei ist, das es während der Soundwiedergabe keine Pause gibt.

Also irgendwie will das bei mir nicht funktionieren :frowning:
Ich hab ne Muschel erschaffen und mit rechtsklick -> eigenschaften ->ScheduleCall(SeaSounds1) aber es kommt kein Ton.

Die Sache ist folgendes:
Du musst Sound("soundname"); verwenden, wobei die " ganz wichtig sind, da diese eine Zeichenkette markieren und die Engine weiß, dass du keine Variable oder anderes verwendest.
Das hier musst du in ein Schedule("script"); stecken, also in den String rein. Das ganze wird verschachtelt. Das Problem bei der Sache ist aber, wenn du in einem string ein " einfügst, wird der String vorzeitig beendet, da das eben das zeichen ist, das einen String begrenzt. Dafür muss man das ganze dann mit \ escapen.
Schedule("Sound("soundname")"); ist das, was du willst.

(Schedule() und ScheduleCall() sind übrigens 2 unterschiedliche dinge. Schedule führt eine befehlszeile aus, ScheduleCall nur eine Funktion mit dem Namen. Schedule ist in der Hinsicht praktischer.)

Aber letztendlich macht es mehr Sinn, wenn du dir tatsächlich ein Ambiente-Objekt dafür erstellst.

ScheduleCall (this, "Sound", 40, 100, "SeaSounds*")

spielt 100x alle 40 Frames den SeaSounds-Sound ab. Bin mir gerade nicht 100%ig sicher, ob ScheduleCall mit Enginefunktionen in Clonk Rage schon geht; wenn nicht, musst du doch Schedule nehmen:

Schedule ("Sound("SeaSounds*")", 40, 100, this)

Sound mit Loop setzen und dann speichern bringt wimni nichts, weil Sounds im Szenario nicht gespeichert werden.

Da du da aber eh schon dieses "Sea"-Objekt im Editor offen hast, kannst du vermutlich einfach den Script davon abaendern?

achtuuu was ihr hier alles so schreibt :smiley:
Ich habe überhaupt keine Ahnung von der ganzen Materie, die sich mit scripts undso befassen
Ich hab damals bei clonk Planet das Aussehen von Clonks verändert und kann eigentlich so gut wie garnichts :o

Dann musst du dich entweder damit auseinander setzen oder aber auf deinen Wunsch aus dem Startpost verzichten.

Jaa hätte nicht gedacht, dass das so kompliziert ist :smiley:
Also, es ist wahrscheinlich nicht kompliziert, es wirkt nur so auf mich.

Wo kann man sich denn da mal belesen also als Anfänger?

Ich hab das scripten damals hier gelernt:

http://wiki.nosebud.de/wiki/C4Script-Tutorial/1._Hello_World

Klick dich ein bisschen durch die Links rechts auf unserer Entwicklungs-Seite.