Textdraw verwechselt

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
  • Hi
    ich habe ein Tacho und eine Uhr, aber manchmal wird des Tacho bei der Uhr angezeigt.
    Hier mal des Script(ist in einem GlobalTimer, wiederholt sich jede sec)

    format(msg, sizeof msg, "Tacho:D")
    TextDrawSetString(pTank[i], msg);


    Weiter unten dann:
    new text[256],text2[256], Jahr, Monat, Tag, Stunde, Minute, Sekunde;
    if(Monat < 10)
    {
    if(Tag < 10)
    {
    format(text2,sizeof(text2),"0%d/0%d/%d",Tag,Monat,Jahr);
    TextDrawSetString(Date,text2);
    }
    else
    {
    format(text2,sizeof(text2),"%d/0%d/%d",Tag,Monat,Jahr);
    TextDrawSetString(Date,text2);
    }
    }
    Und so weiter...

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Ja sicher hab ich.
    Was willste da mehr sehen?
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {


    if(newstate == PLAYER_STATE_DRIVER)
    {
    pTank[playerid] = TextDrawCreate(200,350,"~w~loading");
    TextDrawLetterSize(pTank[playerid], 0.5, 1.5);
    TextDrawFont(pTank[playerid], 3);
    TextDrawSetOutline(pTank[playerid], 2);
    TextDrawShowForPlayer(playerid, pTank[playerid]);
    OnPlayerMotorCall(playerid, GetPlayerVehicleID(playerid));
    if(vehicleinfo[GetPlayerVehic
    Hier wird des Tacho angezeigt und beim Aussteigen wird der Tachostring auf "" gesetzt.#Die Uhr haste ja..

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • da fehlt noch viel mehr...
    einmal musst du es definieren.. dan musst du den textdraw createn.. und dan in einem public mit timer setzt du du uhr / den tacho..
    das brauche ich alles..


    Meine uhr sieht zum beispiel so aus:
    definieren:
    new Text:Time;
    new Text:Date;
    dan unter onplayerconnect damit angezeigt wird:
    TextDrawShowForPlayer(playerid, Time);
    TextDrawShowForPlayer(playerid, Date);


    dan wird unter ongamemodeinit der textdraw gecreatet:
    Date = TextDrawCreate(547.000000,25.000000,"--");
    Time = TextDrawCreate(523.000000,9.000000,"--");
    TextDrawAlignment(Date,0);
    TextDrawAlignment(Time,0);
    TextDrawBackgroundColor(Date,0x000000ff);
    TextDrawBackgroundColor(Time,0x000000ff);
    TextDrawFont(Date,3);
    TextDrawLetterSize(Date,0.399999,1.500000);
    TextDrawFont(Time,0);
    TextDrawLetterSize(Time,0.599999,1.400000);
    TextDrawColor(Date,0xffffffff);
    TextDrawColor(Time,0x00ff00cc);
    TextDrawSetOutline(Date,1);
    TextDrawSetOutline(Time,1);
    TextDrawSetProportional(Date,1);
    TextDrawSetProportional(Time,1);
    TextDrawSetShadow(Date,1);
    TextDrawSetShadow(Time,1);
    Und dan in einem 1 Sekündigem abstand wird in einem public die zeit gesetzt:
    public settime(playerid)
    {
    new string[256],year,month,day,hours,minutes,seconds;
    getdate(year, month, day);
    gettime(hours, minutes, seconds);
    format(string, sizeof string, "%d/%s%d/%s%d", day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
    TextDrawSetString(Date, string);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds);
    TextDrawSetString(Time, string);
    }
    so das brauche ich von beidem....

    Mein I-Net ^^