Variablen mit Textdraaw

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
  • Hallo,
    Ich brauch dringend hilfe, weil ich schaff es einfch nicht Variablen it Textdraws zu machen, bzw funktioniert das nie richtig. Mal wird gar nix angezeugt, mal das falsche. Hier mal der Code:
    new Text:Textdraw0;
    new string[64];
     format(string, sizeof string,"$ %d",Geld[i]);
    Textdraw0 = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0,1);
    TextDrawBoxColor(Textdraw0,0x00ff00ff);
    TextDrawTextSize(Textdraw0,644.000000,26.000000);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,2);
    TextDrawLetterSize(Textdraw0,0.599999,1.800000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);

    Zitat

    Also das Geld soll dem Spieler angezeigt werden. Das Textdraw fenster sl sich also aller 3 Sek. "updaten" dait der Betrag angezeigt wird.


    Ich hoffe ihr könnt mir helfen.
    mfG

  • new Text:Textdraw0;
    new string[64];
    TextDrawHideForPlayer(i,Textdraw0);
    format(string, sizeof string,"$ %d",Geld[i]);
    Textdraw0 = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0,1);
    TextDrawBoxColor(Textdraw0,0x00ff00ff);
    TextDrawTextSize(Textdraw0,644.000000,26.000000);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,2);
    TextDrawLetterSize(Textdraw0,0.599999,1.800000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    TextDrawShowForPlayer(i,Textdraw0);

    So sollte es gehen. ;)
    Und um den Textdraw alle 3 Sekunden upzudaten einfach den Code in einen Timer reinpacken, der im Intervall von 3 Sekunden läuft.


    MfG, Piranha.

  • Also jetzt wird gar nix mehr angezeigt:
    Ganz Oben
    forward CheckMoney();


    new Text:Textdraw0;

    OnGameModeInit
    SetTimer("CheckMoney",3000,1);
    Dann der Timer:
    public CheckMoney()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    new string[64];
    TextDrawHideForPlayer(i,Textdraw0);
    format(string, sizeof string,"$ %d",P_Geld[i]);
    Textdraw0 = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0,1);
    TextDrawBoxColor(Textdraw0,0x00ff00ff);
    TextDrawTextSize(Textdraw0,644.000000,26.000000);
    TextDrawAlignment(Textdraw0,0);
    TextDrawBackgroundColor(Textdraw0,0x000000ff);
    TextDrawFont(Textdraw0,2);
    TextDrawLetterSize(Textdraw0,0.599999,1.800000);
    TextDrawColor(Textdraw0,0xffffffff);
    TextDrawSetOutline(Textdraw0,1);
    TextDrawSetProportional(Textdraw0,1);
    TextDrawSetShadow(Textdraw0,1);
    TextDrawShowForPlayer(i,Textdraw0);
    }
    return 1;
    }

    mfG

  • Piranha bitte gib keine Hilfeleistung mehr wenn du nicht weißt was du machst...


    schau du musst nachdenken du willst das bei jedem spieler das Geld angezeigt wird dann brauchst du auch für jeden spieler ein eigenes textdraw das geht mit Text:Text0[MAX_PLAYERS] dann unter onplayerconnect erstelle du das Textdraw und gibst halt Text[playerid] ein statt Textdraw0 und beim disconnecten zerstörst du es mit textdrawdestroy(glaube ich)


    edit: Timer ist auch der Größte unfug du machst halt jedes mal wenn Geld erhöht wird ein TextDrawSetString ...