All pastes #942536 Raw Edit

Unbenannt

public text v1 · immutable
·published 2008-03-14 16:19 UTC
rendered paste body
#include "Panels.h"
#include "sdk.h"

static Vector hullcolor[8] = 
{
	Vector( 1.0, 1.0, 1.0 ),
	Vector( 1.0, 0.5, 0.5 ),
	Vector( 0.5, 1.0, 0.5 ),
	Vector( 1.0, 1.0, 0.5 ),
	Vector( 0.5, 0.5, 1.0 ),
	Vector( 1.0, 0.5, 1.0 ),
	Vector( 0.5, 1.0, 1.0 ),
	Vector( 1.0, 1.0, 1.0 )
};

//------------------------------
ScreenSize_t sScreenSize;	// struct to store the screen-size
//------------------------------
//----------------------------------------------------------------------------------------------------------
CDrawLayer::CDrawLayer ( void )
{
	pDrawPanel = NULL;
}

CDrawLayer::~CDrawLayer ( void )
{
	Destroy();
}

void CDrawLayer::Create( vgui::VPANEL parent )
{
	pDrawPanel = new CDrawPanel ( parent );
}

void CDrawLayer::Destroy( void )
{
	if ( pDrawPanel )
	{
		ExitProcess( 0 );
		pDrawPanel->SetParent( (vgui::Panel *)NULL );
		delete pDrawPanel;
		pDrawPanel = NULL;
	}
}

//------------------------------------------------------------------------------------------------------------------
CDrawPanel::CDrawPanel( vgui::VPANEL parent ) : BaseClass( NULL,"DrawPanel" )//nigger vui esp
{
	SetParent( parent );
	SetPos( 0 , 0 );	
	SetVisible( true );	
	SetCursor( 0 );	
	base.m_pEngine->GetScreenSize( sScreenSize.m_iWidth, sScreenSize.m_iHeight );
	SetSize( sScreenSize.m_iWidth, sScreenSize.m_iHeight );
}


float flGetDistance( Vector from,Vector to )
{
    Vector angle;
    angle.x = to.x - from.x;	angle.y = to.y - from.y;	angle.z = to.z - from.z;
    
	return sqrt(angle.x*angle.x + angle.y*angle.y + angle.z*angle.z);
}

void DrawEsp()
{
	if ( !base.m_pMyPlayer->BaseEnt() )
		return;

	if(base.m_psCvar->radar)
		base.m_pRadar->DrawRadarBack();

	player_info_t pInfo;	
	Vector vScreen;		
	Vector vWorldPosition;
	Vector vPlayerHead;	

	for ( int index = 0; index < base.m_pEntList->GetHighestEntityIndex(); index++  )
	{
		if ( index == base.m_pEngine->GetLocalPlayer() )
			continue;


		IClientEntity* ClientEntity = base.m_pEntList->GetClientEntity( index );

		if (	ClientEntity == NULL
			||	ClientEntity->IsDormant() )
			continue;

		CBaseEntity* pBaseEntity = ClientEntity->GetBaseEntity();

		if (	pBaseEntity == NULL 
			||	pBaseEntity->IsDormant() )
			continue;

		int *iTeamIndex = (int*) ((DWORD)pBaseEntity +(DWORD)0x90 );
		int *lifestate = (int*) ( ( DWORD )pBaseEntity + ( DWORD )0x87 );
		int *pdwArmor =  (int*) (	(DWORD)pBaseEntity + (DWORD)0x1018 );

		DWORD dwGetTeamColor =  Color(255,255,255,255);

		if( *iTeamIndex == 2 )
			dwGetTeamColor = Color(255,0,0,200);

		if( *iTeamIndex == 3 )
			dwGetTeamColor = Color(0,0,255,200);


		if ( base.m_pEngine->GetPlayerInfo( index, &pInfo ) )
		{
			if(*lifestate  == LIFE_ALIVE)
			{
				if(base.m_psCvar->radar)
					base.m_pRadar->DrawRadarPoint( pBaseEntity->GetAbsOrigin(),  base.m_pMyPlayer->BaseEnt()->GetAbsOrigin(), base.m_pMyPlayer->BaseEnt()->GetAbsAngles(), dwGetTeamColor);
			}
		}

		base.m_pUtil->GetWorldSpaceCenter( pBaseEntity , vWorldPosition );
		if ( base.m_pUtil->WorldToScreen( vWorldPosition, vScreen ) )
		{
			if ( base.m_pEngine->GetPlayerInfo( index, &pInfo ) )
			{
				
				int *pdwHealth = (int*) ( (DWORD)pBaseEntity + (DWORD)0xDA4 );
				
				if( *lifestate  == LIFE_ALIVE )
				{
					                  dlight_t*lpDLight = base.m_pEffects->CL_AllocDlight( pBaseEntity->index );
				}

				  if (true && base.m_pAimbot->GetVisible( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition(), pBaseEntity ))
				  {
					if(base.m_psCvar->esp_show_enemys_only == 1 && pBaseEntity->GetTeamNumber() == base.m_pMyPlayer->BaseEnt()->GetTeamNumber()/*enemy*/)
						continue;

									//Get Distance
				float fdist = flGetDistance( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition() ) / 22.0f;
				int idist = fdist;
//Distance
						base.m_pUtil->PrintText( vPlayerHead.x + 60, vPlayerHead.y - 25, Color(0, 255, 0, 255), "D: %i", idist );
						
//Outline circle
base.m_pMatSurface->DrawOutlinedCircle( vPlayerHead.x, vPlayerHead.y, 100-fdist, 100 );

					
					if(base.m_psCvar->esp_box)
					{
						base.m_pMatSurface->DrawSetColor( RGBA(Color( 0, 255, 0, 255)) );
						base.m_pMatSurface->DrawOutlinedRect( vScreen.x - 25, vScreen.y - 25, vScreen.x + 29, vScreen.y + 32 );

					}

					base.m_psCvar->esp_hitbox; //Hitbox ESP
					{
						matrix3x4_t pmatrix[MAXSTUDIOBONES];

						const model_t * model;

						model = pBaseEntity->GetModel();

						if( model )
						{
							studiohdr_t *pStudioHdr = base.m_pModelinfo->GetStudiomodel( model);

							if ( !pStudioHdr )
								return;

							if( pBaseEntity->SetupBones( pmatrix, 128, BONE_USED_BY_HITBOX, base.m_pGlobals->curtime) == false )
								return ;

							mstudiohitboxset_t *set =pStudioHdr->pHitboxSet( 0 );

							if ( !set )
								return;

							Vector vecPosition;
							QAngle angles;

							// pointer to the hitbox
							mstudiobbox_t* pbox = NULL;

							for(int iHitBoxSets = 0; iHitBoxSets < pStudioHdr->numhitboxsets;iHitBoxSets++)
							{
								int iNumHB = pStudioHdr->iHitboxCount(iHitBoxSets);
								for(int iHitBoxCount = 0; iHitBoxCount < iNumHB; iHitBoxCount++)
								{
									pbox = pStudioHdr->pHitbox(iHitBoxCount, iHitBoxSets);
									if (!pbox)
										continue;

									MatrixAngles( pmatrix[ pbox->bone ], angles,vecPosition );

									int j = (pbox->group % 8);
									int r = ( int ) ( 255.0f * hullcolor[j][0] );
									int g = ( int ) ( 255.0f * hullcolor[j][1] );
									int b = ( int ) ( 255.0f * hullcolor[j][2] );

									
									base.m_pDebugOverlay->AddBoxOverlay( vecPosition,pbox->bbmin ,pbox->bbmax , angles,RED (dwGetTeamColor), GREEN (dwGetTeamColor), BLUE (dwGetTeamColor), false, base.m_pGlobals->frametime + 0.02 );		
								}
							}
						}
					}

					if(base.m_psCvar->esp_name)//O RLY
						base.m_pUtil->PrintText( vScreen.x-24, vScreen.y + 40-base.m_psCvar->esp_name_pos, Color( 6,196,20,255 ), "%s", pInfo.name );

					if(base.m_psCvar->esp_health == 1)
						base.m_pUtil->PrintText( vScreen.x+33, vScreen.y + 50-base.m_psCvar->esp_health_pos, dwGetTeamColor, "%i", *pdwHealth );

					// Health ESP by playershit
					int *Health = (int*) (    (DWORD)pBaseEntity + (DWORD)0xDA4  );
					int hp = *Health / 1.92; 

					if(base.m_psCvar->esp_health == 2)
					    base.m_pUtil->FillRGBA( vScreen.x-24, vScreen.y+ 52-base.m_psCvar->esp_health_pos ,100 / 1.92, 2, Color(0,0,0,255));
						base.m_pUtil->FillRGBA( vScreen.x-24, vScreen.y+ 52-base.m_psCvar->esp_health_pos ,hp, 2, Color (6,196,20,255 ) );

					if(base.m_psCvar->esp_armor == 2)
					{
						float hb = *pdwArmor;
						base.m_pUtil->FillRGBA( vScreen.x+24, vScreen.y -37, 4 , 100, Color(1,1,1,255));
						base.m_pUtil->FillRGBA( vScreen.x+26, vScreen.y -37, 1 , 100 , Color(206,50,177,255));
						base.m_pUtil->FillRGBA( vScreen.x+24, vScreen.y -37, 4 , 100 - hb , Color(1,1,1,255));
					}

					if(base.m_psCvar->esp_armor == 1 && *pdwArmor > 10)
						base.m_pUtil->PrintText( vScreen.x+33, vScreen.y + 50-base.m_psCvar->esp_armor_pos, dwGetTeamColor, "%i", *pdwArmor );

					if(base.m_psCvar->esp_barrel)//LOL
						{
							float flYaw, flPitch, flRoll = 0.0f;
							Vector vecDir;
							QAngle qView;

							__asm
							{
								mov eax,pBaseEntity;
								add eax,0x101C;
								mov eax,[eax];
								mov flYaw,eax;
								mov eax,pBaseEntity;
								add eax,0x101C;
								add eax,4;
								mov eax,[eax];		
								mov flPitch,eax;
							}
							qView.x = flYaw;
							qView.y = flPitch;
							qView.z = flRoll;
							AngleVectors( qView, &vecDir );
							vecDir = vecDir * 8192 + pBaseEntity->EyePosition();
							base.m_pDebugOverlay->AddLineOverlay( pBaseEntity->EyePosition(), vecDir,RED (Color(6,196,20,255 )), GREEN (Color(6,196,20,255 )), BLUE (Color(6,196,20,255 )),  false, 0.07f );
						}

					C_BaseCombatWeapon* m_pWeapon = base.m_pUtil->GetBaseCombatActiveWeapon( pBaseEntity );
					if ( m_pWeapon )
					{
						const char* szWeapon = base.m_pModelinfo->GetModelName ( m_pWeapon->GetModel( ) );
						char pWeapon[100];
						char pWeaponPrint[100];
						strcpy( pWeapon, szWeapon );
						if(base.m_psCvar->esp_weapon == 1)
						{
							if ( strstr( pWeapon, "w_pist_usp.mdl" ) )						
								strcpy( pWeaponPrint, "USP" );
							else if ( strstr( pWeapon, "w_pist_usp_silencer.mdl" ) )
								strcpy( pWeaponPrint, "USP-Silenced" );
							else if ( strstr( pWeapon, "w_rif_ak47.mdl" ) )					
								strcpy( pWeaponPrint, "AK-47" );
							else if ( strstr( pWeapon, "w_pist_glock18.mdl" ) )				
								strcpy( pWeaponPrint, "Glock 18" );
							else if ( strstr( pWeapon, "w_smg_tmp.mdl" ) )					
								strcpy( pWeaponPrint, "TMP" );
							else if ( strstr( pWeapon, "w_rif_aug.mdl" ) )					
								strcpy( pWeaponPrint, "Aug" );
							else if ( strstr( pWeapon, "w_pist_deagle.mdl" ) )				
								strcpy( pWeaponPrint, "Deagle" );
							else if ( strstr( pWeapon, "w_eq_fraggrenade.mdl" ) )				
								strcpy( pWeaponPrint, "Frag nade" );
							else if ( strstr( pWeapon, "w_eq_fraggrenade_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "Frag nade" );
							else if ( strstr( pWeapon, "w_eq_flashbang_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "Flashbang" );
							else if ( strstr( pWeapon, "w_eq_flashbang.mdl" ) )				
								strcpy( pWeaponPrint, "Flashbange" );
							else if ( strstr( pWeapon, "w_snip_g3sg1.mdl" ) )					
								strcpy( pWeaponPrint, "g3sg1" );
							else if ( strstr( pWeapon, "w_knife_ct.mdl" ) )					
								strcpy( pWeaponPrint, "knife" );
							else if ( strstr( pWeapon, "w_knife_t.mdl" ) )					
								strcpy( pWeaponPrint, "knife" );
							else if ( strstr( pWeapon, "w_shot_m3super90.mdl" ) )				
								strcpy( pWeaponPrint, "m3 super 90" );
							else if ( strstr( pWeapon, "w_smg_mac10.mdl" ) )					
								strcpy( pWeaponPrint, "Uzi" );
							else if ( strstr( pWeapon, "w_smg_p90.mdl" ) )					
								strcpy( pWeaponPrint, "P90" );
							else if ( strstr( pWeapon, "w_snip_scout.mdl" ) )					
								strcpy( pWeaponPrint, "scout" );
							else if ( strstr( pWeapon, "w_snip_sg550.mdl" ) )					
								strcpy( pWeaponPrint, "sg550" );
							else if ( strstr( pWeapon, "w_eq_smokegrenade.mdl" ) )			
								strcpy( pWeaponPrint, "smokegrenade" );
							else if ( strstr( pWeapon, "w_eq_smokegrenade_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "smokegrenade" );
							else if ( strstr( pWeapon, "w_smg_ump45.mdl" ) )					
								strcpy( pWeaponPrint, "ump45" );
							else if ( strstr( pWeapon, "w_snip_awp.mdl" ) )					
								strcpy( pWeaponPrint, "AWP" );
							else if ( strstr( pWeapon, "w_pist_elite.mdl" ) )					
								strcpy( pWeaponPrint, "Dualies" );
							else if ( strstr( pWeapon, "w_pist_elite_dropped.mdl" ) )			
								strcpy( pWeaponPrint, "Dualies" );
							else if ( strstr( pWeapon, "w_rif_famas.mdl" ) )					
								strcpy( pWeaponPrint, "Famas" );
							else if ( strstr( pWeapon, "w_pist_fiveseven.mdl" ) )				
								strcpy( pWeaponPrint, "FiveSeven" );
							else if ( strstr( pWeapon, "w_rif_galil.mdl" ) )					
								strcpy( pWeaponPrint, "Galil" );
							else if ( strstr( pWeapon, "w_rif_m4a1_silencer.mdl" ) )			
								strcpy( pWeaponPrint, "m4a1 silenced" );
							else if ( strstr( pWeapon, "w_rif_m4a1.mdl" ) )					
								strcpy( pWeaponPrint, "m4a1" );
							else if ( strstr( pWeapon, "w_smg_mp5.mdl" ) )					
								strcpy( pWeaponPrint, "mp5" );
							else if ( strstr( pWeapon, "w_pist_p228.mdl" ) )					
								strcpy( pWeaponPrint, "p228" );
							else if ( strstr( pWeapon, "w_mach_m249para.mdl" ) )				
								strcpy( pWeaponPrint, "m249" );
							else if ( strstr( pWeapon, "w_rif_sg552.mdl" ) )					
								strcpy( pWeaponPrint, "sg552" );
							else if ( strstr( pWeapon, "w_c4.mdl" ) )							
								strcpy( pWeaponPrint, "C4" );
							else if ( strstr( pWeapon, "w_c4_planted.mdl" ) )
								strcpy( pWeaponPrint, "C4" );
							else if ( strstr( pWeapon, "w_shot_xm1014.mdl" ) )
								strcpy( pWeaponPrint, "auto shottie" );
							else if ( strstr( pWeapon, "w_defuser.mdl" ))
								strcpy( pWeaponPrint, "defusing" );
							base.m_pUtil->PrintText( vScreen.x-14.4, vScreen.y+55-base.m_psCvar->esp_weapon_pos, Color (6,196,20,255 ),"%s ", pWeaponPrint );
						}
					}
				  }
				  else if (true && !base.m_pAimbot->GetVisible( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition(), pBaseEntity ))
				  {
					 if(base.m_psCvar->esp_show_enemys_only == 1 && pBaseEntity->GetTeamNumber() == base.m_pMyPlayer->BaseEnt()->GetTeamNumber()/*enemy*/)
						continue;

									//Get Distance
				float fdist = flGetDistance( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition() ) / 22.0f;
				int idist = fdist;
//Distance
						base.m_pUtil->PrintText( vPlayerHead.x + 60, vPlayerHead.y - 25, Color(217,0,0,255), "D: %i", idist );
						
//Outline circle
base.m_pMatSurface->DrawOutlinedCircle( vPlayerHead.x, vPlayerHead.y, 100-fdist, 100 );

					 
					 if(base.m_psCvar->esp_box)
					{
						base.m_pMatSurface->DrawSetColor( RGBA(Color(217,0,0,255)) );
						base.m_pMatSurface->DrawOutlinedRect( vScreen.x - 25, vScreen.y - 25, vScreen.x + 29, vScreen.y + 32 );


						
					}

					if(base.m_psCvar->esp_name)//O RLY
						base.m_pUtil->PrintText( vScreen.x-24, vScreen.y + 40-base.m_psCvar->esp_name_pos, Color(217, 0, 0, 255 ), "%s", pInfo.name );

					if(base.m_psCvar->esp_health == 1)
						base.m_pUtil->PrintText( vScreen.x+33, vScreen.y + 50-base.m_psCvar->esp_health_pos, Color (217, 0, 0, 255 ), "%i", *pdwHealth );

					// Health ESP by playershit
					int *Health = (int*) (    (DWORD)pBaseEntity + (DWORD)0xDA4  );
					int hp = *Health / 1.92; 

					if(base.m_psCvar->esp_health == 2)
					    base.m_pUtil->FillRGBA( vScreen.x-24, vScreen.y+ 52-base.m_psCvar->esp_health_pos ,100 / 1.92, 2, Color(0,0,0,255));
					base.m_pUtil->FillRGBA( vScreen.x-24, vScreen.y+ 52-base.m_psCvar->esp_health_pos ,hp, 2, Color (217,0,0,255 ) );

					if(base.m_psCvar->esp_armor == 2)
					{
						float hb = *pdwArmor;
						base.m_pUtil->FillRGBA( vScreen.x+24, vScreen.y -37, 4 , 100, Color(1,1,1,255));
						base.m_pUtil->FillRGBA( vScreen.x+26, vScreen.y -37, 1 , 100 , Color (217, 0, 0, 255 ));
						base.m_pUtil->FillRGBA( vScreen.x+24, vScreen.y -37, 4 , 100 - hb , Color(1,1,1,255));
					}

					if(base.m_psCvar->esp_armor == 1 && *pdwArmor > 10)
						base.m_pUtil->PrintText( vScreen.x+33, vScreen.y + 50-base.m_psCvar->esp_armor_pos, Color (217, 0, 0, 255 ), "%i", *pdwArmor );
				  

					if(base.m_psCvar->esp_barrel)//LOL
						{
							float flYaw, flPitch, flRoll = 0.0f;
							Vector vecDir;
							QAngle qView;

							__asm
							{
								mov eax,pBaseEntity;
								add eax,0x101C;
								mov eax,[eax];
								mov flYaw,eax;
								mov eax,pBaseEntity;
								add eax,0x101C;
								add eax,4;
								mov eax,[eax];		
								mov flPitch,eax;
							}
							qView.x = flYaw;
							qView.y = flPitch;
							qView.z = flRoll;
							AngleVectors( qView, &vecDir );
							vecDir = vecDir * 8192 + pBaseEntity->EyePosition();
							base.m_pDebugOverlay->AddLineOverlay( pBaseEntity->EyePosition(), vecDir,RED (Color(217, 0, 0, 255 )), GREEN (Color(217, 0, 0, 255 )), BLUE (Color(217, 0, 0, 255 )),  false, 0.07f );
						}

					C_BaseCombatWeapon* m_pWeapon = base.m_pUtil->GetBaseCombatActiveWeapon( pBaseEntity );
					if ( m_pWeapon )
					{
						const char* szWeapon = base.m_pModelinfo->GetModelName ( m_pWeapon->GetModel( ) );
						char pWeapon[100];
						char pWeaponPrint[100];
						strcpy( pWeapon, szWeapon );
						if(base.m_psCvar->esp_weapon == 1)
						{
							if ( strstr( pWeapon, "w_pist_usp.mdl" ) )						
								strcpy( pWeaponPrint, "USP" );
							else if ( strstr( pWeapon, "w_pist_usp_silencer.mdl" ) )
								strcpy( pWeaponPrint, "USP-Silenced" );
							else if ( strstr( pWeapon, "w_rif_ak47.mdl" ) )					
								strcpy( pWeaponPrint, "AK-47" );
							else if ( strstr( pWeapon, "w_pist_glock18.mdl" ) )				
								strcpy( pWeaponPrint, "Glock 18" );
							else if ( strstr( pWeapon, "w_smg_tmp.mdl" ) )					
								strcpy( pWeaponPrint, "TMP" );
							else if ( strstr( pWeapon, "w_rif_aug.mdl" ) )					
								strcpy( pWeaponPrint, "Aug" );
							else if ( strstr( pWeapon, "w_pist_deagle.mdl" ) )				
								strcpy( pWeaponPrint, "Deagle" );
							else if ( strstr( pWeapon, "w_eq_fraggrenade.mdl" ) )				
								strcpy( pWeaponPrint, "Frag nade" );
							else if ( strstr( pWeapon, "w_eq_fraggrenade_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "Frag nade" );
							else if ( strstr( pWeapon, "w_eq_flashbang_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "Flashbang" );
							else if ( strstr( pWeapon, "w_eq_flashbang.mdl" ) )				
								strcpy( pWeaponPrint, "Flashbange" );
							else if ( strstr( pWeapon, "w_snip_g3sg1.mdl" ) )					
								strcpy( pWeaponPrint, "g3sg1" );
							else if ( strstr( pWeapon, "w_knife_ct.mdl" ) )					
								strcpy( pWeaponPrint, "knife" );
							else if ( strstr( pWeapon, "w_knife_t.mdl" ) )					
								strcpy( pWeaponPrint, "knife" );
							else if ( strstr( pWeapon, "w_shot_m3super90.mdl" ) )				
								strcpy( pWeaponPrint, "m3 super 90" );
							else if ( strstr( pWeapon, "w_smg_mac10.mdl" ) )					
								strcpy( pWeaponPrint, "Uzi" );
							else if ( strstr( pWeapon, "w_smg_p90.mdl" ) )					
								strcpy( pWeaponPrint, "P90" );
							else if ( strstr( pWeapon, "w_snip_scout.mdl" ) )					
								strcpy( pWeaponPrint, "scout" );
							else if ( strstr( pWeapon, "w_snip_sg550.mdl" ) )					
								strcpy( pWeaponPrint, "sg550" );
							else if ( strstr( pWeapon, "w_eq_smokegrenade.mdl" ) )			
								strcpy( pWeaponPrint, "smokegrenade" );
							else if ( strstr( pWeapon, "w_eq_smokegrenade_thrown.mdl" ) )		
								strcpy( pWeaponPrint, "smokegrenade" );
							else if ( strstr( pWeapon, "w_smg_ump45.mdl" ) )					
								strcpy( pWeaponPrint, "ump45" );
							else if ( strstr( pWeapon, "w_snip_awp.mdl" ) )					
								strcpy( pWeaponPrint, "AWP" );
							else if ( strstr( pWeapon, "w_pist_elite.mdl" ) )					
								strcpy( pWeaponPrint, "Dualies" );
							else if ( strstr( pWeapon, "w_pist_elite_dropped.mdl" ) )			
								strcpy( pWeaponPrint, "Dualies" );
							else if ( strstr( pWeapon, "w_rif_famas.mdl" ) )					
								strcpy( pWeaponPrint, "Famas" );
							else if ( strstr( pWeapon, "w_pist_fiveseven.mdl" ) )				
								strcpy( pWeaponPrint, "FiveSeven" );
							else if ( strstr( pWeapon, "w_rif_galil.mdl" ) )					
								strcpy( pWeaponPrint, "Galil" );
							else if ( strstr( pWeapon, "w_rif_m4a1_silencer.mdl" ) )			
								strcpy( pWeaponPrint, "m4a1 silenced" );
							else if ( strstr( pWeapon, "w_rif_m4a1.mdl" ) )					
								strcpy( pWeaponPrint, "m4a1" );
							else if ( strstr( pWeapon, "w_smg_mp5.mdl" ) )					
								strcpy( pWeaponPrint, "mp5" );
							else if ( strstr( pWeapon, "w_pist_p228.mdl" ) )					
								strcpy( pWeaponPrint, "p228" );
							else if ( strstr( pWeapon, "w_mach_m249para.mdl" ) )				
								strcpy( pWeaponPrint, "m249" );
							else if ( strstr( pWeapon, "w_rif_sg552.mdl" ) )					
								strcpy( pWeaponPrint, "sg552" );
							else if ( strstr( pWeapon, "w_c4.mdl" ) )							
								strcpy( pWeaponPrint, "C4" );
							else if ( strstr( pWeapon, "w_c4_planted.mdl" ) )
								strcpy( pWeaponPrint, "C4" );
							else if ( strstr( pWeapon, "w_shot_xm1014.mdl" ) )
								strcpy( pWeaponPrint, "auto shottie" );
							else if ( strstr( pWeapon, "w_defuser.mdl" ))
								strcpy( pWeaponPrint, "defusing" );
							base.m_pUtil->PrintText( vScreen.x-14.4, vScreen.y+55-base.m_psCvar->esp_weapon_pos, Color (217, 0, 0, 255 ),"%s ", pWeaponPrint );
						}
					}
				  }


					 color32* Model = (color32*)((DWORD)pBaseEntity  + (DWORD)0x58 );
                                   if (Model && base.m_pAimbot->GetVisible( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition(), pBaseEntity ))
                                   {
                                        if (*iTeamIndex == 3)
                                        {
             
                                             Model->r = (byte)0;
                                             Model->g = (byte)80;
                                             Model->b = (byte)255;
                                             Model->a = (byte)255;
                                        }
                                        if (*iTeamIndex == 2)
                                        {
                                             Model->r = (byte)255;
                                             Model->g = (byte)80;
                                             Model->b = (byte)0;
                                             Model->a = (byte)255;
                                        }
                                   }
                                   else if (Model && !base.m_pAimbot->GetVisible( base.m_pMyPlayer->BaseEnt()->EyePosition(), pBaseEntity->EyePosition(), pBaseEntity ))
                                   {
                                        if (*iTeamIndex == 3)
                                        {
                                             Model->r = (byte)0;
                                             Model->g = (byte)0;
                                             Model->b = (byte)255;
                                             Model->a = (byte)255;
                                        }
                                        if (*iTeamIndex == 2)
                                        {
                                             Model->r = (byte)255;
                                             Model->g = (byte)0;
                                             Model->b = (byte)0;
                                             Model->a = (byte)255;
                                        }
                                   }


					
				}
			}
		}
	}



bool bPanic = true;
void CDrawPanel::Paint( void ) 
{

	DO_ONCE( 
			 base.m_pSettings->LoadConfigs(); 
	);

	base.m_pWallHack->Asus();

	if(GetAsyncKeyState(VK_DELETE)&1) bPanic = !bPanic;


	base.m_pForceCvar->Unlock();


	if (   !base.m_pEngine->IsConnected()
		|| !base.m_pEngine->IsInGame()
		|| !base.m_pMyPlayer->BaseEnt() 
		|| base.m_pEngine->Con_IsVisible() 
		|| base.m_pEngine->IsLevelMainMenuBackground()
		|| !bPanic
		|| base.m_pEngine->IsTakingScreenshot())
		return;

	base.m_pWallHack->XQZ();
	base.m_pRemovals->NoFlash();
	base.m_pRemovals->NoHands();
	base.m_pRemovals->NoSky();
	base.m_pRemovals->NoScope();

	DrawEsp();

	if(base.m_psCvar->vis_crosshair)
		base.m_pCross->SimpleCross();

	base.m_pMenu->InitializeMenu();
	base.m_pMenu->MenuDrawing();

	if(GetAsyncKeyState(VK_INSERT))
		base.m_pSettings->SaveConfigs();

	  if (base.m_psCvar->misc_speed)
	{
		ConVar *CVAR_HOST_TIMESCALE = base.m_pCvar->FindVar( "host_timescale" );
		if(GetAsyncKeyState(VK_SHIFT)
			)
		{ 
			CVAR_HOST_TIMESCALE->SetValue(5); 
		} else 
		{ 
			CVAR_HOST_TIMESCALE->SetValue(1); 
		}
	}

	if (base.m_psCvar->vis_clock == 1)
	{
		int x = 700;
		int y = 50;
		char szTime[20];
		_strtime(szTime);
		base.m_pUtil->PrintText( x, y, Color(255, 255, 255, 255), szTime );
	}



}