Textdraw, Klick-Feld definieren

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,


    hat jemand zufällig eine Ahnung, wie ich beispielweise bei dieser Box definiere, wie groß das Feld ist, in das man klicken muss?

    PlayerRegistrierung[playerid][1] = CreatePlayerTextDraw(playerid, 329.666778, 221.351806, "usebox");
    PlayerTextDrawLetterSize(playerid, PlayerRegistrierung[playerid][1], 0.000000, -1.791561);
    PlayerTextDrawTextSize(playerid, PlayerRegistrierung[playerid][1], 239.666595, 0.000000);
    PlayerTextDrawAlignment(playerid, PlayerRegistrierung[playerid][1], 1);
    PlayerTextDrawColor(playerid, PlayerRegistrierung[playerid][1], 0);
    PlayerTextDrawUseBox(playerid, PlayerRegistrierung[playerid][1], true);
    PlayerTextDrawBoxColor(playerid, PlayerRegistrierung[playerid][1], 102);
    PlayerTextDrawSetShadow(playerid, PlayerRegistrierung[playerid][1], 0);
    PlayerTextDrawSetOutline(playerid, PlayerRegistrierung[playerid][1], 0);
    PlayerTextDrawFont(playerid, PlayerRegistrierung[playerid][1], 0);
    PlayerTextDrawSetSelectable(playerid, PlayerRegistrierung[playerid][1], 1);


    Hab gehört, dass man dies mit der LetterSize macht, dabei ändert sich doch aber die Größe der Buchstaben (?)

    Einmal editiert, zuletzt von ShinoX ()

  • Wäre es nicht einfach möglich über das anlickbare Feld eine Box zu erstellen und davon die TextDrawCreate Koordinaten zu nehmen und diese für die TextSize zu ersetzten?


    //e: Funktioniert leider nicht.
    Gibt es keine andere Möglichkeit, anstatt das ich für jeden Button raten muss?

    Einmal editiert, zuletzt von ShinoX ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wenn du eine Box anklickbar machen willst musst du dafür Sprites (LD_SPAC:white) nehmen.



    // Rote Box halb so groß wie der Monitor (640.0 * 0.5, 480.0 * 0.5) fängt an bei 25% von oben und 25% von links (640.0 * 0.25, 480.0 * 0.25)
    // Das wäre die einfachste methode um es selber zu schreiben, benutz aber lieber einen Textdraw Editor.
    new Text:Textdraw = TextDrawCreate(640.0 * 0.25, 480.0 * 0.25, "LD_SPAC:white");
    TextDrawTextSize(Textdraw, 640.0 * 0.5, 480 * 0.5);
    TextDrawColor(Textdraw, 0xFF0000FF);
    TextDrawFont(Textdraw, 4);
    TextDrawSetSelectable(Textdraw, true);
    // ... //
    SelectTextDraw(playerid, 0xFFFFFFFF);



    222 ist riesing setzt das mal kleiner aber eigentlich müsste er ja denn schon dein Ganzen bildschirm nehmen :D

    Erzähl hier doch keinen Schwachsinn.
    Es geht um ein anklickbares Feld.

  • Das ist genau so schwachsinnig. Man kann auch Texte interaktiv gestalten. ;)

  • Funktioniert alles nicht so wie gewollt.
    Hatte ein Sprit über den TextDraw gelegt, um die Koordinaten (TextSize) von dem Sprite für das anklickbare TextDraw zu verwenden.
    Leider rührt sich gar nichts, keine prints.


    //e: Der erste funktioniert.
    Problem besteht jedoch weiterhin. Bin schon mal so weit, dass ich ein unsichtbaren TextDraw über die Box gelegt habe, damit man diesen TextDraw anklickt.
    Einziges Manko; krieg es dort mit der Größe zum anklicken einfach nicht hin, erhalte keinen print, der mir zeigt, dass der TextDraw angeklickt wurde. (Obwohl schon unzählige Versuche mit anderen Koordinaten)

    //Login
    LoginPlayer[playerid][0] = CreatePlayerTextDraw(playerid, 329.333404, 221.351806, "usebox");
    PlayerTextDrawLetterSize(playerid, LoginPlayer[playerid][0], 0.000000, -1.791561);
    PlayerTextDrawTextSize(playerid, LoginPlayer[playerid][0], 239.666595, 0.000000);
    PlayerTextDrawAlignment(playerid, LoginPlayer[playerid][0], 1);
    PlayerTextDrawColor(playerid, LoginPlayer[playerid][0], 0);
    PlayerTextDrawUseBox(playerid, LoginPlayer[playerid][0], true);
    PlayerTextDrawBoxColor(playerid, LoginPlayer[playerid][0], 102);
    PlayerTextDrawSetShadow(playerid, LoginPlayer[playerid][0], 0);
    PlayerTextDrawSetOutline(playerid, LoginPlayer[playerid][0], 0);
    PlayerTextDrawFont(playerid, LoginPlayer[playerid][0], 0);
    PlayerTextDrawSetSelectable(playerid, LoginPlayer[playerid][0], 1);

    LoginPlayer[playerid][2] = CreatePlayerTextDraw(playerid, 245.999832, 202.014755, " ");
    PlayerTextDrawLetterSize(playerid, LoginPlayer[playerid][2], 0.449999, 1.600000);
    PlayerTextDrawTextSize(playerid, LoginPlayer[playerid][2], 241.333328, 208.237030);
    PlayerTextDrawAlignment(playerid, LoginPlayer[playerid][2] , 1);
    PlayerTextDrawColor(playerid, LoginPlayer[playerid][2] , -1);
    PlayerTextDrawSetShadow(playerid, LoginPlayer[playerid][2] , 0);
    PlayerTextDrawSetOutline(playerid, LoginPlayer[playerid][2] , 1);
    PlayerTextDrawBackgroundColor(playerid, LoginPlayer[playerid][2] , 51);
    PlayerTextDrawFont(playerid, LoginPlayer[playerid][2] , 0);
    PlayerTextDrawSetProportional(playerid, LoginPlayer[playerid][2] , 1);
    PlayerTextDrawSetSelectable(playerid, LoginPlayer[playerid][2], 1);

    3 Mal editiert, zuletzt von ShinoX ()