Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-03-05, 11:16


Brzysiek

Skrypter pralek






Wiek: 28
Na forum: 5340 dni
Posty: 488
Nick w MP: Brzysiek

Piwa: 1034

Respekt: 360
Respekt: 360Respekt: 360Respekt: 360Respekt: 360

Cze??.
Bez owijania w bawe?n?, kod :

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

Teksty si? po prostu nie tworz?.
B??d w debugu :

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-05, 18:25


Oski

LUA Scripter






Wiek: 30
Na forum: 5387 dni
Posty: 428
Nick w MP: Oski

Piwa: 56

Respekt: 75,1


for a,b in pairs(textsToDraw) do
if a == 9 then
rendz = tonumber(9)
end


Ja to bym zrobi? tak ale czy przypadkiem nie zmixowa?e? p?tli for to do z ipairs ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-05, 18:58


Brzysiek

Skrypter pralek






Wiek: 28
Na forum: 5340 dni
Posty: 488
Nick w MP: Brzysiek

Piwa: 1034

Respekt: 360
Respekt: 360Respekt: 360Respekt: 360Respekt: 360

Dzi?ki, pi?knie dzia?a.
Cytat:


ale czy przypadkiem nie zmixowa?e? p?tli for to do z ipairs ?

Nie rozumiem o co Ci chodzi.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-03-05, 20:31


Oski

LUA Scripter






Wiek: 30
Na forum: 5387 dni
Posty: 428
Nick w MP: Oski

Piwa: 56

Respekt: 75,1

A nie sorka schize z?apa?em ;]
W szkole c++ i pascal
w domu lua i php i mam taki mix ?e m?g?bym stworzy? biblioteke ca?kowicie innego j?zyka.
Dobrze ?e pomog?o. Piorunek, mo?esz zamkn?? ;]

Postaw piwo autorowi tego posta
 

 
Tagi: funkcja :: nie :: zwraca :: tego :: powinna(?)
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku