PayDay Zeit als 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
  • Hallo,


    Wie kann ich es Scripten das ich unten Links die Zeit bis zum PayDay sehe ?


    Also die Cordis etc. größe habe ich schon alles weis nur nicht wie ich das mit String einbinden muss und ein auto updater richtig Scripte,


    PayDaytext= TextDrawCreate(10,428,"Zeit bis zum PayDay: ");
    TextDrawLetterSize(PayDaytext, 0.379998, 1.600030);



    gruß


    Canary


  • format(string, sizeof(string), "Zeit bis zum PayDay: %d", VARIABLE);
    TextDrawSetString(PayDaytext, string);
    VARIABLE = Variable, in der die Zeit bis zum Payday gespeichert wird


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Hallo Canary!


    Das ist eigentlich recht simpel.


    Aktualisiert sich die gewünschte Anzeige beispielsweise jede
    Minute, so erstellst Du einfach einen, sich jede Minute
    wiederholenden Timer, in den Du einfach per Funktion
    TextDrawSetString(...) , die Anzeige aktualisierst.


    Am besten Du schaust vorher in Dein Script, ob es vielleicht
    schon einen Timer gibt, der jede Minute ausgeführt wird.
    So musst Du keinen zweiten extra hinzufügen... (spart Ressourcen)


    Übrigens, vergiss nicht Deinen gewünschten TextDraw in
    OnGameModeInit zu deklarieren, mit Position u.ä.



    Freundliche Grüße


    4#Future - Fake | Philip

  • Hallo,



    erstmal danke !


    Ich habe dies mal so gemacht


    format(string, sizeof(string),"Zeit bis zum PayDay: %d",(60-SpielerInfo[targetid][pPlayMinutes]));
    PayDaytext = TextDrawCreate(10,428, string);
    TextDrawLetterSize(PayDaytext, 0.379998, 1.600030);
    TextDrawColor(PayDaytext,-1);
    TextDrawSetShadow(PayDaytext,0);
    TextDrawShowForAll(PayDaytext);
    TextDrawBackgroundColor(PayDaytext,COLOR_BLACK);
    TextDrawFont(PayDaytext, 3);
    TextDrawSetOutline(PayDaytext, 1);
    TextDrawSetProportional(PayDaytext, 1);



    Leider sagt er mir ein errors mit targetid



    Gruß


    XtraX


  • Da ich annehme, dass Du diese TextDraw Deklaration in
    OnGameModeInit(...) eingetragen hast, muss ich einsehen,
    dass Du meinen Beitrag nicht sorgfälltig gelesen hast.


    Du sollst den TextDraw deklarieren, egal mit welchem Starttext
    und ihn dann in einem Timer mit TextDrawSetString(...)
    ständig aktualisieren.



    Und diesen TextDraw aktualisierst Du in einem Timer ganz
    einfach, eben zur gewünschten Zeit, wenn Du es magst.


    Einfach mit folgender Methode:


    format(string, sizeof(string), ... );
    TextDrawSetString(PayDaytext, string);

  • Natürlich hat Zunno in dieser Art und Weise recht
    bezüglich des Hinweises für den PayDay - TextDraw.


    Um den TextDraw für jeden Spieler individuell anzeigen
    zu lassen, musst Du einfach bei dessen Deklaration
    einfach eine Spieler ID mit hinzufügen.


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    PayDaytext[i] = TextDrawCreate(10,428, "mein Text");
    TextDrawLetterSize(PayDaytext[i], 0.379998, 1.600030);
    TextDrawColor(PayDaytext[i],-1);
    TextDrawSetShadow(PayDaytext[i],0);
    TextDrawShowForAll(PayDaytext[i]);
    TextDrawBackgroundColor(PayDaytext[i],COLOR_BLACK);
    TextDrawFont(PayDaytext[i], 3);
    TextDrawSetOutline(PayDaytext[i], 1);
    TextDrawSetProportional(PayDaytext[i], 1);
    }
    Nun wäre der PayDay - TextDraw für jeden Spieler
    individuell, wenn Du ihn nun einfach noch richtig in
    Deinen Timer einfügst.