Guten Abend,
Ich und @#UnLimiTeD^: waren gerade am rum probieren von meinem Scoreboard und haben entdeckt das sich die Daten der jeweiligen Spieler überlappen.
Hier ein Screenshot um es besser zu verstehen:
Externer Inhalt
i.imgur.com
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Hier mein derzeitiger Code ( keine Debug-Fehler):
Lua
function performRender()
local tick = getTickCount()
local endTime = tickk + 500
local laufzeit = tick - tickk
local dauer = endTime - tickk
local progress = laufzeit/dauer
local recintw,recinth,_ = interpolateBetween(x,y,0,recw,rech,0,progress,eastype)
local recintx,recinty,_ = interpolateBetween(0,0,0,recx,recy,0,progress,eastype)
local playertab = getElementsByType("player")
dxDrawRectangle(recintx,recinty,recintw,recinth,tocolor(101,101,101,100),false)
dxDrawRectangle(recintx+10,recinty+10,180,180,tocolor(50,50,50,200),false)
local player = playertab[offset+page*8]
--local test = testtable[offset+page*8]
if player then
for i=1,totallines do
--local v = testtable[i+page*8]
local v = playertab[i+page*8]
local nameplayer = getPlayerName(v)
--local vdraw = tostring(string.gsub( getPlayerName(v), "#%x%x%x%x%x%x", "", 1 ))
local level = ( getElementData(player,"Level") or 0 )
local money = ( getElementData(player,"Money") or 0 )
local countries = getElementData(player,"Country") or "N/A"
local state = getElementData(player,"Status") or "N/A"
local playerX, playerY, playerZ = getElementPosition ( player )
local zone = getZoneName ( playerX, playerY, playerZ )
dxDrawRectangle(recintx+10,((recinty-10))+offset*20,180,20,tocolor(15,192,252,80),false)
dxDrawText(nameplayer,recintx+15,(recinty-9)+i*20,x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,true,false,0,0,0)
dxDrawText(nameplayer,recintx+200,(recinty+10),x,y,tocolor(255,255,255,255),2,"default","left","top",false,false,true,true,false,0,0,0)
dxDrawText("Level: "..level,recintx+200,(recinty+40),x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,false,false,0,0,0)
dxDrawText("Money: "..money,recintx+200,(recinty+60),x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,false,false,0,0,0)
dxDrawText("Location: "..zone,recintx+200,(recinty+80),x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,false,false,0,0,0)
dxDrawText("State: "..state,recintx+200,(recinty+120),x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,false,false,0,0,0)
dxDrawText("Country: "..countries,recintx+200,(recinty+100),x,y,tocolor(255,255,255,255),1,"default-bold","left","top",false,false,true,false,false,0,0,0)
end
--outputChatBox(page)
end
end
function scrolling(side)
if side == "down" then
offset = offset + step
elseif side == "up" then
if offset < 1 and page < 0 then
page = 0
offset = 1
end
offset = offset - step
end
if page < 0 then
page = 0
offset = 1
elseif page == -1 then
page = 0
end
end
function scrollUP()
scrolling("up")
if offset < 1 then
page = page - 1
offset = 9
end
end
function scrollDown()
scrolling("down")
if offset > totallines then
page = page + 1
offset = 1
end
end
bindKey("mouse_wheel_up","down",scrollUP)
bindKey("mouse_wheel_down","down",scrollDown)
bindKey("tab","both",
function(_,state)
if state == "down" then
addEventHandler("onClientRender",root,performRender)
tickk = getTickCount()
elseif state == "up" then
removeEventHandler("onClientRender",root,performRender)
offset = 1
page = 0
end
end
)
Alles anzeigen