Advertisement
Noneatme

Untitled

Dec 13th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.51 KB | None | 0 0
  1. --[[
  2.     ##########################################################################
  3.     ##                                                                      ##
  4.     ## Project: 'MT-RPG' - Resoruce for MTA: San Andreas PROJECT X          ##
  5.     ##                      Developer: Noneatme                             ##
  6.     ##           License: See LICENSE in the top level directory            ##
  7.     ##                                                                      ##
  8.     ##########################################################################
  9. ]]
  10.  
  11.  
  12. local cFunc = {}
  13. local cSetting = {}
  14.  
  15. cSetting["scoreboard_alpha"] = 0
  16. cSetting["state"] = false
  17.  
  18. cSetting["players"] = {}
  19.  
  20. local sx, sy = guiGetScreenSize()
  21.  
  22. local aesx, aesy = 1600, 900
  23.  
  24. local MAX_ALPHA = 100
  25.  
  26. local MAX_PLAYERS = 4096
  27.  
  28. local font_scale1 = 1
  29. local font_scale2 = 1
  30.  
  31.  
  32. local DX_HEIGHT = 400
  33.  
  34.  
  35. cSetting["start_player"] = 1
  36.  
  37.  
  38. -- FUNCTIONS --
  39.  
  40. cFunc["draw_scoreboard"] = function()
  41.     if(cSetting["state"] == true) then
  42.         if(cSetting["scoreboard_alpha"] < MAX_ALPHA) then
  43.             cSetting["scoreboard_alpha"] = cSetting["scoreboard_alpha"]+10
  44.         end
  45.     else
  46.         if(cSetting["scoreboard_alpha"] > 0) then
  47.             cSetting["scoreboard_alpha"] = cSetting["scoreboard_alpha"]-10
  48.         end
  49.     end
  50.     -- SCOREBOARD BACKGROUND --
  51.    
  52.     local players = #cSetting["players"]
  53.     if(players < 3) then
  54.         players = 3
  55.     end
  56.     dxDrawRectangle(sx/2-((750/sx*aesx)/2), sy/2-(175/sy*aesy)/sy*aesy, 750/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(0, 0, 0, cSetting["scoreboard_alpha"]))
  57.    
  58.     dxDrawRectangle(sx/2-((750/sx*aesx)/2), sy/2-(120/sy*aesy), 750/sx*aesx, 2/aesy*sy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]))
  59.     -- OBERES --
  60.    
  61.     dxDrawRectangle(sx/2-((750/sx*aesx)/2), sy/2-(175/sy*aesy), 750/sx*aesx, 25/aesy*sy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]))
  62.  
  63.    
  64.     dxDrawText("Players: "..#cSetting["players"].."/"..MAX_PLAYERS, sx/2-((740/sx*aesx)/2), sy/2-(170/sy*aesy), 750/sx*aesx, 150/sy*aesy, tocolor(0, 0, 0, cSetting["scoreboard_alpha"]*1.5), font_scale1/sx*aesx, "default-bold")
  65.     dxDrawText("Projekt X Roleplay", sx/2-((740/sx*aesx)/2), sy/2-(170/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(0, 0, 0, cSetting["scoreboard_alpha"]*1.5), font_scale1/sx*aesx, "default-bold", "center")
  66.     dxDrawText("www.x-mta.de", sx/2-((740/sx*aesx)/2), sy/2-(170/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(0, 0, 0, cSetting["scoreboard_alpha"]*1.5), font_scale1/sx*aesx, "default-bold", "right")
  67.    
  68.     -- SPALTEN --
  69.  
  70.     dxDrawText("Playername", sx/2-((720/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  71.    
  72.     dxDrawText("Faction", sx/2-((420/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  73.    
  74.     dxDrawText("Class", sx/2-((200/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  75.    
  76.     dxDrawText("Zone", sx/2-((10/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  77.    
  78.     dxDrawText("Money", sx/2+((170/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  79.    
  80.     dxDrawText("Playtime", sx/2+((370/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  81.    
  82.     dxDrawText("Ping", sx/2+((600/sx*aesx)/2), sy/2-(143/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  83.    
  84.     -- SPALTENTRENNUNG --
  85.    
  86.     dxDrawRectangle(sx/2-((500/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  87.    
  88.     dxDrawRectangle(sx/2-((275/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  89.    
  90.     dxDrawRectangle(sx/2-((70/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  91.    
  92.     dxDrawRectangle(sx/2+((100/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  93.    
  94.     dxDrawRectangle(sx/2+((300/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  95.    
  96.     dxDrawRectangle(sx/2+((525/sx*aesx)/2), sy/2-(150/sy*aesy), 2/sx*aesx, DX_HEIGHT/sy*aesy, tocolor(100, 100, 100, cSetting["scoreboard_alpha"]*0.1))
  97.    
  98.     -- PLAYERS --
  99.     local add = 30
  100.     local increment = 18
  101.     for i = 0+cSetting["start_player"], 15+cSetting["start_player"], 1 do
  102.         if(cSetting["players"][i]) then
  103.             dxDrawText(cSetting["players"][i]["name"], sx/2-((730/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  104.            
  105.             dxDrawText(cSetting["players"][i]["faction"], sx/2-((430/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  106.            
  107.             dxDrawText(cSetting["players"][i]["class"], sx/2-((210/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  108.            
  109.             dxDrawText(cSetting["players"][i]["zone"], sx/2-((10/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  110.            
  111.             dxDrawText("$"..cSetting["players"][i]["money"], sx/2+((130/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  112.            
  113.             dxDrawText(""..cSetting["players"][i]["playtime"], sx/2+((360/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  114.            
  115.             dxDrawText(cSetting["players"][i]["ping"], sx/2+((600/sx*aesx)/2), sy/2-(135/sy*aesy)+add, 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.8), font_scale2/sx*aesx, "default-bold", "left")
  116.             add = add+increment
  117.         end
  118.     end
  119.     -- INFO --
  120.     dxDrawText("Use your Mouse wheel to scoll up/down.", sx/2-((740/sx*aesx)/2), sy/2+(230/sy*aesy), 1170/sx*aesx, 150/sy*aesy, tocolor(255, 255, 255, cSetting["scoreboard_alpha"]*1.5), font_scale1/sx*aesx, "default-bold", "center")
  121.  
  122. end
  123.  
  124.  
  125. cFunc["toggle_scoreboard"] = function(key, state)
  126.     if(state == "down") then
  127.         cSetting["state"] = true
  128.     else
  129.         cSetting["state"] = false
  130.     end
  131. end
  132.  
  133. cFunc["refresh_players"] = function()
  134.     local i = 1
  135.     for index, player in pairs(getElementsByType("player")) do
  136.  
  137.         cSetting["players"][i] = {}
  138.         cSetting["players"][i]["ping"] = getPlayerPing(player)
  139.         cSetting["players"][i]["name"] = getPlayerName(player)
  140.         cSetting["players"][i]["faction"] = getElementData(player, "faction") or "-"
  141.         cSetting["players"][i]["class"] = getElementData(player, "class") or "-"
  142.         local x, y, z = getElementPosition(player)
  143.         local zone = getZoneName(x, y, z, true)
  144.         if(zone == "Los Santos") then zone = "LS"
  145.         elseif(zone == "San Fierro") then zone = "SF"
  146.         else
  147.             zone = "LV"
  148.         end
  149.         cSetting["players"][i]["zone"] = zone
  150.         cSetting["players"][i]["money"] = getElementData(player, "money") or "-"
  151.         cSetting["players"][i]["playtime"] = getElementData(player, "playtime") or "-"
  152.         i = i+1
  153.     end
  154. end
  155.  
  156. cFunc["move_scoreboard_up"] = function()
  157.     if(cSetting["start_player"] < #cSetting["players"]) then
  158.         cSetting["start_player"] = cSetting["start_player"]+2
  159.     else
  160.         cSetting["start_player"] = #cSetting["players"]+2
  161.     end
  162. end
  163.  
  164. cFunc["move_scoreboard_down"] = function()
  165.     if(cSetting["start_player"] > 2) then
  166.         cSetting["start_player"] = cSetting["start_player"]-2
  167.     else
  168.         cSetting["start_player"] = 1
  169.     end
  170. end
  171.  
  172. cFunc["refresh_players"]()
  173. -- EVENT HANDLERS --
  174.  
  175. bindKey("tab", "both", cFunc["toggle_scoreboard"])
  176. addEventHandler("onClientRender", getRootElement(), cFunc["draw_scoreboard"])
  177. setTimer(cFunc["refresh_players"], 1000, -1)
  178.  
  179. bindKey("mouse_wheel_up", "down", cFunc["move_scoreboard_down"])
  180.  
  181. bindKey("mouse_wheel_down", "down", cFunc["move_scoreboard_up"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement