1
0
mirror of https://github.com/ineedbots/iw5_bot_warfare.git synced 2025-07-04 10:01:49 +00:00

Compare commits

80 Commits

Author SHA1 Message Date
d76bff04a6 Merge branch 'master' of https://github.com/ineedbots/piw5_bot_warfare 2024-09-21 20:25:50 -06:00
02ffc62730 import old camp changes 2024-09-21 20:25:47 -06:00
ab7979f9d1 Update README.md
rip rsebots.blogspot
2024-08-13 11:31:14 -06:00
3325405f08 missing tag 2024-05-17 07:52:49 -06:00
b005f90e99 add menu option 2024-05-16 10:44:45 -06:00
41fb775e97 simplify 2024-05-16 10:35:01 -06:00
3a68ef5ffc add bots_manage_fill_watchplayers 2024-05-16 10:32:16 -06:00
7a8041f065 Update README.md 2024-05-12 22:02:38 -06:00
d92d2c03c4 fix script errors 2024-05-10 00:06:49 -06:00
12ca117bdc fixed menu var leak 2024-05-09 20:54:03 -06:00
0300692cdd turret 2024-05-09 14:18:13 -06:00
d2ddce2169 update 2024-04-30 13:09:03 -06:00
7028290495 comment out 2024-04-30 10:56:15 -06:00
39c6f5054f the angle update 2024-04-30 01:33:08 -06:00
b47088538e chat event 2024-04-26 13:37:00 -06:00
1e0daca087 playername 2024-04-25 14:50:04 -06:00
dfe2ba0c47 connection events 2024-04-25 14:20:01 -06:00
c8df9ef311 cleanup 2024-04-05 14:11:28 -06:00
0b22a6b8a6 small fix 2024-04-04 17:02:46 -06:00
60a8f65180 update bones 2024-04-04 14:51:37 -06:00
5719080f45 update bones 2024-04-04 14:38:55 -06:00
1bf8314acd Cleanup trace for bones
Cleanup waypointcount
cleanup str concat
2024-04-04 13:19:51 -06:00
f31a306b0a missing 2024-03-20 15:24:20 -06:00
c4a222089c use options 2024-03-20 15:14:00 -06:00
a1651baa5a fix 2024-03-20 13:13:08 -06:00
748d261c02 add 2024-03-20 13:04:31 -06:00
06dfea7790 update 2024-03-20 13:04:27 -06:00
a9ea7acec3 pregsc 2024-03-20 12:57:08 -06:00
26a5adae13 waittillframeend bot events 2024-03-12 15:06:30 -06:00
a37aadfc2b Update README.md 2024-03-11 13:17:13 -06:00
f0a37dcfb7 Add changelog 2024-03-01 17:51:51 -06:00
0e8c73357e its time 2024-01-30 13:31:19 -06:00
04f5bc79ed fix knife target aimbot 2024-01-18 15:01:09 -06:00
469918d271 update ci 2024-01-18 14:16:56 -06:00
65e8d0629c move files into mp folder 2024-01-18 14:04:52 -06:00
d48f35bcff update ci 2024-01-15 12:17:38 -06:00
a56b11d478 use parse for now until gsc-tool gets new release 2024-01-07 21:19:37 -06:00
02017ca288 add ci! 2024-01-07 21:08:29 -06:00
3ff48407d5 fmt 2024-01-04 16:10:14 -06:00
04b7296246 case sensitivity 2023-12-23 13:21:16 -06:00
ca17899595 field names casing 2023-12-23 00:01:15 -06:00
2459a37a64 braces 2023-12-22 23:50:10 -06:00
11e6ab8469 comments spacing 2023-12-22 21:25:41 -06:00
a1d7e85fbc array index spacing 2023-12-22 21:23:10 -06:00
d738287275 fix the aim 2023-12-22 00:59:24 -06:00
72997da9d6 fix 2023-12-16 14:46:18 -06:00
a2e8e1bb3b small fix 2023-12-15 21:08:02 -06:00
bd2207eaf5 fix sab 2023-12-15 20:30:37 -06:00
a32b0ac00d fix lunge 2023-12-15 01:12:38 -06:00
6042bcbd41 add check 2023-12-13 19:17:47 -06:00
e664f60335 better bot kick logic 2023-12-13 12:39:40 -06:00
a838a56770 cleanup 2023-12-11 17:15:38 -06:00
2eff53e976 cleanup 2023-12-11 15:57:29 -06:00
9a0db18829 bot lunge 2023-12-10 05:50:01 -06:00
814cd9609e small fix 2023-12-10 05:21:39 -06:00
f0db932a5a fix 2023-12-07 16:21:03 -06:00
145f4da703 totally not an ai func 2023-12-06 12:38:48 -06:00
f6d050631a fix possible sre 2023-12-05 20:55:22 -06:00
8971cd806d fix 2023-12-05 14:54:42 -06:00
3debfd92d2 fix 2023-12-05 14:45:10 -06:00
119a8f8639 strtok 2023-12-02 16:34:15 -06:00
5ceeabcc2a added prio goal 2023-11-30 03:31:43 -06:00
e02f7d6cb2 change func name 2023-11-29 01:18:20 -06:00
8ecaf48ba9 Big cleanup 2023-11-28 20:23:55 -06:00
b5cfd27fa0 reorganization 2023-11-28 14:45:46 -06:00
1a991fbc95 one more SRE prevention 2023-11-26 18:05:36 -06:00
980faf9174 fix these possible SREs 2023-11-26 16:33:48 -06:00
41862fb341 Merge branch 'master' of https://github.com/ineedbots/piw5_bot_warfare 2023-07-09 18:54:30 -06:00
ea9ea321c7 small update 2023-07-09 18:53:55 -06:00
5f621bbf09 Update README.md 2023-06-01 16:44:40 -06:00
fed01fb54c Merge pull request #89 from Resxt/master
Add renaming bots instructions
2023-06-01 16:43:19 -06:00
6903fe09fc Add renaming bots instructions 2023-05-16 20:38:55 +02:00
47168c27d9 update pkg for latest pluto 2023-05-12 15:08:15 -06:00
b0bd171b31 float is a VANILLA builtin func in iw5 2023-03-23 13:43:42 -06:00
98aa33dbf0 doesnt work 2022-10-23 20:37:48 -06:00
07f24e266f Merge branch 'master' of https://github.com/ineedbots/piw5_bot_warfare 2022-10-21 13:41:04 -06:00
32a76e964f fix this team select 2022-10-21 13:41:03 -06:00
9c013c5bd8 Merge pull request #79 from Resxt/master
Update waypoints loading instructions
2022-09-20 17:05:50 -06:00
38ddce8e71 Update waypoints loading instructions
Update the documentation to give up-to-date instructions on how to load waypoints.

This is especially useful to prevent the game from crashing when the user has more than 30 waypoints, following issue #78
2022-09-12 14:24:04 +02:00
6a5af7d510 fix var crash 2022-06-19 10:13:17 -06:00
104 changed files with 22689 additions and 29526 deletions

View File

@ -1,21 +1,27 @@
# try to mimic the original gsc provided
# mode=ghc
mode=c
style=allman
indent=tab
indent=force-tab=2
lineend=windows
pad-oper
pad-paren-in
pad-header
# delete-empty-lines
# pad-brackets-in
fill-empty-lines
squeeze-lines=2
squeeze-ws
break-one-line-headers
add-braces
remove-comment-prefix
break-blocks
# remove-braces
indent-switches
indent-cases
indent-after-parens
indent-col1-comments
remove-comment-prefix

View File

@ -4,7 +4,7 @@ root = true
indent_style = tab
indent_size = 2
charset = latin1
trim_trailing_whitespace = true
trim_trailing_whitespace = false
insert_final_newline = true
[*.md]

21
.github/workflows/gsc-tool.yml vendored Normal file
View File

@ -0,0 +1,21 @@
name: gsc-tool
on: [push]
jobs:
main-win:
name: Compile on Windows
runs-on: windows-latest
steps:
- name: Check out files
uses: actions/checkout@main
- name: Setup gsc-tool
uses: xensik/setup-gsc-tool@v1
with:
version: '1.4.0'
- name: Run script
run: |
ci/gsc-tool.bat

16
.github/workflows/pregsc.ymloff vendored Normal file
View File

@ -0,0 +1,16 @@
name: pregsc
on: [push]
jobs:
main-win:
name: Run on Windows
runs-on: windows-latest
steps:
- name: Check out files
uses: actions/checkout@main
- name: Run script
run: |
ci/pregsc.bat

54
.gitignore vendored
View File

@ -1,52 +1,14 @@
# Ignore everything in repository root
/*
# Files to not ignore
!/.gitignore
!/.vscode
!/.editorconfig
!/.gitattributes
# Folder to not ignore
!/raw
/raw/*
!/raw/scripts
!/.astylerc
!/deploy.js
!/deploy.bat
!/z_deploy.bat
!/raw/maps
/raw/maps/*
!/raw/maps/mp/
/raw/maps/mp/**
!/raw/maps/mp/bots/
!/raw/maps/mp/bots/_bot_chat.gsc
!/raw/bw-assets
!/raw/bots.txt
!/out
!/raw/maps/mp/gametypes
!/raw/maps/mp/killstreaks
!/raw/maps/mp/mp_rust.d3dbsp.ents
!/raw/maps/mp/mp_nuked.d3dbsp.ents
!/admin
/admin/*
!/admin/server.cfg
!/admin/server.dsr
!/z_server.bat
!/README.md
*.zip
*.log
*.stat
*.exe
*.gscbin
!ci/
out/
logs/
demos/
images/
missingasset.csv
compiled/
source/
pregsc/
pregsc.dat

View File

@ -1,11 +1,11 @@
![GitHub Logo](/raw/bw-assets/bw-logo.png)
![GitHub Logo](/bw-assets/bw-logo.png)
# PlutoniumIW5 Bot Warfare
# IW5 Bot Warfare
Bot Warfare is a GSC mod for the [PlutoniumIW5 project](https://plutonium.pw/).
It aims to add playable AI to the multiplayer games of Modern Warfare 3.
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/piw5-bot-warfare-latest).
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/iw5-bot-warfare-latest).
## Contents
- [Features](#Features)
@ -15,7 +15,7 @@ You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfar
- [Credits](#Credits)
## Features
- A Waypoint Editor for creating and modifying bot's waypoints of traversing the map. Have a look at [Using the Waypoint editor](/raw/bw-assets/wpedit.md).
- A Waypoint Editor for creating and modifying bot's waypoints of traversing the map. Have a look at [Using the Waypoint editor](/bw-assets/wpedit.md).
- A clean and nice menu, you can edit every bot DVAR within in-game.
@ -52,7 +52,7 @@ You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfar
## Installation
0. Make sure that [PlutoniumIW5](https://plutonium.pw/docs/install/#iw5) is installed, updated and working properly.
- Download the [latest release](https://github.com/ineedbots/piw5_bot_warfare/releases) of Bot Warfare.
- Download the [latest release](https://github.com/ineedbots/iw5_bot_warfare/releases) of Bot Warfare.
1. Extract all the files from the Bot Warfare release archive you downloaded to anywhere on your computer.
2. Run the 'install.bat'. This copies the mod to your PlutoniumIW5 storage folder.
3. The mod is now installed, now run your game.
@ -70,48 +70,64 @@ You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfar
### DVARs
| Dvar | Description | Default Value |
|----------------------------------|---------------------------------------------------------------------------------------------|--------------:|
| bots_main | Enable this mod. | true |
| bots_main_firstIsHost | The first player to connect will be given host. | false |
| bots_main_GUIDs | A comma separated list of GUIDs of players who will be given host. | "" |
| bots_main | Enable this mod. | 1 |
| bots_main_firstIsHost | The first player to connect will be given host. | 0 |
| bots_main_GUIDs | A comma separated list of GUIDs of players who will be given host. | |
| bots_main_waitForHostTime | How many seconds to wait for the host player to connect before adding bots to the match. | 10 |
| bots_main_menu | Enable the in-game menu for hosts. | true |
| bots_main_debug | Enable the in-game waypoint editor. | false |
| bots_main_kickBotsAtEnd | Kick the bots at the end of a match. | false |
| bots_main_menu | Enable the in-game menu for hosts. | 1 |
| bots_main_debug | Enable the in-game waypoint editor at start of the game, or enable bot event prints. <ul><li>`0` - disable</li><li>`1` - for just debug events</li><li>`2` - for every event</li><ul> | 0 |
| bots_main_kickBotsAtEnd | Kick the bots at the end of a match. | 0 |
| bots_main_chat | The rate bots will chat at, set to 0 to disable. | 1.0 |
| bots_manage_add | Amount of bots to add to the game, once bots are added, resets back to `0`. | 0 |
| bots_manage_fill | Amount of players/bots (look at `bots_manage_fill_mode`) to maintain in the match. | 0 |
| bots_manage_fill_mode | `bots_manage_fill` players/bots counting method.<ul><li>`0` - counts both players and bots.</li><li>`1` - only counts bots.</li></ul> | 0 |
| bots_manage_fill_kick | If the amount of players/bots in the match exceeds `bots_manage_fill`, kick bots until no longer exceeds. | false |
| bots_manage_fill_spec | If when counting players for `bots_manage_fill` should include spectators. | true |
| bots_manage_fill_mode | `bots_manage_fill` players/bots counting method.<ul><li>`0` - counts both players and bots.</li><li>`1` - only counts bots.</li><li>`2` - exactly `0` but auto adjusts `bots_manage_fill` to map.</li><li>`3` - exactly `1` but auto adjusts `bots_manage_fill` to map.</li><li>`4` - bots are used for balancing teams.</li><li>`5` - exactly `4` but auto adjusts `bots_manage_fill` to map.</li></ul> | 0 |
| bots_manage_fill_watchplayers | Bots will not be added until one player is in the game | 0 |
| bots_manage_fill_kick | If the amount of players/bots in the match exceeds `bots_manage_fill`, kick bots until no longer exceeds. | 0 |
| bots_manage_fill_spec | If when counting players for `bots_manage_fill` should include spectators. | 1 |
| bots_team | One of `autoassign`, `allies`, `axis`, `spectator`, or `custom`. What team the bots should be on. | autoassign |
| bots_team_amount | When `bots_team` is set to `custom`. The amount of bots to be placed on the axis team. The remainder will be placed on the allies team. | 0 |
| bots_team_force | If the server should force bots' teams according to the `bots_team` value. When `bots_team` is `autoassign`, unbalanced teams will be balanced. This dvar is ignored when `bots_team` is `custom`. | false |
| bots_team_mode | When `bots_team_force` is `true` and `bots_team` is `autoassign`, players/bots counting method. <ul><li>`0` - counts both players and bots.</li><li>`1` - only counts bots</li></ul> | 0 |
| bots_skill | Bots' difficulty.<ul><li>`0` - Random difficulty for each bot.</li><li>`1` - Easiest difficulty for all bots.</li><li>`2` to `6` - Between easy and hard difficulty for all bots.</li><li>`7` - The hardest difficulty for all bots.</li><li>`8` - custom (look at the `bots_skill_<team>_<difficulty>` dvars</li></ul> | 0 |
| bots_team_force | If the server should force bots' teams according to the `bots_team` value. When `bots_team` is `autoassign`, unbalanced teams will be balanced. This dvar is ignored when `bots_team` is `custom`. | 0 |
| bots_team_mode | When `bots_team_force` is `1` and `bots_team` is `autoassign`, players/bots counting method. <ul><li>`0` - counts both players and bots.</li><li>`1` - only counts bots</li></ul> | 0 |
| bots_skill | Bots' difficulty.<ul><li>`0` - Random difficulty for each bot.</li><li>`1` - Easiest difficulty for all bots.</li><li>`2` to `6` - Between easy and hard difficulty for all bots.</li><li>`7` - The hardest difficulty for all bots.</li><li>`8` - custom (look at the `bots_skill_<team>_<difficulty>` dvars)</li><li>`9` - Every difficulty parameter is randomized</li></ul> | 0 |
| bots_skill_axis_hard | When `bots_skill` is set to `8`, the amount of hard difficulty bots to set on the axis team. | 0 |
| bots_skill_axis_med | When `bots_skill` is set to `8`, the amount of medium difficulty bots to set on the axis team. The remaining bots on the team will be set to easy difficulty. | 0 |
| bots_skill_allies_hard | When `bots_skill` is set to `8`, the amount of hard difficulty bots to set on the allies team. | 0 |
| bots_skill_allies_med | When `bots_skill` is set to `8`, the amount of medium difficulty bots to set on the allies team. The remaining bots on the team will be set to easy difficulty. | 0 |
| bots_skill_min | The minimum difficulty level for the bots. | 1 |
| bots_skill_max | The maximum difficulty level for the bots. | 7 |
| bots_loadout_reasonable | If the bots should filter bad performing create-a-class selections. | false |
| bots_loadout_allow_op | If the bots should be able to use overpowered and annoying create-a-class selections. | true |
| bots_loadout_reasonable | If the bots should filter bad performing create-a-class selections. | 0 |
| bots_loadout_allow_op | If the bots should be able to use overpowered and annoying create-a-class selections. | 1 |
| bots_loadout_rank | What rank to set the bots.<ul><li>`-1` - Average of all players in the match.</li><li>`0` - All random.</li><li>`1` or higher - Sets the bots' rank to this.</li></ul> | -1 |
| bots_loadout_prestige | What prestige to set the bots.<ul><li>`-1` - Same as host player in the match.</li><li>`-2` - All random.</li><li>`0` or higher - Sets the bots' prestige to this.</li></ul> | -1 |
| bots_play_move | If the bots can move. | true |
| bots_play_knife | If the bots can knife. | true |
| bots_play_fire | If the bots can fire. | true |
| bots_play_nade | If the bots can grenade. | true |
| bots_play_take_carepackages | If the bots can take carepackages. | true |
| bots_play_obj | If the bots can play the objective. | true |
| bots_play_camp | If the bots can camp. | true |
| bots_play_jumpdrop | If the bots can jump/drop shot. | true |
| bots_play_target_other | If the bots can target other entities other than players. | true |
| bots_play_killstreak | If the bots can call in killstreaks. | true |
| bots_play_ads | If the bots can aim down sights. | true |
| bots_play_aim | If the bots can aim. | true |
| bots_play_move | If the bots can move. | 1 |
| bots_play_knife | If the bots can knife. | 1 |
| bots_play_fire | If the bots can fire. | 1 |
| bots_play_nade | If the bots can grenade. | 1 |
| bots_play_take_carepackages | If the bots can take carepackages. | 1 |
| bots_play_obj | If the bots can play the objective. | 1 |
| bots_play_camp | If the bots can camp. | 1 |
| bots_play_jumpdrop | If the bots can jump/drop shot. | 1 |
| bots_play_target_other | If the bots can target other entities other than players. | 1 |
| bots_play_killstreak | If the bots can call in killstreaks. | 1 |
| bots_play_ads | If the bots can aim down sights. | 1 |
| bots_play_aim | If the bots can aim. | 1 |
## Changelog
- v2.3.0
- Fixed bots aiming in ac130/chopper being broken at times
- Bots properly use pred missiles
- Smoothed bot aim at range
- Fixed bots_manage_fill_spec players being counted with bots_manage_fill_mode 1 (bot only)
- Added bots_manage_fill_watchplayers dvar
- Bots hop off turrets if they get stuck on one
- Fixed script variable leak with opening and closing the in-game menu
- v2.2.0
- Bots can now melee lunge
- Fixed some chat related script runtime errors
- Fix bots possibly being stuck in sab
- Major cleanup
- v2.1.0
- Initial release (sync'd versions with other Bot Warfares)
@ -121,9 +137,10 @@ You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfar
- INeedGames - http://www.moddb.com/mods/bot-warfare
- tinkie101 - https://web.archive.org/web/20120326060712/http://alteriw.net/viewtopic.php?f=72&t=4869
- PeZBot team - http://www.moddb.com/mods/pezbot
- apdonato - http://rsebots.blogspot.ca/
- apdonato - https://web.archive.org/web/20240516065610/http://rsebots.blogspot.com/
- Ability
- Salvation
- Xensik - https://github.com/xensik/gsc-tool
### Waypoint Creators
- FragsAreUs - https://github.com/FragsAreUs

View File

@ -1,202 +0,0 @@
///////////////////////////////////////////////////
/// PlutoIW5 Server Configuration file //
///////////////////////////////////////////////////
///////////////////////////////////////////////////
// SERVER NAME & COLORS TIPS //
///////////////////////////////////////////////////
// //
// ^1 Red //
// ^2 Green //
// ^3 yellow //
// ^4 Blue //
// ^5 Cyan //
// ^6 Pink //
// ^7 White //
// ^8 Depends on the team colors playing. //
// ^9 Grey //
// ^0 Black //
// //
///////////////////////////////////////////////////
set sv_hostname "^1Bot ^3War^5fare" // Probbly useless. Change sv_hostname by changing your key at http://platform.plutonium.pw/serverkeys
set sv_motd "^1Bot ^3War^5fare" // Sets a custom motd which is shown on the intel message loadscreen when a player joins. leave blank for defualt intel messages.
//////////////////////////////////////////////////
// BASIC CONFIGURATION //
//////////////////////////////////////////////////
set g_password "" // Password Protected Server. Leave blank if you want players to join or set password if you want to keep public out.
set sv_maxclients "18" // Max players in your server. (Range 2-18)
set sv_timeout "20" // Timeout time period. You will timeout after (20) seconds when attempting to connect or if you are getting connection interruptions
set sv_reconnectlimit "3" // How many times you can try to reconnect
set sv_kickBanTime "0" // Time in seconds for a player temporary ban (on kick/tempban) (range 0 - 3600)
set sv_allowClientConsole "1" // Enable or Disable players ability to access server commands
set sv_pure "0" // verifying cilent files.
set sv_floodProtect "1" // Chat Spam Protection.
set scr_teambalance "0" // Balance players on team based games for for fair play.
seta g_allowVote "0" // Toggle voting for [player kick/map restart/next map] (0 or 1 (default) )
seta g_deadChat "1" // Toggle allowing dead players to chat with living players (0 (default) or 1)
set sv_enableBounces "1" // Enables bouncing on the server.
seta sv_enableDoubleTaps "1" // Allow double tap on weapon switching.
set g_inactivity "180" // Enable auto kick feature for idle/AFK players
set sv_allowAimAssist "1" // aa for controllers
set g_inactivitySpectator "180" // Time in seconds before a spectator gets kicked
//////////////////////////////////////////////////
// MOD SETTINGS //
//////////////////////////////////////////////////
seta sv_wwwBaseURL "" // Configure the URL to Fast DL mods from. (i.e. http://domain.tld/iw5)
seta fs_game "" // What mod are we loading? (i.e. "mods/MyMod")
//////////////////////////////////////////////////
// PRIVATE SLOT SETTINGS //
//////////////////////////////////////////////////
seta sv_privateClients "0" // Maximum number of private clients allowed on the server (range 0-18 (clamped to sv_maxclients) )
// Password for the private slots on this server. If set, users will be prompted on join attempt.
// Users providing this password will have access to all slots.
// Users providing an incorrect password will have access to the (sv_maxClients - sv_privateClients) public slots.
seta sv_privatePassword ""
//////////////////////////////////////////////////
// B3, IW4MADMIN, GAME LOG & RCON SETTINGS //
//////////////////////////////////////////////////
set logfile "2" // Enable loging 1-2? enable. 0 disable. Leave it on if you plan on using B3 or IW4MAdmin.
set g_logSync "1" // 0 only flush on game end, 1 flush when buffer full, 2 always flush after a write, 3 append to old logs.
set g_log "logs\games_mp.log" // IMPORTANT! Make sure the filename is unique for each server you clone!
set sv_sayName "^7Server^7" // name server-side 'say' commands show up as.
set sv_voice "1"
set sv_voiceQuality "0"
//////////////////////////////////////////////////////
// LOAD GAMETYPE DSR RECIPE CONFIGURATION //
//////////////////////////////////////////////////////
// This is defualt gametypes from admin folder. //
// //
// Can always custom make one in Private Match or //
// edit existing defulat DSR file with Notepad. //
// //
// TDM_default Team Deathmatch //
// DOM_default Domination //
// CTF_default Capture The Flag //
// DZ_default Drop Zone //
// FFA_default Free For All //
// GG_default Gun Game //
// HQ_default Headquarters //
// INF_default Infected //
// JUG_default Juggernaut //
// KC_default Kill Confirmed //
// OIC_default One In The Chamber //
// SAB_default Sabotage //
// SD_default Search and Destroy //
// TDEF_default Team Defender //
// TJ_default Team Juggernaut //
// //
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// MAP SHORT NAMES ROTATION LIST //
//////////////////////////////////////////////////////
// //
// mp_alpha - Lockdown //
// mp_bootleg - Bootleg //
// mp_bravo - Mission //
// mp_carbon - Carbon //
// mp_dome - Dome //
// mp_exchange - Downturn //
// mp_hardhat - Hardhat //
// mp_interchange - Interchange //
// mp_lambeth - Fallen //
// mp_mogadishu - Bakaara //
// mp_paris - Resistance //
// mp_plaza2 - Arkaden //
// mp_radar - Outpost //
// mp_seatown - Seatown //
// mp_underground - Underground //
// mp_village - Village //
// //
//// DLC FREE ////////////////////////////////////////
// //
// mp_terminal_cls - Terminal //
// mp_aground_ss - Aground //
// mp_courtyard_ss - Erosion //
// //
//// DLC COLLECTION 1 ////////////////////////////////
// //
// mp_italy - Piazza //
// mp_overwatch - Overwatch //
// mp_morningwood - Black Box //
// mp_park - Liberation //
// //
//// DLC COLLECTION 2 ////////////////////////////////
// //
// mp_meteora - Sanctuary //
// mp_cement - Foundation //
// mp_qadeem - Oasis //
// mp_restrepo_ss - Lookout //
// mp_hillside_ss - Getaway //
// //
//// DLC COLLECTION 3 ////////////////////////////////
// //
// mp_crosswalk_ss - Intersection //
// mp_burn_ss - U-Turn //
// mp_six_ss - Vortex //
// //
//// DLC COLLECTION 4 ////////////////////////////////
// //
// mp_boardwalk - Boardwalk //
// mp_moab - Gulch //
// mp_roughneck - Off Shore //
// mp_shipbreaker - Decommission //
// mp_nola - Parish //
// //
//// PLUTONIUM DLC ///////////////////////////////////
// //
// mp_rust - Rust //
// //
//////////////////////////////////////////////////////
set bots_manage_add "9"
set bots_manage_fill "9"
set bots_manage_fill_kick "1"
set bots_manage_fill_spec "0"
set bots_manage_fill_mode "1"
set bots_team_force "1"
set bots_team_mode "0"
set bots_team "axis"
set bots_main_waitforhosttime "0"
set bots_loadout_allow_op "0"
set bots_main_menu "0"
set bots_skill "8"
set bots_skill_axis_med "3"
set dom_lastFlagUseTimeMulti "4.0"
set scr_showHP "1"
set scr_killstreak_print "2"
set scr_printDamage "1"
set g_playerCollision "1"
set g_playerEjection "1"
set g_fixBulletDamageDupe "1"
set bullet_penetration_affected_by_team "0"
set sv_patchXmagShotguns "0"
set scr_xpscale_ "10"
set scr_weaponxpscale_ "2"
set killstreakSpawnShield "0"
set sv_local_client_snapshot_msec "-1"
set cl_penaltyTimeBookend "0"
set cl_adjTimeDeltaCalcAlgorithmMW2 "1"
set sv_maprotation "dsr server map mp_dome map mp_rust map mp_nuked"

View File

@ -1,651 +0,0 @@
gameOpt commonOption.allowCustomClasses "1" // [ 0, 1 ]
gameOpt commonOption.allowKillstreaks "1" // [ 0, 1 ]
gameOpt commonOption.allowPerks "1" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.acog "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.akimbo "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.eotech "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.gl "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.gp25 "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.grip "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.hamrhybrid "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.heartbeat "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.hybrid "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.m320 "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.reflex "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.rof "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.shotgun "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.silencer "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.silencer02 "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.silencer03 "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.tactical "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.thermal "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.vzscope "0" // [ 0, 1 ]
gameOpt commonOption.attachmentRestricted.xmags "0" // [ 0, 1 ]
gameOpt commonOption.forceRespawn "1" // [ 0, 1 ]
gameOpt commonOption.forceThirdPersonView "0" // [ 0, 1 ]
gameOpt commonOption.friendlyFire "0" // [ 0, 1 ]
gameOpt commonOption.hardcoreModeOn "0" // [ 0, 1 ]
gameOpt commonOption.headshotsOnly "0" // [ 0, 1 ]
gameOpt commonOption.healthRegen "5.0000" // [ 5, 0-10 ]
gameOpt commonOption.killstreakClassRestricted.streaktype_assault "0" // [ 0, 1 ]
gameOpt commonOption.killstreakClassRestricted.streaktype_specialist "0" // [ 0, 1 ]
gameOpt commonOption.killstreakClassRestricted.streaktype_support "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted._specialty_blastshield_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.ac130 "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_assault "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_juggernaut "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_juggernaut_recon "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_remote_tank "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_sentry_minigun "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.airdrop_trap "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.counter_uav "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.deployable_vest "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.emp "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.escort_airdrop "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.helicopter "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.helicopter_flares "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.ims "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.littlebird_flock "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.littlebird_support "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.osprey_gunner "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.precision_airstrike "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.predator_missile "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.remote_mg_turret "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.remote_mortar "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.remote_uav "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.sam_turret "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_autospot_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_blindeye_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_bulletaccuracy_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_coldblooded_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_detectexplosive_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_fastreload_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_hardline_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_longersprint_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_paint_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_quickdraw_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_quieter_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_scavenger_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.specialty_stalker_ks "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.stealth_airstrike "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.triple_uav "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.uav "0" // [ 0, 1 ]
gameOpt commonOption.killstreakRestricted.uav_support "0" // [ 0, 1 ]
gameOpt commonOption.maxHealth "100.0000" // [ 30, 50, 100, 200 ]
gameOpt commonOption.numLives "0" // [ 0, 1, 2, 3, 5, 9 ]
gameOpt commonOption.perkRestricted._specialty_blastshield "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.bouncingbetty_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.c4_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.claymore_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.concussion_grenade_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.emp_grenade_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.flash_grenade_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.frag_grenade_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.semtex_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.smoke_grenade_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_autospot "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_blindeye "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_bling "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_bulletaccuracy "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_c4death "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_coldblooded "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_detectexplosive "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_fastermelee "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_fastreload "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_finalstand "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_grenadepulldeath "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_hardline "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_holdbreathwhileads "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_juiced "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_lightweight "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_longerrange "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_longersprint "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_marksman "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_moredamage "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_paint "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_portable_radar "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_quickdraw "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_quieter "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_reducedsway "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_revenge "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_scavenger "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_scrambler "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_sharp_focus "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_stalker "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_stopping_power "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_tacticalinsertion "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.specialty_twoprimaries "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.throwingknife_mp "0" // [ 0, 1 ]
gameOpt commonOption.perkRestricted.trophy_mp "0" // [ 0, 1 ]
gameOpt commonOption.radarAlwaysOn "0" // [ 0, 1 ]
gameOpt commonOption.respawnDelay "0.0000" // [ 0, 5, 7.5, 10, 15, 30 ]
gameOpt commonOption.scoreLimit "250" // [ 0, 1, 3, 4, 5, 8, 10, 12, 15, 20, 24, 30, 50, 65, 80, 100, 200, 250, 500, 750, 1000, 1500, 2500, 3000, 5000, 7000, 7500, 10000, 15000, 20000, 30000 ]
gameOpt commonOption.showKillcam "1" // [ 0, 1 ]
gameOpt commonOption.spectateModeAllowed "2" // [ 0, 1, 2 ]
gameOpt commonOption.timeLimit "30" // [ 0-30 ]
gameOpt commonOption.waveRespawnDelay "0" // [ 0, 5, 10, 15, 30 ]
gameOpt commonOption.weaponRestricted.iw5_1887 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_44magnum "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_aa12 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_acr "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_ak47 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_ak74u "0"
gameOpt commonOption.weaponRestricted.iw5_as50 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_barrett "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_cheytac "0"
gameOpt commonOption.weaponRestricted.iw5_cm901 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_deserteagle "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_dragunov "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_fad "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_fmg9 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_fnfiveseven "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_g18 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_g36c "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_ksg "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_l96a1 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_m16 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_m4 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_m60 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_m9 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mg36 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mk14 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mk46 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mp412 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mp5 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mp7 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_mp9 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_msr "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_p90 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_p99 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_pecheneg "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_pp90m1 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_rsass "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_sa80 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_scar "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_skorpion "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_smaw "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_spas12 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_striker "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_type95 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_ump45 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_usas12 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.iw5_usp45 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.javelin "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.m320 "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.riotshield "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.rpg "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.stinger "0" // [ 0, 1 ]
gameOpt commonOption.weaponRestricted.xm25 "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[0].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[0].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[0].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[0].class.deathstreak "specialty_finalstand" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[0].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[0].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[0].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[0].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.allies.[0].class.name "AR"
gameOpt defaultClasses.allies.[0].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[0].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[0].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[0].class.perks.[3] "specialty_stalker" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[0].class.perks.[5] "streaktype_specialist" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[0].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[0].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[0].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[0].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[0].class.specialistStreaks.[0] "specialty_autospot_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[0].class.specialistStreaks.[1] "specialty_fastreload_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[0].class.specialistStreaks.[2] "specialty_quickdraw_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[0].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].attachment.[1] "silencer" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].buff "specialty_bling" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[0].weapon "iw5_acr" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].attachment.[0] "akimbo" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[0].class.weaponSetups.[1].weapon "iw5_fmg9" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[0].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[1].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[1].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[1].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[1].class.deathstreak "specialty_stopping_power" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[1].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[1].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[1].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[1].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.allies.[1].class.name "SHOTGUN"
gameOpt defaultClasses.allies.[1].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[1].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[1].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[1].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[1].class.perks.[5] "streaktype_specialist" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[1].class.perks.[6] "specialty_tacticalinsertion" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[1].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[1].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[1].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[1].class.specialistStreaks.[0] "specialty_fastreload_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[1].class.specialistStreaks.[1] "specialty_longersprint_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[1].class.specialistStreaks.[2] "specialty_detectexplosive_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[1].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].buff "specialty_longerrange" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[0].weapon "iw5_striker" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].attachment.[0] "akimbo" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[1].class.weaponSetups.[1].weapon "iw5_skorpion" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[1].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[2].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[2].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[2].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[2].class.deathstreak "specialty_juiced" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[2].class.defenseStreaks.[0] "uav_support" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[2].class.defenseStreaks.[1] "stealth_airstrike" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[2].class.defenseStreaks.[2] "emp" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[2].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.allies.[2].class.name "SNIPER"
gameOpt defaultClasses.allies.[2].class.perks.[0] "throwingknife_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[2].class.perks.[1] "specialty_fastreload" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[2].class.perks.[2] "specialty_quickdraw" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[2].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[2].class.perks.[5] "streaktype_support" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[2].class.perks.[6] "specialty_tacticalinsertion" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[2].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[2].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[2].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[2].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[2].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[2].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[2].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].buff "specialty_reducedsway" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[0].weapon "iw5_msr" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].attachment.[0] "tactical" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[2].class.weaponSetups.[1].weapon "iw5_p99" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[2].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[3].class.assaultStreaks.[0] "predator_missile" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[3].class.assaultStreaks.[1] "littlebird_flock" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[3].class.assaultStreaks.[2] "helicopter_flares" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[3].class.deathstreak "specialty_grenadepulldeath" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[3].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[3].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[3].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[3].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.allies.[3].class.name "LMG"
gameOpt defaultClasses.allies.[3].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[3].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[3].class.perks.[2] "specialty_twoprimaries" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[3].class.perks.[3] "specialty_stalker" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[3].class.perks.[5] "streaktype_assault" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[3].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[3].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[3].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[3].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[3].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[3].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[3].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[3].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].attachment.[0] "reflex" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].buff "specialty_lightweight" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[0].weapon "iw5_m60" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].buff "specialty_lightweight" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[3].class.weaponSetups.[1].weapon "riotshield" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[3].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[4].class.assaultStreaks.[0] "ims" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[4].class.assaultStreaks.[1] "precision_airstrike" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[4].class.assaultStreaks.[2] "littlebird_support" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[4].class.deathstreak "specialty_finalstand" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[4].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[4].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[4].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[4].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.allies.[4].class.name "SMG"
gameOpt defaultClasses.allies.[4].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[4].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[4].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[4].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[4].class.perks.[5] "streaktype_assault" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[4].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[4].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[4].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[4].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[4].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[4].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[4].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[4].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].attachment.[1] "silencer" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].buff "specialty_bling" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[0].weapon "iw5_mp7" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[4].class.weaponSetups.[1].weapon "javelin" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[4].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[5].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[5].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[5].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.allies.[5].class.deathstreak "specialty_null" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.allies.[5].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[5].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[5].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.allies.[5].class.inUse "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[5].class.name "Custom Class 6"
gameOpt defaultClasses.allies.[5].class.perks.[0] "specialty_null" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.allies.[5].class.perks.[1] "specialty_null" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.allies.[5].class.perks.[2] "specialty_null" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.allies.[5].class.perks.[3] "specialty_null" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.allies.[5].class.perks.[5] "specialty_null" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.allies.[5].class.perks.[6] "specialty_null" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.allies.[5].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[5].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[5].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.allies.[5].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[5].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[5].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.allies.[5].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[0].weapon "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.allies.[5].class.weaponSetups.[1].weapon "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.allies.[5].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[0].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[0].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[0].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[0].class.deathstreak "specialty_finalstand" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[0].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[0].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[0].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[0].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.axis.[0].class.name "AR"
gameOpt defaultClasses.axis.[0].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[0].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[0].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[0].class.perks.[3] "specialty_stalker" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[0].class.perks.[5] "streaktype_specialist" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[0].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[0].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[0].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[0].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[0].class.specialistStreaks.[0] "specialty_autospot_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[0].class.specialistStreaks.[1] "specialty_fastreload_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[0].class.specialistStreaks.[2] "specialty_quickdraw_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[0].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].attachment.[1] "silencer" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].buff "specialty_bling" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[0].weapon "iw5_acr" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].attachment.[0] "akimbo" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[0].class.weaponSetups.[1].weapon "iw5_fmg9" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[0].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[1].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[1].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[1].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[1].class.deathstreak "specialty_stopping_power" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[1].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[1].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[1].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[1].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.axis.[1].class.name "SHOTGUN"
gameOpt defaultClasses.axis.[1].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[1].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[1].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[1].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[1].class.perks.[5] "streaktype_specialist" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[1].class.perks.[6] "specialty_tacticalinsertion" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[1].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[1].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[1].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[1].class.specialistStreaks.[0] "specialty_fastreload_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[1].class.specialistStreaks.[1] "specialty_longersprint_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[1].class.specialistStreaks.[2] "specialty_detectexplosive_ks" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[1].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].buff "specialty_longerrange" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[0].weapon "iw5_striker" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].attachment.[0] "akimbo" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[1].class.weaponSetups.[1].weapon "iw5_skorpion" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[1].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[2].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[2].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[2].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[2].class.deathstreak "specialty_juiced" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[2].class.defenseStreaks.[0] "uav_support" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[2].class.defenseStreaks.[1] "stealth_airstrike" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[2].class.defenseStreaks.[2] "emp" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[2].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.axis.[2].class.name "SNIPER"
gameOpt defaultClasses.axis.[2].class.perks.[0] "throwingknife_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[2].class.perks.[1] "specialty_fastreload" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[2].class.perks.[2] "specialty_quickdraw" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[2].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[2].class.perks.[5] "streaktype_support" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[2].class.perks.[6] "specialty_tacticalinsertion" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[2].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[2].class.specialistStreakKills.[1] "4" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[2].class.specialistStreakKills.[2] "6" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[2].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[2].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[2].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[2].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].buff "specialty_reducedsway" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[0].weapon "iw5_msr" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].attachment.[0] "tactical" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[2].class.weaponSetups.[1].weapon "iw5_p99" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[2].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[3].class.assaultStreaks.[0] "predator_missile" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[3].class.assaultStreaks.[1] "littlebird_flock" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[3].class.assaultStreaks.[2] "helicopter_flares" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[3].class.deathstreak "specialty_grenadepulldeath" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[3].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[3].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[3].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[3].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.axis.[3].class.name "LMG"
gameOpt defaultClasses.axis.[3].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[3].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[3].class.perks.[2] "specialty_twoprimaries" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[3].class.perks.[3] "specialty_stalker" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[3].class.perks.[5] "streaktype_assault" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[3].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[3].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[3].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[3].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[3].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[3].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[3].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[3].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].attachment.[0] "reflex" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].buff "specialty_lightweight" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[0].weapon "iw5_m60" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].buff "specialty_lightweight" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[3].class.weaponSetups.[1].weapon "riotshield" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[3].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[4].class.assaultStreaks.[0] "ims" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[4].class.assaultStreaks.[1] "precision_airstrike" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[4].class.assaultStreaks.[2] "littlebird_support" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[4].class.deathstreak "specialty_finalstand" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[4].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[4].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[4].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[4].class.inUse "1" // [ 0, 1 ]
gameOpt defaultClasses.axis.[4].class.name "SMG"
gameOpt defaultClasses.axis.[4].class.perks.[0] "c4_mp" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[4].class.perks.[1] "specialty_scavenger" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[4].class.perks.[2] "specialty_hardline" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[4].class.perks.[3] "specialty_bulletaccuracy" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[4].class.perks.[5] "streaktype_assault" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[4].class.perks.[6] "specialty_portable_radar" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[4].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[4].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[4].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[4].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[4].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[4].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[4].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].attachment.[0] "xmags" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].attachment.[1] "silencer" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].buff "specialty_bling" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[0].weapon "iw5_mp7" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[4].class.weaponSetups.[1].weapon "javelin" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[4].juggernaut "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[5].class.assaultStreaks.[0] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[5].class.assaultStreaks.[1] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[5].class.assaultStreaks.[2] "none" // [ none, uav, airdrop_assault, ims, predator_missile, airdrop_sentry_minigun, precision_airstrike, helicopter, littlebird_flock, littlebird_support, remote_mortar, airdrop_remote_tank, ac130, helicopter_flares, airdrop_juggernaut, osprey_gunner ]
gameOpt defaultClasses.axis.[5].class.deathstreak "specialty_null" // [ specialty_null, specialty_juiced, specialty_revenge, specialty_finalstand, specialty_grenadepulldeath, specialty_c4death, specialty_stopping_power ]
gameOpt defaultClasses.axis.[5].class.defenseStreaks.[0] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[5].class.defenseStreaks.[1] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[5].class.defenseStreaks.[2] "none" // [ none, uav_support, counter_uav, deployable_vest, sam_turret, remote_uav, airdrop_trap, triple_uav, remote_mg_turret, emp, stealth_airstrike, airdrop_juggernaut_recon, escort_airdrop ]
gameOpt defaultClasses.axis.[5].class.inUse "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[5].class.name "Custom Class 6"
gameOpt defaultClasses.axis.[5].class.perks.[0] "specialty_null" // [ specialty_null, bouncingbetty_mp, frag_grenade_mp, semtex_mp, throwingknife_mp, claymore_mp, c4_mp ]
gameOpt defaultClasses.axis.[5].class.perks.[1] "specialty_null" // [ specialty_null, specialty_paint, specialty_fastreload, specialty_blindeye, specialty_longersprint, specialty_scavenger ]
gameOpt defaultClasses.axis.[5].class.perks.[2] "specialty_null" // [ specialty_null, specialty_quickdraw, _specialty_blastshield, specialty_hardline, specialty_coldblooded, specialty_twoprimaries ]
gameOpt defaultClasses.axis.[5].class.perks.[3] "specialty_null" // [ specialty_null, specialty_autospot, specialty_stalker, specialty_detectexplosive, specialty_bulletaccuracy, specialty_quieter ]
gameOpt defaultClasses.axis.[5].class.perks.[5] "specialty_null" // [ specialty_null, streaktype_specialist, streaktype_support, streaktype_assault ]
gameOpt defaultClasses.axis.[5].class.perks.[6] "specialty_null" // [ specialty_null, flash_grenade_mp, concussion_grenade_mp, specialty_scrambler, emp_grenade_mp, smoke_grenade_mp, trophy_mp, specialty_tacticalinsertion, specialty_portable_radar ]
gameOpt defaultClasses.axis.[5].class.specialistStreakKills.[0] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[5].class.specialistStreakKills.[1] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[5].class.specialistStreakKills.[2] "2" // [ 2, 3, 4, 5, 6, 7, 8, 9 ]
gameOpt defaultClasses.axis.[5].class.specialistStreaks.[0] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[5].class.specialistStreaks.[1] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[5].class.specialistStreaks.[2] "none" // [ none, specialty_longersprint_ks, specialty_fastreload_ks, specialty_scavenger_ks, specialty_blindeye_ks, specialty_paint_ks, specialty_hardline_ks, specialty_coldblooded_ks, specialty_quickdraw_ks, _specialty_blastshield_ks, specialty_detectexplosive_ks, specialty_autospot_ks, specialty_bulletaccuracy_ks, specialty_quieter_ks, specialty_stalker_ks ]
gameOpt defaultClasses.axis.[5].class.specialistStreaksBeenPicked "0" // [ 0, 1 ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[0].weapon "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].attachment.[0] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].attachment.[1] "none" // [ none, reflex, acog, grip, akimbo, thermal, shotgun, heartbeat, xmags, rof, eotech, tactical, vzscope, gl, gp25, m320, silencer, silencer02, silencer03, hamrhybrid, hybrid ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].buff "specialty_null" // [ specialty_marksman, specialty_bulletpenetration, specialty_bling, specialty_sharp_focus, specialty_holdbreathwhileads, specialty_reducedsway, specialty_longerrange, specialty_fastermelee, specialty_lightweight, specialty_moredamage, specialty_null ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].camo "none" // [ none, classic, snow, multi, d_urban, hex, choco, marine, snake, winter, blue, red, autumn, gold ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].reticle "none" // [ none, ret1, ret2, ret3, ret4, ret5, ret6 ]
gameOpt defaultClasses.axis.[5].class.weaponSetups.[1].weapon "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, stinger, iw5_smaw, m320, riotshield, xm25 ]
gameOpt defaultClasses.axis.[5].juggernaut "0" // [ 0, 1 ]
gameOpt demData.bombTimer "0" // [ 0-120 ]
gameOpt demData.defuseTime "0.0000" // [ 0-10 ]
gameOpt demData.extraTime "0.0000" // [ 0-5 ]
gameOpt demData.plantTime "0.0000" // [ 0-10 ]
gameOpt demData.roundSwitch "0" // [ 0, 1, 2, 3, 4 ]
gameOpt gametype "dom" // [ war, dm, sd, sab, dom, koth, ctf, dd, tdef, conf, grnd, tjugg, jugg, gun, infect, oic ]
gameOpt grndData.dropTime "0.0000" // [ 0-120 ]
gameOpt grndData.zoneSwitchTime "0.0000" // [ 0-5 ]
gameOpt gunData.guns.[0] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[1] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[2] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[3] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[4] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[5] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[6] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[7] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[8] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[9] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[10] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[11] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[12] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[13] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[14] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[15] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[16] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[17] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[18] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.guns.[19] "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, riotshield, xm25 ]
gameOpt gunData.numGuns "0" // [ 0-20 ]
gameOpt gunData.randomize "0" // [ 0, 1 ]
gameOpt hqData.HQActivateDelay "0" // [ 0-60 ]
gameOpt hqData.HQLifetime "0" // [ 0-120 ]
gameOpt infectData.numInitialInfected "0" // [ 0-9 ]
gameOpt juggData.respawnNewJugg "0" // [ 0, 1 ]
gameOpt juggData.showJuggRadarIcon "0" // [ 0, 1 ]
gameOpt juggData.showJuggWorldIcon "0" // [ 0, 1 ]
gameOpt juggData.useJuggTimeLimit "0"
gameOpt oicData.initialAmmoCount "0" // [ 1, 0-15 ]
gameOpt oicData.killRewardAmmoCount "0" // [ 1, 0-15 ]
gameOpt oicData.oneShotKill "0" // [ 0, 1 ]
gameOpt oicData.weapon "none" // [ none, iw5_usp45, iw5_mp412, iw5_44magnum, iw5_deserteagle, iw5_p99, iw5_fnfiveseven, iw5_acr, iw5_type95, iw5_m4, iw5_ak47, iw5_m16, iw5_mk14, iw5_g36c, iw5_scar, iw5_fad, iw5_cm901, iw5_mp5, iw5_m9, iw5_p90, iw5_pp90m1, iw5_ump45, iw5_mp7, iw5_fmg9, iw5_g18, iw5_mp9, iw5_skorpion, iw5_spas12, iw5_aa12, iw5_striker, iw5_1887, iw5_usas12, iw5_ksg, iw5_m60, iw5_mk46, iw5_pecheneg, iw5_sa80, iw5_mg36, iw5_barrett, iw5_msr, iw5_rsass, iw5_dragunov, iw5_as50, iw5_l96a1, rpg, javelin, iw5_smaw, m320, xm25 ]
gameOpt sabData.bombTimer "0" // [ 5, 0-120 ]
gameOpt sabData.defuseTime "0.0000" // [ 5, 0-10 ]
gameOpt sabData.plantTime "0.0000" // [ 1, 0-10 ]
gameOpt sabData.sharedBombTimer "0" // [ 0, 1 ]
gameOpt sdData.bombTimer "0" // [ 0-60 ]
gameOpt sdData.defuseTime "0.0000" // [ 0-10 ]
gameOpt sdData.multiBomb "0" // [ 0, 1 ]
gameOpt sdData.plantTime "0.0000" // [ 0-10 ]
gameOpt sdData.roundLength "0.0000" // [ 0-10 ]
gameOpt sdData.roundSwitch "0" // [ 0-4 ]
gameOpt tdefData.enemyFlagRadar "0" // [ 0, 1 ]
gameOpt tjuggData.juggSwitchTime "0.0000" // [ 0-120 ]

View File

Before

Width:  |  Height:  |  Size: 731 KiB

After

Width:  |  Height:  |  Size: 731 KiB

View File

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 172 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
bw-assets/wp-editor-wps.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -13,15 +13,15 @@ Now if you want to modify existing or create new waypoints for PlutoniumIW5 maps
The Bot Warfare mod comes with the Waypoint Editor out of the box, so its just a matter of telling the mod you want to use it. Its a matter of setting the 'bots_main_debug' DVAR to '1'.
Start your game, and load up the Bot Warfare mod. Now open your console with tilde(~).<br>
![How tilde](/raw/bw-assets/how-tilde.png)
![How tilde](/bw-assets/how-tilde.png)
In the console, type in ```set bots_main_debug 1```<br>
![Setting the dvar](/raw/bw-assets/wp-editor-debug-dvar.png)
![Setting the dvar](/bw-assets/wp-editor-debug-dvar.png)
Now start a match with the map you want to edit.
## The Editor
![The editor](/raw/bw-assets/wp-editor-0.png)<br>
![The editor](/bw-assets/wp-editor-0.png)<br>
This is the Waypoint Editor. You can view, edit and create the waypoint graph.
- Each death icons you see are waypoints.
- Each line of knives show the links between the waypoints, a link defines that a bot can walk from A to B.
@ -59,10 +59,10 @@ Pressing any of these buttons will initiate a command to the Waypoint Editor.
Okay, now that you know how to control the Editor, lets now goahead and create some waypoints.
Here I added a waypoint.<br>
![Adding a waypoint](/raw/bw-assets/wp-editor-added.png)
![Adding a waypoint](/bw-assets/wp-editor-added.png)
And I added a second waypoint.<br>
![Adding another waypoint](/raw/bw-assets/wp-editor-added2.png)
![Adding another waypoint](/bw-assets/wp-editor-added2.png)
There are several types of waypoints, holding a modifier button before pressing the add waypoint button will create a special type of waypoint.
- Types of waypoints:
@ -75,7 +75,7 @@ There are several types of waypoints, holding a modifier button before pressing
- javelin - bots will use the javelin and lockon at the target location
Here I linked the two waypoints together.<br>
![Linking waypoints](/raw/bw-assets/wp-editor-linked.png)
![Linking waypoints](/bw-assets/wp-editor-linked.png)
Linking waypoints are very important, it tells the bots that they can reach waypoint 1 from waypoint 0, and vice versa.
@ -84,19 +84,29 @@ Now go and waypoint the whole map out. This may take awhile and can be pretty te
Once you feel like you are done, press the Save button. This will output the waypoints to your `games_mp.log` file.
Your `games_mp.log` can be located at the `C:\Users\<LOGINNAME>\AppData\Plutonium\storage\iw5` folder.<br>
![games_mp.log location](/raw/bw-assets/wp-editor-gamesmp_loc.png)
![games_mp.log location](/bw-assets/wp-editor-gamesmp_loc.png)
The editor will generate some GSC code for the waypoints.<br>
![games_mp.log](/raw/bw-assets/wp-editor-gamesmp.png)<br>
![games_mp.log](/bw-assets/wp-editor-gamesmp.png)<br>
This is the GSC function that will generate the waypoints for the map. If you have trouble beyond this point, simply create an Issue and provide the output from here, I can do the rest from there.
You can create/replace the map's waypoints GSC file with the function in `games_mp.log`. Just copy and paste the function into the `maps\mp\bots\waypoints\<MAPNAME>.gsc` file.<br>
![GSC waypoints](/raw/bw-assets/wp-editor-wps.png)
You can create/replace the map's waypoints GSC file with the function in `games_mp.log`.
Just copy and paste the function into the `scripts\mp\<MAPNAME>\<WAYPOINT>.gsc` file.
If you're working with a custom map you might need to create the folder with your map's name.
Then inside that newly created folder put your waypoints GSC file.
Make sure to have it named `wps_mapname`.
Also you need to add this `main` function at the topc of your waypoints GSC file to ensure Bot Warfare will load your waypoints. Replace `Dome` with the name of the function in your file.
```
main()
{
level.waypoints = Dome();
}
```
<br>
![GSC waypoints path](/bw-assets/wp-editor-wps-path.png)
![GSC waypoints](/bw-assets/wp-editor-wps.png)
The waypoints are loaded in the `maps\mp\bots\_bot_utility::load_waypoints()` function. Make changes accordingly to have Bot Warfare load your waypoints.<br>
![GSC loading the waypoints](/raw/bw-assets/wp-editor-loadwps.png)
Now Bot Warfare will use your waypoints you've created! Create a pull request to have your waypoints included in the mod if you like, any help is greatly appreciated.
Now Bot Warfare will use your waypoints you've created!

BIN
ci/30.gscbin Normal file

Binary file not shown.

BIN
ci/366.gscbin Normal file

Binary file not shown.

BIN
ci/851.gscbin Normal file

Binary file not shown.

6
ci/gsc-tool.bat Normal file
View File

@ -0,0 +1,6 @@
@echo off
xcopy /y .\ci\*.gscbin .\
rm .\scripts\mp\bots_adapter_piw5.gsc
gsc-tool.exe -m comp -g iw5 -s pc .\

10
ci/pregsc.bat Normal file
View File

@ -0,0 +1,10 @@
@echo off
if not exist ".\source\" mkdir .\source\
if not exist ".\source\scripts\" mkdir .\source\scripts\
if not exist ".\source\maps\" mkdir .\source\maps\
xcopy /y /s /e .\scripts\ .\source\scripts\
xcopy /y /s /e .\maps\ .\source\maps\
preGSC.exe -noforeach -nopause -infold .\source\ -outfold .\pregsc\

View File

@ -1,4 +0,0 @@
xcopy piw5_bot_warfare\raw\maps raw\maps\ /Y /I /E /H /C
xcopy piw5_bot_warfare\raw\scripts raw\scripts\ /Y /I /E /H /C
xcopy piw5_bot_warfare\admin admin\ /Y /I /E /H /C
xcopy piw5_bot_warfare\raw\bots.txt raw\ /Y /I /H /C

View File

@ -1,54 +0,0 @@
// nodejs 14+
const exec = require('util').promisify(require('child_process').exec)
const repo_name = 'piw5_bot_warfare'
const repo_url = `https://github.com/ineedbots/${repo_name}`
const deploy_check_rate = 60000
const title = 'PIW5 Bot Warfare Git Deployer'
function printToConsole(what, error = false)
{
log = error ? console.error : console.log
log(`[${new Date().toISOString()}]:`, what)
}
async function doDeploy() {
try {
const { stdout, stderr } = await exec(`cd ${repo_name} && git fetch`)
if (stderr.length <= 0)
return
if (stderr.startsWith('From '))
{
printToConsole('git fetched! Pulling...')
await exec(`cd ${repo_name} && git pull && git submodule update --init --recursive`)
printToConsole('Deploying...')
await exec('deploy.bat')
printToConsole('Deployed!')
}
} catch (e) {
printToConsole(e, true)
if (!e.stderr.startsWith('The system cannot find the path specified'))
return
printToConsole('Cloning repo...')
try {
await exec(`git clone ${repo_url} && cd ${repo_name} && git submodule update --init --recursive`)
printToConsole('Cloned!')
printToConsole('Deploying...')
await exec('deploy.bat')
printToConsole('Deployed!')
} catch (f) {
printToConsole(f, true)
}
}
}
process.stdout.write(`${String.fromCharCode(27)}]0;${title}${String.fromCharCode(7)}`)
doDeploy()
setInterval(doDeploy, deploy_check_rate)

1650
maps/mp/bots/_bot.gsc Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1398
maps/mp/bots/_menu.gsc Normal file

File diff suppressed because it is too large Load Diff

1084
maps/mp/bots/_wp_editor.gsc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,46 +0,0 @@
# PlutoniumIW5 Bot Warfare v2.1.0
Bot Warfare is a GSC mod for the PlutoniumIW5 project.
It aims to add playable AI to the multiplayer games of Modern Warfare 3.
You can find the GitHub containing more info at https://github.com/ineedbots/piw5_bot_warfare
## Installation
0. Make sure that PlutoniumIW5 is installed, updated and working properly.
1. Extract all the files from this archive to anywhere on your computer.
2. Run the 'install.bat'. This copies the mod to your PlutoniumIW5 storage folder.
3. The mod is now installed, now run your game.
4. The mod should be loaded! Now go start a map and play!
## Menu Usage
- You can open the menu by pressing the Action Slot 1 key (default 'N', nightvision key).
- You can navigate the options by pressing your movement keys (default WASD), and you can select options by pressing your jump key (default SPACE).
- Pressing the menu button again closes menus.
## Changelog
- v2.1.0
- Initial release (sync'd versions with other Bot Warfares)
## Credits
- Plutonium Team - https://plutonium.pw/
- CoD4x Team - https://github.com/callofduty4x/CoD4x_Server
- INeedGames - http://www.moddb.com/mods/bot-warfare
- tinkie101 - https://web.archive.org/web/20120326060712/http://alteriw.net/viewtopic.php?f=72&t=4869
- PeZBot team - http://www.moddb.com/mods/pezbot
- apdonato - http://rsebots.blogspot.ca/
- Ability
- Salvation
## Waypoint Creators
- FragsAreUs - https://github.com/FragsAreUs
- Aesirix - https://github.com/Aesirix
- EpikIzCool - https://github.com/super23
- doa3 - https://github.com/doa3
- ghostwulf - https://github.com/ghostwulf
- LeRutY - https://github.com/LeRutY
- GaryTheNoTrashCougar - https://github.com/GaryTheNoTrashCougar
Feel free to use code, host on other sites, host on servers, mod it and merge mods with it, just give credit where credit is due!
-INeedGames/INeedBot(s) @ ineedbots@outlook.com

View File

@ -1,2 +0,0 @@
xcopy z_svr_bots.iwd "%LOCALAPPDATA%"\Plutonium\storage\iw5\ /Y
pause

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

View File

@ -1,26 +0,0 @@
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,964 +0,0 @@
/*
_wp_editor
Author: INeedGames
Date: 05/08/2021
The ingame waypoint editor.
*/
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
#include maps\mp\bots\_bot_utility;
init()
{
if ( getDvar( "bots_main_debug" ) == "" )
setDvar( "bots_main_debug", 0 );
if ( !getDVarint( "bots_main_debug" ) )
return;
/* if(!getDVarint("developer"))
{
setdvar("developer_script", 1);
setdvar("developer", 1);
setdvar("sv_mapRotation", "map "+getDvar("mapname"));
exitLevel(false);
}*/
setDvar( "bots_main", 0 );
setdvar( "bots_main_menu", 0 );
setdvar( "bots_manage_fill_mode", 0 );
setdvar( "bots_manage_fill", 0 );
setdvar( "bots_manage_add", 0 );
setdvar( "bots_manage_fill_kick", 1 );
setDvar( "bots_manage_fill_spec", 1 );
if ( getDvar( "bots_main_debug_distance" ) == "" )
setDvar( "bots_main_debug_distance", 512.0 );
if ( getDvar( "bots_main_debug_cone" ) == "" )
setDvar( "bots_main_debug_cone", 0.65 );
if ( getDvar( "bots_main_debug_minDist" ) == "" )
setDvar( "bots_main_debug_minDist", 32.0 );
if ( getDvar( "bots_main_debug_drawThrough" ) == "" )
setDvar( "bots_main_debug_drawThrough", false );
if ( getDvar( "bots_main_debug_updateRate" ) == "" )
setDvar( "bots_main_debug_updateRate", 500 );
if ( getDvar( "bots_main_debug_dashAmount" ) == "" )
setDvar( "bots_main_debug_dashAmount", 35.0 );
setDvar( "player_sustainAmmo", 1 );
if ( !isDefined( level.waypoints ) )
level.waypoints = [];
level.waypointCount = 0;
level waittill( "connected", player );
player thread onPlayerSpawned();
}
onPlayerSpawned()
{
self endon( "disconnect" );
for ( ;; )
{
self waittill( "spawned_player" );
self thread startDev();
}
}
StartDev()
{
self endon( "disconnect" );
self endon( "death" );
level.wpToLink = -1;
level.autoLink = false;
self.nearest = -1;
self takeAllWeapons();
self giveWeapon( "iw5_m16_mp_gl" ); //to knife windows
self giveWeapon( "javelin_mp" ); //to mark jav spots
self SetOffhandPrimaryClass( "other" );
self giveWeapon( "semtex_mp" );
self _clearperks();
self.specialty = [];
// need to find out how to setperks in mw3
/* self maps\mp\perks\_perks::givePerk("specialty_fastmantle");
self maps\mp\perks\_perks::givePerk("specialty_falldamage");
self maps\mp\perks\_perks::givePerk("specialty_marathon");
self maps\mp\perks\_perks::givePerk("specialty_lightweight");*/
self freezecontrols( false );
self thread watchAddWaypointCommand();
self thread watchDeleteAllWaypointsCommand();
self thread watchDeleteWaypointCommand();
self thread watchLinkWaypointCommand();
self thread watchLoadWaypointsCommand();
self thread watchSaveWaypointsCommand();
self thread watchUnlinkWaypointCommand();
self thread watchAutoLinkCommand();
self thread updateWaypointsStats();
self thread watchAstarCommand();
self thread sayExtras();
}
sayExtras()
{
self endon( "disconnect" );
self endon( "death" );
self iprintln( "Before adding waypoints, holding buttons:" );
wait 4;
self iprintln( "ADS - climb" );
self iprintln( "Use + Attack - tube" );
self iprintln( "Attack - grenade" );
self iprintln( "Use - claymore" );
wait 4;
self iprintln( "Else the waypoint will be your stance." );
self iprintln( "Making a crouch waypoint with only one link..." );
self iprintln( "Makes a camping waypoint." );
}
watchAstarCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "astar", "+gostand" );
for ( ;; )
{
self waittill( "astar" );
if ( 1 )
continue;
self iprintln( "Start AStar" );
self.astar = undefined;
astar = spawnStruct();
astar.start = self.origin;
self waittill( "astar" );
self iprintln( "End AStar" );
astar.goal = self.origin;
astar.nodes = AStarSearch( astar.start, astar.goal, undefined, true );
self iprintln( "AStar size: " + astar.nodes.size );
self.astar = astar;
}
}
drawWaypoint( i )
{
if ( !isDefined( level.drawn_wps ) )
level.drawn_wps = [];
newdeathicon = newHudElem();
newdeathicon.x = level.waypoints[i].origin[0];
newdeathicon.y = level.waypoints[i].origin[1];
newdeathicon.z = level.waypoints[i].origin[2] + 50;
newdeathicon.alpha = .61;
newdeathicon.archived = true;
newdeathicon setShader( "headicon_dead", 5, 5 );
newdeathicon setwaypoint( true, false );
level.drawn_wps[level.drawn_wps.size] = newdeathicon;
}
drawPath( where )
{
if ( !isDefined( level.drawn_wps ) )
level.drawn_wps = [];
newdeathicon = newHudElem();
newdeathicon.x = where[0];
newdeathicon.y = where[1];
newdeathicon.z = where[2] + 20;
newdeathicon.alpha = .61;
newdeathicon.archived = true;
newdeathicon setShader( "headicon_dead", 5, 5 );
newdeathicon setwaypoint( true, false );
level.drawn_wps[level.drawn_wps.size] = newdeathicon;
}
clearWaypoints()
{
if ( !isDefined( level.drawn_wps ) )
return;
for ( i = 0; i < level.drawn_wps.size; i++ )
{
level.drawn_wps[i] destroy();
}
level.drawn_wps = [];
}
clearWpLinks()
{
if ( !isDefined( level.drawn_links ) )
return;
for ( i = 0; i < level.waypointCount; i++ )
{
level.waypoints[i].drawn_links = [];
}
for ( i = 0; i < level.drawn_links.size; i++ )
{
level.drawn_links[i] delete ();
}
level.drawn_links = [];
}
showWpLink( i, h )
{
if ( !isDefined( level.drawn_links ) )
level.drawn_links = [];
if ( !isDefined( level.waypoints[i].drawn_links ) )
level.waypoints[i].drawn_links = [];
if ( !isDefined( level.waypoints[h].drawn_links ) )
level.waypoints[h].drawn_links = [];
if ( isDefined( level.waypoints[h].drawn_links["" + i] ) || isDefined( level.waypoints[i].drawn_links["" + h] ) )
return;
level.waypoints[h].drawn_links["" + i] = true;
level.waypoints[i].drawn_links["" + h] = true;
start = level.waypoints[i].origin + ( 0, 0, 45 );
end = level.waypoints[h].origin + ( 0, 0, 45 );
diff = end - start;
dir = VectorToAngles( diff );
dist = distance( start, end );
dash_count = int( dist / getDvarFloat( "bots_main_debug_dashAmount" ) );
for ( j = 0; j < dash_count; j++ )
{
dash = spawn( "script_model", start + ( ( diff * j ) / dash_count ) );
dash setModel( "weapon_parabolic_knife" );
dash.angles = dir;
level.drawn_links[level.drawn_links.size] = dash;
}
dash = spawn( "script_model", end );
dash setModel( "weapon_parabolic_knife" );
dash.angles = dir;
level.drawn_links[level.drawn_links.size] = dash;
}
updateWaypointsStats()
{
self endon( "disconnect" );
self endon( "death" );
self initHudElem( "TotalWps:", 102, 5 );
totalWpsHud = self initHudElem( "", 180, 5 );
self initHudElem( "NearestWP:", 102, 15 );
nearestWP = self initHudElem( "", 180, 15 );
self initHudElem( "Childs:", 102, 25 );
children = self initHudElem( "", 160, 25 );
self initHudElem( "Type:", 102, 35 );
type = self initHudElem( "", 160, 35 );
self initHudElem( "ToLink:", 102, 45 );
wpToLink = self initHudElem( "", 160, 45 );
infotext = self initHudElem2();
self initHudElem3();
self initHudElem4();
intTimer = 0;
for ( time = 0;; time += 0.05 )
{
wait 0.05;
intTimer += 50;
totalWpsHud setValue( level.waypointCount );
closest = -1;
myEye = self getEye();
myAngles = self GetPlayerAngles();
timeToUpdate = ( ( intTimer % getDvarInt( "bots_main_debug_updateRate" ) ) == 0 );
if ( timeToUpdate )
{
clearWaypoints();
clearWpLinks();
}
for ( i = 0; i < level.waypointCount; i++ )
{
if ( closest == -1 || closer( self.origin, level.waypoints[i].origin, level.waypoints[closest].origin ) )
closest = i;
wpOrg = level.waypoints[i].origin + ( 0, 0, 25 );
if ( distance( level.waypoints[i].origin, self.origin ) < getDvarFloat( "bots_main_debug_distance" ) && ( bulletTracePassed( myEye, wpOrg, false, self ) || getDVarint( "bots_main_debug_drawThrough" ) ) )
{
if ( timeToUpdate )
{
if ( getConeDot( wpOrg, myEye, myAngles ) > getDvarFloat( "bots_main_debug_cone" ) )
{
drawWaypoint( i );
for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- )
showWpLink( i, level.waypoints[i].children[h] );
}
}
// mw3 doesnt have debug gsc calls :(
/* for(h = level.waypoints[i].children.size - 1; h >= 0; h--)
line(wpOrg, level.waypoints[level.waypoints[i].children[h]].origin + (0, 0, 25), (1,0,1));
if(getConeDot(wpOrg, myEye, myAngles) > getDvarFloat("bots_main_debug_cone"))
print3d(wpOrg, i, (1,0,0), 2);
if (isDefined(level.waypoints[i].angles) && level.waypoints[i].type != "stand")
line(wpOrg, wpOrg + AnglesToForward(level.waypoints[i].angles) * 64, (1,1,1));
if (isDefined(level.waypoints[i].jav_point))
line(wpOrg, level.waypoints[i].jav_point, (0,0,0));*/
}
}
self.nearest = closest;
nearestWP setValue( self.nearest );
children setValue( buildChildCountString( self.nearest ) );
type setText( buildTypeString( self.nearest ) );
wpToLink setValue( level.wpToLink );
infotext.x = infotext.x - 2;
if ( infotext.x <= -800 )
infotext.x = 800;
if ( time > 2 && self UseButtonPressed() )
{
time = 0;
self iPrintLnBold( self.nearest + " children: " + buildChildString( self.nearest ) );
}
if ( isDefined( self.astar ) )
{
//print3d(self.astar.start + (0, 0, 35), "start", (0,0,1), 2);
//print3d(self.astar.goal + (0, 0, 35), "goal", (0,0,1), 2);
if ( timeToUpdate )
{
drawPath( self.astar.start );
drawPath( self.astar.goal );
}
prev = self.astar.start + ( 0, 0, 35 );
for ( i = self.astar.nodes.size - 1; i >= 0; i-- )
{
node = self.astar.nodes[i];
//line(prev, level.waypoints[node].origin + (0, 0, 35), (0,1,1));
if ( timeToUpdate ) drawPath( level.waypoints[node].origin );
prev = level.waypoints[node].origin + ( 0, 0, 35 );
}
//line(prev, self.astar.goal + (0, 0, 35), (0,1,1));
}
}
}
watchLoadWaypointsCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 5}]", "+actionslot 5" );
for ( ;; )
{
self waittill( "[{+actionslot 5}]" );
self LoadWaypoints();
}
}
watchAddWaypointCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+smoke}]", "+smoke" );
for ( ;; )
{
self waittill( "[{+smoke}]" );
self AddWaypoint();
}
}
watchAutoLinkCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+frag}]", "+frag" );
for ( ;; )
{
self waittill( "[{+frag}]" );
if ( level.autoLink )
{
self iPrintlnBold( "Auto link disabled" );
level.autoLink = false;
level.wpToLink = -1;
}
else
{
self iPrintlnBold( "Auto link enabled" );
level.autoLink = true;
level.wpToLink = self.nearest;
}
}
}
watchLinkWaypointCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+melee_zoom}]", "+melee_zoom" );
for ( ;; )
{
self waittill( "[{+melee_zoom}]" );
self LinkWaypoint( self.nearest );
}
}
watchUnlinkWaypointCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+reload}]", "+reload" );
for ( ;; )
{
self waittill( "[{+reload}]" );
self UnLinkWaypoint( self.nearest );
}
}
watchDeleteWaypointCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 3}]", "+actionslot 3" );
for ( ;; )
{
self waittill( "[{+actionslot 3}]" );
self DeleteWaypoint( self.nearest );
}
}
watchDeleteAllWaypointsCommand()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "[{+actionslot 4}]", "+actionslot 4" );
for ( ;; )
{
self waittill( "[{+actionslot 4}]" );
self DeleteAllWaypoints();
}
}
watchSaveWaypointsCommand()
{
self endon( "death" );
self endon( "disconnect" );
self notifyOnPlayerCommand( "[{+actionslot 1}]", "+actionslot 1" );
for ( ;; )
{
self waittill( "[{+actionslot 1}]" );
self checkForWarnings();
wait 1;
logprint( "***********ABiliTy's WPDump**************\n\n" );
logprint( "\n\n\n\n" );
mpnm = getMapName( getdvar( "mapname" ) );
logprint( "\n\n" + mpnm + "()\n{\n/*" );
logprint( "*/waypoints = [];\n/*" );
for ( i = 0; i < level.waypointCount; i++ )
{
logprint( "*/waypoints[" + i + "] = spawnstruct();\n/*" );
logprint( "*/waypoints[" + i + "].origin = " + level.waypoints[i].origin + ";\n/*" );
logprint( "*/waypoints[" + i + "].type = \"" + level.waypoints[i].type + "\";\n/*" );
for ( c = 0; c < level.waypoints[i].children.size; c++ )
{
logprint( "*/waypoints[" + i + "].children[" + c + "] = " + level.waypoints[i].children[c] + ";\n/*" );
}
if ( isDefined( level.waypoints[i].angles ) && ( level.waypoints[i].type == "claymore" || level.waypoints[i].type == "tube" || ( level.waypoints[i].type == "crouch" && level.waypoints[i].children.size == 1 ) || level.waypoints[i].type == "climb" || level.waypoints[i].type == "grenade" ) )
logprint( "*/waypoints[" + i + "].angles = " + level.waypoints[i].angles + ";\n/*" );
if ( isDefined( level.waypoints[i].jav_point ) && level.waypoints[i].type == "javelin" )
logprint( "*/waypoints[" + i + "].jav_point = " + level.waypoints[i].jav_point + ";\n/*" );
}
logprint( "*/return waypoints;\n}\n\n\n\n" );
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
PrintLn( "********* Start Bot Warfare WPDump *********" );
PrintLn( level.waypointCount );
//fileWrite(filename, level.waypointCount+"\n", "write");
for ( i = 0; i < level.waypointCount; i++ )
{
str = "";
wp = level.waypoints[i];
str += wp.origin[0] + " " + wp.origin[1] + " " + wp.origin[2] + ",";
for ( h = 0; h < wp.children.size; h++ )
{
str += wp.children[h];
if ( h < wp.children.size - 1 )
str += " ";
}
str += "," + wp.type + ",";
if ( isDefined( wp.angles ) )
str += wp.angles[0] + " " + wp.angles[1] + " " + wp.angles[2] + ",";
else
str += ",";
if ( isDefined( wp.jav_point ) )
str += wp.jav_point[0] + " " + wp.jav_point[1] + " " + wp.jav_point[2] + ",";
else
str += ",";
PrintLn( str );
//fileWrite(filename, str+"\n", "append");
}
PrintLn( "\n\n\n\n\n\n" );
self iprintln( "Saved!!! to " + filename );
}
}
LoadWaypoints()
{
// self DeleteAllWaypoints();
self iPrintlnBold( "Loading WPS..." );
load_waypoints();
wait 1;
self checkForWarnings();
}
checkForWarnings()
{
if ( level.waypointCount <= 0 )
self iprintln( "WARNING: waypointCount is " + level.waypointCount );
if ( level.waypointCount != level.waypoints.size )
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
for ( i = 0; i < level.waypointCount; i++ )
{
if ( !isDefined( level.waypoints[i] ) )
{
self iprintln( "WARNING: waypoint " + i + " is undefined" );
continue;
}
if ( level.waypoints[i].children.size <= 0 )
self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[i].children.size );
else
{
if ( !isDefined( level.waypoints[i].children ) || !isDefined( level.waypoints[i].children.size ) )
{
self iprintln( "WARNING: waypoint " + i + " children is not defined" );
}
else
{
for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- )
{
child = level.waypoints[i].children[h];
if ( !isDefined( level.waypoints[child] ) )
self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" );
else if ( child == i )
self iprintln( "WARNING: waypoint " + i + " child " + child + " is itself" );
}
}
}
if ( !isDefined( level.waypoints[i].type ) )
{
self iprintln( "WARNING: waypoint " + i + " type is undefined" );
continue;
}
if ( level.waypoints[i].type == "javelin" && !isDefined( level.waypoints[i].jav_point ) )
self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" );
if ( !isDefined( level.waypoints[i].angles ) && ( level.waypoints[i].type == "claymore" || level.waypoints[i].type == "tube" || ( level.waypoints[i].type == "crouch" && level.waypoints[i].children.size == 1 ) || level.waypoints[i].type == "climb" || level.waypoints[i].type == "grenade" ) )
self iprintln( "WARNING: waypoint " + i + " angles is undefined" );
}
// check reachability, assume bidirectional graph
wpIdx = randomInt( level.waypointCount );
for ( i = 0; i < level.waypointCount; i++ )
{
if ( i % 5 == 0 )
wait 0.05;
astar = AStarSearch( level.waypoints[wpIdx].origin, level.waypoints[i].origin, undefined, true );
if ( astar.size <= 0 )
self iprintln( "WARNING: waypoint " + wpIdx + " has no path to waypoint " + i );
}
self iprintln( "Waypoint warnings check completed." );
}
UnLinkWaypoint( nwp )
{
if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) )
{
self iprintln( "Waypoint Unlink Cancelled " + level.wpToLink );
level.wpToLink = -1;
return;
}
if ( level.wpToLink == -1 || nwp == level.wpToLink )
{
level.wpToLink = nwp;
self iprintln( "Waypoint Unlink Started " + nwp );
return;
}
level.waypoints[nwp].children = array_remove( level.waypoints[nwp].children, level.wpToLink );
level.waypoints[level.wpToLink].children = array_remove( level.waypoints[level.wpToLink].children, nwp );
self iprintln( "Waypoint " + nwp + " Broken to " + level.wpToLink );
level.wpToLink = -1;
}
LinkWaypoint( nwp )
{
if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) )
{
self iprintln( "Waypoint Link Cancelled " + level.wpToLink );
level.wpToLink = -1;
return;
}
if ( level.wpToLink == -1 || nwp == level.wpToLink )
{
level.wpToLink = nwp;
self iprintln( "Waypoint Link Started " + nwp );
return;
}
weGood = true;
for ( i = level.waypoints[level.wpToLink].children.size - 1; i >= 0; i-- )
{
child = level.waypoints[level.wpToLink].children[i];
if ( child == nwp )
{
weGood = false;
break;
}
}
if ( weGood )
{
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- )
{
child = level.waypoints[nwp].children[i];
if ( child == level.wpToLink )
{
weGood = false;
break;
}
}
}
if ( !weGood )
{
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wpToLink + " already linked." );
level.wpToLink = -1;
return;
}
level.waypoints[level.wpToLink].children[level.waypoints[level.wpToLink].children.size] = nwp;
level.waypoints[nwp].children[level.waypoints[nwp].children.size] = level.wpToLink;
self iprintln( "Waypoint " + nwp + " Linked to " + level.wpToLink );
level.wpToLink = -1;
}
DeleteWaypoint( nwp )
{
if ( nwp == -1 || distance( self.origin, level.waypoints[nwp].origin ) > getDvarFloat( "bots_main_debug_minDist" ) )
{
self iprintln( "No close enough waypoint to delete." );
return;
}
level.wpToLink = -1;
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- )
{
child = level.waypoints[nwp].children[i];
level.waypoints[child].children = array_remove( level.waypoints[child].children, nwp );
}
for ( i = 0; i < level.waypointCount; i++ )
{
for ( h = level.waypoints[i].children.size - 1; h >= 0; h-- )
{
if ( level.waypoints[i].children[h] > nwp )
level.waypoints[i].children[h]--;
}
}
for ( entry = 0; entry < level.waypointCount; entry++ )
{
if ( entry == nwp )
{
while ( entry < level.waypointCount - 1 )
{
level.waypoints[entry] = level.waypoints[entry + 1];
entry++;
}
level.waypoints[entry] = undefined;
break;
}
}
level.waypointCount--;
self iprintln( "DelWp " + nwp );
}
AddWaypoint()
{
level.waypoints[level.waypointCount] = spawnstruct();
pos = self getOrigin();
level.waypoints[level.waypointCount].origin = pos;
if ( isDefined( self.javelinTargetPoint ) )
level.waypoints[level.waypointCount].type = "javelin";
else if ( self AdsButtonPressed() )
level.waypoints[level.waypointCount].type = "climb";
else if ( self AttackButtonPressed() && self UseButtonPressed() )
level.waypoints[level.waypointCount].type = "tube";
else if ( self AttackButtonPressed() )
level.waypoints[level.waypointCount].type = "grenade";
else if ( self UseButtonPressed() )
level.waypoints[level.waypointCount].type = "claymore";
else
level.waypoints[level.waypointCount].type = self getStance();
level.waypoints[level.waypointCount].angles = self getPlayerAngles();
level.waypoints[level.waypointCount].children = [];
if ( level.waypoints[level.waypointCount].type == "javelin" )
{
level.waypoints[level.waypointCount].jav_point = self.javelinTargetPoint;
}
self iprintln( level.waypoints[level.waypointCount].type + " Waypoint " + level.waypointCount + " Added at " + pos );
if ( level.autoLink )
{
if ( level.wpToLink == -1 )
level.wpToLink = level.waypointCount - 1;
level.waypointCount++;
self LinkWaypoint( level.waypointCount - 1 );
}
else
{
level.waypointCount++;
}
}
DeleteAllWaypoints()
{
level.waypoints = [];
level.waypointCount = 0;
self iprintln( "DelAllWps" );
}
buildChildCountString ( wp )
{
if ( wp == -1 )
return -1;
wpstr = level.waypoints[wp].children.size;
return wpstr;
}
buildChildString( wp )
{
if ( wp == -1 )
return "";
wpstr = "";
for ( i = 0; i < level.waypoints[wp].children.size; i++ )
{
if ( i != 0 )
wpstr = wpstr + "," + level.waypoints[wp].children[i];
else
wpstr = wpstr + level.waypoints[wp].children[i];
}
return wpstr;
}
buildTypeString( wp )
{
if ( wp == -1 )
return "";
return level.waypoints[wp].type;
}
destroyOnDeath( hud )
{
hud endon( "death" );
self waittill_either( "death", "disconnect" );
hud destroy();
}
initHudElem( txt, xl, yl )
{
hud = NewClientHudElem( self );
hud setText( txt );
hud.alignX = "left";
hud.alignY = "top";
hud.horzAlign = "left";
hud.vertAlign = "top";
hud.x = xl;
hud.y = yl;
hud.foreground = true;
hud.fontScale = 1;
hud.font = "objective";
hud.alpha = 1;
hud.glow = 0;
hud.glowColor = ( 0, 0, 0 );
hud.glowAlpha = 1;
hud.color = ( 1.0, 1.0, 1.0 );
self thread destroyOnDeath( hud );
return hud;
}
initHudElem2()
{
infotext = NewHudElem();
infotext setText( "^1[{+smoke}]-AddWp ^2[{+melee_zoom}]-LinkWp ^3[{+reload}]-UnLinkWp ^4[{+actionslot 3}]-DeleteWp ^5[{+actionslot 4}]-DelAllWps ^6[{+actionslot 5}]-LoadWPS ^7[{+actionslot 1}]-SaveWp" );
infotext.alignX = "center";
infotext.alignY = "bottom";
infotext.horzAlign = "center";
infotext.vertAlign = "bottom";
infotext.x = -800;
infotext.y = 25;
infotext.foreground = true;
infotext.fontScale = 1.35;
infotext.font = "objective";
infotext.alpha = 1;
infotext.glow = 0;
infotext.glowColor = ( 0, 0, 0 );
infotext.glowAlpha = 1;
infotext.color = ( 1.0, 1.0, 1.0 );
self thread destroyOnDeath( infotext );
return infotext;
}
initHudElem3()
{
bar = level createServerBar( ( 0.5, 0.5, 0.5 ), 1000, 25 );
bar.alignX = "center";
bar.alignY = "bottom";
bar.horzAlign = "center";
bar.vertAlign = "bottom";
bar.y = 30;
bar.foreground = true;
self thread destroyOnDeath( bar );
return bar;
}
initHudElem4()
{
OptionsBG = NewClientHudElem( self );
OptionsBG.x = 100;
OptionsBG.y = 2;
OptionsBG.alignX = "left";
OptionsBG.alignY = "top";
OptionsBG.horzAlign = "left";
OptionsBG.vertAlign = "top";
OptionsBG setshader( "black", 200, 60 );
OptionsBG.alpha = 0.4;
self thread destroyOnDeath( OptionsBG );
return OptionsBG;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,771 +0,0 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
level thread watchNuke();
level thread onPlayerConnect();
setDvarIfUninitialized( "scr_killstreak_print", 0 );
setDvarIfUninitialized( "scr_printDamage", 0 );
level.killstreakPrint = getDvarInt( "scr_killstreak_print" );
level.allowPrintDamage = getDvarInt( "scr_printDamage" );
level thread hook_callbacks();
}
hook_callbacks()
{
level waittill( "prematch_over" ); // iw4madmin waits this long for some reason...
wait 0.1; // so we need to be one frame after it sets up its callbacks.
level.prevCallbackPlayerDamage2 = level.callbackPlayerDamage;
level.callbackPlayerDamage = ::onPlayerDamage;
}
onPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset )
{
if ( isSubStr( sWeapon, "iw5_1887_mp" ) && sMeansOfDeath != "MOD_MELEE" )
iDamage = 35;
self [[level.prevCallbackPlayerDamage2]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
}
main()
{
setDvarIfUninitialized( "scr_xpscale_", 1 );
setDvarIfUninitialized( "scr_weaponxpscale_", 1 );
// fix G-GetPlayereye bug
replaceFunc( maps\mp\killstreaks\_helicopter::heli_leave, ::heli_leave );
replaceFunc( maps\mp\killstreaks\_helicopter::heli_explode, ::heli_explode );
// allow scr_xpscale to be anything
replaceFunc( maps\mp\gametypes\_rank::init, ::rank_init );
replaceFunc( maps\mp\gametypes\_rank::syncXPStat, ::syncXPStat );
// add scr_spawnpointfavorweight dvar
replaceFunc( maps\mp\gametypes\_spawnlogic::getSpawnpoint_NearTeam, ::getSpawnpoint_NearTeam );
// add damage numbers
replaceFunc( maps\mp\gametypes\_damage::finishPlayerDamageWrapper, ::finishPlayerDamageWrapper );
// more perks for specialist bonus
replaceFunc( maps\mp\killstreaks\_killstreaks::giveAllPerks, ::giveAllPerks );
// scavenge all types of ammo
replaceFunc( maps\mp\gametypes\_weapons::handleScavengerBagPickup, ::handleScavengerBagPickup );
// only nuke slow mo once
replaceFunc( maps\mp\killstreaks\_nuke::nukeSlowMo, ::nukeSlowMo );
// fix array index issue with remoteuav when gettime is high
replaceFunc( maps\mp\killstreaks\_remoteuav::remoteUAV_trackEntities, ::remoteUAV_trackEntities );
replaceFunc( maps\mp\killstreaks\_remoteuav::remoteUAV_unmarkRemovedPlayer, ::remoteUAV_unmarkRemovedPlayer );
}
heli_explode( var_0 )
{
self notify( "death" );
if ( isdefined( var_0 ) && isdefined( level.chopper_fx["explode"]["air_death"][self.heli_type] ) )
{
var_1 = self gettagangles( "tag_deathfx" );
playfx( level.chopper_fx["explode"]["air_death"][self.heli_type], self gettagorigin( "tag_deathfx" ), anglestoforward( var_1 ), anglestoup( var_1 ) );
}
else
{
var_2 = self.origin;
var_3 = self.origin + ( 0, 0, 1 ) - self.origin;
playfx( level.chopper_fx["explode"]["death"][self.heli_type], var_2, var_3 );
}
self playsound( level.heli_sound[self.team]["crash"] );
wait 0.05;
if ( isdefined( self.killCamEnt ) )
self.killCamEnt delete ();
if ( self.heliType == "osprey_gunner" )
{
if ( isDefined( self ) )
self hide();
wait 30;
maps\mp\_utility::decrementFauxVehicleCount();
if ( isDefined( self ) )
self delete ();
}
else
{
maps\mp\_utility::decrementFauxVehicleCount();
self delete ();
}
}
heli_leave( var_0 )
{
self notify( "leaving" );
if ( isdefined( self.heliType ) && self.heliType == "osprey" && isdefined( self.pathGoal ) )
{
self setvehgoalpos( self.pathGoal, 1 );
common_scripts\utility::waittill_any_timeout( 5, "goal" );
}
if ( !isdefined( var_0 ) )
{
var_1 = level.heli_leave_nodes[randomint( level.heli_leave_nodes.size )];
var_0 = var_1.origin;
}
var_2 = spawn( "script_origin", var_0 );
if ( isdefined( var_2 ) )
{
self setlookatent( var_2 );
var_2 thread maps\mp\killstreaks\_helicopter::wait_and_delete( 3.0 );
}
maps\mp\killstreaks\_helicopter::heli_reset();
self vehicle_setspeed( 100, 45 );
self setvehgoalpos( var_0, 1 );
self waittillmatch( "goal" );
self notify( "death" );
wait 0.05;
if ( isdefined( self.killCamEnt ) )
self.killCamEnt delete ();
if ( self.heliType == "osprey_gunner" )
{
if ( isDefined( self ) )
self hide();
wait 30;
maps\mp\_utility::decrementFauxVehicleCount();
if ( isDefined( self ) )
self delete ();
}
else
{
maps\mp\_utility::decrementFauxVehicleCount();
self delete ();
}
}
syncXPStat()
{
var_0 = maps\mp\gametypes\_rank::getRankXP();
maps\mp\gametypes\_persistence::statSet( "experience", var_0 );
}
rank_init()
{
level.scoreInfo = [];
level.xpScale = getdvarint( "scr_xpscale_" );
level.weaponxpscale = getdvarint( "scr_weaponxpscale_" );
level.rankTable = [];
level.weaponRankTable = [];
precacheshader( "white" );
precachestring( &"RANK_PLAYER_WAS_PROMOTED_N" );
precachestring( &"RANK_PLAYER_WAS_PROMOTED" );
precachestring( &"RANK_WEAPON_WAS_PROMOTED" );
precachestring( &"RANK_PROMOTED" );
precachestring( &"RANK_PROMOTED_WEAPON" );
precachestring( &"MP_PLUS" );
precachestring( &"RANK_ROMANI" );
precachestring( &"RANK_ROMANII" );
precachestring( &"RANK_ROMANIII" );
precachestring( &"SPLASHES_LONGSHOT" );
precachestring( &"SPLASHES_PROXIMITYASSIST" );
precachestring( &"SPLASHES_PROXIMITYKILL" );
precachestring( &"SPLASHES_EXECUTION" );
precachestring( &"SPLASHES_AVENGER" );
precachestring( &"SPLASHES_ASSISTEDSUICIDE" );
precachestring( &"SPLASHES_DEFENDER" );
precachestring( &"SPLASHES_POSTHUMOUS" );
precachestring( &"SPLASHES_REVENGE" );
precachestring( &"SPLASHES_DOUBLEKILL" );
precachestring( &"SPLASHES_TRIPLEKILL" );
precachestring( &"SPLASHES_MULTIKILL" );
precachestring( &"SPLASHES_BUZZKILL" );
precachestring( &"SPLASHES_COMEBACK" );
precachestring( &"SPLASHES_KNIFETHROW" );
precachestring( &"SPLASHES_ONE_SHOT_KILL" );
if ( level.teamBased )
{
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 100 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "proximityassist", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "proximitykill", 20 );
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );
}
else
{
maps\mp\gametypes\_rank::registerScoreInfo( "kill", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "headshot", 50 );
maps\mp\gametypes\_rank::registerScoreInfo( "assist", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "suicide", 0 );
maps\mp\gametypes\_rank::registerScoreInfo( "teamkill", 0 );
}
maps\mp\gametypes\_rank::registerScoreInfo( "win", 1 );
maps\mp\gametypes\_rank::registerScoreInfo( "loss", 0.5 );
maps\mp\gametypes\_rank::registerScoreInfo( "tie", 0.75 );
maps\mp\gametypes\_rank::registerScoreInfo( "capture", 300 );
maps\mp\gametypes\_rank::registerScoreInfo( "defend", 300 );
maps\mp\gametypes\_rank::registerScoreInfo( "challenge", 2500 );
level.maxRank = int( tablelookup( "mp/rankTable.csv", 0, "maxrank", 1 ) );
level.maxPrestige = int( tablelookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ) );
var_0 = 0;
var_1 = 0;
for ( var_0 = 0; var_0 <= min( 10, level.maxPrestige ); var_0++ )
{
for ( var_1 = 0; var_1 <= level.maxRank; var_1++ )
precacheshader( tablelookup( "mp/rankIconTable.csv", 0, var_1, var_0 + 1 ) );
}
var_2 = 0;
for ( var_3 = tablelookup( "mp/ranktable.csv", 0, var_2, 1 ); isdefined( var_3 ) && var_3 != ""; var_3 = tablelookup( "mp/ranktable.csv", 0, var_2, 1 ) )
{
level.rankTable[var_2][1] = tablelookup( "mp/ranktable.csv", 0, var_2, 1 );
level.rankTable[var_2][2] = tablelookup( "mp/ranktable.csv", 0, var_2, 2 );
level.rankTable[var_2][3] = tablelookup( "mp/ranktable.csv", 0, var_2, 3 );
level.rankTable[var_2][7] = tablelookup( "mp/ranktable.csv", 0, var_2, 7 );
precachestring( tablelookupistring( "mp/ranktable.csv", 0, var_2, 16 ) );
var_2++;
}
var_4 = int( tablelookup( "mp/weaponRankTable.csv", 0, "maxrank", 1 ) );
for ( var_5 = 0; var_5 < var_4 + 1; var_5++ )
{
level.weaponRankTable[var_5][1] = tablelookup( "mp/weaponRankTable.csv", 0, var_5, 1 );
level.weaponRankTable[var_5][2] = tablelookup( "mp/weaponRankTable.csv", 0, var_5, 2 );
level.weaponRankTable[var_5][3] = tablelookup( "mp/weaponRankTable.csv", 0, var_5, 3 );
}
maps\mp\gametypes\_missions::buildChallegeInfo();
level thread maps\mp\gametypes\_rank::patientZeroWaiter();
level thread maps\mp\gametypes\_rank::onPlayerConnect();
}
getSpawnpoint_NearTeam( var_0, var_1 )
{
if ( !isdefined( var_0 ) )
return undefined;
maps\mp\gametypes\_spawnlogic::Spawnlogic_Begin();
maps\mp\gametypes\_spawnlogic::initWeights( var_0 );
var_2 = 2;
if ( getDVar( "scr_alliedDistanceWeight" ) != "" )
var_2 = getDVarFloat( "scr_alliedDistanceWeight" );
var_3 = self.team;
var_4 = maps\mp\_utility::getOtherTeam( var_3 );
var_5 = getentarray( "care_package", "targetname" );
foreach ( var_7 in var_0 )
{
if ( var_7.numPlayersAtLastUpdate > 0 )
{
var_8 = var_7.weightedDistSum[var_3];
var_9 = var_7.distSum[var_4];
var_7.weight = ( var_9 - var_2 * var_8 ) / var_7.numPlayersAtLastUpdate;
if ( isdefined( level.favorCloseSpawnEnt ) )
{
if ( !isdefined( level.favorCloseSpawnScalar ) )
level.favorCloseSpawnScalar = 1;
var_10 = distance( var_7.origin, level.favorCloseSpawnEnt.origin );
var_7.weight = var_7.weight - var_10 * level.favorCloseSpawnScalar;
}
if ( isdefined( level.favorclosespawnentattacker ) )
{
if ( !isdefined( level.favorclosespawnscalarattacker ) )
level.favorclosespawnscalarattacker = 1;
var_10 = distance( var_7.origin, level.favorclosespawnentattacker.origin );
var_7.weight = var_7.weight - var_10 * level.favorclosespawnscalarattacker;
}
if ( isdefined( level.favorclosespawnentdefender ) )
{
if ( !isdefined( level.favorclosespawnscalardefender ) )
level.favorclosespawnscalardefender = 1;
var_10 = distance( var_7.origin, level.favorclosespawnentdefender.origin );
var_7.weight = var_7.weight - var_10 * level.favorclosespawnscalardefender;
}
}
else
var_7.weight = 0;
if ( var_5.size && !canspawn( var_7.origin ) )
var_7.weight = var_7.weight - 500000;
}
favor_weight = 50000;
if ( getDVar( "scr_spawnpointfavorweight" ) != "" )
favor_weight = getDVarInt( "scr_spawnpointfavorweight" );
if ( isdefined( var_1 ) )
{
for ( var_12 = 0; var_12 < var_1.size; var_12++ )
var_1[var_12].weight = var_1[var_12].weight + favor_weight;
}
if ( isdefined( self.predictedSpawnPoint ) && isdefined( self.predictedSpawnPoint.weight ) )
self.predictedSpawnPoint.weight = self.predictedSpawnPoint.weight + 100;
maps\mp\gametypes\_spawnlogic::avoidSameSpawn();
maps\mp\gametypes\_spawnlogic::avoidWeaponDamage( var_0 );
maps\mp\gametypes\_spawnlogic::avoidVisibleEnemies( var_0, 1 );
if ( isdefined( self.lastDeathPos ) && level.gameType != "dom" )
maps\mp\gametypes\_spawnlogic::avoidRevengeSpawn( var_0, self.lastDeathPos );
var_13 = maps\mp\gametypes\_spawnlogic::getSpawnpoint_Final( var_0 );
return var_13;
}
doPrintDamage( dmg, hitloc, flags )
{
self endon( "disconnect" );
huddamage = newclienthudelem( self );
huddamage.alignx = "center";
huddamage.horzalign = "center";
huddamage.x = 10;
huddamage.y = 235;
huddamage.fontscale = 1.6;
huddamage.font = "objective";
huddamage setvalue( dmg );
if ( ( flags & level.iDFLAGS_RADIUS ) != 0 )
huddamage.color = ( 0.25, 0.25, 0.25 );
if ( ( flags & level.iDFLAGS_PENETRATION ) != 0 )
huddamage.color = ( 1, 1, 0.25 );
if ( hitloc == "head" )
huddamage.color = ( 1, 0.25, 0.25 );
huddamage moveovertime( 1 );
huddamage fadeovertime( 1 );
huddamage.alpha = 0;
huddamage.x = randomIntRange( 25, 70 );
val = 1;
if ( randomInt( 2 ) )
val = -1;
huddamage.y = 235 + randomIntRange( 25, 70 ) * val;
wait 1;
if ( isDefined( huddamage ) )
huddamage destroy();
}
finishPlayerDamageWrapper( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 )
{
if ( isDefined( level.allowPrintDamage ) && level.allowPrintDamage )
{
if ( !isDefined( var_1 ) )
{
if ( !isDefined( var_0 ) && isDefined( self.printDamage ) && self.printDamage )
self thread doPrintDamage( var_2, var_8, var_3 );
}
else if ( isPlayer( var_1 ) && isDefined( var_1.printDamage ) && var_1.printDamage )
var_1 thread doPrintDamage( var_2, var_8, var_3 );
else if ( isDefined( var_1.owner ) && isPlayer( var_1.owner ) && isDefined( var_1.owner.printDamage ) && var_1.owner.printDamage )
var_1.owner thread doPrintDamage( var_2, var_8, var_3 );
}
if ( maps\mp\_utility::isUsingRemote() && var_2 >= self.health && !( var_3 & level.iDFLAGS_STUN ) )
{
if ( !isdefined( var_7 ) )
var_7 = ( 0, 0, 0 );
if ( !isdefined( var_1 ) && !isdefined( var_0 ) )
{
var_1 = self;
var_0 = var_1;
}
maps\mp\gametypes\_damage::PlayerKilled_internal( var_0, var_1, self, var_2, var_4, var_5, var_7, var_8, var_9, 0, 1 );
}
else
{
if ( !maps\mp\gametypes\_damage::Callback_KillingBlow( var_0, var_1, var_2 - var_2 * var_10, var_3, var_4, var_5, var_6, var_7, var_8, var_9 ) )
return;
if ( !isalive( self ) )
return;
self finishplayerdamage( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 );
}
if ( var_4 == "MOD_EXPLOSIVE_BULLET" )
self shellshock( "damage_mp", getdvarfloat( "scr_csmode" ) );
maps\mp\gametypes\_damage::damageShellshockAndRumble( var_0, var_5, var_4, var_2, var_3, var_1 );
}
giveAllPerks()
{
var_0 = [];
var_0[var_0.size] = "specialty_longersprint";
var_0[var_0.size] = "specialty_fastreload";
var_0[var_0.size] = "specialty_scavenger";
var_0[var_0.size] = "specialty_blindeye";
var_0[var_0.size] = "specialty_paint";
var_0[var_0.size] = "specialty_hardline";
var_0[var_0.size] = "specialty_coldblooded";
var_0[var_0.size] = "specialty_quickdraw";
var_0[var_0.size] = "_specialty_blastshield";
var_0[var_0.size] = "specialty_detectexplosive";
var_0[var_0.size] = "specialty_autospot";
var_0[var_0.size] = "specialty_bulletaccuracy";
var_0[var_0.size] = "specialty_quieter";
var_0[var_0.size] = "specialty_stalker";
var_0[var_0.size] = "specialty_marksman";
var_0[var_0.size] = "specialty_sharp_focus";
var_0[var_0.size] = "specialty_longerrange";
var_0[var_0.size] = "specialty_fastermelee";
var_0[var_0.size] = "specialty_reducedsway";
var_0[var_0.size] = "specialty_lightweight";
// patch_mp removed these? why
var_0[ var_0.size ] = "specialty_bulletpenetration";
var_0[ var_0.size ] = "specialty_holdbreathwhileads";
// too op?
var_0[ var_0.size ] = "specialty_moredamage";
foreach ( var_2 in var_0 )
{
if ( !maps\mp\_utility::_hasPerk( var_2 ) )
{
maps\mp\_utility::givePerk( var_2, 0 );
if ( maps\mp\gametypes\_class::isPerkUpgraded( var_2 ) )
{
var_3 = tablelookup( "mp/perktable.csv", 1, var_2, 8 );
maps\mp\_utility::givePerk( var_3, 0 );
}
}
}
}
handleScavengerBagPickup( var_0 )
{
self endon( "death" );
level endon( "game_ended" );
self waittill( "scavenger", var_1 );
var_1 notify( "scavenger_pickup" );
var_1 playlocalsound( "scavenger_pack_pickup" );
var_2 = var_1 getweaponslistoffhands();
foreach ( var_4 in var_2 )
{
var_5 = var_1 getweaponammoclip( var_4 );
var_1 setweaponammoclip( var_4, var_5 + 1 );
}
var_7 = var_1 getweaponslistprimaries();
foreach ( var_9 in var_7 )
{
var_10 = var_1 getweaponammostock( var_9 );
var_11 = weaponclipsize( var_9 );
var_1 setweaponammostock( var_9, var_10 + var_11 );
}
var_1 maps\mp\gametypes\_damagefeedback::updateDamageFeedback( "scavenger" );
}
nukeSlowMo()
{
level endon ( "nuke_cancelled" );
if ( isDefined( level.nuked ) && level.nuked >= 3 )
return;
//SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
SetSlowMotion( 1.0, 0.25, 0.5 );
level waittill( "nuke_death" );
SetSlowMotion( 0.25, 1, 2.0 );
}
remoteUAV_trackEntities( var_0, var_1, var_2 )
{
level endon( "game_ended" );
var_3 = undefined;
foreach ( var_5 in var_1 )
{
if ( level.teamBased && ( !isdefined( var_5.team ) || var_5.team == self.team ) )
continue;
if ( isplayer( var_5 ) )
{
if ( !maps\mp\_utility::isReallyAlive( var_5 ) )
continue;
if ( var_5 == self )
continue;
var_6 = var_5.guid + "";
}
else
var_6 = var_5.birthtime + "";
if ( isdefined( var_5.sentryType ) || isdefined( var_5.turretType ) )
{
var_7 = ( 0, 0, 32 );
var_8 = "hud_fofbox_hostile_vehicle";
}
else if ( isdefined( var_5.uavType ) )
{
var_7 = ( 0, 0, -52 );
var_8 = "hud_fofbox_hostile_vehicle";
}
else
{
var_7 = ( 0, 0, 26 );
var_8 = "veh_hud_target_unmarked";
}
if ( isdefined( var_5.UAVRemoteMarkedBy ) )
{
if ( !isdefined( var_0.markedPlayers[var_6] ) )
{
var_0.markedPlayers[var_6] = [];
var_0.markedPlayers[var_6]["player"] = var_5;
var_0.markedPlayers[var_6]["icon"] = var_5 maps\mp\_entityheadicons::setHeadIcon( self, "veh_hud_target_marked", var_7, 10, 10, 0, 0.05, 0, 0, 0, 0 );
var_0.markedPlayers[var_6]["icon"].shader = "veh_hud_target_marked";
if ( !isdefined( var_5.sentryType ) || !isdefined( var_5.turretType ) )
var_0.markedPlayers[var_6]["icon"] settargetent( var_5 );
}
else if ( isdefined( var_0.markedPlayers[var_6] ) && isdefined( var_0.markedPlayers[var_6]["icon"] ) && isdefined( var_0.markedPlayers[var_6]["icon"].shader ) && var_0.markedPlayers[var_6]["icon"].shader != "veh_hud_target_marked" )
{
var_0.markedPlayers[var_6]["icon"].shader = "veh_hud_target_marked";
var_0.markedPlayers[var_6]["icon"] setshader( "veh_hud_target_marked", 10, 10 );
var_0.markedPlayers[var_6]["icon"] setwaypoint( 0, 0, 0, 0 );
}
continue;
}
if ( isplayer( var_5 ) )
{
var_9 = isdefined( var_5.spawnTime ) && ( gettime() - var_5.spawnTime ) / 1000 <= 5;
var_10 = var_5 maps\mp\_utility::_hasPerk( "specialty_blindeye" );
var_11 = 0;
var_12 = 0;
}
else
{
var_9 = 0;
var_10 = 0;
var_11 = isdefined( var_5.carriedBy );
var_12 = isdefined( var_5.isLeaving ) && var_5.isLeaving == 1;
}
if ( !isdefined( var_0.markedPlayers[var_6] ) && !var_9 && !var_10 && !var_11 && !var_12 )
{
var_0.markedPlayers[var_6] = [];
var_0.markedPlayers[var_6]["player"] = var_5;
var_0.markedPlayers[var_6]["icon"] = var_5 maps\mp\_entityheadicons::setHeadIcon( self, var_8, var_7, 10, 10, 0, 0.05, 0, 0, 0, 0 );
var_0.markedPlayers[var_6]["icon"].shader = var_8;
if ( !isdefined( var_5.sentryType ) || !isdefined( var_5.turretType ) )
var_0.markedPlayers[var_6]["icon"] settargetent( var_5 );
}
if ( ( !isdefined( var_3 ) || var_3 != var_5 ) && ( isdefined( var_0.trace["entity"] ) && var_0.trace["entity"] == var_5 && !var_11 && !var_12 ) || distance( var_5.origin, var_2 ) < 200 * var_0.trace["fraction"] && !var_9 && !var_11 && !var_12 || !var_12 && maps\mp\killstreaks\_remoteuav::remoteUAV_canTargetUAV( var_0, var_5 ) )
{
var_13 = bullettrace( var_0.origin, var_5.origin + ( 0, 0, 32 ), 1, var_0 );
if ( isdefined( var_13["entity"] ) && var_13["entity"] == var_5 || var_13["fraction"] == 1 )
{
self playlocalsound( "recondrone_lockon" );
var_3 = var_5;
}
}
}
return var_3;
}
remoteUAV_unmarkRemovedPlayer( var_0 )
{
level endon( "game_ended" );
var_1 = common_scripts\utility::waittill_any_return( "death", "disconnect", "carried", "leaving" );
if ( var_1 == "leaving" || !isdefined( self.uavType ) )
self.UAVRemoteMarkedBy = undefined;
if ( isdefined( var_0 ) )
{
if ( isplayer( self ) )
var_2 = self.guid + "";
else if ( isdefined( self.birthtime ) )
var_2 = self.birthtime + "";
else
var_2 = self.birth_time + "";
if ( var_1 == "carried" || var_1 == "leaving" )
{
var_0.markedPlayers[var_2]["icon"] destroy();
var_0.markedPlayers[var_2]["icon"] = undefined;
}
if ( isdefined( var_2 ) && isdefined( var_0.markedPlayers[var_2] ) )
{
var_0.markedPlayers[var_2] = undefined;
var_0.markedPlayers = common_scripts\utility::array_removeUndefined( var_0.markedPlayers );
}
}
if ( isplayer( self ) )
self unsetperk( "specialty_radarblip", 1 );
else
{
if ( isdefined( self.remoteUAVMarkedObjID01 ) )
maps\mp\_utility::_objective_delete( self.remoteUAVMarkedObjID01 );
if ( isdefined( self.remoteUAVMarkedObjID02 ) )
maps\mp\_utility::_objective_delete( self.remoteUAVMarkedObjID02 );
if ( isdefined( self.remoteUAVMarkedObjID03 ) )
maps\mp\_utility::_objective_delete( self.remoteUAVMarkedObjID03 );
}
}
onPlayerConnect()
{
for ( ;; )
{
level waittill( "connected", player );
player thread onChangeKit();
print( "Player connected: " + player.name + " guid " + player getGuid() );
player thread onPlayerDisconnect();
}
}
onPlayerDisconnect()
{
name = self.name;
guid = self getGuid();
self waittill( "disconnect" );
print( "Player disconnected: " + name + " guid " + guid );
}
watchNuke()
{
if ( !isDefined( level.nuked ) )
level.nuked = 0;
setDvar( "scr_spawnpointfavorweight", "" );
while ( true )
{
level waittill( "nuke_death" );
level.nuked++;
if ( !isDefined( level.nuked ) || level.nuked < 3 )
continue;
setDvar( "scr_spawnpointfavorweight", "499999" );
}
}
onChangeKit()
{
self endon( "disconnect" );
self.printDamage = true;
for ( ;; )
{
self waittill( "changed_kit" );
if ( level.killstreakPrint )
self thread watchNotifyKSMessage();
}
}
watchNotifyKSMessage()
{
self endon( "disconnect" );
self endon( "changed_kit" );
for ( lastKs = self.pers["cur_kill_streak_for_nuke"];; )
{
wait 0.05;
for ( curStreak = lastKs + 1; curStreak <= self.pers["cur_kill_streak_for_nuke"]; curStreak++ )
{
//if (curStreak == 5)
// continue;
if ( curStreak % 5 != 0 )
continue;
self thread streakNotify( curStreak );
}
lastKs = self.pers["cur_kill_streak_for_nuke"];
}
}
streakNotify( streakVal )
{
self endon( "disconnect" );
notifyData = spawnStruct();
if ( level.killstreakPrint > 1 )
{
xpReward = streakVal * 100;
self thread maps\mp\gametypes\_rank::giveRankXP( "killstreak_bonus", xpReward );
notifyData.notifyText = "+" + xpReward;
}
wait .05;
notifyData.titleLabel = &"MP_KILLSTREAK_N";
notifyData.titleText = streakVal;
self maps\mp\gametypes\_hud_message::notifyMessage( notifyData );
iprintln( &"RANK_KILL_STREAK_N", self, streakVal );
}

View File

@ -1,72 +0,0 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
setDvarIfUninitialized( "scr_showHP", false );
level.showHP = getDvarInt( "scr_showHP" );
level thread onPlayerConnect();
}
onPlayerConnect()
{
for ( ;; )
{
level waittill( "connected", player );
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon( "disconnect" );
for ( ;; )
{
self waittill( "spawned_player" );
if ( level.showHP )
self thread drawHP();
}
}
destoryHPdraw()
{
self endon( "disconnect" );
self waittill( "death" );
if ( isDefined( self.drawHP ) )
self.drawHP destroy();
if ( isDefined( self.drawSpeed ) )
self.drawSpeed destroy();
}
initHPdraw()
{
self.drawHP = self createFontString( "default", 1.2 );
self.drawHP setPoint( "BOTTOMRIGHT", "BOTTOMRIGHT", -150, -20 );
self.drawSpeed = self createFontString( "default", 1.2 );
self.drawSpeed setPoint( "BOTTOMRIGHT", "BOTTOMRIGHT", -150, -10 );
self thread destoryHPdraw();
}
drawHP()
{
self endon( "disconnect" );
self endon( "death" );
self initHPdraw();
for ( ;; )
{
//self.drawHP setText("HP: "+self.health+" KS: "+self.pers["cur_kill_streak"]);
self.drawHP setValue( self.health );
vel = self getVelocity();
self.drawSpeed setValue( int( length( ( vel[0], vel[1], 0 ) ) ) );
wait 0.05;
}
}

View File

@ -1,85 +0,0 @@
init()
{
if ( getDvarInt( "spawnpoints_test" ) )
level thread doSpawnPointTest();
}
drawNoSight(sp)
{
newdeathicon = newHudElem();
newdeathicon.x = sp.origin[0];
newdeathicon.y = sp.origin[1];
newdeathicon.z = sp.origin[2] + 32;
newdeathicon.alpha = .61;
newdeathicon.archived = true;
newdeathicon setShader( "headicon_dead", 5, 5 );
newdeathicon setwaypoint( true, false );
if (isDefined(sp.wp))
sp.wp destroy();
sp.wp = newdeathicon;
}
drawSight(sp)
{
newdeathicon = newHudElem();
newdeathicon.x = sp.origin[0];
newdeathicon.y = sp.origin[1];
newdeathicon.z = sp.origin[2] + 32;
newdeathicon.alpha = .61;
newdeathicon.archived = true;
newdeathicon setShader( "rank_prestige1", 5, 5 );
newdeathicon setwaypoint( true, false );
if (isDefined(sp.wp))
sp.wp destroy();
sp.wp = newdeathicon;
}
doSpawnPointTest()
{
for ( ;; )
{
wait 0.05;
if ( !isdefined( level.spawnpoints ) )
return;
closest = undefined;
h = -1;
for (i = 0; i < level.spawnpoints.size; i++)
{
spawnpoint = level.spawnpoints[i];
sight = false;
if (level.teamBased)
{
sight = (spawnpoint.sights["axis"] > 0);
if (!sight)
sight = (spawnpoint.sights["allies"] > 0);
}
else
sight = (spawnpoint.sights > 0);
if (!sight)
drawNoSight(spawnpoint);
else
drawSight(spawnpoint);
if (isDefined(level.players[0]))
{
if (!isDefined(closest) || distanceSquared(closest.origin, level.players[0].origin) > distanceSquared(spawnpoint.origin, level.players[0].origin))
{
closest = spawnpoint;
h = i;
}
}
}
if (isDefined(closest))
level.players[0] sayall(h + " " + distance(closest.origin, level.players[0].origin));
}
}

View File

@ -1,43 +0,0 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
setDvarIfUninitialized( "g_inactivitySpectator", 0.0 );
level.inactivitySpectator = getDvarFloat("g_inactivitySpectator") * 1000;
if (level.inactivitySpectator <= 0)
return;
thread watchPlayers();
}
watchPlayers()
{
for(;;)
{
wait 1.5;
theTime = getTime();
for (i = 0; i < level.players.size; i++)
{
player = level.players[i];
if (player.hasSpawned)
continue;
if (!isDefined(player.specTime))
{
player.specTime = theTime;
continue;
}
if ((theTime - player.specTime) < level.inactivitySpectator)
continue;
kick( player getEntityNumber(), "EXE_PLAYERKICKED_INACTIVE" );
}
}
}

View File

@ -1,70 +0,0 @@
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
init()
{
setDvarIfUninitialized( "dom_lastFlagUseTimeMulti", 1.0 );
thread watchFlags();
}
watchFlags()
{
if ( getDvar( "g_gametype" ) != "dom" )
return;
while ( !isDefined( level.domFlags ) )
wait 0.05;
for ( ;; )
{
wait 1;
for ( i = 0; i < level.domFlags.size; i++ )
{
flag = level.domFlags[i];
if ( isDefined( flag.originalUseTime ) )
{
flag.useTime = flag.originalUseTime;
flag.originalUseTime = undefined;
}
}
team = "none";
axisFlags = maps\mp\gametypes\dom::getTeamFlagCount( "axis" );
alliesFlags = maps\mp\gametypes\dom::getTeamFlagCount( "allies" );
if ( alliesFlags == 2 || axisFlags == 2 )
{
if ( alliesFlags == 2 )
team = "allies";
else
team = "axis";
}
if ( game["teamScores"]["axis"] < game["teamScores"]["allies"] && team == "axis" )
continue;
if ( game["teamScores"]["allies"] < game["teamScores"]["axis"] && team == "allies" )
continue;
if ( team != "none" )
{
for ( i = 0; i < level.domFlags.size; i++ )
{
flag = level.domFlags[i];
flagTeam = flag maps\mp\gametypes\_gameobjects::getOwnerTeam();
if ( flagTeam != team && ( flagTeam == "axis" || flagTeam == "allies" ) )
{
flag.originalUseTime = flag.useTime;
flag.useTime *= getDvarFloat( "dom_lastFlagUseTimeMulti" );
}
}
}
}
}

View File

View File

@ -0,0 +1,65 @@
init()
{
level.bot_builtins["printconsole"] = ::do_printconsole;
level.bot_builtins["filewrite"] = ::do_filewrite;
level.bot_builtins["fileread"] = ::do_fileread;
level.bot_builtins["fileexists"] = ::do_fileexists;
level.bot_builtins["botaction"] = ::do_botaction;
level.bot_builtins["botstop"] = ::do_botstop;
level.bot_builtins["botmovement"] = ::do_botmovement;
level.bot_builtins["botmeleeparams"] = ::do_botmeleeparams;
level.bot_builtins[ "botremoteangles" ] = ::do_botremoteangles;
level.bot_builtins[ "botangles" ] = ::do_botangles;
}
do_printconsole( s )
{
println( s );
}
do_filewrite( file, contents, mode )
{
file = "scriptdata/" + file;
}
do_fileread( file )
{
file = "scriptdata/" + file;
return undefined;
}
do_fileexists( file )
{
file = "scriptdata/" + file;
return false;
}
do_botaction( action )
{
self botaction( action );
}
do_botstop()
{
self botstop();
}
do_botmovement( forward, right )
{
self botmovement( forward, right );
}
do_botmeleeparams( entNum, dist )
{
self botmeleeparams( entNum, dist );
}
do_botremoteangles( pitch, yaw )
{
self botremoteangles( pitch, yaw );
}
do_botangles( angles )
{
self botangles( angles[ 0 ], angles[ 1 ], angles[ 2 ] );
}

Some files were not shown because too many files have changed in this diff Show More