Report System mit den Textdraws aber wie?

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
  • Ich wollte euch nachfragen wie ich mit diesen Textdraws(Anklickbare) ein Report System machen kann?


    Sup1 = TextDrawCreate(461.200012, 124.699996, "usebox");
    TextDrawLetterSize(Sup1, 0.000000, 27.724819);
    TextDrawTextSize(Sup1, 170.000000, 0.000000);
    TextDrawAlignment(Sup1, 1);
    TextDrawColor(Sup1, 0);
    TextDrawUseBox(Sup1, true);
    TextDrawBoxColor(Sup1, 102);
    TextDrawSetShadow(Sup1, 0);
    TextDrawSetOutline(Sup1, 0);
    TextDrawFont(Sup1, 0);


    Sup2 = TextDrawCreate(176.400009, 149.339996, "usebox");
    TextDrawLetterSize(Sup2, 0.000000, 1.176663);
    TextDrawTextSize(Sup2, 454.799987, 0.000000);
    TextDrawAlignment(Sup2, 1);
    TextDrawColor(Sup2, 0);
    TextDrawUseBox(Sup2, true);
    TextDrawBoxColor(Sup2, 16777215);
    TextDrawSetShadow(Sup2, 0);
    TextDrawSetOutline(Sup2, 0);
    TextDrawFont(Sup2, 0);


    Sup3 = TextDrawCreate(199.199905, 125.439941, "[]Support System[]");
    TextDrawLetterSize(Sup3, 0.449999, 1.600000);
    TextDrawAlignment(Sup3, 1);
    TextDrawColor(Sup3, -5963521);
    TextDrawSetShadow(Sup3, 0);
    TextDrawSetOutline(Sup3, 0);
    TextDrawBackgroundColor(Sup3, 51);
    TextDrawFont(Sup3, 2);
    TextDrawSetProportional(Sup3, 1);


    Sup4 = TextDrawCreate(178.399810, 173.226699, "[]Support Frage");
    TextDrawLetterSize(Sup4, 0.449999, 1.600000);
    TextDrawAlignment(Sup4, 1);
    TextDrawColor(Sup4, -1);
    TextDrawSetShadow(Sup4, 0);
    TextDrawSetOutline(Sup4, 1);
    TextDrawBackgroundColor(Sup4, 51);
    TextDrawFont(Sup4, 2);
    TextDrawSetProportional(Sup4, 1);
    TextDrawSetSelectable(Sup4, true);


    Sup5 = TextDrawCreate(177.200012, 362.887145, "usebox");
    TextDrawLetterSize(Sup5, 0.000000, 1.176663);
    TextDrawTextSize(Sup5, 454.799926, 0.000000);
    TextDrawAlignment(Sup5, 1);
    TextDrawColor(Sup5, 0);
    TextDrawUseBox(Sup5, true);
    TextDrawBoxColor(Sup5, 16777215);
    TextDrawSetShadow(Sup5, 0);
    TextDrawSetOutline(Sup5, 0);
    TextDrawFont(Sup5, 0);


    Sup6 = TextDrawCreate(178.399902, 207.573593, "[]Beschwerde");
    TextDrawLetterSize(Sup6, 0.449999, 1.600000);
    TextDrawAlignment(Sup6, 1);
    TextDrawColor(Sup6, -1);
    TextDrawSetShadow(Sup6, 0);
    TextDrawSetOutline(Sup6, 1);
    TextDrawBackgroundColor(Sup6, 51);
    TextDrawFont(Sup6, 2);
    TextDrawSetProportional(Sup6, 1);
    TextDrawSetSelectable(Sup6, true);


    Sup7 = TextDrawCreate(178.400009, 244.906631, "[]Cheater melden");
    TextDrawLetterSize(Sup7, 0.449999, 1.600000);
    TextDrawAlignment(Sup7, 1);
    TextDrawColor(Sup7, -1);
    TextDrawSetShadow(Sup7, 0);
    TextDrawSetOutline(Sup7, 1);
    TextDrawBackgroundColor(Sup7, 51);
    TextDrawFont(Sup7, 2);
    TextDrawSetProportional(Sup7, 1);
    TextDrawSetSelectable(Sup7, true);


    Sup8 = TextDrawCreate(177.599929, 282.986633, "[]Bug melden");
    TextDrawLetterSize(Sup8, 0.449999, 1.600000);
    TextDrawAlignment(Sup8, 1);
    TextDrawColor(Sup8, -1);
    TextDrawSetShadow(Sup8, 0);
    TextDrawSetOutline(Sup8, 1);
    TextDrawBackgroundColor(Sup8, 51);
    TextDrawFont(Sup8, 2);
    TextDrawSetProportional(Sup8, 1);
    TextDrawSetSelectable(Sup8, true);


    Sup9 = TextDrawCreate(461.200012, 149.339996, "usebox");
    TextDrawLetterSize(Sup9, 0.000000, 24.987035);
    TextDrawTextSize(Sup9, 439.600036, 0.000000);
    TextDrawAlignment(Sup9, 1);
    TextDrawColor(Sup9, 0);
    TextDrawUseBox(Sup9, true);
    TextDrawBoxColor(Sup9, 16777215);
    TextDrawSetShadow(Sup9, 0);
    TextDrawSetOutline(Sup9, 0);
    TextDrawFont(Sup9, 0);


    Sup10 = TextDrawCreate(190.799987, 150.086685, "usebox");
    TextDrawLetterSize(Sup10, 0.000000, 24.987035);
    TextDrawTextSize(Sup10, 169.999969, 0.000000);
    TextDrawAlignment(Sup10, 1);
    TextDrawColor(Sup10, 0);
    TextDrawUseBox(Sup10, true);
    TextDrawBoxColor(Sup10, 16777215);
    TextDrawSetShadow(Sup10, 0);
    TextDrawSetOutline(Sup10, 0);
    TextDrawFont(Sup10, 0);



    Danke im voraus, kenne mich noch nicht aus mit anklickbaren TExtdraws

  • Falsche Ansätze ;)
    Du musst für jedes TextDraw 2 Variablen erstellen.
    zB.:

    new bool:gefragt[10]:
    new bool:akiversupport[10];

    Und dann mit einem Enum weiterarbeiten.
    Such mal den Thread von mir, dort hatte ich mal Probleme und habe große Schnipsel dort gelassen.
    Du kannst natürlich gefragt und aktiversupport in ein Enum packen.
    Wichtig ist, dass die beiden ein Bool sind.
    Dann musst du dynamisch alles scripten.
    Frage speichern und neu formatieren bei neuem Report mit der ID, etc.


    Bei Fragen kannst du dich gerne an mich wenden.


    PS: Wehe du benutzt PTDs! Größter Fehler den man machen kann!

  • Erstmal danke iEnergie,
    aber ich habe ein Textdraw erstellt einfach nur eine schwarze Box:
    Sup1 = TextDrawCreate(461.200622, 123.953300, "usebox");
    TextDrawLetterSize(Sup1, 0.000000, 27.724819);
    TextDrawTextSize(Sup1, 169.999694, 0.000000);
    TextDrawAlignment(Sup1, 1);
    TextDrawColor(Sup1, 0);
    TextDrawUseBox(Sup1, true);
    TextDrawBoxColor(Sup1, 255);
    TextDrawSetShadow(Sup1, 0);
    TextDrawSetOutline(Sup1, 0);
    TextDrawFont(Sup1, 0);


    Wenn ich dann /report eingebe,wird diese Schwarze Box 1-2 Sekunden angezeigt und dann geht sie weg,aber warum?


    new Text:Sup1;


    ocmd:report(playerid,params[])
    {
    SendClientMessage(playerid,Rot,""COLB"Klicke das jeweilige Thema an, was du Reporten willst!");
    TextDrawShowForPlayer(playerid,Sup1);
    TextDrawShowForPlayer(playerid,Sup2);
    TextDrawShowForPlayer(playerid,Sup3);
    TextDrawShowForPlayer(playerid,Sup4);
    TextDrawShowForPlayer(playerid,Sup5);
    TextDrawShowForPlayer(playerid,Sup6);
    TextDrawShowForPlayer(playerid,Sup7);
    TextDrawShowForPlayer(playerid,Sup8);
    TextDrawShowForPlayer(playerid,Sup9);
    TextDrawShowForPlayer(playerid,Sup10);
    return 1;
    }



    und ich will,wenn man über die einzelnen felder geht,das die sich dann Färben wo man drauf ist,aber wie geht das?

  • //edit: Jetzt habe ich das problem,das diese Box nur 1-2Sekunden angezeigt wird:
    TextDrawShowForPlayer(playerid,Sup1);
    Sup1 = TextDrawCreate(461.200622, 123.953300, "usebox");
    TextDrawLetterSize(Sup1, 0.000000, 27.724819);
    TextDrawTextSize(Sup1, 169.999694, 0.000000);
    TextDrawAlignment(Sup1, 1);
    TextDrawColor(Sup1, 0);
    TextDrawUseBox(Sup1, true);
    TextDrawBoxColor(Sup1, 255);
    TextDrawSetShadow(Sup1, 0);
    TextDrawSetOutline(Sup1, 0);
    TextDrawFont(Sup1, 0);

    Einmal editiert, zuletzt von [PeL]Smiley ()

  • //edit: Jetzt habe ich das problem,das diese Box nur 1-2Sekunden angezeigt wird:


    Auf Anfrage in PN:


    Nutzt du einen Timer, mit dem du die Box entfernen lässt? Oder hast du allgemein Timer am laufen, welche Textdraws entfernen?
    Funktioniert es, wenn du das Textdraw mit einer zweiten Variable nochmals erstellst und dem Spieler dann beide Textdraws anzeigst? Wenn dann nur eins davon weg geht ist das andere ja trotzdem noch da. Teste das mal. Ist zwar keine schöne Lösung, aber besser als keine.