- Dokumentacja
- Funkcje klienta
- dxDrawText
Funkcja
dxDrawText
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 zdxCreateFont. wyrownajXstring, opcjonalny = leftleft,centeralboright.wyrownajYstring, opcjonalny = toptop,centeralbobottom.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,ellipsisi 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.