Put it as the last plugin in plugins.ini.
If some plugins are changing maxspeed poorly (like in PreThink) then it wont work.
Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <engine>
new CVar_MaxSpeedMin;
public plugin_init()
{
register_plugin("MaxSpeed Minimum", "1.0", "Ghost");
RegisterHam(Ham_Item_PreFrame, "player", "Ham_Item_PreFrame_Post", 1);
CVar_MaxSpeedMin = register_cvar("amxx_maxspeed_min", "75.0");
}
public Ham_Item_PreFrame_Post(PlayerID)
{
static Float:MaxSpeed, Float:MinMaxSpeed;
MaxSpeed = entity_get_float(PlayerID, EV_FL_maxspeed);
MinMaxSpeed = get_pcvar_float(CVar_MaxSpeedMin);
if (MaxSpeed < MinMaxSpeed)
entity_set_float(PlayerID, EV_FL_maxspeed, MinMaxSpeed);
}
Alternative, with prethink way, should work in any case:
Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <engine>
new CVar_MaxSpeedMin;
new Float:MaxSpeedMin;
public plugin_init()
{
register_plugin("MaxSpeed Minimum", "1.0", "Ghost");
register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_Post", 1);
CVar_MaxSpeedMin = register_cvar("amxx_maxspeed_min", "75.0");
}
public plugin_cfg()
{
MaxSpeedMin = get_pcvar_float(CVar_MaxSpeedMin);
}
public FM_PlayerPreThink_Post(PlayerID)
{
static Float:MaxSpeed;
MaxSpeed = entity_get_float(PlayerID, EV_FL_maxspeed);
if (MaxSpeed < MaxSpeedMin)
entity_set_float(PlayerID, EV_FL_maxspeed, MaxSpeedMin);
}
__________________