DJ Anlage im Alhambra

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
  • Hallo leute,


    ich wollte im Alhambra eine DJ Anlage machen, sodass wenn der DJ eine Musik auswählt auch die anderen die hören.

    So sieht der Code aus:


    if(dialogid == DJ1)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    if(listitem == 0)//Hits
    {
    if(IsPlayerInRangeOfPoint(playerid,40.0,486.9789,-14.8354,1000.6797))
    {
    PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/dsl.pls");
    Musikplays = 1;
    }
    }
    if(listitem == 1)//Techno
    {
    if(IsPlayerInRangeOfPoint(playerid,40.0,486.9789,-14.8354,1000.6797))
    {
    PlayAudioStreamForPlayer(playerid, "http://listen.housetime.fm/dsl.pls");
    Musikplays = 2;
    }
    }
    if(listitem == 2)//House
    {
    if(IsPlayerInRangeOfPoint(playerid,40.0,486.9789,-14.8354,1000.6797))
    {
    PlayAudioStreamForPlayer(playerid, "http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u");
    Musikplays = 3;
    }
    }
    if(listitem == 3)//Aus
    {
    if(IsPlayerInRangeOfPoint(playerid,40.0,486.9789,-14.8354,1000.6797))
    {
    StopAudioStreamForPlayer(playerid);
    Musikplays = 0;
    }
    }
    }
    }


    Das Problem ist jetzt, bei mir kommt jetzt 3 mal die Meldung bzw so viel mal wie viel Spieler im Alhambra sind, dass die Musik abgespielt wird.

    Und die Spieler hören garnichts, außerdem laggt es dann stark, könnt ihr mir eventuell weiter helfen?


    MfG


    Advanced

  • Du spielst ja die Musik nur für den Spieler/DJ ab.
    Nicht für alle..
    Du könntest abfragen ob der Spieler in der Nähe von den Musikanlagen ist und dort dann immer Musikplays abfragen und für 0,1,2,3 die Streams abspielen.

  • Du musst das mit ner schleife regeln ^^


    Ganz oben:


    new bool:ImAlahmbra[MAX_PLAYERS];


    wenn der Spieler dann ins Alahmbra rein geht setzt du die Variable auf 1.. & wenn er raus geht auf 0 & stopst den Stream..
    (Musst aber beim betreten auch die Musik für den Spieler abspielen.. in sofern Musikplays auf 1 ist..


    if(dialogid == DJ1)
    {
    new i;
    if(response){
    for(; i<MAX_PLAYERS; i++){
    if(IsPlayerInRangeOfPoint(i,40.0,486.9789,-14.8354,1000.6797)){
    switch(listitem){
    case 0:{//Hits{
    PlayAudioStreamForPlayer(i, "http://listen.technobase.fm/dsl.pls");
    Musikplays = 1;
    }
    case 1:{//Techno
    PlayAudioStreamForPlayer(i, "http://listen.housetime.fm/dsl.pls");
    Musikplays = 2;
    }
    case 2:{//House
    PlayAudioStreamForPlayer(i, "http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u");
    Musikplays = 3;
    }
    case 3:{//Aus
    StopAudioStreamForPlayer(i);
    Musikplays = 0;
    }
    }
    }
    }
    }
    }
    }


    Edit: Code überarbeitet
    Edit: Ka warum der Code gerade so schei** eingerückt ist lässt sich aber nicht normal einrücken :pinch: