Anzeige befehl der fautos

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
  • Hey Leute,


    Ich hab einen Befehl (/fautos) der soll mir alle Auto der Fraktion XY anzeigen.
    Das Problem: Der befehl zeigt mir aber nur ein Auto in der Dialog Box an und ich weiß nicht warum?!


    Code:

    ocmd:fautos(playerid,params[])
    {
    if(!DarfPlayerCommand(playerid))return 1;
    new fID;
    //new string[128];
    new x=0;
    if(sscanf(params,"i",fID))
    {
    if(SpielerInfo[playerid][Frakt]==0)return 1;
    for(new i=1; i<MAX_AUTOS; i++)
    {
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt])
    {
    x++;
    if(isValidDBCarForFrakts(FraktAuto[i][d_id]))
    {
    format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x]);
    ShowPlayerDialog(playerid, DIALOG_FRAKCARSS, DIALOG_STYLE_LIST, "Fraktionsfahrzeuge", string, "Absenden", "Abbrechen");
    }
    }
    }
    format(string,sizeof(string),"Deine Fraktion hat insgesammt '%i' Fahrzeuge.",x);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }
    if(!IsPlayerAnAdmin(playerid,4))return 1;
    for(new i=1; i<MAX_AUTOS; i++)
    {
    if(FraktAuto[i][besitzer]==fID)
    {
    x++;
    if(isValidDBCarForFrakts(FraktAuto[i][d_id]))
    {
    format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x]);
    ShowPlayerDialog(playerid, DIALOG_FRAKCARSS, DIALOG_STYLE_LIST, "Fraktionsfahrzeuge", string, "Absenden", "Abbrechen");
    }
    }
    }
    format(string,sizeof(string),"Deine Fraktion hat insgesammt '%i' Fahrzeuge.",x);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }


    Ich bitte um hilfe :)


    Lg
    Mr.ElectRoX

  • Versuch es so:


    format(string, sizeof(string), "%s%s Model: %i\n", string, VehicleName, ...); & benutze ShowPlayerDialog nach der Schleife.
    Somit wird der String "verlängert" und zeigt nicht immer nur 1 Auto an.


    Danke für deine Schnelle antwort!
    Aber ich versteh nicht wie du das meinst " ShowPlayerDialog nach der Schleife.
    Somit wird der String "verlängert" und zeigt nicht immer nur 1 Auto an " ??


    PS: Brauche immer noch Hilfe :(

  • if(sscanf(params,"i",fID))
    {
    if(SpielerInfo[playerid][Frakt]==0)return 1;
    new cars[256];
    for(new i=1; i<MAX_AUTOS; i++)
    {
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt])
    {
    x++;
    if(isValidDBCarForFrakts(FraktAuto[i][d_id]))
    {

    format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x]);
    strcat(cars, string);
    }
    }
    }
    ShowPlayerDialog(playerid, DIALOG_FRAKCARSS, DIALOG_STYLE_LIST, "Fraktionsfahrzeuge", cars, "Absenden", "Abbrechen");
    format(string,sizeof(string),"Deine Fraktion hat insgesammt '%i' Fahrzeuge.",x);
    SendClientMessage(playerid,COLOR_GREY,string);
    return 1;
    }



  • Danke , hat funktioniert aber jetzt werden die Fahrzuege alle in einer (1-2) Zeilen dagestellt ?! wie kann man das machen das man pro Fahrzeug eine eigene Spalte hat ?!


    Info bild im Anhang.

  • format(string,sizeof(string),"%s: Model: %i Fahrzeug: %i\n",GetVehicleName(GetVehicleModel(FraktAuto[i][id_x])),FraktAuto[i][vmodel],FraktAuto[i][id_x]);


    Danke hat funktioniert...
    Aber dort werden von 69 Fahrzeuge nur 6 aufgelistet?! ist das normal?


    // Edit: hat sich geklärt der string war zu klein :/ naja :D


    Danke für die Leute die mir Geholfen haben ;)


    #Closed