Guten Tag,
Und zwar stehe ich vor folgendem Problem. Wenn ich im Scoreboard zwei mal scrolle dann ist plötzlich ein User ausserhalb des Scoreboard siehe Screen:
Externer Inhalt
www11.pic-upload.de
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Hier ist soweit der Sourcecode bzw die Render funktion:
Lua
scrollpos = 0
function scoreboard_render ( )
if getElementData(localPlayer,"logged") == true then
dxDrawImage(screenW * 0.248,screenH * 0.168,screenW * 0.556, ey, ":roleplay/images/scoreboard.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
if hstate == true then
local counter
local pl = {}
local i = 0
for id,pi in ipairs(getElementsByType("player")) do
counter = id
pl[i] = {}
pl[i].name = getPlayerName(pi)
pl[i].faction = nil
pl[i].hours = nil
pl[i].minutes = nil
pl[i].socialstate = nil
pl[i].time = nil
pl[i].ping = getPlayerPing(pi)
if getElementData(pi,"logged") == true then
pl[i].faction = factionames[getElementData(pi,"Fraktion")]
pl[i].socialstate = getElementData(pi,"Sozialerstatus")
pl[i].hours = tostring(getElementData(pi,"Stunden"))
pl[i].minutes = tostring(getElementData(pi,"Minuten"))
if #pl[i].minutes == 1 then
pl[i].time = pl[i].hours..":0"..pl[i].minutes
else
pl[i].time = pl[i].hours..":"..pl[i].minutes
end
else
pl[i].time = "..."
pl[i].socialstate = "..."
pl[i].faction = "..."
end
i = i + 1
end
for i3 = 1,30 do --Testzwecke
pl[i+i3] = {}
pl[i+i3].name = "Bot"..i3
pl[i+i3].faction = "None"
pl[i+i3].ping = "0"
pl[i+i3].time = "..."
pl[i+i3].socialstate = "Bot"
end
row = 0
for i = 0+scrollpos, 6+scrollpos do
if pl[i] then
dxDrawText(pl[i].name, screenW * 0.286, screenH * (row*0.039+0.389), screenW * 0.397, screenH * 0.423, tocolor(255, 255, 255, 255), 1.00, font, "left", "top", false, false, false, false, false)
dxDrawText(pl[i].socialstate , screenW * 0.380, screenH * (row*0.039+0.389), screenW * 0.531, screenH * 0.423, tocolor(255, 255, 255, 255), 1.00, font, "left", "top", false, false, false, false, false)
dxDrawText(pl[i].faction, screenW * 0.488, screenH * (row*0.039+0.389), screenW * 0.531, screenH * 0.423, tocolor(255, 255, 255, 255), 1.00, font, "left", "top", false, false, false, false, false)
dxDrawText(pl[i].time, screenW * 0.609, screenH * (row*0.039+0.389), screenW * 0.658, screenH * 0.423, tocolor(255, 255, 255, 255), 1.00, font, "left", "top", false, false, false, false, false)
dxDrawText(pl[i].ping, screenW * 0.710, screenH * (row*0.039+0.389), screenW * 0.786, screenH * 0.423, tocolor(255, 255, 255, 255), 1.00, font, "center", "top", false, false, false, false, false)
row = row + 1
end
end
dxDrawText(counter.."/40", screenW * 0.324, screenH * 0.635, screenW * 0.355, screenH * 0.674, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "center", false, false, false, false, false)
dxDrawText("Nutze dein Mausrad um hoch und runter zu scrollen.", screenW * 0.605, screenH * 0.658, screenW * 0.783, screenH * 0.684, tocolor(255, 255, 255, 255), 0.80, "default-bold", "center", "center", false, false, false, false, false)
end
end
end
function scoreboard_scroll_func ( key )
if key == "mouse_wheel_down" then
--if #getElementsByType("player") - scrollpos <= 2 then -- nur für Tests
-- scrollpos = #getElementsByType("player")
--else
scrollpos = scrollpos + 2
--end
elseif key == "mouse_wheel_up" then
if scrollpos <= 2 then
scrollpos = 0
else
scrollpos = scrollpos - 2
end
end
end
Alles anzeigen
Hoffe man kann mir helfen
Mfg Iven