[OLD!]AttachObjectToVehicle //Edit Anderes Problem

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
  • //Edit
    Habe es jetzt glaube ich.
    Habe aber ein anderes Problem.


    Wenn ich meinen Befehl (/liste) verwende, möchte ich alle Sachen auflisten können. (Farmer, Busfahrer) also Leute die online sind und in dem Job sind.
    Wenn ich aber nun eins anklicke, wird nur 1 Person angezeigt maximal. Wenn jetzt z.B 2 Personen Farmer sind, wird die Person mit der niedrigeren ID rausgesucht und angezeigt. Mehr nicht.
    case DIALOG_LISTE:
    {
    new string[128];
    new str2[500];
    if(response)
    {
    if(listitem==0)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 1)
    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_FARMLISTE, DIALOG_STYLE_MSGBOX,COLOR_HEX_ORANGE"Farmer-Liste", str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==1)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 2)
    {
    format(string, sizeof(string), "Busfahrer %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_BUSLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Busfahrer-Liste",str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==2)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 3)
    {
    format(string, sizeof(string), "Trucker %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_TRUCKLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Truck-Liste",str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==3)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 4)
    {
    format(string, sizeof(string), "Pilot %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_PILOTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Pilot-Liste",str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==4)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 5)
    {
    format(string, sizeof(string), "KFZ-Mech. %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_KFZLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"KFZ-Mech.-Liste",str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==5)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 6)
    {
    format(string, sizeof(string), "Anwalt %s (ID: %i) (Tel: -)", GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_ANWALTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Anwalt-Liste",str2, "Schließen", "");
    }
    }
    }
    }
    if(listitem==6)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pAdmin] > 0)
    {
    new rang[32];
    if(Spieler[i][pAdmin] == 1){rang = "Trial-Supporter";}
    else if(Spieler[i][pAdmin] == 2){rang ="Supporter";}
    else if(Spieler[i][pAdmin] == 3){rang ="Trial-Admin";}
    else if(Spieler[i][pAdmin] == 4){rang ="Admin";}
    else if(Spieler[i][pAdmin] == 5){rang ="Projektleiter";}
    format(string, sizeof(string), "%s %s (ID: %i) (Tel: -)", rang, GetName(i), i);
    format(str2, sizeof(str2), "%s\n", string);
    ShowPlayerDialog(playerid, DIALOG_ADMINLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Admin-Liste", str2, "Schließen", "");
    }
    }
    }
    }
    }
    if(!response)
    {
    return 1;
    }
    }


    Vielen Dank im Vorraus. ;)
    //Edit
    Brauche immernoch hilfe u.u
    //Edit-2
    Etwas geändert..

  • Das liegt daran das du das ShowPlayerDialog in der Schleife jedes mal neu anzeigen lässt und es deswegen jedes mal überschrieben wird.
    Und ich würde dir empfehlen strcat zu benutzen.
    if(listitem==0)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 1)
    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)\n", GetName(i), i);
    strcat(str2, string);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FARMLISTE, DIALOG_STYLE_MSGBOX,COLOR_HEX_ORANGE"Farmer-Liste", str2, "Schließen", "");
    }

  • Habe dies immernoch.
    Habe es folgend aufgebaut:
    case DIALOG_LISTE:
    {
    new string[128];
    new str2[2048];
    if(response)
    {
    if(listitem==0)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 1)
    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Farmer online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FARMLISTE, DIALOG_STYLE_MSGBOX,COLOR_HEX_ORANGE"Farmer-Liste", str2, "Schließen", "");
    }
    if(listitem==1)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 2)
    {
    format(string, sizeof(string), "Busfahrer %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Busfahrer online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_BUSLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Busfahrer-Liste",str2, "Schließen", "");
    }
    if(listitem==2)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 3)
    {
    format(string, sizeof(string), "Trucker %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Trucker online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_TRUCKLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Truck-Liste",str2, "Schließen", "");
    }
    if(listitem==3)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 4)
    {
    format(string, sizeof(string), "Pilot %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Pilote online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_PILOTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Pilot-Liste",str2, "Schließen", "");
    }
    if(listitem==4)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 5)
    {
    format(string, sizeof(string), "KFZ-Mech. %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Mechatroniker online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_KFZLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"KFZ-Mech.-Liste",str2, "Schließen", "");
    }
    if(listitem==5)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pJob] == 6)
    {
    format(string, sizeof(string), "Anwalt %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Anwälte online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ANWALTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Anwalt-Liste",str2, "Schließen", "");
    }
    if(listitem==6)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pAdmin] > 0)
    {
    new rang[32];
    if(Spieler[i][pAdmin] == 1){rang = "Trial-Supporter";}
    else if(Spieler[i][pAdmin] == 2){rang ="Supporter";}
    else if(Spieler[i][pAdmin] == 3){rang ="Trial-Admin";}
    else if(Spieler[i][pAdmin] == 4){rang ="Admin";}
    else if(Spieler[i][pAdmin] == 5){rang ="Projektleiter";}
    format(string, sizeof(string), "%s %s (ID: %i) (Tel: -)", rang, GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Team-Mitglieder online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMINLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Admin-Liste", str2, "Schließen", "");
    }
    if(listitem==7)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 4)
    {
    format(string, sizeof(string), "News Reporter %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Reporter online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_REPLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"News Reporter Liste",str2, "Schließen", "");
    }
    if(listitem==8)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 3)
    {
    format(string, sizeof(string), "Sanitäter %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Sanitäter online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_SANILISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Sanitäter Liste",str2, "Schließen", "");
    }
    if(listitem==9)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pFraktion] == 5)
    {
    format(string, sizeof(string), "Ordnungsämtler %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Ordnungsämtler online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_OAMTLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Ordnungsamt Liste",str2, "Schließen", "");
    }
    if(listitem==10)
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsPlayerConnected(i) && gPlayerLogged[i] == 1)
    {
    if(Spieler[i][pWanteds] > 0)
    {
    format(string, sizeof(string), "Verbrecher %s (ID: %i) (Wantedlevel: %i)", GetName(i), i, Spieler[i][pWanteds]);
    strcat(str2, string);

    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Keine Verbrecher online.");
    return 1;
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_WTDLISTE, DIALOG_STYLE_MSGBOX, COLOR_HEX_ORANGE"Verbrecher Liste",str2, "Schließen", "");
    }

    }
    if(!response)
    {
    return 1;
    }
    }


    Diesmal wird aber nicht die erste ID aufgelistet sondern ID 1! Ich bin z.B ID 0 und bin nich in der Liste. NUr iD 1.

  • Test es mal so mit

    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)\n", GetName(i), i);
    (str2, string, sizeof(str2));
    }


    statt



    {
    format(string, sizeof(string), "Farmer %s (ID: %i) (Tel: -)", GetName(i), i);
    strcat(str2, string);
    }