Hilfe/Frage zum playSound

  • Hallöle,

    Ich habe eine kleine Frage ich habe folgende Warning-Meldungen:


    Wieso und warum kommt dieser Fehler oder eher gesagt Warnung? Wie könnte ich ihn korrigieren?


    Dies ist mein Code:

    Das Script funktioniert einwandfrei bzw. es macht was es machen muss aber jedoch hab ich sehr viel Spam Meldungen im Debugscript 3.

    Ich hoffe ihr könnt mir helfen ;)

    Kenne mich sehr gut mit "Vio Extended" und "Vio Ultimate" aus.


    Scripter von Istanbul Reallife

    3 Mal editiert, zuletzt von Arafat ()

  • Was ist denn dein Ziel? Soweit ich das verstehe spielt dein Script einen Sound ab, und eine andere Funktion checkt (vermutlich immer wieder) ob der Sound fertig ist, destroyed ihn und startet ihn wieder.

    Warum so umständlich?

    Lua
    playSound( string soundPath, [ bool looped = false, bool throttled = true ] )

    Wenn du bei playSound einfach das zweite Argument auf true stellst, brauchst du nicht den Sound immer wieder neustarten. Wenn der Sound aufhören soll, musst du lediglich das Element destroyen.

  • Ich möchte einen Sound abspielen welches nach dem beenden vom Sound sich wiederholt.


    Was ist denn dein Ziel? Soweit ich das verstehe spielt dein Script einen Sound ab, und eine andere Funktion checkt (vermutlich immer wieder) ob der Sound fertig ist, destroyed ihn und startet ihn wieder.

    Warum so umständlich?

    Lua
    playSound( string soundPath, [ bool looped = false, bool throttled = true ] )

    Wenn du bei playSound einfach das zweite Argument auf true stellst, brauchst du nicht den Sound immer wieder neustarten. Wenn der Sound aufhören soll, musst du lediglich das Element destroyen.

    Auf dieser Art klingt wird der Sound sehr oft hintereinander abgespielt das liegt sehr wahrscheinlich an der funktion die ich habe es ist in einer Bedingung eingebaut und naja ich möchte es "normal" hintereinander abspielen lassen. Aber ich danke dir sehr. Leider funktioniert es nicht so einfach.

    Kenne mich sehr gut mit "Vio Extended" und "Vio Ultimate" aus.


    Scripter von Istanbul Reallife

    Einmal editiert, zuletzt von Arafat ()

  • Auf dieser Art klingt wird der Sound sehr oft hintereinander abgespielt das liegt sehr wahrscheinlich an der funktion die ich habe es ist in einer Bedingung eingebaut und naja ich möchte es "normal" hintereinander abspielen lassen. Aber ich danke dir sehr. Leider funktioniert es nicht so einfach.

    Arafat Wenn du uns die ganze Funktion mitsamt den Bedingungen sowie den Sound ansich bereitstellst, kann man dir bestimmt mehr helfen, als nur raten zu können.

    Einmal editiert, zuletzt von SlliX ()

  • Sllix hast du kurz Zeit auf meinem Ts zu kommen? Connecte bitte einfach auf den Ts: mafia06

    Kenne mich sehr gut mit "Vio Extended" und "Vio Ultimate" aus.


    Scripter von Istanbul Reallife

  • Das Problem ist, dass destroyElement das Element zwar löscht, aber den Inhalt der Variable xy nicht leert (also auf nil setzt).

    Das kannst du daran sehen, dass "userdata..." ausgegeben wird, wenn du outputDebugString(tostring(xy)) ausführst.


    Es gibt 2 Möglichkeiten dieses Problem zu lösen:

    1. Du setzt xy = nil, nachdem destroyElement aufgerufen wurde.
    2. Du erweiterst die Prüfung auf "Existenz von xy" um eine Prüfung mit isElement(xy). Damit überprüfst du, ob der verwaiste Wert noch gültig ist.

    Die erste Lösung ist die saubere, die zweite Variante ist aber auch recht häufig zu finden.

  • Das Problem ist, dass destroyElement das Element zwar löscht, aber den Inhalt der Variable xy nicht leert (also auf nil setzt).

    Das kannst du daran sehen, dass "userdata..." ausgegeben wird, wenn du outputDebugString(tostring(xy)) ausführst.


    Es gibt 2 Möglichkeiten dieses Problem zu lösen:

    1. Du setzt xy = nil, nachdem destroyElement aufgerufen wurde.
    2. Du erweiterst die Prüfung auf "Existenz von xy" um eine Prüfung mit isElement(xy). Damit überprüfst du, ob der verwaiste Wert noch gültig ist.

    Die erste Lösung ist die saubere, die zweite Variante ist aber auch recht häufig zu finden.

    Leider funktioniert das nicht :/

    Kenne mich sehr gut mit "Vio Extended" und "Vio Ultimate" aus.


    Scripter von Istanbul Reallife

    Einmal editiert, zuletzt von Arafat ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!