Speed gets reset when a user changes weapons so you can't just set it and forget it.
Try this:
If you want a players speed to be normal again at new round then you need to set g_bPlayersSpeedSet[ pid ] = false at spawn or new round. Let me know and I can set it up for you.
PHP Code:
#define MAX_PLAYERS 32
new bool:g_bPlayersSpeedSet[ MAX_PLAYERS + 1 ];
RegisterHam( Ham_CS_Player_ResetMaxSpeed , "player" , "ResetMaxSpeed" );
public ResetMaxSpeed( id )
{
return g_bPlayersSpeedSet[ id ] ? HAM_SUPERCEDE : HAM_IGNORED;
}
public EventRoundStart()
{
if( !g_bEnabled )
return PLUGIN_CONTINUE;
g_bRandromized = false;
g_bStarting = false;
new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam;
get_players( iPlayers, iNum, "c" );
if( iNum <= 1 )
return PLUGIN_CONTINUE;
for( i = 0; i < iNum; i++ )
{
new pid = iPlayers[ i ];
iTeam = cs_get_user_team(pid);
// Terrorists should run faster
// Other players have default speed
if( CS_TEAM_T <= iTeam <= CS_TEAM_CT )
{
iRealPlayers++;
g_bPlayersSpeedSet[ pid ] = bool:( iTeam == CS_TEAM_T );
set_user_maxspeed( pid , ( iTeam == CS_TEAM_T ) ? 550.0 : 0.0 );
}
}
return PLUGIN_CONTINUE;
}
__________________