Textdraw Klicken Radius

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
  • Guten Morgen,
    ich möchte gerne das man mein Textdraw Anklicken kann, das klappt auch, nur ist der Radius zum Anklicken sehr Groß,
    Habe auch die Funktion gefunden wie ich dies ändern kann, nur weiß ich nicht wie die 'X' und 'Y' Position herraus finde.


    Kann mir da einer Helfen?


    Mit freundlichen Grüßen,

  • Beitrag von [DT]midomen ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Handy verlinkung bugt ().
  • Habe nun ein anderen Textdraw Editor genutzt.
    Hab auch die Kordinaten erhalten mit Hilfe einer Box.
    So schaut das ganze aus:

    LoginScreen[playerid][4] = CreatePlayerTextDraw(playerid, 116.399314, 169.407562, "EINLOGGEN");
    PlayerTextDrawLetterSize(playerid, LoginScreen[playerid][4], 0.400000, 1.600000);
    PlayerTextDrawTextSize(playerid, LoginScreen[playerid][4], 0.000000, 76.000000);
    PlayerTextDrawAlignment(playerid, LoginScreen[playerid][4], 2);
    PlayerTextDrawColor(playerid, LoginScreen[playerid][4], -1768515841);
    PlayerTextDrawSetShadow(playerid, LoginScreen[playerid][4], 0);
    PlayerTextDrawSetOutline(playerid, LoginScreen[playerid][4], 1);
    PlayerTextDrawBackgroundColor(playerid, LoginScreen[playerid][4], 255);
    PlayerTextDrawFont(playerid, LoginScreen[playerid][4], 1);
    PlayerTextDrawSetProportional(playerid, LoginScreen[playerid][4], 1);
    PlayerTextDrawSetShadow(playerid, LoginScreen[playerid][4], 0);
    PlayerTextDrawSetSelectable(playerid, LoginScreen[playerid][4], true);


    SelectTextDraw(playerid, -1);


    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
    {
    if(playertextid == LoginScreen[playerid][4])
    {
    SendClientMessage(playerid, -1, "Geht");
    CancelSelectTextDraw(playerid);
    }
    return 1;
    }


    Jetzt kann ich die aber leider immer noch nicht Anklicken.
    Klappt es vielleicht bei euch?


    Textdraw wird erstellt, Mauszeiger bekomme ich auch, aber die Farbe wenn man darüber geht ändert sich nicht bzw. wenn ich drauf Klicke passiert ebenfalls nichts.


    Mit freundlichen Grüßen,


    //e Komplett Text überarbeitet


    Einmal editiert, zuletzt von Kisa ()

  • Der Fehler liegt bei PlayerTextDrawTextSize.
    Da ist bei dir der X Wert 0.



    So wäre es korrekt:


    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 PlayerTextDrawTextSize-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 PlayerTextDrawTextSize-Y = 24.



    In deinem Fall in etwa so:
    PlayerTextDrawTextSize(playerid, LoginScreen[playerid][4], 116.399314 + 70.0, 30.0);


    Die 70 und 30 sind nur geschätzt. Das kann natürlich mehr/weniger sein. Passe es dann entsprechend an.

  • Ach du heilige. :D
    Ich dachte mit diesen Box kann ich die Kordi einfach nehmen.


    Oder gibt ein Textdraw Editor der dies schon selbst richtig Anpasst?


    Mit freundlichen Grüßen,

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen