Jump to content

Scoreboard


iSmokee

Recommended Posts

Posted

Como puedo sacar el botón de Settings del scoreboard ?? porque no quiero otro scoreboard quiero el default pero ese botón me molesta T_T alguien me puede ayudar por favor se los agradecería muchísimo.

Posted
¿Podrías publicar el recurso? No estoy seguro de tener el mismo recurso o la misma versión que tu.

dices todo el codigo del scoreboard default el client o cual ?

Posted
  
-- THESE CAN BE CHANGED
triggerKey = "tab" -- default button to open/close scoreboard
settingsKey = "F7" -- default button to open the settings window
drawOverGUI = true -- draw scoreboard over gui?
seperationSpace = 80 -- the space between top/bottom screen and scoreboard top/bottom in pixels
 
-- BUT DON'T TOUCH THESE
scoreboardToggled = false
scoreboardForced = false
scoreboardDrawn = false
forceScoreboardUpdate = false
useAnimation = true
scoreboardIsToggleable = false
showServerInfo = false
showGamemodeInfo = false
showTeams = true
useColors = true
drawSpeed = 1
scoreboardScale = 1
teamHeaderFont = "clear"
contentFont = "default-bold"
columnFont = "default-bold"
serverInfoFont = "default"
rmbFont = "clear"
cBlack = tocolor( 0, 0, 0 )
cWhite = tocolor( 255, 255, 255 )
cSettingsBox = tocolor( 255, 255, 255, 150 )
MAX_PRIRORITY_SLOT = 500
 
scoreboardColumns = {}
resourceColumns = {}
scoreboardDimensions = { ["width"] = 0, ["height"] = 0, ["phase"] = 1, ["lastSeconds"] = 0 }
scoreboardTicks = { ["lastUpdate"] = 0, ["updateInterval"] = 500 }
scoreboardContent = {}
firstVisibleIndex = 1
sortBy = { ["what"] = "__NONE__", ["dir"] = -1 } -- -1 = dec, 1 = asc
sbOutOffset, sbInOffset = 1, 1
sbFont = "clear"
sbFontScale = 0.68
serverInfo = {}
fontScale = { -- To make all fonts be equal in height
    ["default"] = 1.0,
    ["default-bold"] = 1.0,
    ["clear"] = 1.0,
    ["arial"] = 1.0,
    ["sans"] = 1.0,
    ["pricedown"] = 0.5,
    ["bankgothic"] = 0.5,
    ["diploma"] = 0.5,
    ["beckett"] = 0.5
}
selectedRows = {}
 
addEvent( "onClientPlayerScoreboardClick" )
 
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ),
    function ( resource )
        cScoreboardBackground = tocolor( defaultSettings.bg_color.r, defaultSettings.bg_color.g, defaultSettings.bg_color.b, defaultSettings.bg_color.a )
        cSelection = tocolor( defaultSettings.selection_color.r, defaultSettings.selection_color.g, defaultSettings.selection_color.b, defaultSettings.selection_color.a )
        cHighlight = tocolor( defaultSettings.highlight_color.r, defaultSettings.highlight_color.g, defaultSettings.highlight_color.b, defaultSettings.highlight_color.a )
        cHeader = tocolor( defaultSettings.header_color.r, defaultSettings.header_color.g, defaultSettings.header_color.b, defaultSettings.header_color.a )
        cTeam = tocolor( defaultSettings.team_color.r, defaultSettings.team_color.g, defaultSettings.team_color.b, defaultSettings.team_color.a )
        cBorder = tocolor( defaultSettings.border_color.r, defaultSettings.border_color.g, defaultSettings.border_color.b, defaultSettings.border_color.a )
        cServerInfo = tocolor( defaultSettings.serverinfo_color.r, defaultSettings.serverinfo_color.g, defaultSettings.serverinfo_color.b, defaultSettings.serverinfo_color.a )
        cContent = tocolor( defaultSettings.content_color.r, defaultSettings.content_color.g, defaultSettings.content_color.b, defaultSettings.content_color.a )
       
        bindKey( triggerKey, "down", "Toggle scoreboard", "1" )
        bindKey( triggerKey, "up", "Toggle scoreboard", "0" )
        bindKey( settingsKey, "down", "Open scoreboard settings", "1" )
       
        addEventHandler( "onClientRender", getRootElement(), drawScoreboard )
        triggerServerEvent( "onClientDXScoreboardResourceStart", getRootElement() )
        readScoreboardSettings()
        triggerServerEvent( "requestServerInfo", getRootElement() )
 
        colorPicker.constructor()
    end
)
 
addEventHandler( "onClientPlayerQuit", getRootElement(),
    function()
        selectedRows[source] = nil
    end
)
 
function sendServerInfo( output )
    serverInfo = output
end
addEvent( "sendServerInfo", true )
addEventHandler( "sendServerInfo", getResourceRootElement( getThisResource() ), sendServerInfo )
 
function toggleScoreboard( _, state )
    state = iif( state == "1", true, false )
    if scoreboardIsToggleable and state then
        scoreboardToggled = not scoreboardToggled
    elseif not scoreboardIsToggleable then
        scoreboardToggled = state
    end
end
addCommandHandler( "Toggle scoreboard", toggleScoreboard )
 
function openSettingsWindow()
    if scoreboardDrawn then
        local sX, sY = guiGetScreenSize()
        if not (windowSettings and isElement( windowSettings ) and guiGetVisible( windowSettings )) then
            createScoreboardSettingsWindow( sX-323, sY-350 )
            showCursor( true )
        elseif isElement( windowSettings ) then
            destroyScoreboardSettingsWindow()
        end
    end
end
addCommandHandler( "Open scoreboard settings", openSettingsWindow )
 
addCommandHandler( "scoreboard",
    function ()
        scoreboardToggled = not scoreboardToggled
    end
)
 
function iif( cond, arg1, arg2 )
    if cond then
        return arg1
    end
    return arg2
end
 
function doDrawScoreboard( rtPass, onlyAnim, sX, sY )
    if #scoreboardColumns ~= 0 then
 
        --
        -- In/out animation
        --
        local currentSeconds = getTickCount() / 1000
        local deltaSeconds = currentSeconds - scoreboardDimensions.lastSeconds
        scoreboardDimensions.lastSeconds = currentSeconds
        deltaSeconds = math.clamp( 0, deltaSeconds, 1/25 )
           
        if scoreboardToggled or scoreboardForced then
            local phases = {
                [1] = {
                    ["width"]       = s(10),
                    ["height"]      = s(5),
                   
                    ["incToWidth"]  = s(10),
                    ["incToHeight"] = s(5),
               
                    ["decToWidth"]  = 0,
                    ["decToHeight"] = 0
                },
                [2] = {
                    ["width"]   = s(40),
                    ["height"]  = s(5),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = s(5),
                       
                    ["decToWidth"]  = s(10),
                    ["decToHeight"] = s(5)
                       
                },
                [3] = {
                    ["width"]       = calculateWidth(),
                    ["height"]      = s(30),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = calculateHeight(),
                       
                    ["decToWidth"]  = calculateWidth(),
                    ["decToHeight"] = s(5)
                }
            }
       
            if not useAnimation then
                scoreboardDimensions.width = calculateWidth()
                scoreboardDimensions.height = calculateHeight()
                scoreboardDimensions.phase = #phases
            end
           
            local maxChange = deltaSeconds * 30*drawSpeed
            local maxWidthDiff = math.clamp( -maxChange, phases[scoreboardDimensions.phase].incToWidth - scoreboardDimensions.width, maxChange )
            local maxHeightDiff = math.clamp( -maxChange, phases[scoreboardDimensions.phase].incToHeight - scoreboardDimensions.height, maxChange ) 
           
            if scoreboardDimensions.width < phases[scoreboardDimensions.phase].incToWidth then
                scoreboardDimensions.width = scoreboardDimensions.width + maxWidthDiff * phases[scoreboardDimensions.phase].width
                if scoreboardDimensions.width > phases[scoreboardDimensions.phase].incToWidth then
                    scoreboardDimensions.width = phases[scoreboardDimensions.phase].incToWidth
                end
            elseif scoreboardDimensions.width > phases[scoreboardDimensions.phase].incToWidth and not scoreboardDrawn then
                scoreboardDimensions.width = scoreboardDimensions.width - maxWidthDiff * phases[scoreboardDimensions.phase].width
                if scoreboardDimensions.width < phases[scoreboardDimensions.phase].incToWidth then
                    scoreboardDimensions.width = phases[scoreboardDimensions.phase].incToWidth
                end
            end
               
            if scoreboardDimensions.height < phases[scoreboardDimensions.phase].incToHeight then
                scoreboardDimensions.height = scoreboardDimensions.height + maxHeightDiff * phases[scoreboardDimensions.phase].height
                if scoreboardDimensions.height > phases[scoreboardDimensions.phase].incToHeight then
                    scoreboardDimensions.height = phases[scoreboardDimensions.phase].incToHeight
                end
            elseif scoreboardDimensions.height > phases[scoreboardDimensions.phase].incToHeight and not scoreboardDrawn then
                scoreboardDimensions.height = scoreboardDimensions.height - maxHeightDiff * phases[scoreboardDimensions.phase].height
                if scoreboardDimensions.height < phases[scoreboardDimensions.phase].incToHeight then
                    scoreboardDimensions.height = phases[scoreboardDimensions.phase].incToHeight
                end
            end
               
            if  scoreboardDimensions.width == phases[scoreboardDimensions.phase].incToWidth and
                scoreboardDimensions.height == phases[scoreboardDimensions.phase].incToHeight then
                if phases[scoreboardDimensions.phase + 1] then
                    scoreboardDimensions.phase = scoreboardDimensions.phase + 1
                else
                    if not scoreboardDrawn then
                        bindKey( "mouse2", "both", showTheCursor )
                        bindKey( "mouse_wheel_up", "down", scrollScoreboard, -1 )
                        bindKey( "mouse_wheel_down", "down", scrollScoreboard, 1 )
                        addEventHandler( "onClientClick", getRootElement(), scoreboardClickHandler )
                        if not (windowSettings and isElement( windowSettings )) then
                            showCursor( false )
                        end
                        triggerServerEvent( "requestServerInfo", getRootElement() )
                    end
                    scoreboardDrawn = true
                end
            end
        elseif scoreboardDimensions.width ~= 0 and scoreboardDimensions.height ~= 0 then
            local phases = {
                [1] = {
                    ["width"]       = s(10),
                    ["height"]      = s(5),
                   
                    ["incToWidth"]  = s(10),
                    ["incToHeight"] = s(5),
               
                    ["decToWidth"]  = 0,
                    ["decToHeight"] = 0
                },
                [2] = {
                    ["width"]   = s(40),
                    ["height"]  = s(5),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = s(5),
                       
                    ["decToWidth"]  = s(10),
                    ["decToHeight"] = s(5)
                       
                },
                [3] = {
                    ["width"]       = calculateWidth(),
                   
Posted
  
-- THESE CAN BE CHANGED
triggerKey = "tab" -- default button to open/close scoreboard
settingsKey = "F7" -- default button to open the settings window
drawOverGUI = true -- draw scoreboard over gui?
seperationSpace = 80 -- the space between top/bottom screen and scoreboard top/bottom in pixels
 
-- BUT DON'T TOUCH THESE
scoreboardToggled = false
scoreboardForced = false
scoreboardDrawn = false
forceScoreboardUpdate = false
useAnimation = true
scoreboardIsToggleable = false
showServerInfo = false
showGamemodeInfo = false
showTeams = true
useColors = true
drawSpeed = 1
scoreboardScale = 1
teamHeaderFont = "clear"
contentFont = "default-bold"
columnFont = "default-bold"
serverInfoFont = "default"
rmbFont = "clear"
cBlack = tocolor( 0, 0, 0 )
cWhite = tocolor( 255, 255, 255 )
cSettingsBox = tocolor( 255, 255, 255, 150 )
MAX_PRIRORITY_SLOT = 500
 
scoreboardColumns = {}
resourceColumns = {}
scoreboardDimensions = { ["width"] = 0, ["height"] = 0, ["phase"] = 1, ["lastSeconds"] = 0 }
scoreboardTicks = { ["lastUpdate"] = 0, ["updateInterval"] = 500 }
scoreboardContent = {}
firstVisibleIndex = 1
sortBy = { ["what"] = "__NONE__", ["dir"] = -1 } -- -1 = dec, 1 = asc
sbOutOffset, sbInOffset = 1, 1
sbFont = "clear"
sbFontScale = 0.68
serverInfo = {}
fontScale = { -- To make all fonts be equal in height
    ["default"] = 1.0,
    ["default-bold"] = 1.0,
    ["clear"] = 1.0,
    ["arial"] = 1.0,
    ["sans"] = 1.0,
    ["pricedown"] = 0.5,
    ["bankgothic"] = 0.5,
    ["diploma"] = 0.5,
    ["beckett"] = 0.5
}
selectedRows = {}
 
addEvent( "onClientPlayerScoreboardClick" )
 
addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ),
    function ( resource )
        cScoreboardBackground = tocolor( defaultSettings.bg_color.r, defaultSettings.bg_color.g, defaultSettings.bg_color.b, defaultSettings.bg_color.a )
        cSelection = tocolor( defaultSettings.selection_color.r, defaultSettings.selection_color.g, defaultSettings.selection_color.b, defaultSettings.selection_color.a )
        cHighlight = tocolor( defaultSettings.highlight_color.r, defaultSettings.highlight_color.g, defaultSettings.highlight_color.b, defaultSettings.highlight_color.a )
        cHeader = tocolor( defaultSettings.header_color.r, defaultSettings.header_color.g, defaultSettings.header_color.b, defaultSettings.header_color.a )
        cTeam = tocolor( defaultSettings.team_color.r, defaultSettings.team_color.g, defaultSettings.team_color.b, defaultSettings.team_color.a )
        cBorder = tocolor( defaultSettings.border_color.r, defaultSettings.border_color.g, defaultSettings.border_color.b, defaultSettings.border_color.a )
        cServerInfo = tocolor( defaultSettings.serverinfo_color.r, defaultSettings.serverinfo_color.g, defaultSettings.serverinfo_color.b, defaultSettings.serverinfo_color.a )
        cContent = tocolor( defaultSettings.content_color.r, defaultSettings.content_color.g, defaultSettings.content_color.b, defaultSettings.content_color.a )
       
        bindKey( triggerKey, "down", "Toggle scoreboard", "1" )
        bindKey( triggerKey, "up", "Toggle scoreboard", "0" )
        bindKey( settingsKey, "down", "Open scoreboard settings", "1" )
       
        addEventHandler( "onClientRender", getRootElement(), drawScoreboard )
        triggerServerEvent( "onClientDXScoreboardResourceStart", getRootElement() )
        readScoreboardSettings()
        triggerServerEvent( "requestServerInfo", getRootElement() )
 
        colorPicker.constructor()
    end
)
 
addEventHandler( "onClientPlayerQuit", getRootElement(),
    function()
        selectedRows[source] = nil
    end
)
 
function sendServerInfo( output )
    serverInfo = output
end
addEvent( "sendServerInfo", true )
addEventHandler( "sendServerInfo", getResourceRootElement( getThisResource() ), sendServerInfo )
 
function toggleScoreboard( _, state )
    state = iif( state == "1", true, false )
    if scoreboardIsToggleable and state then
        scoreboardToggled = not scoreboardToggled
    elseif not scoreboardIsToggleable then
        scoreboardToggled = state
    end
end
addCommandHandler( "Toggle scoreboard", toggleScoreboard )
 
addCommandHandler( "scoreboard",
    function ()
        scoreboardToggled = not scoreboardToggled
    end
)
 
function iif( cond, arg1, arg2 )
    if cond then
        return arg1
    end
    return arg2
end
 
function doDrawScoreboard( rtPass, onlyAnim, sX, sY )
    if #scoreboardColumns ~= 0 then
 
        --
        -- In/out animation
        --
        local currentSeconds = getTickCount() / 1000
        local deltaSeconds = currentSeconds - scoreboardDimensions.lastSeconds
        scoreboardDimensions.lastSeconds = currentSeconds
        deltaSeconds = math.clamp( 0, deltaSeconds, 1/25 )
           
        if scoreboardToggled or scoreboardForced then
            local phases = {
                [1] = {
                    ["width"]       = s(10),
                    ["height"]      = s(5),
                   
                    ["incToWidth"]  = s(10),
                    ["incToHeight"] = s(5),
               
                    ["decToWidth"]  = 0,
                    ["decToHeight"] = 0
                },
                [2] = {
                    ["width"]   = s(40),
                    ["height"]  = s(5),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = s(5),
                       
                    ["decToWidth"]  = s(10),
                    ["decToHeight"] = s(5)
                       
                },
                [3] = {
                    ["width"]       = calculateWidth(),
                    ["height"]      = s(30),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = calculateHeight(),
                       
                    ["decToWidth"]  = calculateWidth(),
                    ["decToHeight"] = s(5)
                }
            }
       
            if not useAnimation then
                scoreboardDimensions.width = calculateWidth()
                scoreboardDimensions.height = calculateHeight()
                scoreboardDimensions.phase = #phases
            end
           
            local maxChange = deltaSeconds * 30*drawSpeed
            local maxWidthDiff = math.clamp( -maxChange, phases[scoreboardDimensions.phase].incToWidth - scoreboardDimensions.width, maxChange )
            local maxHeightDiff = math.clamp( -maxChange, phases[scoreboardDimensions.phase].incToHeight - scoreboardDimensions.height, maxChange )
           
            if scoreboardDimensions.width < phases[scoreboardDimensions.phase].incToWidth then
                scoreboardDimensions.width = scoreboardDimensions.width + maxWidthDiff * phases[scoreboardDimensions.phase].width
                if scoreboardDimensions.width > phases[scoreboardDimensions.phase].incToWidth then
                    scoreboardDimensions.width = phases[scoreboardDimensions.phase].incToWidth
                end
            elseif scoreboardDimensions.width > phases[scoreboardDimensions.phase].incToWidth and not scoreboardDrawn then
                scoreboardDimensions.width = scoreboardDimensions.width - maxWidthDiff * phases[scoreboardDimensions.phase].width
                if scoreboardDimensions.width < phases[scoreboardDimensions.phase].incToWidth then
                    scoreboardDimensions.width = phases[scoreboardDimensions.phase].incToWidth
                end
            end
               
            if scoreboardDimensions.height < phases[scoreboardDimensions.phase].incToHeight then
                scoreboardDimensions.height = scoreboardDimensions.height + maxHeightDiff * phases[scoreboardDimensions.phase].height
                if scoreboardDimensions.height > phases[scoreboardDimensions.phase].incToHeight then
                    scoreboardDimensions.height = phases[scoreboardDimensions.phase].incToHeight
                end
            elseif scoreboardDimensions.height > phases[scoreboardDimensions.phase].incToHeight and not scoreboardDrawn then
                scoreboardDimensions.height = scoreboardDimensions.height - maxHeightDiff * phases[scoreboardDimensions.phase].height
                if scoreboardDimensions.height < phases[scoreboardDimensions.phase].incToHeight then
                    scoreboardDimensions.height = phases[scoreboardDimensions.phase].incToHeight
                end
            end
               
            if  scoreboardDimensions.width == phases[scoreboardDimensions.phase].incToWidth and
                scoreboardDimensions.height == phases[scoreboardDimensions.phase].incToHeight then
                if phases[scoreboardDimensions.phase + 1] then
                    scoreboardDimensions.phase = scoreboardDimensions.phase + 1
                else
                    if not scoreboardDrawn then
                        bindKey( "mouse2", "both", showTheCursor )
                        bindKey( "mouse_wheel_up", "down", scrollScoreboard, -1 )
                        bindKey( "mouse_wheel_down", "down", scrollScoreboard, 1 )
                        addEventHandler( "onClientClick", getRootElement(), scoreboardClickHandler )
                        if not (windowSettings and isElement( windowSettings )) then
                            showCursor( false )
                        end
                        triggerServerEvent( "requestServerInfo", getRootElement() )
                    end
                    scoreboardDrawn = true
                end
            end
        elseif scoreboardDimensions.width ~= 0 and scoreboardDimensions.height ~= 0 then
            local phases = {
                [1] = {
                    ["width"]       = s(10),
                    ["height"]      = s(5),
                   
                    ["incToWidth"]  = s(10),
                    ["incToHeight"] = s(5),
               
                    ["decToWidth"]  = 0,
                    ["decToHeight"] = 0
                },
                [2] = {
                    ["width"]   = s(40),
                    ["height"]  = s(5),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = s(5),
                       
                    ["decToWidth"]  = s(10),
                    ["decToHeight"] = s(5)
                       
                },
                [3] = {
                    ["width"]       = calculateWidth(),
                    ["height"]      = s(30),
                       
                    ["incToWidth"]  = calculateWidth(),
                    ["incToHeight"] = calculateHeight(),
                       
                    ["decToWidth"]  = calculateWidth(),
                    ["decToHeight"] = s(5)
                }
            }
       
            if scoreboardDrawn then
                unbindKey( "mouse2", "both", showTheCursor )
               
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...