Textdraw Problem

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
  • Hi,


    wollte kurz nen Level Textdraw machen.
    Kommen aber so blöde Warnings.
    Kein Plan wat da los?



    level = CreatePlayerTextDraw(playerid,504.000000, 111.000000, "Level: 999");
    PlayerTextDrawBackgroundColor(playerid,level, 255);
    PlayerTextDrawFont(playerid,level, 1);
    PlayerTextDrawLetterSize(playerid,level, 0.340000, 0.899999);
    PlayerTextDrawColor(playerid,level, -1);
    PlayerTextDrawSetOutline(playerid,level, 0);
    PlayerTextDrawSetProportional(playerid,level, 1);
    PlayerTextDrawSetShadow(playerid,level, 1);


  • Beim Connecten.
    Kommt aber immer noch Warnings


    //Edit: So, dass ist geschafft.


    Nun zeigt es aber nicht an.



    ocmd:show(playerid,params[])
    {
    TextDrawShowForPlayer(playerid,level[playerid]);
    TextDrawShowForPlayer(playerid,lvlbox);
    SendClientMessage(playerid,ROT,"Level Box An");
    return 1;
    }


    Nur die lvlbox wird angezeigt (Das ist nur eine Box).
    Das Level aber nicht.

    Einmal editiert, zuletzt von C0wBoY ()

  • Ich empfehle hier ein PlayerTextDraw, TextDraws sind bei SAMP nur in einer limitierten Anzahl zu erstellen.


    //e:
    new PlayerText:scorebox[MAX_PLAYERS];


    //...
    public OnPlayerConnect(playerid)
    {
    scorebox[playerid] = CreatePlayerTextDraw(playerid, x, y, "");
    PlayerTextDrawUseBox(playerid, scorebox[playerid]);
    //Der ganze andere Kram wie Font, Größe, Farbe, ... nur eben mit "PlayerTextDeaw" ;)
    }


    //...


    forward RefreshScoreBox(playerid);
    public RefreshScoreBox(playerid)
    {
    new string[30];
    format(string, sizeof(string), "Level: %d", GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, scorebox[playerid], string);
    }


    //..


    ocmd:show(playerid,params[])
    {
    PlayerTextDrawShowForPlayer(playerid, scorebox[playerid]);
    SetTimerEx("RefreshScoreBox", 1000, true, "i", playerid);
    SendClientMessage(playerid,ROT,"Level Box An");
    return 1;
    }Ungetestet, sollte aber laufen.

    Ich bin Dittis Signatur.

    Einmal editiert, zuletzt von Ditti ()

  • Das hilft mir ... NICHT


    Test ich mal


    //E:
    Sieht sehr gut aus nur ein Warning:
    warning 213: tag mismatch
    //E:
    Bei

    ocmd:show(playerid,params[])
    {
    TextDrawShowForPlayer(playerid,scorebox[playerid]); // HIER
    SetTimerEx("RefreshScoreBox", 1000, true, "i", playerid);
    SendClientMessage(playerid,ROT,"Level Box An");
    return 1;
    }

    2 Mal editiert, zuletzt von C0wBoY ()

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