Textdraw Boxen werden nicht angezeigt?

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
  • Wieso werden die Boxen nicht angezeigt? Und die uhr wird auch nicht angezeigt?!



    Stats1 = TextDrawCreate(540.952575, 124.159988, "-");
    TextDrawLetterSize(Stats1, 2.856095, 0.955733);
    TextDrawAlignment(Stats1, 1);
    TextDrawColor(Stats1, -1);
    TextDrawSetShadow(Stats1, 0);
    TextDrawSetOutline(Stats1, 0);
    TextDrawBackgroundColor(Stats1, 51);
    TextDrawFont(Stats1, 1);
    TextDrawSetProportional(Stats1, 1);


    interface1 = TextDrawCreate(1.142861, 424.106628, "20:45:54 Uhr - 15.02.2014");
    TextDrawLetterSize(interface1, 0.369998, 1.207466);
    TextDrawAlignment(interface1, 1);
    TextDrawColor(interface1, 7012351);
    TextDrawSetShadow(interface1, 0);
    TextDrawSetOutline(interface1, 1);
    TextDrawBackgroundColor(interface1, 51);
    TextDrawFont(interface1, 2);
    TextDrawSetProportional(interface1, 1);


    Stats0 = TextDrawCreate(597.047424, 123.100036, "box1");
    TextDrawLetterSize(Stats0, 0.000000, 10.410943);
    TextDrawTextSize(Stats0, 520.666503, 0.000000);
    TextDrawAlignment(Stats0, 1);
    TextDrawColor(Stats0, 0);
    TextDrawUseBox(Stats0, true);
    TextDrawBoxColor(Stats0, 144);
    TextDrawSetShadow(Stats0, 0);
    TextDrawSetOutline(Stats0, 0);
    TextDrawBackgroundColor(Stats0, 144);
    TextDrawFont(Stats0, 0);


    interface0 = TextDrawCreate(641.999877, 455.899963, "box2");
    TextDrawLetterSize(interface0, 0.000000, -3.607247);
    TextDrawTextSize(interface0, -3.142854, 0.000000);
    TextDrawAlignment(interface0, 1);
    TextDrawColor(interface0, 0);
    TextDrawUseBox(interface0, true);
    TextDrawBoxColor(interface0, 133);
    TextDrawSetShadow(interface0, 0);
    TextDrawSetOutline(interface0, 0);
    TextDrawFont(interface0, 0);


    interface3 = TextDrawCreate(533.809326, 455.473297, "box3");
    TextDrawLetterSize(interface3, 0.000000, -3.607248);
    TextDrawTextSize(interface3, 527.904724, 0.000000);
    TextDrawAlignment(interface3, 1);
    TextDrawColor(interface3, 0);
    TextDrawUseBox(interface3, true);
    TextDrawBoxColor(interface3, -1);
    TextDrawSetShadow(interface3, 0);
    TextDrawSetOutline(interface3, 0);
    TextDrawFont(interface3, 0);


    Money0 = TextDrawCreate(609.999694, 79.153343, "box4");
    TextDrawLetterSize(Money0, 0.000000, 1.947883);
    TextDrawTextSize(Money0, 493.238067, 0.000000);
    TextDrawAlignment(Money0, 1);
    TextDrawColor(Money0, 0);
    TextDrawUseBox(Money0, true);
    TextDrawBoxColor(Money0, 255);
    TextDrawSetShadow(Money0, 0);
    TextDrawSetOutline(Money0, 0);
    TextDrawBackgroundColor(Money0, -1040187137);
    TextDrawFont(Money0, 0);


    Money1 = TextDrawCreate(608.095214, 81.286666, "box5");
    TextDrawLetterSize(Money1, 0.000000, 1.481428);
    TextDrawTextSize(Money1, 495.142852, 0.000000);
    TextDrawAlignment(Money1, 1);
    TextDrawColor(Money1, 0);
    TextDrawUseBox(Money1, true);
    TextDrawBoxColor(Money1, 134744319);
    TextDrawSetShadow(Money1, 0);
    TextDrawSetOutline(Money1, 0);
    TextDrawFont(Money1, 0);
    Diese textdraws werden nicht angezeigt?


  • TextDraws alleine erstellen bringt dir nicht viel. Du musst die TextDraws auch dem Spieler zeigen.


    Hier gibt es die Methode TextDrawShowForPlayer. Diese benutzt du bei OnPlayerConnect.


    Ich bin doch wohl nicht blöd ^^


    Die anderen Textdraws sind doch auch da?
    Function OnPlayerSpawn(playerid)
    {
    TextDrawShowForPlayer(playerid,interface0);
    TextDrawShowForPlayer(playerid,interface1);
    TextDrawShowForPlayer(playerid,interface2);
    TextDrawShowForPlayer(playerid,interface3);
    TextDrawShowForPlayer(playerid,interface4);
    TextDrawShowForPlayer(playerid,Money0);
    TextDrawShowForPlayer(playerid,Money1);
    PlayerTextDrawShow(playerid,pMoney0[playerid]);
    PlayerTextDrawShow(playerid,pinterface0[playerid]);
    PlayerTextDrawShow(playerid,pinterface1[playerid]);
    PlayerTextDrawShow(playerid,pinterface2[playerid]);
    PlayerTextDrawShow(playerid,pStats0[playerid]);
    PlayerTextDrawShow(playerid,pStats1[playerid]);
    PlayerTextDrawShow(playerid,pStats2[playerid]);
    PlayerTextDrawShow(playerid,pStats3[playerid]);
    PlayerTextDrawShow(playerid,pStats4[playerid]);
    PlayerTextDrawShow(playerid,pStats5[playerid]);
    PlayerTextDrawShow(playerid,pStats6[playerid]);
    new hour,minute,sec,year,day,month,str1[128];
    getdate(year,month,day);
    gettime(hour,minute,sec);
    format(str1,sizeof(str1),"%02d:%02d:%02d Uhr - %02d/%02d/%d",hour,minute,sec,day,month,year);
    TextDrawSetString(interface1,str1);
    new name[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"%s",name);
    PlayerTextDrawSetString(playerid,pStats0[playerid], string);

  • Wann erstellst du den die im 1. Post erwähnten TextDraws? Erstellst du diese eh bei OnGameModeInit??


    Bei OnPlayerSpawn würde ich es dem Spieler nicht zeign. Du rufst es dann andauernd auf bei jedem erneuten Spawnen. Einmalig bei OnPlayerConnect reicht völlig aus.


    EDIT:


    Außerdem würde ich für den "interface1" TextDraw einen Timer benutzen für die Uhrzeit und nicht für jedes Spawnen. Außerdem Sekunden anzeigen ist unnötig. Mache es auf HH:MM lieber. Sonst müsstest du das TextDraw jede Sekunde updaten.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • Wann erstellst du den die im 1. Post erwähnten TextDraws? Erstellst du diese eh bei OnGameModeInit??


    Bei OnPlayerSpawn würde ich es dem Spieler nicht zeign. Du rufst es dann andauernd auf bei jedem erneuten Spawnen. Einmalig bei OnPlayerConnect reicht völlig aus.


    Beim Connecten wirds einwenig zu früh gezeigt ^^ Egal das mit dem Spawn passt schon ^^ :D


    Erstellen tu ich die Textdraws bei OnPlayerConnect


    public clock(){
    new hour,minute,sec,year,day,month,str1[128];
    getdate(year,month,day);
    gettime(hour,minute,sec);
    format(str1,sizeof(str1),"%02d:%02d:%02d Uhr - %02d/%02d/%d",hour,minute,sec,day,month,year);
    TextDrawSetString(interface1,str1);
    TextDrawShowForAll(interface1);
    SetTimer("Clock",1000,1);
    return 1;
    }

  • Bei OnPlayerConnect? Serverseitige TextDraws kannst du ruhig bei OnGameModeInit erstellen, da diese ja unabhängig vom Spieler sind.


    Dann würde ich eine Methode aufrufen um alle TextDraws anzeigen zu lassen wenn man sich erfolgreich eingeloggt hat. So ersparst du es dir diese dauernd aufzurufen obwohl sie bereits angezeigt werden.


    Dazu würde ich dir empfehlen die Clock Methode ohne Sekunden Anzeige zu machen. Ressourcensparender.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • Ja das war jetzt nur eine kleine Hilfe, aber hat nichts mit dem eigentlichen Thema zu tun gehabt. Tut mir leid.


    Nun also gehen wir das ganze mal durch.


    Also die TextDraws Stats0, interface0, interface3, Money0 und Money1 werden nicht angezeigt?


    Wieso werden dann die anderen im Screen angezeigt? Was machst du anders bei diesen TextDraws als bei denen?

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg