playersound ausschalten

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,


    wie kann man die Playersound ausschalten ?
    Wenn ich einen Sound für die Türen einfüge und einen für das Tor höre ich bei beiden nur den Sound von der Tür.


    stock SoundAbspielen(playerid,soundid,Float:X,Float:Y,Float:Z,radius)
    {
    if(sInfo[playerid][pEingeloggt] == 1)
    {
    if(IsPlayerInRangeOfPoint(playerid,radius,X,Y,Z))
    {
    PlayerPlaySound(playerid, soundid, X, Y, Z);
    SetTimerEx("StopSound",100,false,"i",playerid);
    }
    }
    return 1;
    }


    public StopSound(playerid)
    {
    PlayerPlaySound(playerid, 1027, 0.0, 0.0, 0.0);
    PlayerPlaySound(playerid, 1036, 0.0, 0.0, 0.0);
    return 1;
    }

  • Die Funktionen an sich passen, allerdings stellt sich mir die Frage wo der Sinn ist, dass du StopSound nach 100ms aufrufst, das ist eine Zehntel Sekunde, da hörst du eigentlich gar nichts.


    Poste mal den Code mit dem du den Sound für Tor und Türe starten lässt, also der Teil der SoundAbspielen aufruft.
    Und erkläre bitte was du mit dem kurzen Timer bezwecken willst.

  • Was wäre dann eine gute Zeit ?


    Und außerdem höre ich etwas aber leider höre ich nur den Sound der Türen und nicht von dem Tor


    ocmd:mv(playerid,params[])
    {
    new Float:X,Float:Y,Float:Z;
    if(sInfo[playerid][pTot] == 1)return SendClientMessage(playerid,COLOR_GRAU,"Tote können keine Befehle benutzen!");
    if(sInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt!");
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(playerid,10,323.41470, -1190.90723, 78.11450))
    {
    if(isFrakt(playerid,4))
    {
    if(Yaktorvar == 0)
    {
    Yaktorvar = 1;
    MoveObject(Yaktor,323.41470, -1190.90723, 68.11450,5);
    SoundAbspielen(playerid,1036,X, Y, Z,10);
    }
    else if(Yaktorvar == 1)
    {
    Yaktorvar = 0;
    MoveObject(Yaktor,323.41470, -1190.90723, 78.11450,5);
    SoundAbspielen(playerid,1036,X,Y,Z,10);
    }
    }
    }
    return 1;
    }


    Er soll ja auch nach einer gewissen Zeit den Sound von dem Spieler stoppen sonst würde das ja die ganze zeit laufen oder nicht ?

  • Schau mal, du startest beides mal die 1036. Deshalb kommt beides mal das gleiche.


    Eine gute Zeit wäre die Zeit, die das Tor braucht um zu öffnen, allerdings kannst du dir den Timer sparen, wenn der Sound sich sowieso automatisch beendet, also lasse den Timer erst mal weg.

  • Das war vom Tor beides soll gleich sein


    ocmd:flock(playerid,params[])
    {
    if(sInfo[playerid][pTot] == 1)return SendClientMessage(playerid,COLOR_GRAU,"Tote können keine Befehle benutzen!");
    if(sInfo[playerid][pEingeloggt] == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt!");
    new Float:X,Float:Y,Float:Z;
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(isFrakt(playerid,3))
    {
    GetVehiclePos(GSCar[i],X,Y,Z);
    GetVehicleParamsEx(GSCar[i],engine,lights,alarm,doors,bonnet,boot,objective);
    if(IsPlayerInRangeOfPoint(playerid,5.0,X,Y,Z))
    {
    if(doors == 1)
    {
    SetVehicleParamsEx(GSCar[i],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    doors = 0;
    GameTextForPlayer(playerid,"~w~Gangcar~n~~g~Aufgeschlossen",2000,6);
    SoundAbspielen(playerid,1027,X,Y,Z,5);
    return 1;
    }
    else if(doors == 0)
    {
    SetVehicleParamsEx(GSCar[i],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    doors = 1;
    GameTextForPlayer(playerid,"~w~Gangcar~n~~r~Abgeschlossen",2000,6);
    SoundAbspielen(playerid,1027,X,Y,Z,5);
    return 1;
    }
    }
    }
    else if(isFrakt(playerid,4))
    {
    GetVehiclePos(YakCar[i],X,Y,Z);
    GetVehicleParamsEx(YakCar[i],engine,lights,alarm,doors,bonnet,boot,objective);
    if(IsPlayerInRangeOfPoint(playerid,5.0,X,Y,Z))
    {
    if(doors == 1)
    {
    SetVehicleParamsEx(YakCar[i],engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective);
    doors = 0;
    GameTextForPlayer(playerid,"~w~Mafiacar~n~~g~Aufgeschlossen",2000,6);
    SoundAbspielen(playerid,1027,X,Y,Z,5);
    return 1;
    }
    else if(doors == 0)
    {
    SetVehicleParamsEx(YakCar[i],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    doors = 1;
    GameTextForPlayer(playerid,"~w~Mafiacar~n~~r~Abgeschlossen",2000,6);
    SoundAbspielen(playerid,1027,X,Y,Z,5);
    return 1;
    }
    }
    }
    }
    return 1;
    }


    Aber bei diesem Befehl höre ich das gleiche

  • Funktioniert es, wenn du einfach direkt
    PlayerPlaySound(playerid, soundid, X, Y, Z);
    nutzt?


    Dein stock gibt ja so gesehen keinen Sinn mehr, bis auf die Abfrage ob der Spieler eingeloggt ist.
    Und du bist dir sicher, dass beide Töne wirklich unterschiedlich sind? Hast du es mal mit anderen IDs versucht?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wenn es nach einer Sekunde stoppen soll 1000, nach zwei 2000, nach drei 3000, usw... Natürlich geht auch jede Zahl dazwischen. Wie lange du es laufen lassen willst bleibt dir überlassen, kannst es ja ausprobieren wie lange es passend ist.