llCollisionSound... Klappt nicht...?

Kxirya Weytana
Kxirya Weytana
 Member in Create & Objects
Huhu zusammen,

wir haben auf der Region, welhe unter 0.9.1 auf Windows läuft ein kleines Problem.

Das Kommando [b]llCollisionSound("", 0);[/b] sollte eben diesen abschalten. Genau das tut er aber nicht. Stattdessen kommt jedes mal der typische "Bömps" Sound, wenn man gegen ein Phantomobjekt stößt.

Abhilfe?

Sagt jetzt bitte nicht "Auf 0.8.x downdaten".
Das geht nicht, weil zu viele unserer Scripte von den Funktionen der 0.9´er Gebrauch machen.

Danke im Voraus und Grüße,

Kxìrya te Weytana Nllteya'ite

Comments

  • Pius Noel
    Pius Noel
     Member
    Normalerweise sollte bei einer Kollision mit Phantomobjekten gar kein Sound sein. Mit welchem Viewer und welcher Physics Engine hast du das Problem?

    Auf einer meiner Regionen im OSGrid scheint das (mit oder ohne Script) zu funktionieren. Sie ist allerdings eine etwas ältere OpenSim 0.9.1 Entwickler-Version vom Oktober 2017 mit BulletSim und läuft unter Linux. Getestet habe ich mit Firestorm.

    Ich erinnere mich aber, dass es mit dem Collision Sound und llCollisionSound in früheren Versionen von 0.9.x zumindest mit ubODE Probleme gegeben hat.
  • Kxirya Weytana
    Kxirya Weytana
     Member
    Ich habe Firestorm 5.0.11 und Bullet. SIM Version ist 0.9.1.

  • Pius Noel
    Pius Noel
     Member
    Hmmm... dann werde ich später im Lauf der Woche mal mit einer aktuelleren Version unter Linux und Windows testen.
  • Pius Noel
    Pius Noel
     Member
    Sorry für meine verspätete Antwort. Ich bin leider nicht früher dazugekommen. Bei mir verhält es sich auch unter Windows genau gleich. Getestet habe ich mit OpenSim 0.9.1.0 Dev  24df108 (Win/.NET). 

    Ich habe mit gewöhnlichen freistehenden Wänden getestet, also nichts verlinkt oder dergleichen. Die Objekte hatten die Grössen <4.00404, 0.20000, 2.78266> und <2.00000, 0.20000, 1.50000>.

    War das Objekt normal und ohne Script, dann hatte ich den typschen "Bömps" Sound, wenn ich gegen die Wand gelaufen bin. Hatte ich das Script mit Leerstring drin, dann war der Sound weg. Hatte ich noch einen eigenen Sound dazugefügt, dann konnte ich den Sound mit dem Parameter ImpactVolume zusätzlich steuern.

    War das Objekt Phantom, dann hatte ich keinen Sound, egal ob mit oder ohne Script. In diesem Fall hat das Script absolut keinen Einfluss. 

    Bist du sicher, dass nicht irgendwo noch ein verstecktes Prim rumliegt mit dem du kollidierst?

    Ich hoffe du findest noch eine Lösung.

    Gruss Pius
  • Kxirya Weytana
    Kxirya Weytana
     Member edited June 6
    Moin, Pius.
    Sorry für meine verspätete Antwort...

    Kein Ding.


    Ich habe Pilze auf der SIM (selbe Version, die Du benutzt), die, wenn man sie berührt, anfangen zu leuchten, ebenso wie Pflanzen, die sich bei Berührung zusammenziehen (über llVolumeDestect)
    Diese, aber auch andere (echte Phantom) Objekte machen das gleiche: "BUMMMP" beim dagegen latschen.

    Aber Du bringst mich auf etwas XD
    Ich setze einfach einen Sound (ein stilles Wave von 1 Sek. Länge) und spiele das mit ImpactVolume 0 ab XD
    Vielleicht kann ich das System ja so "überlisten"? XD :P



    Ich habe aber noch etwas festgestellt, an dem ich etwas verzweifle, was den Sound angeht:

    Wenn ich in einem Prim einen Sound abspiele (llPlaySound ,  TriggerSound oder TriggerSoundLimited), klappt das perfekt, nur klappt "llStopSound()" komischerweise nicht, während ein Ton abgespielt wird.

    Bevor ich aber laut meckere, muss ich dazu erst noch was testen, denn bei dem Objekt, das diesen Sound abspielt, handelt es sich um ein Display, auf dem per Dynamic Textures Texte und Buttons angezeigt werden und über eine Abfrage dieser "dynamisch generierten" Buttons starte und stoppe ich u.A. den Sound. Könnte ja sein, dass es mit dem Anklicken des Objektes zu tun hat, dass der Sound nicht stoppt.

    Auf alle Fälle danke für Deine Antwort, Pius.

    Kxìrya te Weytana Nllteya'ite
  • Kxirya Weytana
    Kxirya Weytana
     Member edited June 20
    Kaltxì ma frapo oder hallo alle zusammen,

    nach einigen Tests habe ich nun herausgefunden, was der Grund dafür ist, dass "llCollisionSound("", 0)" SCHEINBAR nicht das tut, was man (oder sollte ich besser sagen ich?) erwartet habe und was bisher auch an sich immer funktioniert hat: Dieses blöden "Bööömp" Sound, der entsteht, wenn man gegen ein Objekt läuft, abzuschalten.

    Nach einigen Versuchen habe ich jetzt die "bahnbrechende" (hüstel) Erkenntnis gewonnen, dass man den Kollisionston IN JEDEM PRIM (bei verlinkten Objekten) abschalten muss. Es reicvht NICHT aus, nur das Rootprim tot zu schalten.

    Wer sich das ausgedacht hat - und mit welcher Begründung... Na ja... XD

    Daher hier für alle ein kleines Script, das (per "verlinkte Teile bearbeiten") in jedes Prim hinein gelegt werden kann und das dann diesen Sound abschaltet und sich danach selbstständig löscht.
    Dies klappt jedoch nur, wenn Ihr die Rechte habt, das Objekt zu bearbeiten.

    default
    {
        state_entry()
        {
            llCollisionSound("", 0);
            llRemoveInventory(llGetScriptName());
        }
    }

    Grüße,

    Kxirya.
Sign In or Register to comment.

Welcome

It looks like you're new here. If you want to get involved, click one of these buttons!

Discussions

© Copyright 2017 - Metropolis Metaversum
All times are GMT