View Single Post
Re: Need some help for shield support
Old
  (#32)
The Storm
Council Member / E[POD]bot developer
 
The Storm's Avatar
 
Status: Offline
Posts: 1,620
Join Date: Jul 2004
Location: Bulgaria
Default Re: Need some help for shield support - 30-10-2004

Quote:
Code:
void BotBuyStuff(bot_t *pBot)
{
	char szMenuSelect[40];
	edict_t *pEdict = pBot->pEdict;

#ifdef DEBUG
	report_log (LOG_BOTBASE, "BotBuyStuff","Action=%d",pBot->BuyAction);
#endif
	// Needs a Weapon ?
	if((pBot->BuyAction == MSG_CS_BUYWEAPON_SELECT) 
		&& (pBot->f_buy_time+ RANDOM_LONG(1,6)/10)<gpGlobals->time)
	{
		pBot->BuyAction = MSG_CS_IDLE;
		if(pBot->pSelected_weapon == NULL || pBot->iBuyCount>1)
		{
#ifdef _DEBUG
			fp=fopen("PODERROR.txt","a"); fprintf(fp, "ERROR no Weapon selected: MSG_CS_BUYWEAPON_GROUPSELECT: %s - iBuyCount=%d\n",pBot->name,pBot->iBuyCount); fclose(fp);
#endif
			return;
		}
//		fp=fopen("bot.txt","a"); fprintf(fp, "MSG_CS_BUYWEAPON_GROUPSELECT: %s - iBuyCount=%d\n",pBot->name,pBot->iBuyCount); fclose(fp);
		pBot->iBuyCount = 2;
		pBot->f_buy_time=gpGlobals->time;
	
		sprintf(szMenuSelect,"%d",pBot->pSelected_weapon->iBuyGroup);
		FakeClientCommand(pEdict, "menuselect",szMenuSelect, NULL);
		return;
	}

	if((pBot->BuyAction == MSG_CS_WEAPONBUY) 
		&& (pBot->f_buy_time+(20-pBot->Ph)/5 + RANDOM_LONG(1,6)/5)<gpGlobals->time)
	{
		pBot->BuyAction = MSG_CS_IDLE;
		if((pBot->pSelected_weapon == NULL) || (pBot->iBuyCount != 2))
		{
			fp=fopen("bot.txt","a"); fprintf(fp, "ERROR no Weapon selected: MSG_CS_BUYWEAPON_PSSRM: %s - iBuyCount=%d\n",pBot->name,pBot->iBuyCount); fclose(fp);
			return;
		}
//		fp=fopen("bot.txt","a"); fprintf(fp, "MSG_CS_BUYWEAPON_PSSRM: %s - iBuyCount=%d\n",pBot->name,pBot->iBuyCount); fclose(fp);
		pBot->iBuyCount=3;
		pBot->f_buy_time=gpGlobals->time;

//		sprintf(szMenuSelect,"%d",pBot->pSelected_weapon->iBuySelect);
		// Whistler: changed this for CS 1.6
		if (g_bIsVersion16)
		{
			if (UTIL_GetTeam(pBot->pEdict) == 0) // terrorist
				sprintf(szMenuSelect,"%d",pBot->pSelected_weapon->iNewBuySelectT);
			else // CT
				sprintf(szMenuSelect,"%d",pBot->pSelected_weapon->iNewBuySelectCT);
		}
		else
			sprintf(szMenuSelect,"%d",pBot->pSelected_weapon->iBuySelect);

		FakeClientCommand(pEdict, "menuselect",szMenuSelect, NULL);
		BotPushMessageQueue(pBot,MSG_CS_BUY);
		return;
	}

	// Needs Ammo ?
	if((pBot->BuyAction==MSG_CS_BUYAMMO) 
		&& (pBot->f_buy_time+(20-pBot->Ph)/8)<gpGlobals->time)
	{
		
		pBot->BuyAction=MSG_CS_IDLE;
		if(BotHasPrimaryWeapon(pBot)==FALSE) // Pistol ?
			FakeClientCommand(pEdict, "menuselect","7", NULL);
		else
			FakeClientCommand(pEdict, "menuselect","6", NULL);
//		fp=fopen("bot.txt","a"); fprintf(fp, "MSG_CS_BUYAMMO: %s - iBuyCount=%d\n",pBot->name,pBot->iBuyCount); fclose(fp);
		pBot->iBuyCount=4;
		pBot->f_buy_time=gpGlobals->time;
		BotPushMessageQueue(pBot,MSG_CS_BUY);
		return;
}
Here is the code.
  
Reply With Quote