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
  • Hallo, ich habe leider eine kleine Pawn-Bildungslücke in sachen Textdraws.
    Ich wollte ein anklickbares Textdraw erstellen, jedoch lässt sich dieses nicht anklicken.
    Code:



    //OnGameModeInit
    LoginTextDraw = TextDrawCreate(270 ,75 , "Einloggen");
    TextDrawFont(LoginTextDraw , 1);
    TextDrawLetterSize(LoginTextDraw , 0.4, 2.1);
    TextDrawColor(LoginTextDraw , 0xFFFFFFFF);
    TextDrawSetOutline(LoginTextDraw , false);
    TextDrawSetProportional(LoginTextDraw , true);
    TextDrawSetShadow(LoginTextDraw , 1);


    //OnPlayerConnect
    TextDrawShowForPlayer(playerid, LoginTextDraw);
    TextDrawSetSelectable(LoginTextDraw, true);
    SelectTextDraw(playerid, 0x00856FFF);



    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == LoginTextDraw)
    {
    SendClientMessage(playerid, 0xFF0000AA, "Test!!!");
    }
    return 1;
    }


    Kennt jemand den Fehler? :S

  • Hab ich doch o_O
    Oder muss das oben in OnGameModeInit hin? Da hatte ich es nämlich auch schon, aber da wollte es auch nicht funktionieren^^


    //Edit: Jetzt funktioniert es zwar, aber die Reichweite des Textdraws ist viel zu groß (min. die 5-fache länge nach unten auf der y Achse..) Wieso das?!

  • LoginTextDraw = TextDrawCreate(270 ,75 , "Einloggen");
    TextDrawFont(LoginTextDraw , 1);
    TextDrawLetterSize(LoginTextDraw , 0.4, 2.1);
    TextDrawColor(LoginTextDraw , 0xFFFFFFFF);
    TextDrawSetOutline(LoginTextDraw , false);
    TextDrawSetProportional(LoginTextDraw , true);
    TextDrawSetShadow(LoginTextDraw , 1);
    TextDrawSetSelectable(LoginTextDraw,true);

  • lass mich raten es leuchtet schon auf wen du net mal mit der maus drüber bist ?
    das hatte ich ab 2 nämmlich auch und es ist net bebar da mir keiner helfen konnte

  • Ja PawnFox, genau das meine ich...


    //Edit:
    Das Textdraw ist immer an der Fläche anwählbar, die sich auf den Bereich begrenzt, der zwischen den Linien liegt, die
    a) vom Textdraw nach rechts geht
    b) vom Textdraw nach unten geht


    //E²:
    Inzwischen hab ich rausgefunden, dass ich mit TextDrawTextSize das irgendwie ändern kann (also die TDBox), aber ganz bekomm ich es noch nicht hin...
    Kennt sich damit keiner aus?

    2 Mal editiert, zuletzt von xerox102 ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Es ist zwar ein Thema von 2012, aber du musst wie oben schon genannt mit TextDrawTextSize bzw. PlayerTextDrawTextSize arbeiten ;)

  • Ich weiß das das Thema alt ist aber wie. Das hab ich drin und das kann ich garnicht anklicken.



    Textdraw6[playerid] = CreatePlayerTextDraw(playerid,285.000000, 261.000000, "Kennwort eingeben");
    PlayerTextDrawBackgroundColor(playerid,Textdraw6[playerid], 255);
    PlayerTextDrawFont(playerid,Textdraw6[playerid], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw6[playerid], 0.250000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw6[playerid], 960051711);
    PlayerTextDrawSetOutline(playerid,Textdraw6[playerid], 0);
    PlayerTextDrawSetProportional(playerid,Textdraw6[playerid], 1);
    PlayerTextDrawSetShadow(playerid,Textdraw6[playerid], 0);
    PlayerTextDrawUseBox(playerid,Textdraw6[playerid], 1);
    PlayerTextDrawBoxColor(playerid,Textdraw6[playerid], 1835888127);
    PlayerTextDrawTextSize(playerid,Textdraw6[playerid], 392.000000, -100.000000);
    PlayerTextDrawSetSelectable(playerid,Textdraw6[playerid], 1);


    Textdraw7[playerid] = CreatePlayerTextDraw(playerid,285.000000, 241.000000, "Kennwort eingeben");
    PlayerTextDrawBackgroundColor(playerid,Textdraw7[playerid], 255);
    PlayerTextDrawFont(playerid,Textdraw7[playerid], 2);
    PlayerTextDrawLetterSize(playerid,Textdraw7[playerid], 0.250000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw7[playerid], 960051711);
    PlayerTextDrawSetOutline(playerid,Textdraw7[playerid], 0);
    PlayerTextDrawSetProportional(playerid,Textdraw7[playerid], 1);
    PlayerTextDrawSetShadow(playerid,Textdraw7[playerid], 0);
    PlayerTextDrawUseBox(playerid,Textdraw7[playerid], 1);
    PlayerTextDrawBoxColor(playerid,Textdraw7[playerid], 1835888127);
    PlayerTextDrawTextSize(playerid,Textdraw7[playerid], 392.000000, -100.000000);
    PlayerTextDrawSetSelectable(playerid,Textdraw7[playerid], 1);



    Und das ist wiederrum über den Ganzen Bildschirm verteilt.



    Textdraw13[playerid] = CreatePlayerTextDraw(playerid,205.000000, 215.000000, "Serverregeln klick hier!");
    PlayerTextDrawBackgroundColor(playerid,Textdraw13[playerid], 255);
    PlayerTextDrawFont(playerid,Textdraw13[playerid], 1);
    PlayerTextDrawLetterSize(playerid,Textdraw13[playerid], 0.200000, 1.000000);
    PlayerTextDrawColor(playerid,Textdraw13[playerid], 255);
    PlayerTextDrawSetOutline(playerid,Textdraw13[playerid], 0);
    PlayerTextDrawSetProportional(playerid,Textdraw13[playerid], 1);
    PlayerTextDrawSetShadow(playerid,Textdraw13[playerid], 0);
    PlayerTextDrawSetSelectable(playerid,Textdraw13[playerid], 0);

    Mit freundlichen Grüßen,
    Derakar