Jak na BOTa pro Halflife (CS)?


Bot pro Halflife

Co je potřeba pro vývoj BOTa ?

Jak BOT pro Halflife funguje ?

Entity v Halflifu

Jak HL ví jaké DLL patří kterému modu ?

Inicializace vlastní hry

Struktura edict_t

Rady na závěr



Tipy pro úpravy bota pro Counter Strike

Archiv podbot26_src.zip

Soubor Readme_first.TXT

Jak PODBot obecně funguje ?

Jak PODBoti komunikují ?

Úkoly

Pohyb BOTa

Vlastnosti a dovednosti BOTa

Některé další užitečné funkce

bot_combat.cpp dll.cpp engine.cpp util.cpp

FAQ a HOWTO


Jak zadám BOTovi existující úkol?

bottask_t TempTask = {NULL,NULL,JMÉNO_ÚKOLU,PRIORITA_ÚKOLU,PARAMETR,ČAS,FALSE};
BotPushTask(pBot,&TempTask);


typedef struct bottask_s
{
bottask_s *pPreviousTask;
bottask_s *pNextTask;
int iTask; // Major Task/Action carried out
float fDesire; // Desire (filled in) for this Task
int iData; // Additional Data (Waypoint Index)
float fTime; // Time Task expires
bool bCanContinue; // If Task can be continued if interrupted
} bottask_t;


Jak implenetuji nový úkol pro BOTa?



Jak přinutím bota aby se na chvíli zastavil a ani se nepohnul?

pBot->f_move_speed = 0.0;
pBot->f_sidemove_speed = 0.0;
bottask_t TempTask = {NULL,NULL,TASK_PAUSE,TASKPRI_PAUSE,-1,gpGlobals->time+3.0,FALSE};
BotPushTask(pBot,&TempTask);


Jak přidám nový konzolový příkaz?


Jak se nechá něco vypsat do konzole?

UTIL_HostPrint(HUD_PRINTCONSOLE, řetězec);


Jak tady fungujou vektory?

Vector wpt_origin;        // Pozice Waypointu
Vector dest_origin;       // Pozice místa kam BOT směřuje
Vector vecPosition;       // Pozice cíle z úkolu TASK_MOVETOPOSITION
Vector vecDirWaypoint;    // Pozice dalšího waypointu