Label wird nicht entfernt..

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
  • Schönen guten Tag,


    ich habe ein kleines Fragwürdiges Problem... undzwar möchte ich ein Label welches ich erstelle & an ein Fahrzeug Attache auch wieder
    löschen..


    Beim erstellen des Labels weise ich die Fahrzeug ID an dem das Label ist deiner Variable zu ..



    Taxis[a] = GetPlayerVehicleID(playerid);
    Taxiveh3Dtext[a] = Create3DTextLabel(string,Gelb,x,y,z,25.0,GetPlayerVirtualWorld(playerid),1);
    Attach3DTextLabelToVehicle(Taxiveh3Dtext[a],Taxis[a],0.0,0.0,0.0);
    SetPVarInt(playerid,"Taxiid",Taxis[a]);


    & Löschen möchte ich es so ..


    for(new a; a<(sizeof(Taxis)); a++)
    {
    if(Spieler[playerid][ImJob] == 0)return SendClientMessage(playerid,Orange,"Du bist nicht am Arbeiten!");
    a = GetPVarInt(playerid,"Taxiid");
    Delete3DTextLabel(Taxiveh3Dtext[a]);


    Aber komischerweise passiert nichts ...


    Edit: Mehr Code hinzugefügt.

  • Ohne zu wissen was 'a' ist:


    Taxis[a] = GetPlayerVehicleID(playerid);
    Taxiveh3Dtext[a] = Create3DTextLabel(string,Gelb,x,y,z,25.0,GetPlayerVirtualWorld(playerid),1);
    Attach3DTextLabelToVehicle(Taxiveh3Dtext[a],Taxis[a],0.0,0.0,0.0);
    SetPVarInt(playerid,"Taxiid", a);


    Die Schleife kannst du dann auch weg machen, a wird ja gespeichert.
    if(Spieler[playerid][ImJob] == 0)return SendClientMessage(playerid,Orange,"Du bist nicht am Arbeiten!");
    new a = GetPVarInt(playerid,"Taxiid");
    Delete3DTextLabel(Taxiveh3Dtext[a]);

  • new a = GetPVarInt(playerid,"Taxiid");
    Delete3DTextLabel(Taxiveh3Dtext[a]);



    Nep funktioniert nicht ^^

  • Dann musst du mehr Code zur Verfügung stellen. Anhand der paar Zeilen kann ich dir nicht genau sagen woran es letztendlich liegt.



    new Text3D:Taxiveh3Dtext[MAX_TAXIS];



    for(new a; a<MAX_TAXIS; a++)
    {
    Taxis[a] = GetPlayerVehicleID(playerid);
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"Fahrer: %s\nStatus: %s",SpielerName(playerid),status);
    Taxiveh3Dtext[a] = Create3DTextLabel(string,Gelb,x,y,z,25.0,GetPlayerVirtualWorld(playerid),1);
    Attach3DTextLabelToVehicle(Taxiveh3Dtext[a],Taxis[a],0.0,0.0,0.0);
    SetPVarInt(playerid,"Taxiid",Taxis[a]);
    printf("Taxiid: %d",Taxis[a]);
    }


    if(Spieler[playerid][ImJob] == 0)return SendClientMessage(playerid,Orange,"Du bist nicht am Arbeiten!");
    if(!IsPlayerInRangeOfPoint(playerid,20.0,2059.8940,-1913.2603,13.3262))return SendClientMessage(playerid,Orange,"Du bist nicht an der Taxi Gmbh!");
    if(!IstTaxi(GetPlayerVehicleID(playerid)))return SendClientMessage(playerid,Orange,"Du sitzt in keinem Taxi!");
    RemovePlayerFromVehicle(playerid);
    new a = GetPVarInt(playerid,"Taxiid");
    Delete3DTextLabel(Taxiveh3Dtext[a]);
    SendClientMessage(playerid,Gelb,"Du hast die Fahrt beendet.");
    Spieler[playerid][ImJob] = 0;
    Spieler[playerid][TStatus] = 0;


    Bitteschön.

  • Naja, das macht ja auch irgendwie keinen Sinn. Du gibts jedem Taxi ein Label...


    new Taxis[MAX_TAXIS] = {-1,...};
    for(new a; a<MAX_TAXIS; a++)
    {
    if(Taxis[a] != -1) continue;
    Taxis[a] = GetPlayerVehicleID(playerid);
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"Fahrer: %s\nStatus: %s",SpielerName(playerid),status);
    Taxiveh3Dtext[a] = Create3DTextLabel(string,Gelb,x,y,z,25.0,GetPlayerVirtualWorld(playerid),1);
    Attach3DTextLabelToVehicle(Taxiveh3Dtext[a],Taxis[a],0.0,0.0,0.0);
    SetPVarInt(playerid,"Taxiid",a);
    printf("Taxiid: %d",a);
    break;
    }


    if(Spieler[playerid][ImJob] == 0)return SendClientMessage(playerid,Orange,"Du bist nicht am Arbeiten!");
    if(!IsPlayerInRangeOfPoint(playerid,20.0,2059.8940,-1913.2603,13.3262))return SendClientMessage(playerid,Orange,"Du bist nicht an der Taxi Gmbh!");
    if(!IstTaxi(GetPlayerVehicleID(playerid)))return SendClientMessage(playerid,Orange,"Du sitzt in keinem Taxi!");
    RemovePlayerFromVehicle(playerid);
    new a = GetPVarInt(playerid,"Taxiid");
    Delete3DTextLabel(Taxiveh3Dtext[a]);
    Taxis[a] = -1;
    SendClientMessage(playerid,Gelb,"Du hast die Fahrt beendet.");
    Spieler[playerid][ImJob] = 0;
    Spieler[playerid][TStatus] = 0;


  • Nein, ich gebe nur dem Taxi ein Label in dem er sitzt 8)


    Taxis[a] = GetPlayerVehicleID(playerid);

  • Hast du meinen Code überhaupt ausprobiert?


    Hatte mich falsch ausgedrückt, du gibst dem Taxi MAX_TAXI Labels, also einem Taxi alle Labels. Deutsche Sprache, schwere Sprache. :huh:
    for(new a; a<MAX_TAXIS; a++)


    Danke hat nun funktioniert.. zumindest bei einer Person ^^
    Teste es jetzt mal mit mehreren :P Aber schonmal danke :)