General |
How do I run mikeBot under Windows 95?
What commands are supported?
What are all the internal flags and what do they do?
For help on getting the compiled version of mikeBot to run under Windows 95, please see the binary documentation. It also describes running mikeBot under Linux, SunOS and Solaris.I compiled mikeBot but he just stands there...!?The flags, config file and commands are all also described therein.
This source code is not complete mikeBot source. It is intended to be a base for your wizz-bang AI rountines, saving you the hassle of worrying about the network protocol. There are skeleton classes, namely mbnav and mbfire to help you, as well as tons of support classes, but you still have to write the AI :)Where should I put the .BSP files?Since version 0.40, mikeBot can load directly from the .PAK files, and the .PAK file path should be set into the qcs::strings hash table as pak-path. For example:note that the trailing '\' is needed, since the map-name as sent from the server is simply concatenated onto this string...... strings.set( "pak-path", "c:\quake\id1\" ); ...
Source-specific |
How do I get the map file-name?The map-file name is in qcs::modeltable[ 0 ]. It is also important to note that entitiy 0 is used for the level itself...I set mbf_target (or mbn_target) to an entity, but mikeBot doesn't aim/run at it...Even better, the virtual function qcs::changedLevel() is called with the level name as a parameter every time the level changes; simply override it.
mbotbase::mbf_target and mbotbase::mbn_target are only used by mbtalk in the code right now. To get the fire or nav system to aim at something, you must set mbfire::mbf_facing or mbnav::mbn_facing to the correct value. These are vectors which should be pointed at your target. For example, to target entity 6 with the firecontrol system:which is just like the end-minus-start formula for vectors from linear algebra...... mbf_facing = entities[ myEntityNumber ].origin - entities[ 6 ].origin; ...