local texty = {
{x=-2343, y=-1624, z=484},
{x=-2636, y=1350, z=8},
{x=1348, y=1282, z=12},
{x=2108,y=1002,z=13},
{x=-2647, y=-131, z=969},
{x=-2093, y=-2826, z=4},
{x=-2308, y=-3115, z=1840},
{x=-507, y=-3577, z=5},
{x=1545, y=-1359, z=330},
{x=-681, y=408, z=3},
{x=2505, y=-1667, z=15},
{x=-2033,y=135, z=30},
{x=244, y=-1800, z=6},
{x=349, y=2537, z=18},
{x=888, y=-1694, z=19},
{x=79, y=1920, z=18},
{x=1432, y=-2432, z=14},
{x=958, y=2442, z=12}
}
sx,sy = guiGetScreenSize()
textsToDraw = {}
local function checkRange()
for a,b in pairs(textsToDraw) do
rendz = tonumber(b[9]) -- je?li dodam tutaj or 50, wszystko dzia?a ok, ale teksty s? wy?wietlane na odleg?o?? 50 metr?w
end
return rendz
end
addEventHandler("onClientRender",root,
function()
for a,b in pairs(textsToDraw) do
local rendz = checkRange()
x,y,z = b[1],b[2],b[3]
scx,scy = getScreenFromWorldPosition (x,y,z)
camX,camY,camZ = getCameraMatrix()
if scx and scy and getDistanceBetweenPoints3D(camX,camY,camZ,x,y,z+5) <= rendz then
dxDrawFramedText(b[4],scx-0.5*dxGetTextWidth(b[4],2,"default-bold"),scy+30-0.5*dxGetFontHeight(2,"default-bold"),sx, sy+5,tocolor ( b[5], b[6], b[7], 255 ), b[8],"default-bold")
end
end
end
)
function add3DText(x,y,z,text,r,g,b, scale, range)
scale = scale or 2.25
range = checkRange()
table.insert(textsToDraw,{x,y,z,text,r,g,b, scale, range})
end
for k,tekst in ipairs(texty) do
add3DText(tekst.x + 0.5 ,tekst.y,tekst.z - 0.85, "test", 255, 255, 255, 1.1, 8)
end