Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- ##########################################################################
- ## ##
- ## Project: 'MT-RPG' - Resoruce for MTA: San Andreas PROJECT X ##
- ## Developer: Noneatme ##
- ## License: See LICENSE in the top level directory ##
- ## ##
- ##########################################################################
- ]]
- local cFunc = {}
- local cSetting = {}
- cSetting["scoreboard_alpha"] = 0
- cSetting["state"] = false
- cSetting["players"] = {}
- local sx, sy = guiGetScreenSize()
- local aesx, aesy = 1600, 900
- local MAX_ALPHA = 100
- local MAX_PLAYERS = 4096
- local font_scale1 = 1
- local font_scale2 = 1
- local DX_HEIGHT = 400
- cSetting["start_player"] = 1
- -- FUNCTIONS --
- cFunc["draw_scoreboard"] = function()
- if(cSetting["state"] == true) then
- if(cSetting["scoreboard_alpha"] < MAX_ALPHA) then
- cSetting["scoreboard_alpha"] = cSetting["scoreboard_alpha"]+10
- end
- else
- if(cSetting["scoreboard_alpha"] > 0) then
- cSetting["scoreboard_alpha"] = cSetting["scoreboard_alpha"]-10
- end
- end
- -- SCOREBOARD BACKGROUND --
- local players = #cSetting["players"]
- if(players < 3) then
- players = 3
- end
- 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"]))
- 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"]))
- -- OBERES --
- 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"]))
- 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")
- 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")
- 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")
- -- SPALTEN --
- 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")
- 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")
- 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")
- 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")
- 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")
- 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")
- 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")
- -- SPALTENTRENNUNG --
- 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))
- 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))
- 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))
- 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))
- 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))
- 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))
- -- PLAYERS --
- local add = 30
- local increment = 18
- for i = 0+cSetting["start_player"], 15+cSetting["start_player"], 1 do
- if(cSetting["players"][i]) then
- 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")
- 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")
- 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")
- 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")
- 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")
- 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")
- 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")
- add = add+increment
- end
- end
- -- INFO --
- 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")
- end
- cFunc["toggle_scoreboard"] = function(key, state)
- if(state == "down") then
- cSetting["state"] = true
- else
- cSetting["state"] = false
- end
- end
- cFunc["refresh_players"] = function()
- local i = 1
- for index, player in pairs(getElementsByType("player")) do
- cSetting["players"][i] = {}
- cSetting["players"][i]["ping"] = getPlayerPing(player)
- cSetting["players"][i]["name"] = getPlayerName(player)
- cSetting["players"][i]["faction"] = getElementData(player, "faction") or "-"
- cSetting["players"][i]["class"] = getElementData(player, "class") or "-"
- local x, y, z = getElementPosition(player)
- local zone = getZoneName(x, y, z, true)
- if(zone == "Los Santos") then zone = "LS"
- elseif(zone == "San Fierro") then zone = "SF"
- else
- zone = "LV"
- end
- cSetting["players"][i]["zone"] = zone
- cSetting["players"][i]["money"] = getElementData(player, "money") or "-"
- cSetting["players"][i]["playtime"] = getElementData(player, "playtime") or "-"
- i = i+1
- end
- end
- cFunc["move_scoreboard_up"] = function()
- if(cSetting["start_player"] < #cSetting["players"]) then
- cSetting["start_player"] = cSetting["start_player"]+2
- else
- cSetting["start_player"] = #cSetting["players"]+2
- end
- end
- cFunc["move_scoreboard_down"] = function()
- if(cSetting["start_player"] > 2) then
- cSetting["start_player"] = cSetting["start_player"]-2
- else
- cSetting["start_player"] = 1
- end
- end
- cFunc["refresh_players"]()
- -- EVENT HANDLERS --
- bindKey("tab", "both", cFunc["toggle_scoreboard"])
- addEventHandler("onClientRender", getRootElement(), cFunc["draw_scoreboard"])
- setTimer(cFunc["refresh_players"], 1000, -1)
- bindKey("mouse_wheel_up", "down", cFunc["move_scoreboard_down"])
- bindKey("mouse_wheel_down", "down", cFunc["move_scoreboard_up"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement