Собственно вопрос заключается в следующем: с использованием данной функции хотел определить виден ли элемент на экране. Функция вроде как работает, но почему то видит элемент через объекты. Пример:
Ник персонажа Cooper виден через стену здания:
Вот собственно и сам персонаж Cooper, который был виден с помощью этой функции через стену:
Исходник:
ttext1 = dxText:create("Mike",-70,70,false)
ttext1:font("tahoma")
ttext1:scale(2)
ttext1:type("border", 2, 0, 0, 0, 255)
ttext1:color(5,97,250,200)
ttext2 = dxText:create("Rachel",-70,70,false)
ttext2:font("tahoma")
ttext2:scale(2)
ttext2:type("border", 2, 0, 0, 0, 255)
ttext2:color(5,97,250,200)
ttext3 = dxText:create("Will",-70,70,false)
ttext3:font("tahoma")
ttext3:scale(2)
ttext3:type("border", 2, 0, 0, 0, 255)
ttext3:color(5,97,250,200)
ttext4 = dxText:create("Cooper",-70,70,false)
ttext4:font("tahoma")
ttext4:scale(2)
ttext4:type("border", 2, 0, 0, 0, 255)
ttext4:color(5,97,250,200)
function NameTags ()
local peds = getElementsByType("ped")
for id,p in ipairs(peds) do
if (getElementData (p, "team") == "surv") then
local mx,my,mz = getElementPosition(p)
local sx,sy = getScreenFromWorldPosition ( mx, my, mz)
if (getElementData (p, "zclass") == "nick") then
if isElementOnScreen ( p ) then
ttext1:position(sx,sy - 110,false)
ttext1:visible(true)
else
ttext1:visible(false)
end
elseif (getElementData (p, "zclass") == "alice") then
if isElementOnScreen ( p ) then
ttext2:position(sx,sy - 110,false)
ttext2:visible(true)
else
ttext2:visible(false)
end
elseif (getElementData (p, "zclass") == "will") then
if isElementOnScreen ( p ) then
ttext3:position(sx,sy - 110,false)
ttext3:visible(true)
else
ttext3:visible(false)
end
elseif (getElementData (p, "zclass") == "coach") then
if isElementOnScreen ( p ) then
ttext4:position(sx,sy - 110,false)
ttext4:visible(true)
else
ttext4:visible(false)
end
end
end
end
end
addEventHandler ( "onClientPreRender", getRootElement(), NameTags )
Есть ли возможность сделать так, чтобы через стены не было видно тэги персов?
---
чтобы код подсвечивался как LUA, можно юзать ВВ код [cоde=lua][/cоde]