/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <fun>
#include <engine>
#define PLUGIN "Elbasi freeze"
#define VERSION "1.0"
#define AUTHOR "Leeyé"
new saniyeler, cvar_saniye, cvar_bozulma, bFrozen[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION , AUTHOR);
register_event("HLTV", "YeniTur", "a", "1=0", "2=0")
register_logevent("TaskSil", 2, "1=Round_End") // Tur Sonu Task Silinir
register_event("TextMsg", "TaskSil", "a", "2&#Game_C", "2&#Game_w") // Tur Tekrarlanınca Task Silinir
cvar_saniye = register_cvar("freeze_sure","20")
cvar_bozulma = register_cvar("freeze_bozulma", "5")
}
public YeniTur() {
if (task_exists(1991))
remove_task(1991)
saniyeler = floatround(get_pcvar_float(cvar_saniye))
new param[32]
set_task(21.0,"GeriSayimBaslat",1991,param,31,"b",0)
set_task(get_pcvar_float(cvar_saniye),"freezle")
set_task(get_pcvar_float(cvar_bozulma),"freeze_boz")
}
public TaskSil() {
remove_task(1991)
}
public GeriSayimBaslat() {
saniyeler--;
if (saniyeler == 0) {
remove_task(1991)
}
}
public freezle()
{
for(new i = 1; i < 33; i++)
{
if(is_user_connected(i) && get_user_team(i) == 1 && !Stuck(i))
{
if(is_user_alive(i))
{
bFrozen[i] = true
new Flags = pev(i, pev_flags)
if(~Flags & FL_FROZEN)
{
set_pev(i, pev_flags, Flags | FL_FROZEN)
}
}
}
}
set_cvar_num("semiclip", 1)
}
stock bool:Stuck(Id)
{
static Float:Origin[3]
pev(Id, pev_origin, Origin)
engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, pev(Id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0)
if (get_tr2(0, TR_StartSolid))
return true
return false
}
public freeze_boz(id) {
for(new i = 1; i < 33; i++)
{
if(is_user_connected(i) && get_user_team(i) == 1 && !Stuck(i))
{
if(is_user_alive(i))
{
bFrozen[i] = false
set_user_rendering( i , kRenderFxNone , 0 , 0 , 0 , kRenderNormal , 0 )
new Flags = pev(i, pev_flags)
if(Flags & FL_FROZEN)
{
set_pev(i, pev_flags, Flags & ~FL_FROZEN)
}
}
}
}
}