#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "[AMXX] - FPS MAX"
#define VERSION "1.0"
#define AUTHOR "Nill_"
new Trie:g_tCvars;
const g_iFpsMax = 100; // FPS limit megadása.
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public plugin_cfg()
{
g_tCvars = TrieCreate();
new szFpsMax[3];
num_to_str(g_iFpsMax, szFpsMax, charsmax(szFpsMax));
TrieSetString(g_tCvars, "fps_max", szFpsMax);
set_task(0.8, "OnTaskCheckCvars", _, _, _, "b");
}
public plugin_end()
{
TrieDestroy(g_tCvars);
}
public client_putinserver(id)
{
if(!is_user_bot(id))
client_cmd( id, "fps_max %d", g_iFpsMax);
}
public OnTaskCheckCvars()
{
new szPlayers[ 32 ], iNum;
get_players(szPlayers, iNum, "c");
static iTempID;
for(new i; i < iNum; i++)
{
iTempID = szPlayers[i];
query_client_cvar(iTempID, "fps_max", "OnCvarResult");
}
}
public OnCvarResult(id, const szCvar[], const szValue[])
{
new szValueCheck[4], szReason[128];
TrieGetString( g_tCvars, szCvar, szValueCheck, charsmax(szValueCheck));
new iValue = str_to_num(szValue);
if(equal(szCvar, "fps_max"))
{
if(iValue > g_iFpsMax)
{
formatex( szReason, charsmax(szReason), "Az FPS-ED meghalatt a megengedett értéket.");
server_cmd( "kick #%d Az FPS-ED meghalatt a megengedett értéket", get_user_userid(id));
client_print( id, print_console, szReason);
}
}
return PLUGIN_CONTINUE;
}