Audiodatei an Fraktionsmember abspielen

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
  • for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerFraktion[i] == FRAKTION_ID) //Oder PVar, was du halt benutzt. FRAKTION_ID natürlich ersetzen...
    {
    //Musik für 'i' (=playerid) abspielen.
    }
    }
    }


    @Andrzejxy': Hi ^^ Bin mir nicht ganz sicher wie das ist einen AudioStream für nicht connectete Spieler aufzurufen.

  • ok danke werde es später testen und mich nochmal wieder melden :)
    danke euch


    edit: Klappt nicht so ganz :/



    if(listitem == 0)
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Fraktion] == 1)
    {
    PlayAudioStreamForPlayer(i,"linkzensiert");
    SendClientMessage(i,COLOR_RED,"Einsatz für das KLF!");
    }
    }
    }


    Einmal editiert, zuletzt von Marvin2921 ()

  • Probiers mal wie ich es gemacht habe (oben). Und wenn das auch nicht geht, dann setz mal über deinen AudioStream ein
    printf("playerid i=%d called", i);
    Dann schaust im serverlog nach wo es aufhört, bzw. ob es überhaupt aufgerufen wird.

  • ja hab ich und ja ich bin in der Fraktion 1





    if(listitem == 0)
    {
    for(new i; i<MAX_PLAYERS; i++)
    {

    if(sSpieler[i][Fraktion] == 1)
    {
    printf("playerid i=%d called", i);
    PlayAudioStreamForPlayer(i,"linkzensiert!");
    SendClientMessage(i,COLOR_RED,"Einsatz für das KLF!");
    }


    }
    }

  • so?



    if(dialogid == DIALOG_ALARM)
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Fraktion] == 1)
    {
    printf("playerid i=%d called", i);
    }
    }
    if(response)
    {
    if(listitem == 0)
    {
    PlayAudioStreamForPlayer(i,"linkzensiert!");
    SendClientMessage(i,COLOR_RED,"Einsatz für das KLF!");


    }
    }


    dann kommen folgende Errormeldungen:

    Code
    C:\Users\Marvin\Desktop\Mein Script\gamemodes\selfmade.pwn(1315) : error 017: undefined symbol "i"
    C:\Users\Marvin\Desktop\Mein Script\gamemodes\selfmade.pwn(1316) : error 017: undefined symbol "i"
    C:\Users\Marvin\Desktop\Mein Script\gamemodes\selfmade.pwn(1320) : warning 217: loose indentation
    C:\Users\Marvin\Desktop\Mein Script\gamemodes\selfmade.pwn(1433) : warning 209: function "OnDialogResponse" should return a value
    C:\Users\Marvin\Desktop\Mein Script\gamemodes\selfmade.pwn(1434) : error 010: invalid function or declaration
  • Das macht wenig Sinn wie du das hast. ^^


    Nimm mal das, und sag uns was der server log so printet:
    if(dialogid == DIALOG_ALARM)
    {
    printf("response=%d listitem=%d", response, listitem);
    if(response)
    {
    if(listitem == 0)
    {
    for(new i; i<MAX_PLAYERS; i++)
    {
    printf("playerid i=%d called", i);
    if(sSpieler[i][Fraktion] == 1)
    {
    printf("playerid i=%d called - Step 1", i);
    SendClientMessage(i,COLOR_RED,"Einsatz für das KLF!");
    printf("playerid i=%d called - Step 2", i);
    PlayAudioStreamForPlayer(i,"linkzensiert!");
    }
    }
    }
    }
    }

  • Serverlog:


  • also den Dialog zeigt er an!



    if (strcmp("/alarm", cmdtext, true, 10) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ALARM, DIALOG_STYLE_LIST, "Alamierungsmenü","KLF\nHLF1\nHLF2\nDL\nLöschzug\nRTWA\nRTWB\nNEF\nRW\nChristoph 29\nChristoph Hansa","Alamieren","Abbrechen");
    }