Code:
//#define Use_TFC 1
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#if defined Use_TFC
#include <tfcx>
#endif
new bool:is_frozen[33]
new Float:origin[33][3]
public plugin_init()
{
register_plugin("Freeze'em","1.0","GHW_Chronic")
register_concmd("amx_freeze","toggle_freeze",ADMIN_LEVEL_H,"<name or #userid> - freeze/thaw players")
}
public client_disconnect(id)
{
is_frozen[id] = false
}
public toggle_freeze(id,level,cid)
{
if(!cmd_access(id,level,cid,2))
{
return PLUGIN_HANDLED
}
new arg[32]
read_argv(1,arg,31)
new target = cmd_target(id,arg,3)
if(!target)
{
return PLUGIN_HANDLED
}
new name[32]
get_user_name(target,name,31)
if(is_frozen[target])
{
client_print(0,print_chat,"[AMXX] %s has been thawed.",name)
console_print(id,print_chat,"[AMXX] %s has been thawed.",name)
set_user_rendering(target)
set_user_godmode(target)
is_frozen[target]=false
}
else
{
client_print(0,print_chat,"[AMXX] %s has been frozen.",name)
console_print(id,print_chat,"[AMXX] %s has been frozen.",name)
set_user_rendering(target,kRenderFxGlowShell,0,0,255,kRenderTransAlpha,70)
set_user_godmode(target,1)
is_frozen[target]=true
entity_get_vector(id,EV_VEC_origin,origin[id])
}
return PLUGIN_HANDLED
}
public client_PreThink(id)
{
if(is_frozen[id])
{
entity_set_vector(id,EV_VEC_origin,origin[id])
entity_set_int(id,EV_INT_button,0)
#if defined Use_TFC
tfc_setbammo(id,TFC_AMMO_CELLS,0)
#endif
}
}