Guten Tag,
ich habe versucht ein Scoreboard für den Gamemode DayZ zuerstellen!
Das Scoreboard würd aber nicht angezeigt wenn ich tab drücke warum?
Kann mir bitte jemand helfen!
Code:
SQL
sx, sy = guiGetScreenSize()
px, py = 1920, 1080
roundTime = function(value)
if value then
value = math.round(tostring(value / 60), 2)
return value
end
return false
end
playerRankingTable = {}
checkTopPlayer = function()
playerRankingTable = positionGetElementData("alivetime", #getElementsByType("player"))
end
checkTopPlayer()
setTimer(checkTopPlayer, 10000, 0)
onQuitGame = function(reason)
checkTopPlayer()
end
function drawScoreboard()
dxDrawImage(sx*(589/px), sy*(354/py), sx*(742/px), sy*(373/py), "images/scoreboard/scoreboard.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
dxDrawText("Name", sx*(589/px), sy*(354/py), sx*(776/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
dxDrawText("Murders", sx*(776/px), sy*(354/py), sx*(963/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
dxDrawText("Alive Time", sx*(963/px), sy*(354/py), sx*(1150/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
w4 = dxGetTextWidth("Alive Time", 1.5, "default-bold")
dxDrawText("Zombie Kills", sx*(1150/px), sy*(354/py), sx*(1337/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default-bold", "center", "center", false, false, true, false, false)
for i,v in ipairs ( getElementsByType("player") ) do
rowAddValue = 40
local x,y,z = getElementPosition(v)
dxDrawText(string.gsub( getPlayerName(v), "#%x%x%x%x%x%x", "" ), sx*(589/px), sy*((370+rowAddValue*i)/py), sx*(776/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default", "center", "center", false, false, false, false, false)
local murders = getElementData(player, "murders")
dxDrawText(murders, sx*(776/px), sy*((370+rowAddValue*i)/py), sx*(963/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default", "center", "center", false, false, true, false, false)
local alivetime = getElementData(player, "alivetime") or 0
dxDrawText(roundTime(alivetime)(x,y,z,true), sx*(963/px), sy*((370+rowAddValue*i)/py), sx*(1150/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default", "center", "center", false, false, true, false, false)
local zombieskilled = getElementData(player, "zombieskilled")
dxDrawText(zombieskilled, sx*(1150/px), sy*((370+rowAddValue*i)/py), sx*(1337/px), sy*(380/py), tocolor(255, 255, 255, 255), 1.2, "default", "center", "center", false, false, true, false, false)
end
end
bindKey("TAB", "both", function(button,state)
if state == "down" then
addEventHandler("onClientRender", root, drawScoreboard)
elseif state == "up" then
removeEventHandler("onClientRender", root, drawScoreboard)
end
end)
Alles anzeigen
Danke im Vorraus
Mit Freundlichen Grüßen
WizKhalifa
EDIT: error: ERROR: score/scoreboard/scoreboard.lua:14:attempt to call global ´positionGetElementData´ (a nill value)