Guten Abend, ich habe folgendes Problem
Ich wollte jeden Spieler in sein jeweiliges Team setzen. Nur leider werden nur die Teams gezeichnet, aber der Spieler wird nicht gezeichnet und auch nicht in das Team gesetzt.
Lua
local scdatas = {}
scdatas.bcolor = tocolor(255,255,255,150)
scdatas.x, scdatas.y = guiGetScreenSize()
scdatas.width = 800
scdatas.alignx, scdatas.aligny = "left","top"
scdatas.set1,scdatas.set2,scdatas.set3 = false,false,true
scdatas.colorcoded = true
scdatas.textscale = 0.8
scdatas.textfont = "default-bold"
scdatas.textfontheight = dxGetFontHeight(scdatas.textscale,scdatas.textfont)
scdatas.textfontcalc = scdatas.textfontheight + 2
scdatas.titlefont = "default-bold"
scdatas.titlestats = "Name Kills Deaths Money Ping"
scdatas.titlefontheight = dxGetFontHeight(10,scdatas.titlefont)--state statt money <-----------------------------------------------------------------------------------------------------
scdatas.titlefontcalc = scdatas.titlefontheight + 2
scdatas.titlecolor = {}
scdatas.titlecolor = tocolor(0,0,0,255)
scdatas.titlecolorfont = tocolor(255,255,255,255)
scdatas.titlebgheight = 25
scdatas.titleplayertextwidth = scdatas.x/2+270
scdatas.headcolor = tocolor(0,0,0,200)
scdatas.headtitlecolor = tocolor(255,255,255,255)
scdatas.playercolor = tocolor(255,255,255,255)
scdatas.playerfont = "default-bold"
scdatas.id = 0
scdatas.playerbgheight = 548
scdatas.playerbgcolor = tocolor(0,0,0,200)
local playerTeam = getPlayerTeam ( localPlayer )
scdatas.enabled = false
scdatas.players = { team1 = {}, team2 = {}, team3 = {} }
bindKey("tab","down",function()
for id, pl in ipairs(getElementsByType("player")) do
if getPlayerTeam( pl ) then
addEventHandler("onClientRender",root,drawScoreboard)
scdatas.enabled = true
end
end
end)
bindKey("tab","up",function()
if scdatas.enabled == true then
-- scdatas.enabled = false
removeEventHandler("onClientRender",root,drawScoreboard)
end
end)
function drawScoreboard()
scdatas.height = scdatas.y/2 - (#getElementsByType("player"))
scdatas.titletext = "Testserver "..#getElementsByType("player").."/30"
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2.2, scdatas.width, 25, tocolor(0,0,0,255))
dxDrawText(scdatas.titletext,scdatas.x/2-scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 10, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.titlestats,scdatas.x/2-scdatas.width/2 + 10, scdatas.y/1.99 - scdatas.height/2 + 25, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
for id, pl in ipairs(getElementsByType("player")) do
scdatas.name = getPlayerName(pl)
scdatas.kills = "-"
scdatas.deaths = "-"
scdatas.money = "-"
scdatas.ping = getPlayerPing(pl)
local playerTeam = getPlayerTeam ( localPlayer )
if getElementData(pl,"login") == true then
scdatas.kills = tonumber(getElementData(pl,"kills"))
scdatas.deaths = tonumber(getElementData(pl,"deaths"))
scdatas.money = getPlayerMoney().."$"
end
if playerTeam == "Team 1" then
table.insert(scdatas.players.team1, { name = scdatas.name, kills = scdatas.kills, deaths = scdatas.deaths, money = scdatas.money, ping = scdatas.ping } )
table.sort(scdatas.players.team1)
elseif playerTeam == "Team 2" then
table.insert(scdatas.players.team2, { name = scdatas.name, kills = scdatas.kills, deaths = scdatas.deaths, money = scdatas.money, ping = scdatas.ping } )
table.sort(scdatas.players.team1)
elseif playerTeam == "Team 3" then
table.insert(scdatas.players.team2, { name = scdatas.name, kills = scdatas.kills, deaths = scdatas.deaths, money = scdatas.money, ping = scdatas.ping } )
table.sort(scdatas.players.team1)
end
scdatas.rowid = 0
scdatas.rowid = scdatas.rowid + 1
for id, team1 in ipairs(scdatas.players.team1) do
dxDrawText(scdatas.name, scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) + 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.kills, scdatas.x/2 - scdatas.width/2 + 332, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.deaths, scdatas.x/2 - scdatas.width/2 + 489, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.money, scdatas.x/2 - scdatas.width/2 + 606, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
-- dxDrawText(scdatas.country, scdatas.x/2 - scdatas.width/2 + 640, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.ping, scdatas.x/2 - scdatas.width/2 + 770, scdatas.y/2 - scdatas.height/2 + 30 + ( 20* scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid), scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
end
dxDrawText("Team 1", scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) - 3, scdatas.x, scdatas.y, tocolor(0,238,0,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)- 3, scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
for id, team2 in ipairs(scdatas.players.team2) do
dxDrawText(scdatas.name, scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) + 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.kills, scdatas.x/2 - scdatas.width/2 + 332, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.deaths, scdatas.x/2 - scdatas.width/2 + 489, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.money, scdatas.x/2 - scdatas.width/2 + 606, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
-- dxDrawText(scdatas.country, scdatas.x/2 - scdatas.width/2 + 640, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.ping, scdatas.x/2 - scdatas.width/2 + 770, scdatas.y/2 - scdatas.height/2 + 30 + ( 20* scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid), scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
end
dxDrawText("Team 2", scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) - 6, scdatas.x, scdatas.y, tocolor(255,140,0,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)- 6, scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
for id, team3 in ipairs(scdatas.players.team3) do
dxDrawText(scdatas.name, scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) + 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.kills, scdatas.x/2 - scdatas.width/2 + 332, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.deaths, scdatas.x/2 - scdatas.width/2 + 489, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.money, scdatas.x/2 - scdatas.width/2 + 606, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
-- dxDrawText(scdatas.country, scdatas.x/2 - scdatas.width/2 + 640, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawText(scdatas.ping, scdatas.x/2 - scdatas.width/2 + 770, scdatas.y/2 - scdatas.height/2 + 30 + ( 20* scdatas.rowid)+ 1, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid), scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
end
dxDrawText("Team 3", scdatas.x/2 - scdatas.width/2 + 10, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid) - 9, scdatas.x, scdatas.y, tocolor(255,255,255,255), 1, "default-bold", "left", "top", false, false, true, true)
dxDrawRectangle(scdatas.x/2 - scdatas.width/2, scdatas.y/2 - scdatas.height/2 + 30 + ( 20 * scdatas.rowid)- 9, scdatas.width, dxGetFontHeight(1,"default-bold")+2, tocolor(0,0,0,150))
scdatas.rowid = scdatas.rowid + 1
end
end
Alles anzeigen
Wie man sieht, wurde es mit Tables gemacht.
Im Debugscript werden keine Errors... angezeigt.
MFG