mehrere Textdraws

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
  • hab nix mit suchen gefunden


    Weiß einer wie ich Textdraws mache, welche sich nach 30 sekunden ändern:


    also einmal:


    http://www.*****.de


    dann:


    ts: xx.xx.xx.xx.x:XXXX


    dann Serverowner:


    XYZ + XYZ


    also die haben alle die gleiche position, und stehen halt unter onplayerspawn(damit sie erst angezeigt werden wenn man spawn...


    bitte einen code posten =P

    Pessimisten sind Optimisten mit Erfahrung!

  • du erstellst 2 news und ein forward oben im script:

    new text1;
    new text2;



    forward testupdate();


    und dann erstellst du damit ein textdraw:


    text 1 = TextDraw...
    und startest ein timer.. der sich immer wiederholen soll:


    SetTimer("textupdate",ZEIT,1);


    und dann amchste ein public der aktiviert wird sobald die zeit vom timer abgelaufen ist:


    public textupdate()
    {
    TextDrawDestroy(text1);
    text2 = CreateTextDraw....
    return 1;
    }

  • öhh das habe ich gerade gemacht, doch du musst die textdraw zerstören, dazu brauchst du den textdrawnamen, deswegen new text1;
    ich muss ja sagen welche textdraw zerstört werden soll, und dann wird eine neue textdraw erstellt. ganz einfach

  • also i-wie funkt der dreck net... wäre sehr hilfreich wenn jemand das für mich machen würde:


    also, sobald der player connectet soll dieser Text 30 sekunden lang kommen:


    Code
    Textdraw0 = TextDrawCreate(205.000000, 4.000000, "Forum: www.Fun4Life-Reallife.de");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.490000, 1.499999);
    TextDrawColor(Textdraw0, 16777215);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawUseBox(Textdraw0, 1);
    TextDrawBoxColor(Textdraw0, 100);
    TextDrawTextSize(Textdraw0, 417.000000, 50.000000);


    nach diesen 30 sekunden, soll dann dieser hier auch für 30 sekunden kommen:


    Code
    Textdraw0 = TextDrawCreate(205.000000, 4.000000, "TS3: 178.162.186.148:9987");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.490000, 1.499999);
    TextDrawColor(Textdraw0, 16777215);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawUseBox(Textdraw0, 1);
    TextDrawBoxColor(Textdraw0, 100);
    TextDrawTextSize(Textdraw0, 417.000000, 50.000000);


    und dann nach diesen 30 Sekunden, dieser wieder für 30 Sekunden:


    Code
    Textdraw0 = TextDrawCreate(205.000000, 4.000000, "Serverowner:     Meister- und Powernuke");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.490000, 1.499999);
    TextDrawColor(Textdraw0, 16777215);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawUseBox(Textdraw0, 1);
    TextDrawBoxColor(Textdraw0, 100);
    TextDrawTextSize(Textdraw0, 417.000000, 50.000000);


    wenn dieser nach 30 sekunden weg is.. soll wieder der erste angezeigt werden... also ganz kurz:


    playerconnectet, 30 sek text 1... im anschluss 30 sek text 2... im anschluss 30 sek text 3.. im anschluss wieder text 1 (endlosschleife)


    hoffe jemand kann mir helfen

    Pessimisten sind Optimisten mit Erfahrung!

  • so hier ist es, ich hoffe es klappt. ist ungetestet und eben so mal gemacht:


    Oben unter den Includes:


    new text1,text2,text3;


    forward textupdate1(playerid);
    forward textupdate2(playerid);
    forward textupdate3(playerid);


    Dann kommt das:


    public OnGameModeInit()
    {
    text1 = TextDrawCreate(205.000000, 4.000000, "Forum: www.Fun4Life-Reallife.de");
    TextDrawBackgroundColor(text1, 255);
    TextDrawFont(text1, 1);
    TextDrawLetterSize(text1, 0.490000, 1.499999);
    TextDrawColor(text1, 16777215);
    TextDrawSetOutline(text1, 1);
    TextDrawSetProportional(text1, 1);
    TextDrawUseBox(text1, 1);
    TextDrawBoxColor(text1, 100);
    TextDrawTextSize(text1, 417.000000, 50.000000);

    text2 = TextDrawCreate(205.000000, 4.000000, "TS3: 178.162.186.148:9987");
    TextDrawBackgroundColor(text2, 255);
    TextDrawFont(text2, 1);
    TextDrawLetterSize(text2, 0.490000, 1.499999);
    TextDrawColor(text2, 16777215);
    TextDrawSetOutline(text2, 1);
    TextDrawSetProportional(text2, 1);
    TextDrawUseBox(text2, 1);
    TextDrawBoxColor(text2, 100);
    TextDrawTextSize(text2, 417.000000, 50.000000);

    text3 = TextDrawCreate(205.000000, 4.000000, "Serverowner: Meister- und Powernuke");
    TextDrawBackgroundColor(text3, 255);
    TextDrawFont(text3, 1);
    TextDrawLetterSize(text3, 0.490000, 1.499999);
    TextDrawColor(text3, 16777215);
    TextDrawSetOutline(text3, 1);
    TextDrawSetProportional(text3, 1);
    TextDrawUseBox(text3, 1);
    TextDrawBoxColor(text3, 100);
    TextDrawTextSize(text3, 417.000000, 50.000000);
    return 1;
    }


    public OnGameModeExit()
    {
    TextDrawDestroy(text1);
    TextDrawDestroy(text2);
    TextDrawDestroy(text3);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid,text1);
    SetTimerEx("textupdate1",30000,0,"i",playerid);
    return 1;
    }


    dann machste irgentwo, am besten ganz unten im script das hier noch rein:


    public textupdate1(playerid)
    {
    TextDrawHideForPlayer(playerid,text1);
    TextDrawHideForPlayer(playerid,text3);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate2",30000,0,"i",playerid);
    return 1;
    }


    public textupdate2(playerid)
    {
    TextDrawHideForPlayer(playerid,text2);
    TextDrawHideForPlayer(playerid,text1);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate3",30000,0,"i",playerid);
    return 1;
    }


    public textupdate3(playerid)
    {
    TextDrawHideForPlayer(playerid,text2);
    TextDrawHideForPlayer(playerid,text3);
    TextDrawShowForPlayer(playerid,text1);
    SetTimerEx("textupdate1",30000,0,"i",playerid);
    return 1;
    }


    bitteschön, bei fehler oder sowas kannste mir bescheid sagen...

    Einmal editiert, zuletzt von Simon ()

  • kommt das nicht unter... ongamemodeexit?^^

    Pessimisten sind Optimisten mit Erfahrung!


  • #include <a_samp>


    forward andererText();
    new GlobalTextTick;


    public OnGameModeInit()
    {
    GlobalTextTick = 0;
    SetTimer("andererText",30000,false);
    return 1;
    }


    public andererText(){


    GlobalTextTick++; // Also GlobalTextTick +1
    if(GlobalTextTick == 3){GlobalTextTick == 0;}
    if(GlobalTextTick == 0)
    {
    TextDrawSetString(Textdraw0, "Forum: www.Fun4Life-Reallife.de");
    }
    if(GlobalTextTick == 1)
    {
    TextDrawSetString(Textdraw0,"TS3: 178.162.186.148:9987");
    }
    if(GlobalTextTick == 2)
    {
    TextDrawSetString(Textdraw0, "Serverowner: Meister- und Powernuke");
    }


    }

    Opa :love: Freund und helfer =)


  • hier die zeilen:


    804 : text 1


    //textdraws
    text1 = TextDrawCreate(205.000000, 4.000000, "Forum: www.Fun4Life-Reallife.de");
    TextDrawBackgroundColor(text1, 255);
    TextDrawFont(text1, 1);
    TextDrawLetterSize(text1, 0.490000, 1.499999);
    TextDrawColor(text1, 16777215);
    TextDrawSetOutline(text1, 1);
    TextDrawSetProportional(text1, 1);
    TextDrawUseBox(text1, 1);
    TextDrawBoxColor(text1, 100);
    TextDrawTextSize(text1, 417.000000, 50.000000);


    text2 = TextDrawCreate(205.000000, 4.000000, "TS3: 178.162.186.148:9987");
    TextDrawBackgroundColor(text2, 255);
    TextDrawFont(text2, 1);
    TextDrawLetterSize(text2, 0.490000, 1.499999);
    TextDrawColor(text2, 16777215);
    TextDrawSetOutline(text2, 1);
    TextDrawSetProportional(text2, 1);
    TextDrawUseBox(text2, 1);
    TextDrawBoxColor(text2, 100);
    TextDrawTextSize(text2, 417.000000, 50.000000);


    text3 = TextDrawCreate(205.000000, 4.000000, "Serverowner: Meister- und Powernuke");
    TextDrawBackgroundColor(text3, 255);
    TextDrawFont(text3, 1);
    TextDrawLetterSize(text3, 0.490000, 1.499999);
    TextDrawColor(text3, 16777215);
    TextDrawSetOutline(text3, 1);
    TextDrawSetProportional(text3, 1);
    TextDrawUseBox(text3, 1);
    TextDrawBoxColor(text3, 100);
    TextDrawTextSize(text3, 417.000000, 50.000000);


    return 1;
    }


    public OnGameModeExit()
    {
    TextDrawDestroy(text1);
    TextDrawDestroy(text2);
    TextDrawDestroy(text3);
    return 1;
    }



    und hier ganz unten:


    1306: TextDrawHideForPlayer(playerid,text1);


    //für textdraw timers
    public textupdate1(playerid)
    {
    TextDrawHideForPlayer(playerid,text1);
    TextDrawHideForPlayer(playerid,text3);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate2",30000,0,"i",playerid);
    return 1;
    }


    public textupdate2(playerid)
    {
    TextDrawHideForPlayer(playerid,text2);
    TextDrawHideForPlayer(playerid,text1);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate3",30000,0,"i",playerid);
    return 1;
    }


    public textupdate3(playerid)
    {
    TextDrawHideForPlayer(playerid,text2);
    TextDrawHideForPlayer(playerid,text3);
    TextDrawShowForPlayer(playerid,text1);
    SetTimerEx("textupdate1",30000,0,"i",playerid);
    return 1;
    }

    Pessimisten sind Optimisten mit Erfahrung!

  • hmm ich kenne mich bei textdraws net so gut aus, aber ich glaube du musst bei textdrawbackgroundcolor ein pawn farb code nehmen


    bsp.:
    text1 = TextDrawCreate(205.000000, 4.000000, "Forum: www.Fun4Life-Reallife.de");
    TextDrawBackgroundColor(text1, 0xFF0000FF);
    TextDrawFont(text1, 1);
    TextDrawLetterSize(text1, 0.490000, 1.499999);
    TextDrawColor(text1, 16777215);
    TextDrawSetOutline(text1, 1);
    TextDrawSetProportional(text1, 1);
    TextDrawUseBox(text1, 1);
    TextDrawBoxColor(text1, 0xFFFFFFFF);
    TextDrawTextSize(text1, 417.000000, 50.000000);


    text2 = TextDrawCreate(205.000000, 4.000000, "TS3: 178.162.186.148:9987");
    TextDrawBackgroundColor(text2,0xFF0000FF);
    TextDrawFont(text2, 1);
    TextDrawLetterSize(text2, 0.490000, 1.499999);
    TextDrawColor(text2, 16777215);
    TextDrawSetOutline(text2, 1);
    TextDrawSetProportional(text2, 1);
    TextDrawUseBox(text2, 1);
    TextDrawBoxColor(text2, 0xFFFFFFFF);
    TextDrawTextSize(text2, 417.000000, 50.000000);


    text3 = TextDrawCreate(205.000000, 4.000000, "Serverowner: Meister- und Powernuke");
    TextDrawBackgroundColor(text3, 0xFF0000FF;
    TextDrawFont(text3, 1);
    TextDrawLetterSize(text3, 0.490000, 1.499999);
    TextDrawColor(text3, 16777215);
    TextDrawSetOutline(text3, 1);
    TextDrawSetProportional(text3, 1);
    TextDrawUseBox(text3, 1);
    TextDrawBoxColor(text3, 0xFFFFFFFF);
    TextDrawTextSize(text3, 417.000000, 50.000000);



    und hier die publics, so müsste es richtig sein:


    public textupdate1(playerid)
    {
    TextDrawHideForPlayer(playerid,Text:text1);
    TextDrawHideForPlayer(playerid,Text:text3);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate2",30000,0,"i",playerid);
    return 1;
    }


    public textupdate2(playerid)
    {
    TextDrawHideForPlayer(playerid,Text:text2);
    TextDrawHideForPlayer(playerid,Text:text1);
    TextDrawShowForPlayer(playerid,text2);
    SetTimerEx("textupdate3",30000,0,"i",playerid);
    return 1;
    }


    public textupdate3(playerid)
    {
    TextDrawHideForPlayer(playerid,Text:text2);
    TextDrawHideForPlayer(playerid,Text:text3);
    TextDrawShowForPlayer(playerid,text1);
    SetTimerEx("textupdate1",30000,0,"i",playerid);
    return 1;
    }


    //edit: überall wo du die farbe einstellst bei den textdraws, egal ob backgroun, textdrawbox, etc., musst du ein farbcode nehmen und keine zahl also 0xXXXXXXX

  • mhh Warum 3 Timer ? warum drei Textdraw an der gleichen Position ?
    also das ist wenig naja verschwenderisch =)


    Mach nur ein textdraw und änder das immer wieder also den Text !
    Spart Zeilen sowie weitere TextDrawCreate !


    :thumbup:

    Opa :love: Freund und helfer =)

  • Opa :love: Freund und helfer =)