50 lines
877 B
SourcePawn
50 lines
877 B
SourcePawn
#if defined _serverfps_included
|
|
#endinput
|
|
#endif
|
|
#define _serverfps_included
|
|
|
|
#include <sourcemod>
|
|
#include <sdktools>
|
|
|
|
stock float GetServerFPS()
|
|
{
|
|
return 1.0 / view_as<float>(LoadFromAddress(GetHostTimeFrame(), NumberType_Int32));
|
|
}
|
|
|
|
/*
|
|
* Internal Functions
|
|
*/
|
|
stock Handle GetServerFPSConf()
|
|
{
|
|
static Handle hGameConf = null;
|
|
|
|
if (hGameConf == null)
|
|
{
|
|
hGameConf = LoadGameConfigFile("serverfps.games");
|
|
|
|
if (hGameConf == null)
|
|
{
|
|
SetFailState("Couldn't find \"serverfps.games\" configuration file");
|
|
}
|
|
}
|
|
|
|
return hGameConf;
|
|
}
|
|
|
|
stock Address GetHostTimeFrame()
|
|
{
|
|
static Address pHostTimeFrame = Address_Null;
|
|
|
|
if (pHostTimeFrame == Address_Null)
|
|
{
|
|
pHostTimeFrame = GameConfGetAddress(GetServerFPSConf(), "HostTimeFrame");
|
|
|
|
if (pHostTimeFrame == Address_Null)
|
|
{
|
|
SetFailState("Failed to find time frame address");
|
|
}
|
|
}
|
|
|
|
return pHostTimeFrame;
|
|
}
|