Jump to content

Help with a code :3


novo

Recommended Posts

Hi all.

I just made this code:

  
local root = getRootElement() 
local player = getLocalPlayer() 
local counter = 0 
local starttick 
local currenttick 
addEventHandler("onClientRender",root, 
    function(player) 
        if not starttick then 
            starttick = getTickCount() 
        end 
        counter = counter + 1 
        currenttick = getTickCount() 
        if currenttick - starttick >= 1000 then 
            setElementData(player,"fps",counter) 
dxText:create('FPS:', screenWidth - 190, 1090, false, 'bankgothic', 1), 
dxText:create(tostring(getElementData( player, "counter" )), screenWidth - 190, 1110, false, 'bankgothic', 1), 
            counter = 0 
            starttick = false 
        end 
    end 
) 
  

I place it on race/race_client.lua, but the race got bugued on resource start.

The idea is to make a text where you see your currently fps.

Please help me <3

Bye.

Link to comment

Try this (not tested):

local player = getLocalPlayer() 
local counter = 0 
local starttick 
local currenttick 
local screenWidth, screenHeight = guiGetScreenSize() 
  
dxText:create('FPS:', screenWidth - 190, 1090, false, 'bankgothic', 1) 
fpsLabel = dxText:create("0", screenWidth - 190, 1110, false, 'bankgothic', 1) 
  
addEventHandler("onClientRender",root, 
    function() 
        if not starttick then 
            starttick = getTickCount() 
        end 
        counter = counter + 1 
        currenttick = getTickCount() 
        if currenttick - starttick >= 1000 then 
            setElementData(player,"fps",counter) 
            fpsLabel:text(tostring(counter)) 
            counter = 0 
            starttick = false 
        end 
    end 
) 

Link to comment

As I said, the text position is WRONG.

local player = getLocalPlayer() 
local counter = 0 
local starttick 
local currenttick 
local screenWidth, screenHeight = guiGetScreenSize() 
  
fpsLabel = dxText:create('FPS:', screenWidth - 190, 25, false, 'bankgothic', 1) 
fps = dxText:create("0", screenWidth - 130, 25, false, 'bankgothic', 1) 
  
addEventHandler("onClientRender",root, 
    function() 
        if not starttick then 
            starttick = getTickCount() 
        end 
        counter = counter + 1 
        currenttick = getTickCount() 
        if currenttick - starttick >= 1000 then 
            setElementData(player,"fps",counter) 
            fps:text(tostring(counter)) 
            counter = 0 
            starttick = false 
        end 
    end 
) 

That works, the text is over the HUD.

Link to comment

try this

FPSLimit = 50 
FPSMax = 52 
  
function onClientResourceStart ( resource ) 
    if ( guiFPSLabel == nil ) then 
        FPSLimit = 255 / FPSLimit 
        guiFPSLabel = guiCreateLabel ( 0.03, 0.97, 0.1, 0.1, "FPS: 0", true ) 
        FPSCalc = 0 
        FPSTime = getTickCount() + 1000 
        addEventHandler ( "onClientRender", getRootElement (), onClientRender ) 
    end 
end 
addEventHandler ( "onClientResourceStart", getRootElement (), onClientResourceStart ) 
  
function onClientRender ( ) 
    if ( getTickCount() < FPSTime ) then 
        FPSCalc = FPSCalc + 1 
    else 
        if ( FPSCalc > FPSMax ) then FPSLimit = 255 / FPSCalc FPSMax = FPSCalc end 
        guiSetText ( guiFPSLabel, "FPS: "..FPSCalc.." Max: "..FPSMax ) 
        guiLabelSetColor ( guiFPSLabel, 255 - math.ceil ( FPSCalc * FPSLimit ), math.ceil ( FPSCalc * FPSLimit ), 0 ) 
        FPSCalc = 0 
        FPSTime = getTickCount() + 1000 
    end 
end 

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...