Преработка на направеният от OciXCrom VIP Plugin

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Преработка на направеният от OciXCrom VIP Plugin

Мнение от You Owe Me » 05 Юли 2018, 11:54

Ами доста проблеми имам с тоя плъгин... Не стават работите като е на десния бутон замръзяването, ако може да се направи замръзяването да е на копчето E, тоест, като погледна към някого и натисна Е той да се замрази... Много е трудно с дясното копче, да не кажа невъзможно.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define VIP_FLAG ADMIN_RESERVATION

#define ICE_CUBE_EFFECT

#if defined ICE_CUBE_EFFECT
#include <engine>
#endif

enum _:CvarsReg
{
	Vip_health,
	Vip_armor,
	Vip_glock_bullets,
	Vip_freeze_distance,
	Vip_freeze_duration
}

enum _:Cvars
{
	vip_health,
	vip_armor,
	vip_glock_bullets,
	vip_freeze_distance,
	Float:vip_freeze_duration
}

new g_eCvarsReg[CvarsReg]
new g_eCvars[Cvars]
new bool:g_bCanFreeze[33]
new bool:g_bIsFrozen[33]

public plugin_init()
{
	register_plugin("VIP Plugin", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	
	for(new szWeapon[20], i = CSW_P228; i <= CSW_P90; i++)
	{
		if(get_weaponname(i, szWeapon, charsmax(szWeapon)))
			RegisterHam(Ham_Weapon_SecondaryAttack, szWeapon, "OnSecondaryAttack", 1)
	}
	
	g_eCvarsReg[Vip_health] = register_cvar("vip_health", "120")
	g_eCvarsReg[Vip_armor] = register_cvar("vip_armor", "100")
	g_eCvarsReg[Vip_glock_bullets] = register_cvar("vip_glock_bullets", "3")
	g_eCvarsReg[Vip_freeze_distance] = register_cvar("vip_freeze_distance", "10000")
	g_eCvarsReg[Vip_freeze_duration] = register_cvar("vip_freeze_duration", "3.0")
	CC_SetPrefix("&x04[VIP]")
}

public plugin_cfg()
{
	g_eCvars[vip_health] = get_pcvar_num(g_eCvarsReg[Vip_health])
	g_eCvars[vip_armor] = get_pcvar_num(g_eCvarsReg[Vip_armor])
	g_eCvars[vip_glock_bullets] = get_pcvar_num(g_eCvarsReg[Vip_glock_bullets])
	g_eCvars[vip_freeze_distance] = get_pcvar_num(g_eCvarsReg[Vip_freeze_distance])
	g_eCvars[vip_freeze_duration] = _:get_pcvar_float(g_eCvarsReg[Vip_freeze_duration])
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id) || !IsVIP(id))
		return
		
	g_bCanFreeze[id] = true
	g_bIsFrozen[id] = false
	set_user_health(id, g_eCvars[vip_health])
	cs_set_user_armor(id, g_eCvars[vip_armor], CS_ARMOR_VESTHELM)

	#if defined ICE_CUBE_EFFECT
	if (UTIL_IceCubeExists(id))
		UTIL_RemoveIceCube(id)
	#endif
	
	if(cs_get_user_team(id) == CS_TEAM_T)
		cs_set_weapon_ammo(give_item(id, "weapon_glock18"), g_eCvars[vip_glock_bullets])
}

public OnSecondaryAttack(iEnt)
{
	new id = pev(iEnt, pev_owner)
	
	if(!g_bCanFreeze[id] || !IsVIP(id))
		return
		
	new CsTeams:iTeam = cs_get_user_team(id)
	
	if(iTeam != CS_TEAM_CT)
		return

	new iPlayer, iBody
	get_user_aiming(id, iPlayer, iBody, g_eCvars[vip_freeze_distance])
	
	if(!is_user_connected(iPlayer) || cs_get_user_team(iPlayer) != iTeam)
		return
		
	if(g_bIsFrozen[iPlayer])
	{
		CC_SendMessage(id, "That player is already frozen.")
		return
	}
	
	g_bCanFreeze[id] = false
	SetFreeze(iPlayer, true)
	#if defined ICE_CUBE_EFFECT
	SetEffects(iPlayer)
	#endif
	set_task(g_eCvars[vip_freeze_duration], "UnfreezePlayer", iPlayer)
	
	new szName[2][32]
	get_user_name(id, szName[0], charsmax(szName[]))
	get_user_name(iPlayer, szName[1], charsmax(szName[]))
	CC_SendMessage(id, "You froze &x03%s &x01for &x04%.1f &x01seconds.", szName[1], g_eCvars[vip_freeze_duration])
	CC_SendMessage(iPlayer, "You have been frozen by &x03%s &x01for &x04%.1f &x01seconds.", szName[0], g_eCvars[vip_freeze_duration])
}

public UnfreezePlayer(id)
{
	g_bIsFrozen[id] = false
	SetFreeze(id, false)
	#if defined ICE_CUBE_EFFECT
	RemoveEffects(id)
	#endif
	CC_SendMessage(id, "You are no longer frozen.")
}

bool:IsVIP(const id)
	return bool:(get_user_flags(id) & VIP_FLAG)

SetFreeze(const id, const bool:bFreeze)
{
	if(bFreeze)
	{
		g_bIsFrozen[id] = true
		set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN)
	}
	else
	{
		g_bIsFrozen[id] = false
		set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN)
	}
}

// Huehue Part starts here..

#if defined ICE_CUBE_EFFECT
new const szIceClass[] = "entity_ice_cube"

new const szIceModels[][] = 
{
	"models/ice_cube.mdl",
	"models/ice_cube_small.mdl"
}

new const g_szSoundExplosion[] = "frost_exp.wav"

enum _:eSprites
{
	SPRITE_CYLINDER,
	SPRITE_FROST,
	SPRITE_FROST2,
	SPRITE_FLAKE
}

new g_iSprite[eSprites], g_iGlass

public plugin_precache()
{
	precache_sound(g_szSoundExplosion)
	
	g_iSprite[SPRITE_CYLINDER] = precache_model("sprites/white.spr")
	g_iSprite[SPRITE_FROST] = precache_model("sprites/frostexp_1.spr")
	g_iSprite[SPRITE_FROST2] = precache_model("sprites/frostexp_2.spr")
	g_iSprite[SPRITE_FLAKE] = precache_model("sprites/snowflake_1.spr")

	g_iGlass = precache_model("models/glassgibs.mdl")

	for (new i = 0; i < sizeof(szIceModels); i++)
	{
		if (file_exists(szIceModels[i]))
			precache_model(szIceModels[i])
		else
			server_print("Model missing ^"%s^"...", szIceModels[i])
	}
}

SetEffects(id)
{
	emit_sound(id, CHAN_AUTO, g_szSoundExplosion, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
			
	UTIL_Explosion(id, g_iSprite[SPRITE_FROST], 40, 30, 4)
	UTIL_Explosion(id, g_iSprite[SPRITE_FROST2], 20, 30, 4)
		
	UTIL_DLight(id, 80, 0, 128, 255, 50, 40)
	UTIL_BeamCylinder(id, g_iSprite[SPRITE_CYLINDER], 0, 5, 10, 255, 0, 128, 255, 255, 0)
	UTIL_SpriteTrail(id, g_iSprite[SPRITE_FLAKE], 30, 3, 2, 30, 0)

	UTIL_CreateIceCube(id)

	UTIL_ScreenFade(id, g_eCvars[vip_freeze_duration], 0.4, 0, 50, 200, 100)

}
RemoveEffects(id)
{
	UTIL_RemoveIceCube(id)
	UTIL_ScreenFade(id, g_eCvars[vip_freeze_duration], 0.0, 0, 50, 200, 100)
	UTIL_BreakGlass(id, 10, 25)
	set_rendering(id)
}

UTIL_CreateIceCube(id)
{
	if (UTIL_IceCubeExists(id))
		return
	
	new iEnt = create_entity("info_target")
	
	if (is_valid_ent(iEnt))
	{
		new Float:flOrigin[3]
		new iDucking = (entity_get_int(id, EV_INT_flags) & FL_DUCKING) ? 1 : 0
		
		entity_get_vector(id, EV_VEC_origin, flOrigin)
		
		if (iDucking) flOrigin[2] -= 15.0
		else flOrigin[2] -= 35.0
		
		entity_set_string(iEnt, EV_SZ_classname, szIceClass)
		entity_set_model(iEnt, szIceModels[iDucking])
		entity_set_int(iEnt, EV_INT_movetype, MOVETYPE_NONE)
		entity_set_int(iEnt, EV_INT_solid, SOLID_BBOX)
		entity_set_origin(iEnt, flOrigin)
		set_rendering(iEnt, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
		set_rendering(id, kRenderFxGlowShell, 0, 200, 255, kRenderNormal, 60)
		entity_set_int(iEnt, EV_INT_iuser3, id)
		entity_set_vector(iEnt, EV_VEC_origin, flOrigin)
	}
}

UTIL_RemoveIceCube(id)
{
	new iEnt = -1, iUser
	
	while ((iEnt = find_ent_by_class(iEnt, szIceClass)) > 0)
	{
		iUser = entity_get_int(iEnt, EV_INT_iuser3)
		
		if (iUser == id)
			remove_entity(iEnt)
	}
}

UTIL_IceCubeExists(id)
{
	new iEnt = -1, iUser
	
	while ((iEnt = find_ent_by_class(iEnt, szIceClass)) > 0)
	{
		iUser = entity_get_int(iEnt, EV_INT_iuser3)
		
		if (iUser == id)
			return true
	}
	
	return false
}

UTIL_BeamCylinder(iEnt, iSprite, iFramerate, iLife, iWidth, iAmplitude, iRed, iGreen, iBlue, iBright, iSpeed)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_BEAMCYLINDER)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 10)
	engfunc(EngFunc_WriteCoord, vOrigin[0] );
	engfunc(EngFunc_WriteCoord, vOrigin[1] + 400)
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 400)
	write_short(iSprite)
	write_byte(0)
	write_byte(iFramerate)
	write_byte(iLife)
	write_byte(iWidth)
	write_byte(iAmplitude)
	write_byte(iRed)
	write_byte(iGreen)
	write_byte(iBlue)
	write_byte(iBright)
	write_byte(iSpeed)
	message_end()
}

UTIL_DLight(iEnt, iRadius, iRed, iGreen, iBlue, iLife, iDecay)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_DLIGHT)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_byte(iRadius)
	write_byte(iRed)
	write_byte(iGreen)
	write_byte(iBlue)
	write_byte(iLife)
	write_byte(iDecay)
	message_end()
}

UTIL_Explosion(iEnt, iSprite, iScale, iFramerate, Flags)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte( TE_EXPLOSION )
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_short(iSprite)
	write_byte(iScale)
	write_byte(iFramerate)
	write_byte(Flags)
	message_end()
}

UTIL_SpriteTrail(iEnt, iSprite, iCount, iLife, iScale, iVelocity, iVary)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_SPRITETRAIL)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 100)
	engfunc(EngFunc_WriteCoord, vOrigin[0] + random_float(-200.0, 200.0))
	engfunc(EngFunc_WriteCoord, vOrigin[1] + random_float(-200.0, 200.0))
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_short(iSprite)
	write_byte(iCount)
	write_byte(iLife)
	write_byte(iScale)
	write_byte(iVelocity)
	write_byte(iVary)
	message_end()
}

UTIL_BreakGlass(iEnt, iCount, iLife)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)

	engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vOrigin, 0)
	write_byte(TE_BREAKMODEL)
	write_coord(floatround(vOrigin[0]))			// X
	write_coord(floatround(vOrigin[1]))			// Y
	write_coord(floatround(vOrigin[2]) + 24)	// Z
	write_coord(16)								// Size X
	write_coord(16)								// Size Y
	write_coord(16)								// Size Z
	write_coord(random_num(-50, 50))			// Velocity X
	write_coord(random_num(-50, 50))			// Velocity Y
	write_coord(25)								// Velocity Z
	write_byte(10)								// Random Velocity
	write_short(g_iGlass)						// Model
	write_byte(iCount)							// iCount (10)
	write_byte(iLife)							// iLife (25)
	write_byte(0x01)							// Break Glass Flag (0x01)
	message_end()								// Message Ends
}

UTIL_ScreenFade(iEnt, Float:fDuration, Float:fHoldTime, cRed, cGreen, cBlue, cAlpha)
{
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0, 0, 0}, iEnt)
	write_short(floatround(4096.0 * fDuration, floatround_round))
	write_short(floatround(4096.0 * fHoldTime, floatround_round))
	write_short(4096)
	write_byte(cRed)
	write_byte(cGreen)
	write_byte(cBlue)
	write_byte(cAlpha)
	message_end()
}
#endif
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
Huehue
Извън линия
Модератор
Модератор
Мнения: 352
Регистриран на: 16 Яну 2017, 23:42
Местоположение: София
Се отблагодари: 7 пъти
Получена благодарност: 171 пъти
Обратна връзка:

Преработка на направеният от OciXCrom VIP Plugin

Мнение от Huehue » 05 Юли 2018, 12:33

Пробвай..

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define VIP_FLAG ADMIN_RESERVATION

#define ICE_CUBE_EFFECT

#if defined ICE_CUBE_EFFECT
#include <engine>
#endif

enum _:CvarsReg
{
	Vip_health,
	Vip_armor,
	Vip_glock_bullets,
	Vip_freeze_distance,
	Vip_freeze_duration
}

enum _:Cvars
{
	vip_health,
	vip_armor,
	vip_glock_bullets,
	vip_freeze_distance,
	Float:vip_freeze_duration
}

new g_eCvarsReg[CvarsReg]
new g_eCvars[Cvars]
new bool:g_bCanFreeze[33]
new bool:g_bIsFrozen[33]

public plugin_init()
{
	register_plugin("VIP Plugin", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)

	#if !defined ICE_CUBE_EFFECT
	register_forward(FM_PlayerPreThink, "FM__PlayerPreThink")
	#endif
	
	g_eCvarsReg[Vip_health] = register_cvar("vip_health", "120")
	g_eCvarsReg[Vip_armor] = register_cvar("vip_armor", "100")
	g_eCvarsReg[Vip_glock_bullets] = register_cvar("vip_glock_bullets", "3")
	g_eCvarsReg[Vip_freeze_distance] = register_cvar("vip_freeze_distance", "1000")
	g_eCvarsReg[Vip_freeze_duration] = register_cvar("vip_freeze_duration", "3.0")
	CC_SetPrefix("&x04[VIP]")
}

public plugin_cfg()
{
	g_eCvars[vip_health] = get_pcvar_num(g_eCvarsReg[Vip_health])
	g_eCvars[vip_armor] = get_pcvar_num(g_eCvarsReg[Vip_armor])
	g_eCvars[vip_glock_bullets] = get_pcvar_num(g_eCvarsReg[Vip_glock_bullets])
	g_eCvars[vip_freeze_distance] = get_pcvar_num(g_eCvarsReg[Vip_freeze_distance])
	g_eCvars[vip_freeze_duration] = _:get_pcvar_float(g_eCvarsReg[Vip_freeze_duration])
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id) || !IsVIP(id))
		return
		
	g_bCanFreeze[id] = true
	g_bIsFrozen[id] = false
	set_user_health(id, g_eCvars[vip_health])
	cs_set_user_armor(id, g_eCvars[vip_armor], CS_ARMOR_VESTHELM)

	#if defined ICE_CUBE_EFFECT
	if (UTIL_IceCubeExists(id))
		UTIL_RemoveIceCube(id)
	#endif
	
	if(cs_get_user_team(id) == CS_TEAM_T)
		cs_set_weapon_ammo(give_item(id, "weapon_glock18"), g_eCvars[vip_glock_bullets])
}

#if defined ICE_CUBE_EFFECT
public client_PreThink(id)
#else
public FM__PlayerPreThink(id)
#endif
{
	#if defined ICE_CUBE_EFFECT
	new iButton = get_user_button(id)
	#else
	new iButton = get_pdata_int(id, 246, 5)
	#endif

	if(!g_bCanFreeze[id] || !IsVIP(id))
			return
		
	new CsTeams:iTeam = cs_get_user_team(id)
		
	if(iTeam != CS_TEAM_CT)
			return

	if (iButton & IN_USE)
	{
		new iPlayer, iBody
		get_user_aiming(id, iPlayer, iBody, g_eCvars[vip_freeze_distance])
		
		if(!is_user_connected(iPlayer) || cs_get_user_team(iPlayer) != iTeam)
			return
			
		if(g_bIsFrozen[iPlayer])
		{
			CC_SendMessage(id, "That player is already frozen.")
			return
		}
		
		g_bCanFreeze[id] = false
		SetFreeze(iPlayer, true)
		#if defined ICE_CUBE_EFFECT
		SetEffects(iPlayer)
		#endif
		set_task(g_eCvars[vip_freeze_duration], "UnfreezePlayer", iPlayer)
		
		new szName[2][32]
		get_user_name(id, szName[0], charsmax(szName[]))
		get_user_name(iPlayer, szName[1], charsmax(szName[]))
		CC_SendMessage(id, "You froze &x03%s &x01for &x04%.1f &x01seconds.", szName[1], g_eCvars[vip_freeze_duration])
		CC_SendMessage(iPlayer, "You have been frozen by &x03%s &x01for &x04%.1f &x01seconds.", szName[0], g_eCvars[vip_freeze_duration])
	}

}

public UnfreezePlayer(id)
{
	g_bIsFrozen[id] = false
	SetFreeze(id, false)
	#if defined ICE_CUBE_EFFECT
	RemoveEffects(id)
	#endif
	CC_SendMessage(id, "You are no longer frozen.")
}

bool:IsVIP(const id)
	return bool:(get_user_flags(id) & VIP_FLAG)

SetFreeze(const id, const bool:bFreeze)
{
	if(bFreeze)
	{
		g_bIsFrozen[id] = true
		set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN)
	}
	else
	{
		g_bIsFrozen[id] = false
		set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN)
	}
}

// Huehue Part starts here..

#if defined ICE_CUBE_EFFECT
new const szIceClass[] = "entity_ice_cube"

new const szIceModels[][] = 
{
	"models/ice_cube.mdl",
	"models/ice_cube_small.mdl"
}

new const g_szSoundExplosion[] = "frost_exp.wav"

enum _:eSprites
{
	SPRITE_CYLINDER,
	SPRITE_FROST,
	SPRITE_FROST2,
	SPRITE_FLAKE
}

new g_iSprite[eSprites], g_iGlass

public plugin_precache()
{
	precache_sound(g_szSoundExplosion)
	
	g_iSprite[SPRITE_CYLINDER] = precache_model("sprites/white.spr")
	g_iSprite[SPRITE_FROST] = precache_model("sprites/frostexp_1.spr")
	g_iSprite[SPRITE_FROST2] = precache_model("sprites/frostexp_2.spr")
	g_iSprite[SPRITE_FLAKE] = precache_model("sprites/snowflake_1.spr")

	g_iGlass = precache_model("models/glassgibs.mdl")

	for (new i = 0; i < sizeof(szIceModels); i++)
	{
		if (file_exists(szIceModels[i]))
			precache_model(szIceModels[i])
		else
			server_print("Model missing ^"%s^"...", szIceModels[i])
	}
}

SetEffects(id)
{
	emit_sound(id, CHAN_AUTO, g_szSoundExplosion, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
			
	UTIL_Explosion(id, g_iSprite[SPRITE_FROST], 40, 30, 4)
	UTIL_Explosion(id, g_iSprite[SPRITE_FROST2], 20, 30, 4)
		
	UTIL_DLight(id, 80, 0, 128, 255, 50, 40)
	UTIL_BeamCylinder(id, g_iSprite[SPRITE_CYLINDER], 0, 5, 10, 255, 0, 128, 255, 255, 0)
	UTIL_SpriteTrail(id, g_iSprite[SPRITE_FLAKE], 30, 3, 2, 30, 0)

	UTIL_CreateIceCube(id)

	UTIL_ScreenFade(id, g_eCvars[vip_freeze_duration], 0.4, 0, 50, 200, 100)

}
RemoveEffects(id)
{
	UTIL_RemoveIceCube(id)
	UTIL_ScreenFade(id, g_eCvars[vip_freeze_duration], 0.0, 0, 50, 200, 100)
	UTIL_BreakGlass(id, 10, 25)
	set_rendering(id)
}

UTIL_CreateIceCube(id)
{
	if (UTIL_IceCubeExists(id))
		return
	
	new iEnt = create_entity("info_target")
	
	if (is_valid_ent(iEnt))
	{
		new Float:flOrigin[3]
		new iDucking = (entity_get_int(id, EV_INT_flags) & FL_DUCKING) ? 1 : 0
		
		entity_get_vector(id, EV_VEC_origin, flOrigin)
		
		if (iDucking) flOrigin[2] -= 15.0
		else flOrigin[2] -= 35.0
		
		entity_set_string(iEnt, EV_SZ_classname, szIceClass)
		entity_set_model(iEnt, szIceModels[iDucking])
		entity_set_int(iEnt, EV_INT_movetype, MOVETYPE_NONE)
		entity_set_int(iEnt, EV_INT_solid, SOLID_BBOX)
		entity_set_origin(iEnt, flOrigin)
		set_rendering(iEnt, kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
		set_rendering(id, kRenderFxGlowShell, 0, 200, 255, kRenderNormal, 60)
		entity_set_int(iEnt, EV_INT_iuser3, id)
		entity_set_vector(iEnt, EV_VEC_origin, flOrigin)
	}
}

UTIL_RemoveIceCube(id)
{
	new iEnt = -1, iUser
	
	while ((iEnt = find_ent_by_class(iEnt, szIceClass)) > 0)
	{
		iUser = entity_get_int(iEnt, EV_INT_iuser3)
		
		if (iUser == id)
			remove_entity(iEnt)
	}
}

UTIL_IceCubeExists(id)
{
	new iEnt = -1, iUser
	
	while ((iEnt = find_ent_by_class(iEnt, szIceClass)) > 0)
	{
		iUser = entity_get_int(iEnt, EV_INT_iuser3)
		
		if (iUser == id)
			return true
	}
	
	return false
}

UTIL_BeamCylinder(iEnt, iSprite, iFramerate, iLife, iWidth, iAmplitude, iRed, iGreen, iBlue, iBright, iSpeed)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_BEAMCYLINDER)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 10)
	engfunc(EngFunc_WriteCoord, vOrigin[0] );
	engfunc(EngFunc_WriteCoord, vOrigin[1] + 400)
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 400)
	write_short(iSprite)
	write_byte(0)
	write_byte(iFramerate)
	write_byte(iLife)
	write_byte(iWidth)
	write_byte(iAmplitude)
	write_byte(iRed)
	write_byte(iGreen)
	write_byte(iBlue)
	write_byte(iBright)
	write_byte(iSpeed)
	message_end()
}

UTIL_DLight(iEnt, iRadius, iRed, iGreen, iBlue, iLife, iDecay)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_DLIGHT)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_byte(iRadius)
	write_byte(iRed)
	write_byte(iGreen)
	write_byte(iBlue)
	write_byte(iLife)
	write_byte(iDecay)
	message_end()
}

UTIL_Explosion(iEnt, iSprite, iScale, iFramerate, Flags)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte( TE_EXPLOSION )
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_short(iSprite)
	write_byte(iScale)
	write_byte(iFramerate)
	write_byte(Flags)
	message_end()
}

UTIL_SpriteTrail(iEnt, iSprite, iCount, iLife, iScale, iVelocity, iVary)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_SPRITETRAIL)
	engfunc(EngFunc_WriteCoord, vOrigin[0])
	engfunc(EngFunc_WriteCoord, vOrigin[1])
	engfunc(EngFunc_WriteCoord, vOrigin[2] + 100)
	engfunc(EngFunc_WriteCoord, vOrigin[0] + random_float(-200.0, 200.0))
	engfunc(EngFunc_WriteCoord, vOrigin[1] + random_float(-200.0, 200.0))
	engfunc(EngFunc_WriteCoord, vOrigin[2])
	write_short(iSprite)
	write_byte(iCount)
	write_byte(iLife)
	write_byte(iScale)
	write_byte(iVelocity)
	write_byte(iVary)
	message_end()
}

UTIL_BreakGlass(iEnt, iCount, iLife)
{
	new Float:vOrigin[3]
	pev(iEnt, pev_origin, vOrigin)

	engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vOrigin, 0)
	write_byte(TE_BREAKMODEL)
	write_coord(floatround(vOrigin[0]))			// X
	write_coord(floatround(vOrigin[1]))			// Y
	write_coord(floatround(vOrigin[2]) + 24)	// Z
	write_coord(16)								// Size X
	write_coord(16)								// Size Y
	write_coord(16)								// Size Z
	write_coord(random_num(-50, 50))			// Velocity X
	write_coord(random_num(-50, 50))			// Velocity Y
	write_coord(25)								// Velocity Z
	write_byte(10)								// Random Velocity
	write_short(g_iGlass)						// Model
	write_byte(iCount)							// iCount (10)
	write_byte(iLife)							// iLife (25)
	write_byte(0x01)							// Break Glass Flag (0x01)
	message_end()								// Message Ends
}

UTIL_ScreenFade(iEnt, Float:fDuration, Float:fHoldTime, cRed, cGreen, cBlue, cAlpha)
{
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0, 0, 0}, iEnt)
	write_short(floatround(4096.0 * fDuration, floatround_round))
	write_short(floatround(4096.0 * fHoldTime, floatround_round))
	write_short(4096)
	write_byte(cRed)
	write_byte(cGreen)
	write_byte(cBlue)
	write_byte(cAlpha)
	message_end()
}
#endif
LOYAL TO THE OATH OF OMERTА̀

Зад монитора мъжкари, това не го разбирам..
На живо сте мишкари, това го гарантирам!
Седиш на 30 метра от мен като препариран!
Ако има нещо брат, номерът ми е блокиран..

My GitHub Profile
GitHub

My AMXX Includes Collection
AMXX Include Libraries

My Steam Profile (from SteamDB)
  • Value: 4179€
  • Games owned: 1855
  • Games played: 754 (40%)
  • Hours on record: 4,994.9h

Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Преработка на направеният от OciXCrom VIP Plugin

Мнение от You Owe Me » 05 Юли 2018, 16:06

Тенк ю, лок.
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 21 госта