Uhr Doppelt sich mehrfach Pro minute.

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
  • Hir meine uhr sie verdoppelt sich immer pro minute wieso?


    Code
    TextDrawHideForAll(Clock);
    Clock=TextDrawCreate(549,24,string);
    TextDrawLetterSize(Clock,0.55,2);
    TextDrawFont(Clock,1);
    TextDrawBackgroundColor(Clock,0x000000AA);
    TextDrawSetOutline(Clock,2);
    TextDrawShowForAll(Clock);


    //EDIT: Also Sie Überlappt sich von der minute davor z.b 11.15 uhr zeigt sie bei 11.16 uhr noch hin der 11.16 uhr die andre an


    Danke für die Hilfe !

    Einmal editiert, zuletzt von Quini ()

  • Ich hätte auch nicht gelöscht und wieder neu erstellt... TextDrawSetString geht doch viel besser?

  • mag sein das es besser geht aber manche kommen eben mit anderen sachen besser zurecht ;)


    geschmaks sache

  • Ehm Ist das so?


    Also Wenn ich Restart gemacht habe brauche meine uhr ca. 20-40 sekunden um zu laden


    ist das so weil wehre besser wenn mann es so machen kann wenn mann drauf kommt das sie sofort da ist


    auch nach einem restart Jemand ne idee?

  • Also ich hab das so:


    new Text:UhrzeitStundeMinute;
    Ein normales new!


    UhrzeitStundeMinute = TextDrawCreate(605.0,25.0,"00:00");
    TextDrawUseBox(UhrzeitStundeMinute, 0);
    TextDrawFont(UhrzeitStundeMinute, 3);
    TextDrawSetShadow(UhrzeitStundeMinute,1);
    TextDrawSetOutline(UhrzeitStundeMinute,1);
    TextDrawBackgroundColor(UhrzeitStundeMinute,0x000000FF);
    TextDrawColor(UhrzeitStundeMinute,0xFFFFFFFF);
    TextDrawAlignment(UhrzeitStundeMinute,3);
    TextDrawLetterSize(UhrzeitStundeMinute,0.5,1.5);
    Bei OnGameModeInit!


    TextDrawShowForPlayer(playerid, Text:UhrzeitStundeMinute);
    Bei OnPlayerConnect!


    public UpdateTime()
    {
    new Hour, Min, Sec;
    new TimeString[256];
    gettime(Hour, Min, Sec);
    if(Min <= 9)
    {
    format(TimeString,25,"%d:0%d",Hour, Min);
    }
    else
    {
    format(TimeString,25,"%d:%d",Hour, Min);
    }
    TextDrawSetString(UhrzeitStundeMinute,TimeString);
    TextDrawShowForAll(UhrzeitStundeMinute);
    return 1;
    }
    Ein Public!
    Das Public definierst du noch mit einem forward und setzt einen Timer in OnGameModeInit, dann funktioniert das ganz einfach.
    Wie folgt:
    Uhr wird created bei Server Start und Updatet sich von Minute zu Minute mit dem Timer(Wichtig! Timer mit einer Minute setzen!)


    mfg
    Humen

  • und wie mache ich das das sie net überlappt ?


    hir mit ? TextDrawSetString was muss hinter string?



    Hir möchte ich noch einbauen das sie net überlappt weil inmoment überlappt sie :(


    und ich möchte meine uhr gerne Schwarzer hintergrund haben vorne Grün Wie mache ich des am besten in moment sieht sie so aus


    http://s3.directupload.net/file/d/2216/se36e3q5_png.htm


    Hier Der Code:


    Code
    TextDrawHideForAll(Clock);
    Clock=TextDrawCreate(549,24,string);
    TextDrawLetterSize(Clock,0.55,2);
    TextDrawFont(Clock,0);
    TextDrawBackgroundColor(Clock,0x000000FF);
    TextDrawColor(Clock, 0x33FF3300);
    TextDrawSetOutline(Clock,0);
    TextDrawShowForAll(Clock);
    SetTimer("time",1000,0);

    Einmal editiert, zuletzt von Quini ()

  • Suche mal nach Zamarohts (wie auch immer ) Textdraw Editor dann kannst du dir deinen TExtdraw Uhr ganz einfach ingame erstellen.
    Und damit sie nicht überlappt musst du TextdrawSetstring nutzen dabei wird der Textdraw nur geändert und nicht immer wieder neu erstellt.


    Unter Ongamemodeexit :
    TextDrawHideForAll(Clock);


    Unter OngamemodeInit :
    Clock=TextDrawCreate(549,24,string);
    TextDrawLetterSize(Clock,0.55,2);
    TextDrawFont(Clock,0);
    TextDrawBackgroundColor(Clock,0x000000FF);
    TextDrawColor(Clock, 0x33FF3300);
    TextDrawSetOutline(Clock,0);
    TextDrawShowForAll(Clock);
    SetTimer("time",1000,0);


    Unter OnPlayerConnect :
    TextDrawShowForPlayer(playerid, Text:Clock);


    Und das in die Time Public ( bitte deinen alten Code löschen ) :

    new Hour, Min, Sec;
    new TimeString[10];
    gettime(Hour, Min, Sec);
    if(Min <= 9) { format(TimeString,25,"%d:0%d",Hour, Min); }
    else { format(TimeString,25,"%d:%d",Hour, Min); }
    TextDrawSetString(UhrzeitStundeMinute,TimeString);
    TextDrawShowForAll(UhrzeitStundeMinute);


    LG

  • PRIMA GESCHAFFT


    Nun Crasht Mein Server Durch den code nice -.- toll.




    --------------------------


    SA-MP Server: 0.3a R7




    Exception At Address: 0x00482D44




    Registers:


    EAX: 0x00000000 EBX: 0x00000400 ECX: 0x00000100 EDX: 0x7EFEFEFF


    ESI: 0x00000000 EDI: 0x0247E640 EBP: 0x00000000 ESP: 0x0012FD28


    EFLAGS: 0x00010206




    Stack:


    +0000: 0x03060020 0x01B378C8 0x0247E640 0x004743BB


    +0010: 0x0247E640 0x00000000 0x00000400 0x01B41300


    +0020: 0x00000000 0x0012FD80 0x0553C9B8 0x00000000


    +0030: 0x0046597E 0x44094000 0x41C00000 0x00000000


    +0040: 0x01B41300 0x01B41300 0x047B1394 0x03060020


    +0050: 0x00000000 0x0553CA18 0x047BA6C4 0x00401096


    +0060: 0x01B41300 0x0553C9B8 0x04822984 0x00402BB3


    +0070: 0x01B41300 0x00000029 0x0012FDB8 0x0553C9B8


    +0080: 0x004BD148 0x01B41300 0x00000001 0x00000000


    +0090: 0x44094000 0x00D1A034 0x00D1A034 0x00D1A4A4


    +00A0: 0x00D124A8 0x00D1A498 0x00D124A8 0x047B1394


    +00B0: 0x04822984 0x00000000 0x047B0020 0x000715F0


    +00C0: 0x00461674 0x01B41300 0x0012FE00 0x00000012


    +00D0: 0x01AC8E08 0xFFFFFFFF 0x00000012 0x01AC8E08


    +00E0: 0x00479E7F 0x004BD148 0x0049E601 0x01AC8109


    +00F0: 0xFFFFFFFF 0x00000000 0x01B41300 0x0012FEA4


    +0100: 0x00493388 0xFFFFFFFF 0x004792BF 0x00000001


    +0110: 0x00000000 0x00001772 0x0012FF88 0x7FFDF000


    +0120: 0x0001F000 0x00010101 0x000001F4 0x00001E61


    +0130: 0x000000A8 0x00001768 0x01AC8E08 0x656D6167