/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Nudie"

#define FURIEN_SEBESSEG 400.0
#define FURIEN_GRAVITY 0.43

new Ent_Seged;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("SendAudio", "CT_Nyeres", "a", "2&%!MRAD_ctwin" )
	RegisterHam(Ham_Spawn, "player", "Ujraeledes", 1)
	register_event("CurWeapon", "FegyverValtas", "be", "1=1")
	register_logevent("Korvege", 2, "1=Round_End")
	
	register_forward(FM_Think, "LatszoKezd")
	
	Ent_Seged = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))	
}

public Ujraeledes(id){	
        switch(cs_get_user_team(id)) 
        {
             case CS_TEAM_T: 
             {
                strip_user_weapons(id)
                give_item(id, "weapon_knife")
                give_item(id, "weapon_hegrenade")
                give_item(id, "weapon_flashbang")
                give_item(id, "weapon_smokegrenade")
             }
        }
        set_user_godmode(id, 0)
}

public CT_Nyeres(){
	static kliens;
	
	for(kliens = 0; kliens <= get_maxplayers(); kliens++){
		if(is_user_connected(kliens)){
			switch(cs_get_user_team(kliens)){
				case CS_TEAM_T:{
					cs_set_user_team(kliens, CS_TEAM_CT, CS_CT_GIGN );
				}
				case CS_TEAM_CT:{
					cs_set_user_team(kliens, CS_TEAM_T, CS_T_LEET );
				}
			}
		}
	}
}

public FegyverValtas(id){
	if(cs_get_user_team(id) == CS_TEAM_T){
		set_user_gravity(id, 0.40)
		set_user_footsteps(id, 1)
                set_user_maxspeed(id, FURIEN_SEBESSEG)
	}
}

public Korvege(){
	new players[32], pnum, tempid
	get_players(players, pnum, "a")
	
	for(new i; i<pnum; i++){
		tempid = players[i]
		
		strip_user_weapons(tempid)
		give_item(tempid, "weapon_knife")
		
		set_user_godmode(tempid, 1)
	}
}

public LatszoKezd(ent){
	if(ent == Ent_Seged) {
		Sebesseg()
		set_pev(ent, pev_nextthink,  get_gametime() + 0.1)
	}
}

public Sebesseg(){
	static i, target
	static Float:velocity[3]
	static Float:speed

	for(i = 1; i <= get_maxplayers(); i++){
		if(!is_user_connected(i)) continue
	
		target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i
		pev(target, pev_velocity, velocity)
	
		speed = vector_length(velocity)
		
		if(speed < 5 && get_user_team(i) == 1){
		 	set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,0)  
		}
		else if(speed > 5){
			set_user_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,255)  
		}
	}
}
