SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. dxDrawText

Funkcja

dxDrawText

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

Składnia

Krótka forma

bool dxDrawText(string text, float left, float top [, float right, float bottom, int color, float scale, font font, string alignX, string alignY, bool clip, bool wordBreak, bool postGUI, bool colorCoded])

Z tabelą opcji

bool dxDrawText(string text, float left, float top, float right, float bottom, int color, table options)

Argumenty

textstring
Tekst do narysowania.
left, topfloat
Lewy górny róg obszaru tekstu w pikselach.
right, bottomfloat, opcjonalny = left, top
Prawy dolny róg obszaru. Potrzebny do wyrównania do środka albo do prawej.
colorint, opcjonalny = tocolor(255, 255, 255)
Kolor z tocolor(r, g, b, a).
scalefloat, opcjonalny = 1
Powiększenie tekstu. Możesz podać dwie liczby: osobno w poziomie i w pionie.
fontstring|font, opcjonalny = default
Nazwa wbudowanej czcionki (default, default-bold, pricedown...) albo czcionka z dxCreateFont.
alignXstring, opcjonalny = left
left, center albo right.
alignYstring, opcjonalny = top
top, center albo bottom.
clipbool, opcjonalny = false
Ucina tekst wystający poza obszar.
wordBreakbool, opcjonalny = false
Łamie długi tekst na kilka linii w obrębie obszaru.
postGUIbool, opcjonalny = false
Rysuje nad oknami GUI.
colorCodedbool, opcjonalny = false
Włącza kolory w tekście zapisane jak #FF7A22.
optionstable, opcjonalny
Zamiast listy argumentów: tabela z polami font, scale, alignX, alignY, shadow, outline, fit, ellipsis i innymi.W MTA:SA inny typ: bool subPixelPositioning = false

Różnice względem MTA:SA

  • Argumenty zaznaczone innym kolorem różnią się od MTA:SA.
  • Tych argumentów z MTA:SA tu nie ma: float fRotation = 0.0, float fRotationCenterX = 0.0, float fRotationCenterY = 0.0, float fLineSpacing = 0.0

W MTA:SA

dxDrawText(string text, float leftX, float topY, float rightX = leftX, float bottomY = topY, int color = 0xFFFFFFFF, float textSize, string/dx-font font = "default", string alignX = "left", string alignY = "top", bool clip = false, bool wordBreak = false, bool postGUI = false, bool colorCoded = false, bool subPixelPositioning = false, float fRotation = 0.0, float fRotationCenterX = 0.0, float fRotationCenterY = 0.0, float fLineSpacing = 0.0)

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

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

Obrót tekstu. Argumenty obrotu 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ż