Suche Person, die sich mit anklickbaren Textdraws besser auskennt

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
  • Hallo Community,


    ich suche eine Person, die sich gut mit anklickbaren Textdraws auskennt.
    Genauer genommen mit der Funktion: https://wiki.sa-mp.com/wiki/PlayerTextDrawTextSize und https://wiki.sa-mp.com/wiki/TextDrawTextSize


    Diese Fummelarbeit ist nichts für mich, zumindest will es nicht so ganz. Ich möchte auch nicht meinen Code oder so veröffentlichen, da hier echt schon einzigartige Dinge vorhanden sind.
    Vielleicht hat jemand Lust und mag es mir auf dem TeamSpeak erklären: 185.101.92.39


    Viele Grüße,
    SnipeZ

  • Du musst die Größe das anklickbaren Bereiches mit TextDrawTextSize anpassen. https://wiki.sa-mp.com/wiki/PlayerTextDrawTextSize Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.


    Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist TextDrawTextSize-X = 120 + 64 = 184.
    Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre TextDrawTextSize-Y = 24.

  • Du kannst es mit einem einfachen TextDraw editor machen und dann im Script TextDrawSetClickable einschalten für das Textdraw.

    Wenn ich mehrere TextDraws verwende, kommen diese sich in die Quere. ;)


    Jeffry
    Ein netter User hat mir auf dem TeamSpeak einen Rat gegeben, welchen ich auch befolgte. Ich sollte mittig des anklickbaren Textdraws eine Box setzten, was ich tat.
    Dann TextDrawTextSize der Box nehmen und die jeweilige Y-Achse um 5-10 erhöhen. Leider funktioniert das ganze nicht, so wie ich will.
    Mit deinem "Tutorial" kann ich leider nicht viel anfangen. Mein Textdraw liegt z.B auf folgenden Koordinaten: TextDrawCreate(148.999984, 422.696319, "Einloggen");

  • Was genau ist denn gerade dein Problem? Dass die Textdraws nicht genau genug anklickbar sind? Oder hab ich da was falsch verstanden? Wenn dem so ist war für mich immer die gemütlichste Methode, auf den Local Server zu connecten, das TD Plugin zu starten und den Textdraw direkt im Spiel zu bearbeiten. So konnte ich auch direkt sehen, wo was landet. Da habe ich dann einfach die Box des Textdraws aktiviert (der spätere Bereich, der anklickbar ist) und so gezogen, wie ich es wollte.


    Den Sourcecode dann speichern lassen, die Box darin wieder deaktiviert (einfach Wert auf 0 setzen oder Zeile löschen), damit man sie später auch nicht sieht und fertig war der anklickbare Textdraw.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Danke erstmal für deine Hilfe. Wie ziehst du die Box denn dann?
    Ich benutze den TextDraw Editor von iPleoMax (oder wie der heißt..) und finde leider keine Funktion, um nur die Box zu verschieben.


    E: So bin weiter gekommen, funktioniert nun. Eine TextDraw Box kann man nach dem Prinzip nicht anklickbar machen, so wie ich feststellen musste.
    Liege ich da falsch oder hat jemand ein Tutorial dafür?

    2 Mal editiert, zuletzt von SnipeZ () aus folgendem Grund: //edit: Hinzugefügt

  • Hier ist der Code, von der Box.
    StartTextdraw[3] = TextDrawCreate(246.666671, 396.818542, "usebox");
    TextDrawLetterSize(StartTextdraw[3], 0.000000, 1.342587);
    TextDrawTextSize(StartTextdraw[3], 121.000000, 0.000000);
    TextDrawAlignment(StartTextdraw[3], 1);
    TextDrawColor(StartTextdraw[3], 0);
    TextDrawUseBox(StartTextdraw[3], true);
    TextDrawBoxColor(StartTextdraw[3], 102);
    TextDrawSetShadow(StartTextdraw[3], 0);
    TextDrawSetOutline(StartTextdraw[3], 0);
    TextDrawFont(StartTextdraw[3], 0);
    TextDrawSetSelectable(StartTextdraw[2],true);

  • So funktioniert es bei mir:
    StartTextdraw[3] = TextDrawCreate(121.000000, 396.818542, "usebox");
    TextDrawLetterSize(StartTextdraw[3], 0.000000, 1.342587);
    TextDrawTextSize(StartTextdraw[3], 246.666671, 12.000000);
    TextDrawAlignment(StartTextdraw[3], 1);
    TextDrawColor(StartTextdraw[3], 0);
    TextDrawUseBox(StartTextdraw[3], true);
    TextDrawBoxColor(StartTextdraw[3], 102);
    TextDrawSetShadow(StartTextdraw[3], 0);
    TextDrawSetOutline(StartTextdraw[3], 0);
    TextDrawFont(StartTextdraw[3], 0);
    TextDrawSetSelectable(StartTextdraw[3],true);

  • Danke erstmal, so weit funktioniert das.
    Jedoch sind die beiden Textdraws jetzt unterschiedlich groß, Textdraw 2 befindet sich über Textdraw 3. Wobei Textdraw 3 größer (länger und schmaler) ist, als Textdraw 2.
    StartTextdraw[2] = TextDrawCreate(247.666671, 363.633209, "usebox");
    TextDrawLetterSize(StartTextdraw[2], 0.000000, 1.342586);
    TextDrawTextSize(StartTextdraw[2], 122.000000, 0.000000);
    TextDrawAlignment(StartTextdraw[2], 1);
    TextDrawColor(StartTextdraw[2], 0);
    TextDrawUseBox(StartTextdraw[2], true);
    TextDrawBoxColor(StartTextdraw[2], 255);
    TextDrawSetShadow(StartTextdraw[2], 0);
    TextDrawSetOutline(StartTextdraw[2], 0);
    TextDrawFont(StartTextdraw[2], 0);


    StartTextdraw[3] = TextDrawCreate(121.000000, 396.818542, "usebox");
    TextDrawLetterSize(StartTextdraw[3], 0.000000, 1.342587);
    TextDrawTextSize(StartTextdraw[3], 246.666671, 12.000000);
    TextDrawAlignment(StartTextdraw[3], 1);
    TextDrawColor(StartTextdraw[3], 0);
    TextDrawUseBox(StartTextdraw[3], true);
    TextDrawBoxColor(StartTextdraw[3], 102);
    TextDrawSetShadow(StartTextdraw[3], 0);
    TextDrawSetOutline(StartTextdraw[3], 0);
    TextDrawFont(StartTextdraw[3], 0);
    TextDrawSetSelectable(StartTextdraw[3],true);

  • StartTextdraw[2] = TextDrawCreate(121.000000, 363.633209, "usebox");
    TextDrawLetterSize(StartTextdraw[2], 0.000000, 1.342587);
    TextDrawTextSize(StartTextdraw[2], 246.666671, 12.000000);
    TextDrawAlignment(StartTextdraw[2], 1);
    TextDrawColor(StartTextdraw[2], 0);
    TextDrawUseBox(StartTextdraw[2], true);
    TextDrawBoxColor(StartTextdraw[2], 255);
    TextDrawSetShadow(StartTextdraw[2], 0);
    TextDrawSetOutline(StartTextdraw[2], 0);
    TextDrawFont(StartTextdraw[2], 0);


    StartTextdraw[3] = TextDrawCreate(121.000000, 396.818542, "usebox");
    TextDrawLetterSize(StartTextdraw[3], 0.000000, 1.342587);
    TextDrawTextSize(StartTextdraw[3], 246.666671, 12.000000);
    TextDrawAlignment(StartTextdraw[3], 1);
    TextDrawColor(StartTextdraw[3], 0);
    TextDrawUseBox(StartTextdraw[3], true);
    TextDrawBoxColor(StartTextdraw[3], 102);
    TextDrawSetShadow(StartTextdraw[3], 0);
    TextDrawSetOutline(StartTextdraw[3], 0);
    TextDrawFont(StartTextdraw[3], 0);
    TextDrawSetSelectable(StartTextdraw[3],true);