Nur letztes Fahrzeug (for) wird mit 3D Text versehen.

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
  • Guten Nachmittag Breadfisher,
    folgender Code soll jedes Auto mit einem 3D Text versehen.
    Alle Autos werden im Stock getVehForSale erstellt, welcher die ID zurückgibt.
    Allen Autos wird das Nummernschild gesetzt. Jedoch nur das letzte Autos erhält auch den 3D Text. Eigentlich sollen aber alle Autos einen 3D Text erhalten. Deshalb wird auch für jedes Autos in einem Array die 3D Text ID gespeichert (autoverkauf3d).


    Warum erhält aber nur das letzte Auto den 3DText ?


    maxplatz ist übrigens auch der maximale Index für die beiden Arrays autoverkauf und autoverkauf3d.



    for(new i = 0;i<maxplatz;i++)
    {
    autoverkauf[i] = getVehForSale(autoverkaufplatz[i][iverkauf],autoverkaufplatz[i][ix],autoverkaufplatz[i][iy],autoverkaufplatz[i][iz],autoverkaufplatz[i][iangle]);
    SetVehicleNumberPlate(autoverkauf[i], "VERKAUF");
    SetVehicleToRespawn(autoverkauf[i]);
    new string[96];
    format(string,96,"Name: %s\nTankvolumen: %dLiter\nVerbrauch: %dLiter/100Km\nBatterie: %d Volt",pAuto[autoverkauf[i]][iname],pAuto[autoverkauf[i]][imaxfuel],pAuto[autoverkauf[i]][iverbrauch],pAuto[autoverkauf[i]][imaxbatterie]);
    autoverkauf3d[i] = Create3DTextLabel(string, weis, autoverkaufplatz[i][ix],autoverkaufplatz[i][iy], autoverkaufplatz[i][iz],10.0 , 0, 0);
    Attach3DTextLabelToVehicle(autoverkauf3d[i],autoverkauf[i],0,0,1.5);
    }


    edit: 18.05.2012 kein push


    Habe eine Lösung gefunden. Anstatt die 3D Texte immer zu zerstören und neu zu createn, erstelle ich bei OnGameModeInit alle einmal und ändere im Callback dann immer nur noch den String und attache diese neu.
    Das Problem resultierte demnach aus dem Destroyen und neu erstellen.


    *close*

    Einmal editiert, zuletzt von Hagi () aus folgendem Grund: Lösung gefunden