Raised This Month: $ Target: $400
 0% 

Spray Event Last Request


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
JoaoVieira
Senior Member
Join Date: May 2013
Location: Portugal
Old 12-28-2016 , 18:39   Spray Event Last Request
Reply With Quote #1

Hello , i would like you to help me with this:

Code:
public EventSpray( ) 
{
if( g_iCurrentGame == LR_SPRAY )
{
	
	new iOrigin[ 3 ];
	iOrigin[ 0 ] = read_data( 3 );
	iOrigin[ 1 ] = read_data( 4 );
	iOrigin[ 2 ] = read_data( 5 );
	
	new Float:vecSprayOrigin[ 3 ];
	IVecFVec( iOrigin, vecSprayOrigin );
	
	new iPlayerCT = read_data( 2 );
	new iPlayerT = read_data( 2 );
	
	new Float:vecPlayerOrigin[ 3 ];
	get_user_origin( iPlayerT, iOrigin, 1 );
	get_user_origin( iPlayerCT, iOrigin, 1 );
	IVecFVec( iOrigin, vecPlayerOrigin );
	
	new Float:vecDirection[ 3 ];
	xs_vec_sub( vecSprayOrigin, vecPlayerOrigin, vecDirection );
	
	xs_vec_mul_scalar( vecDirection, 10.0 / vector_length( vecDirection ), vecDirection );
	
	new Float:vecStop[ 3 ];
	xs_vec_add( vecSprayOrigin, vecDirection, vecStop );
	xs_vec_mul_scalar( vecDirection, -1.0, vecDirection );
	
	new Float:vecStart[ 3 ];
	xs_vec_add( vecSprayOrigin, vecDirection, vecStart );
	
	engfunc( EngFunc_TraceLine, vecStart, vecStop, IGNORE_MONSTERS, -1, 0 );
	
	get_tr2( 0, TR_vecPlaneNormal, vecDirection );
	
	vecDirection[ 2 ] = 0.0;
	
	xs_vec_mul_scalar( vecDirection, 5.0 / vector_length( vecDirection ), vecDirection );
	xs_vec_add( vecSprayOrigin, vecDirection, vecStart );
	xs_vec_copy( vecStart, vecStop );
	vecStop[ 2 ] -= 9999.0;
	
	engfunc( EngFunc_TraceLine, vecStart, vecStop, IGNORE_MONSTERS, -1, 0 );
	
	get_tr2( 0, TR_vecEndPos, vecStop );
	
	new szNameT[ 32 ], Float:SprayDistance[33]
	get_user_name( iPlayerT, szNameT, charsmax( szNameT ) );
	
	new szNameCT[ 32 ]
	get_user_name( iPlayerCT, szNameCT, charsmax( szNameCT ) );
	
	SprayDistance[iPlayerT] = ( vecStart[ 2 ] - vecStop[ 2 ] );
	SprayDistance[iPlayerCT] = ( vecStart[ 2 ] - vecStop[ 2 ] );
	
	give_item( iPlayerT, "weapon_knife" )
	give_item( iPlayerCT, "weapon_knife" )
	
	if( iPlayerT == g_iLastRequest[ LR_PRISONER ] )
	{
		g_spray++
		
	}
	else if( iPlayerCT == g_iLastRequest[ LR_GUARD ] )
	{
		
		g_spray++
		
	}
	
	if(SprayDistance[ g_iLastRequest[ LR_PRISONER ] ] > SprayDistance[ g_iLastRequest[ LR_GUARD ] ])
	{
		if(g_spray == 2)
		{
			user_kill(g_iLastRequest[ LR_GUARD ], 1 );
		}
	}
	else (SprayDistance[ g_iLastRequest[ LR_PRISONER ] ] < SprayDistance[ g_iLastRequest[ LR_GUARD ] ])
	{
		if(g_spray == 2)
		{
			user_kill(g_iLastRequest[ LR_PRISONER ], 1 );
		}
		
	}	
}
return PLUGIN_CONTINUE;	
}
I have tryed and i though this is fine , but it does not work , and i dont know why.

I want it to do: If last guard spray more high than prisoner , the prisoner die , and if prisoner spray more high than guard , the guard dies.
Thanks.

Last edited by JoaoVieira; 12-28-2016 at 18:42.
JoaoVieira is offline
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 12-28-2016 , 19:08   Re: Spray Event Last Request
Reply With Quote #2

You used read_data(2) for both players, so they are the same. Also, in the end you have else instead of else if.
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
JoaoVieira
Senior Member
Join Date: May 2013
Location: Portugal
Old 12-28-2016 , 19:16   Re: Spray Event Last Request
Reply With Quote #3

Quote:
Originally Posted by OciXCrom View Post
You used read_data(2) for both players, so they are the same. Also, in the end you have else instead of else if.
Didnt get noticed of the read_data , so , should i do like this?:

Code:
public EventSpray( ) 
{
if( g_iCurrentGame == LR_SPRAY )
{
	
	new iOrigin[ 3 ];
	iOrigin[ 0 ] = read_data( 3 );
	iOrigin[ 1 ] = read_data( 4 );
	iOrigin[ 2 ] = read_data( 5 );
	
	new Float:vecSprayOrigin[ 3 ];
	IVecFVec( iOrigin, vecSprayOrigin );
	
        new iPlayerT = read_data( 1 );
	new iPlayerCT = read_data( 2 );
	
	new Float:vecPlayerOrigin[ 3 ];
	get_user_origin( iPlayerT, iOrigin, 1 );
	get_user_origin( iPlayerCT, iOrigin, 1 );
	IVecFVec( iOrigin, vecPlayerOrigin );
	
	new Float:vecDirection[ 3 ];
	xs_vec_sub( vecSprayOrigin, vecPlayerOrigin, vecDirection );
	
	xs_vec_mul_scalar( vecDirection, 10.0 / vector_length( vecDirection ), vecDirection );
	
	new Float:vecStop[ 3 ];
	xs_vec_add( vecSprayOrigin, vecDirection, vecStop );
	xs_vec_mul_scalar( vecDirection, -1.0, vecDirection );
	
	new Float:vecStart[ 3 ];
	xs_vec_add( vecSprayOrigin, vecDirection, vecStart );
	
	engfunc( EngFunc_TraceLine, vecStart, vecStop, IGNORE_MONSTERS, -1, 0 );
	
	get_tr2( 0, TR_vecPlaneNormal, vecDirection );
	
	vecDirection[ 2 ] = 0.0;
	
	xs_vec_mul_scalar( vecDirection, 5.0 / vector_length( vecDirection ), vecDirection );
	xs_vec_add( vecSprayOrigin, vecDirection, vecStart );
	xs_vec_copy( vecStart, vecStop );
	vecStop[ 2 ] -= 9999.0;
	
	engfunc( EngFunc_TraceLine, vecStart, vecStop, IGNORE_MONSTERS, -1, 0 );
	
	get_tr2( 0, TR_vecEndPos, vecStop );
	
	new szNameT[ 32 ], Float:SprayDistance[33]
	get_user_name( iPlayerT, szNameT, charsmax( szNameT ) );
	
	new szNameCT[ 32 ]
	get_user_name( iPlayerCT, szNameCT, charsmax( szNameCT ) );
	
	SprayDistance[iPlayerT] = ( vecStart[ 2 ] - vecStop[ 2 ] );
	SprayDistance[iPlayerCT] = ( vecStart[ 2 ] - vecStop[ 2 ] );
	
	give_item( iPlayerT, "weapon_knife" )
	give_item( iPlayerCT, "weapon_knife" )
	
	if( iPlayerT == g_iLastRequest[ LR_PRISONER ] )
	{
		g_spray++
		
	}
	else if( iPlayerCT == g_iLastRequest[ LR_GUARD ] )
	{
		g_spray++
		
	}
	
	if(SprayDistance[ LR_PRISONER ]  > SprayDistance[ LR_GUARD ])
	{
		if(g_spray == 2)
		{
			user_kill(g_iLastRequest[ LR_GUARD ], 1 );
		}
	}
	else if(SprayDistance[ LR_PRISONER ]  < SprayDistance[ LR_GUARD ])
	{
		if(g_spray == 2)
		{
			user_kill(g_iLastRequest[ LR_PRISONER ], 1 );
		}
		
	}	
}
return PLUGIN_CONTINUE;	
}

Last edited by JoaoVieira; 12-28-2016 at 19:36.
JoaoVieira is offline
JoaoVieira
Senior Member
Join Date: May 2013
Location: Portugal
Old 12-28-2016 , 19:49   Re: Spray Event Last Request
Reply With Quote #4

I realize that i can just do 1 read_data , new iPlayer = read_data(2). but still not killing the lowest spray
JoaoVieira is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:06.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode