What is wrong? /debugscript - 0 errors, console 0 errors, but in game nametags not creating.
nameTable = {}
local screenX, screenY = guiGetScreenSize()
local nameTags = {}
function nameTable.Create(player)
nameTags[player] = true
end
function nameTable.Delete(player)
nameTags[player] = false
end
addEventHandler("onClientRender", getRootElement(), function()
for i, player in ipairs(getElementsByType("player")) do
if isElement(player) then
if player ~= getLocalPlayer() then
setPlayerNametagShowing(player, false)
if not nameTags[player] then
nameTable.Create(player)
end
end
end
end
local cameraX, cameraY, cameraZ = getCameraMatrix()
for thePlayer in pairs(nameTags) do
while true do
if not isElement(player) then
break
end
if getElementDimension(player) ~= getElementDimension(getLocalPlayer()) then
break
end
local playerX, playerY, playerZ = getElementPosition(player)
if processLineOfSight(cameraX, cameraY, cameraZ, playerX, playerY, playerZ, true, false, false, true, false, true) then
break
end
local distance3D = getDistanceBetweenPoints3D(cameraX, cameraY, cameraZ, playerX, playerY, playerZ)
if distance3D <= 60 then
local worldX, worldY = getScreenFromWorldPosition(playerX, playerY, playerZ + 0.95, 0.06)
if not worldX or not worldY then
break
end
dxDrawText(getPlayerName(player), worldX, worldY - 0.3, worldX, worldY - 0.3, tocolor(0, 0, 0, 255), 3, "default", "center", "bottom", false, false, false)
dxDrawText(getPlayerName(player), worldX, worldY - 0.3, worldX, worldY - 0.3, tocolor(255, 224, 128, 220), 3, "default", "center", "bottom", false, false, false)
end
break end
end
end)
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function()
for i, player in ipairs(getElementsByType("player")) do
if player ~= getLocalPlayer() then
nameTable.Create(player)
end
end
end)
addEventHandler("onClientPlayerJoin", getRootElement(), function()
if source == getLocalPlayer() then
return
end
setPlayerNametagShowing(source, false)
nameTable.Create(source)
end)
addEventHandler("onClientPlayerQuit", getRootElement(), function()
nameTable.Delete(source)
end)