Anti-2shoot Message.
#1

Hi guyz..
I have made a script that if a player will use 2shoot,he will be freezed.But i want to add a gametextForPlayer that when he is freezed he get a message on Screen,
GameTextForPlayer(playerid,2-Shoot Detected,300,.......)
Where to add this here is the script Kindly add it in this script.
Код:
#include <a_samp>
#include <YSI\y_ini>
#define FREEZE_TIME       (650) // The time a player will get froze after evading reload and switching back.
#define PUNISH_THRESOLD  (2500) // If the player doesn't switch back the weapon in <PUNISH_THRESOLD> ms, ignore it.
#define iPlayer  playerid

#pragma tabsize 0

new
	BitArray:g_abIsSawnoffClipUsed< MAX_PLAYERS >,
	BitArray:g_abThisBitchDidntReload< MAX_PLAYERS >,
			 g_iReloadEvadeTime[ MAX_PLAYERS ],
			 g_iSawnoffAmmo[ MAX_PLAYERS ],
			 g_cFiredShots[ MAX_PLAYERS char ],
			 g_cPreviousWeapon[ MAX_PLAYERS char ]
;

public OnPlayerSpawn( iPlayer )
{
	g_iSawnoffAmmo[ iPlayer ] = -1;
	g_cFiredShots{ iPlayer } = 0;
	g_cPreviousWeapon{ iPlayer } = 0;

	Bit_Vet( g_abIsSawnoffClipUsed, iPlayer );
	Bit_Vet( g_abThisBitchDidntReload, iPlayer );
}

public OnPlayerUpdate( iPlayer )
{
	static
		s_iState,
		s_iSpecialAction
	;

	s_iState = GetPlayerState( iPlayer );
	s_iSpecialAction = GetPlayerSpecialAction( iPlayer );

	if ( s_iState == PLAYER_STATE_ONFOOT && ( s_iSpecialAction == SPECIAL_ACTION_NONE || s_iSpecialAction == SPECIAL_ACTION_DUCK ) )
	{
		static
			s_iWeapon,
			s_iAmmo
		;

		s_iWeapon = GetPlayerWeapon( iPlayer );
		s_iAmmo = GetPlayerAmmo( iPlayer );

		if ( g_cPreviousWeapon{ iPlayer } != s_iWeapon )
		{
			if ( g_cPreviousWeapon{ iPlayer } == WEAPON_SAWEDOFF )
			{
				if ( Bit_Get( g_abIsSawnoffClipUsed, iPlayer ) )
				{
					static
						s_iWeaponState
					;

					s_iWeaponState = GetPlayerWeaponState( iPlayer );

					if ( ( s_iWeaponState == WEAPONSTATE_MORE_BULLETS || s_iWeaponState == WEAPONSTATE_LAST_BULLET ) && g_cFiredShots{ iPlayer } != 4 )
					{
						Bit_Let( g_abThisBitchDidntReload, iPlayer );

						g_iReloadEvadeTime[ iPlayer ] = GetTickCount( );
					}
				}

				g_cFiredShots{ iPlayer } = 0;
			}
			else if ( s_iWeapon == WEAPON_SAWEDOFF )
			{
				if ( Bit_Get( g_abThisBitchDidntReload, iPlayer ) )
				{
					if ( GetTickCount( ) - g_iReloadEvadeTime[ iPlayer ] < PUNISH_THRESOLD )
					{
						new
							Float:fVX,
							Float:fVY,
							Float:fVZ
						;

						GetPlayerVelocity( iPlayer, fVX, fVY, fVZ );

						if ( floatabs( fVZ ) < 0.15 )
						{
							ClearAnimations( iPlayer, 1 );
                            
							ApplyAnimation( playerid, "PED", "XPRESSscratch", 0.0, 1, 0, 0, 0, FREEZE_TIME, 1 );
						}
					}

					Bit_Vet( g_abThisBitchDidntReload, iPlayer );
				}
			}

			g_cPreviousWeapon{ iPlayer } = s_iWeapon;
		}

		if ( s_iWeapon == WEAPON_SAWEDOFF )
		{
			if ( g_iSawnoffAmmo[ iPlayer ] == -1 )
				g_iSawnoffAmmo[ iPlayer ] = GetPlayerAmmo( iPlayer );
			else
			{
				if ( GetPlayerWeaponState( iPlayer ) == WEAPONSTATE_RELOADING )
				{
					if ( Bit_Get( g_abIsSawnoffClipUsed, iPlayer ) )
						Bit_Vet( g_abIsSawnoffClipUsed, iPlayer );
				}
				else
				{
					if ( g_iSawnoffAmmo[ iPlayer ] != s_iAmmo )
					{
						if ( s_iAmmo < g_iSawnoffAmmo[ iPlayer ] )
						{
							Bit_Let( g_abIsSawnoffClipUsed, iPlayer );

							g_cFiredShots{ iPlayer } += g_iSawnoffAmmo[ iPlayer ] - s_iAmmo;
						}
						else
						{
							g_cFiredShots{ iPlayer } = 0;

							Bit_Vet( g_abIsSawnoffClipUsed, iPlayer );
						}

						g_iSawnoffAmmo[ iPlayer ] = s_iAmmo;
					}
				}
			}
		}
		else if ( g_iSawnoffAmmo[ iPlayer ] != -1 || Bit_Get( g_abIsSawnoffClipUsed, iPlayer ) )
		{
			g_iSawnoffAmmo[ iPlayer ] = -1;

			Bit_Vet( g_abIsSawnoffClipUsed, iPlayer );

			g_cFiredShots{ iPlayer } = 0;
		}
	}
	else if ( g_iSawnoffAmmo[ iPlayer ] != -1 || Bit_Get( g_abIsSawnoffClipUsed, iPlayer ) )
	{
		g_iSawnoffAmmo[ iPlayer ] = -1;

		Bit_Vet( g_abIsSawnoffClipUsed, iPlayer );

		g_cFiredShots{ iPlayer } = 0;
	}

	return 1;
}
Reply
#2

Someone there?
Reply
#3

Add it below/above the line where the player gets frozen.
Reply
#4

PHP код:

if ( floatabsfVZ ) < 0.15 )
{
    
ClearAnimationsiPlayer);
    
    
ApplyAnimationiPlayer"PED""XPRESSscratch"0.01000FREEZE_TIME);
    
    
GameTextForPlayeriPlayer"2-Shoot - Detected!, FREEZE_TIME, 4);

That's it. Why have you defined iPlayer as playerid ?
Reply
#5

Thank you DDarklouis...
But Add " at the end of Detected!"
It wasn't working but now it is when i put " ,Anyways thankyou alot.
if ( floatabs( fVZ ) < 0.15 )
{
ClearAnimations( iPlayer, 1 );

ApplyAnimation( iPlayer, "PED", "XPRESSscratch", 0.0, 1, 0, 0, 0, FREEZE_TIME, 1 );

GameTextForPlayer( iPlayer, "2-Shoot - Detected!", FREEZE_TIME, 4);
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)