OnPlayerClickTextDraw Geht nicht

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 Breadfish ich habe mal wieder ein Problem dieses mal mit OnPlayerClickTextDraw ich habe mir ein TextDraw erstellt wo man rauf klicken soll aber es passiert einfach nicks ich bitte um hilfe


    mfg Paddy87

  • so


    Angezeigt wird er aber aber ich kann rauf klicken aber es passiert nicks

  • Deine TextDrawTextSize (X) ist 0, sprich das Textdraw hat keine anklickbare Breite.


    Versuche es so:

    C
    TextDrawTextSize(LoginString[12], 50.00, 12.00);


    Gegebenenfalls musst du die Werte noch anpassen, die sind nur geschätzt.



    Grundsätzlich musst du die Größe das anklickbaren Bereiches mit TextDrawTextSize anpassen. wiki.sa-mp.com/wiki/TextDrawTextSize 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.

  • Ungefähr so


  • Die Funktion TextDrawSetSelectable ist dazu da, dass Textdraw selectable (anklickbar) zu machen (true) bzw. auszuschalten (false).

  • Jetzt habe ich das Nächste Problem mit TextDraw wenn jemand Connectet erscheint erstt mein name und wenn 2 sekunden später wieder jemand Connectet tauscht bei allen plätzlich sein name auf der ändert sich jedes mal wenn ein neuer Connectet


    OnPlayerConnect:

    C
    TextDrawShowForPlayer(playerid, LoginString[10]);
      format(ALLSTRING, sizeof(ALLSTRING), "~y~%s", Loginsendername);
        TextDrawSetString(LoginString[10],ALLSTRING);


    OnGameModeInit:

  • dann musst du playertextdraws verwenden.
    Schau es dir bei wiki mal an :D