TextDraw Problem

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
  • public Tutorial(playerid)
    {
    if(TutTime[playerid] >= 1)
    {
    SchwarzerRandOben = TextDrawCreate(1.0,430,"");
    TextDrawUseBox(SchwarzerRandOben,1);
    TextDrawBoxColor(SchwarzerRandOben,0x000000AA);
    TextDrawLetterSize(SchwarzerRandOben,640,360);
    TextDrawShowForPlayer(playerid,SchwarzerRandOben);

    SchwarzerRandUnten = TextDrawCreate(1.0,430,"");
    TextDrawUseBox(SchwarzerRandUnten,1);
    TextDrawBoxColor(SchwarzerRandUnten,0x000000AA);
    TextDrawLetterSize(SchwarzerRandUnten,240,360);
    TextDrawShowForPlayer(playerid,SchwarzerRandUnten);
    if(TutTime[playerid] == 2)
    {
    SendClientMessage(playerid,HELLGELB,"|_______________|Das Abenteuer beginnt!|_______________|");
    }
    else if(TutTime[playerid] == 12)
    {
    SendClientMessage(playerid,HELLGELB,"|_______________|Plötzlich.....|_______________|");
    }
    else if(TutTime[playerid] == 27)
    {
    KillTimer(TutTimer[playerid]);
    TutTime[playerid] = -1;
    TogglePlayerControllable(playerid,true);
    GameTextForPlayer(playerid,"~g~Lalala!",1500,1);
    SetPlayerCheckpoint(playerid,-1350.4546,2059.6667,52.4850,3);
    }
    TutTime[playerid]++;
    TextDrawDestroy(SchwarzerRandOben);
    TextDrawDestroy(SchwarzerRandUnten);
    }
    }


    new Text:SchwarzerRandOben;
    new Text:SchwarzerRandUnten;


    So siehts bei mir aus, wie ihr merkt geht es nicht.
    Abgesehen davon, will ich sei mittel große Ränder oben und unten,
    als ob man ein Film startet wenn das Tutorial anfängt und weg gehen wenn es zu Ende ist.
    Doch es geht, ich und ich habe kein Plan was ich falsch mache.


    Bitte helft mir weiter :(


    Mit freundlichen Grüßen
    Kazuto


    Edit: Rechtschreibfehler ausgemerzt

  • erstell doch das ganze unter


    OnGameModeInit


    SchwarzerRandOben = TextDrawCreate(1.0,430,"");
    TextDrawUseBox(SchwarzerRandOben,1);
    TextDrawBoxColor(SchwarzerRandOben,0x000000AA);
    TextDrawLetterSize(SchwarzerRandOben,640,360);


    SchwarzerRandUnten = TextDrawCreate(1.0,430,"");
    TextDrawUseBox(SchwarzerRandUnten,1);
    TextDrawBoxColor(SchwarzerRandUnten,0x000000AA);
    TextDrawLetterSize(SchwarzerRandUnten,240,360);



    Zu dem reicht es auch wenn du das ganze auch nur einmal anzeigen lässt
    TextDrawShowForPlayer(playerid,SchwarzerRandUnten);
    TextDrawShowForPlayer(playerid,SchwarzerRandOben);


    kannst ja noch das else zu if(TutTimer[playerid] >= 1)
    ergänzen wo du das textdraw anzeigen lässt und dann lässt du die variabel ganz unten hochzählen


    zu dem lässt du das ganze gleich wieder zerstören
    und zerstör es nicht lass es einfach nicht anzeigen also versteck es wieder vor dem spieler

    else if(TutTime[playerid] == 27)
    {
    KillTimer(TutTimer[playerid]);
    TutTime[playerid] = -1;
    TogglePlayerControllable(playerid,true);
    GameTextForPlayer(playerid,"~g~Lalala!",1500,1);
    SetPlayerCheckpoint(playerid,-1350.4546,2059.6667,52.4850,3);
    TextDrawHideForPlayer(playerid,SchwarzerRandUnten);
    TextDrawHideForPlayer(playerid,SchwarzerRandOben);
    }

  • Dann muss ich sie also nur außerhalb (wenn ich sie nicht möchte) nur verstecken?
    2 dumme fragen noch, ich weis, aber gibt es dort eine Funktion um sie wieder zu aufzuzeigen?
    2te weißt du wie ich die Ränder richtig setzen kann, ich bezweifle das die richtig sind und mit dem TD Filterscript geht es nicht.


    MfG und danke im voraus.

  • Dann muss ich sie also nur außerhalb (wenn ich sie nicht möchte) nur verstecken?
    2 dumme fragen noch, ich weis, aber gibt es dort eine Funktion um sie wieder zu aufzuzeigen?
    2te weißt du wie ich die Ränder richtig setzen kann, ich bezweifle das die richtig sind und mit dem TD Filterscript geht es nicht.


    MfG und danke im voraus.


    Ja es ist ein globales textdraw warum auch immer neu erstellen ? ist ja unnötig.
    Ja die funktion hast du benutzt
    Zum anzeigen für einen spieler
    TextDrawShowForPlayer(playerid,SchwarzerRandUnten);


    zum verstecken
    TextDrawHideForPlayer(playerid,SchwarzerRandUnten);


    Also ich benutze den von ipleomax du kannst das textdraw verschieben un dgrößer machen es in die
    breite ziehen geht natürlich auch in dem du die werte bei TextdrawCreate veränderst also nach links verschieben
    dazu den x wert verkleinern und die breite noch erhöhen bei dir hier
    TextDrawLetterSize auch den x wert veränder(erhöhen)

  • Danke, habe ich verstanden, kannst du mir von deinem Filterscript oder was es ist, den Link schicken.
    Ich bekomme es sonst so leider nicht hin.
    Erstmal ein recht herzlichen danke für deine Hilfe.


    MfG


    Hier bitte http://forum.sa-mp.com/showthread.php?t=376758 installations beschreibung findest du unten das geht nur auf deinem homeserver und weiteres gibt eigentlich nicht zu erwähnen