English:
Hello friends. We made a new scoreboard, but when the player exited the server I get a debug error and N / A stays where the player's name is. Can you help me?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Normal:
Player Quit:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Turkish:
Merhaba arkadaşlar scoreboard yaptık fakat oyuncu sunucudan çıktığı zaman isminin olduğu yerde N/A kalıyor ve tonlarca debug veriyor yardım eder misiniz?
Client.lua:
tabPanel = {}
oyuncular = {}
yazi_tipi1 = dxCreateFont("dosyalar/fontlar/Roboto-Regular.ttf",12)
yazi_tipi2 = dxCreateFont("dosyalar/fontlar/Roboto-Regular.ttf",18)
logo1 = dxCreateTexture("dosyalar/resimler/sunucu_logo2.png")
logo2 = dxCreateTexture("dosyalar/resimler/sunucu_logo1.png")
logo3 = dxCreateTexture("dosyalar/resimler/sunucu_logo3.png")
local panel_tip = "tab_panel"
local sefaflik = 0
local sefaflik_olay = 0.6
local secili = 1
local max_sira = 10
local scroll = 0
local slot = 60
--// Tasarım
ekran_boyutlari = {guiGetScreenSize()}
panel_boyutu = {
["tab_panel"] = {750, 350},
}
local sutunlar = {
{isim = "ID", buyukluk = 0.06},
{isim = "OYUNCU ADI", buyukluk = 0.16},
{isim = "ZAMAN", buyukluk = 0.16},
{isim = "MB DURUM", buyukluk = 0.16},
{isim = "PARA", buyukluk = 0.16},
{isim = "FPS", buyukluk = 0.16},
{isim = "PİNG", buyukluk = 0.16},
}
tetik = getTickCount()
addEventHandler("onClientRender",root,function()
if panel_tip == "tab_panel" then
sefaflik = sefaflik + ((255*sefaflik_olay)/100)*(sefaflik_olay*10)
if sefaflik > 255*sefaflik_olay then
sefaflik = 255*sefaflik_olay
end
px,py = ekran_boyutlari[1]/2 - panel_boyutu[panel_tip][1]/2, ekran_boyutlari[2]/2 - panel_boyutu[panel_tip][2]/2 -- panel ortala
dxDrawRectangle(px,py,panel_boyutu[panel_tip][1],panel_boyutu[panel_tip][2],tocolor(0,0,0,sefaflik))
roundedBorder(px,py,panel_boyutu[panel_tip][1],panel_boyutu[panel_tip][2],tocolor(0,0,0,sefaflik))
roundedBorder(px,py,panel_boyutu[panel_tip][1],25,tocolor(10, 10, 10,255))
dxDrawRectangle(px,py,panel_boyutu[panel_tip][1],25,tocolor(29,79,161,85))
dxDrawImage(px+185,py-325,376,480,logo1,0,0,0,tocolor(255,255,255,255))
dxDrawRectangle(px,py+325,panel_boyutu[panel_tip][1],25,tocolor(0,0,0,45))
--dxDrawRectangle(px,py+325,size,25,tocolor(r,g,b,a))
roundedBorder(px,py+325,panel_boyutu[panel_tip][1],25,tocolor(10, 10, 10,255))
if slot == 60 then
r,g,b,a = 29,79,161,45
r1,g1,b1,a1 = 255, 255, 255,150
yazi = "Tüm Hakları Saklıdır | Turkish Drift Works:"
end
local ilerleme = ((getTickCount() - tetik)/8000)
local x,y = interpolateBetween(px+panel_boyutu[panel_tip][1]/2-500, px+panel_boyutu[panel_tip][1]/2, 0, px+panel_boyutu[panel_tip][1]/2+500, 0, 0, ilerleme, "CosineCurve")
dxDrawText(yazi, px+panel_boyutu[panel_tip][1]/2, py-16+250+(120), x, py-53+250+(120), tocolor(r1,g1,b1,a1),0.6, yazi_tipi2, "center", "center", false, false, false, true)
--dxDrawRectangle(px+752,py+25,20,300,tocolor(0,0,0,sefaflik))
--dxDrawRectangle(px+752,py+25,20,scroll - 5 * 25,tocolor(29,79,161,45))
--roundedBorder2(px+752,py+25,20,300,tocolor(10, 10, 10,255))
-- // İtemler
local a = 0
local yeni = secili + max_sira
for i,k in ipairs(oyuncular) do
if oyuncular and i >= secili and i <= yeni then
-- oyuncu id
dxDrawText(getElementData(k,"id") or "N/A",px+20,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- oyuncu adı
dxDrawText(getPlayerName(k),px+70,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- oyuncu zaman
dxDrawText(getElementData(k,"Zaman") or "N/A",px+210,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- mb durum
dxDrawText(getElementData(k,"TabSistemi:OyuncuMbleri") ,px+325,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- para
dxDrawText("$"..getElementData(k,"TabSistemi:OyuncuParaları") or "N/A" ,px+437,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- fps
dxDrawText(getElementData(k,"TabSistemi:OyuncuFpsleri") or "N/A" ,px+578,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true, false, false, true)
-- ping
dxDrawText(getPlayerPing(k) or "N/A",px+698,py+a-scroll+40,20,panel_boyutu[2],tocolor(255,255,255,120),0.6,yazi_tipi2,"left","center",true,false, false, true)
-- durum
if getElementData(k,"AFK") == true then
dxDrawImage(px+55,py+a-scroll+36,10,10,logo3,0,0,0,tocolor(255,255,255,255))
else
dxDrawImage(px+55,py+a-scroll+36,10,10,logo2,0,0,0,tocolor(255,255,255,255))
end
function updatePlayersMoney ( )
for index, player in ipairs ( getElementsByType "player" ) do
setElementData ( player, "Para", getPlayerMoney ( player ) )
end
end
setTimer ( updatePlayersMoney, 2500, 0 )
a = a + 22
end
end
-- // Sutunlar
for i, sutun in ipairs(sutunlar) do
local uzunluk = panel_boyutu[panel_tip][1] * sutun.buyukluk
dxDrawText(sutun.isim, px, py+12, px + uzunluk, panel_boyutu[2], tocolor(255, 255, 255,120), 0.6, yazi_tipi2, "center", "center")
px = px + uzunluk
end
end
end)
addEventHandler( "onClientPlayerJoin",root,function( ) oyuncular = getElementsByType( "player" ) end)
addEventHandler( "onClientResourceStart", resourceRoot, function( ) oyuncular = getElementsByType( "player" ) end )
addEventHandler( "onClientPlayerQuit", root, function( ) oyuncular = getElementsByType( "player" ) end )
addEventHandler("onClientKey",root,function(k,state)
if k == "mouse_wheel_down" then
if secili + max_sira < #oyuncular then
secili = secili +1
end
end
if k == "mouse_wheel_up" then
if secili > 1 then
secili = secili -1
end
end
end)
--// Afk Olay
addEventHandler("onClientMinimize", root, function()
setElementData(localPlayer, "AFK", true)
end
)
addEventHandler("onClientRestore", root, function()
setElementData(localPlayer, "AFK", false)
end
)
function roundedBorder(x, y, w, h, borderColor)
if (x and y and w and h) then
if (not borderColor) then
borderColor = tocolor(255, 255, 255, 230)
end
--dxDrawRectangle(x - 1, y + 1, 1, h - 2, borderColor); -- left
--dxDrawRectangle(x + w, y + 1, 1, h - 2, borderColor); -- right
dxDrawRectangle(x + 1, y - 1, w - 2, 1, borderColor); -- top
dxDrawRectangle(x + 1, y + h, w - 2, 1, borderColor); -- bottom
dxDrawRectangle(x, y, 1, 1, borderColor);
dxDrawRectangle(x + w - 1, y, 1, 1, borderColor);
dxDrawRectangle(x, y + h - 1, 1, 1, borderColor);
dxDrawRectangle(x + w - 1, y + h - 1, 1, 1, borderColor);
end
end
function roundedBorder2(x, y, w, h, borderColor)
if (x and y and w and h) then
if (not borderColor) then
borderColor = tocolor(255, 255, 255, 230)
end
dxDrawRectangle(x - 1, y + 1, 1, h - 2, borderColor); -- left
dxDrawRectangle(x + w, y + 1, 1, h - 2, borderColor); -- right
dxDrawRectangle(x + 1, y - 1, w - 2, 1, borderColor); -- top
dxDrawRectangle(x + 1, y + h, w - 2, 1, borderColor); -- bottom
dxDrawRectangle(x, y, 1, 1, borderColor);
dxDrawRectangle(x + w - 1, y, 1, 1, borderColor);
dxDrawRectangle(x, y + h - 1, 1, 1, borderColor);
dxDrawRectangle(x + w - 1, y + h - 1, 1, 1, borderColor);
end
end
--// FPS
local fps = 0
local fpstick = nil
addEventHandler("onClientRender",root,
function()
fps = fps + 1
if not fpstick then
fpstick = getTickCount()
end
fpscountertick = getTickCount()
if fpscountertick - fpstick >= 1000 then
setElementData(localPlayer,"TabSistemi:OyuncuFpsleri",fps)
fps = 0
fpstick = false
end
end)
--// Mb
addEventHandler("onClientResourceStart",resourceRoot,
function()
triggerServerEvent("bitis",localPlayer)
end )
--// Panel Açıp Kapatma
bindKey("tab","down",function()
panel_tip = "tab_panel"
end)
bindKey("tab","up",function()
panel_tip = "belirsiz"
end)