AntiFurien Radar

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

RoCoFeLu
Membru, skill +1
Membru, skill +1
Posts: 284
Joined: 21 Oct 2009, 03:51
Detinator Steam: Nu
Has thanked: 56 times
Been thanked: 6 times

20 Dec 2013, 19:44

RoCoFeLu wrote:

Code: Select all

12/18/2013 - 12:46:24: [CSTRIKE] Invalid player 5
12/18/2013 - 12:46:24: [AMXX] Displaying debug trace (plugin "AntiFurien_Radar.amxx")
12/18/2013 - 12:46:24: [AMXX] Run time error 10: native error (native "cs_get_user_team")
12/18/2013 - 12:46:24: [AMXX] [0] AntiFurien_Radar.sma::fw_PlayerPreThinkPre (line 230)
12/18/2013 - 12:46:24: [META] WARNING: Plugin didn't set meta_result: fakemeta_amxx_i386.so:PlayerPreThink()
Rezolvam si noi aceasta eroare, ca face loguri de 14-20 de GB in 4-5 zile...
Daca stie cineva rezolvarea, rog sa rezolve si aceasta versiune..
AntiFurien_Radar.sma | Afiseaza codul
/* Plugin generated by AMXX-Studio */

	#include < amxmodx >
	#include < cstrike >
	#include < fakemeta >
	
	
	#pragma semicolon 1
	
	#define RADAR_DELAY	1.0
	
	new const
		PLUGIN_NAME[ ] 		= "AntiFurien Radar",
		PLUGIN_VERSION[ ] 	= "0.2.0";
	
	new const
		PLUGIN_TAG[ ]		= "[FU.RIEN.RO]:",
		RADAR_SOUND[ ]		= "misc/motion.wav";
	
	
	new g_iCvarMinFurienSpeed;
	new g_iCvarRadarRange;
	new g_iCvarCost;
	new g_iCvarCostTwo;
	
	new g_iMaxPlayers;
	new Float:g_fCurrentTime;
	new Float:g_fNextRadarTime[ 33 ];
	
	new bool:g_bUserHasRadar[ 33 ];
	new bool:g_bUserHasProtection[ 33 ];
	new bool:g_bDrawFurienOnRadar[ 33 ];
	
	new g_iMsgIdHostageK;
	new g_iMsgIdHostagePos;
	
	
public plugin_precache( )
{
	precache_sound( RADAR_SOUND );
}


public plugin_init( )
{
	
	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, "Askhanar" );
	
	
	g_iCvarMinFurienSpeed = register_cvar( "afr_minspeed", "100" );
	g_iCvarRadarRange = register_cvar( "afr_range", "850" );
	g_iCvarCost = register_cvar( "afr_radar_cost", "14000" );
	g_iCvarCostTwo = register_cvar( "afr_protection_cost", "16000" );
	
	register_clcmd( "say /radar", "ClCmdSayRadar" );
	register_clcmd( "say /afr", "ClCmdSayRadar" );
	register_clcmd( "say /antiradar", "ClCmdSayProtection" );
	register_clcmd( "say /afrp", "ClCmdSayProtection" );
	
	register_event(  "DeathMsg",  "EventDeathMsg",  "a"  );
	register_forward( FM_PlayerPreThink, "fw_PlayerPreThinkPre", false );
	
	
	g_iMsgIdHostageK = get_user_msgid( "HostageK" );
	g_iMsgIdHostagePos = get_user_msgid( "HostagePos" );
	g_iMaxPlayers = get_maxplayers( );
	
	// Add your code here...
}

public ClCmdSayRadar( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_CT )
	{
		client_print( id, print_chat, "%s Doar AntiFurienii pot cumpara /radar! Tu poti cumpara /antiradar si sa te feresti de ei.", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara radarul!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasRadar[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCost );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasRadar[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un RADAR, iar acum vezi furienii aflati in miscare din jurul tau cu un punct rosu pe radar!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public ClCmdSayProtection( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_T )
	{
		client_print( id, print_chat, "%s Doar Furienii pot cumpara /antiradar! Tu poti cumpara /radar si sa ii cauti!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara un anti radar!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasProtection[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un anti radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCostTwo );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara anti radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasProtection[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un ANTI RADAR! Acum niciun AntiFurien nu te mai poate depista cu radarul!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public client_putinserver( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public client_disconnect( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public EventDeathMsg(  )	
{
	static id;
	id = read_data( 2 );
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}
	

public fw_PlayerPreThinkPre( id )
{
	if( !is_user_alive( id ) )
		return FMRES_IGNORED;
	
	g_fCurrentTime = get_gametime( );
	
	if( cs_get_user_team( id ) == CS_TEAM_CT && g_bUserHasRadar[ id ] )
	{
		
		if( g_fNextRadarTime[ id ] <= g_fCurrentTime )
		{
			
			g_fNextRadarTime[ id ] = g_fCurrentTime + RADAR_DELAY;
			static bool:bBeep;
			bBeep = false;
			
			for( new iFurien = 1; iFurien <= g_iMaxPlayers; iFurien++ )
			{
				
				if( g_bDrawFurienOnRadar[ iFurien ] )
				{
					if( !g_bUserHasProtection[ iFurien ] )
					{
						static Float:fOrigin[ 3 ];
						pev( iFurien, pev_origin, fOrigin );
						
						UTIL_ShowOnRadar( id, iFurien, fOrigin );
					}
					
					bBeep = true;
				}
			}
			
			if( bBeep )
				client_cmd( id, "spk %s", RADAR_SOUND );
			
		}
		
	}
	
	else if( cs_get_user_team( id ) == CS_TEAM_T )
	{
		
		
		static Float:fFurienOrigin[ 3 ];
		pev( id, pev_origin, fFurienOrigin );
		
		static Float:fVelocity[ 3 ];
		pev( id, pev_velocity, fVelocity );
		
		static Float:fCurSpeed;
		fCurSpeed = vector_length( fVelocity );
		
		if( fCurSpeed > float( get_pcvar_num( g_iCvarMinFurienSpeed ) ) )
		{	
	
			static iAnti;
			for( iAnti = 1; iAnti <= g_iMaxPlayers; iAnti++ )
			{
				if( cs_get_user_team( iAnti ) == CS_TEAM_CT && is_user_alive( iAnti ) )
				{
					static Float:fAntiOrigin[ 3 ];
					pev( iAnti, pev_origin, fAntiOrigin );
					
					if( get_distance_f( fFurienOrigin, fAntiOrigin ) <= float( get_pcvar_num( g_iCvarRadarRange ) ) )
					{
						g_bDrawFurienOnRadar[ id ] = true;
						
						break;
					}
				}
			}
		}
		else
		{
			g_bDrawFurienOnRadar[ id ] = false;
		}
		
	}
	
	return FMRES_IGNORED;
	
}

UTIL_ShowOnRadar( id, iTarget, Float:fOrigin[ 3 ] )
{
	
	
	//Make a dot on players radar.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostagePos, .player = id );
	write_byte( id );
	write_byte( iTarget );
	engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] );
	message_end( );
	
	//Make the dot red.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostageK, .player = id );
	write_byte( iTarget );
	message_end( );
	
}
RoyalServer
RoCoFeLu
Membru, skill +1
Membru, skill +1
Posts: 284
Joined: 21 Oct 2009, 03:51
Detinator Steam: Nu
Has thanked: 56 times
Been thanked: 6 times

22 Dec 2013, 17:39

RoCoFeLu wrote:
RoCoFeLu wrote:

Code: Select all

12/18/2013 - 12:46:24: [CSTRIKE] Invalid player 5
12/18/2013 - 12:46:24: [AMXX] Displaying debug trace (plugin "AntiFurien_Radar.amxx")
12/18/2013 - 12:46:24: [AMXX] Run time error 10: native error (native "cs_get_user_team")
12/18/2013 - 12:46:24: [AMXX] [0] AntiFurien_Radar.sma::fw_PlayerPreThinkPre (line 230)
12/18/2013 - 12:46:24: [META] WARNING: Plugin didn't set meta_result: fakemeta_amxx_i386.so:PlayerPreThink()
Rezolvam si noi aceasta eroare, ca face loguri de 14-20 de GB in 4-5 zile...
Daca stie cineva rezolvarea, rog sa rezolve si aceasta versiune..
AntiFurien_Radar.sma | Afiseaza codul
/* Plugin generated by AMXX-Studio */

	#include < amxmodx >
	#include < cstrike >
	#include < fakemeta >
	
	
	#pragma semicolon 1
	
	#define RADAR_DELAY	1.0
	
	new const
		PLUGIN_NAME[ ] 		= "AntiFurien Radar",
		PLUGIN_VERSION[ ] 	= "0.2.0";
	
	new const
		PLUGIN_TAG[ ]		= "[FU.RIEN.RO]:",
		RADAR_SOUND[ ]		= "misc/motion.wav";
	
	
	new g_iCvarMinFurienSpeed;
	new g_iCvarRadarRange;
	new g_iCvarCost;
	new g_iCvarCostTwo;
	
	new g_iMaxPlayers;
	new Float:g_fCurrentTime;
	new Float:g_fNextRadarTime[ 33 ];
	
	new bool:g_bUserHasRadar[ 33 ];
	new bool:g_bUserHasProtection[ 33 ];
	new bool:g_bDrawFurienOnRadar[ 33 ];
	
	new g_iMsgIdHostageK;
	new g_iMsgIdHostagePos;
	
	
public plugin_precache( )
{
	precache_sound( RADAR_SOUND );
}


public plugin_init( )
{
	
	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, "Askhanar" );
	
	
	g_iCvarMinFurienSpeed = register_cvar( "afr_minspeed", "100" );
	g_iCvarRadarRange = register_cvar( "afr_range", "850" );
	g_iCvarCost = register_cvar( "afr_radar_cost", "14000" );
	g_iCvarCostTwo = register_cvar( "afr_protection_cost", "16000" );
	
	register_clcmd( "say /radar", "ClCmdSayRadar" );
	register_clcmd( "say /afr", "ClCmdSayRadar" );
	register_clcmd( "say /antiradar", "ClCmdSayProtection" );
	register_clcmd( "say /afrp", "ClCmdSayProtection" );
	
	register_event(  "DeathMsg",  "EventDeathMsg",  "a"  );
	register_forward( FM_PlayerPreThink, "fw_PlayerPreThinkPre", false );
	
	
	g_iMsgIdHostageK = get_user_msgid( "HostageK" );
	g_iMsgIdHostagePos = get_user_msgid( "HostagePos" );
	g_iMaxPlayers = get_maxplayers( );
	
	// Add your code here...
}

public ClCmdSayRadar( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_CT )
	{
		client_print( id, print_chat, "%s Doar AntiFurienii pot cumpara /radar! Tu poti cumpara /antiradar si sa te feresti de ei.", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara radarul!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasRadar[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCost );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasRadar[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un RADAR, iar acum vezi furienii aflati in miscare din jurul tau cu un punct rosu pe radar!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public ClCmdSayProtection( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_T )
	{
		client_print( id, print_chat, "%s Doar Furienii pot cumpara /antiradar! Tu poti cumpara /radar si sa ii cauti!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara un anti radar!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasProtection[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un anti radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCostTwo );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara anti radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasProtection[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un ANTI RADAR! Acum niciun AntiFurien nu te mai poate depista cu radarul!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public client_putinserver( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public client_disconnect( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public EventDeathMsg(  )	
{
	static id;
	id = read_data( 2 );
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}
	

public fw_PlayerPreThinkPre( id )
{
	if( !is_user_alive( id ) )
		return FMRES_IGNORED;
	
	g_fCurrentTime = get_gametime( );
	
	if( cs_get_user_team( id ) == CS_TEAM_CT && g_bUserHasRadar[ id ] )
	{
		
		if( g_fNextRadarTime[ id ] <= g_fCurrentTime )
		{
			
			g_fNextRadarTime[ id ] = g_fCurrentTime + RADAR_DELAY;
			static bool:bBeep;
			bBeep = false;
			
			for( new iFurien = 1; iFurien <= g_iMaxPlayers; iFurien++ )
			{
				
				if( g_bDrawFurienOnRadar[ iFurien ] )
				{
					if( !g_bUserHasProtection[ iFurien ] )
					{
						static Float:fOrigin[ 3 ];
						pev( iFurien, pev_origin, fOrigin );
						
						UTIL_ShowOnRadar( id, iFurien, fOrigin );
					}
					
					bBeep = true;
				}
			}
			
			if( bBeep )
				client_cmd( id, "spk %s", RADAR_SOUND );
			
		}
		
	}
	
	else if( cs_get_user_team( id ) == CS_TEAM_T )
	{
		
		
		static Float:fFurienOrigin[ 3 ];
		pev( id, pev_origin, fFurienOrigin );
		
		static Float:fVelocity[ 3 ];
		pev( id, pev_velocity, fVelocity );
		
		static Float:fCurSpeed;
		fCurSpeed = vector_length( fVelocity );
		
		if( fCurSpeed > float( get_pcvar_num( g_iCvarMinFurienSpeed ) ) )
		{	
	
			static iAnti;
			for( iAnti = 1; iAnti <= g_iMaxPlayers; iAnti++ )
			{
				if( cs_get_user_team( iAnti ) == CS_TEAM_CT && is_user_alive( iAnti ) )
				{
					static Float:fAntiOrigin[ 3 ];
					pev( iAnti, pev_origin, fAntiOrigin );
					
					if( get_distance_f( fFurienOrigin, fAntiOrigin ) <= float( get_pcvar_num( g_iCvarRadarRange ) ) )
					{
						g_bDrawFurienOnRadar[ id ] = true;
						
						break;
					}
				}
			}
		}
		else
		{
			g_bDrawFurienOnRadar[ id ] = false;
		}
		
	}
	
	return FMRES_IGNORED;
	
}

UTIL_ShowOnRadar( id, iTarget, Float:fOrigin[ 3 ] )
{
	
	
	//Make a dot on players radar.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostagePos, .player = id );
	write_byte( id );
	write_byte( iTarget );
	engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] );
	message_end( );
	
	//Make the dot red.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostageK, .player = id );
	write_byte( iTarget );
	message_end( );
	
}

UP, inca mai am nevoie!
User avatar
Rap^
Membru, skill +2
Membru, skill +2
Posts: 621
Joined: 01 Oct 2011, 00:25
Detinator Steam: Da
Reputatie: Fost Scripter eXtreamCS
Fost Super moderator
Location: Bucuresti
Has thanked: 16 times
Been thanked: 156 times

23 Dec 2013, 19:58

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

	#include < amxmodx >
	#include < cstrike >
	#include < fakemeta >
	
	
	#pragma semicolon 1
	
	#define RADAR_DELAY	1.0
	
	new const
		PLUGIN_NAME[ ] 		= "AntiFurien Radar",
		PLUGIN_VERSION[ ] 	= "0.2.0";
	
	new const
		PLUGIN_TAG[ ]		= "[FU.RIEN.RO]:",
		RADAR_SOUND[ ]		= "misc/motion.wav";
	
	
	new g_iCvarMinFurienSpeed;
	new g_iCvarRadarRange;
	new g_iCvarCost;
	new g_iCvarCostTwo;
	
	new g_iMaxPlayers;
	new Float:g_fCurrentTime;
	new Float:g_fNextRadarTime[ 33 ];
	
	new bool:g_bUserHasRadar[ 33 ];
	new bool:g_bUserHasProtection[ 33 ];
	new bool:g_bDrawFurienOnRadar[ 33 ];
	
	new g_iMsgIdHostageK;
	new g_iMsgIdHostagePos;
	
	
public plugin_precache( )
{
	precache_sound( RADAR_SOUND );
}


public plugin_init( )
{
	
	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, "Askhanar" );
	
	
	g_iCvarMinFurienSpeed = register_cvar( "afr_minspeed", "100" );
	g_iCvarRadarRange = register_cvar( "afr_range", "850" );
	g_iCvarCost = register_cvar( "afr_radar_cost", "14000" );
	g_iCvarCostTwo = register_cvar( "afr_protection_cost", "16000" );
	
	register_clcmd( "say /radar", "ClCmdSayRadar" );
	register_clcmd( "say /afr", "ClCmdSayRadar" );
	register_clcmd( "say /antiradar", "ClCmdSayProtection" );
	register_clcmd( "say /afrp", "ClCmdSayProtection" );
	
	register_event(  "DeathMsg",  "EventDeathMsg",  "a"  );
	register_forward( FM_PlayerPreThink, "fw_PlayerPreThinkPre", false );
	
	
	g_iMsgIdHostageK = get_user_msgid( "HostageK" );
	g_iMsgIdHostagePos = get_user_msgid( "HostagePos" );
	g_iMaxPlayers = get_maxplayers( );
	
	// Add your code here...
}

public ClCmdSayRadar( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_CT )
	{
		client_print( id, print_chat, "%s Doar AntiFurienii pot cumpara /radar! Tu poti cumpara /antiradar si sa te feresti de ei.", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara radarul!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasRadar[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCost );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasRadar[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un RADAR, iar acum vezi furienii aflati in miscare din jurul tau cu un punct rosu pe radar!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public ClCmdSayProtection( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_T )
	{
		client_print( id, print_chat, "%s Doar Furienii pot cumpara /antiradar! Tu poti cumpara /radar si sa ii cauti!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara un anti radar!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasProtection[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un anti radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCostTwo );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara anti radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasProtection[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un ANTI RADAR! Acum niciun AntiFurien nu te mai poate depista cu radarul!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public client_putinserver( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public client_disconnect( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public EventDeathMsg(  )	
{
	static id;
	id = read_data( 2 );
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}
	

public fw_PlayerPreThinkPre( id )
{
	if( !is_user_alive( id ) )
		return FMRES_IGNORED;
	
	g_fCurrentTime = get_gametime( );
	
	if( cs_get_user_team( id ) == CS_TEAM_CT && g_bUserHasRadar[ id ] )
	{
		
		if( g_fNextRadarTime[ id ] <= g_fCurrentTime )
		{
			
			g_fNextRadarTime[ id ] = g_fCurrentTime + RADAR_DELAY;
			static bool:bBeep;
			bBeep = false;
			
			for( new iFurien = 1; iFurien <= g_iMaxPlayers; iFurien++ )
			{
				
				if( g_bDrawFurienOnRadar[ iFurien ] )
				{
					if( !g_bUserHasProtection[ iFurien ] )
					{
						static Float:fOrigin[ 3 ];
						pev( iFurien, pev_origin, fOrigin );
						
						UTIL_ShowOnRadar( id, iFurien, fOrigin );
					}
					
					bBeep = true;
				}
			}
			
			if( bBeep )
				client_cmd( id, "spk %s", RADAR_SOUND );
			
		}
		
	}
	
	else if( cs_get_user_team( id ) == CS_TEAM_T )
	{
		
		
		static Float:fFurienOrigin[ 3 ];
		pev( id, pev_origin, fFurienOrigin );
		
		static Float:fVelocity[ 3 ];
		pev( id, pev_velocity, fVelocity );
		
		static Float:fCurSpeed;
		fCurSpeed = vector_length( fVelocity );
		
		if( fCurSpeed > float( get_pcvar_num( g_iCvarMinFurienSpeed ) ) )
		{	
	
			static iAnti;
			for( iAnti = 1; iAnti <= g_iMaxPlayers; iAnti++ )
			{
				if( is_user_connected( iAnti ) )
				{
					if( is_user_alive( iAnti ) && cs_get_user_team( iAnti ) == CS_TEAM_CT )
					{
						static Float:fAntiOrigin[ 3 ];
						pev( iAnti, pev_origin, fAntiOrigin );
						
						if( get_distance_f( fFurienOrigin, fAntiOrigin ) <= float( get_pcvar_num( g_iCvarRadarRange ) ) )
						{
							g_bDrawFurienOnRadar[ id ] = true;
							
							break;
						}
					}
				}
			}
		}
		else
		{
			g_bDrawFurienOnRadar[ id ] = false;
		}
		
	}
	
	return FMRES_IGNORED;
	
}

UTIL_ShowOnRadar( id, iTarget, Float:fOrigin[ 3 ] )
{
	
	
	//Make a dot on players radar.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostagePos, .player = id );
	write_byte( id );
	write_byte( iTarget );
	engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] );
	message_end( );
	
	//Make the dot red.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostageK, .player = id );
	write_byte( iTarget );
	message_end( );
	
}
Imagination is more important than knowledge.
Knowledge is limited - Imagination encircles the world.
RoCoFeLu
Membru, skill +1
Membru, skill +1
Posts: 284
Joined: 21 Oct 2009, 03:51
Detinator Steam: Nu
Has thanked: 56 times
Been thanked: 6 times

23 Dec 2013, 20:06

Rap^ wrote:
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

	#include < amxmodx >
	#include < cstrike >
	#include < fakemeta >
	
	
	#pragma semicolon 1
	
	#define RADAR_DELAY	1.0
	
	new const
		PLUGIN_NAME[ ] 		= "AntiFurien Radar",
		PLUGIN_VERSION[ ] 	= "0.2.0";
	
	new const
		PLUGIN_TAG[ ]		= "[FU.RIEN.RO]:",
		RADAR_SOUND[ ]		= "misc/motion.wav";
	
	
	new g_iCvarMinFurienSpeed;
	new g_iCvarRadarRange;
	new g_iCvarCost;
	new g_iCvarCostTwo;
	
	new g_iMaxPlayers;
	new Float:g_fCurrentTime;
	new Float:g_fNextRadarTime[ 33 ];
	
	new bool:g_bUserHasRadar[ 33 ];
	new bool:g_bUserHasProtection[ 33 ];
	new bool:g_bDrawFurienOnRadar[ 33 ];
	
	new g_iMsgIdHostageK;
	new g_iMsgIdHostagePos;
	
	
public plugin_precache( )
{
	precache_sound( RADAR_SOUND );
}


public plugin_init( )
{
	
	register_plugin( PLUGIN_NAME, PLUGIN_VERSION, "Askhanar" );
	
	
	g_iCvarMinFurienSpeed = register_cvar( "afr_minspeed", "100" );
	g_iCvarRadarRange = register_cvar( "afr_range", "850" );
	g_iCvarCost = register_cvar( "afr_radar_cost", "14000" );
	g_iCvarCostTwo = register_cvar( "afr_protection_cost", "16000" );
	
	register_clcmd( "say /radar", "ClCmdSayRadar" );
	register_clcmd( "say /afr", "ClCmdSayRadar" );
	register_clcmd( "say /antiradar", "ClCmdSayProtection" );
	register_clcmd( "say /afrp", "ClCmdSayProtection" );
	
	register_event(  "DeathMsg",  "EventDeathMsg",  "a"  );
	register_forward( FM_PlayerPreThink, "fw_PlayerPreThinkPre", false );
	
	
	g_iMsgIdHostageK = get_user_msgid( "HostageK" );
	g_iMsgIdHostagePos = get_user_msgid( "HostagePos" );
	g_iMaxPlayers = get_maxplayers( );
	
	// Add your code here...
}

public ClCmdSayRadar( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_CT )
	{
		client_print( id, print_chat, "%s Doar AntiFurienii pot cumpara /radar! Tu poti cumpara /antiradar si sa te feresti de ei.", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara radarul!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasRadar[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCost );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasRadar[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un RADAR, iar acum vezi furienii aflati in miscare din jurul tau cu un punct rosu pe radar!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public ClCmdSayProtection( id )
{
	if( cs_get_user_team( id ) != CS_TEAM_T )
	{
		client_print( id, print_chat, "%s Doar Furienii pot cumpara /antiradar! Tu poti cumpara /radar si sa ii cauti!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( !is_user_alive( id ) )
	{
		client_print( id, print_chat, "%s Trebuie sa fi in viata pentru a cumpara un anti radar!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	if( g_bUserHasProtection[ id ] )
	{
		client_print( id, print_chat, "%s Ai deja un anti radar, ce vrei sa faci cu doua?!", PLUGIN_TAG );
		return PLUGIN_CONTINUE;
	}
	
	new iCost = get_pcvar_num( g_iCvarCostTwo );
	new iMoney = cs_get_user_money( id );
	
	if( iMoney < iCost )
	{
		client_print( id, print_chat, "%s Scuze amice, dar nu ai destui bani pentru a cumpara anti radarul, iti mai trebuie %i $!", PLUGIN_TAG, iCost - iMoney );
		return PLUGIN_CONTINUE;
	}
	
	g_bUserHasProtection[ id ] = true;
	cs_set_user_money( id, iMoney - iCost );
	
	client_print( id, print_chat, "%s Felicitari! Ai cumparat un ANTI RADAR! Acum niciun AntiFurien nu te mai poate depista cu radarul!", PLUGIN_TAG );
	return PLUGIN_CONTINUE;
}

public client_putinserver( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public client_disconnect( id )
{
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}

public EventDeathMsg(  )	
{
	static id;
	id = read_data( 2 );
	
	g_bUserHasRadar[ id ] = false;
	g_bUserHasProtection[ id ] = false;
	g_bDrawFurienOnRadar[ id ] = false;
}
	

public fw_PlayerPreThinkPre( id )
{
	if( !is_user_alive( id ) )
		return FMRES_IGNORED;
	
	g_fCurrentTime = get_gametime( );
	
	if( cs_get_user_team( id ) == CS_TEAM_CT && g_bUserHasRadar[ id ] )
	{
		
		if( g_fNextRadarTime[ id ] <= g_fCurrentTime )
		{
			
			g_fNextRadarTime[ id ] = g_fCurrentTime + RADAR_DELAY;
			static bool:bBeep;
			bBeep = false;
			
			for( new iFurien = 1; iFurien <= g_iMaxPlayers; iFurien++ )
			{
				
				if( g_bDrawFurienOnRadar[ iFurien ] )
				{
					if( !g_bUserHasProtection[ iFurien ] )
					{
						static Float:fOrigin[ 3 ];
						pev( iFurien, pev_origin, fOrigin );
						
						UTIL_ShowOnRadar( id, iFurien, fOrigin );
					}
					
					bBeep = true;
				}
			}
			
			if( bBeep )
				client_cmd( id, "spk %s", RADAR_SOUND );
			
		}
		
	}
	
	else if( cs_get_user_team( id ) == CS_TEAM_T )
	{
		
		
		static Float:fFurienOrigin[ 3 ];
		pev( id, pev_origin, fFurienOrigin );
		
		static Float:fVelocity[ 3 ];
		pev( id, pev_velocity, fVelocity );
		
		static Float:fCurSpeed;
		fCurSpeed = vector_length( fVelocity );
		
		if( fCurSpeed > float( get_pcvar_num( g_iCvarMinFurienSpeed ) ) )
		{	
	
			static iAnti;
			for( iAnti = 1; iAnti <= g_iMaxPlayers; iAnti++ )
			{
				if( is_user_connected( iAnti ) )
				{
					if( is_user_alive( iAnti ) && cs_get_user_team( iAnti ) == CS_TEAM_CT )
					{
						static Float:fAntiOrigin[ 3 ];
						pev( iAnti, pev_origin, fAntiOrigin );
						
						if( get_distance_f( fFurienOrigin, fAntiOrigin ) <= float( get_pcvar_num( g_iCvarRadarRange ) ) )
						{
							g_bDrawFurienOnRadar[ id ] = true;
							
							break;
						}
					}
				}
			}
		}
		else
		{
			g_bDrawFurienOnRadar[ id ] = false;
		}
		
	}
	
	return FMRES_IGNORED;
	
}

UTIL_ShowOnRadar( id, iTarget, Float:fOrigin[ 3 ] )
{
	
	
	//Make a dot on players radar.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostagePos, .player = id );
	write_byte( id );
	write_byte( iTarget );
	engfunc( EngFunc_WriteCoord, fOrigin[ 0 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 1 ] );
	engfunc( EngFunc_WriteCoord, fOrigin[ 2 ] );
	message_end( );
	
	//Make the dot red.
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgIdHostageK, .player = id );
	write_byte( iTarget );
	message_end( );
	
}
Sa-ti dea Dumnezeu sanatate!
stephano141
Membru, skill +1
Membru, skill +1
Posts: 154
Joined: 11 Apr 2014, 16:40
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

15 Dec 2015, 03:57

il poti face ca la valoare de cumparare 0 se se poata lua automat ?
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests