亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? client.cpp

?? 我對他如何控制準(zhǔn)星、顯示敵友很好奇
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
	cmd.exec(signal);
}

//========================================================================================
inline void drawPlayerEsp(int ax)
{
	if( !vPlayers[ax].getPVS() ) { return; }
	
	cl_entity_s* ent = vPlayers[ax].getEnt();
	ColorEntry* color = PlayerColor(ax);

	//// csg check
	//if(cvar.info==6 && ax==gAimbot.target)
	//{
	//	char* modelname = ent->model->name;
	//	if(!modelname) modelname = "NULL";
	//	DrawHudString(300,200,222,222,222,"%s",modelname);

	//	DrawHudString(300,180,222,222,222,"%x %x %x",ent->curstate.effects   ,ent->baseline.effects   ,ent->prevstate.effects    );
	//	DrawHudString(300,160,222,222,222,"%x %x %x",ent->curstate.rendermode,ent->baseline.rendermode,ent->prevstate.rendermode );
	//	DrawHudString(300,140,222,222,222,"%x %x %x",ent->curstate.renderamt ,ent->baseline.renderamt ,ent->prevstate.renderamt  );
	//}

	oglSubtractive = true;
	switch(cvar.radar)
	{
		case 0: break;
		case 1: drawRadarPoint(ent->origin,color->r,color->g,color->b); break;
		case 2: if( isEnemy(ax)) drawRadarPoint(ent->origin,color->r,color->g,color->b); break;
		case 3: if(!isEnemy(ax)) drawRadarPoint(ent->origin,color->r,color->g,color->b); break;
	}
	oglSubtractive = false;

	float vecScreen[2];
	if (!CalcScreen(ent->origin,vecScreen)){ return; }
	
	// distance and boxradius also needed for esp offset
	float distance = vPlayers[ax].distance/22.0f;
	int   boxradius = (300.0*90.0) / (distance*fCurrentFOV);
	BOUND_VALUE(boxradius,1,200);

	switch(cvar.box)
	{
	case 1:
		gDrawBoxAtScreenXY(vecScreen[0],vecScreen[1],color->r,color->g,color->b,color->a,boxradius);
		break;
	case 2:
		gDrawBoxAtScreenXY(vecScreen[0],vecScreen[1],color->r,color->g,color->b,color->a,10);
		break;
	}

	// ======  TEXT ESP:  ====== 

	int old = cvar.text_background;
	cvar.text_background = cvar.esp_background;
	
	// ====== show visibility
	const char* format_string; 
	const char* format_int;
	if (vPlayers[ax].visible) { format_string="%s";  format_int="%i"; }
	else                      { format_string="-%s-";format_int="-%i-"; }

	// ===== prepare text esp:
	enum{ CHAR_HEIGHT = 16 };
	int text_dist = (int)(cvar.esp_offs*(double)boxradius);
	int ystep = -CHAR_HEIGHT;

	int x = vecScreen[0];
	int y = vecScreen[1]-text_dist-CHAR_HEIGHT;
	if( cvar.esp_wrap && y<0 )
	{
		ystep = CHAR_HEIGHT;
		y = vecScreen[1]+text_dist;
	}

	if (cvar.esp_line)
	{
		if(ystep>0) // stack down
		{
			gEngfuncs.pfnFillRGBA(x,vecScreen[1],1,text_dist,color->r,color->g,color->b,255);
		}
		else
		{
			gEngfuncs.pfnFillRGBA(x,y+CHAR_HEIGHT,1,text_dist,color->r,color->g,color->b,255);
		}
	}
	
	if (cvar.weapon)
	{
		if (cvar.reload && mod==MOD_CSTRIKE)
		{
			int seqinfo = Cstrike_SequenceInfo[ent->curstate.sequence];
			if( seqinfo>1)
			{
				DrawHudStringCenter(x,y,100,255,100,Cstrike_infotext[seqinfo]); 
			} 
			else
			{
				DrawHudStringCenter(x,y,color->r,color->g,color->b,format_string,gGetWeaponName(ent->curstate.weaponmodel));
			}
		}
		else
		{
			DrawHudStringCenter(x,y,color->r,color->g,color->b,format_string,gGetWeaponName(ent->curstate.weaponmodel));
		}
		y += ystep;
	}
	
	if (cvar.name )
	{
		char displayname[32];
		int len = (cvar.name==1) ? 8 : cvar.name;
		if(len<0 || len>30) { len = 30; }
		strncpy(displayname,vPlayers[ax].entinfo.name,len);
		displayname[len] = 0;
		
		DrawHudStringCenter(x,y,color->r,color->g,color->b,format_string,displayname); 
		y += ystep;
	}

	if (cvar.distance)
	{
		DrawHudStringCenter(x,y,color->r,color->g,color->b,format_int,  (short int)distance);
		y += ystep;
	}

	

	//if(cvar.info==8 && ax==gAimbot.target)
	//{
	//	PlayerInfo& r = vPlayers[ax];
	//	DrawHudString(300,200,222,222,122,"frags:%3d deaths:%3d ratio:%4.2f best:%d",r.frags,r.deaths,r.ratio,r.bestplayer);
	//	DrawHudString(300,180,222,222,122,"alive:%d tspots:%d",r.getAlive(),r.numTargetSpots);
	//	DrawHudString(300,160,222,222,122,"fovang:%6.2f dist:%6.2f",r.fovangle,r.distance);
	//	DrawHudString(300,140,222,222,122,"points:%f",r.points);
	//}

	cvar.text_background=old; 
}

//========================================================================================
inline void drawEsp(int ab)
{
	float vecScreen[2];
	char weapon[64];
	vec3_t EntViewOrg;
	VectorCopy(vEntity[ab].ent->origin,EntViewOrg);
				
	memset(&weapon,0,50);
	
	if(!(    vEntity[ab].ent 
		&& vEntity[ab].ent->model
		&& vEntity[ab].ent->model->name ))   { return; }
	
	char*        text = vEntity[ab].ent->model->name;
	ColorEntry* color = colorList.get(9);
	bool      special = false;
	int           len = strlen(text);
	if( len<8 ) { return; }
				
	char* w_pos = strstr(text, "w_");
	if (len>10 && w_pos)
	{
		// models/w_awp.mdl
		strcpy(weapon,text+9);
		if( (w_pos[2]=='c'&&w_pos[3]=='4')||  // "c4"
			(w_pos[2]=='b'&&w_pos[3]=='a'&&w_pos[4]=='c')  ) // "backpack"
		{ 
			color = colorList.get(3); special=true; 
		}
	}
	else 
	{
		// models/scientist.mdl models/hostage.mdl
		strcpy(weapon,text+7);
		vec3_t forward,right,up;
		gEngfuncs.pfnAngleVectors (vEntity[ab].ent->angles, forward, right, up);
		
		EntViewOrg = EntViewOrg + up * 75;
		color   = colorList.get(3); 
		special = true;
	}	
	
	if(cvar.radar&&special){ drawRadarPoint(EntViewOrg,color->r,color->g,color->b,special); }
				
	if(cvar.esp && CalcScreen(EntViewOrg,vecScreen) && (!special||blinkPhase) )
	{
		weapon[strlen(weapon)-4]=(char)0;
		DrawHudStringCenter(vecScreen[0],vecScreen[1],color->r,color->g,color->b,weapon);
	}
}

//========================================================================================
void ogc_exec(const char* filename)
{
	string file = getOgcDirFile(filename);
	file += ".cfg";
	cmd.execFile( file.c_str() );
}

//========================================================================================
void playerCalcExtraData(int ax, cl_entity_s* ent)
{
	PlayerInfo& r = vPlayers[ax];

	// entity trash filter
	if( ent->curstate.effects&EF_NODRAW ) { r.clearPVS(); return; }
	if( ent==me.ent                     ) { r.clearPVS(); return; }
	switch(ent->curstate.rendermode)
	{
	case kRenderTransColor:
	case kRenderTransTexture: 
		if( ent->curstate.renderamt<128 ) { r.clearPVS(); return; }
		break;
	case kRenderNormal:
		break;
	default:
		r.clearPVS();
		return;
	}
	if(!r.getPVS()) return; // dont calc data for non visible players

	r.distance  = GetDistanceFrom (ent->origin); if(r.distance<1) r.distance=1; // avoid division by zero
	gAimbot.calcFovangleAndVisibility(ax);
	r.points    = 0;

	// calc points
	float points      = 0.0;
	bool  aimingatme  = IsAimingAtMe(ax);
	int   seqinfo = (mod==MOD_CSTRIKE) ? Cstrike_SequenceInfo[ent->curstate.sequence] : 0;
	if(aimingatme)
	{
		if(seqinfo==SEQUENCE_SHOOT) points += pointSystem[0].points; // "shoot_at_me"
		else                        points += pointSystem[1].points; // "aim_at_me"  
	}
	if( r.visible                )  points += pointSystem[2].points; // "visible"
	if( r.bestplayer             )  points += pointSystem[3].points; // "bestplayer"
	if( seqinfo==SEQUENCE_ARM_C4 )  points += pointSystem[4].points; // "arm_c4"
	if( r.fovangle > 180.0       )  points += pointSystem[5].points; // "behind_me"
	points += pointSystem[6].points/r.distance; // r.distance cannot be 0 here (see above)
	points += pointSystem[7].points*r.fovangle;

	// add an awp bonus
	if(aimingatme)
	{
		// see if he has an awp
		model_s* mdl = IEngineStudio.GetModelByIndex( ent->curstate.weaponmodel );
		if( mdl && mdl->name )
		{
			// "weapons/p_awp.mdl"
			int len = strlen(mdl->name);
			if(len>10 && mdl->name[len-7]=='a' && mdl->name[len-6]=='w' && mdl->name[len-5]=='p')
			{
                points += pointSystem[8].points; // "awp_bonus"
			}
		}
	}

	// store points
	r.points = points;
}

//========================================================================================
void drawSound()
{
	int old = cvar.confont;cvar.confont = 1;
	for(int pri=0;pri<3;pri++)
	for(int i=0;i<cvar.soundmax;i++)
	{
		SoundMarker& ref = vecSoundMarker[i];
		if( ref.priority==pri && ref.timer.running() )
		{  
			ColorEntry* clr = colorList.get(6);

			if(cvar.sounddisplay==1)
			{
				float timeleft = ref.timer.timeleft();
				int alpha = (int)( (255.0f/cvar.soundtime)*(timeleft) );
				
				float distance = GetPseudoDistance(me.pmEyePos, ref.origin);
				int boxradius = (int)(3000.0f/distance);
				BOUND_VALUE(boxradius,2,40);

				clr->compiled &= 0xFFFFFF00;
				clr->compiled += alpha;

				gDrawFilledBoxAtLocation( ref.origin, clr->compiled, boxradius );
			} else if(cvar.sounddisplay==2) {
				float vecScreen[2];
				if (CalcScreen(ref.origin,vecScreen))
				{
					DrawHudStringCenter(vecScreen[0],vecScreen[1],ref.color->r,ref.color->g,ref.color->b,ref.description);
				}
			}

			if(cvar.soundradar)
			{
				int screenx, screeny;
				calcRadarPoint(ref.origin, screenx,screeny);
				gEngfuncs.pfnFillRGBA(screenx,screeny,2,2,ref.color->r,ref.color->g,ref.color->b,255);
			}
		}
	}
	cvar.confont = old;
}

//=======================================================================================
void hudDrawInfoTexts()
{
	int line_y = displayCenterY*2-180;
	int line_x = 20;
	#define DECREMENT_LINE_Y { line_y-=16; }

	if (cvar.wa_title && winamp.title.size())
	{
		ColorEntry* clr=colorList.get(13);
		int old = cvar.text_background; cvar.text_background = 1;
		DrawHudString(line_x,line_y,clr->r,clr->g,clr->b, winamp.title.c_str() );
		DECREMENT_LINE_Y
		cvar.text_background = old;
	}

	if (cvar.info)
	{
		ColorEntry* clr=colorList.get(13);

		if(gHudTimer.running())
		{
			DrawHudString(line_x,line_y,clr->r,clr->g,clr->b, gHudMessage );
			DECREMENT_LINE_Y
		}
        
		if( gHudTimer2.running() )
		{
			DrawHudString(line_x,line_y,clr->r,clr->g,clr->b,gHudMessage2 );
			DECREMENT_LINE_Y
		}

		if(cvar.saystats==3)
		{
			PlayerInfo& r = vPlayers[me.ent->index];

			// calc fpm
			static double fragcount_starttime=0;
			if(r.frags==0) fragcount_starttime = ClientTime::current;
			double fpm = 0.0;
			double timepassed = ClientTime::current - fragcount_starttime;
			if(timepassed>0) { fpm = r.frags / timepassed * 60; } 

			char tmp[128];
			sprintf(tmp,"frags:%d, deaths:%d, headshots:%d (%4.1f ), fpm:%5.3f", r.frags,r.deaths,me.headshots,me.hspercent,fpm);
			DrawHudString(line_x,line_y,clr->r,clr->g,clr->b,tmp);
			DECREMENT_LINE_Y
		}
	}

	if (bBombIsPlanted && cvar.bombtimer && blinkPhase)
	{
		int planted;
		if (!iC4Timer)  { planted = (ClientTime::current - fBombPlantedTime); }
		else            { planted = ((iC4Timer - (ClientTime::current - fBombPlantedTime))+1); }
		
		int planted_sec = planted % 60;
		int planted_min = planted / 60;
        
		char tmbuf[32];
		sprintf (tmbuf, "Bomb: %01d:%02d", planted_min, planted_sec); 

		ColorEntry* clr = colorList.get(7);
		DrawHudString(line_x,line_y, clr->r, clr->g, clr->b, tmbuf);
		DECREMENT_LINE_Y
	}         

	if( cvar.death && deathInfos.active )
	{
		ColorEntry* color = colorList.get(16);
		
		float vecScreen[2];
		if (CalcScreen(deathInfos.from,vecScreen))
		{ 
			DrawHudStringCenter(vecScreen[0],vecScreen[1]-10,color->r,color->g,color->b,"%s",deathInfos.killerName.c_str());
			DrawHudStringCenter(vecScreen[0],vecScreen[1]+10,color->r,color->g,color->b,"%s",deathInfos.weaponName.c_str());
		}
	} 

	if (cvar.systime)
	{
		SYSTEMTIME SysTime;
		GetLocalTime(&SysTime);
		if (SysTime.wHour>12)  SysTime.wHour-=12;

		ColorEntry* clr = colorList.get(8);
		int xx = displayCenterX*2 - 50;
		int yy = displayCenterY*2 - 95;
		char* formatstring   =   (SysTime.wMinute<10) ?  "%d:0%d" :  "%d:%d";

		DrawHudString(xx, yy, clr->r, clr->g, clr->b, formatstring, SysTime.wHour, SysTime.wMinute); 
	}

	if ( cvar.speed>1 )
	{
		extern DWORD speed_ticks_left;
		extern DWORD phase_ticks_left;

		int x = displayCenterX*2 - 100;
		int y = displayCenterY*2 - 195;
		ColorEntry* clr=colorList.get(13);
		
		if(speed_ticks_left) DrawHudString(x,y   ,clr->r,clr->g,clr->b, "speed: %d",speed_ticks_left );
		else                 DrawHudString(x,y-20,clr->r,clr->g,clr->b, "wait.. %d",phase_ticks_left );
	}
}

//========================================================================================
static void gStopMovement()
{
	bStopMovement = true;
	//Con_Echo("&r- STOPMOVEMENT -");
	//if( cvar.burstflags&BurstInfo::BURSTFLAG_STOP )
	//{
	//	gEngfuncs.pfnClientCmd("-moveleft");
	//	gEngfuncs.pfnClientCmd("-moveright");
	//	gEngfuncs.pfnClientCmd("-forward");
	//	gEngfuncs.pfnClientCmd("-back");
	//}
	//
	//if( cvar.burstflags&BurstInfo::BURSTFLAG_USE && !bPressedUse)
	//{ 
	//	gEngfuncs.pfnClientCmd("+use"); 
	//	bPressedUse = true;
	//}
}

//========================================================================================
static void gFreeMovement()
{
	bStopMovement = false;
	//Con_Echo("&r- FREEMOVEMENT -");
	//if( bPressedUse )
	//{
	//	gEngfuncs.pfnClientCmd("-use");
	//	bPressedUse = false;
	//}
}

//========================================================================================
static void gAttackHandling()
{
	static double timer=0;

	if(!( me.alive && cvar.aim && cvar.shoot && me.iClip )){ return; }

	if(cvar.burstflags & BurstInfo::BURSTFLAG_NOAIM) 
	{
		bAttacking = false;
		bFireCycle = true;
		nFireSequence = FIRESEQ_INACTIVE;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲观看高清完整版在线观看 | 国产在线视频一区二区三区| 欧美日韩www| 亚州成人在线电影| 欧美一区二区精美| 国内外成人在线视频| 2023国产精品视频| 成人福利视频网站| 亚洲一区二三区| 91精品一区二区三区久久久久久 | 精品国产乱码久久久久久久久 | 综合av第一页| 日本韩国一区二区三区| 婷婷久久综合九色综合伊人色| 欧美日韩国产在线播放网站| 捆绑调教一区二区三区| 欧美国产在线观看| 欧美丝袜丝交足nylons| 精品亚洲免费视频| 国产精品丝袜一区| 欧美亚洲高清一区| 韩国av一区二区| 亚洲色欲色欲www| 日韩色在线观看| av影院午夜一区| 日本成人在线电影网| 2024国产精品| 欧美色偷偷大香| 国产99精品国产| 亚洲国产成人av好男人在线观看| 欧美一级片在线| 99国产精品久久久久久久久久| 亚洲成a人片在线观看中文| 久久久久久久久久久久久夜| 日本韩国一区二区| 国产一区视频在线看| 一区二区不卡在线播放| 国产亚洲综合色| 91精品啪在线观看国产60岁| 成人性生交大片免费看在线播放 | 精品视频一区三区九区| 粉嫩av一区二区三区| 午夜av一区二区| 亚洲欧洲国产日本综合| 日韩丝袜美女视频| 在线观看三级视频欧美| 国产精品中文字幕日韩精品| 三级久久三级久久| 综合精品久久久| 久久久91精品国产一区二区精品| 欧美色网站导航| 国产69精品久久久久毛片| 日韩电影免费一区| 亚洲综合成人在线视频| 亚洲欧洲av在线| 中文字幕欧美三区| 精品对白一区国产伦| 9191国产精品| 欧美亚洲一区二区在线| 91麻豆swag| kk眼镜猥琐国模调教系列一区二区 | 欧美日韩极品在线观看一区| www.久久久久久久久| 国产麻豆精品视频| 久久99久久99精品免视看婷婷 | 日韩美女视频一区二区| 国产婷婷色一区二区三区在线| 欧美一卡2卡三卡4卡5免费| 欧美日韩在线综合| 91成人在线免费观看| 91在线一区二区三区| www.av亚洲| 99久久er热在这里只有精品66| 国产成人午夜视频| 国产乱码字幕精品高清av| 久久99国产精品尤物| 久久成人免费电影| 韩国v欧美v日本v亚洲v| 国内久久婷婷综合| 国产精品自拍av| 成人美女视频在线看| 成人av在线影院| youjizz国产精品| 91精品91久久久中77777| 色视频欧美一区二区三区| 日本精品视频一区二区三区| 一本久久综合亚洲鲁鲁五月天| 色久综合一二码| 欧美四级电影网| 国产精品免费免费| 国产精品视频免费看| 亚洲天天做日日做天天谢日日欢 | 欧美xfplay| 精品国产网站在线观看| 2023国产一二三区日本精品2022| 久久久高清一区二区三区| 欧美国产精品一区二区三区| 亚洲欧美韩国综合色| 亚洲永久免费av| 美脚の诱脚舐め脚责91 | 欧美日韩精品一区二区| 欧美精品一卡二卡| 日韩精品中文字幕在线不卡尤物| 久久久综合视频| 亚洲欧美日韩在线| 蜜桃视频在线观看一区二区| 国产麻豆视频精品| 在线免费观看不卡av| 欧美电影免费提供在线观看| 中文字幕av一区 二区| 亚洲一卡二卡三卡四卡五卡| 久久国产精品色婷婷| 成人免费高清视频在线观看| 欧美日韩在线综合| 国产亚洲精久久久久久| 亚洲国产乱码最新视频 | 欧美日本一道本在线视频| 精品日韩在线一区| 亚洲精品日日夜夜| 麻豆精品一区二区三区| 99精品黄色片免费大全| 日韩欧美国产午夜精品| 一区精品在线播放| 蜜桃久久久久久| 91久久线看在观草草青青| 精品国产免费一区二区三区香蕉| 亚洲三级在线观看| 久草中文综合在线| 欧美视频一区二区三区四区| 久久婷婷综合激情| 视频一区视频二区中文字幕| 国产成人福利片| 欧美成人vps| 亚洲愉拍自拍另类高清精品| 大陆成人av片| 日韩欧美一区在线| 亚洲夂夂婷婷色拍ww47| 国产成人av电影在线观看| 欧美肥大bbwbbw高潮| 综合中文字幕亚洲| 国产福利一区二区| 日韩欧美一区二区在线视频| 一区二区三区.www| 懂色av中文字幕一区二区三区| 欧美一级日韩不卡播放免费| 夜夜精品浪潮av一区二区三区| 国产福利一区二区三区视频在线| 91精品国产综合久久香蕉的特点 | 美女在线观看视频一区二区| 在线一区二区三区做爰视频网站| 国产亚洲欧洲997久久综合| 日本成人在线不卡视频| 欧美日韩综合一区| 亚洲乱码中文字幕综合| gogo大胆日本视频一区| 国产视频一区二区在线观看| 美女视频黄频大全不卡视频在线播放| 欧美日韩美少妇| 艳妇臀荡乳欲伦亚洲一区| 99久久久免费精品国产一区二区| 国产亚洲1区2区3区| 极品美女销魂一区二区三区| 日韩欧美卡一卡二| 美洲天堂一区二卡三卡四卡视频| 欧美日韩夫妻久久| 亚洲高清免费一级二级三级| 在线视频综合导航| 亚洲国产一区二区a毛片| 在线亚洲一区观看| 伊人婷婷欧美激情| 欧美色精品天天在线观看视频| 亚洲综合免费观看高清在线观看| 欧美在线视频不卡| 亚洲综合激情网| 宅男噜噜噜66一区二区66| 日本不卡的三区四区五区| 在线综合+亚洲+欧美中文字幕| 琪琪一区二区三区| 日韩欧美一区在线观看| 国产乱码一区二区三区| 亚洲国产精品ⅴa在线观看| 91蜜桃在线免费视频| 一区二区国产视频| 欧美日韩三级一区| 蜜桃在线一区二区三区| 久久久亚洲精华液精华液精华液| 国产精品一区三区| 亚洲男人天堂av| 国产一区二区毛片| 18成人在线视频| 欧美日韩1区2区| 麻豆精品在线看| 中文字幕在线观看一区| 日本久久精品电影| 看片网站欧美日韩| 国产欧美精品一区二区色综合朱莉| 99久久精品国产麻豆演员表| 亚洲国产欧美在线| 久久综合网色—综合色88| 成人av免费在线播放|