Textdraws werden übereinandergelegt? Wieso?

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
  • Hey Leute,


    ich habe ein paar Textdraws in meinem Gamemode und möchte bei dem Befehl /lock das ein Textdraw gezeigt wird mit dem Text : 2Motor: gestartet".


    Das klappt ansich ja auch, jedoch passiert dann aber folgendes:



    Wie ihr seht, wird ein Textdraw mit einer Uhrzeit (ich vermute die Uhrzeit als ich den Server gestartet habe) darüber gelegt!
    Was kann ich da machen?

  • Die relevanten Textdraws (Tueren):


    Tacho_Info_Tueren = TextDrawCreate(583.000000, 343.000000, "Tueren");
    TextDrawAlignment(Tacho_Info_Tueren, 2);
    TextDrawBackgroundColor(Tacho_Info_Tueren, 255);
    TextDrawFont(Tacho_Info_Tueren, 1);
    TextDrawLetterSize(Tacho_Info_Tueren, 0.500000, 1.799998);
    TextDrawColor(Tacho_Info_Tueren, -1);
    TextDrawSetOutline(Tacho_Info_Tueren, 0);
    TextDrawSetProportional(Tacho_Info_Tueren, 1);
    TextDrawSetShadow(Tacho_Info_Tueren, 1);
    TextDrawSetSelectable(Tacho_Info_Tueren, 0);


    Tacho_Info_TuerenAuf = TextDrawCreate(583.000000, 359.000000, "Aufgeschlossen");
    TextDrawAlignment(Tacho_Info_TuerenAuf, 2);
    TextDrawBackgroundColor(Tacho_Info_TuerenAuf, 255);
    TextDrawFont(Tacho_Info_TuerenAuf, 1);
    TextDrawLetterSize(Tacho_Info_TuerenAuf, 0.319999, 1.799998);
    TextDrawColor(Tacho_Info_TuerenAuf, 1267337471);
    TextDrawSetOutline(Tacho_Info_TuerenAuf, 1);
    TextDrawSetProportional(Tacho_Info_TuerenAuf, 1);
    TextDrawSetSelectable(Tacho_Info_TuerenAuf, 0);


    Tacho_Info_TuerenZu = TextDrawCreate(583.000000, 359.000000, "Abgeschlossen");
    TextDrawAlignment(Tacho_Info_TuerenZu, 2);
    TextDrawBackgroundColor(Tacho_Info_TuerenZu, 255);
    TextDrawFont(Tacho_Info_TuerenZu, 1);
    TextDrawLetterSize(Tacho_Info_TuerenZu, 0.319999, 1.799998);
    TextDrawColor(Tacho_Info_TuerenZu, -16776961);
    TextDrawSetOutline(Tacho_Info_TuerenZu, 1);
    TextDrawSetProportional(Tacho_Info_TuerenZu, 1);
    TextDrawSetSelectable(Tacho_Info_TuerenZu, 0);


    Der Befehl /lock:


    ...
    switch(FahrzeugInfo[i][fz_Lock])
    {
    case 0:
    {
    FahrzeugInfo[i][fz_Lock] = 1;
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vID, engine, lights, alarm, 1, bonnet, boot, objective);
    TextDrawSetString(TachoTueren[playerid], "~r~Abgeschlossen");
    TextDrawHideForPlayer(playerid,Tacho_Info_Motor);
    TextDrawHideForPlayer(playerid,Tacho_Info_Tueren);
    TextDrawHideForPlayer(playerid,Tacho_Info_Licht);
    TextDrawHideForPlayer(playerid,Tacho_Info_MotorAn);
    TextDrawHideForPlayer(playerid,Tacho_Info_MotorAus);
    TextDrawHideForPlayer(playerid,Tacho_Info_LichtAn);
    TextDrawHideForPlayer(playerid,Tacho_Info_LichtAus);
    TextDrawHideForPlayer(playerid,Tacho_Info_TuerenAuf);
    TextDrawHideForPlayer(playerid,Tacho_Info_TuerenZu);


    TextDrawShowForPlayer(playerid,Tacho_Info_Box);
    TextDrawShowForPlayer(playerid,Tacho_Info_Tueren);
    TextDrawShowForPlayer(playerid,Tacho_Info_TuerenZu);
    KillTimer(autotimer[playerid]);
    autotimer[playerid]=SetTimerEx("drawtimer",2000,0,"i",playerid);
    return 1;
    }
    case 1:
    {
    FahrzeugInfo[i][fz_Lock] = 0;
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vID, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(vID, engine, lights, alarm, 0, bonnet, boot, objective);
    TextDrawSetString(TachoTueren[playerid], "~g~Aufgeschlossen");
    TextDrawHideForPlayer(playerid,Tacho_Info_Motor);
    TextDrawHideForPlayer(playerid,Tacho_Info_Tueren);
    TextDrawHideForPlayer(playerid,Tacho_Info_Licht);
    TextDrawHideForPlayer(playerid,Tacho_Info_MotorAn);
    TextDrawHideForPlayer(playerid,Tacho_Info_MotorAus);
    TextDrawHideForPlayer(playerid,Tacho_Info_LichtAn);
    TextDrawHideForPlayer(playerid,Tacho_Info_LichtAus);
    TextDrawHideForPlayer(playerid,Tacho_Info_TuerenAuf);
    TextDrawHideForPlayer(playerid,Tacho_Info_TuerenZu);
    TextDrawShowForPlayer(playerid,Tacho_Info_Box);
    TextDrawShowForPlayer(playerid,Tacho_Info_Tueren);
    TextDrawShowForPlayer(playerid,Tacho_Info_TuerenAuf);
    KillTimer(autotimer[playerid]);
    autotimer[playerid]=SetTimerEx("drawtimer",2000,0,"i",playerid);
    return 1;
    }
    ...

  • Tacho_Info_Tueren = TextDrawCreate(583.000000, 343.000000, "Tueren");


    Tacho_Info_TuerenAuf = TextDrawCreate(583.000000, 359.000000, "Aufgeschlossen");


    Tacho_Info_TuerenZu = TextDrawCreate(583.000000, 359.000000, "Abgeschlossen");


    Wenn Dir jetzt die Lösung auch noich nicht auffällt, dann weiß ich auch nicht. :D

  • Wenn Dir jetzt die Lösung auch noich nicht auffällt, dann weiß ich auch nicht. :D


    Das soll so gehören, dass Abgeschlossen bzw. Aufgeschlossen auf der gleichen Achse liegen!!!


    Es geht darum, dass das Textdraw der Uhrzeit (ich glaube die Zeit beim Serverstart) hinter/auf dem Textdraw liegen!


    *siehe Bild*


  • Dann fehlt uns noch der Code der Uhrzeit (des Textdraws).


    TDUhrzeit = TextDrawCreate(577.000000, 21.000000, "00:00:00");
    TextDrawAlignment(TDUhrzeit, 2);
    TextDrawBackgroundColor(TDUhrzeit, 255);
    TextDrawFont(TDUhrzeit, 3);
    TextDrawLetterSize(TDUhrzeit, 0.380000, 2.500000);
    TextDrawColor(TDUhrzeit, -1);
    TextDrawSetOutline(TDUhrzeit, 1);
    TextDrawSetProportional(TDUhrzeit, 0);

  • An dem TDUhrzeit-Textdraw liegt es nicht, das sieht man ja schon an der Position.



    Suche mal nach "TextDrawUseBox". Diese beiden Textdraws nutzen ja eine Box. Wenn du da eins findest, das das UseBox auf 1 hat, und in etwa bei der Position 550, 350 ist, dann hast du es gefunden. Dieses Textdraw (bzw. beide) musst du dann entfernen, bzw. dem Spieler erst gar nicht anzeigen lassen.
    Schau auch in deinen Filterscripts und Includes nach, falls du welche heruntergeladen hast.

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