you can use FL_FROZEN
try this ( This code I think it has everything you need

)
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
new Maxplayers, Screenfade
new bool:FreezePlayer
new Counter
public plugin_init() {
register_plugin("A", "B", "C")
register_event( "HLTV", "NewRound", "a", "1=0", "2=0" );
//by Connor
const Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
RegisterHam(Ham_Player_ResetMaxSpeed, "player", "FwResetMaxSpeed", 1)
Maxplayers = get_maxplayers()
Screenfade = get_user_msgid("ScreenFade")
Counter = 30
}
public NewRound() {
FreezePlayer = true
for(new i; i <= Maxplayers; i++) {
switch(get_user_team(i)) {
case 1: // Fleers TT
client_print(i, print_chat, "Run!... you have 30 seconds to hide")
case 2: {
client_print(i, print_chat, "You must wait 30 seconds")
Freeze(i)
CatchersFade(i)
set_task(1.0, "CatcherCounter", i)
}
}
}
set_task(30.0, "FunctionHide")
}
public CatcherCounter(index) {
--Counter
if(is_user_alive(index))
{
if(Counter >= 1) {
client_print(index, print_center, "%d Seconds Remaining", Counter)
set_task(1.0, "CatcherCounter", index)
}
else
client_print(index, print_center, "Go Go Go")
}
}
public FunctionHide() {
for(new i; i <= Maxplayers; i++) {
switch(get_user_team(i)) {
case 1: {
client_print(i, print_chat, "I hope you are hiding, because you dont move more")
Freeze(i)
}
case 2: {
client_print(i, print_chat, "Now you have to find to the Fleers... Go Go!")
Unfreeze(i)
}
}
}
FreezePlayer = false
}
public Player_ResetMaxSpeed_Post(index) {
if( is_user_alive(index)) {
new Float:flMaxSpeed
pev(index, pev_maxspeed, flMaxSpeed)
if( flMaxSpeed == 1.0 ) {
// Freezetime
}
else {
if(FreezePlayer && get_user_team(index) == 2 && is_user_alive(index))
Freeze(index)
else if(!FreezePlayer && get_user_team(index) == 2 && is_user_alive(index)) {
Unfreeze(index)
set_pev(index, pev_maxspeed, 400.0)
}
}
}
else // user is dead/spectator
return HAM_HANDLED
return HAM_HANDLED
}
Freeze(index) {
set_pev(index, pev_velocity, 0.0)
set_pev(index, pev_flags, pev(index, pev_flags) | FL_FROZEN);
}
Unfreeze(index) {
set_pev(index, pev_flags, pev(index, pev_flags) & ~FL_FROZEN);
}
CatchersFade(i) {
static Red, Green, Blue
Red = 0
Green = 50
Blue = 255
message_begin(MSG_ONE, Screenfade, _, i);
write_short(~0); // duration
write_short(~0); // hold time
write_short(0x0004); // flags: FFADE_STAYOUT
write_byte(Red); // r
write_byte(Green); // g
write_byte(Blue);
write_byte(200); // alpha
message_end();
}
__________________