FunkcjeWłasny serwerDla twórcówTrilogy Hub vs MTAFAQDocs Lua Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. dxDrawText

Funkcja

dxDrawText

KlientRysowanie (dx)Jak w MTA:SA

Rysuje tekst na ekranie w jednej klatce. Wywołuj w onClientRender, żeby był widoczny cały czas.

Składnia

Jak w MTA:SA

bool dxDrawText(string tekst, float lewo, float gora [, float prawo, float dol, int kolor, float skala, font czcionka, string wyrownajX, string wyrownajY, bool obcinaj, bool zawijaj, bool nadGUI, bool kodyKolorow])

Z tabelą opcji

bool dxDrawText(string tekst, float lewo, float gora, float prawo, float dol, int kolor, table opcje)

Argumenty

tekststring
Tekst do narysowania.
lewo, gorafloat
Lewy górny róg obszaru tekstu w pikselach.
prawo, dolfloat, opcjonalny = lewo, gora
Prawy dolny róg obszaru. Potrzebny do wyrównania do środka albo do prawej.
kolorint, opcjonalny = biały
Kolor z tocolor(r, g, b, a).
skalafloat, opcjonalny = 1
Powiększenie tekstu. Możesz podać dwie liczby: osobno w poziomie i w pionie.
czcionkastring albo font, opcjonalny = default
Nazwa wbudowanej czcionki (default, default-bold, pricedown...) albo czcionka z dxCreateFont.
wyrownajXstring, opcjonalny = left
left, center albo right.
wyrownajYstring, opcjonalny = top
top, center albo bottom.
obcinajbool, opcjonalny = false
Ucina tekst wystający poza obszar.
zawijajbool, opcjonalny = false
Łamie długi tekst na kilka linii w obrębie obszaru.
nadGUIbool, opcjonalny = false
Rysuje nad oknami GUI.
kodyKolorowbool, opcjonalny = false
Włącza kolory w tekście zapisane jak #FF7A22.
opcjetable, opcjonalny
Zamiast listy argumentów: tabela z polami font, scale, alignX, alignY, shadow, outline, fit, ellipsis i innymi.

Zwraca

true, gdy tekst został narysowany, albo false przy złym argumencie.

Przykład

Licznik prędkości w prawym dolnym rogu, z obrysem jak napisy w San Andreas.

local sw, sh = guiGetScreenSize()

addEventHandler("onClientRender", root, function()
    local auto = getPedOccupiedVehicle(localPlayer)
    if not auto then return end

    local vx, vy, vz = getElementVelocity(auto)  -- metry na sekundę
    local kmh = math.floor((vx * vx + vy * vy + vz * vz) ^ 0.5 * 3.6)

    dxDrawText(kmh .. " km/h", 0, 0, sw - 40, sh - 40, tocolor(255, 255, 255), {
        font = "pricedown", scale = 2,
        alignX = "right", alignY = "bottom",
        outline = 2
    })
end)

Uwagi

Ponad MTA. Zamiast długiej listy argumentów możesz podać tabelę opcji. W tabeli są też rzeczy, których w MTA nie ma: własny cień (shadow), obrys (outline), dopasowanie skali do szerokości (fit) i ucinanie z wielokropkiem (ellipsis).

Obrót tekstu. Argumenty obrotu z MTA są przyjmowane, ale tekst nie jest jeszcze obracany. Skrypt dostanie jedno ostrzeżenie w konsoli.

Tylko na jedną klatkę. Tekst znika w następnej klatce. Żeby był widoczny, rysuj go w każdej klatce w onClientRender.

Zobacz też