for() Schleife geht nicht

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,
    ich will das Vehicle System von BlackFox um ein ID System erweitern. Dazu hab das jetzt erst mal gaaanz einfach gemacht:
    new string[30];
    number = random(1000);
    format(string ,30, "LS - VI - %d", number);
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    for(new i; i< MAX_AUTOS; i++)
    {
    Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
    }
    Aber das LS - VI - [Random Zahl] erscheint nur über einem Fahrzeug, obwohl ich for(new i; i<MAX_AUTOS; i++) habe.
    Warum erscheint das nicht über jedem Car?
    Und gibt es ein fertiges Car ID Filterscript irgendwo? Weil ich hab über die Sufu nichts gefunden.
    LG
    V1rus

  • Ganz einfach: Du musst für jedes Auto ein eigenes Textlabel erstellen, das würde sowas von Ressourcen verschwenden...


    Wenn du AttachLAbelTo...... oder so benutzt mit for-Schleife, wird das einmal dem einen und dann dem anderen Auto atached, sondern nicht neu erstellt ^^


    EDIT://
    So müsste es richtig sein:

    new string[30];
    number = random(1000);
    format(string ,30, "LS - VI - %d", number);
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    for(new i; i< MAX_AUTOS; i++)
    {
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
    }

  • Anstatt VI Kannst du auch deine ersten 2 Buchstaben des Namen ausgeben :



    for(new i; i< MAX_AUTOS; i++)
    {
    new string[30];
    new name[2];
    GetPlayerName(playerid, name, sizeof name);
    format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
    }

  • Cool Danke :)
    Gibts auch noch ne Möglichkeit nochmal Random auszuführen, falls die ID schon vergeben ist?

  • Also?
    for(new i; i< MAX_AUTOS; i++)
    {
    new string[30];
    new name[2];
    i = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, name, sizeof name);
    format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
    }
    Ne so auch nicht oder? Sag mal bitte wie du das meinst.
    Sry bin ein ziemlicher Anfänger....
    V1rus


  • for(new i; i< MAX_AUTOS; i++)
    {
    new string[30];
    new name[2];
    GetPlayerName(playerid, name, sizeof name);
    format(string ,30, "LS - %s%s - %d", name[0],name[1], i);
    carlabel = Create3DTextLabel(string, COLOR_WHITE, 0.0,0.0,5.0, 50.0, -1, 1);
    Attach3DTextLabelToVehicle(carlabel, i, 0.0,0.0,2.0);
    }


    Du hollst doch i schon aus MAX_Autos, also brauchst du vehicleid
    garnicht zu definieren, ausser du verwendest MAX_AUTOS
    für etwas ganz anderes.