Advertisement
Guest User

score

a guest
Jul 19th, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.68 KB | None | 0 0
  1. local sX, sY = guiGetScreenSize()
  2. local scoreW, scoreH = 350, 550
  3. local logoW, logoH = 80, 80
  4. local scoreX, scoreY = sX/2 - scoreW/2, sY/2 - scoreH/2
  5.  
  6. local fontTexture = dxCreateFont("files/font.ttf", 8, false, "cleartype")
  7. local fontBoldTexture = dxCreateFont("files/fontbold.ttf", 10, true, "cleartype")
  8. local tempTable = {}
  9. local scrollSpeed = 20
  10. local scrollHeight = 30
  11. local scrollbarY = 0
  12. local scrollCount = 20
  13. local activeScroll = 20
  14. local canOpen = false
  15. local showScore = false
  16. local drawAlpha = 0
  17. local drawLogoX = scoreX + scoreW/2 - logoW/2
  18. local drawLeft = false
  19. local logoRotate = 0
  20. local drawText = sY
  21. local progress = 0
  22. local startProgress = 0
  23. local activePlayer = 1
  24. local maxPlayerInList = 11
  25.  
  26. bindKey("mouse_wheel_down", "down",
  27. function()
  28. if (showScore) then
  29. if (activePlayer + 1 <= (#tempTable) - maxPlayerInList) then
  30. activePlayer = activePlayer + 1
  31. end
  32. end
  33. end
  34. )
  35.  
  36. bindKey("mouse_wheel_up", "down",
  37. function()
  38. if (showScore) then
  39. if (activePlayer - 1 > 0) then
  40. activePlayer = activePlayer - 1
  41. end
  42. end
  43. end
  44. )
  45. bindKey("tab", "down",
  46. function()
  47. if not getElementData(localPlayer, "Char->logged") then return end
  48. -- canOpen = true
  49. showScore = true
  50. drawAlpha = 255
  51. drawLogoX = scoreX
  52. drawText = scoreX + scoreW
  53. drawLeft = false
  54. startProgress = getTickCount()
  55. end
  56. )
  57.  
  58. bindKey("tab", "up",
  59. function()
  60. showScore = false
  61. end
  62. )
  63.  
  64. addEventHandler("onClientRender", getRootElement(),
  65. function()
  66. if not (showScore) then
  67. return
  68. end
  69. tempTable = {}
  70. for k, v in ipairs(getElementsByType("player")) do
  71. if (v ~= localPlayer) then
  72. tempTable[#tempTable + 1] = v
  73. end
  74. end
  75. table.sort(tempTable, function(a, b)
  76. return tonumber(getElementData(a, "Char->playerid") or 10000) < tonumber(getElementData(b, "Char->playerid") or 10000)
  77. end)
  78.  
  79.  
  80. dxDrawImage(scoreX, scoreY, scoreW, scoreH, "files/bg.png")
  81. dxDrawImage(scoreX, scoreY, scoreW, scoreH, "files/bottom_bg.png")
  82. -- dxDrawImage(scoreX, scoreY, scoreW, scoreH, "files/bottom_red.png")
  83. dxDrawImage(scoreX, scoreY, scoreW, scoreH, "files/logo.png")
  84. dxDrawImage(scoreX, scoreY, scoreW, scoreH, "files/icon.png")
  85. local progress = ((#tempTable + 1)/512)*scoreW
  86. dxDrawImageSection(scoreX, scoreY, progress, scoreH, 0, 0, progress, scoreH, "files/bottom_red.png", 0, 0, 0, tocolor(255,255,255), false)
  87.  
  88. latestLine = activePlayer + maxPlayerInList - 1
  89. local drawElement = 0
  90. for k, v in pairs(tempTable) do
  91. if k >= activePlayer then
  92. if k <= latestLine then
  93. drawElement = drawElement + 1
  94. if (getElementData(v, "Char->logged") or false) then
  95. name = getElementData(v, "Char->name"):gsub("_", " ")
  96.  
  97. if getElementData(v,"Char->adminduty") then
  98. name = getElementData(v,"Account->admin_name").." "..tostring(exports["exAdmin"]:rank_name_by_id(tonumber(getElementData(v, "Account->admin_level"))))
  99. else
  100. name = getElementData(v, "Char->name"):gsub("_", " ")
  101. end
  102.  
  103. dxDrawText("" .. getElementData(v, "Char->playerid"), scoreX + 25, scoreY + 112 + drawElement * 25 + 2, scoreW, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  104. dxDrawText(name, scoreX + 90, scoreY + 112 + drawElement * 25 + 2, 130, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  105. dxDrawText(math.ceil(getElementData(localPlayer, "Char->playedminutes")/60) .. " óra", scoreX + 205, scoreY + 112 + drawElement * 25 + 2, 50, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  106. local pR, pG, pB = getPingColor(getPlayerPing(localPlayer))
  107. dxDrawText(getPlayerPing(localPlayer) .. "", scoreX + 305, scoreY + 112 + drawElement * 25 + 2, scoreW, 25, tocolor(pR, pG, pB, 255), 1, fontTexture, "left", "top", false, false, false, true)
  108. else
  109. dxDrawText("Nincs bejelentkezve", scoreX + 25, scoreY + 112 + drawElement * 25 + 2, scoreW, 25, tocolor(100, 100, 100, 255), 1, fontTexture, "left", "top", false, false, false, true)
  110. end
  111. end
  112. end
  113. end
  114.  
  115. name = getElementData(localPlayer, "Char->name"):gsub("_", " ")
  116. if getElementData(localPlayer,"Char->adminduty") then
  117. name = getElementData(localPlayer,"Account->admin_name").." "..tostring(exports["exAdmin"]:rank_name_by_id(tonumber(getElementData(localPlayer, "Account->admin_level"))))
  118. else
  119. name = getElementData(localPlayer, "Char->name"):gsub("_", " ")
  120. end
  121.  
  122. dxDrawText("" .. getElementData(localPlayer, "Char->playerid"), scoreX + 25, scoreY + 112, scoreW, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  123. dxDrawText(name, scoreX + 90, scoreY + 112, 130, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  124. dxDrawText(math.ceil(getElementData(localPlayer, "Char->playedminutes")/60) .. " óra", scoreX + 205, scoreY + 112, 50, 25, tocolor(255, 255, 255, 255), 1, fontTexture, "left", "top", false, false, false, true)
  125. local pR, pG, pB = getPingColor(getPlayerPing(localPlayer))
  126. dxDrawText(getPlayerPing(localPlayer) .. "", scoreX + 305, scoreY + 112, scoreW, 25, tocolor(pR, pG, pB, 255), 1, fontTexture, "left", "top", false, false, false, true)
  127.  
  128. dxDrawText(#tempTable + 1 .. "/512", scoreX + 155, scoreY + scoreH - 81, scoreW, 25, tocolor(255, 255, 255, 255), 1, fontBoldTexture, "left", "top", false, false, false, true)
  129. end
  130. )
  131.  
  132. function getPingColor(pingNumber)
  133. if (pingNumber < 100) then
  134. return 0, 255, 0
  135. elseif (pingNumber > 100) and (pingNumber < 200) then
  136. return 125, 125, 0
  137. elseif (pingNumber > 200) then
  138. return 255, 0, 0
  139. end
  140. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement