1. sayfa (Toplam 1 sayfa)

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Cmt Oca 28, 2017 1:04 am
gönderen ulyoS
Çok eğlenceli renkli mermi Eklentisi
Eklenti İsmi : RenkliMermi
Yapımcısı : Bilinmiyor
Sürüm : 1.3.0
Açıklama : Oyuncunun sıktığı kurşun gittiği yöne renk saçar eğlenceli güzel bir eklenti
Resmi :
Resim

Eklentinin İçerisi :

Kod: Tümünü seç

/************** CUSTOMIZATION AREA ***************/

#define TMP_IS_A_SILENCED_WEAPON
//#define PER_PLAYER_SETTINGS

/*********** END OF CUSTOMIZATION AREA ***********/

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

#define VERSION "1.3.0"

#define MAX_PLAYERS	32
#define IsPlayer(%1)	( 1 <= %1 <= g_iMaxPlayers )
#define write_coord_f(%1)	engfunc(EngFunc_WriteCoord,%1) 

#define m_pActiveItem	373

const GUNS_BITSUM  = ((1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE))
const SHOTGUNS_BITSUM = ((1<<CSW_XM1014)|(1<<CSW_M3))
const SMGS_BITSUM  = ((1<<CSW_MAC10)|(1<<CSW_UMP45)|(1<<CSW_MP5NAVY)|(1<<CSW_TMP)|(1<<CSW_P90))
const RIFFLES_BITSUM  = ((1<<CSW_AUG)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_M249)|(1<<CSW_M4A1)|(1<<CSW_SG552)|(1<<CSW_AK47))
const SNIPERS_BITSUM  = ((1<<CSW_SCOUT)|(1<<CSW_SG550)|(1<<CSW_AWP)|(1<<CSW_G3SG1))

const SILEN_BITSUM	= ((1<<CSW_USP)|(1<<CSW_M4A1))

enum _:PcvarsNum {
	HandGuns = 0,
	ShotGuns,
	SmgGuns,
	RiffleGuns,
	SnipeGuns
}

new const g_iWeaponBitSumList[] = { GUNS_BITSUM , SHOTGUNS_BITSUM , SMGS_BITSUM , RIFFLES_BITSUM , SNIPERS_BITSUM }

new g_iMaxPlayers
new Trie:g_tClassNames

new g_pCvar[PcvarsNum], g_pCvarTraceEnabled, g_pCvarTraceHideSilen

#if defined PER_PLAYER_SETTINGS
new g_bHltv[MAX_PLAYERS+1], g_bSeeTracers[MAX_PLAYERS+1]
new g_pCvarTraceHltv
#endif

new isin;

new g_Ates[ 33 ];

public plugin_precache()
{
	g_tClassNames = TrieCreate()
	
	RegisterHam(Ham_TraceAttack, "worldspawn", "TraceAttack", 1)
	TrieSetCell(g_tClassNames, "worldspawn", 1)
	RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)
	TrieSetCell(g_tClassNames, "player", 1)
	
	register_forward(FM_Spawn, "Spawn", 1)
	isin = precache_model( "sprites/dot.spr" );
}

public Spawn( iEnt )
{
	if( pev_valid(iEnt) )
	{
		static szClassName[32]
		pev(iEnt, pev_classname, szClassName, charsmax(szClassName))
		if( !TrieKeyExists(g_tClassNames, szClassName) )
		{
			RegisterHam(Ham_TraceAttack, szClassName, "TraceAttack", 1)
			TrieSetCell(g_tClassNames, szClassName, 1)
		}
	}
}

public plugin_end()
{
	TrieDestroy(g_tClassNames)
}

public plugin_init()
{
	register_plugin("Advanced Weapon Tracers", VERSION, "ConnorMcLeod")
	register_cvar("awt_version", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
	
	g_pCvarTraceEnabled = register_cvar("amx_tracers", "1")
	
	g_pCvar[HandGuns] = register_cvar("amx_trace_handguns", "1")
	g_pCvar[ShotGuns] = register_cvar("amx_trace_shotguns", "1")
	g_pCvar[SmgGuns] = register_cvar("amx_trace_smgguns", "1")
	g_pCvar[RiffleGuns] = register_cvar("amx_trace_riffleguns", "1")
	g_pCvar[SnipeGuns] = register_cvar("amx_trace_snipeguns", "1")
	
	g_pCvarTraceHideSilen = register_cvar("amx_trace_hide_silen", "1")
	#if defined PER_PLAYER_SETTINGS
	g_pCvarTraceHltv = register_cvar("amx_trace_hltv", "1")
	register_clcmd("say /tracers", "ClientCommand_Tracers")
	#endif
	
	g_iMaxPlayers = get_maxplayers()
}

#if defined PER_PLAYER_SETTINGS
public client_putinserver(id)
{
	g_bSeeTracers[id] = !is_user_bot(id)
	g_bHltv[id] = is_user_hltv(id)
	set_task(35.0, "TaskAnnouncement", id)
}

public ClientCommand_Tracers(id)
{
	client_print(id, print_chat, "** [Advanced Weapon Tracers] Tracers are now %s", 
	(g_bSeeTracers[id] = !g_bSeeTracers[id]) ? "ON" : "OFF")
	return PLUGIN_HANDLED
}


public TaskAnnouncement(id)
{
	client_print(id, print_chat, "** [Advanced Weapon Tracers] You can [en/dis]able tracers by typing /tracers in chat")
}
#endif

public TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
	if( !IsPlayer(iAttacker) || get_pcvar_num(g_pCvarTraceEnabled) == 0 )
	{
		return
	}
	
	new iWeapon = get_user_weapon(iAttacker)
	if( iWeapon == CSW_KNIFE )
	{
		return
	}
	
	new bWeapon = (1<<iWeapon)
	for(new a; a<sizeof(g_iWeaponBitSumList); a++)
	{
		if( bWeapon & g_iWeaponBitSumList[a] )
		{
			if( get_pcvar_num(g_pCvar[a]) )
			{
				break
			}
			else
			{
				return
			}
		}
	}
	
	if( SILEN_BITSUM & bWeapon )
	{
		if( get_pcvar_num(g_pCvarTraceHideSilen) )
		{
			if( cs_get_weapon_silen(get_pdata_cbase(iAttacker, m_pActiveItem)) )
			{
				return
			}
		}
	}
	#if defined TMP_IS_A_SILENCED_WEAPON
	else if( iWeapon == CSW_TMP && get_pcvar_num(g_pCvarTraceHideSilen) )
	{
		return
	}
	#endif
	
	g_Ates[ iAttacker ] += 1;
	if( g_Ates[ iAttacker ] >= 8 )
	{
		g_Ates[ iAttacker ] = 1;
	}
	
	new iOrigin[3], Float:flEnd[3]
	
	get_user_origin(iAttacker, iOrigin, 1)
	get_tr2(ptr, TR_vecEndPos, flEnd)
	
	#if defined PER_PLAYER_SETTINGS
	new iPlayers[MAX_PLAYERS], iNum, iPlayer, bHltv
	new x = iOrigin[0], y = iOrigin[1], z = iOrigin[2]
	new Float:fX = flEnd[0], Float:fY = flEnd[1], Float:fZ = flEnd[2]
	get_players(iPlayers, iNum)
	for(new i; i<iNum; i++)
	{
		iPlayer = iPlayers[i]
		if( g_bHltv[iPlayer] )
		{
			if( !bHltv && get_pcvar_num(g_pCvarTraceHltv) == 1 )
			{
				bHltv = true
				message_begin(MSG_SPEC, SVC_TEMPENTITY)
				write_byte ( 0 );
				write_coord(x)
				write_coord(y)
				write_coord(z)
				write_coord_f(fX) 
				write_coord_f(fY) 
				write_coord_f(fZ) 
				write_short( isin );
				write_byte( 1 );
				write_byte( 5);
				write_byte( 1);
				write_byte( 5 );
				write_byte( 0 );
				write_byte( r ); 
				write_byte( g );  
				write_byte( b );   
				write_byte( 200 ); 
				write_byte( 150 ); 
				message_end()
			}
		}
		else if( g_bSeeTracers[iPlayer] )
		{
			
			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, iPlayer)
			write_byte ( 0 );
			write_coord(x)
			write_coord(y)
			write_coord(z)
			write_coord_f(fX) 
			write_coord_f(fY) 
			write_coord_f(fZ) 
			write_short( isin );
			write_byte( 1 );
			write_byte( 5);
			write_byte( 1);
			write_byte( 5 );
			write_byte( 0 );
			write_byte( r ); 
			write_byte( g );  
			write_byte( b );   
			write_byte( 200 ); 
			write_byte( 150 ); 
			message_end()
			
		}
	}
	#else
	
	message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte ( 0 );
	write_coord( iOrigin[ 0 ] );
	write_coord( iOrigin[ 1 ] );
	write_coord( iOrigin[ 2 ] );
	write_coord_f( flEnd[ 0 ] );
	write_coord_f( flEnd[ 1 ] );
	write_coord_f( flEnd[ 2 ] ); 
	write_short( isin );
	write_byte( 1 );
	write_byte( 3 );
	write_byte( 1);
	write_byte( 5 );
	write_byte( 0 );
	switch( g_Ates[ iAttacker ] )
	{
		case 1: {
			Renk( 255, 0, 0 );
		}
		case 2: {
			Renk( 0, 0, 255 );
		}
		case 3: {
			Renk( 0, 255, 0 );
		}
		case 4: {
			Renk( 255, 255, 0 );
		}
		case 5: {
			Renk( 255, 255, 255 );
		}
		case 6: {
			Renk( 255, 0, 255 );
		}
		case 7: {
			Renk( 255, 170, 255 );
		}
	}
	write_byte( 200 ); 
	write_byte( 150 ); 
	message_end()
	
	#endif
}

stock Renk( Kirmizi, Yesil, Mavi )
{
	write_byte( Kirmizi ); 
	write_byte( Yesil );  
	write_byte( Mavi );  
}

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Çrş Mar 01, 2017 12:18 am
gönderen Xander
@alpersoylu34 çalısıyormu ?

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Çrş Mar 01, 2017 12:19 am
gönderen ulyoS
Xander yazdı:@alpersoylu34 çalısıyormu ?
çalışmakta.

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Cmt Ağu 08, 2020 10:29 pm
gönderen semihpvp
ulyos çalışmadı

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Pzr Ağu 09, 2020 12:49 am
gönderen ulyoS
semihpvp yazdı: Cmt Ağu 08, 2020 10:29 pm ulyos çalışmadı
ne hatası alıyorsunuz?

Renkli Mermi (TÜM MODLAR)

Gönderilme zamanı: Pzr Ağu 09, 2020 2:17 pm
gönderen semihpvp
ya ben sıkıyorum ama mermi izi çıkmıyo