Sprites,models,sounds... [rezolvat]

Cereri de resurse: addons-uri, modele, sunete, etc.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
puNx
Membru, skill 0
Membru, skill 0
Posts: 80
Joined: 07 Aug 2015, 18:26
Detinator Steam: Da
CS Status: :)
Detinator server CS: Furien.Enjoygame.RO
SteamID: #WAS
Fond eXtream: 0
Contact:

12 Dec 2018, 00:07

Salut, cine ma ajuta si pe mine cu niste modele,sprites si sounds la sursa asta ?
am cautat pe google dar nu am gasit mai nimic,ca primul sprites care mi l cere este dropwpnexp.spr si nu il gasesc
poate le are cineva pe toate..
| Afiseaza codul
////////////////////////////////////////////////////////////////////////////////////////////////////////////
//----------------------------------------------| VIP Sistem |-----------------------------------------------
//==========================================================================================================
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "VIP Sistem"
#define VERSION "1.0"
#define AUTHOR "sDs|Aragon*"

#define VIP_LEVEL ADMIN_LEVEL_H

#pragma tabsize 0

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// New Plugin |
//==========================================================================================================
//--| Menu/Power |--//
new menu, HasPower[33], bool:HasChose[33];
//--| HE Grenade |--//
new HE_Cooldown[33] = 0;
//--| GodMode |--//
new GodMode_Cooldown[33] = 0;
new GodMode_DurationCooldown[33] = 0;
//--| Drop Enemy Weapon |--//
new DropSprite, DropSprite2;
new Drop_Cooldown[33] = 0;
new const DROP_HIT_SND[] = "Furien/DropWpn_HIT.wav";
const WPN_NOT_DROP = ((1<<2)|(1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4));
//--| Freeze |--//
new Freeze_Cooldown[33] = 0;
new FreezeSprite, FreezeSprite3;
new Frozen[33];
new Float:TempSpeed[33], Float:TempGravity[33]
new const FreezeSprite2[] = { "models/glassgibs.mdl" };
new const FROSTBREAK_SND[][] = { "Furien/FrostBreak.wav" };
new const FROSTPLAYER_SND[][] = { "Furien/FrostPlayer.wav" };
const BREAK_GLASS = 0x01;
const UNIT_SECOND = (1<<12);
const FFADE_IN = 0x0000;
//--| Drag |--//
new DRAG_MISS_SND[] = "Furien/DragMiss.wav";
new DRAG_HIT_SND[] = "Furien/DragHit.wav";
new Hooked[33], Unable2move[33], OvrDmg[33];
new Float:LastHook[33];
new bool: BindUse[33] = false, bool: Drag_I[33] = false;
new Drag_Cooldown[33] = 0;
new bool:Not_Cooldown[33];
new DragSprite;
//--| Teleport |--//
new TeleportSprite, TeleportSprite2;
new Teleport_Cooldown[33];
new const SOUND_BLINK[] = { "weapons/flashbang-1.wav" };
const UNIT_SEC = 0x1000;
const FFADE = 0x0000;
//--| NoRecoil |--//
new Float: cl_pushangle[33][3]
const WEAPONS_BITSUM = (1<<CSW_KNIFE|1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|1<<CSW_C4)
//--| Cvars |--//
new CvarHECooldown, CvarHPAmount, CvarAPAmount, CvarGodModeCooldown, CvarGodModeDuration, CvarDropDistance,
CvarDropCooldown, CvarFreezeDuration, CvarFreezeCooldown, CvarFreezeDistance, CvarDragSpeed, CvarDragCooldown,
CvarDragDmg2Stop, CvarDragUnb2Move, CvarTeleportCooldown, CvarTeleportRange;


enum { SCOREATTRIB_ARG_PLAYERID = 1, SCOREATTRIB_ARG_FLAGS };
enum ( <<= 1 ) { SCOREATTRIB_FLAG_NONE = 0, SCOREATTRIB_FLAG_DEAD = 1, SCOREATTRIB_FLAG_BOMB, SCOREATTRIB_FLAG_VIP };

new const MESAJ[ ] = "MESAJUL TAU";		// Odata la 30 sec
new const MESAJ2[ ] = "MESAJUL TAU";		// Odata la 60 sec
new const MESAJ_HUD_PERMANENT[ ] = "MESAJUL TAU";	// Mesaj Permanent

new bool:vip_free;

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Plugin Init |
//==========================================================================================================
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_clcmd("say", "handle_say");
	register_clcmd("say_team", "handle_say");
	register_clcmd("+drag","DragStart");
	register_clcmd("-drag","DragEnd");
	register_clcmd("power", "Power");
	register_clcmd("furienvip","cmdMenu");
	register_clcmd("say /furienvip","cmdMenu");
	register_clcmd("say_team /furienvip","cmdMenu");
	register_clcmd("say furienvip","cmdMenu");
	register_clcmd("say_team furienvip","cmdMenu");
	
	register_event("CurWeapon", "CurWeapon", "be", "1=1");
	register_event("DeathMsg", "Death", "a");
	
	RegisterHam(Ham_Spawn, "player", "Spawn", 1);
	RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
	
	register_forward(FM_PlayerPreThink, "PlayerPreThink")
	
	new weapon_name[24]
	for (new i = 1; i <= 30; i++) {
		if (!(WEAPONS_BITSUM & 1 << i) && get_weaponname(i, weapon_name, 23)) {
			RegisterHam(Ham_Weapon_PrimaryAttack, weapon_name, "Weapon_PrimaryAttack_Pre")
			RegisterHam(Ham_Weapon_PrimaryAttack, weapon_name, "Weapon_PrimaryAttack_Post", 1)
		}
	}
	
	CvarHECooldown = register_cvar("vip_he_cooldown", "15");			// He Cooldown
	CvarHPAmount = register_cvar("vip_hp_amount", "255");			// Health
	CvarAPAmount = register_cvar("vip_ap_amount", "255");			// Armor
	CvarGodModeCooldown = register_cvar("vip_godmode_cooldown", "25");	// GodMode Cooldown
	CvarGodModeDuration = register_cvar("vip_godmode_duration", "2");	// GodMode Duration
	CvarDropDistance = register_cvar ("vip_drop_distance", "5000");		// Distanta maxima la care poate ajunge puterea
	CvarDropCooldown = register_cvar ("vip_drop_cooldown" , "20.0");		// Drop Enemy WPN Cooldown
	CvarFreezeDuration = register_cvar("vip_freeze_duration", "3.0");	// Freeze Duration
	CvarFreezeCooldown = register_cvar("vip_freeze_cooldown", "20.0");	// Freeze Cooldown
	CvarFreezeDistance = register_cvar ("vip_freeze_distance", "5000");	// Distanta maxima la care poate ajunge puterea
	CvarDragSpeed = register_cvar("vip_drag_speed", "500");			// Drag Speed
	CvarDragCooldown = register_cvar("vip_drag_cooldown", "15.0");		// Drag Cooldown
	CvarDragDmg2Stop = register_cvar("vip_drag_dmg2stop", "50");		// Drag Damage to stop
	CvarDragUnb2Move = register_cvar("vip_drag_unable_move", "1");		// Drag Unable to move
	CvarTeleportCooldown = register_cvar("vip_teleport_cooldown", "10.0");	// Teleport Cooldown
	CvarTeleportRange = register_cvar("vip_teleport_range", "12345");	// Teleport Range
	
	register_clcmd( "say /vreauvip" , "vipinfo" , -1 );
	register_clcmd( "say_team /vreauvip" , "vipinfo" , -1 );
	
	register_message( get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib" );
	
}

public vipinfo( id ) {
	
	show_motd( id, "/addons/amxmodx/configs/vip.html" );
}

public MessageScoreAttrib( iMsgId, iDest, iReceiver ) {
	
	new iPlayer = get_msg_arg_int( SCOREATTRIB_ARG_PLAYERID );
	
	if( access( iPlayer, VIP_LEVEL ) ) {
		
		set_msg_arg_int( SCOREATTRIB_ARG_FLAGS, ARG_BYTE, SCOREATTRIB_FLAG_VIP );
	}
}

public Mesaj( id ) {
	
	ColorChat( id, "^x04[Furien]^x03 %s^x01 !!!", MESAJ );
}

public Mesaj2( id ) {
	
	ColorChat( id, "^x04[Furien]^x03 %s^x01 !!!", MESAJ2 );
}

public mesaje( ) {
	
	if( vip_free ) {
		
		set_hudmessage( 154, 44, 31, 0.2, 0.1, 0, 6.0, 12.0 );
		show_hudmessage( 0, "%s", MESAJ_HUD_PERMANENT );
		
	}
}

public vip_connected( id ) {

	new szName[ 32 ];
	get_user_name( id, szName, 31 );
	
	set_hudmessage( 255, 255, 255, -1.0, 0.25, 0, 10.0, 10.0, 0.8, 0.8, 1 );
	show_hudmessage( 0, "VIP '%s' has joined the server!", szName );
	ColorChat( id, "^x04[ Furien ]^x01 Welcome^x03 %s^x01 !!!", szName );
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Plugin CFG |
//==========================================================================================================
public plugin_cfg() {
	new iCfgDir[32], iFile[192];
	
	get_configsdir(iCfgDir, charsmax(iCfgDir));
	formatex(iFile, charsmax(iFile), "%s/VIP.cfg", iCfgDir);
	
	if(!file_exists(iFile)) {
		server_print("[VIP] VIP.cfg nu exista. Se creeaza.", iFile);
		write_file(iFile, " ", -1);
	}
	
	else {		
		server_print("[VIP] VIP.cfg sa incarcat.", iFile);
		server_cmd("exec %s", iFile);
	}
	server_cmd("sv_maxspeed 99999999.0");
	server_cmd("sv_airaccelerate 99999999.0");
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Menu |
//==========================================================================================================
public cmdMenu(id) { 
	if(HasChose[id] && is_user_alive(id)) {
		ColorChat(id,"^x03[Furien]^x04 Ai ales deja o putere runda aceasta.");
		return PLUGIN_HANDLED;
	}
	menu = menu_create("\rVIP Menu \yPage\r", "VIPMenu");
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dHe Grenade");
		menu_additem(menu, buffer, "1", 0);
	}
	else if(HasPower[id] == 1) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yHe Grenade");
		menu_additem(menu, buffer, "1", 0);
	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wHe Grenade");
		menu_additem(menu, buffer, "1", 0);
	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\d%dHP & %dAP", get_pcvar_num(CvarHPAmount), get_pcvar_num(CvarAPAmount));
		menu_additem(menu, buffer, "2", 0);
	}
	else if(HasPower[id] == 2) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\y%dHP & %dAP", get_pcvar_num(CvarHPAmount), get_pcvar_num(CvarAPAmount));
	menu_additem(menu, buffer, "2", 0);	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\w%dHP & %dAP", get_pcvar_num(CvarHPAmount), get_pcvar_num(CvarAPAmount));
	menu_additem(menu, buffer, "2", 0);	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dGodMode");
		menu_additem(menu, buffer, "3", 0);
	}
	else if(HasPower[id] == 3) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yGodMode");
		menu_additem(menu, buffer, "3", 0);
	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wGodMode");
		menu_additem(menu, buffer, "3", 0);
	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dDrop Enemy Weapon");
		menu_additem(menu, buffer, "4", 0);
	}
	else if(HasPower[id] == 4) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yDrop Enemy Weapon");
		menu_additem(menu, buffer, "4", 0);
	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wDrop Enemy Weapon");
		menu_additem(menu, buffer, "4", 0);
	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dFreeze the Enemy");
		menu_additem(menu, buffer, "5", 0);
	}
	else if(HasPower[id] == 5) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yFreeze the Enemy");
		menu_additem(menu, buffer, "5", 0);
	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wFreeze the Enemy");
		menu_additem(menu, buffer, "5", 0);
	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dDrag the Enemy");
		menu_additem(menu, buffer, "6", 0);	
	}
	else if(HasPower[id] == 6) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yDrag the Enemy");
	menu_additem(menu, buffer, "6", 0);	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wDrag the Enemy");
	menu_additem(menu, buffer, "6", 0);	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dTeleport");
		menu_additem(menu, buffer, "7", 0);
	}
	else if(HasPower[id] == 7) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yTeleport");
	menu_additem(menu, buffer, "7", 0);	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wTeleport");
	menu_additem(menu, buffer, "7", 0);	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\dNoRecoil");
		menu_additem(menu, buffer, "8", 0);
	}
	else if(HasPower[id] == 8) {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\yNoRecoil");
	menu_additem(menu, buffer, "8", 0);	}
	else {
		new buffer[256];
		formatex(buffer,sizeof(buffer)-1,"\wNoRecoil");
	menu_additem(menu, buffer, "8", 0);	}
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	return PLUGIN_CONTINUE;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP Menu Case |
//==========================================================================================================
public VIPMenu(id, menu, item) {
	if (item == MENU_EXIT) {
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	if(!(get_user_flags(id) & VIP_LEVEL)) {
		ColorChat(id,"^x03[Furien]^x04 Doar persoanele cu^x03 VIP^x04 pot accesa acest meniu.");
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	new key = str_to_num(data);
	switch(key) {
		case 1: {
			if(HasPower[id] == 1) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Vei primi o grenada HE odata la 20 de secunde.");
			remove_task(id);
			if(HE_Cooldown[id]) {
				HEShowHUD(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 1;
			HasChose[id] = true;
		}
		case 2: {
			if(HasPower[id] == 2) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Vei primi %d HP si %d AP.", get_pcvar_num(CvarHPAmount), get_pcvar_num(CvarAPAmount));
			remove_task(id);
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 2;
			set_task(0.1, "Give_HP_AP", id);
			HasChose[id] = true;
		}
		case 3: {
			if(HasPower[id] == 3) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 GodMode^x04 Duration:^x03 %d^x04 Cooldown;^x03 %d.", get_pcvar_num(CvarGodModeDuration), get_pcvar_num(CvarGodModeCooldown));
			ColorChat(id,"^x03[Furien]^x04 Pentru a activa GodMode apasa tasta^x03 V.");
			remove_task(id);
			if(GodMode_Cooldown[id]) {
				GodModeShowHUD2(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 3;
			HasChose[id] = true;
		}
		case 4: {
			if(HasPower[id] == 4) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Drop Enemy Weapon^x04 Cooldown;^x03 %d.", get_pcvar_num(CvarDropCooldown));
			ColorChat(id,"^x03[Furien]^x04 Pentru a aruna armele inamicului apasa tasta^x03 V.");
			remove_task(id);
			if(Drop_Cooldown[id]) {
				DropShowHUD(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 4;
			HasChose[id] = true;
		}
		case 5: {
			if(HasPower[id] == 5) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Freeze the enemy^x04 Cooldown;^x03 %d.", get_pcvar_num(CvarFreezeCooldown));
			ColorChat(id,"^x03[Furien]^x04 Pentru a folosi^x03 Freeze^x04 apasa tasta^x03 V.");
			remove_task(id);
			if(Freeze_Cooldown[id]) {
				FreezeShowHUD(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 5;
			HasChose[id] = true;
		}
		case 6: {
			if(HasPower[id] == 6) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Drag the Enemy^x04 Cooldown;^x03 %d.", get_pcvar_num(CvarDragCooldown));
			ColorChat(id,"^x03[Furien]^x04 Pentru a trage inamicul apasa tasta^x03 X.");
			client_cmd(id, "bind x +drag");
			remove_task(id);
			if(Drag_Cooldown[id]) {
				DragShowHUD(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 6;
			HasChose[id] = true;
		}
		case 7: {
			if(HasPower[id] == 7) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 Teleport.^x04 Cooldown;^x03 %d.", get_pcvar_num(CvarTeleportCooldown));
			ColorChat(id,"^x03[Furien]^x04 Pentru a folosi^x03 Teleport^x04 apasa tasta^x03 V.");
			remove_task(id);
			if(Teleport_Cooldown[id]) {
				TeleportShowHUD(id);
			}
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 7;
			HasChose[id] = true;
		}
		case 8: {
			if(HasPower[id] == 8) {
				ColorChat(id,"^x03[Furien]^x04 Ai deja aceasta putere.");
				return PLUGIN_HANDLED;
			}
			ColorChat(id,"^x03[Furien]^x04 Power:^x03 NoRecoil.");
			remove_task(id);
			if(HasPower[id] == 2 && get_user_health(id) > 100) {
				set_user_health(id, 100)
				set_user_armor(id, 0);
			}
			if(HasPower[id] == 3 && get_user_godmode(id)) {
				set_user_godmode(id, 0);
			}
			HasPower[id] = 8;
			HasChose[id] = true;
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// He Grenade |
//==========================================================================================================	
public CurWeapon(id) {
	if(get_user_flags(id) & VIP_LEVEL && !user_has_weapon(id, CSW_HEGRENADE) && !HE_Cooldown[id] && HasPower[id] == 1) {
		HE_Cooldown[id] = get_pcvar_num(CvarHECooldown);
		set_task(1.0, "HEShowHUD", id, _, _, "b");
		set_hudmessage(0, 100, 255, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(is_user_alive(id) && get_pcvar_num(CvarHECooldown) > 1) {
			show_hudmessage(id, "Vei primi o grenada HE in %d secunde",get_pcvar_num(CvarHECooldown));
		}
		if(is_user_alive(id) && get_pcvar_num(CvarHECooldown) == 1) {
			show_hudmessage(id, "Vei primi o grenada HE in %d secunda",get_pcvar_num(CvarHECooldown));
		}
	}
	if(get_user_flags(id) & VIP_LEVEL && get_user_team(id) != 1) {
		set_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 50);
	}
	if (Frozen[id]) {
		set_pev(id, pev_velocity, Float:{0.0,0.0,0.0})
		set_pev(id, pev_maxspeed, 1.0) 
	}
	return PLUGIN_HANDLED;
}

public HEShowHUD(id) {
	if (!is_user_alive(id) || user_has_weapon(id, CSW_HEGRENADE) || HasPower[id] != 1) {
		remove_task(id);
		HE_Cooldown[id] = 0;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && HE_Cooldown[id] == 1) {
		HE_Cooldown[id] --;
		show_hudmessage(id, "Vei primi o grenada HE in: %d secunda",HE_Cooldown[id]);
	}
	if(is_user_alive(id) && HE_Cooldown[id] > 1) {
		HE_Cooldown[id] --;
		show_hudmessage(id, "Vei primi o grenada HE in: %d secunde",HE_Cooldown[id]);
	}
	if(HE_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ai primit o grenada HE");
		ColorChat(id,"^x03[Furien]^x04 Ai primit o grenada HE.");
		remove_task(id);
		HE_Cooldown[id] = 0;
		give_item(id, "weapon_hegrenade");
	}
	return PLUGIN_HANDLED;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Health and Armor |
//==========================================================================================================	
public Give_HP_AP(id) {
	if(get_user_flags(id) & VIP_LEVEL && HasPower[id] == 2) {
		fm_set_user_health(id, get_pcvar_num(CvarHPAmount));
		cs_set_user_armor(id, get_pcvar_num(CvarAPAmount), CS_ARMOR_VESTHELM);
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// GodMode |
//==========================================================================================================	
public GodModeShowHUD(id) {
	if (!is_user_alive(id) || HasPower[id] != 3) {
		remove_task(id);
		GodMode_DurationCooldown[id] = 0;
		set_user_godmode(id, 0);
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && GodMode_DurationCooldown[id] == 1) {
		GodMode_DurationCooldown[id] --;
		show_hudmessage(id, "Ai GodMode pentru: %d secunda",GodMode_DurationCooldown[id]);
	}
	if(is_user_alive(id) && GodMode_DurationCooldown[id] > 1) {
		GodMode_DurationCooldown[id] --;
		show_hudmessage(id, "Ai GodMode pentru: %d secunde",GodMode_DurationCooldown[id]);
	}
	if(GodMode_DurationCooldown[id] <= 0) {
		show_hudmessage(id, "Nu mai ai GodMode");
		ColorChat(id,"^x03[Furien]^x04 Nu mai ai GodMode.");
		remove_task(id);
		set_user_godmode(id, 0);
		GodMode_DurationCooldown[id] = 0;
		GodMode_Cooldown[id] = get_pcvar_num(CvarGodModeCooldown);
		set_task(1.0, "GodModeShowHUD2", id, _, _, "b");
		set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(get_pcvar_num(CvarGodModeCooldown) != 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunde",get_pcvar_num(CvarGodModeCooldown));
		}
		if(get_pcvar_num(CvarGodModeCooldown) == 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunda",get_pcvar_num(CvarGodModeCooldown));
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}

public GodModeShowHUD2(id) {
	if (!is_user_alive(id) || HasPower[id] != 3) {
		remove_task(id);
		GodMode_Cooldown[id] = 0;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && GodMode_Cooldown[id] == 1) {
		GodMode_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunda",GodMode_Cooldown[id]);
	}
	if(is_user_alive(id) && GodMode_Cooldown[id] > 1) {
		GodMode_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunde",GodMode_Cooldown[id]);
	}
	if(GodMode_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ti-a revenit puterea");
		ColorChat(id,"^x03[Furien]^x04 Iti poti folosi din nou puterea.");
		remove_task(id);
		GodMode_Cooldown[id] = 0;
	}
	return PLUGIN_HANDLED;
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Drop Enemy Weapon |
//==========================================================================================================	
public DropShowHUD(id) {
	if (!is_user_alive(id) || HasPower[id] != 4) {
		remove_task(id);
		Drop_Cooldown[id] = 0;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && Drop_Cooldown[id] == 1) {
		Drop_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunda",Drop_Cooldown[id]);
	}
	if(is_user_alive(id) && Drop_Cooldown[id] > 1) {
		Drop_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunde",Drop_Cooldown[id]);
	}
	if(Drop_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ti-a revenit puterea");
		ColorChat(id,"^x03[Furien]^x04 Iti poti folosi din nou puterea.");
		remove_task(id);
		Drop_Cooldown[id] = 0;
	}
	return PLUGIN_HANDLED;
}

stock Drop(id)  {
	new wpn, wpnname[32];
	wpn = get_user_weapon(id);
	if(!(WPN_NOT_DROP & (1<<wpn)) && get_weaponname(wpn, wpnname, charsmax(wpnname))) {
		engclient_cmd(id, "drop", wpnname);
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Freeze |
//==========================================================================================================
public Freeze(id) {
	if (!is_user_alive(id) || Frozen[id]) return;
	
	pev(id, pev_maxspeed, TempSpeed[id]) //get temp speed
	pev(id, pev_gravity, TempGravity[id]) //get temp speed
	fm_set_rendering(id, kRenderFxGlowShell, 0, 100, 200, kRenderNormal, 25)
	engfunc(EngFunc_EmitSound, id, CHAN_BODY, FROSTPLAYER_SND[random_num(0, sizeof FROSTPLAYER_SND - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id)
	write_short(UNIT_SECOND*1)
	write_short(floatround(UNIT_SECOND*get_pcvar_float(CvarFreezeDuration)))
	write_short(FFADE_IN)
	write_byte(0)
	write_byte(50) 
	write_byte(200)
	write_byte(100)
	message_end()
	if (pev(id, pev_flags) & FL_ONGROUND)
		set_pev(id, pev_gravity, 999999.9)
	else
		set_pev(id, pev_gravity, 0.000001)
	
	Frozen[id] = true;
	set_task(get_pcvar_float(CvarFreezeDuration), "remove_freeze", id)
}

public remove_freeze(id) {
	if (!Frozen[id] || !is_user_alive(id)) return;
	
	Frozen[id] = false;
	set_task(0.2, "set_normal", id)
	engfunc(EngFunc_EmitSound, id, CHAN_BODY, FROSTBREAK_SND[random_num(0, sizeof FROSTBREAK_SND - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
	fm_set_rendering(id)
	static Float:origin2F[3]
	pev(id, pev_origin, origin2F)
	engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin2F, 0)
	write_byte(TE_BREAKMODEL) 
	engfunc(EngFunc_WriteCoord, origin2F[0]) 
	engfunc(EngFunc_WriteCoord, origin2F[1]) 
	engfunc(EngFunc_WriteCoord, origin2F[2]+24.0) 
	write_coord(16) 
	write_coord(16) 
	write_coord(16) 
	write_coord(random_num(-50, 50)) 
	write_coord(random_num(-50, 50)) 
	write_coord(25) 
	write_byte(10) 
	write_short(FreezeSprite) 
	write_byte(10) 
	write_byte(25) 
	write_byte(BREAK_GLASS) 
	message_end()
}
public set_normal(id) {
	set_pev(id, pev_gravity, TempGravity[id])
	set_pev(id, pev_maxspeed, TempSpeed[id])
}

public FreezeShowHUD(id) {
	if (!is_user_alive(id) || HasPower[id] != 5) {
		remove_task(id);
		Freeze_Cooldown[id] = 0;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && Freeze_Cooldown[id] == 1) {
		Freeze_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunda",Freeze_Cooldown[id]);
	}
	if(is_user_alive(id) && Freeze_Cooldown[id] > 1) {
		Freeze_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunde",Freeze_Cooldown[id]);
	}
	if(Freeze_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ti-a revenit puterea");
		ColorChat(id,"^x03[Furien]^x04 Iti poti folosi din nou puterea.");
		remove_task(id);
		Freeze_Cooldown[id] = 0;
	}
	return PLUGIN_HANDLED;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Drag |
//==========================================================================================================
public DragStart(id) {
	if (get_user_flags(id) & VIP_LEVEL && HasPower[id] == 6 && !Drag_I[id]) {
		
		if (!is_user_alive(id)) {
			return PLUGIN_HANDLED;
		}
		if (Drag_Cooldown[id]) {
			ColorChat(id,"^x03[Furien]^x04 Puterea iti va reveni in^x03 %d secunde.",Drag_Cooldown[id]);
			return PLUGIN_HANDLED;
		}
		new hooktarget, body;
		get_user_aiming(id, hooktarget, body);
		
		if (is_user_alive(hooktarget)) {
			if (get_user_team(id) != get_user_team(hooktarget)) {				
				Hooked[id] = hooktarget;
				emit_sound(hooktarget, CHAN_BODY, DRAG_HIT_SND, 1.0, ATTN_NORM, 0, PITCH_HIGH);
			}
			else {
				return PLUGIN_HANDLED;
			}
			
			if (get_pcvar_float(CvarDragSpeed) <= 0.0)
				CvarDragSpeed = 1;
			
			new parm[2];
			parm[0] = id;
			parm[1] = hooktarget;
			
			set_task(0.1, "DragReelin", id, parm, 2, "b");
			HarpoonTarget(parm);
			Drag_I[id] = true;
			Not_Cooldown[id] = false;
			if(get_pcvar_num(CvarDragUnb2Move) == 1)
				Unable2move[hooktarget] = true;
			
			if(get_pcvar_num(CvarDragUnb2Move) == 2)
				Unable2move[id] = true;
			
			if(get_pcvar_num(CvarDragUnb2Move) == 3) {
				Unable2move[hooktarget] = true;
				Unable2move[id] = true;
			}
		} 
		else {
			Hooked[id] = 33;
			NoTarget(id);
			Not_Cooldown[id] = false;
			set_task(1.0,"DragEnd",id);
			emit_sound(id, CHAN_BODY, DRAG_MISS_SND, 1.0, ATTN_NORM, 0, PITCH_HIGH);
			Drag_I[id] = true;
		}
	}
	else
		return PLUGIN_HANDLED;
	
	return PLUGIN_CONTINUE;
}

public DragEnd(id) { // drags end function
	LastHook[id] = get_gametime();
	Hooked[id] = 0;
	BeamRemove(id);
	Drag_I[id] = false;
	Unable2move[id] = false;
	if(get_user_flags(id) & VIP_LEVEL && !Not_Cooldown[id] && HasPower[id] == 6) {
		Drag_Cooldown[id] = get_pcvar_num(CvarDragCooldown);
		set_task(1.0, "DragShowHUD", id, _, _, "b");
		Not_Cooldown[id] = true;
		set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(get_pcvar_num(CvarDragCooldown) != 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunde",get_pcvar_num(CvarDragCooldown));
		}
		if(get_pcvar_num(CvarDragCooldown) == 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunda",get_pcvar_num(CvarDragCooldown));
		}
	}
}

public DragShowHUD(id) {
	if (!is_user_alive(id) || HasPower[id] != 6) {
		remove_task(id);
		Drag_Cooldown[id] = 0;
		Not_Cooldown[id] = true;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && Drag_Cooldown[id] == 1) {
		Drag_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunda",Drag_Cooldown[id]);
	}
	if(is_user_alive(id) && Drag_Cooldown[id] > 1) {
		Drag_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunde",Drag_Cooldown[id]);
	}
	if(Drag_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ti-a revenit puterea");
		ColorChat(id,"^x03[Furien]^x04 Iti poti folosi din nou puterea.");
		remove_task(id);
		Drag_Cooldown[id] = 0;
		Not_Cooldown[id] = true;
	}
	return PLUGIN_HANDLED;
}

public DragReelin(parm[]) {
	new id = parm[0];
	new victim = parm[1];
	
	if (!Hooked[id] || !is_user_alive(victim)) {
		DragEnd(id);
		return;
	}
	
	new Float:fl_Velocity[3];
	new idOrigin[3], vicOrigin[3];
	
	get_user_origin(victim, vicOrigin);
	get_user_origin(id, idOrigin);
	
	new distance = get_distance(idOrigin, vicOrigin);
	
	if (distance > 1) {
		new Float:fl_Time = distance / get_pcvar_float(CvarDragSpeed);
		
		fl_Velocity[0] = (idOrigin[0] - vicOrigin[0]) / fl_Time;
		fl_Velocity[1] = (idOrigin[1] - vicOrigin[1]) / fl_Time;
		fl_Velocity[2] = (idOrigin[2] - vicOrigin[2]) / fl_Time;
	}
	else {
		fl_Velocity[0] = 0.0;
		fl_Velocity[1] = 0.0;
		fl_Velocity[2] = 0.0;
	}
	
	entity_set_vector(victim, EV_VEC_velocity, fl_Velocity); //<- rewritten. now uses engine
}

public TakeDamage(victim, inflictor, attacker, Float:damage) { // if take damage drag off
	if (is_user_alive(attacker) && (get_pcvar_num(CvarDragDmg2Stop) > 0)) {
		OvrDmg[victim] = OvrDmg[victim] + floatround(damage);
		if (OvrDmg[victim] >= get_pcvar_num(CvarDragDmg2Stop)) {
			OvrDmg[victim] = 0;
			DragEnd(victim);
			return HAM_IGNORED;
		}
	}
	
	return HAM_IGNORED;
}

public HarpoonTarget(parm[]) { // set beam (ex. tongue:) if target is player
	
	new id = parm[0];
	new hooktarget = parm[1];
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(8);	// TE_BEAMENTS
	write_short(id);
	write_short(hooktarget);
	write_short(DragSprite);	// sprite index
	write_byte(0);	// start frame
	write_byte(0);	// framerate
	write_byte(200);	// life
	write_byte(8);	// width
	write_byte(1);	// noise
	write_byte(155);	// r, g, b
	write_byte(155);	// r, g, b
	write_byte(55);	// r, g, b
	write_byte(90);	// brightness
	write_byte(10);	// speed
	message_end();
}

public NoTarget(id) { // set beam if target isn't player
	new endorigin[3];
	
	get_user_origin(id, endorigin, 3);
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(TE_BEAMENTPOINT); // TE_BEAMENTPOINT
	write_short(id);
	write_coord(endorigin[0]);
	write_coord(endorigin[1]);
	write_coord(endorigin[2]);
	write_short(DragSprite); // sprite index
	write_byte(0);	// start frame
	write_byte(0);	// framerate
	write_byte(200);	// life
	write_byte(8);	// width
	write_byte(1);	// noise
	write_byte(155);	// r, g, b
	write_byte(155);	// r, g, b
	write_byte(55);	// r, g, b
	write_byte(75);	// brightness
	write_byte(0);	// speed
	message_end();
}

public BeamRemove(id) { // remove beam
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(99);	//TE_KILLBEAM
	write_short(id);	//entity
	message_end();
}

public PlayerPreThink(id) {
	new button = get_user_button(id)
	new oldbutton = get_user_oldbutton(id)
	
	if (!is_user_alive(id)) {
		return FMRES_IGNORED
	}
	
	if (Frozen[id]) {
		set_pev(id, pev_velocity, Float:{0.0,0.0,0.0})
		set_pev(id, pev_maxspeed, 1.0) 
	}
	
	if(get_user_flags(id) & VIP_LEVEL && HasPower[id] == 6 ) { 
		if (BindUse[id]) {
			if (!(oldbutton & IN_USE) && (button & IN_USE))
				DragStart(id)
			
			if ((oldbutton & IN_USE) && !(button & IN_USE))
				DragEnd(id)
		}
		
		if (!Drag_I[id]) {
			Unable2move[id] = false
		}
		
		if (Unable2move[id] && get_pcvar_num(CvarDragUnb2Move) > 0) {
			set_pev(id, pev_maxspeed, 1.0)
		}
	}
	return PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Teleport |
//==========================================================================================================
public TeleportShowHUD(id) {
	if (!is_user_alive(id) || HasPower[id] != 7) {
		remove_task(id);
		Teleport_Cooldown[id] = 0;
		return PLUGIN_HANDLED;
	}
	set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
	if(is_user_alive(id) && Teleport_Cooldown[id] == 1) {
		Teleport_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunda",Teleport_Cooldown[id]);
	}
	if(is_user_alive(id) && Teleport_Cooldown[id] > 1) {
		Teleport_Cooldown[id] --;
		show_hudmessage(id, "Puterea iti va reveni in: %d secunde",Teleport_Cooldown[id]);
	}
	if(Teleport_Cooldown[id] <= 0) {
		show_hudmessage(id, "Ti-a revenit puterea");
		ColorChat(id,"^x03[Furien]^x04 Iti poti folosi din nou puterea.");
		remove_task(id);
		Teleport_Cooldown[id] = 0;
	}
	return PLUGIN_HANDLED;
}

bool:teleport(id) {
	new Float:vOrigin[3], Float:vNewOrigin[3],
	Float:vNormal[3], Float:vTraceDirection[3],
	Float:vTraceEnd[3];
	
	pev(id, pev_origin, vOrigin);
	
	velocity_by_aim(id, get_pcvar_num(CvarTeleportRange), vTraceDirection);
	xs_vec_add(vTraceDirection, vOrigin, vTraceEnd);
	
	engfunc(EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0);
	
	new Float:flFraction;
	get_tr2(0, TR_flFraction, flFraction);
	if (flFraction < 1.0) {
		get_tr2(0, TR_vecEndPos, vTraceEnd);
		get_tr2(0, TR_vecPlaneNormal, vNormal);
	}
	
	xs_vec_mul_scalar(vNormal, 40.0, vNormal); // do not decrease the 40.0
	xs_vec_add(vTraceEnd, vNormal, vNewOrigin);
	
	if (is_player_stuck(id, vNewOrigin))
		return false;
	
	emit_sound(id, CHAN_STATIC, SOUND_BLINK, 1.0, ATTN_NORM, 0, PITCH_NORM);
	tele_effect(vOrigin);
	
	engfunc(EngFunc_SetOrigin, id, vNewOrigin);
	
	tele_effect2(vNewOrigin);
	
	return true;
}

stock is_player_stuck(id, Float:originF[3]) {
	engfunc(EngFunc_TraceHull, originF, originF, 0, (pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN, id, 0);
	
	if (get_tr2(0, TR_StartSolid) || get_tr2(0, TR_AllSolid) || !get_tr2(0, TR_InOpen))
		return true;
	
	return false;
}

stock tele_effect(const Float:torigin[3]) {
	new origin[3];
	origin[0] = floatround(torigin[0]);
	origin[1] = floatround(torigin[1]);
	origin[2] = floatround(torigin[2]);
	
	message_begin(MSG_PAS, SVC_TEMPENTITY, origin);
	write_byte(TE_BEAMCYLINDER);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]+10);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]+60);
	write_short(TeleportSprite);
	write_byte(0);
	write_byte(0);
	write_byte(3);
	write_byte(60);
	write_byte(0);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	write_byte(0);
	message_end();
}

stock tele_effect2(const Float:torigin[3]) {
	new origin[3];
	origin[0] = floatround(torigin[0]);
	origin[1] = floatround(torigin[1]);
	origin[2] = floatround(torigin[2]);
	
	message_begin(MSG_PAS, SVC_TEMPENTITY, origin);
	write_byte(TE_BEAMCYLINDER);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]+10);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]+60);
	write_short(TeleportSprite);
	write_byte(0);
	write_byte(0);
	write_byte(3);
	write_byte(60);
	write_byte(0);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	write_byte(255);
	write_byte(0);
	message_end();
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(TE_SPRITETRAIL);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]+40);
	write_coord(origin[0]);
	write_coord(origin[1]);
	write_coord(origin[2]);
	write_short(TeleportSprite2);
	write_byte(30);
	write_byte(10);
	write_byte(1);
	write_byte(50);
	write_byte(10);
	message_end();
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NoRecoil |
//==========================================================================================================
public Weapon_PrimaryAttack_Pre(entity) {
	new id = pev(entity, pev_owner)
	
	if (get_user_flags(id) & VIP_LEVEL && HasPower[id] == 8) {
		pev(id, pev_punchangle, cl_pushangle[id])
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}

public Weapon_PrimaryAttack_Post(entity) {
	new id = pev(entity, pev_owner)
	
	if (get_user_flags(id) & VIP_LEVEL && HasPower[id] == 8) {
		new Float: push[3]
		pev(id, pev_punchangle, push)
		xs_vec_sub(push, cl_pushangle[id], push)
		xs_vec_mul_scalar(push, 0.0, push)
		xs_vec_add(push, cl_pushangle[id], push)
		set_pev(id, pev_punchangle, push)
		return HAM_IGNORED;
	}
	return HAM_IGNORED;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Client |
//==========================================================================================================
//------| Client PutinServer |------//
public client_putinserver(id) {
	
	new o, m, s;
	time( o, m, s )
	if( o >= 00 || o < 08 )
	{
		vip_free = true
		if( get_user_flags( id ) == read_flags( "z" ) )
		{
			set_user_flags( id, read_flags( "t" ) );
		}
	}
	
	else
	{
		vip_free = false
		HasChose[id] = false;
		HasPower[id] = 0;
		HE_Cooldown[id] = 0;
		GodMode_Cooldown[id] = 0;
		GodMode_DurationCooldown[id] = 0;
		Drop_Cooldown[id] = 0;
		Freeze_Cooldown[id] = 0;
		Drag_Cooldown[id] = 0;
		Not_Cooldown[id] = false;
		Teleport_Cooldown[id] = 0;
	}
	
	set_task( 30.0, "Mesaj",id, _, _, "b" );
	set_task( 60.0, "Mesaj2",id, _, _, "b" );
	set_task( 3600.0, "vip_event", 0, _, _, "b" );
	set_task( 1.0, "vip_connected", 0, _, _, "b" );
}

//------| Client Disconnect |------//
public client_disconnect(id) {  
	HasChose[id] = false;
	HasPower[id] = 0;
	HE_Cooldown[id] = 0;
	GodMode_Cooldown[id] = 0;
	GodMode_DurationCooldown[id] = 0;
	Drop_Cooldown[id] = 0;
	Freeze_Cooldown[id] = 0;
	Drag_Cooldown[id] = 0;
	Not_Cooldown[id] = false;
	Teleport_Cooldown[id] = 0;
}
//------| Client Spawn |------//	
public Spawn(id) {
	remove_task(id);
	HasChose[id] = false;
	HE_Cooldown[id] = 0;
	GodMode_Cooldown[id] = 0;
	GodMode_DurationCooldown[id] = 0;
	Drop_Cooldown[id] = 0;
	Freeze_Cooldown[id] = 0;
	remove_freeze(id);
	DragEnd(id);
	Drag_Cooldown[id] = 0;
	Not_Cooldown[id] = false;
	Teleport_Cooldown[id] = 0;
	set_task(1.0,"Give_HP_AP",id);
	if(get_user_flags(id) & VIP_LEVEL && get_user_team(id) != 1) {
		set_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 50);
	}
}
//------| Client Death |------//
public Death() {
	remove_task(read_data(2));
	HE_Cooldown[read_data(2)] = 0;
	GodMode_Cooldown[read_data(2)] = 0;
	GodMode_DurationCooldown[read_data(2)] = 0;
	Drop_Cooldown[read_data(2)] = 0;
	Freeze_Cooldown[read_data(2)] = 0;
	Freeze_Cooldown[read_data(2)] = 0;
	remove_freeze(read_data(2));
	
	BeamRemove(read_data(2));
	Drag_Cooldown[read_data(2)] = 0;
	if (Hooked[read_data(2)])
		DragEnd(read_data(2));
	
	
	Not_Cooldown[read_data(2)] = false;
	Teleport_Cooldown[read_data(2)] = 0;
}
//------| Client Power |------//
public Power(id)  {
	new target, body;
	static Float:start[3];
	static Float:aim[3];
	
	pev(id, pev_origin, start);
	fm_get_aim_origin(id, aim);
	
	start[2] += 16.0; // raise
	aim[2] += 16.0; // raise
	
	if (get_user_flags(id) & VIP_LEVEL && is_user_alive(id) && HasPower[id] == 3 && !GodMode_DurationCooldown[id]) {
		
		if (GodMode_Cooldown[id]) {
			ColorChat(id,"^x03[Furien]^x04 Puterea iti va reveni in^x03 %d secunde.",GodMode_Cooldown[id]);
			return PLUGIN_CONTINUE;
		}
		set_user_godmode(id, 1);
		GodMode_DurationCooldown[id] = get_pcvar_num(CvarGodModeDuration)
		set_task(1.0, "GodModeShowHUD", id, _, _, "b");
		set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(get_pcvar_num(CvarGodModeDuration) != 1) {
			show_hudmessage(id, "Ai GodMode pentru: %d secunde",get_pcvar_num(CvarGodModeDuration));
		}
		if(get_pcvar_num(CvarGodModeDuration) == 1) {
			show_hudmessage(id, "Ai GodMode pentru: %d secunda",get_pcvar_num(CvarGodModeDuration));
		}
		return PLUGIN_HANDLED;
	}
	
	
	if (get_user_flags(id) & VIP_LEVEL && is_user_alive(id) && HasPower[id] == 4) {
		
		if (Drop_Cooldown[id]) {
			ColorChat(id,"^x03[Furien]^x04 Puterea iti va reveni in^x03 %d secunde.",Drop_Cooldown[id]);
			return PLUGIN_CONTINUE;
		}
		get_user_aiming (id, target, body, CvarDropDistance);
		if(is_user_alive(target) && get_user_team(id) != get_user_team(target)) {
			message_begin(MSG_BROADCAST ,SVC_TEMPENTITY);
			write_byte(TE_EXPLOSION);
			engfunc(EngFunc_WriteCoord, aim[0]);
			engfunc(EngFunc_WriteCoord, aim[1]);
			engfunc(EngFunc_WriteCoord, aim[2]);
			write_short(DropSprite2);
			write_byte(10);
			write_byte(30);
			write_byte(4);
			message_end();
			
			emit_sound(id, CHAN_WEAPON, DROP_HIT_SND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
			Drop(target);
			message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id);
			write_short(1<<10);
			write_short(1<<10);
			write_short(0x0000);
			write_byte(230);
			write_byte(0);
			write_byte(0);
			write_byte(50);
			message_end();
			message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, target);
			write_short(1<<10);
			write_short(1<<10);
			write_short(0x0000);
			write_byte(230);
			write_byte(0);
			write_byte(0);
			write_byte(50);
			message_end();
		}	
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
		write_byte(0);
		engfunc(EngFunc_WriteCoord,start[0]);
		engfunc(EngFunc_WriteCoord,start[1]);
		engfunc(EngFunc_WriteCoord,start[2]);
		engfunc(EngFunc_WriteCoord,aim[0]);
		engfunc(EngFunc_WriteCoord,aim[1]);
		engfunc(EngFunc_WriteCoord,aim[2]);
		write_short(DropSprite); // sprite index
		write_byte(0); // start frame
		write_byte(30); // frame rate in 0.1's
		write_byte(20); // life in 0.1's
		write_byte(50); // line width in 0.1's
		write_byte(50); // noise amplititude in 0.01's
		write_byte(0); // red
		write_byte(100); // green
		write_byte(0); // blue
		write_byte(100); // brightness
		write_byte(50); // scroll speed in 0.1's
		message_end();
		Drop_Cooldown[id] = get_pcvar_num(CvarDropCooldown);
		set_task(1.0, "DropShowHUD", id, _, _, "b");
		set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(get_pcvar_num(CvarDropCooldown) != 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunde",get_pcvar_num(CvarDropCooldown));
		}
		if(get_pcvar_num(CvarDropCooldown) == 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunda",get_pcvar_num(CvarDropCooldown));
		}
		return PLUGIN_HANDLED;
	}
	
	else if (get_user_flags(id) & VIP_LEVEL && is_user_alive(id) && HasPower[id] == 5) {
		if (Freeze_Cooldown[id]) {
			ColorChat(id,"^x03[Furien]^x04 Puterea iti va reveni in^x03 %d secunde.",Freeze_Cooldown[id]);
			return PLUGIN_CONTINUE;
		}
		get_user_aiming (id, target, body, CvarFreezeDistance);
		if(is_user_alive(target) && get_user_team(id) != get_user_team(target)) {	
			Freeze(target);
			
			message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id);
			write_short(1<<10);
			write_short(1<<10);
			write_short(0x0000);
			write_byte(0);
			write_byte(100);
			write_byte(200);
			write_byte(50);
			message_end();
			message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, target);
			write_short(1<<10);
			write_short(1<<10);
			write_short(0x0000);
			write_byte(0);
			write_byte(100);
			write_byte(200);
			write_byte(50);
			message_end();
		}	
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
		write_byte(0);
		engfunc(EngFunc_WriteCoord,start[0]);
		engfunc(EngFunc_WriteCoord,start[1]);
		engfunc(EngFunc_WriteCoord,start[2]);
		engfunc(EngFunc_WriteCoord,aim[0]);
		engfunc(EngFunc_WriteCoord,aim[1]);
		engfunc(EngFunc_WriteCoord,aim[2]);
		write_short(FreezeSprite3); // sprite index
		write_byte(0); // start frame
		write_byte(30); // frame rate in 0.1's
		write_byte(20); // life in 0.1's
		write_byte(50); // line width in 0.1's
		write_byte(50); // noise amplititude in 0.01's
		write_byte(0); // red
		write_byte(100); // green
		write_byte(200); // blue
		write_byte(100); // brightness
		write_byte(50); // scroll speed in 0.1's
		message_end();
		Freeze_Cooldown[id] = get_pcvar_num(CvarFreezeCooldown);
		set_task(1.0, "FreezeShowHUD", id, _, _, "b");
		set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
		if(get_pcvar_num(CvarFreezeCooldown) != 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunde",get_pcvar_num(CvarFreezeCooldown));
		}
		if(get_pcvar_num(CvarFreezeCooldown) == 1) {
			show_hudmessage(id, "Puterea iti va reveni in: %d secunda",get_pcvar_num(CvarFreezeCooldown));
		}
		return PLUGIN_HANDLED;
	}
	else if  (get_user_flags(id) & VIP_LEVEL && is_user_alive(id) && HasPower[id] == 7) {	
		if (Teleport_Cooldown[id]) {
			ColorChat(id,"^x03[Furien]^x04 Puterea iti va reveni in^x03 %d secunde.",Teleport_Cooldown[id]);
			return PLUGIN_CONTINUE;
		}
		if (teleport(id)) {
			emit_sound(id, CHAN_STATIC, SOUND_BLINK, 1.0, ATTN_NORM, 0, PITCH_NORM);
			remove_task(id);
			Teleport_Cooldown[id] = get_pcvar_num(CvarTeleportCooldown);
			set_task(1.0, "TeleportShowHUD", id, _, _, "b");
			set_hudmessage(0, 100, 200, 0.05, 0.60, 0, 1.0, 1.1, 0.0, 0.0, -11);
			if(get_pcvar_num(CvarTeleportCooldown) != 1) {
				show_hudmessage(id, "Puterea iti va reveni in: %d secunde",get_pcvar_num(CvarTeleportCooldown));
			}
			if(get_pcvar_num(CvarTeleportCooldown) == 1) {
				show_hudmessage(id, "Puterea iti va reveni in: %d secunda",get_pcvar_num(CvarTeleportCooldown));
			}
			return PLUGIN_HANDLED;
		}
		else {
			Teleport_Cooldown[id] = 0;
			ColorChat(id, "^x03[Furien]^x04 Pozitia de teleportare este invalida.");
			return PLUGIN_HANDLED;
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// VIP's Online |
//==========================================================================================================
public print_adminlist(user) {
	new adminnames[33][32];
	new message[256];
	new id, count, x, len;
	
	for(id = 1 ; id <= get_maxplayers() ; id++)
		if(is_user_connected(id))
		if(get_user_flags(id) & VIP_LEVEL)
		get_user_name(id, adminnames[count++], 31);
	
	len = format(message, 255, "^x04 VIP ONLINE: ");
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
			if(len > 96) {
				print_message(user, message);
				len = format(message, 255, "^x04 ");
			}
		}
		print_message(user, message);
	}
	else {
		len += format(message[len], 255-len, "No VIP online.");
		print_message(user, message);
	}
}
print_message(id, msg[]) {
	message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
	write_byte(id);
	write_string(msg);
	message_end();
}

public handle_say(id) {
	new said[192];
	read_args(said,192);
	if(contain(said, "/vips") != -1)
		set_task(0.1,"print_adminlist",id);
	return PLUGIN_CONTINUE;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Color Chat |
//==========================================================================================================
stock ColorChat(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "^x04", "^4");
	replace_all(msg, 190, "^x01", "^1");
	replace_all(msg, 190, "^x03", "^3");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Plugin Precache |
//==========================================================================================================
public plugin_precache() { 
	precache_sound(DROP_HIT_SND);
	
	DropSprite = precache_model("sprites/lgtning.spr");
	DropSprite2 = precache_model("sprites/dropwpnexp.spr");
	
	precache_sound(DRAG_HIT_SND);
	precache_sound(DRAG_MISS_SND);
	DragSprite = precache_model("sprites/zbeam4.spr");
	
	
	new i;
	for (i = 0; i < sizeof FROSTBREAK_SND; i++)
		engfunc(EngFunc_PrecacheSound, FROSTBREAK_SND);
	for (i = 0; i < sizeof FROSTPLAYER_SND; i++)
		engfunc(EngFunc_PrecacheSound, FROSTPLAYER_SND);
	FreezeSprite = engfunc(EngFunc_PrecacheModel, FreezeSprite2);
	FreezeSprite3 = precache_model("sprites/laserbeam.spr");
	
	TeleportSprite = precache_model( "sprites/shockwave.spr");
	TeleportSprite2 = precache_model( "sprites/blueflare2.spr");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1048\\ f0\\ fs16 \n\\ par }
*/
Image
Image
Furien.Enjoygame.Ro[+18][VIP FREE][Admine Free]

Ofer suport tehnic si incredere pentru servere de CS 1.6 !
Contact me:
Skype: vlad.vlad604
Y!M: [email protected]
Steam: zeT # ANUBIS (link: http://steamcommunity.com/id/vladpuNx/ )
Forum: puNx (PM me)
Pretul difera in functie de ce doreste clientul !
RoyalServer 2
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

12 Dec 2018, 00:14

User avatar
caNdy
Fost moderator
Fost moderator
Posts: 545
Joined: 18 Jan 2009, 20:39
Detinator Steam: Da
CS Status: localhost
Detinator server CS: Cs.RomeoNet.Ro
SteamID: id/candys4s
Reputatie: Fost moderator
Fost Membru Club eXtreamCS (2 luni)
Location: Paris
Has thanked: 10 times
Been thanked: 4 times
Contact:

12 Dec 2018, 00:15

User avatar
puNx
Membru, skill 0
Membru, skill 0
Posts: 80
Joined: 07 Aug 2015, 18:26
Detinator Steam: Da
CS Status: :)
Detinator server CS: Furien.Enjoygame.RO
SteamID: #WAS
Fond eXtream: 0
Contact:

12 Dec 2018, 00:18

Candy il poti pune te rog pe alt site de uploadat,ca pe ala nu merge sa il iau
imi zica ca "The file link that you requested is not valid. Please contact link publisher or try to make a search."
Image
Image
Furien.Enjoygame.Ro[+18][VIP FREE][Admine Free]

Ofer suport tehnic si incredere pentru servere de CS 1.6 !
Contact me:
Skype: vlad.vlad604
Y!M: [email protected]
Steam: zeT # ANUBIS (link: http://steamcommunity.com/id/vladpuNx/ )
Forum: puNx (PM me)
Pretul difera in functie de ce doreste clientul !
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2549
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 62 times
Contact:

12 Dec 2018, 08:06

Mutat. Ai in link-ul postat de London tot ce ai nevoie.

Marcat ca rezolvat.
no...
Post Reply

Return to “Cereri”

  • Information