Problem mit StringTextDraw

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 Abend Com,


    ich habe folgendes Problem. Unzwar möchte ich mir in einem Textdraw den Zustand meines Fahrzeuges anzeigen lassen, also lese ich den Zustan über GetVehicleHealth aus und pack das ganze in einen String. Beim ausgeben des Strings bekomm ich jedoch eine Warnung und letztendlich wird das TextDraw garnicht angezeigt. Wäre cool wenn ihr mir ein bisschen unter die Arme grefen könntet.


    Code:



    public OnPlayerUpdate(playerid)
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new Float:zustand;
    new vehicleid;
    GetVehicleHealth(vehicleid,zustand);
    vehicleid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid) != 509 && GetVehicleModel(vehicleid) != 481 && GetVehicleModel(vehicleid) != 510)
    {
    new string[128];
    new vehstand[182];
    if(Tankmenge[vehicleid] < 10) format(string,sizeof string,"~w~Tank: ~r~%i",Tankmenge[vehicleid]);
    else if(Tankmenge[vehicleid] < 30) format(string,sizeof string,"~w~Tank: ~y~%i",Tankmenge[vehicleid]);
    else if(Tankmenge[vehicleid] <= 100) format(string,sizeof string,"~w~Tank: ~g~%i",Tankmenge[vehicleid]);
    if(zustand < 200) format(vehstand,sizeof vehstand,"~w~Zustand: ~r~%i",zustand);
    else if(zustand < 700) format(vehstand,sizeof vehstand,"~w~Zustand: ~y~%i",zustand);
    else if(zustand <= 1000) format(vehstand,sizeof vehstand,"~w~Zustand: ~g~%i",zustand);
    TextDrawSetString(Anzeige[playerid],string);
    TextDrawSetString(zustand,vehstand);
    }
    }
    else
    {
    TextDrawSetString(Anzeige[playerid], " ");
    }
    return 1;
    }



    Fehlermeldung:


    Code
    E:\Profildaten\Neuer Ordner\Desktop\SAMP Server\gamemodes\funserver.pwn(706) : warning 213: tag mismatch



    Schonmal danke im Vorraus


    Mit freundlichen Grüßen
    [EFS]KillerTier

  • Anstatt
    TextDrawSetString(zustand,vehstand);
    Ihn hier mit deinem Textdraw für den Zustand??!!
    TextDrawSetString(ZUSTANDTEXTDRAW,vehstand);


    /edit:
    achja auch float zeichen nehmen beim format, nicht integer

    Nur wenn man das Unmögliche versucht kann man das absolut Mögliche erreichen
    Hermann Hesse


    „Was manche Menschen sich selber vormachen, das macht ihnen so schnell keiner nach.”
    Gerhard Uhlenbruck

  • Nun hab ich die Warnung nicht mehr, jedoch wird der TextDraw Immer noch nicht Angezeigt.


    Anzeigen lass ich ihn hiermit:



    Zustand[playerid] = TextDrawCreate(640.0,400.0," ");
    TextDrawSetOutline(Zustand[playerid], 1);
    TextDrawAlignment(Zustand[playerid], 3);
    TextDrawSetShadow(Zustand[playerid], 0);
    TextDrawShowForPlayer(playerid,Zustand[playerid]);

  • public OnPlayerUpdate(playerid)
    {
    //Blablabalbalablabalblablabla
    //Mach das mal unten so
    TextDrawSetString(Anzeige[playerid],string);
    TextDrawSetString(Zustand[playerid],vehstand);
    TextDrawShowForPlayer(playerid,Zustand[playerid]);
    }

    Nur wenn man das Unmögliche versucht kann man das absolut Mögliche erreichen
    Hermann Hesse


    „Was manche Menschen sich selber vormachen, das macht ihnen so schnell keiner nach.”
    Gerhard Uhlenbruck

  • Wenn du nicht auf Sitz 0 bist, sieht bei dir auch nichts vom Tacho ;)

    Nur wenn man das Unmögliche versucht kann man das absolut Mögliche erreichen
    Hermann Hesse


    „Was manche Menschen sich selber vormachen, das macht ihnen so schnell keiner nach.”
    Gerhard Uhlenbruck

  • Es wird ja gar nicht abgefragt ob ich auf Sitz 0 oder einem anderen Sitz sitze.


    Der TextDraw wird ja erstellt und angezeigt im OnPlayerConnect. Deswegen auch das Leerzeichen. Sobald ich nun im Fahrzeug sitze welches kein Fahrrad ist, wird der Zustand ausgelesen und als String geschrieben.


    Auf die weise funktioniert ja auch meine Tankanzeige und die macht brav ihren job.


  • Natürlich fragst du ab ob du auf Sitz 0 bist?!

    Nur wenn man das Unmögliche versucht kann man das absolut Mögliche erreichen
    Hermann Hesse


    „Was manche Menschen sich selber vormachen, das macht ihnen so schnell keiner nach.”
    Gerhard Uhlenbruck

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen