Problem mit Textdraw

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.
    Ich habe folgendermaßen einen Textdraw erstellt:


    Oben im Script:

    #define MAX_TD 25
    new Text:Textdraw0[MAX_TD];


    Dann unter OnGameModeInit:

    for(new i = 0; i < MAX_TD; i++)
    {
    new pname[MAX_PLAYER_NAME], string[256];
    GetPlayerName(i,pname,sizeof(pname));
    format(string, sizeof(string),"Name: %s", pname);
    Textdraw0[i] = TextDrawCreate(1.000000, 437.000000,string);
    TextDrawBackgroundColor(Textdraw0[i], 255);
    TextDrawFont(Textdraw0[i], 2);
    TextDrawLetterSize(Textdraw0[i], 0.360000, 1.000000);
    TextDrawColor(Textdraw0[i], -16711681);
    TextDrawSetOutline(Textdraw0[i], 1);
    TextDrawSetProportional(Textdraw0[i], 1);
    TextDrawUseBox(Textdraw0[i], 1);
    TextDrawBoxColor(Textdraw0[i], 102);
    TextDrawTextSize(Textdraw0[i], 638.000000, 83.000000);
    }


    Anzeugen lasse ich den unter OnPlayerConnect:
    TextDrawShowForPlayer(playerid, Textdraw0[playerid]);


    Ingame wird daraus aber nur dieses Machwerk:


    Was mache ich falsch? Ich hoffe ihr könnt mir helfen :D



    Einmal editiert, zuletzt von Leenert ()

  • Ich würde den Textdraw es beim connecten erstellen.
    Dann brauchste keine schleife.
    Außerdem gibt GetPlayerName nix zurück wenn der Spieler nicht connected ist.
    Damit macht das unter OnGameModeInit keinen Sinn,

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Klar macht das unter OnGameModeInit sind. Sonst kann es zu Bugs kommen, z.B. beim Tacho.


    Schwachsinn.
    Wenn es zu bugs kommt dann liegt das zu 99,9% am Scripter und nicht sn SA:MP
    Es macht unter OnGameModeInit nur dann Sinn wenn du bei OnPlayerConnect den Textdraw aktuallisierst.
    Da ja GetPlayerName, bei einem nicht Connecteden Spieler nicht aus gibt.
    Und Spieler können nun einmal nicht Connected sin, wenn das Script gerade "hochfährt".
    D.h. Textdraw ohne Schleife in OnPlayerConnect erstellen inkl. GetPlayerName

    Außerdem wird der Textdraw ja erstellt, nur nicht vollständig.


    Ich seh auf dem Bild kein Textdraw
    Daher kann ich mir eigentlich nur denken was passiert.
    Nämlich das nur Name: da steht.
    Das kannt du lösen, in dem du das von mir oben beschriebene machst.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski