Jump to content

Scoreboard


VegasBoy

Recommended Posts

Hello guys, I have a problem  ,personally i like original scripts not from community , so  i want to make a scoreboard , functional ofcourse , i already added "Online time " how i could do to make it bigger with more columns , shall i copy this "call ( getResourceFromName ( "scoreboard" ), "scoreboardAddColumn", "Online" )  " and add it down here .My script looks like. And yeah i can't figure out how i could make a functional scoreboard like i did for " online time" i want to add FPS, Money etc  , could someone help me?

addEventHandler("onResourceStart",getResourceRootElement(getThisResource))
call ( getResourceFromName ( "scoreboard" ), "scoreboardAddColumn", "Online" ) 
  
addEventHandler ( "onResourceStart" , resourceRoot , 
    function ( ) 
        for index , player in ipairs ( getElementsByType ( "player" ) ) do 
            local pAccount = getPlayerAccount ( player ) 
            if not isGuestAccount ( pAccount ) then 
                local minutes = getAccountData ( pAccount , "Online.minutes" ) 
                if minutes then 
                    local hours = getAccountData ( pAccount , "Online.hours" ) 
                    if # tostring ( minutes ) == 1 then 
                        minutes = "0" .. minutes 
                    end 
                    if # tostring ( hours ) == 1 then 
                        hours = "0" .. hours 
                    end 
                    setElementData ( player , "Online" , hours .. " H " .. minutes .. " M" ) 
                    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
                    setElementData ( player , "Online.timer" , timer ) 
                else 
                    setAccountData ( pAccount , "Online.minutes" , 0 ) 
      
              setAccountData ( pAccount , "Online.hours" , 0 ) 
                    setElementData ( player , "Online" , "00 H 00 M" ) 
                    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
                    setElementData ( player , "Online.timer" , timer ) 
                end 
            else 
                setElementData ( player , "Online" , "N/A" ) 
            end 
        end 
    end 

  
addEventHandler ( "onResourceStop" , resourceRoot , 
    function ( ) 
        for index , player in ipairs ( getElementsByType ( "player" ) ) do 
            local pAccount = getPlayerAccount ( player ) 
            if not isGuestAccount ( pAccount ) then 
                local timer = getElementData ( player , "Online.timer" ) 
                if isTimer ( timer ) then 
                    killTimer ( timer ) 
                end 
            end 
        end 
    end 

  
addEventHandler ( "onPlayerLogin" , root , 
    function ( _ , pAccount ) 
        local minutes = getAccountData ( pAccount , "Online.minutes" ) 
        if minutes then 
            local hours = getAccountData ( pAccount , "Online.hours" ) 
            if # tostring ( minutes ) == 1 then 
                minutes = "0" .. minutes 
            end 
            if # tostring ( hours ) == 1 then 
                hours = "0" .. hours 
            end 
            setElementData ( source , "Online" , hours .. " H " .. minutes .. " M" ) 
            local timer = setTimer ( updatePlayerOnline , 60000 , 1 , source ) 
            setElementData ( source , "Online.timer" , timer ) 
        else 
            setAccountData ( pAccount , "Online.minutes" , 0 ) 
            setAccountData ( pAccount , "Online.hours" , 0 ) 
            setElementData ( source , "Online" , "00 H 00 M" ) 
            local timer = setTimer ( updatePlayerOnline , 60000 , 1 , source ) 
            setElementData ( source , "Online.timer" , timer ) 
        end 
    end 

  
addEventHandler ( "onPlayerLogout" , root , 
    function ( pAccount ) 
        local timer = getElementData ( source , "Online.timer" ) 
        if isTimer ( timer ) then 
            killTimer ( timer ) 
        end 
    end 

addEventHandler ( "onPlayerJoin" , root , 
    function ( ) 
        setElementData ( source , "Online" , "N/A" ) 
    end 

  
addEventHandler ( "onPlayerQuit" , root , 
    function ( ) 
        local pAccount = getPlayerAccount ( source ) 
        if not isGuestAccount ( pAccount ) then 
            local timer = getElementData ( source , "Online.timer" ) 
            if isTimer ( timer ) then 
                killTimer ( timer ) 
            end 
        end 
    end 

  
function updatePlayerOnline ( player ) 
    local pAccount = getPlayerAccount ( player ) 
    local minutes = getAccountData ( pAccount , "Online.minutes" ) 
    local hours = getAccountData ( pAccount , "Online.hours" ) 
    minutes = tostring ( tonumber ( minutes ) + 1 ) 
    if minutes == "60" then 
        hours = tostring ( tonumber ( hours ) + 1 ) 
        minutes = "00" 
    end 
    setAccountData ( pAccount , "Online.minutes" , tonumber ( minutes ) ) 
    setAccountData ( pAccount , "Online.hours" , tonumber ( hours ) ) 
    if # tostring ( minutes ) == 1 then minutes = "0" .. minutes end 
    if # tostring ( hours ) == 1 then hours = "0" .. hours end 
    setElementData ( player , "Online" , hours .. " H " .. minutes .. " M" ) 
    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
    setElementData ( player , "Online.timer" , timer ) 
end 

Link to comment

I'll just repost your code in code mode real quick. Next time, use code, so it is actually readable.

addEventHandler("onResourceStart",getResourceRootElement(getThisResource))
call ( getResourceFromName ( "scoreboard" ), "scoreboardAddColumn", "Online" ) 
  
addEventHandler ( "onResourceStart" , resourceRoot , 
    function ( ) 
        for index , player in ipairs ( getElementsByType ( "player" ) ) do 
            local pAccount = getPlayerAccount ( player ) 
            if not isGuestAccount ( pAccount ) then 
                local minutes = getAccountData ( pAccount , "Online.minutes" ) 
                if minutes then 
                    local hours = getAccountData ( pAccount , "Online.hours" ) 
                    if # tostring ( minutes ) == 1 then 
                        minutes = "0" .. minutes 
                    end 
                    if # tostring ( hours ) == 1 then 
                        hours = "0" .. hours 
                    end 
                    setElementData ( player , "Online" , hours .. " H " .. minutes .. " M" ) 
                    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
                    setElementData ( player , "Online.timer" , timer ) 
                else 
                    setAccountData ( pAccount , "Online.minutes" , 0 ) 
      
              setAccountData ( pAccount , "Online.hours" , 0 ) 
                    setElementData ( player , "Online" , "00 H 00 M" ) 
                    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
                    setElementData ( player , "Online.timer" , timer ) 
                end 
            else 
                setElementData ( player , "Online" , "N/A" ) 
            end 
        end 
    end 
) 
  
addEventHandler ( "onResourceStop" , resourceRoot , 
    function ( ) 
        for index , player in ipairs ( getElementsByType ( "player" ) ) do 
            local pAccount = getPlayerAccount ( player ) 
            if not isGuestAccount ( pAccount ) then 
                local timer = getElementData ( player , "Online.timer" ) 
                if isTimer ( timer ) then 
                    killTimer ( timer ) 
                end 
            end 
        end 
    end 
) 
  
addEventHandler ( "onPlayerLogin" , root , 
    function ( _ , pAccount ) 
        local minutes = getAccountData ( pAccount , "Online.minutes" ) 
        if minutes then 
            local hours = getAccountData ( pAccount , "Online.hours" ) 
            if # tostring ( minutes ) == 1 then 
                minutes = "0" .. minutes 
            end 
            if # tostring ( hours ) == 1 then 
                hours = "0" .. hours 
            end 
            setElementData ( source , "Online" , hours .. " H " .. minutes .. " M" ) 
            local timer = setTimer ( updatePlayerOnline , 60000 , 1 , source ) 
            setElementData ( source , "Online.timer" , timer ) 
        else 
            setAccountData ( pAccount , "Online.minutes" , 0 ) 
            setAccountData ( pAccount , "Online.hours" , 0 ) 
            setElementData ( source , "Online" , "00 H 00 M" ) 
            local timer = setTimer ( updatePlayerOnline , 60000 , 1 , source ) 
            setElementData ( source , "Online.timer" , timer ) 
        end 
    end 
) 
  
addEventHandler ( "onPlayerLogout" , root , 
    function ( pAccount ) 
        local timer = getElementData ( source , "Online.timer" ) 
        if isTimer ( timer ) then 
            killTimer ( timer ) 
        end 
    end 
) 

addEventHandler ( "onPlayerJoin" , root , 
    function ( ) 
        setElementData ( source , "Online" , "N/A" ) 
    end 
) 
  
addEventHandler ( "onPlayerQuit" , root , 
    function ( ) 
        local pAccount = getPlayerAccount ( source ) 
        if not isGuestAccount ( pAccount ) then 
            local timer = getElementData ( source , "Online.timer" ) 
            if isTimer ( timer ) then 
                killTimer ( timer ) 
            end 
        end 
    end 
) 
  
function updatePlayerOnline ( player ) 
    local pAccount = getPlayerAccount ( player ) 
    local minutes = getAccountData ( pAccount , "Online.minutes" ) 
    local hours = getAccountData ( pAccount , "Online.hours" ) 
    minutes = tostring ( tonumber ( minutes ) + 1 ) 
    if minutes == "60" then 
        hours = tostring ( tonumber ( hours ) + 1 ) 
        minutes = "00" 
    end 
    setAccountData ( pAccount , "Online.minutes" , tonumber ( minutes ) ) 
    setAccountData ( pAccount , "Online.hours" , tonumber ( hours ) ) 
    if # tostring ( minutes ) == 1 then minutes = "0" .. minutes end 
    if # tostring ( hours ) == 1 then hours = "0" .. hours end 
    setElementData ( player , "Online" , hours .. " H " .. minutes .. " M" ) 
    local timer = setTimer ( updatePlayerOnline , 60000 , 1 , player ) 
    setElementData ( player , "Online.timer" , timer ) 
end
  • Like 1
Link to comment

About the fps and money....

Head to your scoreboard script

open file 'dxscoreboard_exports.lua'

and add whatever you want

{ ["name"] = "money", ["width"] = 60, ["friendlyName"] = "Money", ["priority"] = MAX_PRIRORITY_SLOT -2},
{ ["name"] = "fps", ["width"] = 40, ["friendlyName"] = "FPS", ["priority"] = MAX_PRIRORITY_SLOT -1},

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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