Problem mit Textdraw

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 möchte ein 3DTextLabel erstellen, welches an ein Fahrzeug attched wird.

    new vehilceids[MAX_VEHICLES];
    vehicleids = GetPlayerVehicleID(playerid);
    changedraw[vehicleids] = Create3DTextLabel("Polizei.\n Bitte folgen.", 0x33CCFFAA, 0.0, 0.0, 0.0, 50.0, -1, 1 );
    Attach3DTextLabelToVehicle(changedraw[vehicleids], vehicleids, 0.0, 0.0, 2.0);


    funktioniert auch soweit. Allerdings "merkt" sich das Script nicht die Vehilce ID, sodass beim Löschen immer nur das letze gelöscht wird.
    Delete3DTextLabel(changedraw[vehicleids]);


    Ebenfalls bekomme ich beim compilen in den Zeilen in denen cahgnedraw[vehicleid] steht ein warning
    warning 213: tag mismatch


    Leider hab ich schon viel Probiert aber noch nichts hin bekommen
    ?(
    Villeicht kann mir ja jemand weiter helfen.


    Liebe Grüße
    Kalli

  • Hi danke für deine Antwort schon mal :thumbup:
    steht alles direkt untereinander:


    Hab ich mal so geändert:

    new vehicleids;
    new Text3D:changedraw[MAX_AUTOS];



    ocmd:pdlabel(playerid,params[])
    {
    vehicleids = GetPlayerVehicleID(playerid);
    changedraw[vehicleids] = Create3DTextLabel("Polizei.\n Bitte folgen.", 0x33CCFFAA, 0.0, 0.0, 0.0, 50.0, -1, 1 );
    Attach3DTextLabelToVehicle(changedraw[vehicleids], vehicleids, 0.0, 0.0, 2.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~G~Eingeschaltet!", 5000, 5);
    return 1;
    }
    ocmd:pdlabeloff(playerid,params[])
    {
    vehicleids = GetPlayerVehicleid(playerid);
    Delete3DTextLabel(changedraw[vehicleids]);
    return 1;
    }

  • Deklariere die Variable am besten lokal, du brauchst die ja nur im Befehl als Zwischenspeicher.
    Und nutze MAX_VEHICLES, so viele Fahrzeuge können ja erstellt sein, von den SA-MP vehicleids her.
    new Text3D:changedraw[MAX_VEHICLES];


    ocmd:pdlabel(playerid,params[])
    {
    new vehicleids = GetPlayerVehicleID(playerid);
    changedraw[vehicleids] = Create3DTextLabel("Polizei.\n Bitte folgen.", 0x33CCFFAA, 0.0, 0.0, 0.0, 50.0, -1, 1 );
    Attach3DTextLabelToVehicle(changedraw[vehicleids], vehicleids, 0.0, 0.0, 2.0);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~G~Eingeschaltet!", 5000, 5);
    return 1;
    }
    ocmd:pdlabeloff(playerid,params[])
    {
    new vehicleids = GetPlayerVehicleid(playerid);
    Delete3DTextLabel(changedraw[vehicleids]);
    return 1;
    }