Guten Tag Community,
Bild:
Externer Inhalt
i.epvpimg.com
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Playerlist_client1.lua:
Lua
local playerListLabels = {}
local playerListFactionMembersLabel = {}
local playersOnline = {}
local playersOnlineData = {}
local curPlayerListPosition = 1
local playerCount = 0
local playerListWidth = 650
local playerListHeight = 360
local maxPlayersInCurList = 17
local maxPlayers = 250
local playersToScrollPerButton = 10
local x, y = guiGetScreenSize()
local pl = {}
local scroll = 0
local updateTimer
local player = getLocalPlayer()
local alpha = 0
local maxplayers = 80
bindKey("tab","up",function()
setElementData(lp,"ElementClicked",false)
bindKey("mouse_wheel_down","down",scrollDown)
bindKey("mouse_wheel_up","down",scrollUp)
setElementData(player,"inScoreboard",false)
removeEventHandler("onClientRender", root, drawScoreboard)
toggleControl("next_weapon",true)
toggleControl("previous_weapon",true)
toggleControl("fire",true)
alpha = 0
end)
function scrollDown()
if #getElementsByType("player") - scroll <= 2 then
scroll = #getElementsByType("player")
else
scroll = scroll + 2
end
end
function scrollUp()
if scroll <= 2 then
scroll = 0
else
scroll = scroll - 2
end
end
function clientPlayerListDisconnect ()
local i = playersOnlineData[source]
scroll[i] = nil
scroll = scroll - 1
end
addEventHandler ( "onClientPlayerQuit", getRootElement(), clientPlayerListDisconnect )
function clientPlayerListConnect ()
local i
for k = 1, maxPlayers do
if not playersOnline[k] then
i = k
break
end
end
scroll = scroll + 1
scroll[source] = i
scroll[i] = source
end
addEventHandler ( "onClientPlayerJoin", getRootElement(), clientPlayerListConnect )
function formString(text)
if string.len(text) == 1 then
text = "0"..text
end
return text
end
local playeronline = 0
local fraktionNames = { [0]="Zivilist", [1]="S.F.P.D", [2]="Mafia", [3]="Triaden", [4]="Terroristen", [5]="Reporter", [6]="F.B.I", [7]="Mara Salvatrucha", [8]="Army", [9]= "Angels of Death", [10]= "Medic", [11]= "Ordnungsamt", [12]= "Rollin' Heights", [13]= "Compton", [14]= "Italian Mafia", }
for i=0, #fraktionNames+1 do
pl[i] = {}
end
function updateScoreboard()
for i=0, #fraktionNames+1 do
pl[i] = {}
end
local players = getElementsByType("player")
playeronline = #players
for i=1, playeronline do
local name = string.gsub ( getPlayerName ( players[i] ), "#%x%x%x%x%x%x", "" )
local spielzeit = "-"
local nr = "-"
local ping = getPlayerPing ( players[i] )
local color = {255,255,255}
local fname = "-"
local frak = 0
local status = "-"
local r, g, b = 255, 255, 255
local aname = "-"
local frakrang = "-"
local job = "-"
local telenr = "-"
local rang = "-"
if getElementData ( players[i], "loggedin" ) == 1 then
nr = getElementData ( players[i], "telenr" )
local ptime = tonumber(getElementData(players[i],"playingtime"))
local hour = math.floor(ptime/60)
local minute = ptime - hour*60
spielzeit = formString(hour)..":"..formString(minute)
frak = getElementData ( players[i], "fraktion" )
local adminlvl = getElementData(players[i], "adminlvl")
rang = getElementData(players[i], "rang")
job = getElementData(players[i], "job")
local vip = getElementData(players[i], "vip")
if adminlvl >= 3 then
name = "[Ice]"..name
else
name = name
end
r, g, b = factionColors[frak][1], factionColors[frak][2], factionColors[frak][3]
status = getElementData(players[i], "socialState");
end
pl[frak+1][#pl[frak+1]+1] = { ["Nr"] = nr, ["Name"] = name, ["Spielzeit"] = spielzeit, ["Ping"] = ping, ["Color"] = color, ["Fraktion"] = frak, ["Rang"] = rang, ["Job"] = job, ["Ping"] = ping, ["Status"] = status, ["R"] = r, ["G"] = g, ["B"] = b }
end
end
function getPingColor(ping)
if (ping > 100) then
return 200,0,0
elseif (ping < 100) then
return 20,200,20
else
return 200,20,20
end
end
function drawScoreboard()
alpha = 255
dxDrawRectangle(576*(x/1920), 285*(y/1080), 820*(x/1920), 65*(y/1080), tocolor(0,97,200, 100), false)
dxDrawRectangle(576*(x/1920), 655*(y/1080), 820*(x/1920), 35*(y/1080), tocolor(0,97,200, 100), false)
dxDrawRectangle(576*(x/1920), 285*(y/1080), 820*(x/1920), 405*(y/1080), tocolor(0,0,0, 150), false)
dxDrawRectangle(576*(x/1920), 320*(y/1080), 820*(x/1920), 30*(y/1080), tocolor(0,0,0, 100), false)
dxDrawRectangle(576*(x/1920), 350*(y/1080), 820*(x/1920), 2*(y/1080), tocolor(255,255,255, 200), false)
dxDrawText("Ice Reallife", 915*(x/1920), 360*(y/1080), 707*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.5*(y/1080), "default-bold", "left", "center", false, false, false, false, false)
dxDrawText("Name", 600*(x/1920), 420*(y/1080), 707*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "left", "center", false, false, false, false, false)
dxDrawText("Ping", 1420*(x/1920), 420*(y/1080), 1292*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText("Spielzeit", 1050*(x/1920), 420*(y/1080), 1173*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "left", "center", false, false, false, false, false)
dxDrawText("Fraktion", 1000*(x/1920), 420*(y/1080), 891*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText("Telefon", 1250*(x/1920), 420*(y/1080), 1173*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText("Status", 800*(x/1920), 420*(y/1080), 803*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText("Spieler Online : ", 560*(x/1920), 1095*(y/1080), 700*(x/1920), 245*(y/1080), tocolor(0, 218, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText(playeronline.. " / 4096", 700*(x/1920), 1095*(y/1080), 700*(x/1920), 245*(y/1080), tocolor(255, 255, 255, 255), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
local number = 0
for i=0, #fraktionNames+1 do
for j=1, #pl[i] do
number = number + 1
if number >= 0+scroll then
if number > 10+scroll then
return
end
dxDrawText(pl[i][j]["Name"], 600*(x/1920), 425*(y/1080)+(22*number)-20, 707*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pl[i][j]["R"] , pl[i][j]["G"], pl[i][j]["B"],alpha), 1.00*(y/1080), "default-bold", "left", "center", false, false, false, false, false)
dxDrawText(i ~= 0 and fraktionNames[i-1] or "-", 925*(x/1920), 425*(y/1080)+(22*number)-20, 900*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pl[i][j]["R"] , pl[i][j]["G"], pl[i][j]["B"],alpha), 1.00*(y/1080), "default-bold", "left", "center", false, false, false, false, false)
dxDrawText(pl[i][j]["Spielzeit"], 1125*(x/1920), 425*(y/1080)+(22*number)-20, 1025*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pl[i][j]["R"] , pl[i][j]["G"], pl[i][j]["B"],alpha), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText(pl[i][j]["Nr"], 1250*(x/1920), 425*(y/1080)+(22*number)-20, 1180*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pl[i][j]["R"] , pl[i][j]["G"], pl[i][j]["B"],alpha), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
dxDrawText(pl[i][j]["Status"], 800*(x/1920), 425*(y/1080)+(22*number)-20, 817*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pl[i][j]["R"] , pl[i][j]["G"], pl[i][j]["B"],alpha), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
pr,pg,pb = getPingColor(pl[i][j]["Ping"])
dxDrawText(pl[i][j]["Ping"], 1420*(x/1920), 425*(y/1080)+(22*number)-20, 1290*(x/1920), 295*(y/1080)+(22*number)-20, tocolor(pr,pg,pb,alpha), 1.00*(y/1080), "default-bold", "center", "center", false, false, false, false, false)
end
end
end
end
bindKey("tab","down",function()
if getElementData(lp,"loggedin") == 1 and getElementData(lp,"inTut") == false then
if getElementData(player,"ElementClicked") == false then
setElementData(lp,"ElementClicked",true)
addEventHandler("onClientRender", root, drawScoreboard)
setElementData(player,"inScoreboard",true)
bindKey("mouse_wheel_down","down",scrollDown)
bindKey("mouse_wheel_up","down",scrollUp)
updateScoreboard()
if isTimer(updateTimer) then killTimer(updateTimer)
updateTimer = setTimer(updateScoreboard,10000,-1)
toggleControl("next_weapon",false)
toggleControl("previous_weapon",false)
toggleControl("fire",false)
alpha = 0
end
end
end
end)
Alles anzeigen
lg Noxer