Tag,
Irgendwie begreife ich das mit diesen Feld das zum Anklicken ist nicht.
Wie kann ich rausfinden wie groß das Feld ist und wo das ist? Benutze ein Textdraw Editor oder muss ich das auf gut Glück machen ?
Tag,
Irgendwie begreife ich das mit diesen Feld das zum Anklicken ist nicht.
Wie kann ich rausfinden wie groß das Feld ist und wo das ist? Benutze ein Textdraw Editor oder muss ich das auf gut Glück machen ?
Du musst die Größe das anklickbaren Bereiches mit TextDrawTextSize anpassen. https://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.
Gibt es dafür ein Plugin oder einfache Methode. Schon etwas schwierig
Mir wäre nichts bekannt.
Wenn du das zwei drei mal gemacht hast, dann wirst du sehen dass es gar nicht so schwer ist. Gehe einfach denden Text den ich dir geschrieben habe Punkt für Punkt durch.
Nimm als y-Wert 10, klappt MEISTENS
Als x Wert musst du darauf achten, wie die Position ist:
Ein Buchstabe hat im durchschnitt eine Breite von 7-8Units.
Da man das mir der LetterSize verechnen muss, hat er meistens ne Breite von 5Units (alles auf normale Maße bezogen). Somit bräuchte man bei 10 Buchstaben z.B. 50Units (muss man eh alles korrigieren).
Du machst also folgendes:
Wenn es Linksbündig ist:
TextDrawSetTextSize(Textdraw, positionX -4 + width, 10.0);
Wenn es zentriert ist (muss man beide Werte vertauschen):
TextDrawSetTextSize(Textdraw, 10.0, width -4);
Bei Rechtsbündigkeit:
TextDrawSetTextSize(Textdraw, positionX -4 - width, 10.0);
positionX ist dabei die X Koordinate des Textdraws und width die gewünschte Breite.
Bei Links- und Rechtbündigkeit wird es sich also auf die absoluten Pixel bezogen (fester Wert), bei zentrierten Textdraws relativ.
Bei der Höhe muss man normalerweise '-3' rechnen und bei der Breite '-5', doch bei mir war es bisher immer so, dass -4 besser klappte vom Aussehen, dass die TextdrawTextSize absolut auf 0 ist -> ist also eine Korrektur falls man die Breite nicht austestet sonden berechnet
Mit einem Editor kannste auch die Box erstellen, dabei müsste normalerweise bei TextSize die x-Koordinate gesetzt werden. Wenn die y-Koordinate dabei auf 0 ist, setzt du sie auf 10.0. Falls du es nicht hinbekommst, sende ich dir nen Link, welchen Editor ich benutze... (bin am Handy, ist alles unpraktisch iwie ^^)