• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Typingsound mit lautstärken einstellung.

Gustel Gans

Nutzer
hallo zusammen ich verzweifel ich versuch nun schon seit ein paar tagen einen typingsound zu machen den ich per chatbefel in der lautstärke anpassen kann.

mein Problem den code kann ich nicht freigeben da ich ihn in auftrag gegeben habe und er mir kosten verursachte, also kein free script ist.

der Scripter der mir den code schrieb hat aber aufgrund des RL SL verlassen.

nach meinen experimenten habe ich es zwar geschafft, den chatbefehl zu erzeugen die lautstärkenregelung an sich klappt jedoch spielt sobald ich es eingebe das script die soundfile permanent.


Code:
{
    state_entry()
 {
        llOwnerSay ("Type /42 0.0 to 1 for Volume controll");
        llListen(42, "", llGetOwner(), "");
.
.
.
.}
 timer()
    {

    if((llGetAgentInfo(llGetOwner()) & AGENT_TYPING) && !ownerTyping);
    }
    
             listen(integer chan, string name, key id, string msg)
 {
             float value = (float)msg;
             llAdjustSoundVolume(value);
             llOwnerSay("Volume set to: " + (string)value + " of 1.0");
.
.
.
}

sieht also ungefähr so aus kann mir da jemand helfen?

oder liegt es daran das ich den befeh getrennt habe da ich ja mit diesem code erweitern wollte
Code:
default
{
    state_entry()
    {
        llListen(42, "", llGetOwner(), "");
    }
 
    listen(integer chan, string name, key id, string msg)
    {
        float value = (float)msg;
        llAdjustSoundVolume(value);
        llOwnerSay("Volume set to: " + (string)value + " of 1.0");
    }
}
 
Zuletzt bearbeitet:
Kurze Antwort, ja es liegt daran, WIE du den Code da reingefrimelt hast. Durch das schliessen mit der Klammer bei timer() nach der "If" abfrage hast du das die Funktion unbrauchbar gemacht, sie wird einfach nicht mehr ausgeführt. In dem Originalscript kommt mit Sicherheit nach dieser IF abfrage der Befehl für's abspielen für den Sound, entweder: llTriggerSound( string sound, float volume ); oder llPlaySound ( string sound, float volume );

Im state_entry den Listener einrichten ist soweit korrekt.

Den Teil mit dem timer darfste aber nur soweit verändern, dass du den Wert, den du in dem listener Event bekommst (also im Chat eingibst) übergibst. Dazu legste eine globale varibale fest, die im Listener event vorhanden sein muss, der einfachheithalber schon im listener event benutzt und dann in dem llPlaysound/llTrigerSound befehl statt des warscheinlich festen wertes von 1.0 (float volume) benutzt wird.

Wenn du jetzt nur Bahnhof verstehst, werd ich mal den Code hier noch reinhauen. Einfach mal bescheid rufen ;)
 

Users who are viewing this thread

Zurück
Oben Unten