Advertisement
OneTallor

ExternalGaming Scoreboard

Aug 13th, 2016
1,515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.20 KB | None | 0 0
  1. local maxPlayers = 0 --<[ Játékos lekérése {Szerver} ]>--
  2. local onlinePlayers = {} --<[ Táblázat ]>--
  3. local Tick = getTickCount()
  4. local progress = "Linear" --<[ Progress animáció ]>--
  5. local panelHeight = 0
  6. local playerBarPos = {kepernyom[1]/2-playerBarSize[1]/2,kepernyom[2]/2-playerBarSize[2]/2} --<[ Poziciónálás ]>--
  7. local font = dxCreateFont("files/myriadproregular.ttf",9) --<[ Font ]>--
  8.  
  9. local showTab = false
  10. local Elsolepes = true
  11.  
  12. --<[ Maxplayer {szerver} ]>--
  13. addEvent("receiveServerSlot",true)
  14. addEventHandler("receiveServerSlot",root,function(s)
  15.     maxPlayers = s
  16. end)
  17. --<[ Maxplayer {szerver} vége ]>--
  18.  
  19. --<[ ha a tab-ot nyomvatartod ]>--
  20. bindKey("tab", "down",
  21.     function()
  22.         if getElementData(localPlayer, "loggedin") then
  23.             onlinePlayers = {}
  24.             showTab = true
  25.             showChat(false)
  26.             Elsolepes = true
  27.             Tick = getTickCount()
  28.             progress = "Linear"
  29.             triggerServerEvent("getServerSlot",localPlayer,localPlayer)
  30.         end
  31.     end
  32. )
  33. --<[ ha a tab-ot elengeded ]>--
  34. bindKey("tab", "up",
  35.     function()
  36.         if getElementData(localPlayer, "loggedin") then
  37.             Elsolepes = false
  38.             showChat(true)
  39.             Tick = getTickCount()
  40.             progress = "Linear"
  41.             onlinePlayers = {}
  42.         end
  43.     end    
  44. )
  45.  
  46. --<[ Score render ]>--
  47. function renderScoreBoard()
  48.     if not showTab then return end
  49.     for k,v in ipairs(getElementsByType("player")) do
  50.         onlinePlayers[k] = v
  51.     end
  52.    
  53.         table.sort(onlinePlayers, function(a, b)
  54.         if a ~= localPlayer and b ~= localPlayer and getElementData(a, "playerid") and getElementData(b, "playerid" ) then
  55.             return tonumber(getElementData(a, "playerid")) < tonumber(getElementData(b, "playerid"))
  56.         end
  57.     end)
  58.     if Elsolepes then
  59.         if alpha < 255*alphaPercent then
  60.             alpha = alpha + ((255*alphaPercent)/100)*(alphaPercent*2)
  61.             alphaText = alphaText + ((255*alphaPercent)/100)*(alphaPercent*2)
  62.         else
  63.             alpha = 255*alphaPercent
  64.             alphaText = 255
  65.         end
  66.         Time = (getTickCount() - Tick) / 1000
  67.         Size1 = interpolateBetween(playerBarPos[1],0,0,kepernyom[1]/2-150/2-8,0,0,Time,progress)  
  68.        
  69.         Time2 = (getTickCount() - Tick) / 1000
  70.         Size2 = interpolateBetween(playerBarPos[1]+playerBarSize[1]/2+50,0,0,kepernyom[1]/2-150/2-5,0,0,Time2,progress)
  71.         KepAlpha = KepAlpha + 2.5
  72.         if KepAlpha >= 255 then
  73.             KepAlpha = 0
  74.         end
  75.        
  76.     elseif not Elsolepes then
  77.         if alpha >  2 then
  78.             alpha = alpha - ((255*alphaPercent)/100)*(alphaPercent*2)
  79.             alphaText = alphaText - ((255*alphaPercent)/100)*(alphaPercent*2)
  80.             Time = (getTickCount() - Tick) / 1000
  81.             Size1 = interpolateBetween(kepernyom[1]/2-150/2-8,0,0,playerBarPos[1],0,0,Time,progress)  
  82.            
  83.             Time2 = (getTickCount() - Tick) / 1000
  84.             Size2 = interpolateBetween(kepernyom[1]/2-150/2-5,0,0,playerBarPos[1]+playerBarSize[1]/2+50,0,0,Time2,progress)
  85.         else
  86.             alpha = 0
  87.             alphaText = 0
  88.             Anim = 3
  89.             Elsolepes = true
  90.             showTab = false
  91.             normalScoreGorget = 0
  92.             onlinePlayers = {}
  93.             maxPlayers = 0
  94.         end
  95.     end
  96.     local elem = 0
  97.     for l,value in ipairs(onlinePlayers) do
  98.         if (l > normalScoreGorget and elem < maxMegjelenit) then
  99.            
  100.             elem = elem + 1
  101.            
  102.             --<[ Név lekérés ]>--
  103.             local myNameColor = ""
  104.             local nameChange = ""
  105.             if value:getData("char:adminduty") == 1 and getElementData(value,"loggedin") then
  106.                 nameChange = value:getData("char:anick")
  107.             elseif getElementData(value,"loggedin") then
  108.                 nameChange = value:getData("char:name"):gsub("_", " ")
  109.             else
  110.                 nameChange = "#737373"..getPlayerName(value):gsub("_", " ")
  111.             end
  112.            
  113.             --<[ Név Színezés ]>--
  114.             if value == localPlayer and getElementData(value,"loggedin") then
  115.                 myNameColor = "#ffffff"
  116.                 bgColor = tocolor(135, 211, 124,180)
  117.             elseif not getElementData(value,"loggedin") then
  118.                 myNameColor = "#737373"
  119.                 bgColor = tocolor(0,0,0,180)
  120.             end
  121.            
  122.             --<[ PING ]>--
  123.             local ping = getPlayerPing(value)
  124.             if getElementData(value,"loggedin") then
  125.                
  126.                 if ping <= 150 then
  127.                     pingColor = "#ffffff"
  128.                 elseif ping > 150 and ping <= 220 then
  129.                     pingColor = "#F89406"
  130.                 elseif ping > 220 then
  131.                     pingColor = "#D24D57"
  132.                 end
  133.             else
  134.                 ping = ""
  135.             end
  136.            
  137.             --<[ ID ]>--
  138.             local idValtozas = ""
  139.             if tonumber(value[1]) == 999  and getElementData(value,"loggedin") then
  140.                 idValtozas = "n/a"
  141.             elseif tonumber(value[1]) ~= 999 and getElementData(value,"loggedin") then
  142.                 idValtozas = "#ffffff".. getElementData(value,"playerid")
  143.             elseif not getElementData(value,"loggedin") then
  144.                 idValtozas = "#737373"..getElementData(value,"playerid")
  145.             end
  146.            
  147.             --<[ Level ]>--
  148.             local Level = ""
  149.             if getElementData(value,"loggedin") then
  150.                 level = "LVL "..getLevel(value)
  151.             else
  152.                 level = " #737373Nincs Bejelentkezve "
  153.             end
  154.            
  155.            
  156.             dxDrawRectangle(playerBarPos[1]+5,playerBarPos[2]+30 + (elem * 30),playerBarSize[1]-10,25, tocolor(0, 0, 0,alpha)) --<[ Player Háttér ]>--
  157.            
  158.             dxDrawText(idValtozas,playerBarPos[1]+15,playerBarPos[2]+43 + (elem * 30),playerBarSize[1]+playerBarPos[1],playerBarPos[2]+43 + (elem * 30), tocolor(255, 255, 255, alphaText),1, font, "left", "center", false, false, true, true) --<[ ID kiírás ]>--
  159.            
  160.             dxDrawText(nameChange,playerBarPos[1]+50,playerBarPos[2]+43 + (elem * 30),playerBarSize[1]+playerBarPos[1],playerBarPos[2]+43 + (elem * 30), getColor(value),1, font, "left", "center", false, false, true, true) --<[ Név Kiírás ]>--  
  161.            
  162.             dxDrawText(level,playerBarPos[1]+playerBarSize[1]-125,playerBarPos[2]+43 + (elem * 30),playerBarSize[1]+playerBarPos[1],playerBarPos[2]+43 + (elem * 30), tocolor(255, 255, 255, alphaText),1, font, "left", "center", false, false, true, true)--<[ level kiírás ]>--
  163.            
  164.             dxDrawText(pingColor.. ping, playerBarPos[1]+playerBarSize[1]-50, playerBarPos[2]+43 + (elem * 30), playerBarSize[1]+playerBarPos[1], playerBarPos[2]+43 + (elem * 30), tocolor(255, 255, 255, alphaText),1, font, "left", "center", false, false, true, true) --<[ ping kiírás ]>--
  165.            
  166.             dxDrawRectangle(playerBarPos[1], playerBarPos[2]+30 + (elem * 30), playerBarSize[1], 30, tocolor(0, 0, 0, alpha))--<[ Háttér ]>--
  167.  
  168.            
  169.             dxDrawImage(Size1, playerBarPos[2]-120, 150, 150, "files/kepek/black.png",0,0,0, tocolor(0, 0, 0, alpha)) --<[ Fekete kép ]>--
  170.             dxDrawImage(Size2, playerBarPos[2]-120, 150, 150, "files/kepek/green.png",0,0,0, tocolor(124, 197, 118, alpha)) --<[ Zöld kép ]>--
  171.             panelHeight = (elem * 30) --<[ Háttérszámolás ]>--
  172.         end
  173.     end
  174.         dxDrawText("ExternalGaming - #7cc576Scoreboard",playerBarPos[1]+5, playerBarPos[2]+5, playerBarSize[1], playerBarSize[2], tocolor(255, 255, 255, alphaText),1, font, "left", "top", false, false, true, true) --<[ External felirat kiírás ]>--
  175.         dxDrawText("#7cc576Online: #ffffff"..getOnlinePlayers().."/"..maxPlayers,playerBarPos[1]+playerBarSize[1]-100, playerBarPos[2]+5, playerBarSize[1], playerBarSize[2], tocolor(255, 255, 255, alphaText),1, font, "left", "top", false, false, true, true) --<[ Player / MaxPlayer ]>--
  176.        
  177.         dxDrawRectangle(playerBarPos[1],playerBarPos[2] ,playerBarSize[1],25, tocolor(0, 0, 0,alpha+100)) --<[ External felírat háttere ]>--
  178.         dxDrawRectangle(playerBarPos[1],playerBarPos[2]+25 ,playerBarSize[1],2, tocolor(124, 197, 118,alpha+100)) --<[ External felírat háttér alja ]>--
  179.    
  180.         dxDrawRectangle(playerBarPos[1], playerBarPos[2], playerBarSize[1], 60, tocolor(0, 0, 0, alpha)) --<[ Ez szépítés ]>--
  181.  
  182.         dxDrawRectangle(playerBarPos[1]+5,playerBarPos[2]+30 ,playerBarSize[1]-10,25, tocolor(0, 0, 0,alpha)) --<[ ID Név LVL Ping kiírás háttere ]>--
  183.         dxDrawText("ID             Név                                                            LVL                Ping",playerBarPos[1]+10, playerBarPos[2]+35, playerBarSize[1], playerBarSize[2], tocolor(213, 213, 213, alphaText),1, font, "left", "top", false, false, true, true)--<[ ID Név LVL Ping kiírás ]>--
  184.  
  185.  
  186. end
  187. addEventHandler("onClientRender", root, renderScoreBoard)
  188.  
  189. --<[ Adminszín lekérése ]>--
  190. function getColor(playerSource)
  191.     if (getElementData(playerSource, "char:adminduty") == 1) then
  192.         if getElementData(playerSource,"acc:admin") >= 1 and getElementData(playerSource,"acc:admin") <= 5  then -- Admin 1-től Admin 5-ig
  193.             return tocolor(124, 197, 118, 200)                                                
  194.         elseif getElementData(playerSource,"acc:admin") == 6   then -- Főadmin
  195.             return tocolor(58, 136, 222, 200)                                          
  196.         elseif getElementData(playerSource,"acc:admin") == 7   then -- SuperAdmin
  197.             return tocolor(236, 238, 31, 200)                                                  
  198.         elseif getElementData(playerSource,"acc:admin") == 8   then -- Fejlesztő
  199.             return tocolor(255, 150, 0, 200)                              
  200.         elseif getElementData(playerSource,"acc:admin") == 9   then -- Rendszergazda
  201.             return tocolor(218, 91, 169, 200)                                                  
  202.         elseif getElementData(playerSource,"acc:admin") == 10   then -- Tulajdonos
  203.             return tocolor(194, 81, 81, 200)
  204.         end
  205.     end
  206. end
  207.  
  208. --<[ Lekéri a szerveren a játékosokat ]>--
  209. function getOnlinePlayers()
  210.     return #getElementsByType("player")
  211. end
  212.  
  213. --<[ Görgetés ]>--
  214. bindKey("mouse_wheel_down", "down",
  215.     function()
  216.         if showTab then
  217.             if normalScoreGorget < #onlinePlayers - maxMegjelenit then
  218.                 normalScoreGorget = normalScoreGorget + 1  
  219.             end
  220.         end
  221.     end
  222. )
  223.  
  224. bindKey("mouse_wheel_up", "down",
  225.     function()
  226.         if showTab then
  227.             if normalScoreGorget > 0 then
  228.                 normalScoreGorget = normalScoreGorget - 1      
  229.             end
  230.         end
  231.     end
  232. )
  233. --<[ Görgetés vége ]>--
  234.  
  235. --<[ Játszott óra adás ]>--
  236. function timeAdd()
  237.         localPlayer:setData("char:playedTime", localPlayer:getData("char:playedTime") + 1)
  238.         if isTimer(timeAddTimer) then
  239.             killTimer(timeAddTimer)
  240.         end
  241.         timeAddTimer = setTimer(timeAdd, 60*1000, 1)
  242. end
  243. timeAddTimer = setTimer(timeAdd, 60*1000, 1)
  244. --<[ Játszott óra adás vége ]>--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement