| @@ -0,0 +1,4 @@ | |||
| Windows Registry Editor Version 5.00 | |||
| [HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings] | |||
| "ValveKey"="5RP2E-EPH3K-BR3LG-KMGTE-FN8PY" | |||
| @@ -0,0 +1,50 @@ | |||
| ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ | |||
| ¥ _____ _ _____ _ _______ _ ______ _ _ ______ ¥ | |||
| ¥ | __ \(_)/ ____(_)__ __|/\ | | |___ / | \ | | ____| ¥ | |||
| ¥ | | | |_| | __ _ | | / \ | | / / ___ | \| | |__ ¥ | |||
| ¥ | | | | | | |_ | | | | / /\ \ | | / / / _ \| . ` | __| ¥ | |||
| ¥ | |__| | | |__| | | | |/ ____ \| |____ / /_| (_) | |\ | |____ ¥ | |||
| ¥ |_____/|_|\_____|_| |_/_/ \_\______/_____\___/|_| \_|______| ¥ | |||
| ¥ ¥ | |||
| ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ | |||
| ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» | |||
| º º | |||
| º C O U N T E R - S T R I K E 1.6 º | |||
| º ================================ º | |||
| º (22-11-2005) º | |||
| º º | |||
| º Release Notes: º | |||
| º - Newest version (original Steam-rip) º | |||
| º - Includes newest swds.dll º | |||
| º - No missing textures º | |||
| º - Original version (without any modifications) º | |||
| º - Included Emporio-Bots (the best ones available) º | |||
| º - Includes newest cracked Serverlist º | |||
| º º | |||
| º Special Thanks to: º | |||
| º - Valve for the game º | |||
| º - Emporio for cracked files and bots º | |||
| º - Camel for making the installer º | |||
| º º | |||
| ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | |||
| ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» | |||
| º º | |||
| º Supplied by DiGiTALZoNE. º | |||
| º º | |||
| º Visit our forum º | |||
| º º | |||
| º http://digitalzone.eu.tt º | |||
| º º | |||
| ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | |||
| ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» | |||
| º º | |||
| º Greetz: Odin º | |||
| º º | |||
| ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ | |||
| ¥¥ ¥¥ | |||
| ¥¥¥ ¥¥¥ | |||
| ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ | |||
| ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥ | |||
| @@ -0,0 +1,464 @@ | |||
| HLTV Documentation Version 3.1.1.1/4.1.1.1 | |||
| Content | |||
| ------------------------------------------------------------------------------- | |||
| 1. Overview | |||
| 2. Spectating Games | |||
| 3. HLTV Basics | |||
| 4. Broadcasting Games | |||
| 5. Recording HLTV demos | |||
| 6. Larger Broadcasts | |||
| 7. HLTV Configuration | |||
| 1. Overview | |||
| ------------------------------------------------------------------------------- | |||
| Half-Life TV offers the ability to have an unlimited number of spectators | |||
| watching online games. They can follow the game just like they would as | |||
| a spectator on the game server. Spectators are invisible to players and | |||
| can't interact with the running game in any way. Each spectator can choose | |||
| any view position or choose any player to track individually. To have the | |||
| most enjoyable spectating experience, spectators can enable the | |||
| Auto-Director mode. Then the camera is changed automatically so that only | |||
| interesting scenes are shown from a suitable viewpoint. Thus the spectator | |||
| can lean back and won't miss any relevant action. All the time, spectators | |||
| may communicate between each other using the standard HL chat system. | |||
| Most popular Half-Life MODs are supported like Counter-Strike, Team | |||
| Fortress Classic, Day of Defeat and many others. HLTV providers have full | |||
| control over their HLTV system, may change number of spectator slots, add | |||
| text messages or change the HLTV logo. The broadcast is delayed by a | |||
| customizable amount of time, by default 30 seconds. This ensures that the | |||
| playing teams can't use HLTV to get any usable information about their | |||
| opponents. Providing a single HLTV server for up to 100 spectators is an | |||
| easy task and doesn't need any changes in default configurations. | |||
| Installing a larger HLTV network for thousands of spectators needs some | |||
| more planning time and experience about required bandwidth and CPU/RAM | |||
| demands (see chapter 6). | |||
| 2. Spectating Games | |||
| ------------------------------------------------------------------------------- | |||
| To watch a HLTV game, start Half-Life, open the Multiplayer menu and select | |||
| 'Find Servers'. To search for currently broadcasted games, choose the | |||
| 'Spectate' section and hit 'Refresh All'. After the list has been updated, | |||
| double click on the server you want to spectate and you'll be connected. | |||
| If computer game leagues announce important matches to be broadcasted via | |||
| HLTV, they often provide IP:Port addresses of their HLTV servers. Instead | |||
| of searching them via the server browser, you can also go to the | |||
| 'Favorites' folder and add the HLTV address to your server list by pressing | |||
| the right mouse button. Otherwise, you can also open the console window and | |||
| use the 'connect' command to spectate a certain game. | |||
| For example: | |||
| connect 192.168.130.42:27020 | |||
| The default HLTV port number is 27020, but may be changed. It should always | |||
| be included in the given address, since commonly this port number is | |||
| different from the default port number 27015. | |||
| You can spectate the game in different modes: Chase Cam, First Person, Free | |||
| Look, Map Overview and Map Chase. The easiest way to change modes is to | |||
| press the JUMP key (default SPACE). Alternatively you can use the spectator | |||
| menu, which can be enabled by pressing the DUCK key (default CTRL). Here | |||
| you can customize your personal view style and enable the Auto-Director | |||
| Mode. Press USE (default E) to cycle through the different | |||
| Picture-In-Picture modes. | |||
| The following HL console commands can be used to customize spectator | |||
| settings: | |||
| spec_autodirector <0|1> - turns Auto Director mode on or off | |||
| spec_drawcone <0|1> - shows your view cone in map overview mode | |||
| spec_drawnames <0|1> - shows player names under their icons | |||
| spec_drawstatus <0|1> - shows game information (time, map etc) | |||
| spec_pip <0|1> - turns Picture-In-Picture mode on or off | |||
| spec_menu - opens the spectator menu | |||
| spec_help - shows a help screen | |||
| spec_mode <1-6> [<0-4>] - set the main view mode, seconds parameter is | |||
| the PIP mode. Not all combinations are valid. | |||
| Main modes are: | |||
| 1 : Locked Chase 2 : Free Chase | |||
| 3 : Free Roaming 4 : First Person | |||
| 5 : Map Overview 6 : Chase Map Overview | |||
| PIP modes are: | |||
| 0 : PIP off 1 : Free Chase | |||
| 2 : First Person 3 : Map Overview | |||
| 4 : Chase Map Overview | |||
| 3. HLTV Basics | |||
| ------------------------------------------------------------------------------- | |||
| The core of the HLTV broadcasting system is the HLTV server, also called | |||
| HLTV proxy. The HLTV executable is a console application that works much | |||
| like a HL dedicated server. To broadcast a game running on a certain game | |||
| server, the HLTV proxy connects to this server just like a normal player. | |||
| Spectators connect themselves to the HLTV proxy and the game data stream is | |||
| relayed through the HLTV proxy to all connected spectator clients. The next | |||
| figure shows a basic HLTV configuration: | |||
| HL Game Server -> HLTV Proxy => Spectator Clients | |||
| The number of clients that one HLTV proxy can serve depends on available | |||
| hardware and network resources. Theoretically, a single proxy can hold a | |||
| maximum of 255 spectator clients. But be careful, even a proxy with 100 | |||
| spectator clients needs a full 2 MBit line to run smoothly. If more | |||
| spectator slots are needed, the required network load must be distributed | |||
| over multiple HLTV proxies. | |||
| The first HLTV proxy connected to the game server is called the Master | |||
| proxy, which sets the general broadcast settings like game stream delay or | |||
| packet rate. All other HLTV proxies linked to this proxy are the Relay | |||
| proxies. Their total number and link order is not restricted, they may form | |||
| a chain or tree of proxies. Most important is that their location is in | |||
| different networks to ensure a balanced bandwidth usage. | |||
| -> HLTV Relay Proxy 1 => Spectator Clients | |||
| HL Game Server -> HLTV Master -> HLTV Relay Proxy 2 => Spectator Clients | |||
| -> HLTV Relay Proxy 3 => Spectator Clients | |||
| 4. Broadcasting Games | |||
| ------------------------------------------------------------------------------- | |||
| Let's assume the most simple configuration, a single HLTV proxy in a LAN | |||
| environment. This is a very common situation and the default HLTV settings | |||
| doesn't need to be changed. Choose a dedicated computer as your HLTV proxy | |||
| and install the Half-Life Dedicated Server, which also includes all files | |||
| needed by a HLTV proxy. This isn't needed if Half-Life is already | |||
| installed. | |||
| Start the HLTV application (HL icon with a small camera) and the HLTV | |||
| console will open, showing some initialization messages (if that takes a | |||
| long time, HLTV maybe can't resolve some IP addresses, then start HLTV | |||
| with the '-nodns' command line option). Then the console is ready to accept | |||
| your commands, here we use '>' as the console prompt. First give your HLTV | |||
| proxy an unique name: | |||
| >name "My HLTV Proxy" | |||
| Let's assume you have started the proxy on host 192.168.1.2 and the game | |||
| server, you want to spectate is running on host 192.168.1.3:27015. Then | |||
| connect the HLTV proxy to this game server by typing: | |||
| >connect 192.168.1.3:27015 | |||
| After a few seconds HLTV will be fully connected and ready to serve | |||
| spectator clients. Use the 'status' command to verify that the HLTV proxy | |||
| has connected properly : | |||
| >status | |||
| --- HLTV Status --- | |||
| Online 00:23, FPS 79.0, Version 2435 (Win32) | |||
| Local IP 192.168.1.2:27020, Network In 1.7, Out 1.0, Loss 0.00 | |||
| Local Slots 128, Spectators 0, Proxies 0 | |||
| Total Slots 128, Spectators 0, Proxies 1 | |||
| Source Game Server 192.168.1.3:27015, Delay 30 | |||
| Server Name "Half-Life dedicated server" | |||
| Time 01:35, Game "valve", Map "maps/rapidcore.bsp", Players 1 | |||
| The 'status' command shows your own IP address, HLTV system cycles per | |||
| second, total incoming and outgoing network traffic in kB/sec. Local slot | |||
| and spectator numbers your HLTV proxy is providing, total numbers are the | |||
| sum of all slots & spectators on all proxies broadcasting this game. The | |||
| game source can be a game server, another HLTV proxy or a demo file. | |||
| 5. Recording HLTV demos | |||
| ------------------------------------------------------------------------------- | |||
| HLTV demo files are like normal recorded games in Half-Life, but you can | |||
| choose any view point, view mode or player to chase during replay. To play | |||
| back a HLTV demo, a HLTV proxy is not needed. Just start Half-Life and type | |||
| in console "playdemo <demoname>" or "viewdemo <demoname>" (viewdemo offers | |||
| more options during playback like fast forward/backward, pause & | |||
| slowmotion). To record a HLTV demo, connect the proxy to a game server (see | |||
| last chapter) and type in console: | |||
| >record <name> | |||
| All games will be recorded after issuing this command. The demo files will | |||
| be saved in the current Mod directory, e.g. \cstrike. All demo files have a | |||
| special naming convention <name>-<YYMMDDhhmm>-<map>.dem, including the | |||
| given name, date/time and map name. Demo files record the same data as send | |||
| to spectator clients. That means also, the demo file records the game with | |||
| the same delay as used for spectators. To verify, that a demo file is | |||
| recorded use the "status" command. The recording may be stopped with | |||
| "stoprecording". | |||
| Sometimes a HLTV broadcast is not wanted and the HLTV proxy is only used | |||
| to record a demo file. In this case, some HLTV settings should be made to | |||
| gain optimal recording results: | |||
| >maxclients 0 // don't allow any spectator clients | |||
| >delay 0 // no game stream delay | |||
| >rate 10000 // maximum data rate | |||
| >updaterate 20 // standard update rate | |||
| >nomaster 1 // don't register at master servers | |||
| 6. Larger broadcasts | |||
| ------------------------------------------------------------------------------- | |||
| Setting up a HLTV network that can handle a larger number of spectators | |||
| (>1000) is a difficult and time consuming task. The following guide should | |||
| help to configure and run such a HLTV network. One of the most important | |||
| rule should be "Quality, not Quantity". It's better to offer a smaller | |||
| number of spectator slots, than operating at the maximum bandwidth limit, | |||
| thus all spectators would suffer from lags and timeouts. Check carefully | |||
| your available bandwidth capacity and calculate how many spectators can | |||
| be handled by your HLTV servers. The average bandwidth demand per spectator | |||
| is between 2 and 3 KB/sec and depends on the current mod, map and number of | |||
| players. CPU and RAM shouldn't be a bottleneck on modern PC systems. | |||
| This list for common Internet connection types gives a feeling, how | |||
| bandwidth demanding HLTV can be: | |||
| - ISDN 64 Kbps : 2 spectators | |||
| - DSL 128 Kbps (upstream) : 5 spectators | |||
| - T1 1.5 Mbps : 75 spectators | |||
| - LAN 10 Mbps : 500 spectators | |||
| - T3 75 Mbps : 4000 spectators | |||
| Use the "maxclients" command to set how many clients should be accepted by | |||
| a HLTV proxy. Make sure that the "maxrate" variable is set too a reasonable | |||
| value, e.g. 3500 kB/sec. Lower values are possible, but make sure spectators | |||
| don't get too much "choke" during a running game. The "maxrate" command | |||
| doesn't effect the bandwidth limit between HLTV proxies, only for spectator | |||
| clients. To lower the general bandwidth demand, you can turn off the | |||
| internal HLTV chat ("chatmode 0") or decrease the game update rate from the | |||
| default value 20 to 10 ("updaterate 10"). A lower update rate may save up | |||
| to 25% network traffic and is an acceptable tradeoff in this case since | |||
| spectators doesn't need a high update rate like real players does. | |||
| A very common setup for large broadcasts is to use 2 dedicated HLTV servers | |||
| to create a private and a public HLTV segment. Let's assume the game server | |||
| is in a closed LAN and not accessible from outside. This ensures a maximum | |||
| security against attacks (DOS etc) from outside. The HLTV master server is | |||
| started within the LAN and it's IP address should be kept secret. The | |||
| second HLTV server is started outside the LAN with a global IP and is | |||
| connected to the HLTV master server. This second HLTV server is the public | |||
| HLTV dispatcher, which IP address is given to the audience. Any relay | |||
| proxies are connected to this HLTV dispatcher. Thus the HLTV master server | |||
| is in a secure LAN environment and can be used for demo recording or for | |||
| HL clients serving video projectors. Spectators connect to the HLTV | |||
| dispatcher and are relayed through the HLTV network to a relay proxy with | |||
| a low usage. Thus the total network load is balanced between all connected | |||
| HLTV proxies. | |||
| +---- Private LAN -----+ +------ Public Internet --------+ | |||
| -> HLTV Proxy 1 | |||
| HL Server -> HLTV Master -> HLTV Dispatcher -> HLTV Proxy 2 | |||
| -> HLTV Proxy 3 | |||
| The configuration files of HLTV master and HLTV dispatcher are different: | |||
| master.cfg: | |||
| nomaster 1 // don't register at WON master servers | |||
| proxypassword MyPWD // protect HLTV server | |||
| publicgame 0 // don't show game server IP | |||
| dispatchmode 0 // don't dispatch spectators | |||
| dispatcher.cfg: | |||
| forcemaster 1 // register at WON master servers | |||
| publicgame 0 // don't show game server IP | |||
| dispatchmode 2 // dispatch all clients to other proxies | |||
| hostname MyGame // public HLTV server name | |||
| If you're running 3 or more HLTV servers in total, it's a good idea to | |||
| use RCON to manage them via a single server admin tool. To enable RCON | |||
| on a HLTV server an "adminpassword" must been set. Also "proxypassword" | |||
| should be set to ensure only known HLTV providers can connect to your | |||
| HLTV network. Otherwise anybody can connect with slow HLTV proxies and | |||
| disturb your network load balancing. | |||
| 7. HLTV Configuration | |||
| ------------------------------------------------------------------------------- | |||
| A short note about console command syntax. A command description follows | |||
| the following notation: | |||
| command <parameter> [<parameter>] - description | |||
| A command may have one or more parameters. Parameters in brackets [] are | |||
| optional. Common used parameters are : | |||
| <string> : text, must be in quotes if text contains spaces "My Name" | |||
| <n> : a whole number, e.g. 42 | |||
| <f> : a floating point number, e.g. 4.2 | |||
| <IP:Port> : an IP address, e.g. 192.168.130.42:27020 | |||
| <a|b|c> : a set of options, a or b or c | |||
| Note, any of these special characters <, >, |, [ or ] are not part of the | |||
| final command as typed in the console. Lots of these commands are boolean | |||
| switches, were 1 is meaning ON and 0 is respectively OFF. | |||
| connect <IP:Port> - connect HLTV proxy to game server (default port 27015) | |||
| disconnect - disconnects proxy from server, but doesn't stop the | |||
| broadcast. All spectator clients stay connected. | |||
| stop [<text>] - disconnects from server, disconnects all clients and | |||
| stops demo recording. Optional goodbye message. | |||
| quit - quits the HLTV process | |||
| retry - retries the last server connection | |||
| autoretry <0|1> - if enabled, proxy will retry connection to server if | |||
| connection was interrupted for any reason | |||
| name <text> - sets the HLTV proxy scoreboard name | |||
| hostname <text> - sets the HLTV host name for game browser list | |||
| serverpassword <text> - sets the game server password | |||
| adminpassword <text> - sets password for RCON & commentator | |||
| proxypassword <text> - sets password for other relay proxies | |||
| spectatorpassword <text> - sets spectator password. Will also exclude | |||
| proxy from global load balancing | |||
| clients - lists connected spectator clients | |||
| proxies - lists connected relay proxies | |||
| players - lists players on game server | |||
| kick <ID> - kicks a spectator client from proxy | |||
| bann <IP> - banns an IP address (completely ignored) | |||
| clearbanns - removes all IPs from bann list | |||
| say <text> - sends a text message to game server (chat with players) | |||
| msg <text> [<duration> <pos x> <pos y> <color hex rgba>] | |||
| - sends a text message to all spectators as big HUD text | |||
| localmsg <text> [<duration> <pos x> <pos y> <color hex rgba>] | |||
| - same as msg, but only seen by local clients | |||
| servercmd <string> - forwards console command to game server | |||
| clientcmd <group> <string> - forwards a console command to all clients of | |||
| given group: 1=spectators, 2=proxies, 3=all | |||
| loopcmd <id> <n> <string> - loopcmd will execute <string> every <n> | |||
| seconds. <id> is a number between 1 and 64 to | |||
| identify this loopcmd. "loopcmd <id> none" | |||
| will disable a looping command again. loopcmd | |||
| without any parameter will list any command | |||
| currently in the list. | |||
| signoncommands <string> - console commands that will be executed by | |||
| local spectator clients after connection is | |||
| established. Commands may be separated by | |||
| semicolons. | |||
| maxclients <n> - set spectator number limit for this proxy (default 128) | |||
| delay <n> - delays the game stream for n seconds on the Master Proxy. | |||
| The default value is 30 seconds to avoid cheating. If the | |||
| delay is set to a value below 10 seconds (e.g. 0), the | |||
| auto director function will be disabled. | |||
| rate <n> - bandwidth rate the game server sends data to the proxy | |||
| updaterate <n> - game updates per seconds send from server to proxy | |||
| maxrate <n> - sets the maximum bandwidth rate for spectator clients | |||
| maxloss <f> - sets the acceptable packet loss rate, default | |||
| value is 0.05 (5%). If packet loss is higher, new | |||
| spectator clients will be rejected. | |||
| maxqueries <n> - maximum of status queries per second requested by server | |||
| browsers | |||
| dispatchmode <0|1|2> - Dispatch mode 1 (AUTO) will redirect connecting | |||
| clients to other proxies balancing work load between | |||
| all proxies. In dispatch mode 2 (ALWAYS) any | |||
| spectator clients will be redirected, so this proxy | |||
| serves only as dispatcher. Dispatch mode 0 (OFF) | |||
| won't redirect any clients. | |||
| publicgame <0|1> - if public is 1, game server IP will be visible to | |||
| spectators and 'joingame' is allowed. | |||
| offlinetext <string> - info text clients will see as reject reason if HLTV | |||
| isn't broadcasting yet | |||
| chatmode <0|1|2> - if chatmode is 0, spectators can't chat. If set to 1, | |||
| only spectators connected to the same proxy can see | |||
| their chat messages. In chatmode 2 all spectators | |||
| can chat between each other (then Master and all | |||
| Relay proxies must have set chatmode 2). | |||
| bannerfile <file> - specifies a TGA file (RGBA) that will be shown as | |||
| logo in spectator GUI. | |||
| ping <host:port> - pings a HL server on the given port (default 27015) | |||
| nomaster <0|1> - if enabled, proxy won't register at WON master | |||
| servers | |||
| forcemaster <0|1> - if enabled, proxy will register at WON master server | |||
| heartbeat - sends manually a status packet to WON master servers | |||
| region <n> - set the region your HLTV proxy is located in | |||
| rcon <string> - sends a remote control command to other servers | |||
| rconaddress <IP:Port> - sets the remote control target address | |||
| rconpassword <string> - sets the password for the remote controlled host | |||
| cheeringthreshold <f> - number of cheering players must be above this | |||
| threshold to play the cheering sound (by default 0.25). | |||
| blockvoice <0|1> - if set, all incoming voice data is blocked. This is | |||
| useful to override incoming voice commentators or | |||
| player voice with own commentators voice. | |||
| cmdlist - shows all registered proxy commands | |||
| logfile <0|1> - starts/stops console logging in "logfile<date>.log" | |||
| status - shows proxy status information | |||
| modules - shows all loaded HLTV modules and versions | |||
| exec <filename> - executes a .cfg file | |||
| echo <string> - prints a text to HLTV console | |||
| developer <0|1> - additional debug messages are shown in developer mode | |||
| record <filename> - records all following games to demo files using name | |||
| syntax "filename-<date>-<map>.dem" | |||
| stoprecording - stops recording a demo file | |||
| playdemo <filename> - starts broadcasting a demo file | |||
| The console does auto-completion by hitting 'TAB'. All commands in the | |||
| config file "hltv.cfg" are executed during startup. | |||
| Some parameters can only be set in the command line: | |||
| -port <n> - sets the HLTV proxy port that spectators connect to | |||
| (default 27020) | |||
| -ip <IP> - forces the proxy to use this IP on a multihomed host | |||
| -comm <filename> - sets a master server info file other than woncomm.lst | |||
| -nodns - disables any DNS resolving (useful for LAN proxies) | |||
| -maxfps <n> - sets maximum system cycles per seconds (default 100) | |||
| -highpriority - starts the HLTV proxy as high priority process | |||
| -steam - proxy enables special Steam support | |||
| -dev - developer mode | |||
| These parameters cannot be changed during runtime, thus they can't be used | |||
| in config files. | |||
| All console commands can be used in the command line, if a "+" is prepended | |||
| to them, for example: | |||
| hltv.exe +connect localhost:27015 -port 27021 | |||
| A Half-Life server can set sv_proxies <n>, to determine how many proxies | |||
| are allowed to connect. If HLTV proxies should be forbidden, set it to 0, | |||
| otherwise 1 to allow for a Master Proxy. Other values are experimental. | |||
| ------------------------------------------------------------------------------- | |||
| For HLTV news, updates and help visit http://hltv.valve-erc.com | |||
| Copyright (2003 Valve LLC.) | |||
| @@ -0,0 +1,859 @@ | |||
| //---------------------------------------------------------------------------- | |||
| // BotCampaignProfile.db | |||
| // Author: Michael S. Booth, Turtle Rock Studios (www.turtlerockstudios.com) | |||
| // | |||
| // This database defines all of the bot "personalities" that are used | |||
| // in the CZ Campaign. | |||
| // | |||
| //---------------------------------------------------------------------------- | |||
| // | |||
| // All profiles begin with this data and overwrite their own | |||
| // | |||
| Default | |||
| Skill = 50 | |||
| Aggression = 50 | |||
| ReactionTime = 0.3 | |||
| AttackDelay = 0 | |||
| Teamwork = 75 | |||
| WeaponPreference = none | |||
| Cost = 0 | |||
| Difficulty = NORMAL | |||
| VoicePitch = 100 | |||
| Skin = 0 | |||
| End | |||
| //---------------------------------------------------------------------------- | |||
| // | |||
| // These templates inherit from Default and override with their values | |||
| // The name of the template defines a type that is used by individual bot profiles | |||
| // | |||
| // weapon preference templates | |||
| Template Rifle | |||
| WeaponPreference = m4a1 | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template RifleT | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = m4a1 | |||
| WeaponPreference = galil | |||
| WeaponPreference = famas | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Punch | |||
| WeaponPreference = aug | |||
| WeaponPreference = sg552 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Sniper | |||
| WeaponPreference = awp | |||
| WeaponPreference = sg550 | |||
| WeaponPreference = g3sg1 | |||
| WeaponPreference = scout | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Power | |||
| WeaponPreference = m249 | |||
| WeaponPreference = xm1014 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Shotgun | |||
| WeaponPreference = xm1014 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Shield | |||
| WeaponPreference = shield | |||
| WeaponPreference = m4a1 // in case shield is disallowed | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Spray | |||
| WeaponPreference = p90 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = mac10 | |||
| WeaponPreference = mp5 | |||
| End | |||
| // skill templates | |||
| Template Elite | |||
| Skill = 100 | |||
| Aggression = 100 | |||
| ReactionTime = 0.2 | |||
| Cost = 4 | |||
| Difficulty = EXPERT | |||
| VoicePitch = 85 | |||
| End | |||
| Template Expert | |||
| Skill = 90 | |||
| Aggression = 90 | |||
| ReactionTime = 0.2 | |||
| Cost = 4 | |||
| Difficulty = EXPERT | |||
| VoicePitch = 88 | |||
| End | |||
| Template VeryHard | |||
| Skill = 80 | |||
| Aggression = 80 | |||
| ReactionTime = 0.25 | |||
| Cost = 3 | |||
| Difficulty = HARD | |||
| VoicePitch = 92 | |||
| End | |||
| Template Hard | |||
| Skill = 75 | |||
| Aggression = 75 | |||
| ReactionTime = 0.25 | |||
| Cost = 3 | |||
| Difficulty = HARD | |||
| VoicePitch = 94 | |||
| End | |||
| Template Tough | |||
| Skill = 60 | |||
| Aggression = 60 | |||
| ReactionTime = 0.3 // 0.2 - 0.4 | |||
| AttackDelay = 0.35 // 0.3 - 0.4 | |||
| Cost = 2 | |||
| Difficulty = NORMAL+HARD | |||
| VoicePitch = 96 | |||
| End | |||
| Template Normal | |||
| Skill = 50 | |||
| Aggression = 50 | |||
| ReactionTime = 0.4 // 0.2 - 0.4 | |||
| AttackDelay = 0.7 // 0.3 - 0.4 | |||
| Cost = 2 | |||
| Difficulty = NORMAL | |||
| End | |||
| Template Fair | |||
| Skill = 25 | |||
| Aggression = 30 | |||
| ReactionTime = 0.4 // 0.25 - 0.5 | |||
| AttackDelay = 1.0 // 1.0 - 1.5f | |||
| Cost = 1 | |||
| Difficulty = EASY+NORMAL | |||
| VoicePitch = 105 | |||
| End | |||
| Template Easy | |||
| Skill = 0 | |||
| Aggression = 20 | |||
| ReactionTime = 0.5 // 0.25 - 0.5 | |||
| AttackDelay = 1.5 // 1.0 - 1.5f | |||
| Cost = 1 | |||
| Difficulty = EASY | |||
| VoicePitch = 110 | |||
| End | |||
| //-------------------------------------------------------------------------------------------------------- | |||
| // | |||
| // Teammates for career mode | |||
| // | |||
| //------------------------------------------- | |||
| // Cost 1 | |||
| Fair Cooper | |||
| Cost = 1 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = fn57 | |||
| WeaponPreference = deagle | |||
| WeaponPreference = p228 | |||
| Teamwork = 100 | |||
| Aggression = 0 | |||
| Skin = 3 | |||
| VoicePitch = 115 | |||
| End | |||
| Fair Floyd | |||
| Cost = 1 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = fn57 | |||
| WeaponPreference = deagle | |||
| WeaponPreference = p228 | |||
| Teamwork = 50 | |||
| Aggression = 50 | |||
| Skin = 2 | |||
| VoicePitch = 113 | |||
| End | |||
| Fair Kenny | |||
| Cost = 1 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = deagle | |||
| WeaponPreference = p228 | |||
| Teamwork = 75 | |||
| Aggression = 75 | |||
| Skin = 2 | |||
| VoicePitch = 120 | |||
| End | |||
| Fair Morris | |||
| Cost = 1 | |||
| WeaponPreference = p90 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = deagle | |||
| Teamwork = 50 | |||
| Aggression = 50 | |||
| Skin = 4 | |||
| VoicePitch = 111 | |||
| End | |||
| Easy Stanley | |||
| Cost = 1 | |||
| WeaponPreference = p90 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = deagle | |||
| Teamwork = 0 | |||
| Aggression = 100 | |||
| Skin = 1 | |||
| VoicePitch = 90 | |||
| End | |||
| Easy Vern | |||
| Cost = 1 | |||
| WeaponPreference = mp5 | |||
| Teamwork = 100 | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| VoicePitch = 103 | |||
| End | |||
| Easy Quincy | |||
| Cost = 1 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| Teamwork = 75 | |||
| Aggression = 50 | |||
| Skin = 1 | |||
| VoicePitch = 98 | |||
| End | |||
| Easy Gus | |||
| Cost = 1 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = p228 | |||
| Teamwork = 50 | |||
| Aggression = 100 | |||
| Skin = 4 | |||
| VoicePitch = 107 | |||
| End | |||
| //------------------------------------------- | |||
| // Cost 2 | |||
| Tough Ben | |||
| Cost = 2 | |||
| WeaponPreference = famas | |||
| WeaponPreference = p90 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = fn57 | |||
| WeaponPreference = deagle | |||
| WeaponPreference = p228 | |||
| Teamwork = 50 | |||
| Aggression = 75 | |||
| Skin = 4 | |||
| VoicePitch = 86 | |||
| End | |||
| Tough Eddie | |||
| Cost = 2 | |||
| WeaponPreference = scout | |||
| WeaponPreference = tmp | |||
| WeaponPreference = fn57 | |||
| Teamwork = 0 | |||
| Aggression = 0 | |||
| Skin = 2 | |||
| VoicePitch = 115 | |||
| End | |||
| Tough Kent | |||
| Cost = 2 | |||
| WeaponPreference = famas | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = deagle | |||
| Teamwork = 25 | |||
| Aggression = 90 | |||
| Skin = 1 | |||
| VoicePitch = 95 | |||
| End | |||
| Tough Oscar | |||
| Cost = 2 | |||
| WeaponPreference = famas | |||
| WeaponPreference = p90 | |||
| WeaponPreference = mp5 | |||
| Teamwork = 90 | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| VoicePitch = 90 | |||
| End | |||
| Tough Phil | |||
| Cost = 2 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = deagle | |||
| WeaponPreference = p228 | |||
| Teamwork = 75 | |||
| Aggression = 50 | |||
| Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| Normal Leon | |||
| Cost = 2 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = fn57 | |||
| Teamwork = 90 | |||
| Aggression = 50 | |||
| Skin = 1 | |||
| VoicePitch = 105 | |||
| End | |||
| Normal Pete | |||
| Cost = 2 | |||
| WeaponPreference = p90 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = deagle | |||
| Teamwork = 75 | |||
| Aggression = 75 | |||
| Skin = 3 | |||
| VoicePitch = 110 | |||
| End | |||
| Normal Roger | |||
| Cost = 2 | |||
| WeaponPreference = xm1014 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = ump45 | |||
| WeaponPreference = mp5 | |||
| WeaponPreference = tmp | |||
| Teamwork = 50 | |||
| Aggression = 90 | |||
| Skin = 4 | |||
| VoicePitch = 88 | |||
| End | |||
| //------------------------------------------- | |||
| // Cost 3 | |||
| Elite+RifleT Maverick | |||
| Cost = 3 // cheaper because he doesn't listen at all | |||
| Teamwork = 0 | |||
| Aggression = 100 | |||
| Skin = 3 | |||
| VoicePitch = 98 | |||
| End | |||
| Hard+Power Cole | |||
| Cost = 3 | |||
| Teamwork = 75 | |||
| Aggression = 75 | |||
| Skin = 4 | |||
| VoicePitch = 88 | |||
| End | |||
| Hard+Spray Igor | |||
| Cost = 3 | |||
| Teamwork = 90 | |||
| Aggression = 25 | |||
| Skin = 1 | |||
| VoicePitch = 120 | |||
| End | |||
| Hard+Rifle Larry | |||
| Cost = 3 | |||
| Teamwork = 50 | |||
| Aggression = 90 | |||
| Skin = 2 | |||
| VoicePitch = 94 | |||
| End | |||
| Hard+Shotgun Ray | |||
| Cost = 3 | |||
| Teamwork = 75 | |||
| Aggression = 100 | |||
| Skin = 3 | |||
| VoicePitch = 110 | |||
| End | |||
| Hard+Rifle Sam | |||
| Cost = 3 | |||
| Teamwork = 90 | |||
| Aggression = 50 | |||
| SKin = 1 | |||
| VoicePitch = 90 | |||
| End | |||
| Hard+Shield Travis | |||
| Cost = 3 | |||
| Teamwork = 75 | |||
| Aggression = 75 | |||
| Skin = 4 | |||
| VoicePitch = 100 | |||
| End | |||
| Normal+Sniper Kirk | |||
| Cost = 3 | |||
| Aggression = 0 | |||
| Teamwork = 25 | |||
| VoicePitch = 105 | |||
| Skin = 2 | |||
| End | |||
| //------------------------------------------- | |||
| // Cost 4 | |||
| Hard+Sniper Alex | |||
| Cost = 4 | |||
| Aggression = 0 | |||
| Teamwork = 80 | |||
| VoicePitch = 100 | |||
| Skin = 1 | |||
| End | |||
| Expert+Shield Brent | |||
| Cost = 4 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| VoicePitch = 90 | |||
| Skin = 4 | |||
| End | |||
| Expert+Punch Jake | |||
| Cost = 4 | |||
| Aggression = 50 | |||
| Teamwork = 80 | |||
| VoicePitch = 87 | |||
| Skin = 1 | |||
| End | |||
| Expert+RifleT Tex | |||
| Cost = 4 | |||
| Aggression = 80 | |||
| Teamwork = 50 | |||
| VoicePitch = 92 | |||
| Skin = 3 | |||
| End | |||
| Expert+Power Lou | |||
| Cost = 4 | |||
| Aggression = 75 | |||
| Teamwork = 80 | |||
| VoicePitch = 82 | |||
| Skin = 4 | |||
| End | |||
| Expert+Rifle Ace | |||
| Cost = 4 | |||
| Aggression = 50 | |||
| Teamwork = 25 | |||
| Skin = 1 | |||
| VoicePitch = 95 | |||
| End | |||
| Expert+Spray Rooster | |||
| Cost = 4 | |||
| Aggression = 75 | |||
| Teamwork = 80 | |||
| Skin = 2 | |||
| VoicePitch = 105 | |||
| End | |||
| //------------------------------------------- | |||
| // Cost 5 | |||
| Elite+Sniper Eagle | |||
| Cost = 5 | |||
| Aggression = 50 | |||
| Teamwork = 100 | |||
| Skin = 4 | |||
| VoicePitch = 108 | |||
| End | |||
| Elite+Spray Sandman | |||
| Cost = 5 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| Skin = 4 | |||
| VoicePitch = 84 | |||
| End | |||
| Elite+Rifle Barney | |||
| Cost = 5 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| Elite+RifleT Steel | |||
| Cost = 5 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| Skin = 2 | |||
| VoicePitch = 90 | |||
| End | |||
| Elite+Punch Duke | |||
| Cost = 5 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| Skin = 1 | |||
| VoicePitch = 92 | |||
| End | |||
| Elite+Power Bear | |||
| Cost = 5 | |||
| Aggression = 100 | |||
| Teamwork = 100 | |||
| Skin = 3 | |||
| VoicePitch = 82 | |||
| End | |||
| //-------------------------------------------------------------------------------------------------------- | |||
| // | |||
| // Terrorist enemies | |||
| // Reserve skin #3 for snipers | |||
| // | |||
| Easy Weasel | |||
| WeaponPreference = scout | |||
| Aggression = 0 | |||
| Skin = 3 | |||
| End | |||
| Easy Lunatic | |||
| WeaponPreference = m4a1 // kind of a hack - give him a weapon he cant buy so he uses pistols | |||
| WeaponPreference = elites | |||
| Aggression = 100 | |||
| Skin = 4 | |||
| End | |||
| Easy Crackpot | |||
| WeaponPreference = ump45 | |||
| Aggression = 50 | |||
| Skin = 2 | |||
| End | |||
| Easy Outcast | |||
| WeaponPreference = mac10 | |||
| Aggression = 100 | |||
| Skin = 2 | |||
| End | |||
| //------------------------------------------- | |||
| Fair Madman | |||
| WeaponPreference = mac10 | |||
| Aggression = 100 | |||
| Skin = 1 | |||
| End | |||
| Fair Rat | |||
| WeaponPreference = mp5 | |||
| Aggression = 0 | |||
| Skin = 4 | |||
| End | |||
| Fair Screech | |||
| WeaponPreference = p90 | |||
| Aggression = 50 | |||
| End | |||
| Fair Worm | |||
| WeaponPreference = mp5 | |||
| Aggression = 50 | |||
| Skin = 4 | |||
| End | |||
| Fair Splinter | |||
| WeaponPreference = scout | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| End | |||
| //------------------------------------------- | |||
| Normal+RifleT Freak | |||
| Aggression = 50 | |||
| Skin = 2 | |||
| End | |||
| Normal+Spray Maniac | |||
| Aggression = 100 | |||
| Skin = 4 | |||
| End | |||
| Normal+Sniper Psycho | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| End | |||
| //------------------------------------------- | |||
| Tough+RifleT Rebel | |||
| Aggression = 50 | |||
| Skin = 4 | |||
| End | |||
| Tough+Rifle Fiend | |||
| Aggression = 100 | |||
| Skin = 1 | |||
| End | |||
| Tough+Rifle Vandal | |||
| Aggression = 0 | |||
| Skin = 2 | |||
| End | |||
| //------------------------------------------- | |||
| Hard+Sniper Razor | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| End | |||
| Hard+Spray Bandit | |||
| Aggression = 0 | |||
| Skin = 4 | |||
| End | |||
| Hard+Rifle Raider | |||
| Aggression = 50 | |||
| Skin = 1 | |||
| End | |||
| Hard+RifleT Blade | |||
| Aggression = 100 | |||
| Skin = 2 | |||
| End | |||
| //------------------------------------------- | |||
| VeryHard+Sniper Nails | |||
| Aggression = 25 | |||
| Skin = 3 | |||
| End | |||
| VeryHard+Power Hammer | |||
| Aggression = 50 | |||
| Skin = 4 | |||
| End | |||
| VeryHard+Power Crank | |||
| Aggression = 0 | |||
| Skin = 2 | |||
| End | |||
| VeryHard+RifleT Cutter | |||
| Aggression = 50 | |||
| Skin = 1 | |||
| End | |||
| VeryHard+RifleT Fanatic | |||
| Aggression = 100 | |||
| Skin = 2 | |||
| End | |||
| //------------------------------------------- | |||
| Expert+Spray Hyena | |||
| Aggression = 50 | |||
| Skin = 2 | |||
| End | |||
| Expert+Power Wolfhound | |||
| Aggression = 100 | |||
| Skin = 4 | |||
| End | |||
| Expert+Rifle Panther | |||
| Aggression = 100 | |||
| Skin = 1 | |||
| End | |||
| Expert+Sniper Crow | |||
| Aggression = 50 | |||
| Skin = 3 | |||
| End | |||
| //------------------------------------------- | |||
| Elite+Spray Jackal | |||
| Aggression = 100 | |||
| Teamwork = 95 | |||
| Skin = 4 | |||
| End | |||
| Elite+Sniper Hawk | |||
| Aggression = 50 | |||
| Teamwork = 50 | |||
| Skin = 3 | |||
| End | |||
| Elite+RifleT Spider | |||
| Aggression = 0 | |||
| Teamwork = 95 | |||
| Skin = 1 | |||
| End | |||
| Elite+RifleT Snake | |||
| Aggression = 100 | |||
| Teamwork = 5 | |||
| Skin = 2 | |||
| End | |||
| @@ -0,0 +1,840 @@ | |||
| //---------------------------------------------------------------------------- | |||
| // BotProfile.db | |||
| // Author: Michael S. Booth, Turtle Rock Studios (www.turtlerockstudios.com) | |||
| // | |||
| // This database defines bot "personalities". | |||
| // Feel free to edit it and define your own bots. | |||
| // | |||
| //---------------------------------------------------------------------------- | |||
| // | |||
| // All profiles begin with this data and overwrite their own | |||
| // | |||
| Default | |||
| Skill = 50 | |||
| Aggression = 50 | |||
| ReactionTime = 0.3 | |||
| AttackDelay = 0 | |||
| Teamwork = 75 | |||
| WeaponPreference = none | |||
| Cost = 0 | |||
| Difficulty = NORMAL | |||
| VoicePitch = 100 | |||
| Skin = 0 | |||
| End | |||
| //---------------------------------------------------------------------------- | |||
| // | |||
| // These templates inherit from Default and override with their values | |||
| // The name of the template defines a type that is used by individual bot profiles | |||
| // | |||
| // weapon preference templates | |||
| Template Rifle | |||
| WeaponPreference = m4a1 | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template RifleT | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = m4a1 | |||
| WeaponPreference = galil | |||
| WeaponPreference = famas | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Punch | |||
| WeaponPreference = aug | |||
| WeaponPreference = sg552 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template PunchT | |||
| WeaponPreference = aug | |||
| WeaponPreference = sg552 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Sniper | |||
| WeaponPreference = awp | |||
| WeaponPreference = sg550 | |||
| WeaponPreference = g3sg1 | |||
| WeaponPreference = scout | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Power | |||
| WeaponPreference = m249 | |||
| WeaponPreference = xm1014 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Shotgun | |||
| WeaponPreference = xm1014 | |||
| WeaponPreference = m3 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Shield | |||
| WeaponPreference = shield | |||
| WeaponPreference = m4a1 // in case shield is disallowed | |||
| WeaponPreference = ak47 | |||
| WeaponPreference = famas | |||
| WeaponPreference = galil | |||
| WeaponPreference = mp5 | |||
| End | |||
| Template Spray | |||
| WeaponPreference = p90 | |||
| WeaponPreference = tmp | |||
| WeaponPreference = mac10 | |||
| WeaponPreference = mp5 | |||
| End | |||
| // skill templates | |||
| Template Elite | |||
| Skill = 100 | |||
| Aggression = 100 | |||
| ReactionTime = 0.2 | |||
| Cost = 4 | |||
| Difficulty = EXPERT | |||
| VoicePitch = 85 | |||
| End | |||
| Template Expert | |||
| Skill = 90 | |||
| Aggression = 90 | |||
| ReactionTime = 0.2 | |||
| Cost = 4 | |||
| Difficulty = EXPERT | |||
| VoicePitch = 88 | |||
| End | |||
| Template VeryHard | |||
| Skill = 80 | |||
| Aggression = 80 | |||
| ReactionTime = 0.25 | |||
| Cost = 3 | |||
| Difficulty = HARD | |||
| VoicePitch = 92 | |||
| End | |||
| Template Hard | |||
| Skill = 75 | |||
| Aggression = 75 | |||
| ReactionTime = 0.25 | |||
| Cost = 3 | |||
| Difficulty = HARD | |||
| VoicePitch = 94 | |||
| End | |||
| Template Tough | |||
| Skill = 60 | |||
| Aggression = 60 | |||
| ReactionTime = 0.3 | |||
| AttackDelay = 0.35 | |||
| Cost = 2 | |||
| Difficulty = NORMAL+HARD | |||
| VoicePitch = 96 | |||
| End | |||
| Template Normal | |||
| Skill = 50 | |||
| Aggression = 50 | |||
| ReactionTime = 0.4 | |||
| AttackDelay = 0.7 | |||
| Cost = 2 | |||
| Difficulty = NORMAL | |||
| End | |||
| Template Fair | |||
| Skill = 25 | |||
| Aggression = 30 | |||
| ReactionTime = 0.4 | |||
| AttackDelay = 1.0 | |||
| Cost = 1 | |||
| Difficulty = EASY+NORMAL | |||
| VoicePitch = 105 | |||
| End | |||
| Template Easy | |||
| Skill = 0 | |||
| Aggression = 20 | |||
| ReactionTime = 0.5 | |||
| AttackDelay = 1.5 | |||
| Cost = 1 | |||
| Difficulty = EASY | |||
| VoicePitch = 110 | |||
| End | |||
| //---------------------------------------------------------------------------- | |||
| // | |||
| // These are the individual bot profiles, which inherit first from | |||
| // Default and then the specified Template(s), in order | |||
| // | |||
| Elite+Rifle MaddoxX | |||
| //~Skin = 5 | |||
| VoicePitch = 95 | |||
| End | |||
| Elite+Spray Minh | |||
| //~Skin = 2 | |||
| VoicePitch = 105 | |||
| End | |||
| Elite+Shotgun Crusher | |||
| //~Skin = 4 | |||
| VoicePitch = 84 | |||
| End | |||
| Elite+Punch Pheonix | |||
| //~Skin = 5 | |||
| VoicePitch = 110 | |||
| End | |||
| Elite+Power Rock | |||
| //~Skin = 2 | |||
| VoicePitch = 80 | |||
| End | |||
| Elite+PunchT Shark | |||
| //~Skin = 4 | |||
| VoicePitch = 90 | |||
| End | |||
| Elite+Rifle Wolf | |||
| //~Skin = 2 | |||
| VoicePitch = 98 | |||
| End | |||
| Elite+RifleT Gunner | |||
| //~Skin = 1 | |||
| VoicePitch = 96 | |||
| End | |||
| Elite+Sniper Zed | |||
| //~Skin = 3 | |||
| VoicePitch = 105 | |||
| End | |||
| Elite+RifleT Steel | |||
| //~Skin = 5 | |||
| VoicePitch = 84 | |||
| End | |||
| Elite+PunchT Stone | |||
| //~Skin = 4 | |||
| VoicePitch = 86 | |||
| End | |||
| //---------------------------------------- | |||
| Expert+RifleT Arnold | |||
| VoicePitch = 85 | |||
| End | |||
| Expert+Rifle Brett | |||
| VoicePitch = 100 | |||
| End | |||
| Expert+Punch Kurt | |||
| VoicePitch = 95 | |||
| End | |||
| Expert+Sniper Kyle | |||
| Cost = 5 | |||
| VoicePitch = 115 | |||
| End | |||
| Expert+Shotgun Moe | |||
| VoicePitch = 87 | |||
| End | |||
| Expert+Rifle Quade | |||
| VoicePitch = 91 | |||
| End | |||
| Expert+Rifle Quintin | |||
| VoicePitch = 101 | |||
| End | |||
| Expert Ringo | |||
| VoicePitch = 112 | |||
| End | |||
| Expert+PunchT Rip | |||
| VoicePitch = 99 | |||
| End | |||
| Expert+Rifle Zach | |||
| VoicePitch = 100 | |||
| End | |||
| //---------------------------------------- | |||
| VeryHard+Power Cory | |||
| //~Skin = 5 | |||
| VoicePitch = 110 | |||
| End | |||
| VeryHard+Sniper Quinn | |||
| //~Skin = 3 | |||
| VoicePitch = 93 | |||
| End | |||
| VeryHard+Rifle Seth | |||
| //~Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| VeryHard+RifleT Vinny | |||
| //~Skin = 4 | |||
| VoicePitch = 86 | |||
| End | |||
| //---------------------------------------- | |||
| Hard+Rifle Chad | |||
| //~Skin = 5 | |||
| VoicePitch = 95 | |||
| End | |||
| Hard+RifleT Chet | |||
| //~Skin = 2 | |||
| VoicePitch = 90 | |||
| End | |||
| Hard+Spray EMPORiO | |||
| //~Skin = 4 | |||
| VoicePitch = 102 | |||
| End | |||
| Hard+Shotgun Hank | |||
| //~Skin = 1 | |||
| VoicePitch = 98 | |||
| End | |||
| Hard+RifleT Ivan | |||
| //~Skin = 5 | |||
| VoicePitch = 96 | |||
| End | |||
| Hard+Punch Jim | |||
| //~Skin = 4 | |||
| VoicePitch = 103 | |||
| End | |||
| Hard+PunchT Joe | |||
| //~Skin = 1 | |||
| VoicePitch = 105 | |||
| End | |||
| Hard+Rifle John | |||
| //~Skin = 2 | |||
| VoicePitch = 97 | |||
| End | |||
| Hard+Rifle Tony | |||
| //~Skin = 5 | |||
| VoicePitch = 84 | |||
| End | |||
| Hard+PunchT Tyler | |||
| //~Skin = 1 | |||
| VoicePitch = 90 | |||
| End | |||
| Hard+Rifle Victor | |||
| //~Skin = 2 | |||
| VoicePitch = 98 | |||
| End | |||
| Hard+Sniper Vladimir | |||
| //~Skin = 3 | |||
| VoicePitch = 110 | |||
| End | |||
| Hard+Spray Zane | |||
| //~Skin = 4 | |||
| VoicePitch = 103 | |||
| End | |||
| Hard+Rifle Zim | |||
| //~Skin = 2 | |||
| VoicePitch = 110 | |||
| End | |||
| //---------------------------------------- | |||
| Tough+Sniper Adrian | |||
| //~Skin = 3 | |||
| VoicePitch = 120 | |||
| End | |||
| Tough+Rifle Brad | |||
| //~Skin = 1 | |||
| VoicePitch = 100 | |||
| End | |||
| Tough+Rifle Connor | |||
| //~Skin = 2 | |||
| VoicePitch = 104 | |||
| End | |||
| Tough+RifleT Dave | |||
| //~Skin = 4 | |||
| VoicePitch = 98 | |||
| End | |||
| Tough Dan | |||
| //~Skin = 1 | |||
| VoicePitch = 100 | |||
| End | |||
| Tough+Rifle Derek | |||
| //~Skin = 2 | |||
| VoicePitch = 102 | |||
| End | |||
| Tough+Shotgun Don | |||
| //~Skin = 4 | |||
| VoicePitch = 95 | |||
| End | |||
| Tough+Rifle Eric | |||
| //~Skin = 1 | |||
| VoicePitch = 95 | |||
| End | |||
| Tough+RifleT Erik | |||
| //~Skin = 2 | |||
| VoicePitch = 110 | |||
| End | |||
| Tough+Rifle Finn | |||
| //~Skin = 4 | |||
| VoicePitch = 112 | |||
| End | |||
| Tough Jeff | |||
| //~Skin = 1 | |||
| VoicePitch = 90 | |||
| End | |||
| Tough+Rifle Kevin | |||
| //~Skin = 2 | |||
| VoicePitch = 115 | |||
| End | |||
| Tough+RifleT Reed | |||
| //~Skin = 4 | |||
| VoicePitch = 107 | |||
| End | |||
| Tough+Rifle Rick | |||
| //~Skin = 2 | |||
| VoicePitch = 102 | |||
| End | |||
| Tough Ted | |||
| //~Skin = 1 | |||
| VoicePitch = 98 | |||
| End | |||
| Tough+Rifle Troy | |||
| //~Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| Tough+RifleT Wade | |||
| //~Skin = 4 | |||
| VoicePitch = 95 | |||
| End | |||
| Tough+Rifle Wayne | |||
| //~Skin = 1 | |||
| VoicePitch = 86 | |||
| End | |||
| Tough+RifleT Xander | |||
| //~Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| Tough+Rifle Xavier | |||
| //~Skin = 4 | |||
| VoicePitch = 95 | |||
| End | |||
| //---------------------------------------- | |||
| Normal+Rifle Adam | |||
| //~Skin = 1 | |||
| VoicePitch = 105 | |||
| End | |||
| Normal+PunchT Andy | |||
| //~Skin = 2 | |||
| VoicePitch = 90 | |||
| End | |||
| Normal Chris | |||
| //~Skin = 3 | |||
| VoicePitch = 100 | |||
| End | |||
| Normal Colin | |||
| //~Skin = 4 | |||
| VoicePitch = 107 | |||
| End | |||
| Normal+Shield Dennis | |||
| //~Skin = 1 | |||
| VoicePitch = 104 | |||
| End | |||
| Normal Doug | |||
| //~Skin = 2 | |||
| VoicePitch = 110 | |||
| End | |||
| Normal Gary | |||
| //~Skin = 3 | |||
| VoicePitch = 95 | |||
| End | |||
| Normal Grant | |||
| //~Skin = 4 | |||
| VoicePitch = 112 | |||
| End | |||
| Normal Greg | |||
| //~Skin = 1 | |||
| VoicePitch = 111 | |||
| End | |||
| Normal+Sniper Ian | |||
| //~Skin = 3 | |||
| VoicePitch = 115 | |||
| End | |||
| Normal Jerry | |||
| //~Skin = 4 | |||
| VoicePitch = 112 | |||
| End | |||
| Normal Jon | |||
| //~Skin = 1 | |||
| VoicePitch = 96 | |||
| End | |||
| Normal Keith | |||
| //~Skin = 2 | |||
| VoicePitch = 98 | |||
| End | |||
| Normal Mark | |||
| //~Skin = 4 | |||
| VoicePitch = 110 | |||
| End | |||
| Normal Matt | |||
| //~Skin = 1 | |||
| VoicePitch = 95 | |||
| End | |||
| Normal+RifleT Mike | |||
| //~Skin = 2 | |||
| VoicePitch = 100 | |||
| End | |||
| Normal Nate | |||
| //~Skin = 4 | |||
| VoicePitch = 99 | |||
| End | |||
| Normal Paul | |||
| //~Skin = 3 | |||
| VoicePitch = 98 | |||
| End | |||
| Normal Scott | |||
| //~Skin = 1 | |||
| VoicePitch = 105 | |||
| End | |||
| Normal Steve | |||
| //~Skin = 2 | |||
| VoicePitch = 115 | |||
| End | |||
| Normal Tom | |||
| //~Skin = 3 | |||
| VoicePitch = 110 | |||
| End | |||
| Normal Yahn | |||
| //~Skin = 4 | |||
| VoicePitch = 92 | |||
| End | |||
| //---------------------------------------- | |||
| Fair Alfred | |||
| VoicePitch = 110 | |||
| End | |||
| Fair Bill | |||
| VoicePitch = 100 | |||
| End | |||
| Fair Brandon | |||
| VoicePitch = 99 | |||
| End | |||
| Fair+Spray Calvin | |||
| VoicePitch = 120 | |||
| End | |||
| Fair Dean | |||
| VoicePitch = 111 | |||
| End | |||
| Fair Dustin | |||
| VoicePitch = 98 | |||
| End | |||
| Fair Ethan | |||
| VoicePitch = 112 | |||
| End | |||
| Fair Harold | |||
| VoicePitch = 90 | |||
| End | |||
| Fair Henry | |||
| VoicePitch = 120 | |||
| End | |||
| Fair Irving | |||
| VoicePitch = 118 | |||
| End | |||
| Fair Jason | |||
| VoicePitch = 116 | |||
| End | |||
| Fair Josh | |||
| VoicePitch = 114 | |||
| End | |||
| Fair Martin | |||
| VoicePitch = 110 | |||
| End | |||
| Fair Nick | |||
| VoicePitch = 98 | |||
| End | |||
| Fair Norm | |||
| VoicePitch = 92 | |||
| End | |||
| Fair Orin | |||
| VoicePitch = 113 | |||
| End | |||
| Fair Pat | |||
| VoicePitch = 114 | |||
| End | |||
| Fair Perry | |||
| VoicePitch = 115 | |||
| End | |||
| Fair Ron | |||
| VoicePitch = 100 | |||
| End | |||
| Fair Shawn | |||
| VoicePitch = 102 | |||
| End | |||
| Fair Tim | |||
| VoicePitch = 98 | |||
| End | |||
| Fair Will | |||
| VoicePitch = 96 | |||
| End | |||
| Fair Wyatt | |||
| VoicePitch = 94 | |||
| End | |||
| //---------------------------------------- | |||
| Easy Albert | |||
| VoicePitch = 100 | |||
| End | |||
| Easy Allen | |||
| VoicePitch = 110 | |||
| End | |||
| Easy Bert | |||
| VoicePitch = 120 | |||
| End | |||
| Easy Bob | |||
| VoicePitch = 99 | |||
| End | |||
| Easy Cecil | |||
| VoicePitch = 120 | |||
| End | |||
| Easy Clarence | |||
| VoicePitch = 125 | |||
| End | |||
| Easy Elliot | |||
| VoicePitch = 110 | |||
| End | |||
| Easy Elmer | |||
| VoicePitch = 100 | |||
| End | |||
| Easy Ernie | |||
| VoicePitch = 112 | |||
| End | |||
| Easy Eugene | |||
| VoicePitch = 121 | |||
| End | |||
| Easy Fergus | |||
| VoicePitch = 99 | |||
| End | |||
| Easy Ferris | |||
| VoicePitch = 119 | |||
| End | |||
| Easy Frank | |||
| VoicePitch = 118 | |||
| End | |||
| Easy Frasier | |||
| VoicePitch = 117 | |||
| End | |||
| Easy Fred | |||
| VoicePitch = 116 | |||
| End | |||
| Easy George | |||
| VoicePitch = 115 | |||
| End | |||
| Easy Graham | |||
| VoicePitch = 114 | |||
| End | |||
| Easy Harvey | |||
| VoicePitch = 112 | |||
| End | |||
| Easy Irwin | |||
| VoicePitch = 111 | |||
| End | |||
| Easy Lester | |||
| VoicePitch = 110 | |||
| End | |||
| Easy Marvin | |||
| VoicePitch = 109 | |||
| End | |||
| Easy Neil | |||
| VoicePitch = 108 | |||
| End | |||
| Easy Niles | |||
| VoicePitch = 122 | |||
| End | |||
| Easy Oliver | |||
| VoicePitch = 120 | |||
| End | |||
| Easy Opie | |||
| VoicePitch = 125 | |||
| End | |||
| Easy Toby | |||
| VoicePitch = 92 | |||
| End | |||
| Easy Ulric | |||
| VoicePitch = 100 | |||
| End | |||
| Easy Ulysses | |||
| VoicePitch = 102 | |||
| End | |||
| Easy Uri | |||
| VoicePitch = 104 | |||
| End | |||
| Easy Waldo | |||
| VoicePitch = 108 | |||
| End | |||
| Easy Wally | |||
| VoicePitch = 95 | |||
| End | |||
| Easy Walt | |||
| VoicePitch = 100 | |||
| End | |||
| Easy Wesley | |||
| VoicePitch = 120 | |||
| End | |||
| Easy Yanni | |||
| VoicePitch = 112 | |||
| End | |||
| Easy Yogi | |||
| VoicePitch = 99 | |||
| End | |||
| Easy Yuri | |||
| VoicePitch = 110 | |||
| End | |||
| @@ -0,0 +1,125 @@ | |||
| "Presets" | |||
| { | |||
| "1" | |||
| { | |||
| "PresetName" "RIFLE" | |||
| "version" "3" | |||
| "1" | |||
| { | |||
| "Primary" "m4a1/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "2" | |||
| { | |||
| "Primary" "ak47/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "3" | |||
| { | |||
| "Primary" "famas/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "4" | |||
| { | |||
| "Primary" "galil/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "5" | |||
| { | |||
| "Primary" "none/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| } | |||
| "2" | |||
| { | |||
| "PresetName" "SNIPER" | |||
| "version" "3" | |||
| "1" | |||
| { | |||
| "Primary" "awp/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "2" | |||
| { | |||
| "Primary" "sg550/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "3" | |||
| { | |||
| "Primary" "g3sg1/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "4" | |||
| { | |||
| "Primary" "scout/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "5" | |||
| { | |||
| "Primary" "none/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| } | |||
| "3" | |||
| { | |||
| "PresetName" "SHOTGUN" | |||
| "version" "3" | |||
| "1" | |||
| { | |||
| "Primary" "xm1014/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "2" | |||
| { | |||
| "Primary" "m3/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "3" | |||
| { | |||
| "Primary" "none/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| } | |||
| "4" | |||
| { | |||
| "PresetName" "SMG" | |||
| "version" "3" | |||
| "1" | |||
| { | |||
| "Primary" "p90/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "2" | |||
| { | |||
| "Primary" "ump45/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "3" | |||
| { | |||
| "Primary" "mp5/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| "4" | |||
| { | |||
| "Primary" "none/1+" | |||
| "Secondary" "none/1+" | |||
| "Equipment" "vesthelm/100 flash/0 sgren/0 hegren/1 defuser/1 nvgs/0" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,217 @@ | |||
| "CareerGame" | |||
| { | |||
| "InitialPoints" "2" | |||
| "MatchWins" "3" | |||
| "MatchWinBy" "2" | |||
| "Characters" "Cooper Floyd Kenny Morris Stanley Vern Quincy Gus Ben Eddie Kent Oscar Phil Leon Pete Roger Maverick Cole Igor Larry Ray Sam Travis Kirk Alex Brent Jake Tex Lou Ace Rooster Eagle Sandman Barney Steel Duke Bear" | |||
| // CostAvailability: for each bot point cost, specify the number of reputation points needed to hire him. | |||
| // If a value is not present or 0, that cost and higher are assumed to be always available. | |||
| "CostAvailability" | |||
| { | |||
| "1" "1" | |||
| "2" "6" | |||
| "3" "10" | |||
| "4" "15" | |||
| "5" "99" | |||
| } | |||
| "Maps" | |||
| { | |||
| // Maps are in triplets | |||
| // 'minEnemies' defines the minimum number of enemies of the map (from the 'bots' entry, left to right) | |||
| // 'threshold' defines the Reputation Point value above which one enemy is added for every additional RP until we run out of bots on the 'bots' line | |||
| // A note on tasks: | |||
| // | |||
| // tasks are one of the following: | |||
| // kill <N> [survive | inarow] | |||
| // killwith <N> <weapon> [survive | inarow] | |||
| // killblind <N> [survive | inarow] | |||
| // winfast <S> [survive | inarow] | |||
| // headshot <N> [survive | inarow] | |||
| // headshotwith <N> <weapon> [survive | inarow] | |||
| // killall | |||
| // rescue <N> [survive | inarow] | |||
| // rescueall | |||
| // injure <N> [survive | inarow] | |||
| // injurewith <N> <weapon> [survive | inarow] | |||
| // | |||
| // tasks can contain a numeric value (# of kills, # of seconds, etc) | |||
| // tasks can contain a weapon name or weapon classname (for the killwith and headshotwith tasks) | |||
| // you can add "survive" so the player must survive to the end of the round to complete the task | |||
| // you can add "inarow" so the player must complete the task N times without dying (across round boundaries) | |||
| // group words of a task with '. I.e. 'kill 3' | |||
| // | |||
| // Weapon names/classes are: | |||
| // scout | |||
| // xm1014 | |||
| // mac10 | |||
| // aug | |||
| // ump45 | |||
| // sg550 | |||
| // galil | |||
| // famas | |||
| // awp | |||
| // mp5 | |||
| // m249 | |||
| // m3 | |||
| // m4a1 | |||
| // tmp | |||
| // sg552 | |||
| // ak47 | |||
| // p90 | |||
| // shield | |||
| // weapon | |||
| // knife | |||
| // grenade (text is singular) | |||
| // hegren (text is plural, but the behavior is the same) | |||
| // pistol | |||
| // SMG | |||
| // machinegun | |||
| // shotgun | |||
| // rifle | |||
| // sniper | |||
| // fn57 | |||
| // elites | |||
| // - start ------------------------------------------ | |||
| "de_dust_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'kill 1'" | |||
| } | |||
| "cs_office_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Rat Screech Madman" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'killwith 1 SMG' 'rescue 1'" | |||
| } | |||
| "de_prodigy_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Screech Rat Madman" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'killwith 1 sniper'" | |||
| } | |||
| // - early ------------------------------------------- | |||
| "de_tides_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'killwith 1 shotgun' 'winfast 90'" | |||
| } | |||
| "cs_italy_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'killwith 1 sniper' 'rescue 1'" | |||
| } | |||
| "de_inferno_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'killwith 1 pistol'" | |||
| } | |||
| // - halfway ----------------------------------------- | |||
| "de_dust2_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Outcast Splinter Worm" | |||
| "minEnemies" "6" | |||
| "threshold" "10" | |||
| "tasks" "'killwith 2 sniper' 'winfast 90'" | |||
| } | |||
| "cs_militia_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Splinter Outcast Worm" | |||
| "minEnemies" "6" | |||
| "threshold" "10" | |||
| "tasks" "'killwith 2 shotgun' 'rescue 1'" | |||
| } | |||
| "de_stadium_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Worm Outcast Splinter" | |||
| "minEnemies" "6" | |||
| "threshold" "10" | |||
| "tasks" "'killwith 2 aug' 'winfast 90'" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_chateau_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Outcast Splinter Worm" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'killwith 2 m249'" | |||
| } | |||
| "cs_havana_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Worm Outcast Splinter" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'killwith 2 pistol' 'rescue 1'" | |||
| } | |||
| "de_cbble_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Splinter Outcast Worm" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'killwith 2 shield' 'winfast 90'" | |||
| } | |||
| // - late ------------------------------------------- | |||
| "de_aztec_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Splinter Outcast Worm" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 3' 'killwith 2 awp' 'winfast 90'" | |||
| } | |||
| "cs_downed_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Outcast Splinter Worm" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 3' 'killwith 2 famas' 'rescue 1'" | |||
| } | |||
| "de_airstrip_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Worm Outcast Splinter" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 3' 'killwith 2 shield'" | |||
| } | |||
| // - end -------------------------------------------- | |||
| "de_piranesi_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Splinter Outcast Worm" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 5' 'killwith 3 aug'" | |||
| } | |||
| "de_fastline_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Worm Outcast Splinter" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 6' 'killwith 3 SMG'" | |||
| } | |||
| "de_torn_cz" | |||
| { | |||
| "bots" "Weasel Lunatic Crackpot Madman Rat Screech Outcast Worm Splinter" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 7' 'killwith 3 sniper'" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,235 @@ | |||
| "CareerGame" | |||
| { | |||
| "InitialPoints" "8" | |||
| "MatchWins" "3" | |||
| "MatchWinBy" "2" | |||
| "Characters" "Cooper Floyd Kenny Morris Stanley Vern Quincy Gus Ben Eddie Kent Oscar Phil Leon Pete Roger Maverick Cole Igor Larry Ray Sam Travis Kirk Alex Brent Jake Tex Lou Ace Rooster Eagle Sandman Barney Steel Duke Bear" | |||
| // CostAvailability: for each bot point cost, specify the number of reputation points needed to hire him. | |||
| // If a value is not present or 0, that cost and higher are assumed to be always available. | |||
| "CostAvailability" | |||
| { | |||
| "1" "1" | |||
| "2" "1" | |||
| "3" "1" | |||
| "4" "1" | |||
| "5" "18" | |||
| } | |||
| "Maps" | |||
| { | |||
| // Maps are in triplets | |||
| // 'minEnemies' defines the minimum number of enemies of the map (from the 'bots' entry, left to right) | |||
| // 'threshold' defines the Reputation Point value above which one enemy is added for every additional RP until we run out of bots on the 'bots' line | |||
| // A note on tasks: | |||
| // | |||
| // tasks are one of the following: | |||
| // kill <N> [survive | inarow] | |||
| // killwith <N> <weapon> [survive | inarow] | |||
| // killblind <N> [survive | inarow] | |||
| // winfast <S> [survive | inarow] | |||
| // headshot <N> [survive | inarow] | |||
| // headshotwith <N> <weapon> [survive | inarow] | |||
| // killall | |||
| // rescue <N> [survive | inarow] | |||
| // rescueall | |||
| // injure <N> [survive | inarow] | |||
| // injurewith <N> <weapon> [survive | inarow] | |||
| // | |||
| // tasks can contain a numeric value (# of kills, # of seconds, etc) | |||
| // tasks can contain a weapon name or weapon classname (for the killwith and headshotwith tasks) | |||
| // you can add "survive" so the player must survive to the end of the round to complete the task | |||
| // you can add "inarow" so the player must complete the task N times without dying (across round boundaries) | |||
| // group words of a task with '. I.e. 'kill 3' | |||
| // | |||
| // Weapon names/classes are: | |||
| // scout | |||
| // xm1014 | |||
| // mac10 | |||
| // aug | |||
| // ump45 | |||
| // sg550 | |||
| // galil | |||
| // famas | |||
| // awp | |||
| // mp5 | |||
| // m249 | |||
| // m3 | |||
| // m4a1 | |||
| // tmp | |||
| // sg552 | |||
| // ak47 | |||
| // p90 | |||
| // shield | |||
| // weapon | |||
| // knife | |||
| // grenade (text is singular) | |||
| // hegren (text is plural, but the behavior is the same) | |||
| // pistol | |||
| // SMG | |||
| // machinegun | |||
| // shotgun | |||
| // rifle | |||
| // sniper | |||
| // fn57 | |||
| // elites | |||
| // - start ------------------------------------------ | |||
| "de_dust_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "5" | |||
| "threshold" "10" | |||
| "tasks" "'kill 10' 'kill 2 survive' 'winfast 45'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_office_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "5" | |||
| "threshold" "10" | |||
| "tasks" "'kill 10' 'killwith 2 mp5 survive' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_prodigy_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "5" | |||
| "threshold" "10" | |||
| "tasks" "'kill 10' 'killwith 2 scout survive' 'winfast 45'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - early ------------------------------------------- | |||
| "de_tides_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "5" | |||
| "threshold" "13" | |||
| "tasks" "'kill 12' 'killwith 5 xm1014' 'winfast 45'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_italy_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "5" | |||
| "threshold" "13" | |||
| "tasks" "'killwith 6 fn57' 'killwith 6 awp' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_inferno_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'kill 12' 'killwith 3 aug inarow' 'killblind 1 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_dust2_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "6" | |||
| "threshold" "16" | |||
| "tasks" "'kill 14' 'killwith 3 sg550 inarow' 'winfast 45 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_militia_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "6" | |||
| "threshold" "16" | |||
| "tasks" "'kill 14' 'killblind 1 survive' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_stadium_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Crow" | |||
| "minEnemies" "6" | |||
| "threshold" "16" | |||
| "tasks" "'kill 14' 'killwith 3 aug inarow' 'winfast 45 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_chateau_cz" | |||
| { | |||
| "bots" "Nails Crank Cutter Fanatic Hyena Wolfhound Panther Crow" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 16' 'killblind 1 survive' 'killwith 3 m249 inarow'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_havana_cz" | |||
| { | |||
| "bots" "Nails Crank Cutter Fanatic Hyena Wolfhound Panther Crow" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 16' 'killwith 1 knife' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_cbble_cz" | |||
| { | |||
| "bots" "Nails Crank Cutter Fanatic Hyena Wolfhound Panther Crow" | |||
| "minEnemies" "7" | |||
| "threshold" "19" | |||
| "tasks" "'kill 16' 'killwith 3 shield inarow' 'winfast 45 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - late ------------------------------------------- | |||
| "de_aztec_cz" | |||
| { | |||
| "bots" "Nails Cutter Fanatic Hyena Wolfhound Panther Crow Jackal" | |||
| "minEnemies" "8" | |||
| "threshold" "22" | |||
| "tasks" "'kill 18' 'killwith 5 scout' 'winfast 45 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_downed_cz" | |||
| { | |||
| "bots" "Crank Cutter Fanatic Hyena Wolfhound Panther Crow Spider" | |||
| "minEnemies" "8" | |||
| "threshold" "22" | |||
| "tasks" "'kill 18' 'killwith 5 famas' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_airstrip_cz" | |||
| { | |||
| "bots" "Nails Crank Fanatic Hyena Wolfhound Panther Crow Wolfhound" | |||
| "minEnemies" "8" | |||
| "threshold" "22" | |||
| "tasks" "'kill 18' 'killwith 5 shield' 'killwith 2 sg550 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - end -------------------------------------------- | |||
| "de_piranesi_cz" | |||
| { | |||
| "bots" "Hyena Wolfhound Panther Crow Jackal Hawk Spider Snake" | |||
| "minEnemies" "8" | |||
| "threshold" "25" | |||
| "tasks" "'kill 20' 'killwith 5 aug' 'killblind 1 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_fastline_cz" | |||
| { | |||
| "bots" "Hyena Wolfhound Panther Crow Jackal Hawk Spider Snake" | |||
| "minEnemies" "8" | |||
| "threshold" "25" | |||
| "tasks" "'kill 22' 'killwith 5 p90' 'killwith 1 grenade survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_torn_cz" | |||
| { | |||
| "bots" "Fanatic Hyena Wolfhound Panther Crow Jackal Hawk Spider Snake" | |||
| "minEnemies" "8" | |||
| "threshold" "25" | |||
| "tasks" "'kill 25' 'killwith 5 awp' 'killwith 1 knife survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,235 @@ | |||
| "CareerGame" | |||
| { | |||
| "InitialPoints" "6" | |||
| "MatchWins" "3" | |||
| "MatchWinBy" "2" | |||
| "Characters" "Cooper Floyd Kenny Morris Stanley Vern Quincy Gus Ben Eddie Kent Oscar Phil Leon Pete Roger Maverick Cole Igor Larry Ray Sam Travis Kirk Alex Brent Jake Tex Lou Ace Rooster Eagle Sandman Barney Steel Duke Bear" | |||
| // CostAvailability: for each bot point cost, specify the number of reputation points needed to hire him. | |||
| // If a value is not present or 0, that cost and higher are assumed to be always available. | |||
| "CostAvailability" | |||
| { | |||
| "1" "1" | |||
| "2" "6" | |||
| "3" "6" | |||
| "4" "12" | |||
| "5" "18" | |||
| } | |||
| "Maps" | |||
| { | |||
| // Maps are in triplets | |||
| // 'minEnemies' defines the minimum number of enemies of the map (from the 'bots' entry, left to right) | |||
| // 'threshold' defines the Reputation Point value above which one enemy is added for every additional RP until we run out of bots on the 'bots' line | |||
| // A note on tasks: | |||
| // | |||
| // tasks are one of the following: | |||
| // kill <N> [survive | inarow] | |||
| // killwith <N> <weapon> [survive | inarow] | |||
| // killblind <N> [survive | inarow] | |||
| // winfast <S> [survive | inarow] | |||
| // headshot <N> [survive | inarow] | |||
| // headshotwith <N> <weapon> [survive | inarow] | |||
| // killall | |||
| // rescue <N> [survive | inarow] | |||
| // rescueall | |||
| // injure <N> [survive | inarow] | |||
| // injurewith <N> <weapon> [survive | inarow] | |||
| // | |||
| // tasks can contain a numeric value (# of kills, # of seconds, etc) | |||
| // tasks can contain a weapon name or weapon classname (for the killwith and headshotwith tasks) | |||
| // you can add "survive" so the player must survive to the end of the round to complete the task | |||
| // you can add "inarow" so the player must complete the task N times without dying (across round boundaries) | |||
| // group words of a task with '. I.e. 'kill 3' | |||
| // | |||
| // Weapon names/classes are: | |||
| // scout | |||
| // xm1014 | |||
| // mac10 | |||
| // aug | |||
| // ump45 | |||
| // sg550 | |||
| // galil | |||
| // famas | |||
| // awp | |||
| // mp5 | |||
| // m249 | |||
| // m3 | |||
| // m4a1 | |||
| // tmp | |||
| // sg552 | |||
| // ak47 | |||
| // p90 | |||
| // shield | |||
| // weapon | |||
| // knife | |||
| // grenade (text is singular) | |||
| // hegren (text is plural, but the behavior is the same) | |||
| // pistol | |||
| // SMG | |||
| // machinegun | |||
| // shotgun | |||
| // rifle | |||
| // sniper | |||
| // fn57 | |||
| // elites | |||
| // - start ------------------------------------------ | |||
| "de_dust_cz" | |||
| { | |||
| "bots" "Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "5" | |||
| "threshold" "8" | |||
| "tasks" "'kill 7' 'kill 2 survive' 'winfast 60'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_office_cz" | |||
| { | |||
| "bots" "Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "5" | |||
| "threshold" "8" | |||
| "tasks" "'kill 7' 'killwith 2 mp5 survive' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_prodigy_cz" | |||
| { | |||
| "bots" "Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "5" | |||
| "threshold" "8" | |||
| "tasks" "'kill 7' 'killwith 2 scout survive' 'winfast 60'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - early ------------------------------------------- | |||
| "de_tides_cz" | |||
| { | |||
| "bots" "Freak Rebel Fiend Vandal Razor Bandit Raider Nails" | |||
| "minEnemies" "6" | |||
| "threshold" "11" | |||
| "tasks" "'kill 8' 'killwith 5 xm1014' 'winfast 60'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_italy_cz" | |||
| { | |||
| "bots" "Maniac Rebel Fiend Vandal Razor Bandit Raider Nails" | |||
| "minEnemies" "6" | |||
| "threshold" "11" | |||
| "tasks" "'killwith 4 deagle' 'killwith 4 awp' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_inferno_cz" | |||
| { | |||
| "bots" "Freak Rebel Fiend Vandal Razor Bandit Raider Fanatic" | |||
| "minEnemies" "6" | |||
| "threshold" "11" | |||
| "tasks" "'kill 8' 'killwith 3 aug inarow' 'killblind 1'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_dust2_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "7" | |||
| "threshold" "14" | |||
| "tasks" "'kill 9' 'killwith 3 sg550 inarow' 'winfast 60 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_militia_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Nails" | |||
| "minEnemies" "7" | |||
| "threshold" "14" | |||
| "tasks" "'kill 9' 'killblind 1 survive' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_stadium_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "7" | |||
| "threshold" "14" | |||
| "tasks" "'kill 9' 'killwith 3 aug inarow' 'winfast 60 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_chateau_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "7" | |||
| "threshold" "17" | |||
| "tasks" "'kill 10' 'killblind 1 survive' 'killwith 3 m249 inarow'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_havana_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "7" | |||
| "threshold" "17" | |||
| "tasks" "'kill 10' 'killwith 1 knife' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_cbble_cz" | |||
| { | |||
| "bots" "Rebel Fiend Vandal Razor Bandit Raider Blade" | |||
| "minEnemies" "7" | |||
| "threshold" "17" | |||
| "tasks" "'kill 10' 'killwith 3 shield inarow' 'winfast 60 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - late ------------------------------------------- | |||
| "de_aztec_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Crow Fanatic" | |||
| "minEnemies" "8" | |||
| "threshold" "20" | |||
| "tasks" "'kill 12' 'killwith 5 scout' 'winfast 60 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "cs_downed_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Panther" | |||
| "minEnemies" "7" | |||
| "threshold" "20" | |||
| "tasks" "'kill 12' 'killwith 5 famas' 'rescueall'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_airstrip_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Panther" | |||
| "minEnemies" "7" | |||
| "threshold" "20" | |||
| "tasks" "'kill 12' 'killwith 5 shield' 'killwith 2 sg550 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| // - end -------------------------------------------- | |||
| "de_piranesi_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Panther Wolfhound" | |||
| "minEnemies" "8" | |||
| "threshold" "23" | |||
| "tasks" "'kill 15' 'killwith 5 aug' 'killwith 2 pistol inarow'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_fastline_cz" | |||
| { | |||
| "bots" "Razor Bandit Raider Nails Crank Cutter Fanatic Panther Hyena" | |||
| "minEnemies" "8" | |||
| "threshold" "23" | |||
| "tasks" "'kill 17' 'killwith 5 p90' 'killblind 1 survive'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| "de_torn_cz" | |||
| { | |||
| "bots" "Bandit Raider Nails Crank Cutter Crow Fanatic Wolfhound" | |||
| "minEnemies" "8" | |||
| "threshold" "23" | |||
| "tasks" "'kill 20' 'killwith 5 awp' 'killwith 2 deagle inarow'" | |||
| "FriendlyFire" "1" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,217 @@ | |||
| "CareerGame" | |||
| { | |||
| "InitialPoints" "2" | |||
| "MatchWins" "3" | |||
| "MatchWinBy" "2" | |||
| "Characters" "Cooper Floyd Kenny Morris Stanley Vern Quincy Gus Ben Eddie Kent Oscar Phil Leon Pete Roger Maverick Cole Igor Larry Ray Sam Travis Kirk Alex Brent Jake Tex Lou Ace Rooster Eagle Sandman Barney Steel Duke Bear" | |||
| // CostAvailability: for each bot point cost, specify the number of reputation points needed to hire him. | |||
| // If a value is not present or 0, that cost and higher are assumed to be always available. | |||
| "CostAvailability" | |||
| { | |||
| "1" "1" | |||
| "2" "6" | |||
| "3" "10" | |||
| "4" "15" | |||
| "5" "99" | |||
| } | |||
| "Maps" | |||
| { | |||
| // Maps are in triplets | |||
| // 'minEnemies' defines the minimum number of enemies of the map (from the 'bots' entry, left to right) | |||
| // 'threshold' defines the Reputation Point value above which one enemy is added for every additional RP until we run out of bots on the 'bots' line | |||
| // A note on tasks: | |||
| // | |||
| // tasks are one of the following: | |||
| // kill <N> [survive | inarow] | |||
| // killwith <N> <weapon> [survive | inarow] | |||
| // killblind <N> [survive | inarow] | |||
| // winfast <S> [survive | inarow] | |||
| // headshot <N> [survive | inarow] | |||
| // headshotwith <N> <weapon> [survive | inarow] | |||
| // killall | |||
| // rescue <N> [survive | inarow] | |||
| // rescue 4 | |||
| // injure <N> [survive | inarow] | |||
| // injurewith <N> <weapon> [survive | inarow] | |||
| // | |||
| // tasks can contain a numeric value (# of kills, # of seconds, etc) | |||
| // tasks can contain a weapon name or weapon classname (for the killwith and headshotwith tasks) | |||
| // you can add "survive" so the player must survive to the end of the round to complete the task | |||
| // you can add "inarow" so the player must complete the task N times without dying (across round boundaries) | |||
| // group words of a task with '. I.e. 'kill 3' | |||
| // | |||
| // Weapon names/classes are: | |||
| // scout | |||
| // xm1014 | |||
| // mac10 | |||
| // aug | |||
| // ump45 | |||
| // sg550 | |||
| // galil | |||
| // famas | |||
| // awp | |||
| // mp5 | |||
| // m249 | |||
| // m3 | |||
| // m4a1 | |||
| // tmp | |||
| // sg552 | |||
| // ak47 | |||
| // p90 | |||
| // shield | |||
| // weapon | |||
| // knife | |||
| // grenade (text is singular) | |||
| // hegren (text is plural, but the behavior is the same) | |||
| // pistol | |||
| // SMG | |||
| // machinegun | |||
| // shotgun | |||
| // rifle | |||
| // sniper | |||
| // fn57 | |||
| // elites | |||
| // - start ------------------------------------------ | |||
| "de_dust_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Splinter Maniac" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'kill 5' 'kill 1 survive' 'winfast 75'" | |||
| } | |||
| "cs_office_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Freak Maniac" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'kill 5' 'killwith 1 SMG' 'rescue 4'" | |||
| } | |||
| "de_prodigy_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Splinter Maniac" | |||
| "minEnemies" "3" | |||
| "threshold" "2" | |||
| "tasks" "'kill 5' 'killwith 1 sniper' 'winfast 75'" | |||
| } | |||
| // - early ------------------------------------------- | |||
| "de_tides_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Splinter Maniac" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'kill 6' 'killwith 1 shotgun' 'winfast 75'" | |||
| } | |||
| "cs_italy_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Splinter Maniac" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'kill 6' 'killwith 2 sniper' 'rescue 4'" | |||
| } | |||
| "de_inferno_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Psycho Maniac" | |||
| "minEnemies" "5" | |||
| "threshold" "7" | |||
| "tasks" "'kill 6' 'killwith 1 aug' 'killwith 1 pistol'" | |||
| } | |||
| // - halfway ----------------------------------------- | |||
| "de_dust2_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho" | |||
| "minEnemies" "6" | |||
| "threshold" "10" | |||
| "tasks" "'kill 7' 'killwith 2 sg550 inarow' 'winfast 75'" | |||
| } | |||
| "cs_militia_cz" | |||
| { | |||
| "bots" "Madman Rat Screech Worm Freak Maniac Psycho" | |||
| "minEnemies" "7" | |||
| "threshold" "10" | |||
| "tasks" "'kill 7' 'killwith 2 shotgun inarow' 'rescue 4'" | |||
| } | |||
| "de_stadium_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Splinter" | |||
| "minEnemies" "6" | |||
| "threshold" "10" | |||
| "tasks" "'kill 7' 'killwith 3 aug' 'winfast 75'" | |||
| } | |||
| // - halfway ---------------------------------------- | |||
| "de_chateau_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'kill 8' 'killwith 3 m249'" | |||
| } | |||
| "cs_havana_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'kill 8' 'killwith 3 deagle' 'rescue 4'" | |||
| } | |||
| "de_cbble_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho" | |||
| "minEnemies" "6" | |||
| "threshold" "13" | |||
| "tasks" "'kill 8' 'killwith 3 shield' 'winfast 75'" | |||
| } | |||
| // - late ------------------------------------------- | |||
| "de_aztec_cz" | |||
| { | |||
| "bots" "Screech Splinter Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 9' 'killwith 3 awp' 'winfast 75'" | |||
| } | |||
| "cs_downed_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho Rebel" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 9' 'killwith 3 famas' 'rescue 4'" | |||
| } | |||
| "de_airstrip_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho Vandal" | |||
| "minEnemies" "7" | |||
| "threshold" "16" | |||
| "tasks" "'kill 9' 'killwith 3 shield'" | |||
| } | |||
| // - end -------------------------------------------- | |||
| "de_piranesi_cz" | |||
| { | |||
| "bots" "Screech Worm Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "8" | |||
| "threshold" "19" | |||
| "tasks" "'kill 10' 'killwith 3 aug'" | |||
| } | |||
| "de_fastline_cz" | |||
| { | |||
| "bots" "Screech Worm Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "8" | |||
| "threshold" "19" | |||
| "tasks" "'kill 12' 'killwith 3 p90'" | |||
| } | |||
| "de_torn_cz" | |||
| { | |||
| "bots" "Rat Screech Worm Freak Maniac Psycho Rebel Fiend Vandal" | |||
| "minEnemies" "8" | |||
| "threshold" "19" | |||
| "tasks" "'kill 15' 'killwith 4 awp'" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,117 @@ | |||
| // CSTRIKE DEDICATED SERVER CONFIGURATION SPECIFICATION FOR GUI | |||
| "GameServerConfig" | |||
| { | |||
| "mp_timelimit" | |||
| { | |||
| "name" "Time limit" | |||
| "type" "string" | |||
| } | |||
| "mp_winlimit" | |||
| { | |||
| "name" "Win limit (rounds)" | |||
| "type" "string" | |||
| } | |||
| "mp_maxrounds" | |||
| { | |||
| "name" "Round limit (rounds)" | |||
| "type" "string" | |||
| } | |||
| "mp_roundtime" | |||
| { | |||
| "name" "Time per round (minutes)" | |||
| "type" "string" | |||
| } | |||
| "mp_freezetime" | |||
| { | |||
| "name" "Freeze time (seconds)" | |||
| "type" "string" | |||
| } | |||
| "mp_buytime" | |||
| { | |||
| "name" "Buy time (minutes)" | |||
| "type" "string" | |||
| } | |||
| "mp_startmoney" | |||
| { | |||
| "name" "Starting money" | |||
| "type" "string" | |||
| } | |||
| "mp_footsteps" | |||
| { | |||
| "name" "Footsteps" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| "mp_forcecamera" | |||
| { | |||
| "name" "Death camera type" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Spectate anyone" | |||
| "1" "Spectate team only" | |||
| "2" "Only First Person" | |||
| } | |||
| } | |||
| "mp_fadetoblack" | |||
| { | |||
| "name" "Disable chase/death cam (fade to black)" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| "mp_friendlyfire" | |||
| { | |||
| "name" "Friendly fire" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| "mp_tkpunish" | |||
| { | |||
| "name" "Kill team killers round after TK" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| "mp_autokick" | |||
| { | |||
| "name" "Kick idle and team killing (3 TKs) players" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| "mp_hostagepenalty" | |||
| { | |||
| "name" "Kick hostage killers (kills allowed, 0 is off)" | |||
| "type" "string" | |||
| } | |||
| "mp_flashlight" | |||
| { | |||
| "name" "Allow flashlight" | |||
| "type" "enumeration" | |||
| "list" | |||
| { | |||
| "0" "Disabled" | |||
| "1" "Enabled" | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,78 @@ | |||
| // This list of "buy aliases" is used by the AutoBuy system. | |||
| // The system begins with the first alias in the list, and attempts to purchase it. | |||
| // If a primary weapon is successfully purchased, all later primary weapon aliases are skipped. | |||
| // Similarly, secondary weapon buy alias are skipped once a seconary weapon has been purchased. | |||
| // You can customize this file to reflect your weapon and equipment preferences and priorities. | |||
| // | |||
| // The console command for autobuy is "autobuy" | |||
| // | |||
| // The available buy aliases and their names as shown on the buy menu are: | |||
| // (Many weapons have more than one buy alias) | |||
| // | |||
| // galil - IDF Defender | |||
| // defender - IDF Defender | |||
| // ak47 - CV-47 | |||
| // cv47 - CV-47 | |||
| // scout - Schmidt Scout | |||
| // sg552 - Krieg 552 | |||
| // krieg552 - Krieg 552 | |||
| // awp - Magnum Sniper Rifle | |||
| // magnum - Magnum Sniper Rifle | |||
| // g3sg1 - D3/AU1 | |||
| // d3au1 - D3/AU1 | |||
| // famas - Clarion 5.56 | |||
| // clarion - Clarion 5.56 | |||
| // m4a1 - Maverick M4A1 Carbine | |||
| // aug - Bullpup | |||
| // bullpup - Bullpup | |||
| // sg550 - Krieg 550 Commando | |||
| // krieg550 - Krieg 550 Commando | |||
| // glock - 9x19mm Sidearm | |||
| // 9x19mm - 9x19mm Sidearm | |||
| // usp - KM .45 Tactical | |||
| // km45 - KM .45 Tactical | |||
| // p228 - 228 Compact | |||
| // 228compact - 228 Compact | |||
| // deagle - Night Hawk .50C | |||
| // nighthawk - Night Hawk .50C | |||
| // elites - .40 Dual Elites | |||
| // fn57 - ES Five-Seven | |||
| // fiveseven - ES Five-Seven | |||
| // m3 - Leone 12 Gauge Super | |||
| // 12gauge - Leone 12 Gauge Super | |||
| // xm1014 - Leone YG1265 Auto Shotgun | |||
| // autoshotgun - Leone YG1265 Auto Shotgun | |||
| // mac10 - Ingram MAC-10 | |||
| // tmp - Schmidt Machine Pistol | |||
| // mp - Schmidt Machine Pistol | |||
| // mp5 - KM Sub-Machine Gun | |||
| // smg - KM Sub-Machine Gun | |||
| // ump45 - KM UMP45 | |||
| // p90 - ES C90 | |||
| // c90 - ES C90 | |||
| // m249 - M249 | |||
| // primammo - Primary Ammo | |||
| // secammo - Secondary Ammo | |||
| // vest - Kevlar | |||
| // vesthelm - Kevlar+Helmet | |||
| // flash - Flashbang | |||
| // hegren - HE Grenade | |||
| // sgren - Smoke Grenade | |||
| // nvgs - Nightvision | |||
| // defuser - Defusal Kit | |||
| // shield - Tactical Shield | |||
| m4a1 | |||
| ak47 | |||
| famas | |||
| galil | |||
| p90 | |||
| mp5 | |||
| primammo | |||
| secammo | |||
| defuser | |||
| vesthelm | |||
| vest | |||
| @@ -0,0 +1,78 @@ | |||
| // This list of "buy aliases" is used by the AutoBuy system. | |||
| // The system begins with the first alias in the list, and attempts to purchase it. | |||
| // If a primary weapon is successfully purchased, all later primary weapon aliases are skipped. | |||
| // Similarly, secondary weapon buy alias are skipped once a seconary weapon has been purchased. | |||
| // You can customize this file to reflect your weapon and equipment preferences and priorities. | |||
| // | |||
| // The console command for autobuy is "autobuy" | |||
| // | |||
| // The available buy aliases and their names as shown on the buy menu are: | |||
| // (Many weapons have more than one buy alias) | |||
| // | |||
| // galil - IDF Defender | |||
| // defender - IDF Defender | |||
| // ak47 - CV-47 | |||
| // cv47 - CV-47 | |||
| // scout - Schmidt Scout | |||
| // sg552 - Krieg 552 | |||
| // krieg552 - Krieg 552 | |||
| // awp - Magnum Sniper Rifle | |||
| // magnum - Magnum Sniper Rifle | |||
| // g3sg1 - D3/AU1 | |||
| // d3au1 - D3/AU1 | |||
| // famas - Clarion 5.56 | |||
| // clarion - Clarion 5.56 | |||
| // m4a1 - Maverick M4A1 Carbine | |||
| // aug - Bullpup | |||
| // bullpup - Bullpup | |||
| // sg550 - Krieg 550 Commando | |||
| // krieg550 - Krieg 550 Commando | |||
| // glock - 9x19mm Sidearm | |||
| // 9x19mm - 9x19mm Sidearm | |||
| // usp - KM .45 Tactical | |||
| // km45 - KM .45 Tactical | |||
| // p228 - 228 Compact | |||
| // 228compact - 228 Compact | |||
| // deagle - Night Hawk .50C | |||
| // nighthawk - Night Hawk .50C | |||
| // elites - .40 Dual Elites | |||
| // fn57 - ES Five-Seven | |||
| // fiveseven - ES Five-Seven | |||
| // m3 - Leone 12 Gauge Super | |||
| // 12gauge - Leone 12 Gauge Super | |||
| // xm1014 - Leone YG1265 Auto Shotgun | |||
| // autoshotgun - Leone YG1265 Auto Shotgun | |||
| // mac10 - Ingram MAC-10 | |||
| // tmp - Schmidt Machine Pistol | |||
| // mp - Schmidt Machine Pistol | |||
| // mp5 - KM Sub-Machine Gun | |||
| // smg - KM Sub-Machine Gun | |||
| // ump45 - KM UMP45 | |||
| // p90 - ES C90 | |||
| // c90 - ES C90 | |||
| // m249 - M249 | |||
| // primammo - Primary Ammo | |||
| // secammo - Secondary Ammo | |||
| // vest - Kevlar | |||
| // vesthelm - Kevlar+Helmet | |||
| // flash - Flashbang | |||
| // hegren - HE Grenade | |||
| // sgren - Smoke Grenade | |||
| // nvgs - Nightvision | |||
| // defuser - Defusal Kit | |||
| // shield - Tactical Shield | |||
| m4a1 | |||
| ak47 | |||
| famas | |||
| galil | |||
| p90 | |||
| mp5 | |||
| primammo | |||
| secammo | |||
| defuser | |||
| vesthelm | |||
| vest | |||
| @@ -0,0 +1,141 @@ | |||
| {\rtf1\ansi\ansicpg1252\deff0\deflang11274{\fonttbl{\f0\fnil\fcharset0 Courier New;}{\f1\fswiss\fcharset0 Arial;}} | |||
| {\colortbl ;\red0\green128\blue0;\red0\green0\blue128;\red255\green0\blue0;\red0\green0\blue255;} | |||
| {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\cf1\ul\b\f0\fs20 BOT CONTROL\cf0\b0\par | |||
| \par | |||
| \ulnone\b bot_add\par | |||
| bot_add_t\par | |||
| bot_add_ct\b0\par | |||
| \par | |||
| Causes a bot to be added to the game. "bot_add" will add a bot to the team specified by the "bot_join_team" cvar. "bot_add_t" and "bot_add_ct" forces the bot onto the respective teams.\par | |||
| \par | |||
| \b bot_kill \cf2 <name, "all">\b0\par | |||
| \cf0 This command takes either the name of a bot, or the keyword "all" - causing all bots in the game to be killed.\par | |||
| \par | |||
| \b bot_kick \cf2 <name, "all">\b0\par | |||
| \cf0 This command takes either the name of a bot, or the keyword "all" - causing all bots in the game to be kicked.\par | |||
| \par | |||
| \b bot_knives_only\par | |||
| bot_pistols_only\par | |||
| bot_snipers_only\par | |||
| bot_all_weapons\b0\par | |||
| These commands are shortcuts that set the bot_allow_* cvars accordingly.\par | |||
| \par | |||
| \b bot_difficulty \cf2 [0-3]\b0\par | |||
| \cf0 This cvar determines the difficulty of all newly created bots (existing bots will retain the difficulty setting they were created with). Zero = easy, 1 = normal, 2 = hard, 3 = expert. Difficulty values higher than 3 are reset to 3.\par | |||
| \par | |||
| \b bot_quota \cf2 <minimum number of bots>\b0\par | |||
| \cf0 Setting this cvar to a nonzero value will cause the given number of bots to be maintained in the game. If a bot is kicked, a new bot will be added to maintain the quota. To disable the quota, set it to zero.\par | |||
| \par | |||
| \b bot_prefix \cf2 <string>\b0\par | |||
| \cf0 The given <string> will be prefixed to all subsequently added bot names. This is useful for "clan-tagging" bots.\par | |||
| \par | |||
| \b bot_join_team \cf2 [ct, t, any]\b0\par | |||
| \cf0 Determines which team the bots will join.\par | |||
| \par | |||
| \b bot_join_after_player \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, the bots will wait to join the game until at least one human player has joined.\par | |||
| \par | |||
| \b bot_allow_pistols\par | |||
| bot_allow_shotguns\par | |||
| bot_allow_sub_machine_guns\par | |||
| bot_allow_rifles\par | |||
| bot_allow_machine_guns\par | |||
| bot_allow_grenades\par | |||
| bot_allow_snipers\par | |||
| bot_allow_shield\par | |||
| \b0 All of the "bot_allow" cvars can be either 0 or 1. If zero, the bots will not buy or use the given category of weapon.\par | |||
| \par | |||
| \b bot_allow_rogues \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, allows bots to occasionally "go rogue". Rogue bots just "run and gun", and will respond to all radio commands with "Negative".\par | |||
| \par | |||
| \par | |||
| \cf1\ul\b NAVIGATION MESH EDITING\cf0\par | |||
| \par | |||
| \ulnone\b0 Each of the following bot_nav_ commands operate on the navigation mesh, allowing hand-tuning of the automatically learned data. It is recommended that these commands be bound to keys for ease of use while editing.\par | |||
| \cf3\b CAUTION:\cf0\b0 There is no "undo" operation. Save your navigation mesh often.\par | |||
| \par | |||
| \b bot_nav_mark\b0\par | |||
| Marks the currently selected nav area for later operations.\par | |||
| \par | |||
| \b bot_goto_mark\b0\par | |||
| Causes one bot in the map to move to the center of the currently marked area. This is useful for testing the walkability of specific portions of the navigation mesh.\par | |||
| \par | |||
| \b bot_nav_delete\b0\par | |||
| Deletes the currently selected nav area.\par | |||
| \par | |||
| \b bot_nav_split\b0\par | |||
| Splits the currently selected nav area into two new nav areas, along the white split line.\par | |||
| \par | |||
| \b bot_nav_merge\b0\par | |||
| Merges the currently selected nav area and a previously marked nav area into a new, single nav area. The merge will only occur if the two areas are the same size along the merge line.\par | |||
| \par | |||
| \b bot_nav_connect\b0\par | |||
| Creates a ONE WAY link from the currently marked area to the currently selected area, telling the bots they can walk FROM the marked area TO the selected area. For most areas, you will want to connect the areas in both directions. However, for some "jump down" areas, the bots can move one way, but cannot get back the other.\par | |||
| \par | |||
| \b bot_nav_disconnect\b0\par | |||
| Disconnects ALL connections from the currently marked area to the currently selected area.\par | |||
| \par | |||
| \b bot_nav_begin_area\par | |||
| bot_nav_end_area\b0\par | |||
| These two commands allow the creation of new nav areas. "bot_nav_begin_area" marks one corner of the area. "bot_nav_end_area" marks the opposite corner of the area and creates it. To cancel the operation, issue a "bot_nav_begin_area" command again.\par | |||
| \par | |||
| \b bot_nav_splice\b0\par | |||
| Creates a new nav area between the currently marked area and the currently selected area, and bidirectionally connects the new area. This command is especially useful for creating sloped nav areas.\par | |||
| \par | |||
| \b bot_nav_crouch\b0\par | |||
| Flags the currently selected area as "crouch", requiring bots to crouch (duck) to move through it.\par | |||
| \par | |||
| \b bot_nav_jump\b0\par | |||
| Flags the currently selected area as "jump". This is a hint to the bots that they should jump to traverse this area.\par | |||
| \par | |||
| \b bot_nav_edit \cf2 [0,1]\b0\par | |||
| \cf0 Setting this cvar to 1 allows hand-tuning of the bot's navigation mesh. Once edit mode has been activated, the bot_nav_* commands can be used.\par | |||
| \par | |||
| \b bot_nav_zdraw \cf2 <height value>\b0\par | |||
| \cf0 This value determines how high above the ground to draw the "nav mesh" when in nav edit mode. If the terrain is very irregular or highly sloped, it can be useful to increase this value to 10 or 15. The default value is 4.\par | |||
| \par | |||
| \b bot_quicksave \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, the analysis phase of map learning will be skipped. This is useful when iteratively hand-tuning nav files. Note that withough this analysis, the bots will not look around the world properly.\par | |||
| \par | |||
| \par | |||
| \cf1\ul\b NAVIGATION MESH PROCESSING\cf0\par | |||
| \ulnone\b0\par | |||
| \b bot_nav_analyze\b0\par | |||
| Analyze the navigation mesh to determine Approach Points and Encounter Spots. This may take several minutes based on the size and complexity of the map.\par | |||
| \cf4\b NOTE:\cf0\b0 This command requires one bot to be in the game. The recommended procedure is to save the mesh, add a bot, and quickly enter bot_analyze.\par | |||
| \par | |||
| \b bot_nav_save\b0\par | |||
| Saves the current navigation mesh to disk. The navigation mesh ("nav" file) is automatically named to correspond to the current map file. For instance, if the map is de_dust.bsp, the nav file will be de_dust.nav.\par | |||
| \par | |||
| \b bot_nav_load\b0\par | |||
| Clears the current navigation mesh, and loads it from disk.\par | |||
| \par | |||
| \par | |||
| \cf1\ul\b DEBUGGING\cf0\ulnone\b0\par | |||
| \par | |||
| \b bot_walk \cf2 [0,1]\b0\par | |||
| \cf0 Force all bots to walk (disallow running).\par | |||
| \par | |||
| \b bot_stop \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, all bots will stop moving and responding.\par | |||
| \par | |||
| \b bot_show_nav \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, the nav mesh near each bot is drawn.\par | |||
| \par | |||
| \b bot_show_danger \cf2 [0,1]\b0\par | |||
| \cf0 If nonzero, the "danger" in each nav area is draw as a vertical line. Blue lines represent danger for CTs, and red lines are danger for Ts.\par | |||
| \par | |||
| \b bot_traceview \cf2 <value>\b0\par | |||
| \cf0 Used for internal debugging of bot navigation.\par | |||
| \par | |||
| \b bot_debug \cf2 <value>\b0\par | |||
| \cf0 Used for internal debugging of bot behavior.\par | |||
| \par | |||
| \par | |||
| \cf1\ul\b MISC\ulnone\b0\par | |||
| \cf0\par | |||
| \b bot_about\b0\par | |||
| Displays the bot version number, and information about the bot's author.\par | |||
| \f1\par | |||
| } | |||