Council Member / E[POD]bot developer
Status: Offline
Posts: 1,620
Join Date: Jul 2004
Location: Bulgaria
|
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.
|