Frage zu Radio System

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, habe mal eine Frage zu einem Radio System.
    Wie kann man umsetzen, dass wenn man das Radio im Auto gestartet hat dann aussteigt und wieder einsteigt immer noch an ist.
    Also dass dann der Audio Stream wieder gestartet wird.
    Hoffe mir kann jemand helfen.


    MFG ;)

  • Mit einer Spielervariable:


    Beim einschalten:
    SetPVarInt(playerid, "RadioAn", 1);
    beim ausschalten:
    SetPVarInt(playerid, "RadioAn", 0);


    Beim einsteigen:
    if(GetPVarInt(playerid, "RadioAn") == 1)
    {
    //Stream starten
    }


    Oder äquivalent mit einem Array.

  • Beitrag von .Jonas. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Habe leider massiv bei dem Versuch das Einzubauen gefailt.
    Könnte es mal jemand von euch versuchen das einzubauen? :S
    Wäre total nett von euch!


    Command:
    if(strcmp("/radio", cmdtext, true , 10) == 0)
    if(IsANoMotorVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid, COLOR_RED, "Ein Fahrrad hat kein Radio!");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid, 962, DIALOG_STYLE_LIST, "Radio", "Radio deaktivieren \n I Love Radio \n Breakz.us \n TechnoBase.fm \n I Love Mashup \n 1-Live \n Planet Radio", "Hören", "Abbrechen");
    }


    IsANoMotorVehicle
    IsANoMotorVehicle(carid)
    {
    new model = GetVehicleModel(carid);
    {
    if(model == 481 || model == 509 || model == 510)
    {
    return 1;
    }
    }
    return 0;
    }



    Dialog Response
    if(dialogid == 962)
    {
    if(response)
    if(listitem == 0)
    {
    StopAudioStreamForPlayer(playerid);
    SetPVarInt(playerid, "Pan", 0);
    SetPVarInt(playerid, "1an", 0);
    SetPVarInt(playerid, "IMan", 0);
    SetPVarInt(playerid, "Tan", 0);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "ILRan", 0);
    }
    if(listitem == 1)
    {
    SetPVarInt(playerid, "ILRan", 1);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "Tan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender 'I Love Radio' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://www.iloveradio.de//listen.m3u");
    return 1;
    }
    if(listitem == 2)
    {
    SetPVarInt(playerid, "Busan", 1);
    SetPVarInt(playerid, "ILRan", 0);
    SetPVarInt(playerid, "Tan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender 'Breakz.us' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://breakz.us/radio/listen.m3u");
    return 1;
    }
    if(listitem == 3)
    {
    SetPVarInt(playerid, "Tan", 1);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "ILRan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender 'TechnoBase.fm' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/tunein-dsl-pls");
    return 1;
    }
    if(listitem == 4)
    {
    SetPVarInt(playerid, "IMan", 1);
    SetPVarInt(playerid, "Tan", 0);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "ILRan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender 'I Love Mashup' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://87.230.53.70/iloveradio5.mp3");
    return 1;
    }
    if(listitem == 5)
    {
    SetPVarInt(playerid, "1an", 1);
    SetPVarInt(playerid, "IMan", 0);
    SetPVarInt(playerid, "Tan", 0);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "ILRan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender '1-Live' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u");
    return 1;
    }
    if(listitem == 6)
    {
    SetPVarInt(playerid, "Pan", 1);
    SetPVarInt(playerid, "1an", 0);
    SetPVarInt(playerid, "IMan", 0);
    SetPVarInt(playerid, "Tan", 0);
    SetPVarInt(playerid, "Busan", 0);
    SetPVarInt(playerid, "ILRan", 0);
    SendClientMessage(playerid, 0x0091FFFF, "Du hast den Sender 'Planet Radio' angeschalten!");
    PlayAudioStreamForPlayer(playerid, "http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u");
    return 1;
    }
    else
    {
    return 1;
    }
    }


    OnPlayerEnterVehicle
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetPVarInt(playerid, "Pan") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u");
    }
    if(GetPVarInt(playerid, "1an") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u");
    }
    if(GetPVarInt(playerid, "IMan") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://87.230.53.70/iloveradio5.mp3");
    }
    if(GetPVarInt(playerid, "Tan") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/tunein-dsl-pls");
    }
    if(GetPVarInt(playerid, "Busan") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://breakz.us/radio/listen.m3u");
    }
    if(GetPVarInt(playerid, "ILRan") == 1)
    {
    PlayAudioStreamForPlayer(playerid, "http://www.iloveradio.de//listen.m3u");
    }


    MFG ;)

  • Hey,
    hab dir mal schnell was gebastelt müsste so gehen.
    Dazu solltest du den DialogNamen nutzen und nicht nur die Zahl ist unübersichlich

    enum RadioInfo
    {
    urlname[64],
    url[128]
    };
    new Radio[][RadioInfo] =
    {
    //urlname[64],url[128]
    {"I Love Radio","http://www.iloveradio.de//listen.m3u"},
    {"Breakz.us","http://breakz.us/radio/listen.m3u"},
    {"Technobase.FM","http://listen.technobase.fm/tunein-dsl-pls"},
    {"I Love Mashup","http://87.230.53.70/iloveradio5.mp3"},
    {"1Live","http://www.wdr.de/wdrlive/media/einslive.m3u"},
    {"PlanetRadio","http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u"}


    },
    RadioChannel[MAX_PLAYERS];
    //Der Befehl
    COMMAND:radio(playerid,params[])
    {
    new mainstring[1000],string[128];
    if(IsANoMotorVehicle(GetPlayerVehicleID(playerid)))return SendClientMessage(playerid, COLOR_RED, "Ein Fahrrad hat kein Radio!");
    for(new i=0;i<sizeof(Radio);i++)
    {
    format(string,sizeof(string),"%s\n",Radio[i][urlname]);
    strcat(mainstring,string);
    }
    strcat(mainstring,"Radio Aus");
    return ShowPlayerDialog(playerid,962,DIALOG_STYLE_LIST,"Radio Menu",mainstring,"Auswählen","Abbrechen");
    }
    //Der Dialog
    if(dialogid == 962)
    {
    if(response == 0)return 1;
    if(listitem > sizeof(Radio)-1)return StopAudioStreamForPlayer(playerid),RadioChannel[playerid]=0;
    StopAudioStreamForPlayer(playerid);
    PlayAudioStreamForPlayer(playerid,Radio[listitem][url]);
    RadioChannel[playerid] = listitem+1;
    return 1;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(RadioChannel[playerid] != 0)
    {
    PlayAudioStreamForPlayer(playerid,Radio[RadioChannel[playerid]][url]);
    }
    }


    Edit: Fehler behoben

  • if (strcmp("/radio", cmdtext, true, 10) == 0)
    {
    new mainstring[1000],string[128];
    if(IsANoMotorVehicle(GetPlayerVehicleID(playerid)))return SendClientMessage(playerid, COLOR_RED, "Ein Fahrrad hat kein Radio!");
    for(new i=0;i<sizeof(Radio);i++)
    {
    format(string,sizeof(string),"%s\n",Radio[i][urlname]);
    strcat(mainstring,string);
    }
    strcat(mainstring,"Radio Aus");
    return ShowPlayerDialog(playerid,962,DIALOG_STYLE_LIST,"Radio Menu",mainstring,"Auswählen","Abbrechen");
    }


    Tut mir leid, habe mit zcmd gearbeitet
    Hab vergessen das du den normalen Commandprozess nutzt
    Mach :Radio etc raus und das dafür rein

  • Beitrag von .Jonas. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.