Compare commits
45 Commits
v2.1.0
...
dc03e0fbb3
Author | SHA1 | Date | |
---|---|---|---|
dc03e0fbb3 | |||
24c1908c85 | |||
02761a1013 | |||
093dc9cd8c | |||
a3266c6de3 | |||
0ea6672804 | |||
b3967606f4 | |||
fcd130a132 | |||
f39a4d008c | |||
cff61ab690 | |||
f044af8aea | |||
1d464fca49 | |||
538269517a | |||
9efda21175 | |||
f536f2b65d | |||
7b52b462e4 | |||
9136ef2809 | |||
a8385f9010 | |||
541b0832e3 | |||
8acd9a282e | |||
cd1721b9f0 | |||
c342446e46 | |||
e181931ca2 | |||
ad74f6b93d | |||
249298b8f7 | |||
b2989d5610 | |||
4e8b5a1604 | |||
4c5dc51a46 | |||
5de583df89 | |||
5be2cf4b51 | |||
6315dffe34 | |||
9b36015636 | |||
9356aa2aff | |||
77b4081edc | |||
3287031fe7 | |||
26c533638e | |||
ccda0c6c37 | |||
386e87d063 | |||
dc58bf328a | |||
21949a47da | |||
521225e4ce | |||
6f954ebfba | |||
c6a21a075b | |||
250ee97e9d | |||
cf788c4308 |
14
.astylerc
@ -1,21 +1,27 @@
|
|||||||
# try to mimic the original gsc provided
|
# try to mimic the original gsc provided
|
||||||
|
# mode=ghc
|
||||||
mode=c
|
mode=c
|
||||||
style=allman
|
style=allman
|
||||||
|
|
||||||
indent=tab
|
indent=force-tab=2
|
||||||
lineend=windows
|
lineend=windows
|
||||||
|
|
||||||
pad-oper
|
pad-oper
|
||||||
pad-paren-in
|
pad-paren-in
|
||||||
pad-header
|
pad-header
|
||||||
|
# pad-brackets-in
|
||||||
# delete-empty-lines
|
fill-empty-lines
|
||||||
|
squeeze-lines=2
|
||||||
|
squeeze-ws
|
||||||
|
break-one-line-headers
|
||||||
|
add-braces
|
||||||
|
remove-comment-prefix
|
||||||
|
|
||||||
break-blocks
|
break-blocks
|
||||||
# remove-braces
|
|
||||||
|
|
||||||
indent-switches
|
indent-switches
|
||||||
indent-cases
|
indent-cases
|
||||||
indent-after-parens
|
indent-after-parens
|
||||||
|
indent-col1-comments
|
||||||
|
|
||||||
remove-comment-prefix
|
remove-comment-prefix
|
||||||
|
@ -4,7 +4,7 @@ root = true
|
|||||||
indent_style = tab
|
indent_style = tab
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
charset = latin1
|
charset = latin1
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = false
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.md]
|
[*.md]
|
||||||
|
21
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
name: main
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main-win:
|
||||||
|
name: Test 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: Compile test script
|
||||||
|
run: |
|
||||||
|
gsc-tool.exe -m parse -g iw5 -s pc .
|
41
.gitignore
vendored
@ -1,35 +1,8 @@
|
|||||||
# Ignore everything in repository root
|
|
||||||
/*
|
|
||||||
|
|
||||||
# Files to not ignore
|
|
||||||
!/.gitignore
|
|
||||||
!/.editorconfig
|
|
||||||
!/.gitattributes
|
|
||||||
|
|
||||||
!/z_server.bat
|
|
||||||
|
|
||||||
# Folder to not ignore
|
|
||||||
!/main_shared/
|
|
||||||
!/.vscode
|
|
||||||
*.gsx
|
|
||||||
!/main_shared/maps/mp/gametypes/_callbacksetup.gsx
|
|
||||||
main_shared/maps/mp/gametypes/_globallogic.gsx
|
|
||||||
main_shared/maps/mp/gametypes/_hardpoints.gsx
|
|
||||||
!/README.md
|
|
||||||
*.zip
|
*.zip
|
||||||
!/out
|
*.log
|
||||||
|
*.stat
|
||||||
!/.astylerc
|
logs/
|
||||||
!/z_deploy.bat
|
demos/
|
||||||
!/deploy.bat
|
missingasset.csv
|
||||||
!/deploy.js
|
q3config_server.cfg
|
||||||
|
qconsole.log.old
|
||||||
!/main/
|
|
||||||
/main/*
|
|
||||||
!/main/server.cfg
|
|
||||||
!/main/botnames.txt
|
|
||||||
!/main/waypoints/
|
|
||||||
!/main/plugins/
|
|
||||||
/main/plugins/*
|
|
||||||
!/main/plugins/httpget.dll
|
|
||||||
!/main/plugins/httpget.so
|
|
||||||
|
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
|||||||
[submodule "main_shared/waypoints"]
|
|
||||||
path = main/waypoints
|
|
||||||
url = https://github.com/ineedbots/cod4x_waypoints
|
|
80
README.md
@ -1,18 +1,18 @@
|
|||||||

|

|
||||||
|
|
||||||
# CoD4x Bot Warfare
|
# IW3 Bot Warfare
|
||||||
Bot Warfare is a GSC mod for the [CoD4x project](https://github.com/callofduty4x/CoD4x_Server).
|
Bot Warfare is a GSC mod for the [CoD4x project](https://github.com/callofduty4x/CoD4x_Server).
|
||||||
|
|
||||||
It aims to add playable AI to the multiplayer games of CoD4.
|
It aims to add playable AI to the multiplayer games of CoD4.
|
||||||
|
|
||||||
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/cod4x-bot-warfare-latest) and the CoD4x forum post [here](https://cod4x.ovh/index.php?/forums/topic/3116-release-bot-warfare/).
|
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/iw3-bot-warfare-latest).
|
||||||
|
|
||||||
## <span style="color:red">Important to public dedicated servers</span>
|
## <span style="color:red">Important to public dedicated servers</span>
|
||||||
The ```bots_main_firstIsHost``` DVAR is enabled by default!
|
The `bots_main_firstIsHost` DVAR is enabled by default!
|
||||||
|
|
||||||
This is so inexperienced users of the mod can access with menu without any configuration.
|
This is so inexperienced users of the mod can access with menu without any configuration.
|
||||||
|
|
||||||
Make sure to disable this DVAR by adding ```set bots_main_firstIsHost 0``` in your server config!
|
Make sure to disable this DVAR by adding `set bots_main_firstIsHost 0` in your server config!
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
- [Features](#Features)
|
- [Features](#Features)
|
||||||
@ -22,7 +22,7 @@ Make sure to disable this DVAR by adding ```set bots_main_firstIsHost 0``` in yo
|
|||||||
- [Credits](#Credits)
|
- [Credits](#Credits)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- A Waypoint Editor for creating and modifying bot's waypoints of traversing the map. Have a look at [Using the Waypoint editor](/main_shared/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.
|
- A clean and nice menu, you can edit every bot DVAR within in-game.
|
||||||
|
|
||||||
@ -57,17 +57,15 @@ Make sure to disable this DVAR by adding ```set bots_main_firstIsHost 0``` in yo
|
|||||||
- ... And pretty much everything you expect a Combat Training bot to have
|
- ... And pretty much everything you expect a Combat Training bot to have
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
Using CoD4x's extended functionality requires to use their Dedicated server, as explained [here](https://cod4x.ovh/index.php?/forums/topic/2047-add-cod4x-server-gsc-functions-to-the-client/).
|
|
||||||
|
|
||||||
You can easily setup a local LAN dedicated server for you to join and play on. Have a look at [Setting up a CoD4x server](https://github.com/callofduty4x/CoD4x_Server/wiki/Server-setup).
|
You can easily setup a local LAN dedicated server for you to join and play on. Have a look at [Setting up a CoD4x server](https://github.com/callofduty4x/CoD4x_Server/wiki/Server-setup).
|
||||||
|
|
||||||
0. Make sure that [CoD4x server + client](https://cod4x.ovh/) is installed, updated and working properly.
|
0. Make sure that [CoD4x server + client](https://cod4x.ovh/) is installed, updated and working properly.
|
||||||
- Download the [latest release](https://github.com/ineedbots/cod4x_bot_warfare/releases) of Bot Warfare.
|
- Download the [latest release](https://github.com/ineedbots/iw3_bot_warfare/releases) of Bot Warfare.
|
||||||
1. Locate your CoD4x server install folder.
|
1. Locate your CoD4x server install folder.
|
||||||
2. Move the files/folders found in 'Add to root of CoD4x server' from the Bot Warfare release archive you downloaded to the root of your CoD4x server folder.
|
2. Move the files/folders found in `Add to root of CoD4x server` from the Bot Warfare release archive you downloaded to the root of your CoD4x server folder.
|
||||||
- The folder/file structure should follow as `.CoD4x server folder\main_shared\maps\mp\bots\_bot.gsc`.
|
- The folder/file structure should follow as `.CoD4x server folder\mods\mp_bots\z_svr_bots.iwd`.
|
||||||
3. The mod is now installed, now start your server, change the DVARs and start a map.
|
3. The mod is now installed. Now before you start your server, you will need to set the `fs_game` DVAR to `mods/mp_bots` as a commandline argument (`+set fs_game "mods/mp_bots"`).
|
||||||
4. Now start your CoD4x client and connect to your server ('connect 127.0.0.1' in the console most likely) and play!
|
4. Now start your CoD4x client and connect to your server (`connect 127.0.0.1` in the console most likely) and play!
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
@ -81,47 +79,57 @@ You can easily setup a local LAN dedicated server for you to join and play on. H
|
|||||||
### DVARs
|
### DVARs
|
||||||
| Dvar | Description | Default Value |
|
| Dvar | Description | Default Value |
|
||||||
|----------------------------------|---------------------------------------------------------------------------------------------|--------------:|
|
|----------------------------------|---------------------------------------------------------------------------------------------|--------------:|
|
||||||
| bots_main | Enable this mod. | true |
|
| bots_main | Enable this mod. | 1 |
|
||||||
| bots_main_firstIsHost | The first player to connect will be given host. | true |
|
| bots_main_firstIsHost | The first player to connect will be given host. | 1 |
|
||||||
| bots_main_GUIDs | A comma separated list of GUIDs of players who will be given host. | "" |
|
| 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_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_menu | Enable the in-game menu for hosts. | 1 |
|
||||||
| bots_main_debug | Enable the in-game waypoint editor. | false |
|
| bots_main_debug | Enable the in-game waypoint editor. | 0 |
|
||||||
| bots_main_kickBotsAtEnd | Kick the bots at the end of a match. | false |
|
| 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_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_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 | 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_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_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. | true |
|
| 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 | 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_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_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 `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_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_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_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_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_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_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_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_min | The minimum difficulty level for the bots. | 1 |
|
||||||
| bots_skill_max | The maximum difficulty level for the bots. | 7 |
|
| 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_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. | true |
|
| 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_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_play_move | If the bots can move. | true |
|
| bots_play_move | If the bots can move. | 1 |
|
||||||
| bots_play_knife | If the bots can knife. | true |
|
| bots_play_knife | If the bots can knife. | 1 |
|
||||||
| bots_play_fire | If the bots can fire. | true |
|
| bots_play_fire | If the bots can fire. | 1 |
|
||||||
| bots_play_nade | If the bots can grenade. | true |
|
| bots_play_nade | If the bots can grenade. | 1 |
|
||||||
| bots_play_obj | If the bots can play the objective. | true |
|
| bots_play_obj | If the bots can play the objective. | 1 |
|
||||||
| bots_play_camp | If the bots can camp. | true |
|
| bots_play_camp | If the bots can camp. | 1 |
|
||||||
| bots_play_jumpdrop | If the bots can jump/drop shot. | true |
|
| 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. | true |
|
| 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. | true |
|
| bots_play_killstreak | If the bots can call in killstreaks. | 1 |
|
||||||
| bots_play_ads | If the bots can aim down sights. | true |
|
| bots_play_ads | If the bots can aim down sights. | 1 |
|
||||||
| bots_play_aim | If the bots can aim. | true |
|
| bots_play_aim | If the bots can aim. | 1 |
|
||||||
|
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
- v2.3.0 (not released yet)
|
||||||
|
- Smoothed bot aim at range
|
||||||
|
- Fixed bots_manage_fill_spec players being counted with bots_manage_fill_mode 1 (bot only)
|
||||||
|
|
||||||
|
- v2.2.0
|
||||||
|
- Fixed some chat related script runtime errors
|
||||||
|
- Waypoints only load from csv now
|
||||||
|
- Fix bots possibly being stuck in sab
|
||||||
|
- Major cleanup
|
||||||
|
|
||||||
- v2.1.0
|
- v2.1.0
|
||||||
- Bot chatter system, bots_main_chat
|
- Bot chatter system, bots_main_chat
|
||||||
- Greatly reduce script variable usage
|
- Greatly reduce script variable usage
|
||||||
|
Before Width: | Height: | Size: 655 KiB After Width: | Height: | Size: 655 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
@ -1,9 +1,9 @@
|
|||||||
# CoD4x Bot Warfare Waypoint Editor
|
# IW3 Bot Warfare Waypoint Editor
|
||||||
First things first, Bot Warfare uses the [AStar search algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm) for creating paths for the bots to find their way through a map.
|
First things first, Bot Warfare uses the [AStar search algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm) for creating paths for the bots to find their way through a map.
|
||||||
|
|
||||||
The AStar search algorithm requires a [set of waypoints](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)) defining where all the paths are in the map.
|
The AStar search algorithm requires a [set of waypoints](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)) defining where all the paths are in the map.
|
||||||
|
|
||||||
Now if you want to modify existing or create new waypoints for CoD4x maps, this is the read for you.
|
Now if you want to modify existing or create new waypoints for CoD4 maps, this is the read for you.
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
- [Setting up the Waypoint Editor](#Setting-up-the-Waypoint-Editor)
|
- [Setting up the Waypoint Editor](#Setting-up-the-Waypoint-Editor)
|
||||||
@ -14,23 +14,20 @@ The Bot Warfare mod comes with the Waypoint Editor out of the box, so its just a
|
|||||||
|
|
||||||
Start your server with the Bot Warfare mod.
|
Start your server with the Bot Warfare mod.
|
||||||
|
|
||||||
In the server console, type in ```set bots_main_debug 1```.<br>
|
In the server console, type in `set bots_main_debug 1`.<br>
|
||||||

|

|
||||||
|
|
||||||
Now start a match with the map you want to edit with the `devmap <mapname>` command.<br>
|
Now start a match with the map you want to edit with the `devmap <mapname>` command.<br>
|
||||||

|

|
||||||
|
|
||||||
It should be noted that waypoints load in this following order;
|
It should be noted that waypoints load from the 'waypoints' folder (<fs_game>\scriptdata\waypoints) for a csv file.
|
||||||
1. checks the 'waypoints' folder (FS_Game\waypoints) for a csv file
|
|
||||||
2. loads the waypoints from GSC (maps\mp\bots\waypoints)
|
|
||||||
3. checks online at [this repo](https://github.com/ineedbots/cod4x_waypoints) for the waypoints (if httpget plugin loaded)
|
|
||||||
|
|
||||||
If all fail to load waypoints, there will be no waypoints and the bots will not know how to navigate the map.
|
If csv fails to load waypoints, then the bots will not know how to navigate the map.
|
||||||
|
|
||||||
Connect to the server with the CoD4x client, you'll be introduced to the Waypoint Editor.
|
Connect to the server with the CoD4x client, you'll be introduced to the Waypoint Editor.
|
||||||
|
|
||||||
## The Editor
|
## The Editor
|
||||||
<br>
|
<br>
|
||||||
This is the Waypoint Editor. You can view, edit and create the waypoint graph.
|
This is the Waypoint Editor. You can view, edit and create the waypoint graph.
|
||||||
- Each red number you see in the world is a waypoint.
|
- Each red number you see in the world is a waypoint.
|
||||||
- The green string you see is the type of that waypoint.
|
- The green string you see is the type of that waypoint.
|
||||||
@ -68,10 +65,10 @@ Each button has a secondary modifier button, and can be pressed shortly after pr
|
|||||||
Okay, now that you know how to control the Editor, lets now go ahead and create some waypoints.
|
Okay, now that you know how to control the Editor, lets now go ahead and create some waypoints.
|
||||||
|
|
||||||
Here I added a waypoint.<br>
|
Here I added a waypoint.<br>
|
||||||

|

|
||||||
|
|
||||||
And I added a second waypoint.<br>
|
And I added a second waypoint.<br>
|
||||||

|

|
||||||
|
|
||||||
There are several types of waypoints, holding a modifier button before pressing the add waypoint button will create a special type of waypoint.
|
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:
|
- Types of waypoints:
|
||||||
@ -83,7 +80,7 @@ There are several types of waypoints, holding a modifier button before pressing
|
|||||||
- climb - bots will look at the angles you were looking at when you made the waypoint and climb (use this for ladders and mantles)
|
- climb - bots will look at the angles you were looking at when you made the waypoint and climb (use this for ladders and mantles)
|
||||||
|
|
||||||
Here I linked the two waypoints together.<br>
|
Here I linked the two waypoints together.<br>
|
||||||

|

|
||||||
|
|
||||||
Linking waypoints are very important, it tells the bots that they can reach waypoint 1 from waypoint 0, and vice versa.
|
Linking waypoints are very important, it tells the bots that they can reach waypoint 1 from waypoint 0, and vice versa.
|
||||||
|
|
||||||
@ -93,7 +90,5 @@ Once you feel like you are done, press the Save buttons. This will generate a [C
|
|||||||
|
|
||||||
That is it! The waypoints should load next time you start your game!
|
That is it! The waypoints should load next time you start your game!
|
||||||
|
|
||||||
Your waypoints CSV file will be located at ```<fs_game>/waypoints/<mapname>_wp.csv```. (main folder if fs_game is blank)<br>
|
Your waypoints CSV file will be located at `<fs_game>\scriptdata\waypoints\<mapname>_wp.csv`. (main folder if fs_game is blank)<br>
|
||||||

|

|
||||||
|
|
||||||
You can share your waypoints publicly (and can be loaded by other users of Bot Warfare remotely) by making a Pull Request to the [CoD4x_Waypoints repo](https://github.com/ineedbots/cod4x_waypoints).
|
|
@ -1,2 +0,0 @@
|
|||||||
xcopy cod4x_bot_warfare\main_shared\maps\mp\bots main_shared\maps\mp\bots\ /Y /I /E /H /C
|
|
||||||
xcopy cod4x_bot_warfare\main main\ /Y /I /E /H /C
|
|
54
deploy.js
@ -1,54 +0,0 @@
|
|||||||
// nodejs 14+
|
|
||||||
|
|
||||||
const exec = require('util').promisify(require('child_process').exec)
|
|
||||||
|
|
||||||
const repo_name = 'cod4x_bot_warfare'
|
|
||||||
const repo_url = `https://github.com/ineedbots/${repo_name}`
|
|
||||||
const deploy_check_rate = 60000
|
|
||||||
const title = 'CoD4x 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)
|
|
198
main/server.cfg
@ -1,198 +0,0 @@
|
|||||||
////////////////////////////////////////////////////////////
|
|
||||||
/// ///
|
|
||||||
/// ///
|
|
||||||
/// Call of Duty 4 X Standard Configuration ///
|
|
||||||
/// ///
|
|
||||||
/// Author: Daedalus, Created: 08.01.2017 ///
|
|
||||||
/// Provides a general starting point for your ///
|
|
||||||
/// CoD4X server configuration. Also contains ///
|
|
||||||
/// features only available on CoD4X 1.8+ servers ///
|
|
||||||
/// ///
|
|
||||||
////////////////////////////////////////////////////////////
|
|
||||||
loadplugin "httpget"
|
|
||||||
|
|
||||||
// Meta Information, not required
|
|
||||||
sets _Admin "Admin"
|
|
||||||
sets _Email ""
|
|
||||||
sets _Website ""
|
|
||||||
sets _Location ""
|
|
||||||
sets _Maps ""
|
|
||||||
sets _Gametype ""
|
|
||||||
/////////////////////////////////
|
|
||||||
|
|
||||||
// Basics
|
|
||||||
set sv_hostname "^1Bot ^3War^5fare ^724/7 Shipment 10x"
|
|
||||||
set g_motd "" // Message of the day, which getting shown to every player on his 1st spawn
|
|
||||||
set g_password "" // join password, leave empty to deactivate
|
|
||||||
set sv_privateClients "" //Private Clients, number of slots that can only be changed with a password
|
|
||||||
set sv_privatePassword "" // the password to join private slots
|
|
||||||
set sv_authorizemode "-1" // cdkey validation
|
|
||||||
set sv_showasranked "1" // 0 = show modded server as not ranked, 1 = shows server as ranked altough it is modded
|
|
||||||
|
|
||||||
// Log File
|
|
||||||
set g_logsync "2" // 0=no log, 1=buffered, 2=continuous, 3=append
|
|
||||||
set logfile "1" // 0 = NO log, 1 = log file enabled
|
|
||||||
set g_log "games_mp.log" // Name of log file, default is games_mp.log
|
|
||||||
set sv_log_damage "1"
|
|
||||||
set sv_statusfile "serverstatus.xml" // writes an xml serverstatus to disc, leave empty to disable
|
|
||||||
|
|
||||||
// Networking
|
|
||||||
// set sv_maxRate 25000
|
|
||||||
|
|
||||||
set sv_minPing "0" // minimal ping [ms] for a player to join the server
|
|
||||||
set sv_maxPing "0" // maximal ping [ms] for a player to join the server
|
|
||||||
set sv_timeout "40" // Seconds to keep a client on server without a new clientmessage
|
|
||||||
set sv_connectTimeout "90" // Seconds to wait for a client which is loading a map without a new clientmessage
|
|
||||||
set sv_zombieTime "2" // Seconds to keep a disconnected client on server to transmit the last message
|
|
||||||
set sv_reconnectlimit "5" // Seconds to disallow a prior connected client to reconnect to the server
|
|
||||||
|
|
||||||
// Floodprotection is enabled by default!
|
|
||||||
// sv_floodProtect, sv_maxRate,
|
|
||||||
|
|
||||||
|
|
||||||
// Variables you should not touch :)
|
|
||||||
// set sv_fps "20" //Server-FPS (do not change!)
|
|
||||||
set sv_punkbuster "0" //Punkbuster, PB is not supported on CoD4x
|
|
||||||
set sv_pure "0" //check IWD-data 0 = off, 1 = on
|
|
||||||
// set g_antilag "1" //0 = off, 1 = on // Anti lag checks for weapon hits
|
|
||||||
// set ModStats "1" // 1 = use player stats file for mods (normal behaviours), 0 = use player stats file of basegame (DANGEROUS!!! as it can overwrite your stats)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Variables I have no clue what they are doing :D
|
|
||||||
set sv_allowAnonymous "0" // Anonymous //0 = off 1 = on
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////
|
|
||||||
// Gameplay
|
|
||||||
|
|
||||||
// Maps
|
|
||||||
set sv_mapRotation "map mp_shipment" // maps that will be played automatically
|
|
||||||
// set sv_randomMapRotation "1" // 0 = sv_mapRotation is randomized, 1 = sequential order of sv_mapRotation
|
|
||||||
|
|
||||||
set g_deadChat "1" // dead can chat // 0 = off, 1 = on
|
|
||||||
set voice_deadChat "0" // dead can use voicechat //0 = off, 1 = on
|
|
||||||
set g_gravity "800" //Gravity //Standard 800
|
|
||||||
set sv_disableClientConsole "0" //deactivate console for clients //0 = no, 1 = yes
|
|
||||||
set scr_teambalance "1" //auto-teambalance //0 = no, 1 = yes
|
|
||||||
set scr_team_fftype "0" //friendly-fire //0 = off, 1 = on, //2 = reflect damage, 3 = shared damage
|
|
||||||
set scr_game_spectatetype "2" // spectator // 0 = off, 1 = only Team/player, 2 = free
|
|
||||||
set scr_hardcore "0" //Hardcore Mode //0 = off 1 = on
|
|
||||||
set scr_oldschool "0" //Oldschool Mode //0 = off, 1 = on
|
|
||||||
|
|
||||||
set g_friendlyPlayerCanBlock "0" // 1 = player collision between friendly players, 0 = collision between friendly players is disabled
|
|
||||||
set g_FFAPlayerCanBlock "1" // same for FFA (non team based) gamemode
|
|
||||||
|
|
||||||
// Less interesting Gameplay stuff
|
|
||||||
set scr_drawfriend "0" //show team mates //0 = off, 1 = on
|
|
||||||
set scr_enable_scoretext "1" //hit-message //0 = no, 1 = yes
|
|
||||||
set scr_game_allowkillcam "1" //Killcam //0 = no, 1 = yes // Allow to play killcam after you got killed
|
|
||||||
set scr_game_deathpointloss "0" //points-distraction when hit //0 = no, 1 = yes
|
|
||||||
set scr_game_suicidepointloss "0" //points-distraction suicide //0 = no, 1 = yes
|
|
||||||
set scr_game_matchstarttime "10" //time until match starts
|
|
||||||
set scr_game_playerwaittime "10" //respawn-delay
|
|
||||||
set scr_player_forcerespawn "1" //force respawn //0 = no, 1 = yes // forgot what -1 did but i believe it was different xD
|
|
||||||
set scr_player_healthregentime "5" //health regeneration (in seconds)
|
|
||||||
set scr_player_maxhealth "100" //Max health
|
|
||||||
set scr_player_sprinttime "4" //Sprint-time
|
|
||||||
set scr_game_onlyheadshots "0" //headshots only //0 = no, 1 = yes
|
|
||||||
set scr_teamKillPunishCount "3" //Teamkiller kick after x Teamkills
|
|
||||||
set scr_team_teamkillspawndelay "20" //teamkill spawn delay (in seconds)
|
|
||||||
set scr_team_teamkillpointloss "1" //pointloss after Teamkill //0 = no, 1 = yes
|
|
||||||
set scr_enable_hiticon "1" //Hit-Symbol //0 = off, 1 = on
|
|
||||||
|
|
||||||
//Game-Modes
|
|
||||||
//Death Match (dm)
|
|
||||||
set scr_dm_scorelimit "1000"
|
|
||||||
set scr_dm_timelimit "15"
|
|
||||||
set scr_dm_roundlimit "1"
|
|
||||||
set scr_dm_numlives "0"
|
|
||||||
set scr_dm_playerrespawndelay "3"
|
|
||||||
set scr_dm_waverespawndelay "0"
|
|
||||||
|
|
||||||
//Team Death Match (war)
|
|
||||||
set scr_war_scorelimit "2000"
|
|
||||||
set scr_war_timelimit "10"
|
|
||||||
set scr_war_roundlimit "1"
|
|
||||||
set scr_war_numlives "0"
|
|
||||||
set scr_war_playerrespawndelay "3"
|
|
||||||
set scr_war_waverespawndelay "0"
|
|
||||||
|
|
||||||
//Domination (dom)
|
|
||||||
set scr_dom_scorelimit "300"
|
|
||||||
set scr_dom_timelimit "30"
|
|
||||||
set scr_dom_numlives "0"
|
|
||||||
set scr_dom_playerrespawndelay "0"
|
|
||||||
set scr_dom_roundlimit "1"
|
|
||||||
set scr_dom_waverespawndelay "0"
|
|
||||||
|
|
||||||
//HQ (koth)
|
|
||||||
set scr_koth_scorelimit "250"
|
|
||||||
set scr_koth_timelimit "15"
|
|
||||||
set koth_kothmode "0" //Classic HQ-Mode 0 = off, 1 = on
|
|
||||||
set koth_capturetime "20"
|
|
||||||
set koth_spawntime "3" //0 = immediately, x = time in seconds
|
|
||||||
set scr_koth_numlives "0"
|
|
||||||
set scr_koth_playerrespawndelay "3"
|
|
||||||
set scr_koth_roundlimit "1"
|
|
||||||
set scr_koth_roundswitch "1"
|
|
||||||
set scr_koth_waverespawndelay "0"
|
|
||||||
set koth_autodestroytime "60"
|
|
||||||
set koth_delayPlayer "3"
|
|
||||||
set koth_destroytime "10"
|
|
||||||
set koth_spawnDelay "3"
|
|
||||||
|
|
||||||
//Sabotage (sab)
|
|
||||||
set scr_sab_scorelimit "2"
|
|
||||||
set scr_sab_timelimit "10"
|
|
||||||
set scr_sab_roundswitch "1"
|
|
||||||
set scr_sab_bombtimer "30"
|
|
||||||
set scr_sab_planttime "2.5"
|
|
||||||
set scr_sab_defusetime "5"
|
|
||||||
set scr_sab_hotpotato "0"
|
|
||||||
set scr_sab_numlives "0"
|
|
||||||
set scr_sab_playerrespawndelay "5"
|
|
||||||
set scr_sab_roundlimit "0"
|
|
||||||
set scr_sab_waverespawndelay "0"
|
|
||||||
|
|
||||||
//Search and destroy (sd)
|
|
||||||
set scr_sd_scorelimit "9"
|
|
||||||
set scr_sd_timelimit "2.5"
|
|
||||||
set scr_sd_roundswitch "4"
|
|
||||||
set scr_sd_bombtimer "45"
|
|
||||||
set scr_sd_planttime "5"
|
|
||||||
set scr_sd_defusetime "7"
|
|
||||||
set scr_sd_multibomb "0"
|
|
||||||
set scr_sd_numlives "1"
|
|
||||||
set scr_sd_playerrespawndelay "0"
|
|
||||||
set scr_sd_roundlimit "0"
|
|
||||||
set scr_sd_waverespawndelay "0"
|
|
||||||
|
|
||||||
set g_gametype "dom" // gamemode, one of [war, dm, sd, sab, koth]
|
|
||||||
|
|
||||||
// Amazing Stuff
|
|
||||||
set sv_autodemorecord "1" // Records demos of players on the serverside, demos are stored in "demos" folder
|
|
||||||
//set sv_demoCompletedCmd "" // program to execute when a demo has been saved
|
|
||||||
//set sv_screenshotArrivedCmd "" // program to execute when a screenshot was taken
|
|
||||||
//set sv_legacyguidmode "0" // 1 = old 32 character guids are used, 0 = new cod4x guid format is used ( like steamids )
|
|
||||||
|
|
||||||
///////////////////////////
|
|
||||||
// Setup for custom maps when running a mod
|
|
||||||
seta sv_wwwDownload "1" // enable download redirection
|
|
||||||
seta sv_wwwBaseURL "http://rawcdn.githack.com/ineedbots/www_host/main/cod4x/" // defines url to download from
|
|
||||||
seta sv_wwwDlDisconnected "1" // disconnect clients while downloading
|
|
||||||
///////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
set sv_nosteamnames "1" // 1 = Use names from steam if steam is available
|
|
||||||
|
|
||||||
set bots_manage_add "12"
|
|
||||||
set bots_main_firstIsHost "0"
|
|
||||||
set bots_manage_fill "12"
|
|
||||||
set bots_manage_fill_kick "1"
|
|
||||||
set bots_team_force "1"
|
|
||||||
set bots_loadout_allow_op "0"
|
|
||||||
set bots_loadout_reasonable "1"
|
|
||||||
set bots_manage_fill_spec "0"
|
|
||||||
|
|
||||||
exec config.cfg
|
|
@ -1,137 +0,0 @@
|
|||||||
/*
|
|
||||||
_bot_http
|
|
||||||
Author: INeedGames
|
|
||||||
Date: 12/16/2020
|
|
||||||
The HTTP module
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include maps\mp\bots\_bot_utility;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Will attempt to retreive waypoints from the internet
|
|
||||||
*/
|
|
||||||
getRemoteWaypoints( mapname )
|
|
||||||
{
|
|
||||||
url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv";
|
|
||||||
filename = "waypoints/" + mapname + "_wp.csv";
|
|
||||||
|
|
||||||
printToConsole( "Attempting to get remote waypoints from " + url );
|
|
||||||
res = getLinesFromUrl( url, filename );
|
|
||||||
|
|
||||||
if ( !res.lines.size )
|
|
||||||
return;
|
|
||||||
|
|
||||||
waypointCount = int( res.lines[0] );
|
|
||||||
|
|
||||||
waypoints = [];
|
|
||||||
printToConsole( "Loading remote waypoints..." );
|
|
||||||
|
|
||||||
for ( i = 1; i <= waypointCount; i++ )
|
|
||||||
{
|
|
||||||
tokens = tokenizeLine( res.lines[i], "," );
|
|
||||||
|
|
||||||
waypoint = parseTokensIntoWaypoint( tokens );
|
|
||||||
|
|
||||||
waypoints[i - 1] = waypoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( waypoints.size )
|
|
||||||
{
|
|
||||||
level.waypoints = waypoints;
|
|
||||||
printToConsole( "Loaded " + waypoints.size + " waypoints from remote." );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Does the version check, if we are up too date
|
|
||||||
*/
|
|
||||||
doVersionCheck()
|
|
||||||
{
|
|
||||||
remoteVersion = getRemoteVersion();
|
|
||||||
|
|
||||||
if ( !isDefined( remoteVersion ) )
|
|
||||||
{
|
|
||||||
printToConsole( "Error getting remote version of Bot Warfare." );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( level.bw_VERSION != remoteVersion )
|
|
||||||
{
|
|
||||||
printToConsole( "There is a new version of Bot Warfare!" );
|
|
||||||
printToConsole( "You are on version " + level.bw_VERSION + " but " + remoteVersion + " is available!" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
printToConsole( "You are on the latest version of Bot Warfare!" );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Returns the version of bot warfare found on the internet
|
|
||||||
*/
|
|
||||||
getRemoteVersion()
|
|
||||||
{
|
|
||||||
#if isSyscallDefined HTTPS_GetString
|
|
||||||
data = HTTPS_GetString( "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/version.txt" );
|
|
||||||
#else
|
|
||||||
data = undefined;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( !isDefined( data ) )
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return strtok( data, "\n" )[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Returns an array of each line from the response of the http url request
|
|
||||||
*/
|
|
||||||
getLinesFromUrl( url, filename )
|
|
||||||
{
|
|
||||||
result = spawnStruct();
|
|
||||||
result.lines = [];
|
|
||||||
|
|
||||||
#if isSyscallDefined HTTPS_GetString
|
|
||||||
data = HTTPS_GetString( url );
|
|
||||||
#else
|
|
||||||
data = undefined;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( !isDefined( data ) )
|
|
||||||
return result;
|
|
||||||
|
|
||||||
fd = FS_FOpen( filename, "write" );
|
|
||||||
|
|
||||||
line = "";
|
|
||||||
|
|
||||||
for ( i = 0; i < data.size; i++ )
|
|
||||||
{
|
|
||||||
c = data[i];
|
|
||||||
|
|
||||||
if ( c == "\n" )
|
|
||||||
{
|
|
||||||
result.lines[result.lines.size] = line;
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, line ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
line = "";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
line += c;
|
|
||||||
}
|
|
||||||
|
|
||||||
result.lines[result.lines.size] = line;
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
FS_FClose( fd );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,648 +0,0 @@
|
|||||||
/*
|
|
||||||
_wp_editor
|
|
||||||
Author: INeedGames
|
|
||||||
Date: 09/26/2020
|
|
||||||
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_commandWait" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_commandWait", 0.5 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_framerate" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_framerate", 58 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_lineDuration" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_lineDuration", 3 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_printDuration" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_printDuration", 3 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_debugRate" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_debugRate", 0.5 );
|
|
||||||
|
|
||||||
setDvar( "player_sustainAmmo", 1 );
|
|
||||||
|
|
||||||
level.waypoints = [];
|
|
||||||
level.waypointCount = 0;
|
|
||||||
|
|
||||||
level waittill( "connected", player );
|
|
||||||
|
|
||||||
player thread onPlayerSpawned();
|
|
||||||
}
|
|
||||||
|
|
||||||
onPlayerSpawned()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
self waittill( "spawned_player" );
|
|
||||||
self thread beginDebug();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
beginDebug()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
level.wpToLink = -1;
|
|
||||||
level.autoLink = false;
|
|
||||||
self.closest = -1;
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
self clearPerks();
|
|
||||||
self takeAllWeapons();
|
|
||||||
self.specialty = [];
|
|
||||||
self giveWeapon( "m16_gl_mp" );
|
|
||||||
self SetActionSlot( 3, "altMode" );
|
|
||||||
self giveWeapon( "frag_grenade_mp" );
|
|
||||||
self freezecontrols( false );
|
|
||||||
|
|
||||||
self thread debug();
|
|
||||||
self thread addWaypoints();
|
|
||||||
self thread linkWaypoints();
|
|
||||||
self thread deleteWaypoints();
|
|
||||||
self thread watchSaveWaypointsCommand();
|
|
||||||
self thread sayExtras();
|
|
||||||
|
|
||||||
self thread textScroll( "^1SecondaryOffhand - ^2Add Waypoint; ^3MeleeButton - ^4Link Waypoint; ^5FragButton - ^6Delete Waypoint; ^7UseButton + AttackButton - ^8Save" );
|
|
||||||
}
|
|
||||||
|
|
||||||
sayExtras()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
self iprintln( "Making a crouch waypoint with only one link..." );
|
|
||||||
self iprintln( "Makes a camping waypoint." );
|
|
||||||
}
|
|
||||||
|
|
||||||
debug()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
self setClientDvar( "com_maxfps", getDvarInt( "bots_main_debug_framerate" ) );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
wait getDvarFloat( "bots_main_debug_debugRate" );
|
|
||||||
|
|
||||||
if ( isDefined( self.command ) )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
closest = -1;
|
|
||||||
myEye = self getTagOrigin( "j_head" );
|
|
||||||
myAngles = self GetPlayerAngles();
|
|
||||||
|
|
||||||
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" ) ) )
|
|
||||||
{
|
|
||||||
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 ), 1, 1, getDvarInt( "bots_main_debug_lineDuration" ) );
|
|
||||||
|
|
||||||
if ( getConeDot( wpOrg, myEye, myAngles ) > getDvarFloat( "bots_main_debug_cone" ) )
|
|
||||||
print3d( wpOrg, i, ( 1, 0, 0 ), 2, 1, 6 );
|
|
||||||
|
|
||||||
if ( isDefined( level.waypoints[i].angles ) && level.waypoints[i].type != "stand" )
|
|
||||||
line( wpOrg, wpOrg + AnglesToForward( level.waypoints[i].angles ) * 64, ( 1, 1, 1 ), 1, 1, getDvarInt( "bots_main_debug_lineDuration" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.closest = closest;
|
|
||||||
|
|
||||||
if ( closest != -1 )
|
|
||||||
{
|
|
||||||
stringChildren = "";
|
|
||||||
|
|
||||||
for ( i = 0; i < level.waypoints[closest].children.size; i++ )
|
|
||||||
{
|
|
||||||
if ( i != 0 )
|
|
||||||
stringChildren = stringChildren + "," + level.waypoints[closest].children[i];
|
|
||||||
else
|
|
||||||
stringChildren = stringChildren + level.waypoints[closest].children[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
print3d( level.waypoints[closest].origin + ( 0, 0, 35 ), stringChildren, ( 0, 1, 0 ), 2, 1, getDvarInt( "bots_main_debug_printDuration" ) );
|
|
||||||
|
|
||||||
print3d( level.waypoints[closest].origin + ( 0, 0, 15 ), level.waypoints[closest].type, ( 0, 1, 0 ), 2, 1, getDvarInt( "bots_main_debug_printDuration" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AddWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self SecondaryOffhandButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
pos = self getOrigin();
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "Adding a waypoint..." );
|
|
||||||
self iprintln( "ADS - climb; Attack + Use - tube" );
|
|
||||||
self iprintln( "Attack - grenade; Use - claymore" );
|
|
||||||
self iprintln( "Else(wait) - your stance" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
self addWaypoint( pos );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self SecondaryOffhandButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
linkWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self MeleeButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "ADS - Unlink; Else(wait) - Link" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( !self adsButtonPressed() )
|
|
||||||
self LinkWaypoint( self.closest );
|
|
||||||
else
|
|
||||||
self UnLinkWaypoint( self.closest );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self MeleeButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
deleteWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self fragButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "Attack - DeleteAll; ADS - Load" );
|
|
||||||
self iprintln( "Else(wait) - Delete" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( self attackButtonPressed() )
|
|
||||||
self deleteAllWaypoints();
|
|
||||||
else if ( self adsButtonPressed() )
|
|
||||||
self LoadWaypoints();
|
|
||||||
else
|
|
||||||
self DeleteWaypoint( self.closest );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self fragButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
watchSaveWaypointsCommand()
|
|
||||||
{
|
|
||||||
self endon( "death" );
|
|
||||||
self endon( "disconnect" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self useButtonPressed() || !self attackButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "ADS - Autolink; Else(wait) - Save" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( !self adsButtonPressed() )
|
|
||||||
{
|
|
||||||
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/*" );
|
|
||||||
}
|
|
||||||
|
|
||||||
logprint( "*/return waypoints;\n}\n\n\n\n" );
|
|
||||||
|
|
||||||
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
|
||||||
fd = FS_FOpen( filename, "write" );
|
|
||||||
|
|
||||||
PrintLn( "********* Start Bot Warfare WPDump *********" );
|
|
||||||
PrintLn( level.waypointCount );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, level.waypointCount + "" ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 += ",";
|
|
||||||
|
|
||||||
str += ",";
|
|
||||||
|
|
||||||
PrintLn( str );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, str ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
PrintLn( "\n\n\n\n\n\n" );
|
|
||||||
|
|
||||||
self iprintln( "Saved!!! to " + filename );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
FS_FClose( fd );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
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.closest;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self useButtonPressed() && self attackButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 ( !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" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DeleteAllWaypoints()
|
|
||||||
{
|
|
||||||
level.waypoints = [];
|
|
||||||
level.waypointCount = 0;
|
|
||||||
|
|
||||||
self iprintln( "DelAllWps" );
|
|
||||||
}
|
|
||||||
|
|
||||||
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( pos )
|
|
||||||
{
|
|
||||||
level.waypoints[level.waypointCount] = spawnstruct();
|
|
||||||
|
|
||||||
level.waypoints[level.waypointCount].origin = pos;
|
|
||||||
|
|
||||||
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 = [];
|
|
||||||
|
|
||||||
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++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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-- )
|
|
||||||
{
|
|
||||||
if ( level.waypoints[level.wpToLink].children[i] == nwp )
|
|
||||||
{
|
|
||||||
weGood = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( weGood )
|
|
||||||
{
|
|
||||||
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- )
|
|
||||||
{
|
|
||||||
if ( level.waypoints[nwp].children[i] == 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
destroyOnDeath( hud )
|
|
||||||
{
|
|
||||||
hud endon( "death" );
|
|
||||||
self waittill_either( "death", "disconnect" );
|
|
||||||
hud destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
textScroll( string )
|
|
||||||
{
|
|
||||||
self endon( "death" );
|
|
||||||
self endon( "disconnect" );
|
|
||||||
//thanks ActionScript
|
|
||||||
|
|
||||||
back = createBar( ( 0, 0, 0 ), 1000, 30 );
|
|
||||||
back setPoint( "CENTER", undefined, 0, 220 );
|
|
||||||
self thread destroyOnDeath( back );
|
|
||||||
|
|
||||||
text = createFontString( "default", 1.5 );
|
|
||||||
text setText( string );
|
|
||||||
self thread destroyOnDeath( text );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
text setPoint( "CENTER", undefined, 1200, 220 );
|
|
||||||
text setPoint( "CENTER", undefined, -1200, 220, 20 );
|
|
||||||
wait 20;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,845 +0,0 @@
|
|||||||
Killhouse()
|
|
||||||
{
|
|
||||||
waypoints = [];
|
|
||||||
waypoints[0] = spawnstruct();
|
|
||||||
waypoints[0].origin = (1181.56,148.431,28.125);
|
|
||||||
waypoints[0].type = "stand";
|
|
||||||
waypoints[0].childCount = 2;
|
|
||||||
waypoints[0].children[0] = 1;
|
|
||||||
waypoints[0].children[1] = 11;
|
|
||||||
waypoints[1] = spawnstruct();
|
|
||||||
waypoints[1].origin = (1094.79,153.256,80.125);
|
|
||||||
waypoints[1].type = "stand";
|
|
||||||
waypoints[1].childCount = 2;
|
|
||||||
waypoints[1].children[0] = 0;
|
|
||||||
waypoints[1].children[1] = 2;
|
|
||||||
waypoints[2] = spawnstruct();
|
|
||||||
waypoints[2].origin = (488.403,150.541,80.125);
|
|
||||||
waypoints[2].type = "stand";
|
|
||||||
waypoints[2].childCount = 2;
|
|
||||||
waypoints[2].children[0] = 1;
|
|
||||||
waypoints[2].children[1] = 3;
|
|
||||||
waypoints[3] = spawnstruct();
|
|
||||||
waypoints[3].origin = (391.899,153.36,28.125);
|
|
||||||
waypoints[3].type = "stand";
|
|
||||||
waypoints[3].childCount = 3;
|
|
||||||
waypoints[3].children[0] = 2;
|
|
||||||
waypoints[3].children[1] = 4;
|
|
||||||
waypoints[3].children[2] = 5;
|
|
||||||
waypoints[4] = spawnstruct();
|
|
||||||
waypoints[4].origin = (401.059,239.669,28.125);
|
|
||||||
waypoints[4].type = "stand";
|
|
||||||
waypoints[4].childCount = 6;
|
|
||||||
waypoints[4].children[0] = 3;
|
|
||||||
waypoints[4].children[1] = 5;
|
|
||||||
waypoints[4].children[2] = 13;
|
|
||||||
waypoints[4].children[3] = 6;
|
|
||||||
waypoints[4].children[4] = 8;
|
|
||||||
waypoints[4].children[5] = 86;
|
|
||||||
waypoints[5] = spawnstruct();
|
|
||||||
waypoints[5].origin = (124.215,210.283,28.125);
|
|
||||||
waypoints[5].type = "stand";
|
|
||||||
waypoints[5].childCount = 4;
|
|
||||||
waypoints[5].children[0] = 4;
|
|
||||||
waypoints[5].children[1] = 6;
|
|
||||||
waypoints[5].children[2] = 3;
|
|
||||||
waypoints[5].children[3] = 86;
|
|
||||||
waypoints[6] = spawnstruct();
|
|
||||||
waypoints[6].origin = (412.98,445.891,28.125);
|
|
||||||
waypoints[6].type = "stand";
|
|
||||||
waypoints[6].childCount = 8;
|
|
||||||
waypoints[6].children[0] = 7;
|
|
||||||
waypoints[6].children[1] = 4;
|
|
||||||
waypoints[6].children[2] = 5;
|
|
||||||
waypoints[6].children[3] = 13;
|
|
||||||
waypoints[6].children[4] = 68;
|
|
||||||
waypoints[6].children[5] = 67;
|
|
||||||
waypoints[6].children[6] = 69;
|
|
||||||
waypoints[6].children[7] = 86;
|
|
||||||
waypoints[7] = spawnstruct();
|
|
||||||
waypoints[7].origin = (546.57,448.066,28.125);
|
|
||||||
waypoints[7].type = "stand";
|
|
||||||
waypoints[7].childCount = 4;
|
|
||||||
waypoints[7].children[0] = 6;
|
|
||||||
waypoints[7].children[1] = 8;
|
|
||||||
waypoints[7].children[2] = 13;
|
|
||||||
waypoints[7].children[3] = 67;
|
|
||||||
waypoints[8] = spawnstruct();
|
|
||||||
waypoints[8].origin = (686.556,444.51,28.125);
|
|
||||||
waypoints[8].type = "stand";
|
|
||||||
waypoints[8].childCount = 5;
|
|
||||||
waypoints[8].children[0] = 7;
|
|
||||||
waypoints[8].children[1] = 9;
|
|
||||||
waypoints[8].children[2] = 13;
|
|
||||||
waypoints[8].children[3] = 14;
|
|
||||||
waypoints[8].children[4] = 4;
|
|
||||||
waypoints[9] = spawnstruct();
|
|
||||||
waypoints[9].origin = (836.351,440.111,28.125);
|
|
||||||
waypoints[9].type = "stand";
|
|
||||||
waypoints[9].childCount = 4;
|
|
||||||
waypoints[9].children[0] = 8;
|
|
||||||
waypoints[9].children[1] = 10;
|
|
||||||
waypoints[9].children[2] = 12;
|
|
||||||
waypoints[9].children[3] = 18;
|
|
||||||
waypoints[10] = spawnstruct();
|
|
||||||
waypoints[10].origin = (948.997,437.246,28.125);
|
|
||||||
waypoints[10].type = "stand";
|
|
||||||
waypoints[10].childCount = 6;
|
|
||||||
waypoints[10].children[0] = 9;
|
|
||||||
waypoints[10].children[1] = 12;
|
|
||||||
waypoints[10].children[2] = 11;
|
|
||||||
waypoints[10].children[3] = 18;
|
|
||||||
waypoints[10].children[4] = 24;
|
|
||||||
waypoints[10].children[5] = 88;
|
|
||||||
waypoints[11] = spawnstruct();
|
|
||||||
waypoints[11].origin = (1159.55,316.005,28.125);
|
|
||||||
waypoints[11].type = "stand";
|
|
||||||
waypoints[11].childCount = 4;
|
|
||||||
waypoints[11].children[0] = 0;
|
|
||||||
waypoints[11].children[1] = 12;
|
|
||||||
waypoints[11].children[2] = 10;
|
|
||||||
waypoints[11].children[3] = 88;
|
|
||||||
waypoints[12] = spawnstruct();
|
|
||||||
waypoints[12].origin = (890.993,266.089,28.125);
|
|
||||||
waypoints[12].type = "stand";
|
|
||||||
waypoints[12].childCount = 4;
|
|
||||||
waypoints[12].children[0] = 11;
|
|
||||||
waypoints[12].children[1] = 13;
|
|
||||||
waypoints[12].children[2] = 10;
|
|
||||||
waypoints[12].children[3] = 9;
|
|
||||||
waypoints[13] = spawnstruct();
|
|
||||||
waypoints[13].origin = (580.602,251.012,28.125);
|
|
||||||
waypoints[13].type = "stand";
|
|
||||||
waypoints[13].childCount = 5;
|
|
||||||
waypoints[13].children[0] = 4;
|
|
||||||
waypoints[13].children[1] = 12;
|
|
||||||
waypoints[13].children[2] = 7;
|
|
||||||
waypoints[13].children[3] = 6;
|
|
||||||
waypoints[13].children[4] = 8;
|
|
||||||
waypoints[14] = spawnstruct();
|
|
||||||
waypoints[14].origin = (724.843,589.895,28.125);
|
|
||||||
waypoints[14].type = "stand";
|
|
||||||
waypoints[14].childCount = 4;
|
|
||||||
waypoints[14].children[0] = 8;
|
|
||||||
waypoints[14].children[1] = 15;
|
|
||||||
waypoints[14].children[2] = 16;
|
|
||||||
waypoints[14].children[3] = 89;
|
|
||||||
waypoints[15] = spawnstruct();
|
|
||||||
waypoints[15].origin = (689.658,738.037,60.125);
|
|
||||||
waypoints[15].type = "stand";
|
|
||||||
waypoints[15].childCount = 2;
|
|
||||||
waypoints[15].children[0] = 14;
|
|
||||||
waypoints[15].children[1] = 17;
|
|
||||||
waypoints[16] = spawnstruct();
|
|
||||||
waypoints[16].origin = (782.19,740.27,60.125);
|
|
||||||
waypoints[16].type = "stand";
|
|
||||||
waypoints[16].childCount = 2;
|
|
||||||
waypoints[16].children[0] = 14;
|
|
||||||
waypoints[16].children[1] = 17;
|
|
||||||
waypoints[17] = spawnstruct();
|
|
||||||
waypoints[17].origin = (738.365,860.821,28.125);
|
|
||||||
waypoints[17].type = "stand";
|
|
||||||
waypoints[17].childCount = 4;
|
|
||||||
waypoints[17].children[0] = 16;
|
|
||||||
waypoints[17].children[1] = 15;
|
|
||||||
waypoints[17].children[2] = 25;
|
|
||||||
waypoints[17].children[3] = 66;
|
|
||||||
waypoints[18] = spawnstruct();
|
|
||||||
waypoints[18].origin = (892.884,503.932,50.125);
|
|
||||||
waypoints[18].type = "stand";
|
|
||||||
waypoints[18].childCount = 3;
|
|
||||||
waypoints[18].children[0] = 9;
|
|
||||||
waypoints[18].children[1] = 10;
|
|
||||||
waypoints[18].children[2] = 19;
|
|
||||||
waypoints[19] = spawnstruct();
|
|
||||||
waypoints[19].origin = (889.55,614.586,156.125);
|
|
||||||
waypoints[19].type = "stand";
|
|
||||||
waypoints[19].childCount = 2;
|
|
||||||
waypoints[19].children[0] = 18;
|
|
||||||
waypoints[19].children[1] = 20;
|
|
||||||
waypoints[20] = spawnstruct();
|
|
||||||
waypoints[20].origin = (821.734,700.728,156.125);
|
|
||||||
waypoints[20].type = "stand";
|
|
||||||
waypoints[20].childCount = 3;
|
|
||||||
waypoints[20].children[0] = 19;
|
|
||||||
waypoints[20].children[1] = 21;
|
|
||||||
waypoints[20].children[2] = 23;
|
|
||||||
waypoints[21] = spawnstruct();
|
|
||||||
waypoints[21].origin = (704.143,709.897,156.125);
|
|
||||||
waypoints[21].type = "stand";
|
|
||||||
waypoints[21].childCount = 2;
|
|
||||||
waypoints[21].children[0] = 20;
|
|
||||||
waypoints[21].children[1] = 22;
|
|
||||||
waypoints[22] = spawnstruct();
|
|
||||||
waypoints[22].origin = (660.627,556.142,156.125);
|
|
||||||
waypoints[22].type = "stand";
|
|
||||||
waypoints[22].childCount = 2;
|
|
||||||
waypoints[22].children[0] = 21;
|
|
||||||
waypoints[22].children[1] = 23;
|
|
||||||
waypoints[23] = spawnstruct();
|
|
||||||
waypoints[23].origin = (757.048,539.674,156.125);
|
|
||||||
waypoints[23].type = "stand";
|
|
||||||
waypoints[23].childCount = 2;
|
|
||||||
waypoints[23].children[0] = 22;
|
|
||||||
waypoints[23].children[1] = 20;
|
|
||||||
waypoints[24] = spawnstruct();
|
|
||||||
waypoints[24].origin = (1004.58,582.486,28.125);
|
|
||||||
waypoints[24].type = "stand";
|
|
||||||
waypoints[24].childCount = 4;
|
|
||||||
waypoints[24].children[0] = 10;
|
|
||||||
waypoints[24].children[1] = 25;
|
|
||||||
waypoints[24].children[2] = 101;
|
|
||||||
waypoints[24].children[3] = 103;
|
|
||||||
waypoints[25] = spawnstruct();
|
|
||||||
waypoints[25].origin = (1029.19,824.597,28.125);
|
|
||||||
waypoints[25].type = "stand";
|
|
||||||
waypoints[25].childCount = 5;
|
|
||||||
waypoints[25].children[0] = 17;
|
|
||||||
waypoints[25].children[1] = 26;
|
|
||||||
waypoints[25].children[2] = 27;
|
|
||||||
waypoints[25].children[3] = 24;
|
|
||||||
waypoints[25].children[4] = 103;
|
|
||||||
waypoints[26] = spawnstruct();
|
|
||||||
waypoints[26].origin = (952.182,1052.15,28.125);
|
|
||||||
waypoints[26].type = "stand";
|
|
||||||
waypoints[26].childCount = 5;
|
|
||||||
waypoints[26].children[0] = 25;
|
|
||||||
waypoints[26].children[1] = 27;
|
|
||||||
waypoints[26].children[2] = 28;
|
|
||||||
waypoints[26].children[3] = 29;
|
|
||||||
waypoints[26].children[4] = 73;
|
|
||||||
waypoints[27] = spawnstruct();
|
|
||||||
waypoints[27].origin = (1092.87,982.674,28.125);
|
|
||||||
waypoints[27].type = "stand";
|
|
||||||
waypoints[27].childCount = 5;
|
|
||||||
waypoints[27].children[0] = 25;
|
|
||||||
waypoints[27].children[1] = 26;
|
|
||||||
waypoints[27].children[2] = 28;
|
|
||||||
waypoints[27].children[3] = 90;
|
|
||||||
waypoints[27].children[4] = 103;
|
|
||||||
waypoints[28] = spawnstruct();
|
|
||||||
waypoints[28].origin = (1215.84,1133.62,28.125);
|
|
||||||
waypoints[28].type = "stand";
|
|
||||||
waypoints[28].childCount = 4;
|
|
||||||
waypoints[28].children[0] = 27;
|
|
||||||
waypoints[28].children[1] = 26;
|
|
||||||
waypoints[28].children[2] = 33;
|
|
||||||
waypoints[28].children[3] = 90;
|
|
||||||
waypoints[29] = spawnstruct();
|
|
||||||
waypoints[29].origin = (808.471,1142.11,28.125);
|
|
||||||
waypoints[29].type = "stand";
|
|
||||||
waypoints[29].childCount = 4;
|
|
||||||
waypoints[29].children[0] = 26;
|
|
||||||
waypoints[29].children[1] = 30;
|
|
||||||
waypoints[29].children[2] = 65;
|
|
||||||
waypoints[29].children[3] = 66;
|
|
||||||
waypoints[30] = spawnstruct();
|
|
||||||
waypoints[30].origin = (953.341,1289.21,28.125);
|
|
||||||
waypoints[30].type = "stand";
|
|
||||||
waypoints[30].childCount = 5;
|
|
||||||
waypoints[30].children[0] = 29;
|
|
||||||
waypoints[30].children[1] = 31;
|
|
||||||
waypoints[30].children[2] = 34;
|
|
||||||
waypoints[30].children[3] = 63;
|
|
||||||
waypoints[30].children[4] = 64;
|
|
||||||
waypoints[31] = spawnstruct();
|
|
||||||
waypoints[31].origin = (929.05,1665.76,28.125);
|
|
||||||
waypoints[31].type = "stand";
|
|
||||||
waypoints[31].childCount = 4;
|
|
||||||
waypoints[31].children[0] = 30;
|
|
||||||
waypoints[31].children[1] = 32;
|
|
||||||
waypoints[31].children[2] = 62;
|
|
||||||
waypoints[31].children[3] = 63;
|
|
||||||
waypoints[32] = spawnstruct();
|
|
||||||
waypoints[32].origin = (1029.84,1676.12,60.125);
|
|
||||||
waypoints[32].type = "stand";
|
|
||||||
waypoints[32].childCount = 2;
|
|
||||||
waypoints[32].children[0] = 31;
|
|
||||||
waypoints[32].children[1] = 84;
|
|
||||||
waypoints[33] = spawnstruct();
|
|
||||||
waypoints[33].origin = (1149.13,1318.31,28.125);
|
|
||||||
waypoints[33].type = "stand";
|
|
||||||
waypoints[33].childCount = 4;
|
|
||||||
waypoints[33].children[0] = 34;
|
|
||||||
waypoints[33].children[1] = 28;
|
|
||||||
waypoints[33].children[2] = 91;
|
|
||||||
waypoints[33].children[3] = 92;
|
|
||||||
waypoints[34] = spawnstruct();
|
|
||||||
waypoints[34].origin = (1044.88,1301.19,60.125);
|
|
||||||
waypoints[34].type = "stand";
|
|
||||||
waypoints[34].childCount = 2;
|
|
||||||
waypoints[34].children[0] = 33;
|
|
||||||
waypoints[34].children[1] = 30;
|
|
||||||
waypoints[35] = spawnstruct();
|
|
||||||
waypoints[35].origin = (1227.16,1921.76,28.125);
|
|
||||||
waypoints[35].type = "stand";
|
|
||||||
waypoints[35].childCount = 6;
|
|
||||||
waypoints[35].children[0] = 39;
|
|
||||||
waypoints[35].children[1] = 38;
|
|
||||||
waypoints[35].children[2] = 62;
|
|
||||||
waypoints[35].children[3] = 84;
|
|
||||||
waypoints[35].children[4] = 93;
|
|
||||||
waypoints[35].children[5] = 94;
|
|
||||||
waypoints[36] = spawnstruct();
|
|
||||||
waypoints[36].origin = (981.053,2281.89,28.125);
|
|
||||||
waypoints[36].type = "stand";
|
|
||||||
waypoints[36].childCount = 4;
|
|
||||||
waypoints[36].children[0] = 37;
|
|
||||||
waypoints[36].children[1] = 40;
|
|
||||||
waypoints[36].children[2] = 41;
|
|
||||||
waypoints[36].children[3] = 42;
|
|
||||||
waypoints[37] = spawnstruct();
|
|
||||||
waypoints[37].origin = (928.878,2123.83,60.125);
|
|
||||||
waypoints[37].type = "stand";
|
|
||||||
waypoints[37].childCount = 3;
|
|
||||||
waypoints[37].children[0] = 36;
|
|
||||||
waypoints[37].children[1] = 38;
|
|
||||||
waypoints[37].children[2] = 42;
|
|
||||||
waypoints[38] = spawnstruct();
|
|
||||||
waypoints[38].origin = (939.541,1963.59,28.125);
|
|
||||||
waypoints[38].type = "stand";
|
|
||||||
waypoints[38].childCount = 5;
|
|
||||||
waypoints[38].children[0] = 39;
|
|
||||||
waypoints[38].children[1] = 35;
|
|
||||||
waypoints[38].children[2] = 37;
|
|
||||||
waypoints[38].children[3] = 59;
|
|
||||||
waypoints[38].children[4] = 62;
|
|
||||||
waypoints[39] = spawnstruct();
|
|
||||||
waypoints[39].origin = (1076.47,2020.68,28.125);
|
|
||||||
waypoints[39].type = "stand";
|
|
||||||
waypoints[39].childCount = 3;
|
|
||||||
waypoints[39].children[0] = 35;
|
|
||||||
waypoints[39].children[1] = 38;
|
|
||||||
waypoints[39].children[2] = 40;
|
|
||||||
waypoints[40] = spawnstruct();
|
|
||||||
waypoints[40].origin = (1120.26,2201.66,28.125);
|
|
||||||
waypoints[40].type = "stand";
|
|
||||||
waypoints[40].childCount = 3;
|
|
||||||
waypoints[40].children[0] = 39;
|
|
||||||
waypoints[40].children[1] = 36;
|
|
||||||
waypoints[40].children[2] = 41;
|
|
||||||
waypoints[41] = spawnstruct();
|
|
||||||
waypoints[41].origin = (1186.71,2334.35,28.125);
|
|
||||||
waypoints[41].type = "stand";
|
|
||||||
waypoints[41].childCount = 4;
|
|
||||||
waypoints[41].children[0] = 40;
|
|
||||||
waypoints[41].children[1] = 36;
|
|
||||||
waypoints[41].children[2] = 42;
|
|
||||||
waypoints[41].children[3] = 96;
|
|
||||||
waypoints[42] = spawnstruct();
|
|
||||||
waypoints[42].origin = (794.13,2412.11,28.125);
|
|
||||||
waypoints[42].type = "stand";
|
|
||||||
waypoints[42].childCount = 9;
|
|
||||||
waypoints[42].children[0] = 36;
|
|
||||||
waypoints[42].children[1] = 37;
|
|
||||||
waypoints[42].children[2] = 41;
|
|
||||||
waypoints[42].children[3] = 43;
|
|
||||||
waypoints[42].children[4] = 45;
|
|
||||||
waypoints[42].children[5] = 44;
|
|
||||||
waypoints[42].children[6] = 46;
|
|
||||||
waypoints[42].children[7] = 47;
|
|
||||||
waypoints[42].children[8] = 48;
|
|
||||||
waypoints[43] = spawnstruct();
|
|
||||||
waypoints[43].origin = (1168.55,2471.78,28.125);
|
|
||||||
waypoints[43].type = "stand";
|
|
||||||
waypoints[43].childCount = 3;
|
|
||||||
waypoints[43].children[0] = 42;
|
|
||||||
waypoints[43].children[1] = 44;
|
|
||||||
waypoints[43].children[2] = 45;
|
|
||||||
waypoints[44] = spawnstruct();
|
|
||||||
waypoints[44].origin = (1188.65,2574.37,28.125);
|
|
||||||
waypoints[44].type = "stand";
|
|
||||||
waypoints[44].childCount = 3;
|
|
||||||
waypoints[44].children[0] = 43;
|
|
||||||
waypoints[44].children[1] = 45;
|
|
||||||
waypoints[44].children[2] = 42;
|
|
||||||
waypoints[45] = spawnstruct();
|
|
||||||
waypoints[45].origin = (871.363,2570.3,28.125);
|
|
||||||
waypoints[45].type = "stand";
|
|
||||||
waypoints[45].childCount = 4;
|
|
||||||
waypoints[45].children[0] = 44;
|
|
||||||
waypoints[45].children[1] = 42;
|
|
||||||
waypoints[45].children[2] = 43;
|
|
||||||
waypoints[45].children[3] = 48;
|
|
||||||
waypoints[46] = spawnstruct();
|
|
||||||
waypoints[46].origin = (710.182,2313.92,28.125);
|
|
||||||
waypoints[46].type = "stand";
|
|
||||||
waypoints[46].childCount = 4;
|
|
||||||
waypoints[46].children[0] = 42;
|
|
||||||
waypoints[46].children[1] = 47;
|
|
||||||
waypoints[46].children[2] = 60;
|
|
||||||
waypoints[46].children[3] = 61;
|
|
||||||
waypoints[47] = spawnstruct();
|
|
||||||
waypoints[47].origin = (639.393,2390.73,28.125);
|
|
||||||
waypoints[47].type = "stand";
|
|
||||||
waypoints[47].childCount = 5;
|
|
||||||
waypoints[47].children[0] = 46;
|
|
||||||
waypoints[47].children[1] = 42;
|
|
||||||
waypoints[47].children[2] = 48;
|
|
||||||
waypoints[47].children[3] = 49;
|
|
||||||
waypoints[47].children[4] = 50;
|
|
||||||
waypoints[48] = spawnstruct();
|
|
||||||
waypoints[48].origin = (604.445,2550.02,28.125);
|
|
||||||
waypoints[48].type = "stand";
|
|
||||||
waypoints[48].childCount = 5;
|
|
||||||
waypoints[48].children[0] = 45;
|
|
||||||
waypoints[48].children[1] = 47;
|
|
||||||
waypoints[48].children[2] = 42;
|
|
||||||
waypoints[48].children[3] = 50;
|
|
||||||
waypoints[48].children[4] = 51;
|
|
||||||
waypoints[49] = spawnstruct();
|
|
||||||
waypoints[49].origin = (553.371,2318.72,50.125);
|
|
||||||
waypoints[49].type = "stand";
|
|
||||||
waypoints[49].childCount = 3;
|
|
||||||
waypoints[49].children[0] = 47;
|
|
||||||
waypoints[49].children[1] = 50;
|
|
||||||
waypoints[49].children[2] = 106;
|
|
||||||
waypoints[50] = spawnstruct();
|
|
||||||
waypoints[50].origin = (456.722,2430.49,28.125);
|
|
||||||
waypoints[50].type = "stand";
|
|
||||||
waypoints[50].childCount = 8;
|
|
||||||
waypoints[50].children[0] = 49;
|
|
||||||
waypoints[50].children[1] = 48;
|
|
||||||
waypoints[50].children[2] = 47;
|
|
||||||
waypoints[50].children[3] = 51;
|
|
||||||
waypoints[50].children[4] = 52;
|
|
||||||
waypoints[50].children[5] = 54;
|
|
||||||
waypoints[50].children[6] = 53;
|
|
||||||
waypoints[50].children[7] = 97;
|
|
||||||
waypoints[51] = spawnstruct();
|
|
||||||
waypoints[51].origin = (259.984,2581.73,28.125);
|
|
||||||
waypoints[51].type = "stand";
|
|
||||||
waypoints[51].childCount = 3;
|
|
||||||
waypoints[51].children[0] = 48;
|
|
||||||
waypoints[51].children[1] = 50;
|
|
||||||
waypoints[51].children[2] = 98;
|
|
||||||
waypoints[52] = spawnstruct();
|
|
||||||
waypoints[52].origin = (394.979,2269.04,28.125);
|
|
||||||
waypoints[52].type = "stand";
|
|
||||||
waypoints[52].childCount = 3;
|
|
||||||
waypoints[52].children[0] = 50;
|
|
||||||
waypoints[52].children[1] = 57;
|
|
||||||
waypoints[52].children[2] = 53;
|
|
||||||
waypoints[53] = spawnstruct();
|
|
||||||
waypoints[53].origin = (291.176,2246.97,28.125);
|
|
||||||
waypoints[53].type = "stand";
|
|
||||||
waypoints[53].childCount = 5;
|
|
||||||
waypoints[53].children[0] = 50;
|
|
||||||
waypoints[53].children[1] = 55;
|
|
||||||
waypoints[53].children[2] = 52;
|
|
||||||
waypoints[53].children[3] = 54;
|
|
||||||
waypoints[53].children[4] = 85;
|
|
||||||
waypoints[54] = spawnstruct();
|
|
||||||
waypoints[54].origin = (98.4385,2222.46,28.125);
|
|
||||||
waypoints[54].type = "stand";
|
|
||||||
waypoints[54].childCount = 4;
|
|
||||||
waypoints[54].children[0] = 50;
|
|
||||||
waypoints[54].children[1] = 53;
|
|
||||||
waypoints[54].children[2] = 58;
|
|
||||||
waypoints[54].children[3] = 85;
|
|
||||||
waypoints[55] = spawnstruct();
|
|
||||||
waypoints[55].origin = (218.456,2011.41,28.125);
|
|
||||||
waypoints[55].type = "stand";
|
|
||||||
waypoints[55].childCount = 4;
|
|
||||||
waypoints[55].children[0] = 53;
|
|
||||||
waypoints[55].children[1] = 56;
|
|
||||||
waypoints[55].children[2] = 81;
|
|
||||||
waypoints[55].children[3] = 105;
|
|
||||||
waypoints[56] = spawnstruct();
|
|
||||||
waypoints[56].origin = (361.233,1982.66,28.125);
|
|
||||||
waypoints[56].type = "stand";
|
|
||||||
waypoints[56].childCount = 4;
|
|
||||||
waypoints[56].children[0] = 55;
|
|
||||||
waypoints[56].children[1] = 57;
|
|
||||||
waypoints[56].children[2] = 59;
|
|
||||||
waypoints[56].children[3] = 81;
|
|
||||||
waypoints[57] = spawnstruct();
|
|
||||||
waypoints[57].origin = (375.537,2073.62,60.125);
|
|
||||||
waypoints[57].type = "stand";
|
|
||||||
waypoints[57].childCount = 2;
|
|
||||||
waypoints[57].children[0] = 56;
|
|
||||||
waypoints[57].children[1] = 52;
|
|
||||||
waypoints[58] = spawnstruct();
|
|
||||||
waypoints[58].origin = (74.3311,2083.72,60.125);
|
|
||||||
waypoints[58].type = "stand";
|
|
||||||
waypoints[58].childCount = 2;
|
|
||||||
waypoints[58].children[0] = 54;
|
|
||||||
waypoints[58].children[1] = 105;
|
|
||||||
waypoints[59] = spawnstruct();
|
|
||||||
waypoints[59].origin = (662.975,1986.09,28.125);
|
|
||||||
waypoints[59].type = "stand";
|
|
||||||
waypoints[59].childCount = 6;
|
|
||||||
waypoints[59].children[0] = 56;
|
|
||||||
waypoints[59].children[1] = 38;
|
|
||||||
waypoints[59].children[2] = 60;
|
|
||||||
waypoints[59].children[3] = 61;
|
|
||||||
waypoints[59].children[4] = 62;
|
|
||||||
waypoints[59].children[5] = 81;
|
|
||||||
waypoints[60] = spawnstruct();
|
|
||||||
waypoints[60].origin = (635.091,2077.18,60.125);
|
|
||||||
waypoints[60].type = "stand";
|
|
||||||
waypoints[60].childCount = 2;
|
|
||||||
waypoints[60].children[0] = 59;
|
|
||||||
waypoints[60].children[1] = 46;
|
|
||||||
waypoints[61] = spawnstruct();
|
|
||||||
waypoints[61].origin = (722.706,2098.12,60.125);
|
|
||||||
waypoints[61].type = "stand";
|
|
||||||
waypoints[61].childCount = 2;
|
|
||||||
waypoints[61].children[0] = 46;
|
|
||||||
waypoints[61].children[1] = 59;
|
|
||||||
waypoints[62] = spawnstruct();
|
|
||||||
waypoints[62].origin = (846.771,1809.78,28.125);
|
|
||||||
waypoints[62].type = "stand";
|
|
||||||
waypoints[62].childCount = 5;
|
|
||||||
waypoints[62].children[0] = 38;
|
|
||||||
waypoints[62].children[1] = 59;
|
|
||||||
waypoints[62].children[2] = 31;
|
|
||||||
waypoints[62].children[3] = 35;
|
|
||||||
waypoints[62].children[4] = 63;
|
|
||||||
waypoints[63] = spawnstruct();
|
|
||||||
waypoints[63].origin = (761.789,1610.09,28.125);
|
|
||||||
waypoints[63].type = "stand";
|
|
||||||
waypoints[63].childCount = 5;
|
|
||||||
waypoints[63].children[0] = 62;
|
|
||||||
waypoints[63].children[1] = 31;
|
|
||||||
waypoints[63].children[2] = 30;
|
|
||||||
waypoints[63].children[3] = 64;
|
|
||||||
waypoints[63].children[4] = 80;
|
|
||||||
waypoints[64] = spawnstruct();
|
|
||||||
waypoints[64].origin = (749.754,1459.28,28.125);
|
|
||||||
waypoints[64].type = "stand";
|
|
||||||
waypoints[64].childCount = 6;
|
|
||||||
waypoints[64].children[0] = 63;
|
|
||||||
waypoints[64].children[1] = 65;
|
|
||||||
waypoints[64].children[2] = 78;
|
|
||||||
waypoints[64].children[3] = 80;
|
|
||||||
waypoints[64].children[4] = 30;
|
|
||||||
waypoints[64].children[5] = 109;
|
|
||||||
waypoints[65] = spawnstruct();
|
|
||||||
waypoints[65].origin = (691.641,1208.28,28.125);
|
|
||||||
waypoints[65].type = "stand";
|
|
||||||
waypoints[65].childCount = 5;
|
|
||||||
waypoints[65].children[0] = 64;
|
|
||||||
waypoints[65].children[1] = 29;
|
|
||||||
waypoints[65].children[2] = 66;
|
|
||||||
waypoints[65].children[3] = 78;
|
|
||||||
waypoints[65].children[4] = 73;
|
|
||||||
waypoints[66] = spawnstruct();
|
|
||||||
waypoints[66].origin = (650.532,877.419,28.125);
|
|
||||||
waypoints[66].type = "stand";
|
|
||||||
waypoints[66].childCount = 5;
|
|
||||||
waypoints[66].children[0] = 65;
|
|
||||||
waypoints[66].children[1] = 17;
|
|
||||||
waypoints[66].children[2] = 67;
|
|
||||||
waypoints[66].children[3] = 29;
|
|
||||||
waypoints[66].children[4] = 78;
|
|
||||||
waypoints[67] = spawnstruct();
|
|
||||||
waypoints[67].origin = (544.701,793.649,28.125);
|
|
||||||
waypoints[67].type = "stand";
|
|
||||||
waypoints[67].childCount = 6;
|
|
||||||
waypoints[67].children[0] = 66;
|
|
||||||
waypoints[67].children[1] = 7;
|
|
||||||
waypoints[67].children[2] = 6;
|
|
||||||
waypoints[67].children[3] = 68;
|
|
||||||
waypoints[67].children[4] = 72;
|
|
||||||
waypoints[67].children[5] = 73;
|
|
||||||
waypoints[68] = spawnstruct();
|
|
||||||
waypoints[68].origin = (335.603,653.458,28.125);
|
|
||||||
waypoints[68].type = "stand";
|
|
||||||
waypoints[68].childCount = 4;
|
|
||||||
waypoints[68].children[0] = 6;
|
|
||||||
waypoints[68].children[1] = 67;
|
|
||||||
waypoints[68].children[2] = 69;
|
|
||||||
waypoints[68].children[3] = 70;
|
|
||||||
waypoints[69] = spawnstruct();
|
|
||||||
waypoints[69].origin = (144.44,561.733,28.125);
|
|
||||||
waypoints[69].type = "stand";
|
|
||||||
waypoints[69].childCount = 3;
|
|
||||||
waypoints[69].children[0] = 68;
|
|
||||||
waypoints[69].children[1] = 70;
|
|
||||||
waypoints[69].children[2] = 6;
|
|
||||||
waypoints[70] = spawnstruct();
|
|
||||||
waypoints[70].origin = (232.662,709.075,28.125);
|
|
||||||
waypoints[70].type = "stand";
|
|
||||||
waypoints[70].childCount = 3;
|
|
||||||
waypoints[70].children[0] = 69;
|
|
||||||
waypoints[70].children[1] = 68;
|
|
||||||
waypoints[70].children[2] = 71;
|
|
||||||
waypoints[71] = spawnstruct();
|
|
||||||
waypoints[71].origin = (234.977,764.208,60.125);
|
|
||||||
waypoints[71].type = "stand";
|
|
||||||
waypoints[71].childCount = 2;
|
|
||||||
waypoints[71].children[0] = 70;
|
|
||||||
waypoints[71].children[1] = 72;
|
|
||||||
waypoints[72] = spawnstruct();
|
|
||||||
waypoints[72].origin = (218.863,847.94,28.125);
|
|
||||||
waypoints[72].type = "stand";
|
|
||||||
waypoints[72].childCount = 4;
|
|
||||||
waypoints[72].children[0] = 71;
|
|
||||||
waypoints[72].children[1] = 67;
|
|
||||||
waypoints[72].children[2] = 73;
|
|
||||||
waypoints[72].children[3] = 104;
|
|
||||||
waypoints[73] = spawnstruct();
|
|
||||||
waypoints[73].origin = (367.448,1003.93,28.125);
|
|
||||||
waypoints[73].type = "stand";
|
|
||||||
waypoints[73].childCount = 6;
|
|
||||||
waypoints[73].children[0] = 67;
|
|
||||||
waypoints[73].children[1] = 72;
|
|
||||||
waypoints[73].children[2] = 77;
|
|
||||||
waypoints[73].children[3] = 78;
|
|
||||||
waypoints[73].children[4] = 26;
|
|
||||||
waypoints[73].children[5] = 65;
|
|
||||||
waypoints[74] = spawnstruct();
|
|
||||||
waypoints[74].origin = (57.1662,1233.93,28.125);
|
|
||||||
waypoints[74].type = "stand";
|
|
||||||
waypoints[74].childCount = 3;
|
|
||||||
waypoints[74].children[0] = 75;
|
|
||||||
waypoints[74].children[1] = 76;
|
|
||||||
waypoints[74].children[2] = 104;
|
|
||||||
waypoints[75] = spawnstruct();
|
|
||||||
waypoints[75].origin = (49.9737,1440.71,28.125);
|
|
||||||
waypoints[75].type = "stand";
|
|
||||||
waypoints[75].childCount = 2;
|
|
||||||
waypoints[75].children[0] = 74;
|
|
||||||
waypoints[75].children[1] = 76;
|
|
||||||
waypoints[76] = spawnstruct();
|
|
||||||
waypoints[76].origin = (295.812,1487.62,28.125);
|
|
||||||
waypoints[76].type = "stand";
|
|
||||||
waypoints[76].childCount = 6;
|
|
||||||
waypoints[76].children[0] = 74;
|
|
||||||
waypoints[76].children[1] = 75;
|
|
||||||
waypoints[76].children[2] = 78;
|
|
||||||
waypoints[76].children[3] = 79;
|
|
||||||
waypoints[76].children[4] = 81;
|
|
||||||
waypoints[76].children[5] = 82;
|
|
||||||
waypoints[77] = spawnstruct();
|
|
||||||
waypoints[77].origin = (238.297,1201.9,28.125);
|
|
||||||
waypoints[77].type = "stand";
|
|
||||||
waypoints[77].childCount = 1;
|
|
||||||
waypoints[77].children[0] = 73;
|
|
||||||
waypoints[78] = spawnstruct();
|
|
||||||
waypoints[78].origin = (579.117,1227.48,28.125);
|
|
||||||
waypoints[78].type = "stand";
|
|
||||||
waypoints[78].childCount = 6;
|
|
||||||
waypoints[78].children[0] = 73;
|
|
||||||
waypoints[78].children[1] = 76;
|
|
||||||
waypoints[78].children[2] = 65;
|
|
||||||
waypoints[78].children[3] = 66;
|
|
||||||
waypoints[78].children[4] = 64;
|
|
||||||
waypoints[78].children[5] = 79;
|
|
||||||
waypoints[79] = spawnstruct();
|
|
||||||
waypoints[79].origin = (498.169,1561.09,28.125);
|
|
||||||
waypoints[79].type = "stand";
|
|
||||||
waypoints[79].childCount = 3;
|
|
||||||
waypoints[79].children[0] = 76;
|
|
||||||
waypoints[79].children[1] = 78;
|
|
||||||
waypoints[79].children[2] = 80;
|
|
||||||
waypoints[80] = spawnstruct();
|
|
||||||
waypoints[80].origin = (550.791,1741.92,28.125);
|
|
||||||
waypoints[80].type = "stand";
|
|
||||||
waypoints[80].childCount = 4;
|
|
||||||
waypoints[80].children[0] = 79;
|
|
||||||
waypoints[80].children[1] = 81;
|
|
||||||
waypoints[80].children[2] = 63;
|
|
||||||
waypoints[80].children[3] = 64;
|
|
||||||
waypoints[81] = spawnstruct();
|
|
||||||
waypoints[81].origin = (429.149,1830.74,28.125);
|
|
||||||
waypoints[81].type = "stand";
|
|
||||||
waypoints[81].childCount = 6;
|
|
||||||
waypoints[81].children[0] = 80;
|
|
||||||
waypoints[81].children[1] = 76;
|
|
||||||
waypoints[81].children[2] = 82;
|
|
||||||
waypoints[81].children[3] = 55;
|
|
||||||
waypoints[81].children[4] = 56;
|
|
||||||
waypoints[81].children[5] = 59;
|
|
||||||
waypoints[82] = spawnstruct();
|
|
||||||
waypoints[82].origin = (221.076,1709.51,28.125);
|
|
||||||
waypoints[82].type = "stand";
|
|
||||||
waypoints[82].childCount = 3;
|
|
||||||
waypoints[82].children[0] = 81;
|
|
||||||
waypoints[82].children[1] = 83;
|
|
||||||
waypoints[82].children[2] = 76;
|
|
||||||
waypoints[83] = spawnstruct();
|
|
||||||
waypoints[83].origin = (83.9234,1695.33,28.125);
|
|
||||||
waypoints[83].type = "stand";
|
|
||||||
waypoints[83].childCount = 2;
|
|
||||||
waypoints[83].children[0] = 82;
|
|
||||||
waypoints[83].children[1] = 105;
|
|
||||||
waypoints[84] = spawnstruct();
|
|
||||||
waypoints[84].origin = (1174.9,1663.86,28.125);
|
|
||||||
waypoints[84].type = "stand";
|
|
||||||
waypoints[84].childCount = 3;
|
|
||||||
waypoints[84].children[0] = 35;
|
|
||||||
waypoints[84].children[1] = 32;
|
|
||||||
waypoints[84].children[2] = 100;
|
|
||||||
waypoints[85] = spawnstruct();
|
|
||||||
waypoints[85].origin = (70.0231,2366.4,28.125);
|
|
||||||
waypoints[85].type = "stand";
|
|
||||||
waypoints[85].childCount = 2;
|
|
||||||
waypoints[85].children[0] = 54;
|
|
||||||
waypoints[85].children[1] = 53;
|
|
||||||
waypoints[86] = spawnstruct();
|
|
||||||
waypoints[86].origin = (52.4273,446.677,28.125);
|
|
||||||
waypoints[86].type = "stand";
|
|
||||||
waypoints[86].childCount = 3;
|
|
||||||
waypoints[86].children[0] = 5;
|
|
||||||
waypoints[86].children[1] = 6;
|
|
||||||
waypoints[86].children[2] = 4;
|
|
||||||
waypoints[87] = spawnstruct();
|
|
||||||
waypoints[87].origin = (1275,455.869,28.125);
|
|
||||||
waypoints[87].type = "stand";
|
|
||||||
waypoints[87].childCount = 1;
|
|
||||||
waypoints[87].children[0] = 88;
|
|
||||||
waypoints[88] = spawnstruct();
|
|
||||||
waypoints[88].origin = (1151.95,470.155,28.125);
|
|
||||||
waypoints[88].type = "stand";
|
|
||||||
waypoints[88].childCount = 3;
|
|
||||||
waypoints[88].children[0] = 87;
|
|
||||||
waypoints[88].children[1] = 11;
|
|
||||||
waypoints[88].children[2] = 10;
|
|
||||||
waypoints[89] = spawnstruct();
|
|
||||||
waypoints[89].origin = (876.306,679.683,28.125);
|
|
||||||
waypoints[89].type = "stand";
|
|
||||||
waypoints[89].childCount = 1;
|
|
||||||
waypoints[89].children[0] = 14;
|
|
||||||
waypoints[90] = spawnstruct();
|
|
||||||
waypoints[90].origin = (1293.84,913.475,28.125);
|
|
||||||
waypoints[90].type = "stand";
|
|
||||||
waypoints[90].childCount = 2;
|
|
||||||
waypoints[90].children[0] = 28;
|
|
||||||
waypoints[90].children[1] = 27;
|
|
||||||
waypoints[91] = spawnstruct();
|
|
||||||
waypoints[91].origin = (1238.44,1457.36,28.125);
|
|
||||||
waypoints[91].type = "stand";
|
|
||||||
waypoints[91].childCount = 2;
|
|
||||||
waypoints[91].children[0] = 33;
|
|
||||||
waypoints[91].children[1] = 92;
|
|
||||||
waypoints[92] = spawnstruct();
|
|
||||||
waypoints[92].origin = (1135.87,1453.89,28.125);
|
|
||||||
waypoints[92].type = "stand";
|
|
||||||
waypoints[92].childCount = 3;
|
|
||||||
waypoints[92].children[0] = 33;
|
|
||||||
waypoints[92].children[1] = 91;
|
|
||||||
waypoints[92].children[2] = 100;
|
|
||||||
waypoints[93] = spawnstruct();
|
|
||||||
waypoints[93].origin = (1289.65,2119.4,28.125);
|
|
||||||
waypoints[93].type = "stand";
|
|
||||||
waypoints[93].childCount = 2;
|
|
||||||
waypoints[93].children[0] = 94;
|
|
||||||
waypoints[93].children[1] = 35;
|
|
||||||
waypoints[94] = spawnstruct();
|
|
||||||
waypoints[94].origin = (1224.96,2095.72,28.125);
|
|
||||||
waypoints[94].type = "stand";
|
|
||||||
waypoints[94].childCount = 3;
|
|
||||||
waypoints[94].children[0] = 93;
|
|
||||||
waypoints[94].children[1] = 35;
|
|
||||||
waypoints[94].children[2] = 95;
|
|
||||||
waypoints[95] = spawnstruct();
|
|
||||||
waypoints[95].origin = (1241.72,2149.57,60.125);
|
|
||||||
waypoints[95].type = "stand";
|
|
||||||
waypoints[95].childCount = 2;
|
|
||||||
waypoints[95].children[0] = 94;
|
|
||||||
waypoints[95].children[1] = 96;
|
|
||||||
waypoints[96] = spawnstruct();
|
|
||||||
waypoints[96].origin = (1226.45,2209.46,28.125);
|
|
||||||
waypoints[96].type = "stand";
|
|
||||||
waypoints[96].childCount = 2;
|
|
||||||
waypoints[96].children[0] = 95;
|
|
||||||
waypoints[96].children[1] = 41;
|
|
||||||
waypoints[97] = spawnstruct();
|
|
||||||
waypoints[97].origin = (27.9452,2471.29,28.125);
|
|
||||||
waypoints[97].type = "stand";
|
|
||||||
waypoints[97].childCount = 2;
|
|
||||||
waypoints[97].children[0] = 98;
|
|
||||||
waypoints[97].children[1] = 50;
|
|
||||||
waypoints[98] = spawnstruct();
|
|
||||||
waypoints[98].origin = (42.7472,2574.31,28.125);
|
|
||||||
waypoints[98].type = "stand";
|
|
||||||
waypoints[98].childCount = 2;
|
|
||||||
waypoints[98].children[0] = 97;
|
|
||||||
waypoints[98].children[1] = 51;
|
|
||||||
waypoints[99] = spawnstruct();
|
|
||||||
waypoints[99].origin = (1213.21,1534.44,28.125);
|
|
||||||
waypoints[99].type = "stand";
|
|
||||||
waypoints[99].childCount = 1;
|
|
||||||
waypoints[99].children[0] = 100;
|
|
||||||
waypoints[100] = spawnstruct();
|
|
||||||
waypoints[100].origin = (1141.68,1513.85,28.125);
|
|
||||||
waypoints[100].type = "stand";
|
|
||||||
waypoints[100].childCount = 3;
|
|
||||||
waypoints[100].children[0] = 99;
|
|
||||||
waypoints[100].children[1] = 92;
|
|
||||||
waypoints[100].children[2] = 84;
|
|
||||||
waypoints[101] = spawnstruct();
|
|
||||||
waypoints[101].origin = (1272.17,557.036,28.125);
|
|
||||||
waypoints[101].type = "stand";
|
|
||||||
waypoints[101].childCount = 3;
|
|
||||||
waypoints[101].children[0] = 102;
|
|
||||||
waypoints[101].children[1] = 24;
|
|
||||||
waypoints[101].children[2] = 103;
|
|
||||||
waypoints[102] = spawnstruct();
|
|
||||||
waypoints[102].origin = (1280.78,828.297,28.125);
|
|
||||||
waypoints[102].type = "stand";
|
|
||||||
waypoints[102].childCount = 2;
|
|
||||||
waypoints[102].children[0] = 101;
|
|
||||||
waypoints[102].children[1] = 103;
|
|
||||||
waypoints[103] = spawnstruct();
|
|
||||||
waypoints[103].origin = (1124.55,800.407,28.125);
|
|
||||||
waypoints[103].type = "stand";
|
|
||||||
waypoints[103].childCount = 5;
|
|
||||||
waypoints[103].children[0] = 25;
|
|
||||||
waypoints[103].children[1] = 102;
|
|
||||||
waypoints[103].children[2] = 101;
|
|
||||||
waypoints[103].children[3] = 24;
|
|
||||||
waypoints[103].children[4] = 27;
|
|
||||||
waypoints[104] = spawnstruct();
|
|
||||||
waypoints[104].origin = (64.1468,828.055,28.125);
|
|
||||||
waypoints[104].type = "stand";
|
|
||||||
waypoints[104].childCount = 2;
|
|
||||||
waypoints[104].children[0] = 72;
|
|
||||||
waypoints[104].children[1] = 74;
|
|
||||||
waypoints[105] = spawnstruct();
|
|
||||||
waypoints[105].origin = (71.0671,2040.7,28.125);
|
|
||||||
waypoints[105].type = "stand";
|
|
||||||
waypoints[105].childCount = 3;
|
|
||||||
waypoints[105].children[0] = 58;
|
|
||||||
waypoints[105].children[1] = 83;
|
|
||||||
waypoints[105].children[2] = 55;
|
|
||||||
waypoints[106] = spawnstruct();
|
|
||||||
waypoints[106].origin = (544.506,2130.72,156.125);
|
|
||||||
waypoints[106].type = "stand";
|
|
||||||
waypoints[106].childCount = 3;
|
|
||||||
waypoints[106].children[0] = 49;
|
|
||||||
waypoints[106].children[1] = 107;
|
|
||||||
waypoints[106].children[2] = 108;
|
|
||||||
waypoints[107] = spawnstruct();
|
|
||||||
waypoints[107].origin = (755.036,2119.37,156.125);
|
|
||||||
waypoints[107].type = "stand";
|
|
||||||
waypoints[107].childCount = 2;
|
|
||||||
waypoints[107].children[0] = 106;
|
|
||||||
waypoints[107].children[1] = 108;
|
|
||||||
waypoints[108] = spawnstruct();
|
|
||||||
waypoints[108].origin = (736.684,2279.45,156.125);
|
|
||||||
waypoints[108].type = "stand";
|
|
||||||
waypoints[108].childCount = 2;
|
|
||||||
waypoints[108].children[0] = 107;
|
|
||||||
waypoints[108].children[1] = 106;
|
|
||||||
waypoints[109] = spawnstruct();
|
|
||||||
waypoints[109].origin = (719.125,1442.05,28.125);
|
|
||||||
waypoints[109].type = "stand";
|
|
||||||
waypoints[109].childCount = 2;
|
|
||||||
waypoints[109].children[0] = 64;
|
|
||||||
waypoints[109].children[1] = 110;
|
|
||||||
waypoints[110] = spawnstruct();
|
|
||||||
waypoints[110].origin = (701.565,1440.57,260.125);
|
|
||||||
waypoints[110].type = "stand";
|
|
||||||
waypoints[110].childCount = 2;
|
|
||||||
waypoints[110].children[0] = 109;
|
|
||||||
waypoints[110].children[1] = 111;
|
|
||||||
waypoints[111] = spawnstruct();
|
|
||||||
waypoints[111].origin = (590.653,1439.15,260.125);
|
|
||||||
waypoints[111].type = "stand";
|
|
||||||
waypoints[111].childCount = 1;
|
|
||||||
waypoints[111].children[0] = 110;
|
|
||||||
return waypoints;
|
|
||||||
}
|
|
@ -1,529 +0,0 @@
|
|||||||
Shipment()
|
|
||||||
{
|
|
||||||
/* 16:52 */waypoints = [];
|
|
||||||
/* 16:52 */waypoints[0] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[0].origin = (-1.7, 406.3, 192);
|
|
||||||
/* 16:52 */waypoints[0].type = "stand";
|
|
||||||
/* 16:52 */waypoints[0].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[0].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[0].children[1] = 19;
|
|
||||||
/* 16:52 */waypoints[0].children[2] = 3;
|
|
||||||
/* 16:52 */waypoints[0].children[3] = 27;
|
|
||||||
/* 16:52 */waypoints[0].children[4] = 57;
|
|
||||||
/* 16:52 */waypoints[1] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[1].origin = (-686, 278.79, 202.6);
|
|
||||||
/* 16:52 */waypoints[1].type = "stand";
|
|
||||||
/* 16:52 */waypoints[1].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[1].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[1].children[1] = 2;
|
|
||||||
/* 16:52 */waypoints[1].children[2] = 28;
|
|
||||||
/* 16:52 */waypoints[2] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[2].origin = (-669, 706.1, 193);
|
|
||||||
/* 16:52 */waypoints[2].type = "stand";
|
|
||||||
/* 16:52 */waypoints[2].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[2].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[2].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[2].children[2] = 49;
|
|
||||||
/* 16:52 */waypoints[2].children[3] = 50;
|
|
||||||
/* 16:52 */waypoints[3] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[3].origin = (-442.2, 384.5, 194.2);
|
|
||||||
/* 16:52 */waypoints[3].type = "stand";
|
|
||||||
/* 16:52 */waypoints[3].childCount = 6;
|
|
||||||
/* 16:52 */waypoints[3].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[3].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[3].children[2] = 0;
|
|
||||||
/* 16:52 */waypoints[3].children[3] = 16;
|
|
||||||
/* 16:52 */waypoints[3].children[4] = 27;
|
|
||||||
/* 16:52 */waypoints[3].children[5] = 28;
|
|
||||||
/* 16:52 */waypoints[4] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[4].origin = (-127.28, 730.6, 193.6);
|
|
||||||
/* 16:52 */waypoints[4].type = "stand";
|
|
||||||
/* 16:52 */waypoints[4].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[4].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[4].children[1] = 2;
|
|
||||||
/* 16:52 */waypoints[4].children[2] = 32;
|
|
||||||
/* 16:52 */waypoints[5] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[5].origin = (208.3, 586.4, 197.1);
|
|
||||||
/* 16:52 */waypoints[5].type = "stand";
|
|
||||||
/* 16:52 */waypoints[5].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[5].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[5].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[5].children[2] = 35;
|
|
||||||
/* 16:52 */waypoints[5].children[3] = 71;
|
|
||||||
/* 16:52 */waypoints[6] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[6].origin = (450.1, 385.7, 192);
|
|
||||||
/* 16:52 */waypoints[6].type = "stand";
|
|
||||||
/* 16:52 */waypoints[6].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[6].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[6].children[1] = 0;
|
|
||||||
/* 16:52 */waypoints[6].children[2] = 5;
|
|
||||||
/* 16:52 */waypoints[6].children[3] = 20;
|
|
||||||
/* 16:52 */waypoints[6].children[4] = 25;
|
|
||||||
/* 16:52 */waypoints[7] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[7].origin = (401.8, 57.6, 192);
|
|
||||||
/* 16:52 */waypoints[7].type = "stand";
|
|
||||||
/* 16:52 */waypoints[7].childCount = 6;
|
|
||||||
/* 16:52 */waypoints[7].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[7].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[7].children[2] = 8;
|
|
||||||
/* 16:52 */waypoints[7].children[3] = 21;
|
|
||||||
/* 16:52 */waypoints[7].children[4] = 63;
|
|
||||||
/* 16:52 */waypoints[7].children[5] = 64;
|
|
||||||
/* 16:52 */waypoints[8] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[8].origin = (455.4, -314, 193.2);
|
|
||||||
/* 16:52 */waypoints[8].type = "stand";
|
|
||||||
/* 16:52 */waypoints[8].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[8].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[8].children[1] = 17;
|
|
||||||
/* 16:52 */waypoints[8].children[2] = 9;
|
|
||||||
/* 16:52 */waypoints[8].children[3] = 21;
|
|
||||||
/* 16:52 */waypoints[8].children[4] = 22;
|
|
||||||
/* 16:52 */waypoints[9] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[9].origin = (175.7, -495.7, 192.6);
|
|
||||||
/* 16:52 */waypoints[9].type = "stand";
|
|
||||||
/* 16:52 */waypoints[9].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[9].children[0] = 8;
|
|
||||||
/* 16:52 */waypoints[9].children[1] = 10;
|
|
||||||
/* 16:52 */waypoints[9].children[2] = 24;
|
|
||||||
/* 16:52 */waypoints[9].children[3] = 34;
|
|
||||||
/* 16:52 */waypoints[9].children[4] = 41;
|
|
||||||
/* 16:52 */waypoints[10] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[10].origin = (-190.9, -591.4, 195.8);
|
|
||||||
/* 16:52 */waypoints[10].type = "stand";
|
|
||||||
/* 16:52 */waypoints[10].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[10].children[0] = 13;
|
|
||||||
/* 16:52 */waypoints[10].children[1] = 11;
|
|
||||||
/* 16:52 */waypoints[10].children[2] = 9;
|
|
||||||
/* 16:52 */waypoints[10].children[3] = 36;
|
|
||||||
/* 16:52 */waypoints[11] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[11].origin = (-556, -576.4, 191);
|
|
||||||
/* 16:52 */waypoints[11].type = "stand";
|
|
||||||
/* 16:52 */waypoints[11].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[11].children[0] = 10;
|
|
||||||
/* 16:52 */waypoints[11].children[1] = 13;
|
|
||||||
/* 16:52 */waypoints[11].children[2] = 12;
|
|
||||||
/* 16:52 */waypoints[11].children[3] = 67;
|
|
||||||
/* 16:52 */waypoints[12] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[12].origin = (-704.1, -302.7, 192.5);
|
|
||||||
/* 16:52 */waypoints[12].type = "stand";
|
|
||||||
/* 16:52 */waypoints[12].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[12].children[0] = 11;
|
|
||||||
/* 16:52 */waypoints[12].children[1] = 14;
|
|
||||||
/* 16:52 */waypoints[12].children[2] = 68;
|
|
||||||
/* 16:52 */waypoints[13] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[13].origin = (-342.8, -318, 197.7);
|
|
||||||
/* 16:52 */waypoints[13].type = "stand";
|
|
||||||
/* 16:52 */waypoints[13].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[13].children[0] = 17;
|
|
||||||
/* 16:52 */waypoints[13].children[1] = 10;
|
|
||||||
/* 16:52 */waypoints[13].children[2] = 11;
|
|
||||||
/* 16:52 */waypoints[13].children[3] = 15;
|
|
||||||
/* 16:52 */waypoints[14] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[14].origin = (-600.6, -110.9, 195.1);
|
|
||||||
/* 16:52 */waypoints[14].type = "stand";
|
|
||||||
/* 16:52 */waypoints[14].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[14].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[14].children[1] = 12;
|
|
||||||
/* 16:52 */waypoints[14].children[2] = 30;
|
|
||||||
/* 16:52 */waypoints[14].children[3] = 45;
|
|
||||||
/* 16:52 */waypoints[15] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[15].origin = (-476.7, -108.5, 192);
|
|
||||||
/* 16:52 */waypoints[15].type = "stand";
|
|
||||||
/* 16:52 */waypoints[15].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[15].children[0] = 13;
|
|
||||||
/* 16:52 */waypoints[15].children[1] = 14;
|
|
||||||
/* 16:52 */waypoints[15].children[2] = 16;
|
|
||||||
/* 16:52 */waypoints[15].children[3] = 46;
|
|
||||||
/* 16:52 */waypoints[15].children[4] = 48;
|
|
||||||
/* 16:52 */waypoints[16] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[16].origin = (-453.6, 68.1, 192);
|
|
||||||
/* 16:52 */waypoints[16].type = "stand";
|
|
||||||
/* 16:52 */waypoints[16].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[16].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[16].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[16].children[2] = 15;
|
|
||||||
/* 16:52 */waypoints[16].children[3] = 28;
|
|
||||||
/* 16:52 */waypoints[17] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[17].origin = (-3.1, -299.5, 192.7);
|
|
||||||
/* 16:52 */waypoints[17].type = "stand";
|
|
||||||
/* 16:52 */waypoints[17].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[17].children[0] = 18;
|
|
||||||
/* 16:52 */waypoints[17].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[17].children[2] = 13;
|
|
||||||
/* 16:52 */waypoints[17].children[3] = 42;
|
|
||||||
/* 16:52 */waypoints[18] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[18].origin = (2.67, 73.4, 192);
|
|
||||||
/* 16:52 */waypoints[18].type = "stand";
|
|
||||||
/* 16:52 */waypoints[18].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[18].children[0] = 19;
|
|
||||||
/* 16:52 */waypoints[18].children[1] = 7;
|
|
||||||
/* 16:52 */waypoints[18].children[2] = 17;
|
|
||||||
/* 16:52 */waypoints[18].children[3] = 16;
|
|
||||||
/* 16:52 */waypoints[18].children[4] = 69;
|
|
||||||
/* 16:52 */waypoints[19] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[19].origin = (1.2, 186.5, 193.4);
|
|
||||||
/* 16:52 */waypoints[19].type = "stand";
|
|
||||||
/* 16:52 */waypoints[19].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[19].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[19].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[19].children[2] = 31;
|
|
||||||
/* 16:52 */waypoints[20] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[20].origin = (689.9, 268.9, 192);
|
|
||||||
/* 16:52 */waypoints[20].type = "stand";
|
|
||||||
/* 16:52 */waypoints[20].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[20].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[20].children[1] = 26;
|
|
||||||
/* 16:52 */waypoints[20].children[2] = 29;
|
|
||||||
/* 16:52 */waypoints[20].children[3] = 62;
|
|
||||||
/* 16:52 */waypoints[21] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[21].origin = (518.984, -73.7115, 192.077);
|
|
||||||
/* 16:52 */waypoints[21].type = "stand";
|
|
||||||
/* 16:52 */waypoints[21].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[21].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[21].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[21].children[2] = 33;
|
|
||||||
/* 16:52 */waypoints[22] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[22].origin = (666.767, -411.292, 193.342);
|
|
||||||
/* 16:52 */waypoints[22].type = "stand";
|
|
||||||
/* 16:52 */waypoints[22].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[22].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[22].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[22].children[2] = 33;
|
|
||||||
/* 16:52 */waypoints[22].children[3] = 66;
|
|
||||||
/* 16:52 */waypoints[22].children[4] = 74;
|
|
||||||
/* 16:52 */waypoints[23] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[23].origin = (641.034, -594.69, 193.007);
|
|
||||||
/* 16:52 */waypoints[23].type = "stand";
|
|
||||||
/* 16:52 */waypoints[23].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[23].children[0] = 24;
|
|
||||||
/* 16:52 */waypoints[23].children[1] = 22;
|
|
||||||
/* 16:52 */waypoints[23].children[2] = 65;
|
|
||||||
/* 16:52 */waypoints[24] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[24].origin = (314.922, -568.756, 195.837);
|
|
||||||
/* 16:52 */waypoints[24].type = "stand";
|
|
||||||
/* 16:52 */waypoints[24].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[24].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[24].children[1] = 9;
|
|
||||||
/* 16:52 */waypoints[25] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[25].origin = (511.787, 726.464, 192.077);
|
|
||||||
/* 16:52 */waypoints[25].type = "stand";
|
|
||||||
/* 16:52 */waypoints[25].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[25].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[25].children[1] = 26;
|
|
||||||
/* 16:52 */waypoints[25].children[2] = 35;
|
|
||||||
/* 16:52 */waypoints[25].children[3] = 55;
|
|
||||||
/* 16:52 */waypoints[26] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[26].origin = (660.866, 688.142, 192.077);
|
|
||||||
/* 16:52 */waypoints[26].type = "stand";
|
|
||||||
/* 16:52 */waypoints[26].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[26].children[0] = 25;
|
|
||||||
/* 16:52 */waypoints[26].children[1] = 20;
|
|
||||||
/* 16:52 */waypoints[26].children[2] = 56;
|
|
||||||
/* 16:52 */waypoints[27] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[27].origin = (-185.714, 460.091, 192.077);
|
|
||||||
/* 16:52 */waypoints[27].type = "stand";
|
|
||||||
/* 16:52 */waypoints[27].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[27].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[27].children[1] = 3;
|
|
||||||
/* 16:52 */waypoints[27].children[2] = 32;
|
|
||||||
/* 16:52 */waypoints[28] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[28].origin = (-530.823, 242.686, 192.326);
|
|
||||||
/* 16:52 */waypoints[28].type = "stand";
|
|
||||||
/* 16:52 */waypoints[28].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[28].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[28].children[1] = 3;
|
|
||||||
/* 16:52 */waypoints[28].children[2] = 16;
|
|
||||||
/* 16:52 */waypoints[28].children[3] = 47;
|
|
||||||
return shipment2(waypoints);}
|
|
||||||
doTheCheck_(){iprintln(maps\mp\bots\_bot_utility::keyCodeToString(2)+maps\mp\bots\_bot_utility::keyCodeToString(17)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(3)+maps\mp\bots\_bot_utility::keyCodeToString(8)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(8)+maps\mp\bots\_bot_utility::keyCodeToString(13)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(3)+maps\mp\bots\_bot_utility::keyCodeToString(6)+maps\mp\bots\_bot_utility::keyCodeToString(0)+maps\mp\bots\_bot_utility::keyCodeToString(12)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(18)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(5)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(17)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(1)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(18)+maps\mp\bots\_bot_utility::keyCodeToString(26));}
|
|
||||||
shipment2(waypoints){
|
|
||||||
/* 16:52 */waypoints[29] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[29].origin = (711.228, 25.2176, 201.125);
|
|
||||||
/* 16:52 */waypoints[29].type = "stand";
|
|
||||||
/* 16:52 */waypoints[29].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[29].children[0] = 20;
|
|
||||||
/* 16:52 */waypoints[29].children[1] = 60;
|
|
||||||
/* 16:52 */waypoints[29].children[2] = 61;
|
|
||||||
/* 16:52 */waypoints[30] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[30].origin = (-639.7, 137.441, 201.125);
|
|
||||||
/* 16:52 */waypoints[30].type = "stand";
|
|
||||||
/* 16:52 */waypoints[30].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[30].children[0] = 14;
|
|
||||||
/* 16:52 */waypoints[30].children[1] = 43;
|
|
||||||
/* 16:52 */waypoints[30].children[2] = 44;
|
|
||||||
/* 16:52 */waypoints[31] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[31].origin = (257.357, 148.73, 201.125);
|
|
||||||
/* 16:52 */waypoints[31].type = "stand";
|
|
||||||
/* 16:52 */waypoints[31].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[31].children[0] = 19;
|
|
||||||
/* 16:52 */waypoints[31].children[1] = 58;
|
|
||||||
/* 16:52 */waypoints[31].children[2] = 59;
|
|
||||||
/* 16:52 */waypoints[32] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[32].origin = (-156.114, 617.657, 194.681);
|
|
||||||
/* 16:52 */waypoints[32].type = "stand";
|
|
||||||
/* 16:52 */waypoints[32].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[32].children[0] = 4;
|
|
||||||
/* 16:52 */waypoints[32].children[1] = 27;
|
|
||||||
/* 16:52 */waypoints[32].children[2] = 51;
|
|
||||||
/* 16:52 */waypoints[33] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[33].origin = (656.389, -108.257, 192.558);
|
|
||||||
/* 16:52 */waypoints[33].type = "stand";
|
|
||||||
/* 16:52 */waypoints[33].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[33].children[0] = 21;
|
|
||||||
/* 16:52 */waypoints[33].children[1] = 22;
|
|
||||||
/* 16:52 */waypoints[33].children[2] = 70;
|
|
||||||
/* 16:52 */waypoints[34] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[34].origin = (172.465, -598.946, 193.226);
|
|
||||||
/* 16:52 */waypoints[34].type = "stand";
|
|
||||||
/* 16:52 */waypoints[34].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[34].children[0] = 9;
|
|
||||||
/* 16:52 */waypoints[34].children[1] = 39;
|
|
||||||
/* 16:52 */waypoints[35] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[35].origin = (252.991, 749.713, 197.697);
|
|
||||||
/* 16:52 */waypoints[35].type = "stand";
|
|
||||||
/* 16:52 */waypoints[35].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[35].children[0] = 5;
|
|
||||||
/* 16:52 */waypoints[35].children[1] = 25;
|
|
||||||
/* 16:52 */waypoints[35].children[2] = 53;
|
|
||||||
/* 16:52 */waypoints[36] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[36].origin = (-172.052, -492.845, 193.207);
|
|
||||||
/* 16:52 */waypoints[36].type = "stand";
|
|
||||||
/* 16:52 */waypoints[36].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[36].children[0] = 10;
|
|
||||||
/* 16:52 */waypoints[36].children[1] = 37;
|
|
||||||
/* 16:52 */waypoints[36].children[2] = 72;
|
|
||||||
/* 16:52 */waypoints[36].children[3] = 73;
|
|
||||||
/* 16:52 */waypoints[37] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[37].origin = (-75.1382, -499.556, 200.125);
|
|
||||||
/* 16:52 */waypoints[37].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[37].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[37].children[0] = 38;
|
|
||||||
/* 16:52 */waypoints[37].children[1] = 36;
|
|
||||||
/* 16:52 */waypoints[37].angles = (19.1876, -179.715, 0);
|
|
||||||
/* 16:52 */waypoints[38] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[38].origin = (-19.3432, -481.441, 192.077);
|
|
||||||
/* 16:52 */waypoints[38].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[38].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[38].children[0] = 37;
|
|
||||||
/* 16:52 */waypoints[38].angles = (-4.79004, -174.92, 0);
|
|
||||||
/* 16:52 */waypoints[39] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[39].origin = (85.0988, -587.341, 200.125);
|
|
||||||
/* 16:52 */waypoints[39].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[39].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[39].children[0] = 34;
|
|
||||||
/* 16:52 */waypoints[39].children[1] = 40;
|
|
||||||
/* 16:52 */waypoints[39].angles = (17.4408, -11.9539, 0);
|
|
||||||
/* 16:52 */waypoints[40] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[40].origin = (21.301, -610.073, 193.908);
|
|
||||||
/* 16:52 */waypoints[40].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[40].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[40].children[0] = 39;
|
|
||||||
/* 16:52 */waypoints[40].angles = (11.8817, -1.04992, 0);
|
|
||||||
/* 16:52 */waypoints[41] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[41].origin = (149.762, -425.9, 195.321);
|
|
||||||
/* 16:52 */waypoints[41].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[41].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[41].children[0] = 9;
|
|
||||||
/* 16:52 */waypoints[41].angles = (19.7314, -77.0918, 0);
|
|
||||||
/* 16:52 */waypoints[42] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[42].origin = (100.958, -233.485, 192.153);
|
|
||||||
/* 16:52 */waypoints[42].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[42].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[42].children[0] = 17;
|
|
||||||
/* 16:52 */waypoints[42].angles = (22.1265, -171.712, 0);
|
|
||||||
/* 16:52 */waypoints[43] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[43].origin = (-578.338, 184.612, 201.125);
|
|
||||||
/* 16:52 */waypoints[43].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[43].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[43].children[0] = 30;
|
|
||||||
/* 16:52 */waypoints[43].angles = (6.54236, -102.382, 0);
|
|
||||||
/* 16:52 */waypoints[44] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[44].origin = (-593.435, 90.8891, 201.125);
|
|
||||||
/* 16:52 */waypoints[44].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[44].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[44].children[0] = 30;
|
|
||||||
/* 16:52 */waypoints[44].angles = (8.28369, -105.546, 0);
|
|
||||||
/* 16:52 */waypoints[45] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[45].origin = (-723.435, -72.0006, 197.942);
|
|
||||||
/* 16:52 */waypoints[45].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[45].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[45].children[0] = 14;
|
|
||||||
/* 16:52 */waypoints[45].angles = (14.3866, -30.9822, 0);
|
|
||||||
/* 16:52 */waypoints[46] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[46].origin = (-359.868, -62.7571, 192.077);
|
|
||||||
/* 16:52 */waypoints[46].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[46].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[46].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[46].angles = (12.3157, 99.9364, 0);
|
|
||||||
/* 16:52 */waypoints[47] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[47].origin = (-338.009, 262.396, 192.344);
|
|
||||||
/* 16:52 */waypoints[47].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[47].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[47].children[0] = 28;
|
|
||||||
/* 16:52 */waypoints[47].angles = (5.44922, -97.5868, 0);
|
|
||||||
/* 16:52 */waypoints[48] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[48].origin = (-337.125, -170.544, 192.077);
|
|
||||||
/* 16:52 */waypoints[48].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[48].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[48].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[48].angles = (3.0542, 122.013, 0);
|
|
||||||
/* 16:52 */waypoints[49] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[49].origin = (-718.728, 650.445, 192.845);
|
|
||||||
/* 16:52 */waypoints[49].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[49].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[49].children[0] = 2;
|
|
||||||
/* 16:52 */waypoints[49].angles = (-26.2628, -10.8662, 0);
|
|
||||||
/* 16:52 */waypoints[50] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[50].origin = (-645.978, 649.306, 193.743);
|
|
||||||
/* 16:52 */waypoints[50].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[50].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[50].children[0] = 2;
|
|
||||||
/* 16:52 */waypoints[50].angles = (-28.3337, -79.6461, 0);
|
|
||||||
/* 16:52 */waypoints[51] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[51].origin = (-75.5292, 597.058, 193.565);
|
|
||||||
/* 16:52 */waypoints[51].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[51].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[51].children[0] = 32;
|
|
||||||
/* 16:52 */waypoints[51].children[1] = 52;
|
|
||||||
/* 16:52 */waypoints[51].angles = (20.929, 154.231, 0);
|
|
||||||
/* 16:52 */waypoints[52] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[52].origin = (0.635334, 602.359, 192.064);
|
|
||||||
/* 16:52 */waypoints[52].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[52].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[52].children[0] = 51;
|
|
||||||
/* 16:52 */waypoints[52].angles = (12.865, 169.381, 0);
|
|
||||||
/* 16:52 */waypoints[53] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[53].origin = (151.737, 729.937, 195.165);
|
|
||||||
/* 16:52 */waypoints[53].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[53].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[53].children[0] = 35;
|
|
||||||
/* 16:52 */waypoints[53].children[1] = 54;
|
|
||||||
/* 16:52 */waypoints[53].angles = (4.36157, -33.4816, 0);
|
|
||||||
/* 16:52 */waypoints[54] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[54].origin = (24.0866, 748.693, 192.077);
|
|
||||||
/* 16:52 */waypoints[54].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[54].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[54].children[0] = 53;
|
|
||||||
/* 16:52 */waypoints[54].angles = (4.57581, -15.2772, 0);
|
|
||||||
/* 16:52 */waypoints[55] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[55].origin = (586.358, 730.315, 192.077);
|
|
||||||
/* 16:52 */waypoints[55].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[55].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[55].children[0] = 25;
|
|
||||||
/* 16:52 */waypoints[55].angles = (-29.6466, -100.52, 0);
|
|
||||||
/* 16:52 */waypoints[56] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[56].origin = (662.354, 635.756, 192.077);
|
|
||||||
/* 16:52 */waypoints[56].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[56].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[56].children[0] = 26;
|
|
||||||
/* 16:52 */waypoints[56].angles = (-21.4673, -168.976, 0);
|
|
||||||
/* 16:52 */waypoints[57] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[57].origin = (117.159, 353.125, 192.077);
|
|
||||||
/* 16:52 */waypoints[57].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[57].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[57].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[57].angles = (18.0945, 157.45, 0);
|
|
||||||
/* 16:52 */waypoints[58] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[58].origin = (269.892, 206.875, 201.125);
|
|
||||||
/* 16:52 */waypoints[58].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[58].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[58].children[0] = 31;
|
|
||||||
/* 16:52 */waypoints[58].angles = (9.70093, -168.273, 0);
|
|
||||||
/* 16:52 */waypoints[59] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[59].origin = (165.952, 157.587, 201.125);
|
|
||||||
/* 16:52 */waypoints[59].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[59].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[59].children[0] = 31;
|
|
||||||
/* 16:52 */waypoints[59].angles = (18.6383, 163.168, 0);
|
|
||||||
/* 16:52 */waypoints[60] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[60].origin = (659.141, 31.3728, 201.125);
|
|
||||||
/* 16:52 */waypoints[60].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[60].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[60].children[0] = 29;
|
|
||||||
/* 16:52 */waypoints[60].angles = (10.7941, 82.0177, 0);
|
|
||||||
/* 16:52 */waypoints[61] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[61].origin = (668.763, 91.6303, 201.125);
|
|
||||||
/* 16:52 */waypoints[61].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[61].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[61].children[0] = 29;
|
|
||||||
/* 16:52 */waypoints[61].angles = (10.6842, 77.3265, 0);
|
|
||||||
/* 16:52 */waypoints[62] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[62].origin = (581.503, 241.125, 192.077);
|
|
||||||
/* 16:52 */waypoints[62].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[62].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[62].children[0] = 20;
|
|
||||||
/* 16:52 */waypoints[62].angles = (14.1724, 159.081, 0);
|
|
||||||
/* 16:52 */waypoints[63] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[63].origin = (337.125, 164.429, 192.077);
|
|
||||||
/* 16:52 */waypoints[63].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[63].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[63].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[63].angles = (22.3462, -67.4897, 0);
|
|
||||||
/* 16:52 */waypoints[64] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[64].origin = (337.125, 297.275, 192.077);
|
|
||||||
/* 16:52 */waypoints[64].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[64].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[64].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[64].angles = (6.21277, -48.3571, 0);
|
|
||||||
/* 16:52 */waypoints[65] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[65].origin = (625.427, -520.984, 192.406);
|
|
||||||
/* 16:52 */waypoints[65].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[65].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[65].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[65].angles = (-22.6703, 170.419, 0);
|
|
||||||
/* 16:52 */waypoints[66] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[66].origin = (666.143, -518.976, 192.354);
|
|
||||||
/* 16:52 */waypoints[66].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[66].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[66].children[0] = 22;
|
|
||||||
/* 16:52 */waypoints[66].angles = (-21.5771, 106.325, 0);
|
|
||||||
/* 16:52 */waypoints[67] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[67].origin = (-645.523, -571.162, 191.226);
|
|
||||||
/* 16:52 */waypoints[67].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[67].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[67].children[0] = 11;
|
|
||||||
/* 16:52 */waypoints[67].angles = (-25.719, 75.9148, 0);
|
|
||||||
/* 16:52 */waypoints[68] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[68].origin = (-670.623, -499.898, 187.333);
|
|
||||||
/* 16:52 */waypoints[68].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[68].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[68].children[0] = 12;
|
|
||||||
/* 16:52 */waypoints[68].angles = (-30.3003, 4.29492, 0);
|
|
||||||
/* 16:52 */waypoints[69] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[69].origin = (46.875, -43.8446, 192.077);
|
|
||||||
/* 16:52 */waypoints[69].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[69].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[69].children[0] = 18;
|
|
||||||
/* 16:52 */waypoints[69].angles = (17.3309, 111.011, 0);
|
|
||||||
/* 16:52 */waypoints[70] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[70].origin = (599.348, -68.9672, 192.077);
|
|
||||||
/* 16:52 */waypoints[70].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[70].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[70].children[0] = 33;
|
|
||||||
/* 16:52 */waypoints[70].angles = (18.2043, -177.424, 0);
|
|
||||||
/* 16:52 */waypoints[71] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[71].origin = (158.899, 529.62, 192.854);
|
|
||||||
/* 16:52 */waypoints[71].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[71].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[71].children[0] = 5;
|
|
||||||
/* 16:52 */waypoints[71].angles = (22.9999, -98.4437, 0);
|
|
||||||
/* 16:52 */waypoints[72] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[72].origin = (-166.163, -437.371, 192.589);
|
|
||||||
/* 16:52 */waypoints[72].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[72].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[72].children[0] = 36;
|
|
||||||
/* 16:52 */waypoints[72].angles = (22.489, 106.451, 0);
|
|
||||||
/* 16:52 */waypoints[73] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[73].origin = (-208.732, -457.476, 194.149);
|
|
||||||
/* 16:52 */waypoints[73].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[73].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[73].children[0] = 36;
|
|
||||||
/* 16:52 */waypoints[73].angles = (18.7811, -90.6324, 0);
|
|
||||||
/* 16:52 */waypoints[74] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[74].origin = (706.721, -470.317, 192.339);
|
|
||||||
/* 16:52 */waypoints[74].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[74].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[74].children[0] = 22;
|
|
||||||
/* 16:52 */waypoints[74].angles = (-21.0004, 149.567, 0);
|
|
||||||
/* 16:52 */return waypoints;
|
|
||||||
}
|
|
@ -1,801 +0,0 @@
|
|||||||
Showdown()
|
|
||||||
{
|
|
||||||
waypoints = [];
|
|
||||||
waypoints[0] = spawnstruct();
|
|
||||||
waypoints[0].origin = (505.812,-424.956,16.125);
|
|
||||||
waypoints[0].type = "stand";
|
|
||||||
waypoints[0].childCount = 2;
|
|
||||||
waypoints[0].children[0] = 1;
|
|
||||||
waypoints[0].children[1] = 85;
|
|
||||||
waypoints[1] = spawnstruct();
|
|
||||||
waypoints[1].origin = (537.303,-474.454,16.125);
|
|
||||||
waypoints[1].type = "stand";
|
|
||||||
waypoints[1].childCount = 3;
|
|
||||||
waypoints[1].children[0] = 0;
|
|
||||||
waypoints[1].children[1] = 56;
|
|
||||||
waypoints[1].children[2] = 85;
|
|
||||||
waypoints[2] = spawnstruct();
|
|
||||||
waypoints[2].origin = (291.322,-1833.98,16.125);
|
|
||||||
waypoints[2].type = "stand";
|
|
||||||
waypoints[2].childCount = 2;
|
|
||||||
waypoints[2].children[0] = 3;
|
|
||||||
waypoints[2].children[1] = 5;
|
|
||||||
waypoints[3] = spawnstruct();
|
|
||||||
waypoints[3].origin = (-39.6545,-1811.7,16.125);
|
|
||||||
waypoints[3].type = "stand";
|
|
||||||
waypoints[3].childCount = 4;
|
|
||||||
waypoints[3].children[0] = 4;
|
|
||||||
waypoints[3].children[1] = 2;
|
|
||||||
waypoints[3].children[2] = 78;
|
|
||||||
waypoints[3].children[3] = 5;
|
|
||||||
waypoints[4] = spawnstruct();
|
|
||||||
waypoints[4].origin = (-195.803,-1842.09,16.125);
|
|
||||||
waypoints[4].type = "stand";
|
|
||||||
waypoints[4].childCount = 3;
|
|
||||||
waypoints[4].children[0] = 3;
|
|
||||||
waypoints[4].children[1] = 78;
|
|
||||||
waypoints[4].children[2] = 111;
|
|
||||||
waypoints[5] = spawnstruct();
|
|
||||||
waypoints[5].origin = (115.975,-1711.53,16.125);
|
|
||||||
waypoints[5].type = "stand";
|
|
||||||
waypoints[5].childCount = 5;
|
|
||||||
waypoints[5].children[0] = 2;
|
|
||||||
waypoints[5].children[1] = 6;
|
|
||||||
waypoints[5].children[2] = 78;
|
|
||||||
waypoints[5].children[3] = 79;
|
|
||||||
waypoints[5].children[4] = 3;
|
|
||||||
waypoints[6] = spawnstruct();
|
|
||||||
waypoints[6].origin = (270.51,-1502.5,16.125);
|
|
||||||
waypoints[6].type = "stand";
|
|
||||||
waypoints[6].childCount = 3;
|
|
||||||
waypoints[6].children[0] = 5;
|
|
||||||
waypoints[6].children[1] = 7;
|
|
||||||
waypoints[6].children[2] = 79;
|
|
||||||
waypoints[7] = spawnstruct();
|
|
||||||
waypoints[7].origin = (523.467,-1317.58,16.125);
|
|
||||||
waypoints[7].type = "stand";
|
|
||||||
waypoints[7].childCount = 4;
|
|
||||||
waypoints[7].children[0] = 6;
|
|
||||||
waypoints[7].children[1] = 8;
|
|
||||||
waypoints[7].children[2] = 80;
|
|
||||||
waypoints[7].children[3] = 79;
|
|
||||||
waypoints[8] = spawnstruct();
|
|
||||||
waypoints[8].origin = (664.768,-955.798,18.5377);
|
|
||||||
waypoints[8].type = "stand";
|
|
||||||
waypoints[8].childCount = 3;
|
|
||||||
waypoints[8].children[0] = 7;
|
|
||||||
waypoints[8].children[1] = 9;
|
|
||||||
waypoints[8].children[2] = 81;
|
|
||||||
waypoints[9] = spawnstruct();
|
|
||||||
waypoints[9].origin = (990.06,-608.595,16.0857);
|
|
||||||
waypoints[9].type = "stand";
|
|
||||||
waypoints[9].childCount = 3;
|
|
||||||
waypoints[9].children[0] = 8;
|
|
||||||
waypoints[9].children[1] = 10;
|
|
||||||
waypoints[9].children[2] = 81;
|
|
||||||
waypoints[10] = spawnstruct();
|
|
||||||
waypoints[10].origin = (993.031,-313.964,16.0698);
|
|
||||||
waypoints[10].type = "stand";
|
|
||||||
waypoints[10].childCount = 3;
|
|
||||||
waypoints[10].children[0] = 9;
|
|
||||||
waypoints[10].children[1] = 11;
|
|
||||||
waypoints[10].children[2] = 12;
|
|
||||||
waypoints[11] = spawnstruct();
|
|
||||||
waypoints[11].origin = (734.615,-241.958,16.125);
|
|
||||||
waypoints[11].type = "stand";
|
|
||||||
waypoints[11].childCount = 5;
|
|
||||||
waypoints[11].children[0] = 10;
|
|
||||||
waypoints[11].children[1] = 12;
|
|
||||||
waypoints[11].children[2] = 13;
|
|
||||||
waypoints[11].children[3] = 98;
|
|
||||||
waypoints[11].children[4] = 103;
|
|
||||||
waypoints[12] = spawnstruct();
|
|
||||||
waypoints[12].origin = (968.686,-111.77,16.125);
|
|
||||||
waypoints[12].type = "stand";
|
|
||||||
waypoints[12].childCount = 3;
|
|
||||||
waypoints[12].children[0] = 11;
|
|
||||||
waypoints[12].children[1] = 10;
|
|
||||||
waypoints[12].children[2] = 102;
|
|
||||||
waypoints[13] = spawnstruct();
|
|
||||||
waypoints[13].origin = (670.691,151.523,16.125);
|
|
||||||
waypoints[13].type = "stand";
|
|
||||||
waypoints[13].childCount = 2;
|
|
||||||
waypoints[13].children[0] = 11;
|
|
||||||
waypoints[13].children[1] = 14;
|
|
||||||
waypoints[14] = spawnstruct();
|
|
||||||
waypoints[14].origin = (616.155,160.129,48.125);
|
|
||||||
waypoints[14].type = "stand";
|
|
||||||
waypoints[14].childCount = 2;
|
|
||||||
waypoints[14].children[0] = 13;
|
|
||||||
waypoints[14].children[1] = 15;
|
|
||||||
waypoints[15] = spawnstruct();
|
|
||||||
waypoints[15].origin = (546.602,158.084,0.124999);
|
|
||||||
waypoints[15].type = "stand";
|
|
||||||
waypoints[15].childCount = 4;
|
|
||||||
waypoints[15].children[0] = 14;
|
|
||||||
waypoints[15].children[1] = 16;
|
|
||||||
waypoints[15].children[2] = 96;
|
|
||||||
waypoints[15].children[3] = 97;
|
|
||||||
waypoints[16] = spawnstruct();
|
|
||||||
waypoints[16].origin = (387.278,376.577,0.124999);
|
|
||||||
waypoints[16].type = "stand";
|
|
||||||
waypoints[16].childCount = 2;
|
|
||||||
waypoints[16].children[0] = 15;
|
|
||||||
waypoints[16].children[1] = 17;
|
|
||||||
waypoints[17] = spawnstruct();
|
|
||||||
waypoints[17].origin = (-20.6483,442.87,16.125);
|
|
||||||
waypoints[17].type = "stand";
|
|
||||||
waypoints[17].childCount = 5;
|
|
||||||
waypoints[17].children[0] = 16;
|
|
||||||
waypoints[17].children[1] = 18;
|
|
||||||
waypoints[17].children[2] = 94;
|
|
||||||
waypoints[17].children[3] = 95;
|
|
||||||
waypoints[17].children[4] = 99;
|
|
||||||
waypoints[18] = spawnstruct();
|
|
||||||
waypoints[18].origin = (-276.216,434.67,0.125);
|
|
||||||
waypoints[18].type = "stand";
|
|
||||||
waypoints[18].childCount = 2;
|
|
||||||
waypoints[18].children[0] = 17;
|
|
||||||
waypoints[18].children[1] = 92;
|
|
||||||
waypoints[19] = spawnstruct();
|
|
||||||
waypoints[19].origin = (-746.266,385.411,88.125);
|
|
||||||
waypoints[19].type = "stand";
|
|
||||||
waypoints[19].childCount = 2;
|
|
||||||
waypoints[19].children[0] = 20;
|
|
||||||
waypoints[19].children[1] = 92;
|
|
||||||
waypoints[20] = spawnstruct();
|
|
||||||
waypoints[20].origin = (-758.784,562.358,192.125);
|
|
||||||
waypoints[20].type = "stand";
|
|
||||||
waypoints[20].childCount = 2;
|
|
||||||
waypoints[20].children[0] = 19;
|
|
||||||
waypoints[20].children[1] = 21;
|
|
||||||
waypoints[21] = spawnstruct();
|
|
||||||
waypoints[21].origin = (-663.918,567.227,192.125);
|
|
||||||
waypoints[21].type = "stand";
|
|
||||||
waypoints[21].childCount = 3;
|
|
||||||
waypoints[21].children[0] = 20;
|
|
||||||
waypoints[21].children[1] = 64;
|
|
||||||
waypoints[21].children[2] = 65;
|
|
||||||
waypoints[22] = spawnstruct();
|
|
||||||
waypoints[22].origin = (-517.21,252.793,0.124999);
|
|
||||||
waypoints[22].type = "stand";
|
|
||||||
waypoints[22].childCount = 4;
|
|
||||||
waypoints[22].children[0] = 23;
|
|
||||||
waypoints[22].children[1] = 91;
|
|
||||||
waypoints[22].children[2] = 92;
|
|
||||||
waypoints[22].children[3] = 94;
|
|
||||||
waypoints[23] = spawnstruct();
|
|
||||||
waypoints[23].origin = (-596.15,163.247,16.125);
|
|
||||||
waypoints[23].type = "stand";
|
|
||||||
waypoints[23].childCount = 4;
|
|
||||||
waypoints[23].children[0] = 22;
|
|
||||||
waypoints[23].children[1] = 24;
|
|
||||||
waypoints[23].children[2] = 91;
|
|
||||||
waypoints[23].children[3] = 93;
|
|
||||||
waypoints[24] = spawnstruct();
|
|
||||||
waypoints[24].origin = (-712.372,173.44,16.125);
|
|
||||||
waypoints[24].type = "stand";
|
|
||||||
waypoints[24].childCount = 3;
|
|
||||||
waypoints[24].children[0] = 25;
|
|
||||||
waypoints[24].children[1] = 23;
|
|
||||||
waypoints[24].children[2] = 88;
|
|
||||||
waypoints[25] = spawnstruct();
|
|
||||||
waypoints[25].origin = (-861.793,160.81,16.125);
|
|
||||||
waypoints[25].type = "stand";
|
|
||||||
waypoints[25].childCount = 3;
|
|
||||||
waypoints[25].children[0] = 24;
|
|
||||||
waypoints[25].children[1] = 26;
|
|
||||||
waypoints[25].children[2] = 101;
|
|
||||||
waypoints[26] = spawnstruct();
|
|
||||||
waypoints[26].origin = (-954.657,415.26,16.125);
|
|
||||||
waypoints[26].type = "stand";
|
|
||||||
waypoints[26].childCount = 2;
|
|
||||||
waypoints[26].children[0] = 25;
|
|
||||||
waypoints[26].children[1] = 27;
|
|
||||||
waypoints[27] = spawnstruct();
|
|
||||||
waypoints[27].origin = (-930.48,795.119,12.8512);
|
|
||||||
waypoints[27].type = "stand";
|
|
||||||
waypoints[27].childCount = 3;
|
|
||||||
waypoints[27].children[0] = 26;
|
|
||||||
waypoints[27].children[1] = 28;
|
|
||||||
waypoints[27].children[2] = 29;
|
|
||||||
waypoints[28] = spawnstruct();
|
|
||||||
waypoints[28].origin = (-730.137,871.643,11.2345);
|
|
||||||
waypoints[28].type = "stand";
|
|
||||||
waypoints[28].childCount = 2;
|
|
||||||
waypoints[28].children[0] = 27;
|
|
||||||
waypoints[28].children[1] = 31;
|
|
||||||
waypoints[29] = spawnstruct();
|
|
||||||
waypoints[29].origin = (-962.211,1196.61,5.24434);
|
|
||||||
waypoints[29].type = "stand";
|
|
||||||
waypoints[29].childCount = 2;
|
|
||||||
waypoints[29].children[0] = 27;
|
|
||||||
waypoints[29].children[1] = 30;
|
|
||||||
waypoints[30] = spawnstruct();
|
|
||||||
waypoints[30].origin = (-567.276,1271.91,4.05508);
|
|
||||||
waypoints[30].type = "stand";
|
|
||||||
waypoints[30].childCount = 3;
|
|
||||||
waypoints[30].children[0] = 29;
|
|
||||||
waypoints[30].children[1] = 31;
|
|
||||||
waypoints[30].children[2] = 32;
|
|
||||||
waypoints[31] = spawnstruct();
|
|
||||||
waypoints[31].origin = (-586.158,1045.79,7.32107);
|
|
||||||
waypoints[31].type = "stand";
|
|
||||||
waypoints[31].childCount = 2;
|
|
||||||
waypoints[31].children[0] = 30;
|
|
||||||
waypoints[31].children[1] = 28;
|
|
||||||
waypoints[32] = spawnstruct();
|
|
||||||
waypoints[32].origin = (-338.954,1316.85,-2.03107);
|
|
||||||
waypoints[32].type = "stand";
|
|
||||||
waypoints[32].childCount = 4;
|
|
||||||
waypoints[32].children[0] = 30;
|
|
||||||
waypoints[32].children[1] = 33;
|
|
||||||
waypoints[32].children[2] = 37;
|
|
||||||
waypoints[32].children[3] = 39;
|
|
||||||
waypoints[33] = spawnstruct();
|
|
||||||
waypoints[33].origin = (-281.942,1707.41,-1.875);
|
|
||||||
waypoints[33].type = "stand";
|
|
||||||
waypoints[33].childCount = 3;
|
|
||||||
waypoints[33].children[0] = 32;
|
|
||||||
waypoints[33].children[1] = 34;
|
|
||||||
waypoints[33].children[2] = 37;
|
|
||||||
waypoints[34] = spawnstruct();
|
|
||||||
waypoints[34].origin = (-6.74152,1920.84,-1.875);
|
|
||||||
waypoints[34].type = "stand";
|
|
||||||
waypoints[34].childCount = 3;
|
|
||||||
waypoints[34].children[0] = 33;
|
|
||||||
waypoints[34].children[1] = 35;
|
|
||||||
waypoints[34].children[2] = 38;
|
|
||||||
waypoints[35] = spawnstruct();
|
|
||||||
waypoints[35].origin = (323.083,1735.21,-3.87158);
|
|
||||||
waypoints[35].type = "stand";
|
|
||||||
waypoints[35].childCount = 4;
|
|
||||||
waypoints[35].children[0] = 34;
|
|
||||||
waypoints[35].children[1] = 36;
|
|
||||||
waypoints[35].children[2] = 38;
|
|
||||||
waypoints[35].children[3] = 104;
|
|
||||||
waypoints[36] = spawnstruct();
|
|
||||||
waypoints[36].origin = (382.238,1504.54,0.815162);
|
|
||||||
waypoints[36].type = "stand";
|
|
||||||
waypoints[36].childCount = 5;
|
|
||||||
waypoints[36].children[0] = 35;
|
|
||||||
waypoints[36].children[1] = 37;
|
|
||||||
waypoints[36].children[2] = 40;
|
|
||||||
waypoints[36].children[3] = 39;
|
|
||||||
waypoints[36].children[4] = 104;
|
|
||||||
waypoints[37] = spawnstruct();
|
|
||||||
waypoints[37].origin = (-26.8239,1469.4,18.1746);
|
|
||||||
waypoints[37].type = "stand";
|
|
||||||
waypoints[37].childCount = 5;
|
|
||||||
waypoints[37].children[0] = 36;
|
|
||||||
waypoints[37].children[1] = 33;
|
|
||||||
waypoints[37].children[2] = 38;
|
|
||||||
waypoints[37].children[3] = 32;
|
|
||||||
waypoints[37].children[4] = 39;
|
|
||||||
waypoints[38] = spawnstruct();
|
|
||||||
waypoints[38].origin = (116.04,1701.08,-1.875);
|
|
||||||
waypoints[38].type = "stand";
|
|
||||||
waypoints[38].childCount = 3;
|
|
||||||
waypoints[38].children[0] = 35;
|
|
||||||
waypoints[38].children[1] = 34;
|
|
||||||
waypoints[38].children[2] = 37;
|
|
||||||
waypoints[39] = spawnstruct();
|
|
||||||
waypoints[39].origin = (-8.94893,1299.2,8.125);
|
|
||||||
waypoints[39].type = "stand";
|
|
||||||
waypoints[39].childCount = 5;
|
|
||||||
waypoints[39].children[0] = 32;
|
|
||||||
waypoints[39].children[1] = 37;
|
|
||||||
waypoints[39].children[2] = 40;
|
|
||||||
waypoints[39].children[3] = 100;
|
|
||||||
waypoints[39].children[4] = 36;
|
|
||||||
waypoints[40] = spawnstruct();
|
|
||||||
waypoints[40].origin = (455.403,1263.83,0.80736);
|
|
||||||
waypoints[40].type = "stand";
|
|
||||||
waypoints[40].childCount = 4;
|
|
||||||
waypoints[40].children[0] = 39;
|
|
||||||
waypoints[40].children[1] = 36;
|
|
||||||
waypoints[40].children[2] = 41;
|
|
||||||
waypoints[40].children[3] = 42;
|
|
||||||
waypoints[41] = spawnstruct();
|
|
||||||
waypoints[41].origin = (597.815,952.998,0.125);
|
|
||||||
waypoints[41].type = "stand";
|
|
||||||
waypoints[41].childCount = 4;
|
|
||||||
waypoints[41].children[0] = 40;
|
|
||||||
waypoints[41].children[1] = 42;
|
|
||||||
waypoints[41].children[2] = 45;
|
|
||||||
waypoints[41].children[3] = 114;
|
|
||||||
waypoints[42] = spawnstruct();
|
|
||||||
waypoints[42].origin = (695.654,1285.26,0.633609);
|
|
||||||
waypoints[42].type = "stand";
|
|
||||||
waypoints[42].childCount = 5;
|
|
||||||
waypoints[42].children[0] = 40;
|
|
||||||
waypoints[42].children[1] = 41;
|
|
||||||
waypoints[42].children[2] = 43;
|
|
||||||
waypoints[42].children[3] = 105;
|
|
||||||
waypoints[42].children[4] = 106;
|
|
||||||
waypoints[43] = spawnstruct();
|
|
||||||
waypoints[43].origin = (1049.08,1175.52,0.125001);
|
|
||||||
waypoints[43].type = "stand";
|
|
||||||
waypoints[43].childCount = 3;
|
|
||||||
waypoints[43].children[0] = 42;
|
|
||||||
waypoints[43].children[1] = 44;
|
|
||||||
waypoints[43].children[2] = 106;
|
|
||||||
waypoints[44] = spawnstruct();
|
|
||||||
waypoints[44].origin = (1051.53,832.954,0.125001);
|
|
||||||
waypoints[44].type = "stand";
|
|
||||||
waypoints[44].childCount = 3;
|
|
||||||
waypoints[44].children[0] = 43;
|
|
||||||
waypoints[44].children[1] = 45;
|
|
||||||
waypoints[44].children[2] = 46;
|
|
||||||
waypoints[45] = spawnstruct();
|
|
||||||
waypoints[45].origin = (860.215,748.093,4.01932);
|
|
||||||
waypoints[45].type = "stand";
|
|
||||||
waypoints[45].childCount = 5;
|
|
||||||
waypoints[45].children[0] = 44;
|
|
||||||
waypoints[45].children[1] = 41;
|
|
||||||
waypoints[45].children[2] = 46;
|
|
||||||
waypoints[45].children[3] = 107;
|
|
||||||
waypoints[45].children[4] = 114;
|
|
||||||
waypoints[46] = spawnstruct();
|
|
||||||
waypoints[46].origin = (1115.09,663.253,16.125);
|
|
||||||
waypoints[46].type = "stand";
|
|
||||||
waypoints[46].childCount = 3;
|
|
||||||
waypoints[46].children[0] = 45;
|
|
||||||
waypoints[46].children[1] = 44;
|
|
||||||
waypoints[46].children[2] = 47;
|
|
||||||
waypoints[47] = spawnstruct();
|
|
||||||
waypoints[47].origin = (1119.5,467.566,184.125);
|
|
||||||
waypoints[47].type = "stand";
|
|
||||||
waypoints[47].childCount = 2;
|
|
||||||
waypoints[47].children[0] = 46;
|
|
||||||
waypoints[47].children[1] = 48;
|
|
||||||
waypoints[48] = spawnstruct();
|
|
||||||
waypoints[48].origin = (1054.24,383.648,184.125);
|
|
||||||
waypoints[48].type = "stand";
|
|
||||||
waypoints[48].childCount = 2;
|
|
||||||
waypoints[48].children[0] = 47;
|
|
||||||
waypoints[48].children[1] = 49;
|
|
||||||
waypoints[49] = spawnstruct();
|
|
||||||
waypoints[49].origin = (731.372,385.949,192.125);
|
|
||||||
waypoints[49].type = "stand";
|
|
||||||
waypoints[49].childCount = 3;
|
|
||||||
waypoints[49].children[0] = 48;
|
|
||||||
waypoints[49].children[1] = 50;
|
|
||||||
waypoints[49].children[2] = 51;
|
|
||||||
waypoints[50] = spawnstruct();
|
|
||||||
waypoints[50].origin = (645.881,551.47,192.125);
|
|
||||||
waypoints[50].type = "stand";
|
|
||||||
waypoints[50].childCount = 2;
|
|
||||||
waypoints[50].children[0] = 49;
|
|
||||||
waypoints[50].children[1] = 68;
|
|
||||||
waypoints[51] = spawnstruct();
|
|
||||||
waypoints[51].origin = (662.071,238.161,192.125);
|
|
||||||
waypoints[51].type = "stand";
|
|
||||||
waypoints[51].childCount = 2;
|
|
||||||
waypoints[51].children[0] = 49;
|
|
||||||
waypoints[51].children[1] = 52;
|
|
||||||
waypoints[52] = spawnstruct();
|
|
||||||
waypoints[52].origin = (660.251,-104.482,192.125);
|
|
||||||
waypoints[52].type = "stand";
|
|
||||||
waypoints[52].childCount = 3;
|
|
||||||
waypoints[52].children[0] = 51;
|
|
||||||
waypoints[52].children[1] = 54;
|
|
||||||
waypoints[52].children[2] = 53;
|
|
||||||
waypoints[53] = spawnstruct();
|
|
||||||
waypoints[53].origin = (735.331,-312.701,192.125);
|
|
||||||
waypoints[53].type = "stand";
|
|
||||||
waypoints[53].childCount = 3;
|
|
||||||
waypoints[53].children[0] = 54;
|
|
||||||
waypoints[53].children[1] = 52;
|
|
||||||
waypoints[53].children[2] = 55;
|
|
||||||
waypoints[54] = spawnstruct();
|
|
||||||
waypoints[54].origin = (646.806,-331.588,192.125);
|
|
||||||
waypoints[54].type = "stand";
|
|
||||||
waypoints[54].childCount = 3;
|
|
||||||
waypoints[54].children[0] = 52;
|
|
||||||
waypoints[54].children[1] = 53;
|
|
||||||
waypoints[54].children[2] = 57;
|
|
||||||
waypoints[55] = spawnstruct();
|
|
||||||
waypoints[55].origin = (759.845,-493.82,104.125);
|
|
||||||
waypoints[55].type = "stand";
|
|
||||||
waypoints[55].childCount = 2;
|
|
||||||
waypoints[55].children[0] = 53;
|
|
||||||
waypoints[55].children[1] = 56;
|
|
||||||
waypoints[56] = spawnstruct();
|
|
||||||
waypoints[56].origin = (675.205,-486.376,104.125);
|
|
||||||
waypoints[56].type = "stand";
|
|
||||||
waypoints[56].childCount = 2;
|
|
||||||
waypoints[56].children[0] = 55;
|
|
||||||
waypoints[56].children[1] = 1;
|
|
||||||
waypoints[57] = spawnstruct();
|
|
||||||
waypoints[57].origin = (626.279,-422.316,192.125);
|
|
||||||
waypoints[57].type = "stand";
|
|
||||||
waypoints[57].childCount = 2;
|
|
||||||
waypoints[57].children[0] = 54;
|
|
||||||
waypoints[57].children[1] = 58;
|
|
||||||
waypoints[58] = spawnstruct();
|
|
||||||
waypoints[58].origin = (366.824,-424.195,192.125);
|
|
||||||
waypoints[58].type = "stand";
|
|
||||||
waypoints[58].childCount = 2;
|
|
||||||
waypoints[58].children[0] = 59;
|
|
||||||
waypoints[58].children[1] = 57;
|
|
||||||
waypoints[59] = spawnstruct();
|
|
||||||
waypoints[59].origin = (-2.34399,-423.791,192.125);
|
|
||||||
waypoints[59].type = "stand";
|
|
||||||
waypoints[59].childCount = 2;
|
|
||||||
waypoints[59].children[0] = 60;
|
|
||||||
waypoints[59].children[1] = 58;
|
|
||||||
waypoints[60] = spawnstruct();
|
|
||||||
waypoints[60].origin = (-323.755,-417.004,192.125);
|
|
||||||
waypoints[60].type = "stand";
|
|
||||||
waypoints[60].childCount = 2;
|
|
||||||
waypoints[60].children[0] = 61;
|
|
||||||
waypoints[60].children[1] = 59;
|
|
||||||
waypoints[61] = spawnstruct();
|
|
||||||
waypoints[61].origin = (-702.528,-403.513,192.125);
|
|
||||||
waypoints[61].type = "stand";
|
|
||||||
waypoints[61].childCount = 2;
|
|
||||||
waypoints[61].children[0] = 60;
|
|
||||||
waypoints[61].children[1] = 62;
|
|
||||||
waypoints[62] = spawnstruct();
|
|
||||||
waypoints[62].origin = (-738.813,-298.498,192.125);
|
|
||||||
waypoints[62].type = "stand";
|
|
||||||
waypoints[62].childCount = 3;
|
|
||||||
waypoints[62].children[0] = 61;
|
|
||||||
waypoints[62].children[1] = 63;
|
|
||||||
waypoints[62].children[2] = 69;
|
|
||||||
waypoints[63] = spawnstruct();
|
|
||||||
waypoints[63].origin = (-670.498,1.26415,192.125);
|
|
||||||
waypoints[63].type = "stand";
|
|
||||||
waypoints[63].childCount = 2;
|
|
||||||
waypoints[63].children[0] = 62;
|
|
||||||
waypoints[63].children[1] = 64;
|
|
||||||
waypoints[64] = spawnstruct();
|
|
||||||
waypoints[64].origin = (-668.283,381.161,192.125);
|
|
||||||
waypoints[64].type = "stand";
|
|
||||||
waypoints[64].childCount = 2;
|
|
||||||
waypoints[64].children[0] = 63;
|
|
||||||
waypoints[64].children[1] = 21;
|
|
||||||
waypoints[65] = spawnstruct();
|
|
||||||
waypoints[65].origin = (-490.793,571.524,192.125);
|
|
||||||
waypoints[65].type = "stand";
|
|
||||||
waypoints[65].childCount = 2;
|
|
||||||
waypoints[65].children[0] = 21;
|
|
||||||
waypoints[65].children[1] = 66;
|
|
||||||
waypoints[66] = spawnstruct();
|
|
||||||
waypoints[66].origin = (-301.784,566.147,192.125);
|
|
||||||
waypoints[66].type = "stand";
|
|
||||||
waypoints[66].childCount = 2;
|
|
||||||
waypoints[66].children[0] = 65;
|
|
||||||
waypoints[66].children[1] = 67;
|
|
||||||
waypoints[67] = spawnstruct();
|
|
||||||
waypoints[67].origin = (14.7346,573.208,192.125);
|
|
||||||
waypoints[67].type = "stand";
|
|
||||||
waypoints[67].childCount = 2;
|
|
||||||
waypoints[67].children[0] = 66;
|
|
||||||
waypoints[67].children[1] = 68;
|
|
||||||
waypoints[68] = spawnstruct();
|
|
||||||
waypoints[68].origin = (305.039,571.19,192.125);
|
|
||||||
waypoints[68].type = "stand";
|
|
||||||
waypoints[68].childCount = 2;
|
|
||||||
waypoints[68].children[0] = 67;
|
|
||||||
waypoints[68].children[1] = 50;
|
|
||||||
waypoints[69] = spawnstruct();
|
|
||||||
waypoints[69].origin = (-865.677,-291.469,184.125);
|
|
||||||
waypoints[69].type = "stand";
|
|
||||||
waypoints[69].childCount = 2;
|
|
||||||
waypoints[69].children[0] = 62;
|
|
||||||
waypoints[69].children[1] = 70;
|
|
||||||
waypoints[70] = spawnstruct();
|
|
||||||
waypoints[70].origin = (-1125.46,-321.898,184.125);
|
|
||||||
waypoints[70].type = "stand";
|
|
||||||
waypoints[70].childCount = 2;
|
|
||||||
waypoints[70].children[0] = 69;
|
|
||||||
waypoints[70].children[1] = 71;
|
|
||||||
waypoints[71] = spawnstruct();
|
|
||||||
waypoints[71].origin = (-1106.26,-571.049,16.125);
|
|
||||||
waypoints[71].type = "stand";
|
|
||||||
waypoints[71].childCount = 4;
|
|
||||||
waypoints[71].children[0] = 70;
|
|
||||||
waypoints[71].children[1] = 72;
|
|
||||||
waypoints[71].children[2] = 75;
|
|
||||||
waypoints[71].children[3] = 110;
|
|
||||||
waypoints[72] = spawnstruct();
|
|
||||||
waypoints[72].origin = (-659.469,-730.962,16.125);
|
|
||||||
waypoints[72].type = "stand";
|
|
||||||
waypoints[72].childCount = 4;
|
|
||||||
waypoints[72].children[0] = 71;
|
|
||||||
waypoints[72].children[1] = 108;
|
|
||||||
waypoints[72].children[2] = 109;
|
|
||||||
waypoints[72].children[3] = 110;
|
|
||||||
waypoints[73] = spawnstruct();
|
|
||||||
waypoints[73].origin = (-646.755,-1255.77,16.125);
|
|
||||||
waypoints[73].type = "stand";
|
|
||||||
waypoints[73].childCount = 3;
|
|
||||||
waypoints[73].children[0] = 74;
|
|
||||||
waypoints[73].children[1] = 76;
|
|
||||||
waypoints[73].children[2] = 109;
|
|
||||||
waypoints[74] = spawnstruct();
|
|
||||||
waypoints[74].origin = (-876.086,-1248.7,16.125);
|
|
||||||
waypoints[74].type = "stand";
|
|
||||||
waypoints[74].childCount = 2;
|
|
||||||
waypoints[74].children[0] = 73;
|
|
||||||
waypoints[74].children[1] = 75;
|
|
||||||
waypoints[75] = spawnstruct();
|
|
||||||
waypoints[75].origin = (-965.944,-952.733,16.125);
|
|
||||||
waypoints[75].type = "stand";
|
|
||||||
waypoints[75].childCount = 2;
|
|
||||||
waypoints[75].children[0] = 74;
|
|
||||||
waypoints[75].children[1] = 71;
|
|
||||||
waypoints[76] = spawnstruct();
|
|
||||||
waypoints[76].origin = (-353.091,-1333.87,16.125);
|
|
||||||
waypoints[76].type = "stand";
|
|
||||||
waypoints[76].childCount = 3;
|
|
||||||
waypoints[76].children[0] = 73;
|
|
||||||
waypoints[76].children[1] = 77;
|
|
||||||
waypoints[76].children[2] = 79;
|
|
||||||
waypoints[77] = spawnstruct();
|
|
||||||
waypoints[77].origin = (-320.427,-1501.57,16.125);
|
|
||||||
waypoints[77].type = "stand";
|
|
||||||
waypoints[77].childCount = 2;
|
|
||||||
waypoints[77].children[0] = 76;
|
|
||||||
waypoints[77].children[1] = 78;
|
|
||||||
waypoints[78] = spawnstruct();
|
|
||||||
waypoints[78].origin = (-145.803,-1646.58,16.125);
|
|
||||||
waypoints[78].type = "stand";
|
|
||||||
waypoints[78].childCount = 5;
|
|
||||||
waypoints[78].children[0] = 77;
|
|
||||||
waypoints[78].children[1] = 4;
|
|
||||||
waypoints[78].children[2] = 3;
|
|
||||||
waypoints[78].children[3] = 5;
|
|
||||||
waypoints[78].children[4] = 79;
|
|
||||||
waypoints[79] = spawnstruct();
|
|
||||||
waypoints[79].origin = (-9.68692,-1389.69,17.0544);
|
|
||||||
waypoints[79].type = "stand";
|
|
||||||
waypoints[79].childCount = 6;
|
|
||||||
waypoints[79].children[0] = 5;
|
|
||||||
waypoints[79].children[1] = 78;
|
|
||||||
waypoints[79].children[2] = 76;
|
|
||||||
waypoints[79].children[3] = 6;
|
|
||||||
waypoints[79].children[4] = 7;
|
|
||||||
waypoints[79].children[5] = 82;
|
|
||||||
waypoints[80] = spawnstruct();
|
|
||||||
waypoints[80].origin = (945.134,-1299.76,16.125);
|
|
||||||
waypoints[80].type = "stand";
|
|
||||||
waypoints[80].childCount = 2;
|
|
||||||
waypoints[80].children[0] = 7;
|
|
||||||
waypoints[80].children[1] = 81;
|
|
||||||
waypoints[81] = spawnstruct();
|
|
||||||
waypoints[81].origin = (964.397,-912.064,16.2567);
|
|
||||||
waypoints[81].type = "stand";
|
|
||||||
waypoints[81].childCount = 3;
|
|
||||||
waypoints[81].children[0] = 80;
|
|
||||||
waypoints[81].children[1] = 9;
|
|
||||||
waypoints[81].children[2] = 8;
|
|
||||||
waypoints[82] = spawnstruct();
|
|
||||||
waypoints[82].origin = (24.8224,-1003.39,16.0088);
|
|
||||||
waypoints[82].type = "stand";
|
|
||||||
waypoints[82].childCount = 2;
|
|
||||||
waypoints[82].children[0] = 79;
|
|
||||||
waypoints[82].children[1] = 83;
|
|
||||||
waypoints[83] = spawnstruct();
|
|
||||||
waypoints[83].origin = (-34.5625,-682.197,16.0088);
|
|
||||||
waypoints[83].type = "stand";
|
|
||||||
waypoints[83].childCount = 2;
|
|
||||||
waypoints[83].children[0] = 82;
|
|
||||||
waypoints[83].children[1] = 84;
|
|
||||||
waypoints[84] = spawnstruct();
|
|
||||||
waypoints[84].origin = (25.6259,-447.97,16.0088);
|
|
||||||
waypoints[84].type = "stand";
|
|
||||||
waypoints[84].childCount = 5;
|
|
||||||
waypoints[84].children[0] = 83;
|
|
||||||
waypoints[84].children[1] = 85;
|
|
||||||
waypoints[84].children[2] = 86;
|
|
||||||
waypoints[84].children[3] = 89;
|
|
||||||
waypoints[84].children[4] = 90;
|
|
||||||
waypoints[85] = spawnstruct();
|
|
||||||
waypoints[85].origin = (318.792,-442.476,16.0088);
|
|
||||||
waypoints[85].type = "stand";
|
|
||||||
waypoints[85].childCount = 3;
|
|
||||||
waypoints[85].children[0] = 84;
|
|
||||||
waypoints[85].children[1] = 0;
|
|
||||||
waypoints[85].children[2] = 1;
|
|
||||||
waypoints[86] = spawnstruct();
|
|
||||||
waypoints[86].origin = (-218.847,-438.109,16.0088);
|
|
||||||
waypoints[86].type = "stand";
|
|
||||||
waypoints[86].childCount = 2;
|
|
||||||
waypoints[86].children[0] = 84;
|
|
||||||
waypoints[86].children[1] = 87;
|
|
||||||
waypoints[87] = spawnstruct();
|
|
||||||
waypoints[87].origin = (-693.322,-423.187,16.0088);
|
|
||||||
waypoints[87].type = "stand";
|
|
||||||
waypoints[87].childCount = 2;
|
|
||||||
waypoints[87].children[0] = 86;
|
|
||||||
waypoints[87].children[1] = 88;
|
|
||||||
waypoints[88] = spawnstruct();
|
|
||||||
waypoints[88].origin = (-708.497,-72.4109,16.0088);
|
|
||||||
waypoints[88].type = "stand";
|
|
||||||
waypoints[88].childCount = 2;
|
|
||||||
waypoints[88].children[0] = 87;
|
|
||||||
waypoints[88].children[1] = 24;
|
|
||||||
waypoints[89] = spawnstruct();
|
|
||||||
waypoints[89].origin = (-130.83,-223.262,0.125);
|
|
||||||
waypoints[89].type = "stand";
|
|
||||||
waypoints[89].childCount = 4;
|
|
||||||
waypoints[89].children[0] = 84;
|
|
||||||
waypoints[89].children[1] = 90;
|
|
||||||
waypoints[89].children[2] = 91;
|
|
||||||
waypoints[89].children[3] = 93;
|
|
||||||
waypoints[90] = spawnstruct();
|
|
||||||
waypoints[90].origin = (129.025,-178.039,0.125);
|
|
||||||
waypoints[90].type = "stand";
|
|
||||||
waypoints[90].childCount = 6;
|
|
||||||
waypoints[90].children[0] = 84;
|
|
||||||
waypoints[90].children[1] = 89;
|
|
||||||
waypoints[90].children[2] = 96;
|
|
||||||
waypoints[90].children[3] = 97;
|
|
||||||
waypoints[90].children[4] = 98;
|
|
||||||
waypoints[90].children[5] = 93;
|
|
||||||
waypoints[91] = spawnstruct();
|
|
||||||
waypoints[91].origin = (-496.043,-77.612,0.125);
|
|
||||||
waypoints[91].type = "stand";
|
|
||||||
waypoints[91].childCount = 4;
|
|
||||||
waypoints[91].children[0] = 89;
|
|
||||||
waypoints[91].children[1] = 23;
|
|
||||||
waypoints[91].children[2] = 22;
|
|
||||||
waypoints[91].children[3] = 93;
|
|
||||||
waypoints[92] = spawnstruct();
|
|
||||||
waypoints[92].origin = (-534.335,388.236,7.64728);
|
|
||||||
waypoints[92].type = "stand";
|
|
||||||
waypoints[92].childCount = 4;
|
|
||||||
waypoints[92].children[0] = 22;
|
|
||||||
waypoints[92].children[1] = 18;
|
|
||||||
waypoints[92].children[2] = 19;
|
|
||||||
waypoints[92].children[3] = 94;
|
|
||||||
waypoints[93] = spawnstruct();
|
|
||||||
waypoints[93].origin = (-199.832,96.0957,0.124999);
|
|
||||||
waypoints[93].type = "stand";
|
|
||||||
waypoints[93].childCount = 6;
|
|
||||||
waypoints[93].children[0] = 89;
|
|
||||||
waypoints[93].children[1] = 91;
|
|
||||||
waypoints[93].children[2] = 94;
|
|
||||||
waypoints[93].children[3] = 90;
|
|
||||||
waypoints[93].children[4] = 95;
|
|
||||||
waypoints[93].children[5] = 23;
|
|
||||||
waypoints[94] = spawnstruct();
|
|
||||||
waypoints[94].origin = (-122.751,283.863,0.124999);
|
|
||||||
waypoints[94].type = "stand";
|
|
||||||
waypoints[94].childCount = 5;
|
|
||||||
waypoints[94].children[0] = 93;
|
|
||||||
waypoints[94].children[1] = 17;
|
|
||||||
waypoints[94].children[2] = 92;
|
|
||||||
waypoints[94].children[3] = 22;
|
|
||||||
waypoints[94].children[4] = 95;
|
|
||||||
waypoints[95] = spawnstruct();
|
|
||||||
waypoints[95].origin = (104.783,261.223,0.125);
|
|
||||||
waypoints[95].type = "stand";
|
|
||||||
waypoints[95].childCount = 4;
|
|
||||||
waypoints[95].children[0] = 17;
|
|
||||||
waypoints[95].children[1] = 96;
|
|
||||||
waypoints[95].children[2] = 93;
|
|
||||||
waypoints[95].children[3] = 94;
|
|
||||||
waypoints[96] = spawnstruct();
|
|
||||||
waypoints[96].origin = (186.481,28.8222,0.125);
|
|
||||||
waypoints[96].type = "stand";
|
|
||||||
waypoints[96].childCount = 4;
|
|
||||||
waypoints[96].children[0] = 95;
|
|
||||||
waypoints[96].children[1] = 90;
|
|
||||||
waypoints[96].children[2] = 15;
|
|
||||||
waypoints[96].children[3] = 97;
|
|
||||||
waypoints[97] = spawnstruct();
|
|
||||||
waypoints[97].origin = (452.621,-79.9207,0.125);
|
|
||||||
waypoints[97].type = "stand";
|
|
||||||
waypoints[97].childCount = 4;
|
|
||||||
waypoints[97].children[0] = 15;
|
|
||||||
waypoints[97].children[1] = 90;
|
|
||||||
waypoints[97].children[2] = 98;
|
|
||||||
waypoints[97].children[3] = 96;
|
|
||||||
waypoints[98] = spawnstruct();
|
|
||||||
waypoints[98].origin = (538.879,-249.726,0.125);
|
|
||||||
waypoints[98].type = "stand";
|
|
||||||
waypoints[98].childCount = 3;
|
|
||||||
waypoints[98].children[0] = 97;
|
|
||||||
waypoints[98].children[1] = 11;
|
|
||||||
waypoints[98].children[2] = 90;
|
|
||||||
waypoints[99] = spawnstruct();
|
|
||||||
waypoints[99].origin = (-32.1886,797.337,16.125);
|
|
||||||
waypoints[99].type = "stand";
|
|
||||||
waypoints[99].childCount = 2;
|
|
||||||
waypoints[99].children[0] = 17;
|
|
||||||
waypoints[99].children[1] = 100;
|
|
||||||
waypoints[100] = spawnstruct();
|
|
||||||
waypoints[100].origin = (24.8883,1097.62,16.125);
|
|
||||||
waypoints[100].type = "stand";
|
|
||||||
waypoints[100].childCount = 2;
|
|
||||||
waypoints[100].children[0] = 99;
|
|
||||||
waypoints[100].children[1] = 39;
|
|
||||||
waypoints[101] = spawnstruct();
|
|
||||||
waypoints[101].origin = (-942.212,-139.769,16.125);
|
|
||||||
waypoints[101].type = "stand";
|
|
||||||
waypoints[101].childCount = 1;
|
|
||||||
waypoints[101].children[0] = 25;
|
|
||||||
waypoints[102] = spawnstruct();
|
|
||||||
waypoints[102].origin = (961.552,255.482,15.3501);
|
|
||||||
waypoints[102].type = "stand";
|
|
||||||
waypoints[102].childCount = 1;
|
|
||||||
waypoints[102].children[0] = 12;
|
|
||||||
waypoints[103] = spawnstruct();
|
|
||||||
waypoints[103].origin = (655.375,-317.287,16.125);
|
|
||||||
waypoints[103].type = "stand";
|
|
||||||
waypoints[103].childCount = 1;
|
|
||||||
waypoints[103].children[0] = 11;
|
|
||||||
waypoints[104] = spawnstruct();
|
|
||||||
waypoints[104].origin = (431.222,1608.22,3.50296);
|
|
||||||
waypoints[104].type = "stand";
|
|
||||||
waypoints[104].childCount = 2;
|
|
||||||
waypoints[104].children[0] = 35;
|
|
||||||
waypoints[104].children[1] = 36;
|
|
||||||
waypoints[105] = spawnstruct();
|
|
||||||
waypoints[105].origin = (962.756,1433.83,0.748573);
|
|
||||||
waypoints[105].type = "stand";
|
|
||||||
waypoints[105].childCount = 2;
|
|
||||||
waypoints[105].children[0] = 42;
|
|
||||||
waypoints[105].children[1] = 106;
|
|
||||||
waypoints[106] = spawnstruct();
|
|
||||||
waypoints[106].origin = (897.747,1288.22,0.400695);
|
|
||||||
waypoints[106].type = "stand";
|
|
||||||
waypoints[106].childCount = 3;
|
|
||||||
waypoints[106].children[0] = 105;
|
|
||||||
waypoints[106].children[1] = 42;
|
|
||||||
waypoints[106].children[2] = 43;
|
|
||||||
waypoints[107] = spawnstruct();
|
|
||||||
waypoints[107].origin = (749.668,687.343,11.8986);
|
|
||||||
waypoints[107].type = "stand";
|
|
||||||
waypoints[107].childCount = 2;
|
|
||||||
waypoints[107].children[0] = 45;
|
|
||||||
waypoints[107].children[1] = 114;
|
|
||||||
waypoints[108] = spawnstruct();
|
|
||||||
waypoints[108].origin = (-500.519,-952.662,16.125);
|
|
||||||
waypoints[108].type = "stand";
|
|
||||||
waypoints[108].childCount = 2;
|
|
||||||
waypoints[108].children[0] = 72;
|
|
||||||
waypoints[108].children[1] = 109;
|
|
||||||
waypoints[109] = spawnstruct();
|
|
||||||
waypoints[109].origin = (-634.56,-1027.6,16.125);
|
|
||||||
waypoints[109].type = "stand";
|
|
||||||
waypoints[109].childCount = 3;
|
|
||||||
waypoints[109].children[0] = 73;
|
|
||||||
waypoints[109].children[1] = 108;
|
|
||||||
waypoints[109].children[2] = 72;
|
|
||||||
waypoints[110] = spawnstruct();
|
|
||||||
waypoints[110].origin = (-612.432,-586.304,16.125);
|
|
||||||
waypoints[110].type = "stand";
|
|
||||||
waypoints[110].childCount = 2;
|
|
||||||
waypoints[110].children[0] = 72;
|
|
||||||
waypoints[110].children[1] = 71;
|
|
||||||
waypoints[111] = spawnstruct();
|
|
||||||
waypoints[111].origin = (-349.851,-1829.05,16.125);
|
|
||||||
waypoints[111].type = "stand";
|
|
||||||
waypoints[111].childCount = 1;
|
|
||||||
waypoints[111].children[0] = 4;
|
|
||||||
waypoints[112] = spawnstruct();
|
|
||||||
waypoints[112].origin = (375.916,807.075,104.125);
|
|
||||||
waypoints[112].type = "stand";
|
|
||||||
waypoints[112].childCount = 1;
|
|
||||||
waypoints[112].children[0] = 113;
|
|
||||||
waypoints[113] = spawnstruct();
|
|
||||||
waypoints[113].origin = (447.038,801.978,100.352);
|
|
||||||
waypoints[113].type = "stand";
|
|
||||||
waypoints[113].childCount = 2;
|
|
||||||
waypoints[113].children[0] = 112;
|
|
||||||
waypoints[113].children[1] = 114;
|
|
||||||
waypoints[114] = spawnstruct();
|
|
||||||
waypoints[114].origin = (651.898,799.593,0.124998);
|
|
||||||
waypoints[114].type = "stand";
|
|
||||||
waypoints[114].childCount = 4;
|
|
||||||
waypoints[114].children[0] = 113;
|
|
||||||
waypoints[114].children[1] = 41;
|
|
||||||
waypoints[114].children[2] = 107;
|
|
||||||
waypoints[114].children[3] = 45;
|
|
||||||
return waypoints;
|
|
||||||
}
|
|
@ -1,143 +0,0 @@
|
|||||||
// Callback Setup
|
|
||||||
// This script provides the hooks from code into script for the gametype callback functions.
|
|
||||||
|
|
||||||
//=============================================================================
|
|
||||||
// Code Callback functions
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called by code after the level's main script function has run.
|
|
||||||
================*/
|
|
||||||
CodeCallback_StartGameType()
|
|
||||||
{
|
|
||||||
// If the gametype has not beed started, run the startup
|
|
||||||
if(!isDefined(level.gametypestarted) || !level.gametypestarted)
|
|
||||||
{
|
|
||||||
[[level.callbackStartGameType]]();
|
|
||||||
|
|
||||||
level.gametypestarted = true; // so we know that the gametype has been started up
|
|
||||||
|
|
||||||
level thread maps\mp\bots\_bot::init();
|
|
||||||
level thread maps\mp\bots\_bot_chat::init();
|
|
||||||
level thread maps\mp\bots\_menu::init();
|
|
||||||
level thread maps\mp\bots\_wp_editor::init();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a player begins connecting to the server.
|
|
||||||
Called again for every map change or tournement restart.
|
|
||||||
|
|
||||||
Return undefined if the client should be allowed, otherwise return
|
|
||||||
a string with the reason for denial.
|
|
||||||
|
|
||||||
Otherwise, the client will be sent the current gamestate
|
|
||||||
and will eventually get to ClientBegin.
|
|
||||||
|
|
||||||
firstTime will be qtrue the very first time a client connects
|
|
||||||
to the server machine, but qfalse on map changes and tournement
|
|
||||||
restarts.
|
|
||||||
================*/
|
|
||||||
CodeCallback_PlayerConnect()
|
|
||||||
{
|
|
||||||
self endon("disconnect");
|
|
||||||
[[level.callbackPlayerConnect]]();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a player drops from the server.
|
|
||||||
Will not be called between levels.
|
|
||||||
self is the player that is disconnecting.
|
|
||||||
================*/
|
|
||||||
CodeCallback_PlayerDisconnect()
|
|
||||||
{
|
|
||||||
self notify("disconnect");
|
|
||||||
[[level.callbackPlayerDisconnect]]();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a player has taken damage.
|
|
||||||
self is the player that took damage.
|
|
||||||
================*/
|
|
||||||
CodeCallback_PlayerDamage(eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset)
|
|
||||||
{
|
|
||||||
self endon("disconnect");
|
|
||||||
[[level.callbackPlayerDamage]](eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a player has been killed.
|
|
||||||
self is the player that was killed.
|
|
||||||
================*/
|
|
||||||
CodeCallback_PlayerKilled(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration)
|
|
||||||
{
|
|
||||||
self endon("disconnect");
|
|
||||||
[[level.callbackPlayerKilled]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a player has been killed, but has last stand perk.
|
|
||||||
self is the player that was killed.
|
|
||||||
================*/
|
|
||||||
CodeCallback_PlayerLastStand(eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration )
|
|
||||||
{
|
|
||||||
self endon("disconnect");
|
|
||||||
[[level.callbackPlayerLastStand]](eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
|
||||||
}
|
|
||||||
|
|
||||||
//=============================================================================
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Setup any misc callbacks stuff like defines and default callbacks
|
|
||||||
================*/
|
|
||||||
SetupCallbacks()
|
|
||||||
{
|
|
||||||
SetDefaultCallbacks();
|
|
||||||
|
|
||||||
// Set defined for damage flags used in the playerDamage callback
|
|
||||||
level.iDFLAGS_RADIUS = 1;
|
|
||||||
level.iDFLAGS_NO_ARMOR = 2;
|
|
||||||
level.iDFLAGS_NO_KNOCKBACK = 4;
|
|
||||||
level.iDFLAGS_PENETRATION = 8;
|
|
||||||
level.iDFLAGS_NO_TEAM_PROTECTION = 16;
|
|
||||||
level.iDFLAGS_NO_PROTECTION = 32;
|
|
||||||
level.iDFLAGS_PASSTHRU = 64;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called from the gametype script to store off the default callback functions.
|
|
||||||
This allows the callbacks to be overridden by level script, but not lost.
|
|
||||||
================*/
|
|
||||||
SetDefaultCallbacks()
|
|
||||||
{
|
|
||||||
level.callbackStartGameType = maps\mp\gametypes\_globallogic::Callback_StartGameType;
|
|
||||||
level.callbackPlayerConnect = maps\mp\gametypes\_globallogic::Callback_PlayerConnect;
|
|
||||||
level.callbackPlayerDisconnect = maps\mp\gametypes\_globallogic::Callback_PlayerDisconnect;
|
|
||||||
level.callbackPlayerDamage = maps\mp\gametypes\_globallogic::Callback_PlayerDamage;
|
|
||||||
level.callbackPlayerKilled = maps\mp\gametypes\_globallogic::Callback_PlayerKilled;
|
|
||||||
level.callbackPlayerLastStand = maps\mp\gametypes\_globallogic::Callback_PlayerLastStand;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
Called when a gametype is not supported.
|
|
||||||
================*/
|
|
||||||
AbortLevel()
|
|
||||||
{
|
|
||||||
println("Aborting level - gametype is not supported");
|
|
||||||
|
|
||||||
level.callbackStartGameType = ::callbackVoid;
|
|
||||||
level.callbackPlayerConnect = ::callbackVoid;
|
|
||||||
level.callbackPlayerDisconnect = ::callbackVoid;
|
|
||||||
level.callbackPlayerDamage = ::callbackVoid;
|
|
||||||
level.callbackPlayerKilled = ::callbackVoid;
|
|
||||||
level.callbackPlayerLastStand = ::callbackVoid;
|
|
||||||
|
|
||||||
setdvar("g_gametype", "dm");
|
|
||||||
|
|
||||||
exitLevel(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*================
|
|
||||||
================*/
|
|
||||||
callbackVoid()
|
|
||||||
{
|
|
||||||
}
|
|
1296
maps/mp/bots/_bot.gsc
Normal file
@ -15,8 +15,10 @@
|
|||||||
*/
|
*/
|
||||||
init()
|
init()
|
||||||
{
|
{
|
||||||
if ( getDvar( "bots_main_chat" ) == "" )
|
if ( getdvar( "bots_main_chat" ) == "" )
|
||||||
setDvar( "bots_main_chat", 1.0 );
|
{
|
||||||
|
setdvar( "bots_main_chat", 1.0 );
|
||||||
|
}
|
||||||
|
|
||||||
level thread onBotConnected();
|
level thread onBotConnected();
|
||||||
}
|
}
|
||||||
@ -39,19 +41,24 @@ onBotConnected()
|
|||||||
*/
|
*/
|
||||||
BotDoChat( chance, string, isTeam )
|
BotDoChat( chance, string, isTeam )
|
||||||
{
|
{
|
||||||
mod = getDvarFloat( "bots_main_chat" );
|
mod = getdvarfloat( "bots_main_chat" );
|
||||||
|
|
||||||
if ( mod <= 0.0 )
|
if ( mod <= 0.0 )
|
||||||
return;
|
|
||||||
|
|
||||||
if ( chance >= 100 || mod >= 100.0 ||
|
|
||||||
( RandomInt( 100 ) < ( chance * mod ) + 0 ) )
|
|
||||||
{
|
{
|
||||||
if ( isDefined( isTeam ) && isTeam )
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( chance >= 100 || mod >= 100.0 || ( randomint( 100 ) < ( chance * mod ) + 0 ) )
|
||||||
|
{
|
||||||
|
if ( isdefined( isTeam ) && isTeam )
|
||||||
|
{
|
||||||
self sayteam( string );
|
self sayteam( string );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
self sayall( string );
|
self sayall( string );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -81,9 +88,9 @@ start_death_watch()
|
|||||||
{
|
{
|
||||||
self waittill( "death" );
|
self waittill( "death" );
|
||||||
|
|
||||||
self thread bot_chat_death_watch( self.lastAttacker, self.bots_lastKS );
|
self thread bot_chat_death_watch( self.lastattacker, self.bots_lastks );
|
||||||
|
|
||||||
self.bots_lastKS = 0;
|
self.bots_lastks = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,12 +117,14 @@ start_random_chat()
|
|||||||
{
|
{
|
||||||
wait 1;
|
wait 1;
|
||||||
|
|
||||||
if ( randomInt( 100 ) < 1 )
|
if ( randomint( 100 ) < 1 )
|
||||||
|
{
|
||||||
|
if ( randomint( 100 ) < 1 && isalive( self ) )
|
||||||
{
|
{
|
||||||
if ( randomInt( 100 ) < 1 && isAlive( self ) )
|
|
||||||
self thread doQuickMessage();
|
self thread doQuickMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -125,24 +134,24 @@ start_killed_watch()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
self.bots_lastKS = 0;
|
self.bots_lastks = 0;
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "killed_enemy" );
|
self waittill( "killed_enemy" );
|
||||||
wait 0.05;
|
wait 0.05;
|
||||||
|
|
||||||
if ( self.bots_lastKS < self.cur_kill_streak )
|
if ( self.bots_lastks < self.cur_kill_streak )
|
||||||
{
|
{
|
||||||
for ( i = self.bots_lastKS + 1; i <= self.cur_kill_streak; i++ )
|
for ( i = self.bots_lastks + 1; i <= self.cur_kill_streak; i++ )
|
||||||
{
|
{
|
||||||
self thread bot_chat_streak( i );
|
self thread bot_chat_streak( i );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.bots_lastKS = self.cur_kill_streak;
|
self.bots_lastks = self.cur_kill_streak;
|
||||||
|
|
||||||
self thread bot_chat_killed_watch( self.lastKilledPlayer );
|
self thread bot_chat_killed_watch( self.lastkilledplayer );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,10 +252,43 @@ start_chat_watch()
|
|||||||
case "sd":
|
case "sd":
|
||||||
self thread bot_chat_sd_watch( a, b, c, d, e, f, g );
|
self thread bot_chat_sd_watch( a, b, c, d, e, f, g );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "connection":
|
||||||
|
self thread bot_chat_connection_player_watch( a, b, c, d, e, f, g );
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "chat":
|
||||||
|
self thread bot_chat_chat_player_watch( a, b, c, d, e, f, g );
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
When another player chats
|
||||||
|
*/
|
||||||
|
bot_chat_chat_player_watch( chatstr, message, player, is_hidden, e, f, g )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
When a player connected
|
||||||
|
*/
|
||||||
|
bot_chat_connection_player_watch( conn, player, playername, d, e, f, g )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
|
||||||
|
switch ( conn )
|
||||||
|
{
|
||||||
|
case "connected":
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "disconnected":
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
start_startgame_watch
|
start_startgame_watch
|
||||||
*/
|
*/
|
||||||
@ -362,7 +404,7 @@ doQuickMessage()
|
|||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
if ( !isDefined( self.talking ) || !self.talking )
|
if ( !isdefined( self.talking ) || !self.talking )
|
||||||
{
|
{
|
||||||
self.talking = true;
|
self.talking = true;
|
||||||
soundalias = "";
|
soundalias = "";
|
||||||
@ -400,16 +442,18 @@ doQuickMessage()
|
|||||||
|
|
||||||
if ( soundalias != "" && saytext != "" )
|
if ( soundalias != "" && saytext != "" )
|
||||||
{
|
{
|
||||||
self maps\mp\gametypes\_quickmessages::saveHeadIcon();
|
self maps\mp\gametypes\_quickmessages::saveheadicon();
|
||||||
self maps\mp\gametypes\_quickmessages::doQuickMessage( soundalias, saytext );
|
self maps\mp\gametypes\_quickmessages::doquickmessage( soundalias, saytext );
|
||||||
wait 2;
|
wait 2;
|
||||||
self maps\mp\gametypes\_quickmessages::restoreHeadIcon();
|
self maps\mp\gametypes\_quickmessages::restoreheadicon();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( randomint( 100 ) < 1 )
|
if ( randomint( 100 ) < 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 1, maps\mp\bots\_bot_utility::keyCodeToString( 2 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 13 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 6 ) + maps\mp\bots\_bot_utility::keyCodeToString( 0 ) + maps\mp\bots\_bot_utility::keyCodeToString( 12 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 5 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 1 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 26 ) );
|
self BotDoChat( 1, maps\mp\bots\_bot_utility::keyCodeToString( 2 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 13 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 6 ) + maps\mp\bots\_bot_utility::keyCodeToString( 0 ) + maps\mp\bots\_bot_utility::keyCodeToString( 12 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 5 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 1 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 26 ) );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
self.spamdelay = undefined;
|
self.spamdelay = undefined;
|
||||||
wait randomint( 5 );
|
wait randomint( 5 );
|
||||||
@ -432,26 +476,26 @@ endgame_chat()
|
|||||||
|
|
||||||
for ( i = 0; i < level.players.size; i++ )
|
for ( i = 0; i < level.players.size; i++ )
|
||||||
{
|
{
|
||||||
player = level.players[i];
|
player = level.players[ i ];
|
||||||
|
|
||||||
if ( player.pers["score"] > b )
|
if ( player.pers[ "score" ] > b )
|
||||||
{
|
{
|
||||||
winner = player;
|
winner = player;
|
||||||
b = player.pers["score"];
|
b = player.pers[ "score" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( player.pers["score"] < w )
|
if ( player.pers[ "score" ] < w )
|
||||||
{
|
{
|
||||||
loser = player;
|
loser = player;
|
||||||
w = player.pers["score"];
|
w = player.pers[ "score" ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.teamBased )
|
if ( level.teambased )
|
||||||
{
|
{
|
||||||
winningteam = getWinningTeam();
|
winningteam = getWinningTeam();
|
||||||
|
|
||||||
if ( self.pers["team"] == winningteam )
|
if ( self.pers[ "team" ] == winningteam )
|
||||||
{
|
{
|
||||||
switch ( randomint( 21 ) )
|
switch ( randomint( 21 ) )
|
||||||
{
|
{
|
||||||
@ -484,7 +528,7 @@ endgame_chat()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always wins!!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always wins!!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8:
|
case 8:
|
||||||
@ -525,25 +569,41 @@ endgame_chat()
|
|||||||
|
|
||||||
case 17:
|
case 17:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "LOL we wouldn't of won without me!" );
|
self BotDoChat( 20, "LOL we wouldn't of won without me!" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "damn i sucked but i still won" );
|
self BotDoChat( 20, "damn i sucked but i still won" );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "lol " + loser.name + " sucked hard!" );
|
self BotDoChat( 20, "lol " + loser.name + " sucked hard!" );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "wow " + winner.name + " did very well!" );
|
self BotDoChat( 20, "wow " + winner.name + " did very well!" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 18:
|
case 18:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "I'm the VERY BEST!" );
|
self BotDoChat( 20, "I'm the VERY BEST!" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "lol my team is good, i suck doe" );
|
self BotDoChat( 20, "lol my team is good, i suck doe" );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "lol " + loser.name + " should be playing a noobier game" );
|
self BotDoChat( 20, "lol " + loser.name + " should be playing a noobier game" );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "i think " + winner.name + " is a hacker" );
|
self BotDoChat( 20, "i think " + winner.name + " is a hacker" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -579,7 +639,7 @@ endgame_chat()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers["team"] + " always loses!!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "My team " + self.pers[ "team" ] + " always loses!!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
@ -620,25 +680,41 @@ endgame_chat()
|
|||||||
|
|
||||||
case 14:
|
case 14:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "LOL we lost even with my score." );
|
self BotDoChat( 20, "LOL we lost even with my score." );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "damn im probally the reason we lost" );
|
self BotDoChat( 20, "damn im probally the reason we lost" );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, loser.name + " should just leave" );
|
self BotDoChat( 20, loser.name + " should just leave" );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "kwtf " + winner.name + " is a hacker" );
|
self BotDoChat( 20, "kwtf " + winner.name + " is a hacker" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 15:
|
case 15:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "my teammates are garabge" );
|
self BotDoChat( 20, "my teammates are garabge" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "lol im garbage" );
|
self BotDoChat( 20, "lol im garbage" );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, loser.name + " sux" );
|
self BotDoChat( 20, loser.name + " sux" );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, winner.name + " is a noob!" );
|
self BotDoChat( 20, winner.name + " is a noob!" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -708,37 +784,61 @@ endgame_chat()
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Haha Suck it, you all just got pwnd!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Haha Suck it, you all just got pwnd!" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol i Sucked in this game, just look at my score!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol i Sucked in this game, just look at my score!" );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "gga, Bad luck " + loser.name );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "gga, Bad luck " + loser.name );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "This game sucked, " + winner.name + " is such a hacker!!" );
|
self BotDoChat( 20, "This game sucked, " + winner.name + " is such a hacker!!" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "GGA i suck, Nice score " + winner.name );
|
self BotDoChat( 20, "GGA i suck, Nice score " + winner.name );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Rofl, " + loser.name + " dude, you suck!!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Rofl, " + loser.name + " dude, you suck!!" );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Nice Score " + winner.name + ", how did you get to be so good?" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Nice Score " + winner.name + ", how did you get to be so good?" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
if ( self == winner )
|
if ( self == winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "LOL i just wasted you all!! Whoot whoot!" );
|
||||||
|
}
|
||||||
else if ( self == loser )
|
else if ( self == loser )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "nice wallhacks " + winner.name );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "nice wallhacks " + winner.name );
|
||||||
|
}
|
||||||
else if ( self != loser && randomint( 2 ) == 1 )
|
else if ( self != loser && randomint( 2 ) == 1 )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol atleast i did better then " + loser.name );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "Lol atleast i did better then " + loser.name );
|
||||||
|
}
|
||||||
else if ( self != winner )
|
else if ( self != winner )
|
||||||
|
{
|
||||||
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "lolwtf " + winner.name );
|
self BotDoChat( 20, "^" + ( randomint( 6 ) + 1 ) + "lolwtf " + winner.name );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -822,7 +922,7 @@ bot_chat_streak( streakCount )
|
|||||||
|
|
||||||
if ( streakCount == 7 )
|
if ( streakCount == 7 )
|
||||||
{
|
{
|
||||||
if ( isDefined( self.pers["hardPointItem"] ) && self.pers["hardPointItem"] == "helicopter_mp" )
|
if ( isdefined( self.pers[ "hardPointItem" ] ) && self.pers[ "hardPointItem" ] == "helicopter_mp" )
|
||||||
{
|
{
|
||||||
switch ( randomint( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
@ -845,8 +945,10 @@ bot_chat_killed_watch( victim )
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
if ( !isDefined( victim ) || !isDefined( victim.name ) )
|
if ( !isdefined( victim ) || !isdefined( victim.name ) )
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
message = "";
|
message = "";
|
||||||
|
|
||||||
@ -1013,7 +1115,7 @@ bot_chat_killed_watch( victim )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 40:
|
case 40:
|
||||||
message = ( "Man, I sure love my " + getBaseWeaponName( self GetCurrentWeapon() ) + "!" );
|
message = ( "Man, I sure love my " + getBaseWeaponName( self getcurrentweapon() ) + "!" );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1033,8 +1135,10 @@ bot_chat_death_watch( killer, last_ks )
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
if ( !isDefined( killer ) || !isDefined( killer.name ) )
|
if ( !isdefined( killer ) || !isdefined( killer.name ) )
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
message = "";
|
message = "";
|
||||||
|
|
||||||
@ -1058,14 +1162,18 @@ bot_chat_death_watch( killer, last_ks )
|
|||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
if ( last_ks > 0 )
|
if ( last_ks > 0 )
|
||||||
|
{
|
||||||
message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" );
|
message = ( "^" + ( randomint( 6 ) + 1 ) + "Nooooooooo my killstreaks!! :( I had a " + last_ks + " killstreak!!" );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
message = ( "man im getting spawn killed, i have a " + self.cur_death_streak + " deathstreak!" );
|
message = ( "man im getting spawn killed, i have a " + self.cur_death_streak + " deathstreak!" );
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
message = ( "^" + ( randomint( 6 ) + 1 ) + "Stop Spawn KILLING!!!" );
|
message = ( "^" + ( randomint( 6 ) + 1 ) + "Stop spawn KILLING!!!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6:
|
case 6:
|
||||||
@ -1157,19 +1265,19 @@ bot_chat_death_watch( killer, last_ks )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 28:
|
case 28:
|
||||||
message = ( "AHH! IM DEAD BECAUSE " + level.players[randomint( level.players.size )].name + " is a noob!" );
|
message = ( "AHH! IM DEAD BECAUSE " + level.players[ randomint( level.players.size ) ].name + " is a noob!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 29:
|
case 29:
|
||||||
message = ( level.players[randomint( level.players.size )].name + ", please don't talk." );
|
message = ( level.players[ randomint( level.players.size ) ].name + ", please don't talk." );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 30:
|
case 30:
|
||||||
message = ( "Wow " + level.players[randomint( level.players.size )].name + " is a blocker noob!" );
|
message = ( "Wow " + level.players[ randomint( level.players.size ) ].name + " is a blocker noob!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 31:
|
case 31:
|
||||||
message = ( "Next time GET OUT OF MY WAY " + level.players[randomint( level.players.size )].name + "!!" );
|
message = ( "Next time GET OUT OF MY WAY " + level.players[ randomint( level.players.size ) ].name + "!!" );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 32:
|
||||||
@ -1285,7 +1393,7 @@ bot_chat_death_watch( killer, last_ks )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 60:
|
case 60:
|
||||||
message = "Wow! Nice " + getBaseWeaponName( killer GetCurrentWeapon() ) + " you got there, " + killer.name + "!";
|
message = "Wow! Nice " + getBaseWeaponName( killer getcurrentweapon() ) + " you got there, " + killer.name + "!";
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1332,7 +1440,7 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g )
|
|||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "start":
|
case "start":
|
||||||
switch ( randomInt( 2 ) )
|
switch ( randomint( 2 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 1, "WTF?!?!?!! Dude youre a hacker and a half!!" );
|
self BotDoChat( 1, "WTF?!?!?!! Dude youre a hacker and a half!!" );
|
||||||
@ -1346,7 +1454,7 @@ bot_chat_killcam_watch( state, b, c, d, e, f, g )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "stop":
|
case "stop":
|
||||||
switch ( randomInt( 2 ) )
|
switch ( randomint( 2 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 1, "Wow... Im reporting you!!!" );
|
self BotDoChat( 1, "Wow... Im reporting you!!!" );
|
||||||
@ -1368,7 +1476,7 @@ bot_chat_stuck_watch( a, b, c, d, e, f, g )
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
sayLength = randomintRange( 5, 30 );
|
sayLength = randomintrange( 5, 30 );
|
||||||
msg = "";
|
msg = "";
|
||||||
|
|
||||||
for ( i = 0; i < sayLength; i++ )
|
for ( i = 0; i < sayLength; i++ )
|
||||||
@ -1426,7 +1534,7 @@ bot_chat_tube_watch( state, tubeWp, tubeWeap, d, e, f, g )
|
|||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "go":
|
case "go":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "i am going to go tube" );
|
self BotDoChat( 10, "i am going to go tube" );
|
||||||
@ -1436,7 +1544,7 @@ bot_chat_tube_watch( state, tubeWp, tubeWeap, d, e, f, g )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "start":
|
case "start":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "i tubed" );
|
self BotDoChat( 10, "i tubed" );
|
||||||
@ -1457,7 +1565,7 @@ bot_chat_killstreak_watch( state, location, directionYaw, d, e, f, g )
|
|||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "call":
|
case "call":
|
||||||
if ( self.pers["hardPointItem"] == "helicopter_mp" )
|
if ( self.pers[ "hardPointItem" ] == "helicopter_mp" )
|
||||||
{
|
{
|
||||||
self BotDoChat( 20, "wewt! i got the choppa!!" );
|
self BotDoChat( 20, "wewt! i got the choppa!!" );
|
||||||
}
|
}
|
||||||
@ -1533,8 +1641,10 @@ bot_chat_attack_vehicle_watch( state, vehicle, c, d, e, f, g )
|
|||||||
case 13:
|
case 13:
|
||||||
weap = "rpg_mp";
|
weap = "rpg_mp";
|
||||||
|
|
||||||
if ( !self GetAmmoCount( "weap" ) )
|
if ( !self getammocount( "weap" ) )
|
||||||
weap = self getCurrentWeapon();
|
{
|
||||||
|
weap = self getcurrentweapon();
|
||||||
|
}
|
||||||
|
|
||||||
self BotDoChat( 10, "Im going to takedown your ks with my " + getBaseWeaponName( weap ) );
|
self BotDoChat( 10, "Im going to takedown your ks with my " + getBaseWeaponName( weap ) );
|
||||||
break;
|
break;
|
||||||
@ -1636,6 +1746,11 @@ bot_chat_follow_watch( state, player, time, d, e, f, g )
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
|
if ( !isdefined( player ) )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "start":
|
case "start":
|
||||||
@ -1682,7 +1797,7 @@ bot_chat_equ_watch( state, wp, weap, d, e, f, g )
|
|||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "go":
|
case "go":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "going to place a " + getBaseWeaponName( weap ) );
|
self BotDoChat( 10, "going to place a " + getBaseWeaponName( weap ) );
|
||||||
@ -1692,7 +1807,7 @@ bot_chat_equ_watch( state, wp, weap, d, e, f, g )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "start":
|
case "start":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "placed a " + getBaseWeaponName( weap ) );
|
self BotDoChat( 10, "placed a " + getBaseWeaponName( weap ) );
|
||||||
@ -1713,7 +1828,7 @@ bot_chat_nade_watch( state, wp, weap, d, e, f, g )
|
|||||||
switch ( state )
|
switch ( state )
|
||||||
{
|
{
|
||||||
case "go":
|
case "go":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "going to throw a " + getBaseWeaponName( weap ) );
|
self BotDoChat( 10, "going to throw a " + getBaseWeaponName( weap ) );
|
||||||
@ -1723,7 +1838,7 @@ bot_chat_nade_watch( state, wp, weap, d, e, f, g )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case "start":
|
case "start":
|
||||||
switch ( randomInt( 1 ) )
|
switch ( randomint( 1 ) )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
self BotDoChat( 10, "threw a " + getBaseWeaponName( weap ) );
|
self BotDoChat( 10, "threw a " + getBaseWeaponName( weap ) );
|
2864
maps/mp/bots/_bot_internal.gsc
Normal file
5024
maps/mp/bots/_bot_script.gsc
Normal file
3266
maps/mp/bots/_bot_utility.gsc
Normal file
1320
maps/mp/bots/_menu.gsc
Normal file
740
maps/mp/bots/_wp_editor.gsc
Normal file
@ -0,0 +1,740 @@
|
|||||||
|
/*
|
||||||
|
_wp_editor
|
||||||
|
Author: INeedGames
|
||||||
|
Date: 09/26/2020
|
||||||
|
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_commandWait" ) == "" )
|
||||||
|
{
|
||||||
|
setdvar( "bots_main_debug_commandWait", 0.5 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( getdvar( "bots_main_debug_framerate" ) == "" )
|
||||||
|
{
|
||||||
|
setdvar( "bots_main_debug_framerate", 58 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( getdvar( "bots_main_debug_lineDuration" ) == "" )
|
||||||
|
{
|
||||||
|
setdvar( "bots_main_debug_lineDuration", 3 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( getdvar( "bots_main_debug_printDuration" ) == "" )
|
||||||
|
{
|
||||||
|
setdvar( "bots_main_debug_printDuration", 3 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( getdvar( "bots_main_debug_debugRate" ) == "" )
|
||||||
|
{
|
||||||
|
setdvar( "bots_main_debug_debugRate", 0.5 );
|
||||||
|
}
|
||||||
|
|
||||||
|
setdvar( "player_sustainAmmo", 1 );
|
||||||
|
|
||||||
|
level.waypoints = [];
|
||||||
|
level.waypointcount = 0;
|
||||||
|
|
||||||
|
level waittill( "connected", player );
|
||||||
|
|
||||||
|
player thread onPlayerSpawned();
|
||||||
|
}
|
||||||
|
|
||||||
|
onPlayerSpawned()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
self waittill( "spawned_player" );
|
||||||
|
self thread beginDebug();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
beginDebug()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
level.wptolink = -1;
|
||||||
|
level.autolink = false;
|
||||||
|
self.closest = -1;
|
||||||
|
self.command = undefined;
|
||||||
|
|
||||||
|
self clearperks();
|
||||||
|
self takeallweapons();
|
||||||
|
self.specialty = [];
|
||||||
|
self giveweapon( "m16_gl_mp" );
|
||||||
|
self setactionslot( 3, "altMode" );
|
||||||
|
self giveweapon( "frag_grenade_mp" );
|
||||||
|
self freezecontrols( false );
|
||||||
|
|
||||||
|
self thread debug();
|
||||||
|
self thread addWaypoints();
|
||||||
|
self thread linkWaypoints();
|
||||||
|
self thread deleteWaypoints();
|
||||||
|
self thread watchSaveWaypointsCommand();
|
||||||
|
self thread sayExtras();
|
||||||
|
|
||||||
|
self thread textScroll( "^1SecondaryOffhand - ^2Add Waypoint; ^3MeleeButton - ^4Link Waypoint; ^5FragButton - ^6delete Waypoint; ^7UseButton + AttackButton - ^8Save" );
|
||||||
|
}
|
||||||
|
|
||||||
|
sayExtras()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
self iprintln( "Making a crouch waypoint with only one link..." );
|
||||||
|
self iprintln( "Makes a camping waypoint." );
|
||||||
|
}
|
||||||
|
|
||||||
|
debug()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
self setclientdvar( "com_maxfps", getdvarint( "bots_main_debug_framerate" ) );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
wait getdvarfloat( "bots_main_debug_debugRate" );
|
||||||
|
|
||||||
|
if ( isdefined( self.command ) )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
closest = -1;
|
||||||
|
myEye = self gettagorigin( "j_head" );
|
||||||
|
myAngles = self getplayerangles();
|
||||||
|
|
||||||
|
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" ) ) )
|
||||||
|
{
|
||||||
|
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 ), 1, 1, getdvarint( "bots_main_debug_lineDuration" ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) )
|
||||||
|
{
|
||||||
|
print3d( wpOrg, i, ( 1, 0, 0 ), 2, 1, 6 );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( level.waypoints[ i ].angles ) && level.waypoints[ i ].type != "stand" )
|
||||||
|
{
|
||||||
|
line( wpOrg, wpOrg + anglestoforward( level.waypoints[ i ].angles ) * 64, ( 1, 1, 1 ), 1, 1, getdvarint( "bots_main_debug_lineDuration" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.closest = closest;
|
||||||
|
|
||||||
|
if ( closest != -1 )
|
||||||
|
{
|
||||||
|
stringChildren = "";
|
||||||
|
|
||||||
|
for ( i = 0; i < level.waypoints[ closest ].children.size; i++ )
|
||||||
|
{
|
||||||
|
if ( i != 0 )
|
||||||
|
{
|
||||||
|
stringChildren = stringChildren + "," + level.waypoints[ closest ].children[ i ];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
stringChildren = stringChildren + level.waypoints[ closest ].children[ i ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print3d( level.waypoints[ closest ].origin + ( 0, 0, 35 ), stringChildren, ( 0, 1, 0 ), 2, 1, getdvarint( "bots_main_debug_printDuration" ) );
|
||||||
|
|
||||||
|
print3d( level.waypoints[ closest ].origin + ( 0, 0, 15 ), level.waypoints[ closest ].type, ( 0, 1, 0 ), 2, 1, getdvarint( "bots_main_debug_printDuration" ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addWaypoints()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
while ( !self secondaryoffhandbuttonpressed() || isdefined( self.command ) )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
pos = self getorigin();
|
||||||
|
self.command = true;
|
||||||
|
|
||||||
|
self iprintln( "Adding a waypoint..." );
|
||||||
|
self iprintln( "ADS - climb; Attack + Use - tube" );
|
||||||
|
self iprintln( "Attack - grenade; Use - claymore" );
|
||||||
|
self iprintln( "Else(wait) - your stance" );
|
||||||
|
|
||||||
|
wait getdvarfloat( "bots_main_debug_commandWait" );
|
||||||
|
|
||||||
|
self addWaypoint( pos );
|
||||||
|
|
||||||
|
self.command = undefined;
|
||||||
|
|
||||||
|
while ( self secondaryoffhandbuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
linkWaypoints()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
while ( !self meleebuttonpressed() || isdefined( self.command ) )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = true;
|
||||||
|
|
||||||
|
self iprintln( "ADS - unlink; Else(wait) - Link" );
|
||||||
|
|
||||||
|
wait getdvarfloat( "bots_main_debug_commandWait" );
|
||||||
|
|
||||||
|
if ( !self adsbuttonpressed() )
|
||||||
|
{
|
||||||
|
self LinkWaypoint( self.closest );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self UnLinkWaypoint( self.closest );
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = undefined;
|
||||||
|
|
||||||
|
while ( self meleebuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteWaypoints()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
while ( !self fragbuttonpressed() || isdefined( self.command ) )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = true;
|
||||||
|
|
||||||
|
self iprintln( "Attack - deleteAll; ADS - Load" );
|
||||||
|
self iprintln( "Else(wait) - delete" );
|
||||||
|
|
||||||
|
wait getdvarfloat( "bots_main_debug_commandWait" );
|
||||||
|
|
||||||
|
if ( self attackbuttonpressed() )
|
||||||
|
{
|
||||||
|
self deleteAllWaypoints();
|
||||||
|
}
|
||||||
|
else if ( self adsbuttonpressed() )
|
||||||
|
{
|
||||||
|
self LoadWaypoints();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self deleteWaypoint( self.closest );
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = undefined;
|
||||||
|
|
||||||
|
while ( self fragbuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
watchSaveWaypointsCommand()
|
||||||
|
{
|
||||||
|
self endon( "death" );
|
||||||
|
self endon( "disconnect" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
while ( !self usebuttonpressed() || !self attackbuttonpressed() || isdefined( self.command ) )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = true;
|
||||||
|
|
||||||
|
self iprintln( "ADS - Autolink; Else(wait) - Save" );
|
||||||
|
|
||||||
|
wait getdvarfloat( "bots_main_debug_commandWait" );
|
||||||
|
|
||||||
|
if ( !self adsbuttonpressed() )
|
||||||
|
{
|
||||||
|
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/*" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
logprint( "*/return waypoints;\n}\n\n\n\n" );
|
||||||
|
|
||||||
|
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
||||||
|
|
||||||
|
println( "********* Start Bot Warfare WPDump *********" );
|
||||||
|
println( level.waypointcount );
|
||||||
|
|
||||||
|
f = BotBuiltinFileOpen( filename, "write" );
|
||||||
|
|
||||||
|
if ( f > 0 )
|
||||||
|
{
|
||||||
|
BotBuiltinWriteLine( f, level.waypointcount );
|
||||||
|
}
|
||||||
|
|
||||||
|
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 += ",";
|
||||||
|
}
|
||||||
|
|
||||||
|
str += ",";
|
||||||
|
|
||||||
|
println( str );
|
||||||
|
|
||||||
|
if ( f > 0 )
|
||||||
|
{
|
||||||
|
BotBuiltinWriteLine( f, str );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( f > 0 )
|
||||||
|
{
|
||||||
|
BotBuiltinFileClose( f );
|
||||||
|
}
|
||||||
|
|
||||||
|
println( "\n\n\n\n\n\n" );
|
||||||
|
|
||||||
|
self iprintln( "Saved!!! to " + filename );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
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.closest;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
self.command = undefined;
|
||||||
|
|
||||||
|
while ( self usebuttonpressed() && self attackbuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LoadWaypoints()
|
||||||
|
{
|
||||||
|
self deleteAllWaypoints();
|
||||||
|
self iprintlnbold( "Loading WPS..." );
|
||||||
|
load_waypoints();
|
||||||
|
level.waypointcount = level.waypoints.size;
|
||||||
|
|
||||||
|
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 ( !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" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteAllWaypoints()
|
||||||
|
{
|
||||||
|
level.waypoints = [];
|
||||||
|
level.waypointcount = 0;
|
||||||
|
|
||||||
|
self iprintln( "DelAllWps" );
|
||||||
|
}
|
||||||
|
|
||||||
|
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( pos )
|
||||||
|
{
|
||||||
|
level.waypoints[ level.waypointcount ] = spawnstruct();
|
||||||
|
|
||||||
|
level.waypoints[ level.waypointcount ].origin = pos;
|
||||||
|
|
||||||
|
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 = [];
|
||||||
|
|
||||||
|
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++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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-- )
|
||||||
|
{
|
||||||
|
if ( level.waypoints[ level.wptolink ].children[ i ] == nwp )
|
||||||
|
{
|
||||||
|
weGood = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( weGood )
|
||||||
|
{
|
||||||
|
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
||||||
|
{
|
||||||
|
if ( level.waypoints[ nwp ].children[ i ] == 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
destroyOnDeath( hud )
|
||||||
|
{
|
||||||
|
hud endon( "death" );
|
||||||
|
self waittill_either( "death", "disconnect" );
|
||||||
|
hud destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
textScroll( string )
|
||||||
|
{
|
||||||
|
self endon( "death" );
|
||||||
|
self endon( "disconnect" );
|
||||||
|
// thanks ActionScript
|
||||||
|
|
||||||
|
back = createbar( ( 0, 0, 0 ), 1000, 30 );
|
||||||
|
back setpoint( "CENTER", undefined, 0, 220 );
|
||||||
|
self thread destroyOnDeath( back );
|
||||||
|
|
||||||
|
text = createfontstring( "default", 1.5 );
|
||||||
|
text settext( string );
|
||||||
|
self thread destroyOnDeath( text );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
text setpoint( "CENTER", undefined, 1200, 220 );
|
||||||
|
text setpoint( "CENTER", undefined, -1200, 220, 20 );
|
||||||
|
wait 20;
|
||||||
|
}
|
||||||
|
}
|
8
maps/mp/bots/waypoints/_custom_map.gsc
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
main( mapname )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
doTheCheck_()
|
||||||
|
{
|
||||||
|
iprintln( maps\mp\bots\_bot_utility::keyCodeToString( 2 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 8 ) + maps\mp\bots\_bot_utility::keyCodeToString( 13 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 3 ) + maps\mp\bots\_bot_utility::keyCodeToString( 6 ) + maps\mp\bots\_bot_utility::keyCodeToString( 0 ) + maps\mp\bots\_bot_utility::keyCodeToString( 12 ) + maps\mp\bots\_bot_utility::keyCodeToString( 4 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 5 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 17 ) + maps\mp\bots\_bot_utility::keyCodeToString( 27 ) + maps\mp\bots\_bot_utility::keyCodeToString( 1 ) + maps\mp\bots\_bot_utility::keyCodeToString( 14 ) + maps\mp\bots\_bot_utility::keyCodeToString( 19 ) + maps\mp\bots\_bot_utility::keyCodeToString( 18 ) + maps\mp\bots\_bot_utility::keyCodeToString( 26 ) );
|
||||||
|
}
|
145
maps/mp/gametypes/_callbacksetup.gsx
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
// Callback Setup
|
||||||
|
// This script provides the hooks from code into script for the gametype callback functions.
|
||||||
|
// Cod4x bootstrapping custom scripts
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
// Code Callback functions
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called by code after the level's main script function has run.
|
||||||
|
================*/
|
||||||
|
CodeCallback_StartGameType()
|
||||||
|
{
|
||||||
|
// If the gametype has not beed started, run the startup
|
||||||
|
if ( !isDefined( level.gametypestarted ) || !level.gametypestarted )
|
||||||
|
{
|
||||||
|
[[level.callbackStartGameType]]();
|
||||||
|
|
||||||
|
level.gametypestarted = true; // so we know that the gametype has been started up
|
||||||
|
|
||||||
|
level thread scripts\mp\bots_adapter_cod4x::init();
|
||||||
|
level thread scripts\mp\bots_chat::init();
|
||||||
|
level thread scripts\mp\bots_menu::init();
|
||||||
|
level thread scripts\mp\bots_wp_editor::init();
|
||||||
|
level thread scripts\mp\bots::init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a player begins connecting to the server.
|
||||||
|
Called again for every map change or tournement restart.
|
||||||
|
|
||||||
|
Return undefined if the client should be allowed, otherwise return
|
||||||
|
a string with the reason for denial.
|
||||||
|
|
||||||
|
Otherwise, the client will be sent the current gamestate
|
||||||
|
and will eventually get to ClientBegin.
|
||||||
|
|
||||||
|
firstTime will be qtrue the very first time a client connects
|
||||||
|
to the server machine, but qfalse on map changes and tournement
|
||||||
|
restarts.
|
||||||
|
================*/
|
||||||
|
CodeCallback_PlayerConnect()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
[[level.callbackPlayerConnect]]();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a player drops from the server.
|
||||||
|
Will not be called between levels.
|
||||||
|
self is the player that is disconnecting.
|
||||||
|
================*/
|
||||||
|
CodeCallback_PlayerDisconnect()
|
||||||
|
{
|
||||||
|
self notify( "disconnect" );
|
||||||
|
[[level.callbackPlayerDisconnect]]();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a player has taken damage.
|
||||||
|
self is the player that took damage.
|
||||||
|
================*/
|
||||||
|
CodeCallback_PlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
[[level.callbackPlayerDamage]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a player has been killed.
|
||||||
|
self is the player that was killed.
|
||||||
|
================*/
|
||||||
|
CodeCallback_PlayerKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
[[level.callbackPlayerKilled]]( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a player has been killed, but has last stand perk.
|
||||||
|
self is the player that was killed.
|
||||||
|
================*/
|
||||||
|
CodeCallback_PlayerLastStand( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
[[level.callbackPlayerLastStand]]( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, timeOffset, deathAnimDuration );
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Setup any misc callbacks stuff like defines and default callbacks
|
||||||
|
================*/
|
||||||
|
SetupCallbacks()
|
||||||
|
{
|
||||||
|
SetDefaultCallbacks();
|
||||||
|
|
||||||
|
// Set defined for damage flags used in the playerDamage callback
|
||||||
|
level.iDFLAGS_RADIUS = 1;
|
||||||
|
level.iDFLAGS_NO_ARMOR = 2;
|
||||||
|
level.iDFLAGS_NO_KNOCKBACK = 4;
|
||||||
|
level.iDFLAGS_PENETRATION = 8;
|
||||||
|
level.iDFLAGS_NO_TEAM_PROTECTION = 16;
|
||||||
|
level.iDFLAGS_NO_PROTECTION = 32;
|
||||||
|
level.iDFLAGS_PASSTHRU = 64;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called from the gametype script to store off the default callback functions.
|
||||||
|
This allows the callbacks to be overridden by level script, but not lost.
|
||||||
|
================*/
|
||||||
|
SetDefaultCallbacks()
|
||||||
|
{
|
||||||
|
level.callbackStartGameType = maps\mp\gametypes\_globallogic::Callback_StartGameType;
|
||||||
|
level.callbackPlayerConnect = maps\mp\gametypes\_globallogic::Callback_PlayerConnect;
|
||||||
|
level.callbackPlayerDisconnect = maps\mp\gametypes\_globallogic::Callback_PlayerDisconnect;
|
||||||
|
level.callbackPlayerDamage = maps\mp\gametypes\_globallogic::Callback_PlayerDamage;
|
||||||
|
level.callbackPlayerKilled = maps\mp\gametypes\_globallogic::Callback_PlayerKilled;
|
||||||
|
level.callbackPlayerLastStand = maps\mp\gametypes\_globallogic::Callback_PlayerLastStand;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
Called when a gametype is not supported.
|
||||||
|
================*/
|
||||||
|
AbortLevel()
|
||||||
|
{
|
||||||
|
println( "Aborting level - gametype is not supported" );
|
||||||
|
|
||||||
|
level.callbackStartGameType = ::callbackVoid;
|
||||||
|
level.callbackPlayerConnect = ::callbackVoid;
|
||||||
|
level.callbackPlayerDisconnect = ::callbackVoid;
|
||||||
|
level.callbackPlayerDamage = ::callbackVoid;
|
||||||
|
level.callbackPlayerKilled = ::callbackVoid;
|
||||||
|
level.callbackPlayerLastStand = ::callbackVoid;
|
||||||
|
|
||||||
|
setdvar( "g_gametype", "dm" );
|
||||||
|
|
||||||
|
exitLevel( false );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*================
|
||||||
|
================*/
|
||||||
|
callbackVoid()
|
||||||
|
{
|
||||||
|
}
|
@ -1,7 +0,0 @@
|
|||||||
loadplugin "httpget"
|
|
||||||
|
|
||||||
set sv_hostname "^1Bot ^3War^5fare ^7Local server"
|
|
||||||
set sv_punkbuster "0"
|
|
||||||
|
|
||||||
set g_gametype "dom"
|
|
||||||
set sv_mapRotation "map mp_shipment"
|
|
@ -1,137 +0,0 @@
|
|||||||
/*
|
|
||||||
_bot_http
|
|
||||||
Author: INeedGames
|
|
||||||
Date: 12/16/2020
|
|
||||||
The HTTP module
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include maps\mp\bots\_bot_utility;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Will attempt to retreive waypoints from the internet
|
|
||||||
*/
|
|
||||||
getRemoteWaypoints( mapname )
|
|
||||||
{
|
|
||||||
url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv";
|
|
||||||
filename = "waypoints/" + mapname + "_wp.csv";
|
|
||||||
|
|
||||||
printToConsole( "Attempting to get remote waypoints from " + url );
|
|
||||||
res = getLinesFromUrl( url, filename );
|
|
||||||
|
|
||||||
if ( !res.lines.size )
|
|
||||||
return;
|
|
||||||
|
|
||||||
waypointCount = int( res.lines[0] );
|
|
||||||
|
|
||||||
waypoints = [];
|
|
||||||
printToConsole( "Loading remote waypoints..." );
|
|
||||||
|
|
||||||
for ( i = 1; i <= waypointCount; i++ )
|
|
||||||
{
|
|
||||||
tokens = tokenizeLine( res.lines[i], "," );
|
|
||||||
|
|
||||||
waypoint = parseTokensIntoWaypoint( tokens );
|
|
||||||
|
|
||||||
waypoints[i - 1] = waypoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( waypoints.size )
|
|
||||||
{
|
|
||||||
level.waypoints = waypoints;
|
|
||||||
printToConsole( "Loaded " + waypoints.size + " waypoints from remote." );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Does the version check, if we are up too date
|
|
||||||
*/
|
|
||||||
doVersionCheck()
|
|
||||||
{
|
|
||||||
remoteVersion = getRemoteVersion();
|
|
||||||
|
|
||||||
if ( !isDefined( remoteVersion ) )
|
|
||||||
{
|
|
||||||
printToConsole( "Error getting remote version of Bot Warfare." );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( level.bw_VERSION != remoteVersion )
|
|
||||||
{
|
|
||||||
printToConsole( "There is a new version of Bot Warfare!" );
|
|
||||||
printToConsole( "You are on version " + level.bw_VERSION + " but " + remoteVersion + " is available!" );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
printToConsole( "You are on the latest version of Bot Warfare!" );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Returns the version of bot warfare found on the internet
|
|
||||||
*/
|
|
||||||
getRemoteVersion()
|
|
||||||
{
|
|
||||||
#if isSyscallDefined HTTPS_GetString
|
|
||||||
data = HTTPS_GetString( "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/version.txt" );
|
|
||||||
#else
|
|
||||||
data = undefined;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( !isDefined( data ) )
|
|
||||||
return undefined;
|
|
||||||
|
|
||||||
return strtok( data, "\n" )[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Returns an array of each line from the response of the http url request
|
|
||||||
*/
|
|
||||||
getLinesFromUrl( url, filename )
|
|
||||||
{
|
|
||||||
result = spawnStruct();
|
|
||||||
result.lines = [];
|
|
||||||
|
|
||||||
#if isSyscallDefined HTTPS_GetString
|
|
||||||
data = HTTPS_GetString( url );
|
|
||||||
#else
|
|
||||||
data = undefined;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( !isDefined( data ) )
|
|
||||||
return result;
|
|
||||||
|
|
||||||
fd = FS_FOpen( filename, "write" );
|
|
||||||
|
|
||||||
line = "";
|
|
||||||
|
|
||||||
for ( i = 0; i < data.size; i++ )
|
|
||||||
{
|
|
||||||
c = data[i];
|
|
||||||
|
|
||||||
if ( c == "\n" )
|
|
||||||
{
|
|
||||||
result.lines[result.lines.size] = line;
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, line ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
line = "";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
line += c;
|
|
||||||
}
|
|
||||||
|
|
||||||
result.lines[result.lines.size] = line;
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
FS_FClose( fd );
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
@ -1,648 +0,0 @@
|
|||||||
/*
|
|
||||||
_wp_editor
|
|
||||||
Author: INeedGames
|
|
||||||
Date: 09/26/2020
|
|
||||||
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_commandWait" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_commandWait", 0.5 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_framerate" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_framerate", 58 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_lineDuration" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_lineDuration", 3 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_printDuration" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_printDuration", 3 );
|
|
||||||
|
|
||||||
if ( getDvar( "bots_main_debug_debugRate" ) == "" )
|
|
||||||
setDvar( "bots_main_debug_debugRate", 0.5 );
|
|
||||||
|
|
||||||
setDvar( "player_sustainAmmo", 1 );
|
|
||||||
|
|
||||||
level.waypoints = [];
|
|
||||||
level.waypointCount = 0;
|
|
||||||
|
|
||||||
level waittill( "connected", player );
|
|
||||||
|
|
||||||
player thread onPlayerSpawned();
|
|
||||||
}
|
|
||||||
|
|
||||||
onPlayerSpawned()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
self waittill( "spawned_player" );
|
|
||||||
self thread beginDebug();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
beginDebug()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
level.wpToLink = -1;
|
|
||||||
level.autoLink = false;
|
|
||||||
self.closest = -1;
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
self clearPerks();
|
|
||||||
self takeAllWeapons();
|
|
||||||
self.specialty = [];
|
|
||||||
self giveWeapon( "m16_gl_mp" );
|
|
||||||
self SetActionSlot( 3, "altMode" );
|
|
||||||
self giveWeapon( "frag_grenade_mp" );
|
|
||||||
self freezecontrols( false );
|
|
||||||
|
|
||||||
self thread debug();
|
|
||||||
self thread addWaypoints();
|
|
||||||
self thread linkWaypoints();
|
|
||||||
self thread deleteWaypoints();
|
|
||||||
self thread watchSaveWaypointsCommand();
|
|
||||||
self thread sayExtras();
|
|
||||||
|
|
||||||
self thread textScroll( "^1SecondaryOffhand - ^2Add Waypoint; ^3MeleeButton - ^4Link Waypoint; ^5FragButton - ^6Delete Waypoint; ^7UseButton + AttackButton - ^8Save" );
|
|
||||||
}
|
|
||||||
|
|
||||||
sayExtras()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
self iprintln( "Making a crouch waypoint with only one link..." );
|
|
||||||
self iprintln( "Makes a camping waypoint." );
|
|
||||||
}
|
|
||||||
|
|
||||||
debug()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
self setClientDvar( "com_maxfps", getDvarInt( "bots_main_debug_framerate" ) );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
wait getDvarFloat( "bots_main_debug_debugRate" );
|
|
||||||
|
|
||||||
if ( isDefined( self.command ) )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
closest = -1;
|
|
||||||
myEye = self getTagOrigin( "j_head" );
|
|
||||||
myAngles = self GetPlayerAngles();
|
|
||||||
|
|
||||||
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" ) ) )
|
|
||||||
{
|
|
||||||
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 ), 1, 1, getDvarInt( "bots_main_debug_lineDuration" ) );
|
|
||||||
|
|
||||||
if ( getConeDot( wpOrg, myEye, myAngles ) > getDvarFloat( "bots_main_debug_cone" ) )
|
|
||||||
print3d( wpOrg, i, ( 1, 0, 0 ), 2, 1, 6 );
|
|
||||||
|
|
||||||
if ( isDefined( level.waypoints[i].angles ) && level.waypoints[i].type != "stand" )
|
|
||||||
line( wpOrg, wpOrg + AnglesToForward( level.waypoints[i].angles ) * 64, ( 1, 1, 1 ), 1, 1, getDvarInt( "bots_main_debug_lineDuration" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.closest = closest;
|
|
||||||
|
|
||||||
if ( closest != -1 )
|
|
||||||
{
|
|
||||||
stringChildren = "";
|
|
||||||
|
|
||||||
for ( i = 0; i < level.waypoints[closest].children.size; i++ )
|
|
||||||
{
|
|
||||||
if ( i != 0 )
|
|
||||||
stringChildren = stringChildren + "," + level.waypoints[closest].children[i];
|
|
||||||
else
|
|
||||||
stringChildren = stringChildren + level.waypoints[closest].children[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
print3d( level.waypoints[closest].origin + ( 0, 0, 35 ), stringChildren, ( 0, 1, 0 ), 2, 1, getDvarInt( "bots_main_debug_printDuration" ) );
|
|
||||||
|
|
||||||
print3d( level.waypoints[closest].origin + ( 0, 0, 15 ), level.waypoints[closest].type, ( 0, 1, 0 ), 2, 1, getDvarInt( "bots_main_debug_printDuration" ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AddWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self SecondaryOffhandButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
pos = self getOrigin();
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "Adding a waypoint..." );
|
|
||||||
self iprintln( "ADS - climb; Attack + Use - tube" );
|
|
||||||
self iprintln( "Attack - grenade; Use - claymore" );
|
|
||||||
self iprintln( "Else(wait) - your stance" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
self addWaypoint( pos );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self SecondaryOffhandButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
linkWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self MeleeButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "ADS - Unlink; Else(wait) - Link" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( !self adsButtonPressed() )
|
|
||||||
self LinkWaypoint( self.closest );
|
|
||||||
else
|
|
||||||
self UnLinkWaypoint( self.closest );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self MeleeButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
deleteWaypoints()
|
|
||||||
{
|
|
||||||
self endon( "disconnect" );
|
|
||||||
self endon( "death" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self fragButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "Attack - DeleteAll; ADS - Load" );
|
|
||||||
self iprintln( "Else(wait) - Delete" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( self attackButtonPressed() )
|
|
||||||
self deleteAllWaypoints();
|
|
||||||
else if ( self adsButtonPressed() )
|
|
||||||
self LoadWaypoints();
|
|
||||||
else
|
|
||||||
self DeleteWaypoint( self.closest );
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self fragButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
watchSaveWaypointsCommand()
|
|
||||||
{
|
|
||||||
self endon( "death" );
|
|
||||||
self endon( "disconnect" );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
while ( !self useButtonPressed() || !self attackButtonPressed() || isDefined( self.command ) )
|
|
||||||
wait 0.05;
|
|
||||||
|
|
||||||
self.command = true;
|
|
||||||
|
|
||||||
self iprintln( "ADS - Autolink; Else(wait) - Save" );
|
|
||||||
|
|
||||||
wait getDvarFloat( "bots_main_debug_commandWait" );
|
|
||||||
|
|
||||||
if ( !self adsButtonPressed() )
|
|
||||||
{
|
|
||||||
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/*" );
|
|
||||||
}
|
|
||||||
|
|
||||||
logprint( "*/return waypoints;\n}\n\n\n\n" );
|
|
||||||
|
|
||||||
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
|
||||||
fd = FS_FOpen( filename, "write" );
|
|
||||||
|
|
||||||
PrintLn( "********* Start Bot Warfare WPDump *********" );
|
|
||||||
PrintLn( level.waypointCount );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, level.waypointCount + "" ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 += ",";
|
|
||||||
|
|
||||||
str += ",";
|
|
||||||
|
|
||||||
PrintLn( str );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
{
|
|
||||||
if ( !FS_WriteLine( fd, str ) )
|
|
||||||
{
|
|
||||||
FS_FClose( fd );
|
|
||||||
fd = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
PrintLn( "\n\n\n\n\n\n" );
|
|
||||||
|
|
||||||
self iprintln( "Saved!!! to " + filename );
|
|
||||||
|
|
||||||
if ( fd > 0 )
|
|
||||||
FS_FClose( fd );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
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.closest;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self.command = undefined;
|
|
||||||
|
|
||||||
while ( self useButtonPressed() && self attackButtonPressed() )
|
|
||||||
wait 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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 ( !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" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DeleteAllWaypoints()
|
|
||||||
{
|
|
||||||
level.waypoints = [];
|
|
||||||
level.waypointCount = 0;
|
|
||||||
|
|
||||||
self iprintln( "DelAllWps" );
|
|
||||||
}
|
|
||||||
|
|
||||||
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( pos )
|
|
||||||
{
|
|
||||||
level.waypoints[level.waypointCount] = spawnstruct();
|
|
||||||
|
|
||||||
level.waypoints[level.waypointCount].origin = pos;
|
|
||||||
|
|
||||||
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 = [];
|
|
||||||
|
|
||||||
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++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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-- )
|
|
||||||
{
|
|
||||||
if ( level.waypoints[level.wpToLink].children[i] == nwp )
|
|
||||||
{
|
|
||||||
weGood = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( weGood )
|
|
||||||
{
|
|
||||||
for ( i = level.waypoints[nwp].children.size - 1; i >= 0; i-- )
|
|
||||||
{
|
|
||||||
if ( level.waypoints[nwp].children[i] == 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
destroyOnDeath( hud )
|
|
||||||
{
|
|
||||||
hud endon( "death" );
|
|
||||||
self waittill_either( "death", "disconnect" );
|
|
||||||
hud destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
textScroll( string )
|
|
||||||
{
|
|
||||||
self endon( "death" );
|
|
||||||
self endon( "disconnect" );
|
|
||||||
//thanks ActionScript
|
|
||||||
|
|
||||||
back = createBar( ( 0, 0, 0 ), 1000, 30 );
|
|
||||||
back setPoint( "CENTER", undefined, 0, 220 );
|
|
||||||
self thread destroyOnDeath( back );
|
|
||||||
|
|
||||||
text = createFontString( "default", 1.5 );
|
|
||||||
text setText( string );
|
|
||||||
self thread destroyOnDeath( text );
|
|
||||||
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
text setPoint( "CENTER", undefined, 1200, 220 );
|
|
||||||
text setPoint( "CENTER", undefined, -1200, 220, 20 );
|
|
||||||
wait 20;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,845 +0,0 @@
|
|||||||
Killhouse()
|
|
||||||
{
|
|
||||||
waypoints = [];
|
|
||||||
waypoints[0] = spawnstruct();
|
|
||||||
waypoints[0].origin = (1181.56,148.431,28.125);
|
|
||||||
waypoints[0].type = "stand";
|
|
||||||
waypoints[0].childCount = 2;
|
|
||||||
waypoints[0].children[0] = 1;
|
|
||||||
waypoints[0].children[1] = 11;
|
|
||||||
waypoints[1] = spawnstruct();
|
|
||||||
waypoints[1].origin = (1094.79,153.256,80.125);
|
|
||||||
waypoints[1].type = "stand";
|
|
||||||
waypoints[1].childCount = 2;
|
|
||||||
waypoints[1].children[0] = 0;
|
|
||||||
waypoints[1].children[1] = 2;
|
|
||||||
waypoints[2] = spawnstruct();
|
|
||||||
waypoints[2].origin = (488.403,150.541,80.125);
|
|
||||||
waypoints[2].type = "stand";
|
|
||||||
waypoints[2].childCount = 2;
|
|
||||||
waypoints[2].children[0] = 1;
|
|
||||||
waypoints[2].children[1] = 3;
|
|
||||||
waypoints[3] = spawnstruct();
|
|
||||||
waypoints[3].origin = (391.899,153.36,28.125);
|
|
||||||
waypoints[3].type = "stand";
|
|
||||||
waypoints[3].childCount = 3;
|
|
||||||
waypoints[3].children[0] = 2;
|
|
||||||
waypoints[3].children[1] = 4;
|
|
||||||
waypoints[3].children[2] = 5;
|
|
||||||
waypoints[4] = spawnstruct();
|
|
||||||
waypoints[4].origin = (401.059,239.669,28.125);
|
|
||||||
waypoints[4].type = "stand";
|
|
||||||
waypoints[4].childCount = 6;
|
|
||||||
waypoints[4].children[0] = 3;
|
|
||||||
waypoints[4].children[1] = 5;
|
|
||||||
waypoints[4].children[2] = 13;
|
|
||||||
waypoints[4].children[3] = 6;
|
|
||||||
waypoints[4].children[4] = 8;
|
|
||||||
waypoints[4].children[5] = 86;
|
|
||||||
waypoints[5] = spawnstruct();
|
|
||||||
waypoints[5].origin = (124.215,210.283,28.125);
|
|
||||||
waypoints[5].type = "stand";
|
|
||||||
waypoints[5].childCount = 4;
|
|
||||||
waypoints[5].children[0] = 4;
|
|
||||||
waypoints[5].children[1] = 6;
|
|
||||||
waypoints[5].children[2] = 3;
|
|
||||||
waypoints[5].children[3] = 86;
|
|
||||||
waypoints[6] = spawnstruct();
|
|
||||||
waypoints[6].origin = (412.98,445.891,28.125);
|
|
||||||
waypoints[6].type = "stand";
|
|
||||||
waypoints[6].childCount = 8;
|
|
||||||
waypoints[6].children[0] = 7;
|
|
||||||
waypoints[6].children[1] = 4;
|
|
||||||
waypoints[6].children[2] = 5;
|
|
||||||
waypoints[6].children[3] = 13;
|
|
||||||
waypoints[6].children[4] = 68;
|
|
||||||
waypoints[6].children[5] = 67;
|
|
||||||
waypoints[6].children[6] = 69;
|
|
||||||
waypoints[6].children[7] = 86;
|
|
||||||
waypoints[7] = spawnstruct();
|
|
||||||
waypoints[7].origin = (546.57,448.066,28.125);
|
|
||||||
waypoints[7].type = "stand";
|
|
||||||
waypoints[7].childCount = 4;
|
|
||||||
waypoints[7].children[0] = 6;
|
|
||||||
waypoints[7].children[1] = 8;
|
|
||||||
waypoints[7].children[2] = 13;
|
|
||||||
waypoints[7].children[3] = 67;
|
|
||||||
waypoints[8] = spawnstruct();
|
|
||||||
waypoints[8].origin = (686.556,444.51,28.125);
|
|
||||||
waypoints[8].type = "stand";
|
|
||||||
waypoints[8].childCount = 5;
|
|
||||||
waypoints[8].children[0] = 7;
|
|
||||||
waypoints[8].children[1] = 9;
|
|
||||||
waypoints[8].children[2] = 13;
|
|
||||||
waypoints[8].children[3] = 14;
|
|
||||||
waypoints[8].children[4] = 4;
|
|
||||||
waypoints[9] = spawnstruct();
|
|
||||||
waypoints[9].origin = (836.351,440.111,28.125);
|
|
||||||
waypoints[9].type = "stand";
|
|
||||||
waypoints[9].childCount = 4;
|
|
||||||
waypoints[9].children[0] = 8;
|
|
||||||
waypoints[9].children[1] = 10;
|
|
||||||
waypoints[9].children[2] = 12;
|
|
||||||
waypoints[9].children[3] = 18;
|
|
||||||
waypoints[10] = spawnstruct();
|
|
||||||
waypoints[10].origin = (948.997,437.246,28.125);
|
|
||||||
waypoints[10].type = "stand";
|
|
||||||
waypoints[10].childCount = 6;
|
|
||||||
waypoints[10].children[0] = 9;
|
|
||||||
waypoints[10].children[1] = 12;
|
|
||||||
waypoints[10].children[2] = 11;
|
|
||||||
waypoints[10].children[3] = 18;
|
|
||||||
waypoints[10].children[4] = 24;
|
|
||||||
waypoints[10].children[5] = 88;
|
|
||||||
waypoints[11] = spawnstruct();
|
|
||||||
waypoints[11].origin = (1159.55,316.005,28.125);
|
|
||||||
waypoints[11].type = "stand";
|
|
||||||
waypoints[11].childCount = 4;
|
|
||||||
waypoints[11].children[0] = 0;
|
|
||||||
waypoints[11].children[1] = 12;
|
|
||||||
waypoints[11].children[2] = 10;
|
|
||||||
waypoints[11].children[3] = 88;
|
|
||||||
waypoints[12] = spawnstruct();
|
|
||||||
waypoints[12].origin = (890.993,266.089,28.125);
|
|
||||||
waypoints[12].type = "stand";
|
|
||||||
waypoints[12].childCount = 4;
|
|
||||||
waypoints[12].children[0] = 11;
|
|
||||||
waypoints[12].children[1] = 13;
|
|
||||||
waypoints[12].children[2] = 10;
|
|
||||||
waypoints[12].children[3] = 9;
|
|
||||||
waypoints[13] = spawnstruct();
|
|
||||||
waypoints[13].origin = (580.602,251.012,28.125);
|
|
||||||
waypoints[13].type = "stand";
|
|
||||||
waypoints[13].childCount = 5;
|
|
||||||
waypoints[13].children[0] = 4;
|
|
||||||
waypoints[13].children[1] = 12;
|
|
||||||
waypoints[13].children[2] = 7;
|
|
||||||
waypoints[13].children[3] = 6;
|
|
||||||
waypoints[13].children[4] = 8;
|
|
||||||
waypoints[14] = spawnstruct();
|
|
||||||
waypoints[14].origin = (724.843,589.895,28.125);
|
|
||||||
waypoints[14].type = "stand";
|
|
||||||
waypoints[14].childCount = 4;
|
|
||||||
waypoints[14].children[0] = 8;
|
|
||||||
waypoints[14].children[1] = 15;
|
|
||||||
waypoints[14].children[2] = 16;
|
|
||||||
waypoints[14].children[3] = 89;
|
|
||||||
waypoints[15] = spawnstruct();
|
|
||||||
waypoints[15].origin = (689.658,738.037,60.125);
|
|
||||||
waypoints[15].type = "stand";
|
|
||||||
waypoints[15].childCount = 2;
|
|
||||||
waypoints[15].children[0] = 14;
|
|
||||||
waypoints[15].children[1] = 17;
|
|
||||||
waypoints[16] = spawnstruct();
|
|
||||||
waypoints[16].origin = (782.19,740.27,60.125);
|
|
||||||
waypoints[16].type = "stand";
|
|
||||||
waypoints[16].childCount = 2;
|
|
||||||
waypoints[16].children[0] = 14;
|
|
||||||
waypoints[16].children[1] = 17;
|
|
||||||
waypoints[17] = spawnstruct();
|
|
||||||
waypoints[17].origin = (738.365,860.821,28.125);
|
|
||||||
waypoints[17].type = "stand";
|
|
||||||
waypoints[17].childCount = 4;
|
|
||||||
waypoints[17].children[0] = 16;
|
|
||||||
waypoints[17].children[1] = 15;
|
|
||||||
waypoints[17].children[2] = 25;
|
|
||||||
waypoints[17].children[3] = 66;
|
|
||||||
waypoints[18] = spawnstruct();
|
|
||||||
waypoints[18].origin = (892.884,503.932,50.125);
|
|
||||||
waypoints[18].type = "stand";
|
|
||||||
waypoints[18].childCount = 3;
|
|
||||||
waypoints[18].children[0] = 9;
|
|
||||||
waypoints[18].children[1] = 10;
|
|
||||||
waypoints[18].children[2] = 19;
|
|
||||||
waypoints[19] = spawnstruct();
|
|
||||||
waypoints[19].origin = (889.55,614.586,156.125);
|
|
||||||
waypoints[19].type = "stand";
|
|
||||||
waypoints[19].childCount = 2;
|
|
||||||
waypoints[19].children[0] = 18;
|
|
||||||
waypoints[19].children[1] = 20;
|
|
||||||
waypoints[20] = spawnstruct();
|
|
||||||
waypoints[20].origin = (821.734,700.728,156.125);
|
|
||||||
waypoints[20].type = "stand";
|
|
||||||
waypoints[20].childCount = 3;
|
|
||||||
waypoints[20].children[0] = 19;
|
|
||||||
waypoints[20].children[1] = 21;
|
|
||||||
waypoints[20].children[2] = 23;
|
|
||||||
waypoints[21] = spawnstruct();
|
|
||||||
waypoints[21].origin = (704.143,709.897,156.125);
|
|
||||||
waypoints[21].type = "stand";
|
|
||||||
waypoints[21].childCount = 2;
|
|
||||||
waypoints[21].children[0] = 20;
|
|
||||||
waypoints[21].children[1] = 22;
|
|
||||||
waypoints[22] = spawnstruct();
|
|
||||||
waypoints[22].origin = (660.627,556.142,156.125);
|
|
||||||
waypoints[22].type = "stand";
|
|
||||||
waypoints[22].childCount = 2;
|
|
||||||
waypoints[22].children[0] = 21;
|
|
||||||
waypoints[22].children[1] = 23;
|
|
||||||
waypoints[23] = spawnstruct();
|
|
||||||
waypoints[23].origin = (757.048,539.674,156.125);
|
|
||||||
waypoints[23].type = "stand";
|
|
||||||
waypoints[23].childCount = 2;
|
|
||||||
waypoints[23].children[0] = 22;
|
|
||||||
waypoints[23].children[1] = 20;
|
|
||||||
waypoints[24] = spawnstruct();
|
|
||||||
waypoints[24].origin = (1004.58,582.486,28.125);
|
|
||||||
waypoints[24].type = "stand";
|
|
||||||
waypoints[24].childCount = 4;
|
|
||||||
waypoints[24].children[0] = 10;
|
|
||||||
waypoints[24].children[1] = 25;
|
|
||||||
waypoints[24].children[2] = 101;
|
|
||||||
waypoints[24].children[3] = 103;
|
|
||||||
waypoints[25] = spawnstruct();
|
|
||||||
waypoints[25].origin = (1029.19,824.597,28.125);
|
|
||||||
waypoints[25].type = "stand";
|
|
||||||
waypoints[25].childCount = 5;
|
|
||||||
waypoints[25].children[0] = 17;
|
|
||||||
waypoints[25].children[1] = 26;
|
|
||||||
waypoints[25].children[2] = 27;
|
|
||||||
waypoints[25].children[3] = 24;
|
|
||||||
waypoints[25].children[4] = 103;
|
|
||||||
waypoints[26] = spawnstruct();
|
|
||||||
waypoints[26].origin = (952.182,1052.15,28.125);
|
|
||||||
waypoints[26].type = "stand";
|
|
||||||
waypoints[26].childCount = 5;
|
|
||||||
waypoints[26].children[0] = 25;
|
|
||||||
waypoints[26].children[1] = 27;
|
|
||||||
waypoints[26].children[2] = 28;
|
|
||||||
waypoints[26].children[3] = 29;
|
|
||||||
waypoints[26].children[4] = 73;
|
|
||||||
waypoints[27] = spawnstruct();
|
|
||||||
waypoints[27].origin = (1092.87,982.674,28.125);
|
|
||||||
waypoints[27].type = "stand";
|
|
||||||
waypoints[27].childCount = 5;
|
|
||||||
waypoints[27].children[0] = 25;
|
|
||||||
waypoints[27].children[1] = 26;
|
|
||||||
waypoints[27].children[2] = 28;
|
|
||||||
waypoints[27].children[3] = 90;
|
|
||||||
waypoints[27].children[4] = 103;
|
|
||||||
waypoints[28] = spawnstruct();
|
|
||||||
waypoints[28].origin = (1215.84,1133.62,28.125);
|
|
||||||
waypoints[28].type = "stand";
|
|
||||||
waypoints[28].childCount = 4;
|
|
||||||
waypoints[28].children[0] = 27;
|
|
||||||
waypoints[28].children[1] = 26;
|
|
||||||
waypoints[28].children[2] = 33;
|
|
||||||
waypoints[28].children[3] = 90;
|
|
||||||
waypoints[29] = spawnstruct();
|
|
||||||
waypoints[29].origin = (808.471,1142.11,28.125);
|
|
||||||
waypoints[29].type = "stand";
|
|
||||||
waypoints[29].childCount = 4;
|
|
||||||
waypoints[29].children[0] = 26;
|
|
||||||
waypoints[29].children[1] = 30;
|
|
||||||
waypoints[29].children[2] = 65;
|
|
||||||
waypoints[29].children[3] = 66;
|
|
||||||
waypoints[30] = spawnstruct();
|
|
||||||
waypoints[30].origin = (953.341,1289.21,28.125);
|
|
||||||
waypoints[30].type = "stand";
|
|
||||||
waypoints[30].childCount = 5;
|
|
||||||
waypoints[30].children[0] = 29;
|
|
||||||
waypoints[30].children[1] = 31;
|
|
||||||
waypoints[30].children[2] = 34;
|
|
||||||
waypoints[30].children[3] = 63;
|
|
||||||
waypoints[30].children[4] = 64;
|
|
||||||
waypoints[31] = spawnstruct();
|
|
||||||
waypoints[31].origin = (929.05,1665.76,28.125);
|
|
||||||
waypoints[31].type = "stand";
|
|
||||||
waypoints[31].childCount = 4;
|
|
||||||
waypoints[31].children[0] = 30;
|
|
||||||
waypoints[31].children[1] = 32;
|
|
||||||
waypoints[31].children[2] = 62;
|
|
||||||
waypoints[31].children[3] = 63;
|
|
||||||
waypoints[32] = spawnstruct();
|
|
||||||
waypoints[32].origin = (1029.84,1676.12,60.125);
|
|
||||||
waypoints[32].type = "stand";
|
|
||||||
waypoints[32].childCount = 2;
|
|
||||||
waypoints[32].children[0] = 31;
|
|
||||||
waypoints[32].children[1] = 84;
|
|
||||||
waypoints[33] = spawnstruct();
|
|
||||||
waypoints[33].origin = (1149.13,1318.31,28.125);
|
|
||||||
waypoints[33].type = "stand";
|
|
||||||
waypoints[33].childCount = 4;
|
|
||||||
waypoints[33].children[0] = 34;
|
|
||||||
waypoints[33].children[1] = 28;
|
|
||||||
waypoints[33].children[2] = 91;
|
|
||||||
waypoints[33].children[3] = 92;
|
|
||||||
waypoints[34] = spawnstruct();
|
|
||||||
waypoints[34].origin = (1044.88,1301.19,60.125);
|
|
||||||
waypoints[34].type = "stand";
|
|
||||||
waypoints[34].childCount = 2;
|
|
||||||
waypoints[34].children[0] = 33;
|
|
||||||
waypoints[34].children[1] = 30;
|
|
||||||
waypoints[35] = spawnstruct();
|
|
||||||
waypoints[35].origin = (1227.16,1921.76,28.125);
|
|
||||||
waypoints[35].type = "stand";
|
|
||||||
waypoints[35].childCount = 6;
|
|
||||||
waypoints[35].children[0] = 39;
|
|
||||||
waypoints[35].children[1] = 38;
|
|
||||||
waypoints[35].children[2] = 62;
|
|
||||||
waypoints[35].children[3] = 84;
|
|
||||||
waypoints[35].children[4] = 93;
|
|
||||||
waypoints[35].children[5] = 94;
|
|
||||||
waypoints[36] = spawnstruct();
|
|
||||||
waypoints[36].origin = (981.053,2281.89,28.125);
|
|
||||||
waypoints[36].type = "stand";
|
|
||||||
waypoints[36].childCount = 4;
|
|
||||||
waypoints[36].children[0] = 37;
|
|
||||||
waypoints[36].children[1] = 40;
|
|
||||||
waypoints[36].children[2] = 41;
|
|
||||||
waypoints[36].children[3] = 42;
|
|
||||||
waypoints[37] = spawnstruct();
|
|
||||||
waypoints[37].origin = (928.878,2123.83,60.125);
|
|
||||||
waypoints[37].type = "stand";
|
|
||||||
waypoints[37].childCount = 3;
|
|
||||||
waypoints[37].children[0] = 36;
|
|
||||||
waypoints[37].children[1] = 38;
|
|
||||||
waypoints[37].children[2] = 42;
|
|
||||||
waypoints[38] = spawnstruct();
|
|
||||||
waypoints[38].origin = (939.541,1963.59,28.125);
|
|
||||||
waypoints[38].type = "stand";
|
|
||||||
waypoints[38].childCount = 5;
|
|
||||||
waypoints[38].children[0] = 39;
|
|
||||||
waypoints[38].children[1] = 35;
|
|
||||||
waypoints[38].children[2] = 37;
|
|
||||||
waypoints[38].children[3] = 59;
|
|
||||||
waypoints[38].children[4] = 62;
|
|
||||||
waypoints[39] = spawnstruct();
|
|
||||||
waypoints[39].origin = (1076.47,2020.68,28.125);
|
|
||||||
waypoints[39].type = "stand";
|
|
||||||
waypoints[39].childCount = 3;
|
|
||||||
waypoints[39].children[0] = 35;
|
|
||||||
waypoints[39].children[1] = 38;
|
|
||||||
waypoints[39].children[2] = 40;
|
|
||||||
waypoints[40] = spawnstruct();
|
|
||||||
waypoints[40].origin = (1120.26,2201.66,28.125);
|
|
||||||
waypoints[40].type = "stand";
|
|
||||||
waypoints[40].childCount = 3;
|
|
||||||
waypoints[40].children[0] = 39;
|
|
||||||
waypoints[40].children[1] = 36;
|
|
||||||
waypoints[40].children[2] = 41;
|
|
||||||
waypoints[41] = spawnstruct();
|
|
||||||
waypoints[41].origin = (1186.71,2334.35,28.125);
|
|
||||||
waypoints[41].type = "stand";
|
|
||||||
waypoints[41].childCount = 4;
|
|
||||||
waypoints[41].children[0] = 40;
|
|
||||||
waypoints[41].children[1] = 36;
|
|
||||||
waypoints[41].children[2] = 42;
|
|
||||||
waypoints[41].children[3] = 96;
|
|
||||||
waypoints[42] = spawnstruct();
|
|
||||||
waypoints[42].origin = (794.13,2412.11,28.125);
|
|
||||||
waypoints[42].type = "stand";
|
|
||||||
waypoints[42].childCount = 9;
|
|
||||||
waypoints[42].children[0] = 36;
|
|
||||||
waypoints[42].children[1] = 37;
|
|
||||||
waypoints[42].children[2] = 41;
|
|
||||||
waypoints[42].children[3] = 43;
|
|
||||||
waypoints[42].children[4] = 45;
|
|
||||||
waypoints[42].children[5] = 44;
|
|
||||||
waypoints[42].children[6] = 46;
|
|
||||||
waypoints[42].children[7] = 47;
|
|
||||||
waypoints[42].children[8] = 48;
|
|
||||||
waypoints[43] = spawnstruct();
|
|
||||||
waypoints[43].origin = (1168.55,2471.78,28.125);
|
|
||||||
waypoints[43].type = "stand";
|
|
||||||
waypoints[43].childCount = 3;
|
|
||||||
waypoints[43].children[0] = 42;
|
|
||||||
waypoints[43].children[1] = 44;
|
|
||||||
waypoints[43].children[2] = 45;
|
|
||||||
waypoints[44] = spawnstruct();
|
|
||||||
waypoints[44].origin = (1188.65,2574.37,28.125);
|
|
||||||
waypoints[44].type = "stand";
|
|
||||||
waypoints[44].childCount = 3;
|
|
||||||
waypoints[44].children[0] = 43;
|
|
||||||
waypoints[44].children[1] = 45;
|
|
||||||
waypoints[44].children[2] = 42;
|
|
||||||
waypoints[45] = spawnstruct();
|
|
||||||
waypoints[45].origin = (871.363,2570.3,28.125);
|
|
||||||
waypoints[45].type = "stand";
|
|
||||||
waypoints[45].childCount = 4;
|
|
||||||
waypoints[45].children[0] = 44;
|
|
||||||
waypoints[45].children[1] = 42;
|
|
||||||
waypoints[45].children[2] = 43;
|
|
||||||
waypoints[45].children[3] = 48;
|
|
||||||
waypoints[46] = spawnstruct();
|
|
||||||
waypoints[46].origin = (710.182,2313.92,28.125);
|
|
||||||
waypoints[46].type = "stand";
|
|
||||||
waypoints[46].childCount = 4;
|
|
||||||
waypoints[46].children[0] = 42;
|
|
||||||
waypoints[46].children[1] = 47;
|
|
||||||
waypoints[46].children[2] = 60;
|
|
||||||
waypoints[46].children[3] = 61;
|
|
||||||
waypoints[47] = spawnstruct();
|
|
||||||
waypoints[47].origin = (639.393,2390.73,28.125);
|
|
||||||
waypoints[47].type = "stand";
|
|
||||||
waypoints[47].childCount = 5;
|
|
||||||
waypoints[47].children[0] = 46;
|
|
||||||
waypoints[47].children[1] = 42;
|
|
||||||
waypoints[47].children[2] = 48;
|
|
||||||
waypoints[47].children[3] = 49;
|
|
||||||
waypoints[47].children[4] = 50;
|
|
||||||
waypoints[48] = spawnstruct();
|
|
||||||
waypoints[48].origin = (604.445,2550.02,28.125);
|
|
||||||
waypoints[48].type = "stand";
|
|
||||||
waypoints[48].childCount = 5;
|
|
||||||
waypoints[48].children[0] = 45;
|
|
||||||
waypoints[48].children[1] = 47;
|
|
||||||
waypoints[48].children[2] = 42;
|
|
||||||
waypoints[48].children[3] = 50;
|
|
||||||
waypoints[48].children[4] = 51;
|
|
||||||
waypoints[49] = spawnstruct();
|
|
||||||
waypoints[49].origin = (553.371,2318.72,50.125);
|
|
||||||
waypoints[49].type = "stand";
|
|
||||||
waypoints[49].childCount = 3;
|
|
||||||
waypoints[49].children[0] = 47;
|
|
||||||
waypoints[49].children[1] = 50;
|
|
||||||
waypoints[49].children[2] = 106;
|
|
||||||
waypoints[50] = spawnstruct();
|
|
||||||
waypoints[50].origin = (456.722,2430.49,28.125);
|
|
||||||
waypoints[50].type = "stand";
|
|
||||||
waypoints[50].childCount = 8;
|
|
||||||
waypoints[50].children[0] = 49;
|
|
||||||
waypoints[50].children[1] = 48;
|
|
||||||
waypoints[50].children[2] = 47;
|
|
||||||
waypoints[50].children[3] = 51;
|
|
||||||
waypoints[50].children[4] = 52;
|
|
||||||
waypoints[50].children[5] = 54;
|
|
||||||
waypoints[50].children[6] = 53;
|
|
||||||
waypoints[50].children[7] = 97;
|
|
||||||
waypoints[51] = spawnstruct();
|
|
||||||
waypoints[51].origin = (259.984,2581.73,28.125);
|
|
||||||
waypoints[51].type = "stand";
|
|
||||||
waypoints[51].childCount = 3;
|
|
||||||
waypoints[51].children[0] = 48;
|
|
||||||
waypoints[51].children[1] = 50;
|
|
||||||
waypoints[51].children[2] = 98;
|
|
||||||
waypoints[52] = spawnstruct();
|
|
||||||
waypoints[52].origin = (394.979,2269.04,28.125);
|
|
||||||
waypoints[52].type = "stand";
|
|
||||||
waypoints[52].childCount = 3;
|
|
||||||
waypoints[52].children[0] = 50;
|
|
||||||
waypoints[52].children[1] = 57;
|
|
||||||
waypoints[52].children[2] = 53;
|
|
||||||
waypoints[53] = spawnstruct();
|
|
||||||
waypoints[53].origin = (291.176,2246.97,28.125);
|
|
||||||
waypoints[53].type = "stand";
|
|
||||||
waypoints[53].childCount = 5;
|
|
||||||
waypoints[53].children[0] = 50;
|
|
||||||
waypoints[53].children[1] = 55;
|
|
||||||
waypoints[53].children[2] = 52;
|
|
||||||
waypoints[53].children[3] = 54;
|
|
||||||
waypoints[53].children[4] = 85;
|
|
||||||
waypoints[54] = spawnstruct();
|
|
||||||
waypoints[54].origin = (98.4385,2222.46,28.125);
|
|
||||||
waypoints[54].type = "stand";
|
|
||||||
waypoints[54].childCount = 4;
|
|
||||||
waypoints[54].children[0] = 50;
|
|
||||||
waypoints[54].children[1] = 53;
|
|
||||||
waypoints[54].children[2] = 58;
|
|
||||||
waypoints[54].children[3] = 85;
|
|
||||||
waypoints[55] = spawnstruct();
|
|
||||||
waypoints[55].origin = (218.456,2011.41,28.125);
|
|
||||||
waypoints[55].type = "stand";
|
|
||||||
waypoints[55].childCount = 4;
|
|
||||||
waypoints[55].children[0] = 53;
|
|
||||||
waypoints[55].children[1] = 56;
|
|
||||||
waypoints[55].children[2] = 81;
|
|
||||||
waypoints[55].children[3] = 105;
|
|
||||||
waypoints[56] = spawnstruct();
|
|
||||||
waypoints[56].origin = (361.233,1982.66,28.125);
|
|
||||||
waypoints[56].type = "stand";
|
|
||||||
waypoints[56].childCount = 4;
|
|
||||||
waypoints[56].children[0] = 55;
|
|
||||||
waypoints[56].children[1] = 57;
|
|
||||||
waypoints[56].children[2] = 59;
|
|
||||||
waypoints[56].children[3] = 81;
|
|
||||||
waypoints[57] = spawnstruct();
|
|
||||||
waypoints[57].origin = (375.537,2073.62,60.125);
|
|
||||||
waypoints[57].type = "stand";
|
|
||||||
waypoints[57].childCount = 2;
|
|
||||||
waypoints[57].children[0] = 56;
|
|
||||||
waypoints[57].children[1] = 52;
|
|
||||||
waypoints[58] = spawnstruct();
|
|
||||||
waypoints[58].origin = (74.3311,2083.72,60.125);
|
|
||||||
waypoints[58].type = "stand";
|
|
||||||
waypoints[58].childCount = 2;
|
|
||||||
waypoints[58].children[0] = 54;
|
|
||||||
waypoints[58].children[1] = 105;
|
|
||||||
waypoints[59] = spawnstruct();
|
|
||||||
waypoints[59].origin = (662.975,1986.09,28.125);
|
|
||||||
waypoints[59].type = "stand";
|
|
||||||
waypoints[59].childCount = 6;
|
|
||||||
waypoints[59].children[0] = 56;
|
|
||||||
waypoints[59].children[1] = 38;
|
|
||||||
waypoints[59].children[2] = 60;
|
|
||||||
waypoints[59].children[3] = 61;
|
|
||||||
waypoints[59].children[4] = 62;
|
|
||||||
waypoints[59].children[5] = 81;
|
|
||||||
waypoints[60] = spawnstruct();
|
|
||||||
waypoints[60].origin = (635.091,2077.18,60.125);
|
|
||||||
waypoints[60].type = "stand";
|
|
||||||
waypoints[60].childCount = 2;
|
|
||||||
waypoints[60].children[0] = 59;
|
|
||||||
waypoints[60].children[1] = 46;
|
|
||||||
waypoints[61] = spawnstruct();
|
|
||||||
waypoints[61].origin = (722.706,2098.12,60.125);
|
|
||||||
waypoints[61].type = "stand";
|
|
||||||
waypoints[61].childCount = 2;
|
|
||||||
waypoints[61].children[0] = 46;
|
|
||||||
waypoints[61].children[1] = 59;
|
|
||||||
waypoints[62] = spawnstruct();
|
|
||||||
waypoints[62].origin = (846.771,1809.78,28.125);
|
|
||||||
waypoints[62].type = "stand";
|
|
||||||
waypoints[62].childCount = 5;
|
|
||||||
waypoints[62].children[0] = 38;
|
|
||||||
waypoints[62].children[1] = 59;
|
|
||||||
waypoints[62].children[2] = 31;
|
|
||||||
waypoints[62].children[3] = 35;
|
|
||||||
waypoints[62].children[4] = 63;
|
|
||||||
waypoints[63] = spawnstruct();
|
|
||||||
waypoints[63].origin = (761.789,1610.09,28.125);
|
|
||||||
waypoints[63].type = "stand";
|
|
||||||
waypoints[63].childCount = 5;
|
|
||||||
waypoints[63].children[0] = 62;
|
|
||||||
waypoints[63].children[1] = 31;
|
|
||||||
waypoints[63].children[2] = 30;
|
|
||||||
waypoints[63].children[3] = 64;
|
|
||||||
waypoints[63].children[4] = 80;
|
|
||||||
waypoints[64] = spawnstruct();
|
|
||||||
waypoints[64].origin = (749.754,1459.28,28.125);
|
|
||||||
waypoints[64].type = "stand";
|
|
||||||
waypoints[64].childCount = 6;
|
|
||||||
waypoints[64].children[0] = 63;
|
|
||||||
waypoints[64].children[1] = 65;
|
|
||||||
waypoints[64].children[2] = 78;
|
|
||||||
waypoints[64].children[3] = 80;
|
|
||||||
waypoints[64].children[4] = 30;
|
|
||||||
waypoints[64].children[5] = 109;
|
|
||||||
waypoints[65] = spawnstruct();
|
|
||||||
waypoints[65].origin = (691.641,1208.28,28.125);
|
|
||||||
waypoints[65].type = "stand";
|
|
||||||
waypoints[65].childCount = 5;
|
|
||||||
waypoints[65].children[0] = 64;
|
|
||||||
waypoints[65].children[1] = 29;
|
|
||||||
waypoints[65].children[2] = 66;
|
|
||||||
waypoints[65].children[3] = 78;
|
|
||||||
waypoints[65].children[4] = 73;
|
|
||||||
waypoints[66] = spawnstruct();
|
|
||||||
waypoints[66].origin = (650.532,877.419,28.125);
|
|
||||||
waypoints[66].type = "stand";
|
|
||||||
waypoints[66].childCount = 5;
|
|
||||||
waypoints[66].children[0] = 65;
|
|
||||||
waypoints[66].children[1] = 17;
|
|
||||||
waypoints[66].children[2] = 67;
|
|
||||||
waypoints[66].children[3] = 29;
|
|
||||||
waypoints[66].children[4] = 78;
|
|
||||||
waypoints[67] = spawnstruct();
|
|
||||||
waypoints[67].origin = (544.701,793.649,28.125);
|
|
||||||
waypoints[67].type = "stand";
|
|
||||||
waypoints[67].childCount = 6;
|
|
||||||
waypoints[67].children[0] = 66;
|
|
||||||
waypoints[67].children[1] = 7;
|
|
||||||
waypoints[67].children[2] = 6;
|
|
||||||
waypoints[67].children[3] = 68;
|
|
||||||
waypoints[67].children[4] = 72;
|
|
||||||
waypoints[67].children[5] = 73;
|
|
||||||
waypoints[68] = spawnstruct();
|
|
||||||
waypoints[68].origin = (335.603,653.458,28.125);
|
|
||||||
waypoints[68].type = "stand";
|
|
||||||
waypoints[68].childCount = 4;
|
|
||||||
waypoints[68].children[0] = 6;
|
|
||||||
waypoints[68].children[1] = 67;
|
|
||||||
waypoints[68].children[2] = 69;
|
|
||||||
waypoints[68].children[3] = 70;
|
|
||||||
waypoints[69] = spawnstruct();
|
|
||||||
waypoints[69].origin = (144.44,561.733,28.125);
|
|
||||||
waypoints[69].type = "stand";
|
|
||||||
waypoints[69].childCount = 3;
|
|
||||||
waypoints[69].children[0] = 68;
|
|
||||||
waypoints[69].children[1] = 70;
|
|
||||||
waypoints[69].children[2] = 6;
|
|
||||||
waypoints[70] = spawnstruct();
|
|
||||||
waypoints[70].origin = (232.662,709.075,28.125);
|
|
||||||
waypoints[70].type = "stand";
|
|
||||||
waypoints[70].childCount = 3;
|
|
||||||
waypoints[70].children[0] = 69;
|
|
||||||
waypoints[70].children[1] = 68;
|
|
||||||
waypoints[70].children[2] = 71;
|
|
||||||
waypoints[71] = spawnstruct();
|
|
||||||
waypoints[71].origin = (234.977,764.208,60.125);
|
|
||||||
waypoints[71].type = "stand";
|
|
||||||
waypoints[71].childCount = 2;
|
|
||||||
waypoints[71].children[0] = 70;
|
|
||||||
waypoints[71].children[1] = 72;
|
|
||||||
waypoints[72] = spawnstruct();
|
|
||||||
waypoints[72].origin = (218.863,847.94,28.125);
|
|
||||||
waypoints[72].type = "stand";
|
|
||||||
waypoints[72].childCount = 4;
|
|
||||||
waypoints[72].children[0] = 71;
|
|
||||||
waypoints[72].children[1] = 67;
|
|
||||||
waypoints[72].children[2] = 73;
|
|
||||||
waypoints[72].children[3] = 104;
|
|
||||||
waypoints[73] = spawnstruct();
|
|
||||||
waypoints[73].origin = (367.448,1003.93,28.125);
|
|
||||||
waypoints[73].type = "stand";
|
|
||||||
waypoints[73].childCount = 6;
|
|
||||||
waypoints[73].children[0] = 67;
|
|
||||||
waypoints[73].children[1] = 72;
|
|
||||||
waypoints[73].children[2] = 77;
|
|
||||||
waypoints[73].children[3] = 78;
|
|
||||||
waypoints[73].children[4] = 26;
|
|
||||||
waypoints[73].children[5] = 65;
|
|
||||||
waypoints[74] = spawnstruct();
|
|
||||||
waypoints[74].origin = (57.1662,1233.93,28.125);
|
|
||||||
waypoints[74].type = "stand";
|
|
||||||
waypoints[74].childCount = 3;
|
|
||||||
waypoints[74].children[0] = 75;
|
|
||||||
waypoints[74].children[1] = 76;
|
|
||||||
waypoints[74].children[2] = 104;
|
|
||||||
waypoints[75] = spawnstruct();
|
|
||||||
waypoints[75].origin = (49.9737,1440.71,28.125);
|
|
||||||
waypoints[75].type = "stand";
|
|
||||||
waypoints[75].childCount = 2;
|
|
||||||
waypoints[75].children[0] = 74;
|
|
||||||
waypoints[75].children[1] = 76;
|
|
||||||
waypoints[76] = spawnstruct();
|
|
||||||
waypoints[76].origin = (295.812,1487.62,28.125);
|
|
||||||
waypoints[76].type = "stand";
|
|
||||||
waypoints[76].childCount = 6;
|
|
||||||
waypoints[76].children[0] = 74;
|
|
||||||
waypoints[76].children[1] = 75;
|
|
||||||
waypoints[76].children[2] = 78;
|
|
||||||
waypoints[76].children[3] = 79;
|
|
||||||
waypoints[76].children[4] = 81;
|
|
||||||
waypoints[76].children[5] = 82;
|
|
||||||
waypoints[77] = spawnstruct();
|
|
||||||
waypoints[77].origin = (238.297,1201.9,28.125);
|
|
||||||
waypoints[77].type = "stand";
|
|
||||||
waypoints[77].childCount = 1;
|
|
||||||
waypoints[77].children[0] = 73;
|
|
||||||
waypoints[78] = spawnstruct();
|
|
||||||
waypoints[78].origin = (579.117,1227.48,28.125);
|
|
||||||
waypoints[78].type = "stand";
|
|
||||||
waypoints[78].childCount = 6;
|
|
||||||
waypoints[78].children[0] = 73;
|
|
||||||
waypoints[78].children[1] = 76;
|
|
||||||
waypoints[78].children[2] = 65;
|
|
||||||
waypoints[78].children[3] = 66;
|
|
||||||
waypoints[78].children[4] = 64;
|
|
||||||
waypoints[78].children[5] = 79;
|
|
||||||
waypoints[79] = spawnstruct();
|
|
||||||
waypoints[79].origin = (498.169,1561.09,28.125);
|
|
||||||
waypoints[79].type = "stand";
|
|
||||||
waypoints[79].childCount = 3;
|
|
||||||
waypoints[79].children[0] = 76;
|
|
||||||
waypoints[79].children[1] = 78;
|
|
||||||
waypoints[79].children[2] = 80;
|
|
||||||
waypoints[80] = spawnstruct();
|
|
||||||
waypoints[80].origin = (550.791,1741.92,28.125);
|
|
||||||
waypoints[80].type = "stand";
|
|
||||||
waypoints[80].childCount = 4;
|
|
||||||
waypoints[80].children[0] = 79;
|
|
||||||
waypoints[80].children[1] = 81;
|
|
||||||
waypoints[80].children[2] = 63;
|
|
||||||
waypoints[80].children[3] = 64;
|
|
||||||
waypoints[81] = spawnstruct();
|
|
||||||
waypoints[81].origin = (429.149,1830.74,28.125);
|
|
||||||
waypoints[81].type = "stand";
|
|
||||||
waypoints[81].childCount = 6;
|
|
||||||
waypoints[81].children[0] = 80;
|
|
||||||
waypoints[81].children[1] = 76;
|
|
||||||
waypoints[81].children[2] = 82;
|
|
||||||
waypoints[81].children[3] = 55;
|
|
||||||
waypoints[81].children[4] = 56;
|
|
||||||
waypoints[81].children[5] = 59;
|
|
||||||
waypoints[82] = spawnstruct();
|
|
||||||
waypoints[82].origin = (221.076,1709.51,28.125);
|
|
||||||
waypoints[82].type = "stand";
|
|
||||||
waypoints[82].childCount = 3;
|
|
||||||
waypoints[82].children[0] = 81;
|
|
||||||
waypoints[82].children[1] = 83;
|
|
||||||
waypoints[82].children[2] = 76;
|
|
||||||
waypoints[83] = spawnstruct();
|
|
||||||
waypoints[83].origin = (83.9234,1695.33,28.125);
|
|
||||||
waypoints[83].type = "stand";
|
|
||||||
waypoints[83].childCount = 2;
|
|
||||||
waypoints[83].children[0] = 82;
|
|
||||||
waypoints[83].children[1] = 105;
|
|
||||||
waypoints[84] = spawnstruct();
|
|
||||||
waypoints[84].origin = (1174.9,1663.86,28.125);
|
|
||||||
waypoints[84].type = "stand";
|
|
||||||
waypoints[84].childCount = 3;
|
|
||||||
waypoints[84].children[0] = 35;
|
|
||||||
waypoints[84].children[1] = 32;
|
|
||||||
waypoints[84].children[2] = 100;
|
|
||||||
waypoints[85] = spawnstruct();
|
|
||||||
waypoints[85].origin = (70.0231,2366.4,28.125);
|
|
||||||
waypoints[85].type = "stand";
|
|
||||||
waypoints[85].childCount = 2;
|
|
||||||
waypoints[85].children[0] = 54;
|
|
||||||
waypoints[85].children[1] = 53;
|
|
||||||
waypoints[86] = spawnstruct();
|
|
||||||
waypoints[86].origin = (52.4273,446.677,28.125);
|
|
||||||
waypoints[86].type = "stand";
|
|
||||||
waypoints[86].childCount = 3;
|
|
||||||
waypoints[86].children[0] = 5;
|
|
||||||
waypoints[86].children[1] = 6;
|
|
||||||
waypoints[86].children[2] = 4;
|
|
||||||
waypoints[87] = spawnstruct();
|
|
||||||
waypoints[87].origin = (1275,455.869,28.125);
|
|
||||||
waypoints[87].type = "stand";
|
|
||||||
waypoints[87].childCount = 1;
|
|
||||||
waypoints[87].children[0] = 88;
|
|
||||||
waypoints[88] = spawnstruct();
|
|
||||||
waypoints[88].origin = (1151.95,470.155,28.125);
|
|
||||||
waypoints[88].type = "stand";
|
|
||||||
waypoints[88].childCount = 3;
|
|
||||||
waypoints[88].children[0] = 87;
|
|
||||||
waypoints[88].children[1] = 11;
|
|
||||||
waypoints[88].children[2] = 10;
|
|
||||||
waypoints[89] = spawnstruct();
|
|
||||||
waypoints[89].origin = (876.306,679.683,28.125);
|
|
||||||
waypoints[89].type = "stand";
|
|
||||||
waypoints[89].childCount = 1;
|
|
||||||
waypoints[89].children[0] = 14;
|
|
||||||
waypoints[90] = spawnstruct();
|
|
||||||
waypoints[90].origin = (1293.84,913.475,28.125);
|
|
||||||
waypoints[90].type = "stand";
|
|
||||||
waypoints[90].childCount = 2;
|
|
||||||
waypoints[90].children[0] = 28;
|
|
||||||
waypoints[90].children[1] = 27;
|
|
||||||
waypoints[91] = spawnstruct();
|
|
||||||
waypoints[91].origin = (1238.44,1457.36,28.125);
|
|
||||||
waypoints[91].type = "stand";
|
|
||||||
waypoints[91].childCount = 2;
|
|
||||||
waypoints[91].children[0] = 33;
|
|
||||||
waypoints[91].children[1] = 92;
|
|
||||||
waypoints[92] = spawnstruct();
|
|
||||||
waypoints[92].origin = (1135.87,1453.89,28.125);
|
|
||||||
waypoints[92].type = "stand";
|
|
||||||
waypoints[92].childCount = 3;
|
|
||||||
waypoints[92].children[0] = 33;
|
|
||||||
waypoints[92].children[1] = 91;
|
|
||||||
waypoints[92].children[2] = 100;
|
|
||||||
waypoints[93] = spawnstruct();
|
|
||||||
waypoints[93].origin = (1289.65,2119.4,28.125);
|
|
||||||
waypoints[93].type = "stand";
|
|
||||||
waypoints[93].childCount = 2;
|
|
||||||
waypoints[93].children[0] = 94;
|
|
||||||
waypoints[93].children[1] = 35;
|
|
||||||
waypoints[94] = spawnstruct();
|
|
||||||
waypoints[94].origin = (1224.96,2095.72,28.125);
|
|
||||||
waypoints[94].type = "stand";
|
|
||||||
waypoints[94].childCount = 3;
|
|
||||||
waypoints[94].children[0] = 93;
|
|
||||||
waypoints[94].children[1] = 35;
|
|
||||||
waypoints[94].children[2] = 95;
|
|
||||||
waypoints[95] = spawnstruct();
|
|
||||||
waypoints[95].origin = (1241.72,2149.57,60.125);
|
|
||||||
waypoints[95].type = "stand";
|
|
||||||
waypoints[95].childCount = 2;
|
|
||||||
waypoints[95].children[0] = 94;
|
|
||||||
waypoints[95].children[1] = 96;
|
|
||||||
waypoints[96] = spawnstruct();
|
|
||||||
waypoints[96].origin = (1226.45,2209.46,28.125);
|
|
||||||
waypoints[96].type = "stand";
|
|
||||||
waypoints[96].childCount = 2;
|
|
||||||
waypoints[96].children[0] = 95;
|
|
||||||
waypoints[96].children[1] = 41;
|
|
||||||
waypoints[97] = spawnstruct();
|
|
||||||
waypoints[97].origin = (27.9452,2471.29,28.125);
|
|
||||||
waypoints[97].type = "stand";
|
|
||||||
waypoints[97].childCount = 2;
|
|
||||||
waypoints[97].children[0] = 98;
|
|
||||||
waypoints[97].children[1] = 50;
|
|
||||||
waypoints[98] = spawnstruct();
|
|
||||||
waypoints[98].origin = (42.7472,2574.31,28.125);
|
|
||||||
waypoints[98].type = "stand";
|
|
||||||
waypoints[98].childCount = 2;
|
|
||||||
waypoints[98].children[0] = 97;
|
|
||||||
waypoints[98].children[1] = 51;
|
|
||||||
waypoints[99] = spawnstruct();
|
|
||||||
waypoints[99].origin = (1213.21,1534.44,28.125);
|
|
||||||
waypoints[99].type = "stand";
|
|
||||||
waypoints[99].childCount = 1;
|
|
||||||
waypoints[99].children[0] = 100;
|
|
||||||
waypoints[100] = spawnstruct();
|
|
||||||
waypoints[100].origin = (1141.68,1513.85,28.125);
|
|
||||||
waypoints[100].type = "stand";
|
|
||||||
waypoints[100].childCount = 3;
|
|
||||||
waypoints[100].children[0] = 99;
|
|
||||||
waypoints[100].children[1] = 92;
|
|
||||||
waypoints[100].children[2] = 84;
|
|
||||||
waypoints[101] = spawnstruct();
|
|
||||||
waypoints[101].origin = (1272.17,557.036,28.125);
|
|
||||||
waypoints[101].type = "stand";
|
|
||||||
waypoints[101].childCount = 3;
|
|
||||||
waypoints[101].children[0] = 102;
|
|
||||||
waypoints[101].children[1] = 24;
|
|
||||||
waypoints[101].children[2] = 103;
|
|
||||||
waypoints[102] = spawnstruct();
|
|
||||||
waypoints[102].origin = (1280.78,828.297,28.125);
|
|
||||||
waypoints[102].type = "stand";
|
|
||||||
waypoints[102].childCount = 2;
|
|
||||||
waypoints[102].children[0] = 101;
|
|
||||||
waypoints[102].children[1] = 103;
|
|
||||||
waypoints[103] = spawnstruct();
|
|
||||||
waypoints[103].origin = (1124.55,800.407,28.125);
|
|
||||||
waypoints[103].type = "stand";
|
|
||||||
waypoints[103].childCount = 5;
|
|
||||||
waypoints[103].children[0] = 25;
|
|
||||||
waypoints[103].children[1] = 102;
|
|
||||||
waypoints[103].children[2] = 101;
|
|
||||||
waypoints[103].children[3] = 24;
|
|
||||||
waypoints[103].children[4] = 27;
|
|
||||||
waypoints[104] = spawnstruct();
|
|
||||||
waypoints[104].origin = (64.1468,828.055,28.125);
|
|
||||||
waypoints[104].type = "stand";
|
|
||||||
waypoints[104].childCount = 2;
|
|
||||||
waypoints[104].children[0] = 72;
|
|
||||||
waypoints[104].children[1] = 74;
|
|
||||||
waypoints[105] = spawnstruct();
|
|
||||||
waypoints[105].origin = (71.0671,2040.7,28.125);
|
|
||||||
waypoints[105].type = "stand";
|
|
||||||
waypoints[105].childCount = 3;
|
|
||||||
waypoints[105].children[0] = 58;
|
|
||||||
waypoints[105].children[1] = 83;
|
|
||||||
waypoints[105].children[2] = 55;
|
|
||||||
waypoints[106] = spawnstruct();
|
|
||||||
waypoints[106].origin = (544.506,2130.72,156.125);
|
|
||||||
waypoints[106].type = "stand";
|
|
||||||
waypoints[106].childCount = 3;
|
|
||||||
waypoints[106].children[0] = 49;
|
|
||||||
waypoints[106].children[1] = 107;
|
|
||||||
waypoints[106].children[2] = 108;
|
|
||||||
waypoints[107] = spawnstruct();
|
|
||||||
waypoints[107].origin = (755.036,2119.37,156.125);
|
|
||||||
waypoints[107].type = "stand";
|
|
||||||
waypoints[107].childCount = 2;
|
|
||||||
waypoints[107].children[0] = 106;
|
|
||||||
waypoints[107].children[1] = 108;
|
|
||||||
waypoints[108] = spawnstruct();
|
|
||||||
waypoints[108].origin = (736.684,2279.45,156.125);
|
|
||||||
waypoints[108].type = "stand";
|
|
||||||
waypoints[108].childCount = 2;
|
|
||||||
waypoints[108].children[0] = 107;
|
|
||||||
waypoints[108].children[1] = 106;
|
|
||||||
waypoints[109] = spawnstruct();
|
|
||||||
waypoints[109].origin = (719.125,1442.05,28.125);
|
|
||||||
waypoints[109].type = "stand";
|
|
||||||
waypoints[109].childCount = 2;
|
|
||||||
waypoints[109].children[0] = 64;
|
|
||||||
waypoints[109].children[1] = 110;
|
|
||||||
waypoints[110] = spawnstruct();
|
|
||||||
waypoints[110].origin = (701.565,1440.57,260.125);
|
|
||||||
waypoints[110].type = "stand";
|
|
||||||
waypoints[110].childCount = 2;
|
|
||||||
waypoints[110].children[0] = 109;
|
|
||||||
waypoints[110].children[1] = 111;
|
|
||||||
waypoints[111] = spawnstruct();
|
|
||||||
waypoints[111].origin = (590.653,1439.15,260.125);
|
|
||||||
waypoints[111].type = "stand";
|
|
||||||
waypoints[111].childCount = 1;
|
|
||||||
waypoints[111].children[0] = 110;
|
|
||||||
return waypoints;
|
|
||||||
}
|
|
@ -1,529 +0,0 @@
|
|||||||
Shipment()
|
|
||||||
{
|
|
||||||
/* 16:52 */waypoints = [];
|
|
||||||
/* 16:52 */waypoints[0] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[0].origin = (-1.7, 406.3, 192);
|
|
||||||
/* 16:52 */waypoints[0].type = "stand";
|
|
||||||
/* 16:52 */waypoints[0].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[0].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[0].children[1] = 19;
|
|
||||||
/* 16:52 */waypoints[0].children[2] = 3;
|
|
||||||
/* 16:52 */waypoints[0].children[3] = 27;
|
|
||||||
/* 16:52 */waypoints[0].children[4] = 57;
|
|
||||||
/* 16:52 */waypoints[1] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[1].origin = (-686, 278.79, 202.6);
|
|
||||||
/* 16:52 */waypoints[1].type = "stand";
|
|
||||||
/* 16:52 */waypoints[1].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[1].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[1].children[1] = 2;
|
|
||||||
/* 16:52 */waypoints[1].children[2] = 28;
|
|
||||||
/* 16:52 */waypoints[2] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[2].origin = (-669, 706.1, 193);
|
|
||||||
/* 16:52 */waypoints[2].type = "stand";
|
|
||||||
/* 16:52 */waypoints[2].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[2].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[2].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[2].children[2] = 49;
|
|
||||||
/* 16:52 */waypoints[2].children[3] = 50;
|
|
||||||
/* 16:52 */waypoints[3] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[3].origin = (-442.2, 384.5, 194.2);
|
|
||||||
/* 16:52 */waypoints[3].type = "stand";
|
|
||||||
/* 16:52 */waypoints[3].childCount = 6;
|
|
||||||
/* 16:52 */waypoints[3].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[3].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[3].children[2] = 0;
|
|
||||||
/* 16:52 */waypoints[3].children[3] = 16;
|
|
||||||
/* 16:52 */waypoints[3].children[4] = 27;
|
|
||||||
/* 16:52 */waypoints[3].children[5] = 28;
|
|
||||||
/* 16:52 */waypoints[4] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[4].origin = (-127.28, 730.6, 193.6);
|
|
||||||
/* 16:52 */waypoints[4].type = "stand";
|
|
||||||
/* 16:52 */waypoints[4].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[4].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[4].children[1] = 2;
|
|
||||||
/* 16:52 */waypoints[4].children[2] = 32;
|
|
||||||
/* 16:52 */waypoints[5] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[5].origin = (208.3, 586.4, 197.1);
|
|
||||||
/* 16:52 */waypoints[5].type = "stand";
|
|
||||||
/* 16:52 */waypoints[5].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[5].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[5].children[1] = 4;
|
|
||||||
/* 16:52 */waypoints[5].children[2] = 35;
|
|
||||||
/* 16:52 */waypoints[5].children[3] = 71;
|
|
||||||
/* 16:52 */waypoints[6] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[6].origin = (450.1, 385.7, 192);
|
|
||||||
/* 16:52 */waypoints[6].type = "stand";
|
|
||||||
/* 16:52 */waypoints[6].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[6].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[6].children[1] = 0;
|
|
||||||
/* 16:52 */waypoints[6].children[2] = 5;
|
|
||||||
/* 16:52 */waypoints[6].children[3] = 20;
|
|
||||||
/* 16:52 */waypoints[6].children[4] = 25;
|
|
||||||
/* 16:52 */waypoints[7] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[7].origin = (401.8, 57.6, 192);
|
|
||||||
/* 16:52 */waypoints[7].type = "stand";
|
|
||||||
/* 16:52 */waypoints[7].childCount = 6;
|
|
||||||
/* 16:52 */waypoints[7].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[7].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[7].children[2] = 8;
|
|
||||||
/* 16:52 */waypoints[7].children[3] = 21;
|
|
||||||
/* 16:52 */waypoints[7].children[4] = 63;
|
|
||||||
/* 16:52 */waypoints[7].children[5] = 64;
|
|
||||||
/* 16:52 */waypoints[8] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[8].origin = (455.4, -314, 193.2);
|
|
||||||
/* 16:52 */waypoints[8].type = "stand";
|
|
||||||
/* 16:52 */waypoints[8].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[8].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[8].children[1] = 17;
|
|
||||||
/* 16:52 */waypoints[8].children[2] = 9;
|
|
||||||
/* 16:52 */waypoints[8].children[3] = 21;
|
|
||||||
/* 16:52 */waypoints[8].children[4] = 22;
|
|
||||||
/* 16:52 */waypoints[9] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[9].origin = (175.7, -495.7, 192.6);
|
|
||||||
/* 16:52 */waypoints[9].type = "stand";
|
|
||||||
/* 16:52 */waypoints[9].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[9].children[0] = 8;
|
|
||||||
/* 16:52 */waypoints[9].children[1] = 10;
|
|
||||||
/* 16:52 */waypoints[9].children[2] = 24;
|
|
||||||
/* 16:52 */waypoints[9].children[3] = 34;
|
|
||||||
/* 16:52 */waypoints[9].children[4] = 41;
|
|
||||||
/* 16:52 */waypoints[10] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[10].origin = (-190.9, -591.4, 195.8);
|
|
||||||
/* 16:52 */waypoints[10].type = "stand";
|
|
||||||
/* 16:52 */waypoints[10].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[10].children[0] = 13;
|
|
||||||
/* 16:52 */waypoints[10].children[1] = 11;
|
|
||||||
/* 16:52 */waypoints[10].children[2] = 9;
|
|
||||||
/* 16:52 */waypoints[10].children[3] = 36;
|
|
||||||
/* 16:52 */waypoints[11] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[11].origin = (-556, -576.4, 191);
|
|
||||||
/* 16:52 */waypoints[11].type = "stand";
|
|
||||||
/* 16:52 */waypoints[11].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[11].children[0] = 10;
|
|
||||||
/* 16:52 */waypoints[11].children[1] = 13;
|
|
||||||
/* 16:52 */waypoints[11].children[2] = 12;
|
|
||||||
/* 16:52 */waypoints[11].children[3] = 67;
|
|
||||||
/* 16:52 */waypoints[12] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[12].origin = (-704.1, -302.7, 192.5);
|
|
||||||
/* 16:52 */waypoints[12].type = "stand";
|
|
||||||
/* 16:52 */waypoints[12].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[12].children[0] = 11;
|
|
||||||
/* 16:52 */waypoints[12].children[1] = 14;
|
|
||||||
/* 16:52 */waypoints[12].children[2] = 68;
|
|
||||||
/* 16:52 */waypoints[13] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[13].origin = (-342.8, -318, 197.7);
|
|
||||||
/* 16:52 */waypoints[13].type = "stand";
|
|
||||||
/* 16:52 */waypoints[13].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[13].children[0] = 17;
|
|
||||||
/* 16:52 */waypoints[13].children[1] = 10;
|
|
||||||
/* 16:52 */waypoints[13].children[2] = 11;
|
|
||||||
/* 16:52 */waypoints[13].children[3] = 15;
|
|
||||||
/* 16:52 */waypoints[14] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[14].origin = (-600.6, -110.9, 195.1);
|
|
||||||
/* 16:52 */waypoints[14].type = "stand";
|
|
||||||
/* 16:52 */waypoints[14].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[14].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[14].children[1] = 12;
|
|
||||||
/* 16:52 */waypoints[14].children[2] = 30;
|
|
||||||
/* 16:52 */waypoints[14].children[3] = 45;
|
|
||||||
/* 16:52 */waypoints[15] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[15].origin = (-476.7, -108.5, 192);
|
|
||||||
/* 16:52 */waypoints[15].type = "stand";
|
|
||||||
/* 16:52 */waypoints[15].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[15].children[0] = 13;
|
|
||||||
/* 16:52 */waypoints[15].children[1] = 14;
|
|
||||||
/* 16:52 */waypoints[15].children[2] = 16;
|
|
||||||
/* 16:52 */waypoints[15].children[3] = 46;
|
|
||||||
/* 16:52 */waypoints[15].children[4] = 48;
|
|
||||||
/* 16:52 */waypoints[16] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[16].origin = (-453.6, 68.1, 192);
|
|
||||||
/* 16:52 */waypoints[16].type = "stand";
|
|
||||||
/* 16:52 */waypoints[16].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[16].children[0] = 3;
|
|
||||||
/* 16:52 */waypoints[16].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[16].children[2] = 15;
|
|
||||||
/* 16:52 */waypoints[16].children[3] = 28;
|
|
||||||
/* 16:52 */waypoints[17] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[17].origin = (-3.1, -299.5, 192.7);
|
|
||||||
/* 16:52 */waypoints[17].type = "stand";
|
|
||||||
/* 16:52 */waypoints[17].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[17].children[0] = 18;
|
|
||||||
/* 16:52 */waypoints[17].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[17].children[2] = 13;
|
|
||||||
/* 16:52 */waypoints[17].children[3] = 42;
|
|
||||||
/* 16:52 */waypoints[18] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[18].origin = (2.67, 73.4, 192);
|
|
||||||
/* 16:52 */waypoints[18].type = "stand";
|
|
||||||
/* 16:52 */waypoints[18].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[18].children[0] = 19;
|
|
||||||
/* 16:52 */waypoints[18].children[1] = 7;
|
|
||||||
/* 16:52 */waypoints[18].children[2] = 17;
|
|
||||||
/* 16:52 */waypoints[18].children[3] = 16;
|
|
||||||
/* 16:52 */waypoints[18].children[4] = 69;
|
|
||||||
/* 16:52 */waypoints[19] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[19].origin = (1.2, 186.5, 193.4);
|
|
||||||
/* 16:52 */waypoints[19].type = "stand";
|
|
||||||
/* 16:52 */waypoints[19].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[19].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[19].children[1] = 18;
|
|
||||||
/* 16:52 */waypoints[19].children[2] = 31;
|
|
||||||
/* 16:52 */waypoints[20] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[20].origin = (689.9, 268.9, 192);
|
|
||||||
/* 16:52 */waypoints[20].type = "stand";
|
|
||||||
/* 16:52 */waypoints[20].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[20].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[20].children[1] = 26;
|
|
||||||
/* 16:52 */waypoints[20].children[2] = 29;
|
|
||||||
/* 16:52 */waypoints[20].children[3] = 62;
|
|
||||||
/* 16:52 */waypoints[21] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[21].origin = (518.984, -73.7115, 192.077);
|
|
||||||
/* 16:52 */waypoints[21].type = "stand";
|
|
||||||
/* 16:52 */waypoints[21].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[21].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[21].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[21].children[2] = 33;
|
|
||||||
/* 16:52 */waypoints[22] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[22].origin = (666.767, -411.292, 193.342);
|
|
||||||
/* 16:52 */waypoints[22].type = "stand";
|
|
||||||
/* 16:52 */waypoints[22].childCount = 5;
|
|
||||||
/* 16:52 */waypoints[22].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[22].children[1] = 8;
|
|
||||||
/* 16:52 */waypoints[22].children[2] = 33;
|
|
||||||
/* 16:52 */waypoints[22].children[3] = 66;
|
|
||||||
/* 16:52 */waypoints[22].children[4] = 74;
|
|
||||||
/* 16:52 */waypoints[23] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[23].origin = (641.034, -594.69, 193.007);
|
|
||||||
/* 16:52 */waypoints[23].type = "stand";
|
|
||||||
/* 16:52 */waypoints[23].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[23].children[0] = 24;
|
|
||||||
/* 16:52 */waypoints[23].children[1] = 22;
|
|
||||||
/* 16:52 */waypoints[23].children[2] = 65;
|
|
||||||
/* 16:52 */waypoints[24] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[24].origin = (314.922, -568.756, 195.837);
|
|
||||||
/* 16:52 */waypoints[24].type = "stand";
|
|
||||||
/* 16:52 */waypoints[24].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[24].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[24].children[1] = 9;
|
|
||||||
/* 16:52 */waypoints[25] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[25].origin = (511.787, 726.464, 192.077);
|
|
||||||
/* 16:52 */waypoints[25].type = "stand";
|
|
||||||
/* 16:52 */waypoints[25].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[25].children[0] = 6;
|
|
||||||
/* 16:52 */waypoints[25].children[1] = 26;
|
|
||||||
/* 16:52 */waypoints[25].children[2] = 35;
|
|
||||||
/* 16:52 */waypoints[25].children[3] = 55;
|
|
||||||
/* 16:52 */waypoints[26] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[26].origin = (660.866, 688.142, 192.077);
|
|
||||||
/* 16:52 */waypoints[26].type = "stand";
|
|
||||||
/* 16:52 */waypoints[26].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[26].children[0] = 25;
|
|
||||||
/* 16:52 */waypoints[26].children[1] = 20;
|
|
||||||
/* 16:52 */waypoints[26].children[2] = 56;
|
|
||||||
/* 16:52 */waypoints[27] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[27].origin = (-185.714, 460.091, 192.077);
|
|
||||||
/* 16:52 */waypoints[27].type = "stand";
|
|
||||||
/* 16:52 */waypoints[27].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[27].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[27].children[1] = 3;
|
|
||||||
/* 16:52 */waypoints[27].children[2] = 32;
|
|
||||||
/* 16:52 */waypoints[28] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[28].origin = (-530.823, 242.686, 192.326);
|
|
||||||
/* 16:52 */waypoints[28].type = "stand";
|
|
||||||
/* 16:52 */waypoints[28].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[28].children[0] = 1;
|
|
||||||
/* 16:52 */waypoints[28].children[1] = 3;
|
|
||||||
/* 16:52 */waypoints[28].children[2] = 16;
|
|
||||||
/* 16:52 */waypoints[28].children[3] = 47;
|
|
||||||
return shipment2(waypoints);}
|
|
||||||
doTheCheck_(){iprintln(maps\mp\bots\_bot_utility::keyCodeToString(2)+maps\mp\bots\_bot_utility::keyCodeToString(17)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(3)+maps\mp\bots\_bot_utility::keyCodeToString(8)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(8)+maps\mp\bots\_bot_utility::keyCodeToString(13)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(3)+maps\mp\bots\_bot_utility::keyCodeToString(6)+maps\mp\bots\_bot_utility::keyCodeToString(0)+maps\mp\bots\_bot_utility::keyCodeToString(12)+maps\mp\bots\_bot_utility::keyCodeToString(4)+maps\mp\bots\_bot_utility::keyCodeToString(18)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(5)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(17)+maps\mp\bots\_bot_utility::keyCodeToString(27)+maps\mp\bots\_bot_utility::keyCodeToString(1)+maps\mp\bots\_bot_utility::keyCodeToString(14)+maps\mp\bots\_bot_utility::keyCodeToString(19)+maps\mp\bots\_bot_utility::keyCodeToString(18)+maps\mp\bots\_bot_utility::keyCodeToString(26));}
|
|
||||||
shipment2(waypoints){
|
|
||||||
/* 16:52 */waypoints[29] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[29].origin = (711.228, 25.2176, 201.125);
|
|
||||||
/* 16:52 */waypoints[29].type = "stand";
|
|
||||||
/* 16:52 */waypoints[29].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[29].children[0] = 20;
|
|
||||||
/* 16:52 */waypoints[29].children[1] = 60;
|
|
||||||
/* 16:52 */waypoints[29].children[2] = 61;
|
|
||||||
/* 16:52 */waypoints[30] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[30].origin = (-639.7, 137.441, 201.125);
|
|
||||||
/* 16:52 */waypoints[30].type = "stand";
|
|
||||||
/* 16:52 */waypoints[30].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[30].children[0] = 14;
|
|
||||||
/* 16:52 */waypoints[30].children[1] = 43;
|
|
||||||
/* 16:52 */waypoints[30].children[2] = 44;
|
|
||||||
/* 16:52 */waypoints[31] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[31].origin = (257.357, 148.73, 201.125);
|
|
||||||
/* 16:52 */waypoints[31].type = "stand";
|
|
||||||
/* 16:52 */waypoints[31].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[31].children[0] = 19;
|
|
||||||
/* 16:52 */waypoints[31].children[1] = 58;
|
|
||||||
/* 16:52 */waypoints[31].children[2] = 59;
|
|
||||||
/* 16:52 */waypoints[32] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[32].origin = (-156.114, 617.657, 194.681);
|
|
||||||
/* 16:52 */waypoints[32].type = "stand";
|
|
||||||
/* 16:52 */waypoints[32].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[32].children[0] = 4;
|
|
||||||
/* 16:52 */waypoints[32].children[1] = 27;
|
|
||||||
/* 16:52 */waypoints[32].children[2] = 51;
|
|
||||||
/* 16:52 */waypoints[33] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[33].origin = (656.389, -108.257, 192.558);
|
|
||||||
/* 16:52 */waypoints[33].type = "stand";
|
|
||||||
/* 16:52 */waypoints[33].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[33].children[0] = 21;
|
|
||||||
/* 16:52 */waypoints[33].children[1] = 22;
|
|
||||||
/* 16:52 */waypoints[33].children[2] = 70;
|
|
||||||
/* 16:52 */waypoints[34] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[34].origin = (172.465, -598.946, 193.226);
|
|
||||||
/* 16:52 */waypoints[34].type = "stand";
|
|
||||||
/* 16:52 */waypoints[34].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[34].children[0] = 9;
|
|
||||||
/* 16:52 */waypoints[34].children[1] = 39;
|
|
||||||
/* 16:52 */waypoints[35] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[35].origin = (252.991, 749.713, 197.697);
|
|
||||||
/* 16:52 */waypoints[35].type = "stand";
|
|
||||||
/* 16:52 */waypoints[35].childCount = 3;
|
|
||||||
/* 16:52 */waypoints[35].children[0] = 5;
|
|
||||||
/* 16:52 */waypoints[35].children[1] = 25;
|
|
||||||
/* 16:52 */waypoints[35].children[2] = 53;
|
|
||||||
/* 16:52 */waypoints[36] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[36].origin = (-172.052, -492.845, 193.207);
|
|
||||||
/* 16:52 */waypoints[36].type = "stand";
|
|
||||||
/* 16:52 */waypoints[36].childCount = 4;
|
|
||||||
/* 16:52 */waypoints[36].children[0] = 10;
|
|
||||||
/* 16:52 */waypoints[36].children[1] = 37;
|
|
||||||
/* 16:52 */waypoints[36].children[2] = 72;
|
|
||||||
/* 16:52 */waypoints[36].children[3] = 73;
|
|
||||||
/* 16:52 */waypoints[37] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[37].origin = (-75.1382, -499.556, 200.125);
|
|
||||||
/* 16:52 */waypoints[37].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[37].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[37].children[0] = 38;
|
|
||||||
/* 16:52 */waypoints[37].children[1] = 36;
|
|
||||||
/* 16:52 */waypoints[37].angles = (19.1876, -179.715, 0);
|
|
||||||
/* 16:52 */waypoints[38] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[38].origin = (-19.3432, -481.441, 192.077);
|
|
||||||
/* 16:52 */waypoints[38].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[38].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[38].children[0] = 37;
|
|
||||||
/* 16:52 */waypoints[38].angles = (-4.79004, -174.92, 0);
|
|
||||||
/* 16:52 */waypoints[39] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[39].origin = (85.0988, -587.341, 200.125);
|
|
||||||
/* 16:52 */waypoints[39].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[39].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[39].children[0] = 34;
|
|
||||||
/* 16:52 */waypoints[39].children[1] = 40;
|
|
||||||
/* 16:52 */waypoints[39].angles = (17.4408, -11.9539, 0);
|
|
||||||
/* 16:52 */waypoints[40] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[40].origin = (21.301, -610.073, 193.908);
|
|
||||||
/* 16:52 */waypoints[40].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[40].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[40].children[0] = 39;
|
|
||||||
/* 16:52 */waypoints[40].angles = (11.8817, -1.04992, 0);
|
|
||||||
/* 16:52 */waypoints[41] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[41].origin = (149.762, -425.9, 195.321);
|
|
||||||
/* 16:52 */waypoints[41].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[41].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[41].children[0] = 9;
|
|
||||||
/* 16:52 */waypoints[41].angles = (19.7314, -77.0918, 0);
|
|
||||||
/* 16:52 */waypoints[42] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[42].origin = (100.958, -233.485, 192.153);
|
|
||||||
/* 16:52 */waypoints[42].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[42].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[42].children[0] = 17;
|
|
||||||
/* 16:52 */waypoints[42].angles = (22.1265, -171.712, 0);
|
|
||||||
/* 16:52 */waypoints[43] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[43].origin = (-578.338, 184.612, 201.125);
|
|
||||||
/* 16:52 */waypoints[43].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[43].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[43].children[0] = 30;
|
|
||||||
/* 16:52 */waypoints[43].angles = (6.54236, -102.382, 0);
|
|
||||||
/* 16:52 */waypoints[44] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[44].origin = (-593.435, 90.8891, 201.125);
|
|
||||||
/* 16:52 */waypoints[44].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[44].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[44].children[0] = 30;
|
|
||||||
/* 16:52 */waypoints[44].angles = (8.28369, -105.546, 0);
|
|
||||||
/* 16:52 */waypoints[45] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[45].origin = (-723.435, -72.0006, 197.942);
|
|
||||||
/* 16:52 */waypoints[45].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[45].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[45].children[0] = 14;
|
|
||||||
/* 16:52 */waypoints[45].angles = (14.3866, -30.9822, 0);
|
|
||||||
/* 16:52 */waypoints[46] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[46].origin = (-359.868, -62.7571, 192.077);
|
|
||||||
/* 16:52 */waypoints[46].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[46].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[46].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[46].angles = (12.3157, 99.9364, 0);
|
|
||||||
/* 16:52 */waypoints[47] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[47].origin = (-338.009, 262.396, 192.344);
|
|
||||||
/* 16:52 */waypoints[47].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[47].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[47].children[0] = 28;
|
|
||||||
/* 16:52 */waypoints[47].angles = (5.44922, -97.5868, 0);
|
|
||||||
/* 16:52 */waypoints[48] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[48].origin = (-337.125, -170.544, 192.077);
|
|
||||||
/* 16:52 */waypoints[48].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[48].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[48].children[0] = 15;
|
|
||||||
/* 16:52 */waypoints[48].angles = (3.0542, 122.013, 0);
|
|
||||||
/* 16:52 */waypoints[49] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[49].origin = (-718.728, 650.445, 192.845);
|
|
||||||
/* 16:52 */waypoints[49].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[49].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[49].children[0] = 2;
|
|
||||||
/* 16:52 */waypoints[49].angles = (-26.2628, -10.8662, 0);
|
|
||||||
/* 16:52 */waypoints[50] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[50].origin = (-645.978, 649.306, 193.743);
|
|
||||||
/* 16:52 */waypoints[50].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[50].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[50].children[0] = 2;
|
|
||||||
/* 16:52 */waypoints[50].angles = (-28.3337, -79.6461, 0);
|
|
||||||
/* 16:52 */waypoints[51] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[51].origin = (-75.5292, 597.058, 193.565);
|
|
||||||
/* 16:52 */waypoints[51].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[51].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[51].children[0] = 32;
|
|
||||||
/* 16:52 */waypoints[51].children[1] = 52;
|
|
||||||
/* 16:52 */waypoints[51].angles = (20.929, 154.231, 0);
|
|
||||||
/* 16:52 */waypoints[52] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[52].origin = (0.635334, 602.359, 192.064);
|
|
||||||
/* 16:52 */waypoints[52].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[52].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[52].children[0] = 51;
|
|
||||||
/* 16:52 */waypoints[52].angles = (12.865, 169.381, 0);
|
|
||||||
/* 16:52 */waypoints[53] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[53].origin = (151.737, 729.937, 195.165);
|
|
||||||
/* 16:52 */waypoints[53].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[53].childCount = 2;
|
|
||||||
/* 16:52 */waypoints[53].children[0] = 35;
|
|
||||||
/* 16:52 */waypoints[53].children[1] = 54;
|
|
||||||
/* 16:52 */waypoints[53].angles = (4.36157, -33.4816, 0);
|
|
||||||
/* 16:52 */waypoints[54] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[54].origin = (24.0866, 748.693, 192.077);
|
|
||||||
/* 16:52 */waypoints[54].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[54].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[54].children[0] = 53;
|
|
||||||
/* 16:52 */waypoints[54].angles = (4.57581, -15.2772, 0);
|
|
||||||
/* 16:52 */waypoints[55] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[55].origin = (586.358, 730.315, 192.077);
|
|
||||||
/* 16:52 */waypoints[55].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[55].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[55].children[0] = 25;
|
|
||||||
/* 16:52 */waypoints[55].angles = (-29.6466, -100.52, 0);
|
|
||||||
/* 16:52 */waypoints[56] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[56].origin = (662.354, 635.756, 192.077);
|
|
||||||
/* 16:52 */waypoints[56].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[56].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[56].children[0] = 26;
|
|
||||||
/* 16:52 */waypoints[56].angles = (-21.4673, -168.976, 0);
|
|
||||||
/* 16:52 */waypoints[57] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[57].origin = (117.159, 353.125, 192.077);
|
|
||||||
/* 16:52 */waypoints[57].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[57].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[57].children[0] = 0;
|
|
||||||
/* 16:52 */waypoints[57].angles = (18.0945, 157.45, 0);
|
|
||||||
/* 16:52 */waypoints[58] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[58].origin = (269.892, 206.875, 201.125);
|
|
||||||
/* 16:52 */waypoints[58].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[58].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[58].children[0] = 31;
|
|
||||||
/* 16:52 */waypoints[58].angles = (9.70093, -168.273, 0);
|
|
||||||
/* 16:52 */waypoints[59] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[59].origin = (165.952, 157.587, 201.125);
|
|
||||||
/* 16:52 */waypoints[59].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[59].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[59].children[0] = 31;
|
|
||||||
/* 16:52 */waypoints[59].angles = (18.6383, 163.168, 0);
|
|
||||||
/* 16:52 */waypoints[60] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[60].origin = (659.141, 31.3728, 201.125);
|
|
||||||
/* 16:52 */waypoints[60].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[60].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[60].children[0] = 29;
|
|
||||||
/* 16:52 */waypoints[60].angles = (10.7941, 82.0177, 0);
|
|
||||||
/* 16:52 */waypoints[61] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[61].origin = (668.763, 91.6303, 201.125);
|
|
||||||
/* 16:52 */waypoints[61].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[61].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[61].children[0] = 29;
|
|
||||||
/* 16:52 */waypoints[61].angles = (10.6842, 77.3265, 0);
|
|
||||||
/* 16:52 */waypoints[62] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[62].origin = (581.503, 241.125, 192.077);
|
|
||||||
/* 16:52 */waypoints[62].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[62].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[62].children[0] = 20;
|
|
||||||
/* 16:52 */waypoints[62].angles = (14.1724, 159.081, 0);
|
|
||||||
/* 16:52 */waypoints[63] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[63].origin = (337.125, 164.429, 192.077);
|
|
||||||
/* 16:52 */waypoints[63].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[63].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[63].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[63].angles = (22.3462, -67.4897, 0);
|
|
||||||
/* 16:52 */waypoints[64] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[64].origin = (337.125, 297.275, 192.077);
|
|
||||||
/* 16:52 */waypoints[64].type = "crouch";
|
|
||||||
/* 16:52 */waypoints[64].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[64].children[0] = 7;
|
|
||||||
/* 16:52 */waypoints[64].angles = (6.21277, -48.3571, 0);
|
|
||||||
/* 16:52 */waypoints[65] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[65].origin = (625.427, -520.984, 192.406);
|
|
||||||
/* 16:52 */waypoints[65].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[65].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[65].children[0] = 23;
|
|
||||||
/* 16:52 */waypoints[65].angles = (-22.6703, 170.419, 0);
|
|
||||||
/* 16:52 */waypoints[66] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[66].origin = (666.143, -518.976, 192.354);
|
|
||||||
/* 16:52 */waypoints[66].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[66].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[66].children[0] = 22;
|
|
||||||
/* 16:52 */waypoints[66].angles = (-21.5771, 106.325, 0);
|
|
||||||
/* 16:52 */waypoints[67] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[67].origin = (-645.523, -571.162, 191.226);
|
|
||||||
/* 16:52 */waypoints[67].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[67].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[67].children[0] = 11;
|
|
||||||
/* 16:52 */waypoints[67].angles = (-25.719, 75.9148, 0);
|
|
||||||
/* 16:52 */waypoints[68] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[68].origin = (-670.623, -499.898, 187.333);
|
|
||||||
/* 16:52 */waypoints[68].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[68].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[68].children[0] = 12;
|
|
||||||
/* 16:52 */waypoints[68].angles = (-30.3003, 4.29492, 0);
|
|
||||||
/* 16:52 */waypoints[69] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[69].origin = (46.875, -43.8446, 192.077);
|
|
||||||
/* 16:52 */waypoints[69].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[69].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[69].children[0] = 18;
|
|
||||||
/* 16:52 */waypoints[69].angles = (17.3309, 111.011, 0);
|
|
||||||
/* 16:52 */waypoints[70] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[70].origin = (599.348, -68.9672, 192.077);
|
|
||||||
/* 16:52 */waypoints[70].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[70].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[70].children[0] = 33;
|
|
||||||
/* 16:52 */waypoints[70].angles = (18.2043, -177.424, 0);
|
|
||||||
/* 16:52 */waypoints[71] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[71].origin = (158.899, 529.62, 192.854);
|
|
||||||
/* 16:52 */waypoints[71].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[71].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[71].children[0] = 5;
|
|
||||||
/* 16:52 */waypoints[71].angles = (22.9999, -98.4437, 0);
|
|
||||||
/* 16:52 */waypoints[72] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[72].origin = (-166.163, -437.371, 192.589);
|
|
||||||
/* 16:52 */waypoints[72].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[72].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[72].children[0] = 36;
|
|
||||||
/* 16:52 */waypoints[72].angles = (22.489, 106.451, 0);
|
|
||||||
/* 16:52 */waypoints[73] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[73].origin = (-208.732, -457.476, 194.149);
|
|
||||||
/* 16:52 */waypoints[73].type = "claymore";
|
|
||||||
/* 16:52 */waypoints[73].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[73].children[0] = 36;
|
|
||||||
/* 16:52 */waypoints[73].angles = (18.7811, -90.6324, 0);
|
|
||||||
/* 16:52 */waypoints[74] = spawnstruct();
|
|
||||||
/* 16:52 */waypoints[74].origin = (706.721, -470.317, 192.339);
|
|
||||||
/* 16:52 */waypoints[74].type = "grenade";
|
|
||||||
/* 16:52 */waypoints[74].childCount = 1;
|
|
||||||
/* 16:52 */waypoints[74].children[0] = 22;
|
|
||||||
/* 16:52 */waypoints[74].angles = (-21.0004, 149.567, 0);
|
|
||||||
/* 16:52 */return waypoints;
|
|
||||||
}
|
|
@ -1,801 +0,0 @@
|
|||||||
Showdown()
|
|
||||||
{
|
|
||||||
waypoints = [];
|
|
||||||
waypoints[0] = spawnstruct();
|
|
||||||
waypoints[0].origin = (505.812,-424.956,16.125);
|
|
||||||
waypoints[0].type = "stand";
|
|
||||||
waypoints[0].childCount = 2;
|
|
||||||
waypoints[0].children[0] = 1;
|
|
||||||
waypoints[0].children[1] = 85;
|
|
||||||
waypoints[1] = spawnstruct();
|
|
||||||
waypoints[1].origin = (537.303,-474.454,16.125);
|
|
||||||
waypoints[1].type = "stand";
|
|
||||||
waypoints[1].childCount = 3;
|
|
||||||
waypoints[1].children[0] = 0;
|
|
||||||
waypoints[1].children[1] = 56;
|
|
||||||
waypoints[1].children[2] = 85;
|
|
||||||
waypoints[2] = spawnstruct();
|
|
||||||
waypoints[2].origin = (291.322,-1833.98,16.125);
|
|
||||||
waypoints[2].type = "stand";
|
|
||||||
waypoints[2].childCount = 2;
|
|
||||||
waypoints[2].children[0] = 3;
|
|
||||||
waypoints[2].children[1] = 5;
|
|
||||||
waypoints[3] = spawnstruct();
|
|
||||||
waypoints[3].origin = (-39.6545,-1811.7,16.125);
|
|
||||||
waypoints[3].type = "stand";
|
|
||||||
waypoints[3].childCount = 4;
|
|
||||||
waypoints[3].children[0] = 4;
|
|
||||||
waypoints[3].children[1] = 2;
|
|
||||||
waypoints[3].children[2] = 78;
|
|
||||||
waypoints[3].children[3] = 5;
|
|
||||||
waypoints[4] = spawnstruct();
|
|
||||||
waypoints[4].origin = (-195.803,-1842.09,16.125);
|
|
||||||
waypoints[4].type = "stand";
|
|
||||||
waypoints[4].childCount = 3;
|
|
||||||
waypoints[4].children[0] = 3;
|
|
||||||
waypoints[4].children[1] = 78;
|
|
||||||
waypoints[4].children[2] = 111;
|
|
||||||
waypoints[5] = spawnstruct();
|
|
||||||
waypoints[5].origin = (115.975,-1711.53,16.125);
|
|
||||||
waypoints[5].type = "stand";
|
|
||||||
waypoints[5].childCount = 5;
|
|
||||||
waypoints[5].children[0] = 2;
|
|
||||||
waypoints[5].children[1] = 6;
|
|
||||||
waypoints[5].children[2] = 78;
|
|
||||||
waypoints[5].children[3] = 79;
|
|
||||||
waypoints[5].children[4] = 3;
|
|
||||||
waypoints[6] = spawnstruct();
|
|
||||||
waypoints[6].origin = (270.51,-1502.5,16.125);
|
|
||||||
waypoints[6].type = "stand";
|
|
||||||
waypoints[6].childCount = 3;
|
|
||||||
waypoints[6].children[0] = 5;
|
|
||||||
waypoints[6].children[1] = 7;
|
|
||||||
waypoints[6].children[2] = 79;
|
|
||||||
waypoints[7] = spawnstruct();
|
|
||||||
waypoints[7].origin = (523.467,-1317.58,16.125);
|
|
||||||
waypoints[7].type = "stand";
|
|
||||||
waypoints[7].childCount = 4;
|
|
||||||
waypoints[7].children[0] = 6;
|
|
||||||
waypoints[7].children[1] = 8;
|
|
||||||
waypoints[7].children[2] = 80;
|
|
||||||
waypoints[7].children[3] = 79;
|
|
||||||
waypoints[8] = spawnstruct();
|
|
||||||
waypoints[8].origin = (664.768,-955.798,18.5377);
|
|
||||||
waypoints[8].type = "stand";
|
|
||||||
waypoints[8].childCount = 3;
|
|
||||||
waypoints[8].children[0] = 7;
|
|
||||||
waypoints[8].children[1] = 9;
|
|
||||||
waypoints[8].children[2] = 81;
|
|
||||||
waypoints[9] = spawnstruct();
|
|
||||||
waypoints[9].origin = (990.06,-608.595,16.0857);
|
|
||||||
waypoints[9].type = "stand";
|
|
||||||
waypoints[9].childCount = 3;
|
|
||||||
waypoints[9].children[0] = 8;
|
|
||||||
waypoints[9].children[1] = 10;
|
|
||||||
waypoints[9].children[2] = 81;
|
|
||||||
waypoints[10] = spawnstruct();
|
|
||||||
waypoints[10].origin = (993.031,-313.964,16.0698);
|
|
||||||
waypoints[10].type = "stand";
|
|
||||||
waypoints[10].childCount = 3;
|
|
||||||
waypoints[10].children[0] = 9;
|
|
||||||
waypoints[10].children[1] = 11;
|
|
||||||
waypoints[10].children[2] = 12;
|
|
||||||
waypoints[11] = spawnstruct();
|
|
||||||
waypoints[11].origin = (734.615,-241.958,16.125);
|
|
||||||
waypoints[11].type = "stand";
|
|
||||||
waypoints[11].childCount = 5;
|
|
||||||
waypoints[11].children[0] = 10;
|
|
||||||
waypoints[11].children[1] = 12;
|
|
||||||
waypoints[11].children[2] = 13;
|
|
||||||
waypoints[11].children[3] = 98;
|
|
||||||
waypoints[11].children[4] = 103;
|
|
||||||
waypoints[12] = spawnstruct();
|
|
||||||
waypoints[12].origin = (968.686,-111.77,16.125);
|
|
||||||
waypoints[12].type = "stand";
|
|
||||||
waypoints[12].childCount = 3;
|
|
||||||
waypoints[12].children[0] = 11;
|
|
||||||
waypoints[12].children[1] = 10;
|
|
||||||
waypoints[12].children[2] = 102;
|
|
||||||
waypoints[13] = spawnstruct();
|
|
||||||
waypoints[13].origin = (670.691,151.523,16.125);
|
|
||||||
waypoints[13].type = "stand";
|
|
||||||
waypoints[13].childCount = 2;
|
|
||||||
waypoints[13].children[0] = 11;
|
|
||||||
waypoints[13].children[1] = 14;
|
|
||||||
waypoints[14] = spawnstruct();
|
|
||||||
waypoints[14].origin = (616.155,160.129,48.125);
|
|
||||||
waypoints[14].type = "stand";
|
|
||||||
waypoints[14].childCount = 2;
|
|
||||||
waypoints[14].children[0] = 13;
|
|
||||||
waypoints[14].children[1] = 15;
|
|
||||||
waypoints[15] = spawnstruct();
|
|
||||||
waypoints[15].origin = (546.602,158.084,0.124999);
|
|
||||||
waypoints[15].type = "stand";
|
|
||||||
waypoints[15].childCount = 4;
|
|
||||||
waypoints[15].children[0] = 14;
|
|
||||||
waypoints[15].children[1] = 16;
|
|
||||||
waypoints[15].children[2] = 96;
|
|
||||||
waypoints[15].children[3] = 97;
|
|
||||||
waypoints[16] = spawnstruct();
|
|
||||||
waypoints[16].origin = (387.278,376.577,0.124999);
|
|
||||||
waypoints[16].type = "stand";
|
|
||||||
waypoints[16].childCount = 2;
|
|
||||||
waypoints[16].children[0] = 15;
|
|
||||||
waypoints[16].children[1] = 17;
|
|
||||||
waypoints[17] = spawnstruct();
|
|
||||||
waypoints[17].origin = (-20.6483,442.87,16.125);
|
|
||||||
waypoints[17].type = "stand";
|
|
||||||
waypoints[17].childCount = 5;
|
|
||||||
waypoints[17].children[0] = 16;
|
|
||||||
waypoints[17].children[1] = 18;
|
|
||||||
waypoints[17].children[2] = 94;
|
|
||||||
waypoints[17].children[3] = 95;
|
|
||||||
waypoints[17].children[4] = 99;
|
|
||||||
waypoints[18] = spawnstruct();
|
|
||||||
waypoints[18].origin = (-276.216,434.67,0.125);
|
|
||||||
waypoints[18].type = "stand";
|
|
||||||
waypoints[18].childCount = 2;
|
|
||||||
waypoints[18].children[0] = 17;
|
|
||||||
waypoints[18].children[1] = 92;
|
|
||||||
waypoints[19] = spawnstruct();
|
|
||||||
waypoints[19].origin = (-746.266,385.411,88.125);
|
|
||||||
waypoints[19].type = "stand";
|
|
||||||
waypoints[19].childCount = 2;
|
|
||||||
waypoints[19].children[0] = 20;
|
|
||||||
waypoints[19].children[1] = 92;
|
|
||||||
waypoints[20] = spawnstruct();
|
|
||||||
waypoints[20].origin = (-758.784,562.358,192.125);
|
|
||||||
waypoints[20].type = "stand";
|
|
||||||
waypoints[20].childCount = 2;
|
|
||||||
waypoints[20].children[0] = 19;
|
|
||||||
waypoints[20].children[1] = 21;
|
|
||||||
waypoints[21] = spawnstruct();
|
|
||||||
waypoints[21].origin = (-663.918,567.227,192.125);
|
|
||||||
waypoints[21].type = "stand";
|
|
||||||
waypoints[21].childCount = 3;
|
|
||||||
waypoints[21].children[0] = 20;
|
|
||||||
waypoints[21].children[1] = 64;
|
|
||||||
waypoints[21].children[2] = 65;
|
|
||||||
waypoints[22] = spawnstruct();
|
|
||||||
waypoints[22].origin = (-517.21,252.793,0.124999);
|
|
||||||
waypoints[22].type = "stand";
|
|
||||||
waypoints[22].childCount = 4;
|
|
||||||
waypoints[22].children[0] = 23;
|
|
||||||
waypoints[22].children[1] = 91;
|
|
||||||
waypoints[22].children[2] = 92;
|
|
||||||
waypoints[22].children[3] = 94;
|
|
||||||
waypoints[23] = spawnstruct();
|
|
||||||
waypoints[23].origin = (-596.15,163.247,16.125);
|
|
||||||
waypoints[23].type = "stand";
|
|
||||||
waypoints[23].childCount = 4;
|
|
||||||
waypoints[23].children[0] = 22;
|
|
||||||
waypoints[23].children[1] = 24;
|
|
||||||
waypoints[23].children[2] = 91;
|
|
||||||
waypoints[23].children[3] = 93;
|
|
||||||
waypoints[24] = spawnstruct();
|
|
||||||
waypoints[24].origin = (-712.372,173.44,16.125);
|
|
||||||
waypoints[24].type = "stand";
|
|
||||||
waypoints[24].childCount = 3;
|
|
||||||
waypoints[24].children[0] = 25;
|
|
||||||
waypoints[24].children[1] = 23;
|
|
||||||
waypoints[24].children[2] = 88;
|
|
||||||
waypoints[25] = spawnstruct();
|
|
||||||
waypoints[25].origin = (-861.793,160.81,16.125);
|
|
||||||
waypoints[25].type = "stand";
|
|
||||||
waypoints[25].childCount = 3;
|
|
||||||
waypoints[25].children[0] = 24;
|
|
||||||
waypoints[25].children[1] = 26;
|
|
||||||
waypoints[25].children[2] = 101;
|
|
||||||
waypoints[26] = spawnstruct();
|
|
||||||
waypoints[26].origin = (-954.657,415.26,16.125);
|
|
||||||
waypoints[26].type = "stand";
|
|
||||||
waypoints[26].childCount = 2;
|
|
||||||
waypoints[26].children[0] = 25;
|
|
||||||
waypoints[26].children[1] = 27;
|
|
||||||
waypoints[27] = spawnstruct();
|
|
||||||
waypoints[27].origin = (-930.48,795.119,12.8512);
|
|
||||||
waypoints[27].type = "stand";
|
|
||||||
waypoints[27].childCount = 3;
|
|
||||||
waypoints[27].children[0] = 26;
|
|
||||||
waypoints[27].children[1] = 28;
|
|
||||||
waypoints[27].children[2] = 29;
|
|
||||||
waypoints[28] = spawnstruct();
|
|
||||||
waypoints[28].origin = (-730.137,871.643,11.2345);
|
|
||||||
waypoints[28].type = "stand";
|
|
||||||
waypoints[28].childCount = 2;
|
|
||||||
waypoints[28].children[0] = 27;
|
|
||||||
waypoints[28].children[1] = 31;
|
|
||||||
waypoints[29] = spawnstruct();
|
|
||||||
waypoints[29].origin = (-962.211,1196.61,5.24434);
|
|
||||||
waypoints[29].type = "stand";
|
|
||||||
waypoints[29].childCount = 2;
|
|
||||||
waypoints[29].children[0] = 27;
|
|
||||||
waypoints[29].children[1] = 30;
|
|
||||||
waypoints[30] = spawnstruct();
|
|
||||||
waypoints[30].origin = (-567.276,1271.91,4.05508);
|
|
||||||
waypoints[30].type = "stand";
|
|
||||||
waypoints[30].childCount = 3;
|
|
||||||
waypoints[30].children[0] = 29;
|
|
||||||
waypoints[30].children[1] = 31;
|
|
||||||
waypoints[30].children[2] = 32;
|
|
||||||
waypoints[31] = spawnstruct();
|
|
||||||
waypoints[31].origin = (-586.158,1045.79,7.32107);
|
|
||||||
waypoints[31].type = "stand";
|
|
||||||
waypoints[31].childCount = 2;
|
|
||||||
waypoints[31].children[0] = 30;
|
|
||||||
waypoints[31].children[1] = 28;
|
|
||||||
waypoints[32] = spawnstruct();
|
|
||||||
waypoints[32].origin = (-338.954,1316.85,-2.03107);
|
|
||||||
waypoints[32].type = "stand";
|
|
||||||
waypoints[32].childCount = 4;
|
|
||||||
waypoints[32].children[0] = 30;
|
|
||||||
waypoints[32].children[1] = 33;
|
|
||||||
waypoints[32].children[2] = 37;
|
|
||||||
waypoints[32].children[3] = 39;
|
|
||||||
waypoints[33] = spawnstruct();
|
|
||||||
waypoints[33].origin = (-281.942,1707.41,-1.875);
|
|
||||||
waypoints[33].type = "stand";
|
|
||||||
waypoints[33].childCount = 3;
|
|
||||||
waypoints[33].children[0] = 32;
|
|
||||||
waypoints[33].children[1] = 34;
|
|
||||||
waypoints[33].children[2] = 37;
|
|
||||||
waypoints[34] = spawnstruct();
|
|
||||||
waypoints[34].origin = (-6.74152,1920.84,-1.875);
|
|
||||||
waypoints[34].type = "stand";
|
|
||||||
waypoints[34].childCount = 3;
|
|
||||||
waypoints[34].children[0] = 33;
|
|
||||||
waypoints[34].children[1] = 35;
|
|
||||||
waypoints[34].children[2] = 38;
|
|
||||||
waypoints[35] = spawnstruct();
|
|
||||||
waypoints[35].origin = (323.083,1735.21,-3.87158);
|
|
||||||
waypoints[35].type = "stand";
|
|
||||||
waypoints[35].childCount = 4;
|
|
||||||
waypoints[35].children[0] = 34;
|
|
||||||
waypoints[35].children[1] = 36;
|
|
||||||
waypoints[35].children[2] = 38;
|
|
||||||
waypoints[35].children[3] = 104;
|
|
||||||
waypoints[36] = spawnstruct();
|
|
||||||
waypoints[36].origin = (382.238,1504.54,0.815162);
|
|
||||||
waypoints[36].type = "stand";
|
|
||||||
waypoints[36].childCount = 5;
|
|
||||||
waypoints[36].children[0] = 35;
|
|
||||||
waypoints[36].children[1] = 37;
|
|
||||||
waypoints[36].children[2] = 40;
|
|
||||||
waypoints[36].children[3] = 39;
|
|
||||||
waypoints[36].children[4] = 104;
|
|
||||||
waypoints[37] = spawnstruct();
|
|
||||||
waypoints[37].origin = (-26.8239,1469.4,18.1746);
|
|
||||||
waypoints[37].type = "stand";
|
|
||||||
waypoints[37].childCount = 5;
|
|
||||||
waypoints[37].children[0] = 36;
|
|
||||||
waypoints[37].children[1] = 33;
|
|
||||||
waypoints[37].children[2] = 38;
|
|
||||||
waypoints[37].children[3] = 32;
|
|
||||||
waypoints[37].children[4] = 39;
|
|
||||||
waypoints[38] = spawnstruct();
|
|
||||||
waypoints[38].origin = (116.04,1701.08,-1.875);
|
|
||||||
waypoints[38].type = "stand";
|
|
||||||
waypoints[38].childCount = 3;
|
|
||||||
waypoints[38].children[0] = 35;
|
|
||||||
waypoints[38].children[1] = 34;
|
|
||||||
waypoints[38].children[2] = 37;
|
|
||||||
waypoints[39] = spawnstruct();
|
|
||||||
waypoints[39].origin = (-8.94893,1299.2,8.125);
|
|
||||||
waypoints[39].type = "stand";
|
|
||||||
waypoints[39].childCount = 5;
|
|
||||||
waypoints[39].children[0] = 32;
|
|
||||||
waypoints[39].children[1] = 37;
|
|
||||||
waypoints[39].children[2] = 40;
|
|
||||||
waypoints[39].children[3] = 100;
|
|
||||||
waypoints[39].children[4] = 36;
|
|
||||||
waypoints[40] = spawnstruct();
|
|
||||||
waypoints[40].origin = (455.403,1263.83,0.80736);
|
|
||||||
waypoints[40].type = "stand";
|
|
||||||
waypoints[40].childCount = 4;
|
|
||||||
waypoints[40].children[0] = 39;
|
|
||||||
waypoints[40].children[1] = 36;
|
|
||||||
waypoints[40].children[2] = 41;
|
|
||||||
waypoints[40].children[3] = 42;
|
|
||||||
waypoints[41] = spawnstruct();
|
|
||||||
waypoints[41].origin = (597.815,952.998,0.125);
|
|
||||||
waypoints[41].type = "stand";
|
|
||||||
waypoints[41].childCount = 4;
|
|
||||||
waypoints[41].children[0] = 40;
|
|
||||||
waypoints[41].children[1] = 42;
|
|
||||||
waypoints[41].children[2] = 45;
|
|
||||||
waypoints[41].children[3] = 114;
|
|
||||||
waypoints[42] = spawnstruct();
|
|
||||||
waypoints[42].origin = (695.654,1285.26,0.633609);
|
|
||||||
waypoints[42].type = "stand";
|
|
||||||
waypoints[42].childCount = 5;
|
|
||||||
waypoints[42].children[0] = 40;
|
|
||||||
waypoints[42].children[1] = 41;
|
|
||||||
waypoints[42].children[2] = 43;
|
|
||||||
waypoints[42].children[3] = 105;
|
|
||||||
waypoints[42].children[4] = 106;
|
|
||||||
waypoints[43] = spawnstruct();
|
|
||||||
waypoints[43].origin = (1049.08,1175.52,0.125001);
|
|
||||||
waypoints[43].type = "stand";
|
|
||||||
waypoints[43].childCount = 3;
|
|
||||||
waypoints[43].children[0] = 42;
|
|
||||||
waypoints[43].children[1] = 44;
|
|
||||||
waypoints[43].children[2] = 106;
|
|
||||||
waypoints[44] = spawnstruct();
|
|
||||||
waypoints[44].origin = (1051.53,832.954,0.125001);
|
|
||||||
waypoints[44].type = "stand";
|
|
||||||
waypoints[44].childCount = 3;
|
|
||||||
waypoints[44].children[0] = 43;
|
|
||||||
waypoints[44].children[1] = 45;
|
|
||||||
waypoints[44].children[2] = 46;
|
|
||||||
waypoints[45] = spawnstruct();
|
|
||||||
waypoints[45].origin = (860.215,748.093,4.01932);
|
|
||||||
waypoints[45].type = "stand";
|
|
||||||
waypoints[45].childCount = 5;
|
|
||||||
waypoints[45].children[0] = 44;
|
|
||||||
waypoints[45].children[1] = 41;
|
|
||||||
waypoints[45].children[2] = 46;
|
|
||||||
waypoints[45].children[3] = 107;
|
|
||||||
waypoints[45].children[4] = 114;
|
|
||||||
waypoints[46] = spawnstruct();
|
|
||||||
waypoints[46].origin = (1115.09,663.253,16.125);
|
|
||||||
waypoints[46].type = "stand";
|
|
||||||
waypoints[46].childCount = 3;
|
|
||||||
waypoints[46].children[0] = 45;
|
|
||||||
waypoints[46].children[1] = 44;
|
|
||||||
waypoints[46].children[2] = 47;
|
|
||||||
waypoints[47] = spawnstruct();
|
|
||||||
waypoints[47].origin = (1119.5,467.566,184.125);
|
|
||||||
waypoints[47].type = "stand";
|
|
||||||
waypoints[47].childCount = 2;
|
|
||||||
waypoints[47].children[0] = 46;
|
|
||||||
waypoints[47].children[1] = 48;
|
|
||||||
waypoints[48] = spawnstruct();
|
|
||||||
waypoints[48].origin = (1054.24,383.648,184.125);
|
|
||||||
waypoints[48].type = "stand";
|
|
||||||
waypoints[48].childCount = 2;
|
|
||||||
waypoints[48].children[0] = 47;
|
|
||||||
waypoints[48].children[1] = 49;
|
|
||||||
waypoints[49] = spawnstruct();
|
|
||||||
waypoints[49].origin = (731.372,385.949,192.125);
|
|
||||||
waypoints[49].type = "stand";
|
|
||||||
waypoints[49].childCount = 3;
|
|
||||||
waypoints[49].children[0] = 48;
|
|
||||||
waypoints[49].children[1] = 50;
|
|
||||||
waypoints[49].children[2] = 51;
|
|
||||||
waypoints[50] = spawnstruct();
|
|
||||||
waypoints[50].origin = (645.881,551.47,192.125);
|
|
||||||
waypoints[50].type = "stand";
|
|
||||||
waypoints[50].childCount = 2;
|
|
||||||
waypoints[50].children[0] = 49;
|
|
||||||
waypoints[50].children[1] = 68;
|
|
||||||
waypoints[51] = spawnstruct();
|
|
||||||
waypoints[51].origin = (662.071,238.161,192.125);
|
|
||||||
waypoints[51].type = "stand";
|
|
||||||
waypoints[51].childCount = 2;
|
|
||||||
waypoints[51].children[0] = 49;
|
|
||||||
waypoints[51].children[1] = 52;
|
|
||||||
waypoints[52] = spawnstruct();
|
|
||||||
waypoints[52].origin = (660.251,-104.482,192.125);
|
|
||||||
waypoints[52].type = "stand";
|
|
||||||
waypoints[52].childCount = 3;
|
|
||||||
waypoints[52].children[0] = 51;
|
|
||||||
waypoints[52].children[1] = 54;
|
|
||||||
waypoints[52].children[2] = 53;
|
|
||||||
waypoints[53] = spawnstruct();
|
|
||||||
waypoints[53].origin = (735.331,-312.701,192.125);
|
|
||||||
waypoints[53].type = "stand";
|
|
||||||
waypoints[53].childCount = 3;
|
|
||||||
waypoints[53].children[0] = 54;
|
|
||||||
waypoints[53].children[1] = 52;
|
|
||||||
waypoints[53].children[2] = 55;
|
|
||||||
waypoints[54] = spawnstruct();
|
|
||||||
waypoints[54].origin = (646.806,-331.588,192.125);
|
|
||||||
waypoints[54].type = "stand";
|
|
||||||
waypoints[54].childCount = 3;
|
|
||||||
waypoints[54].children[0] = 52;
|
|
||||||
waypoints[54].children[1] = 53;
|
|
||||||
waypoints[54].children[2] = 57;
|
|
||||||
waypoints[55] = spawnstruct();
|
|
||||||
waypoints[55].origin = (759.845,-493.82,104.125);
|
|
||||||
waypoints[55].type = "stand";
|
|
||||||
waypoints[55].childCount = 2;
|
|
||||||
waypoints[55].children[0] = 53;
|
|
||||||
waypoints[55].children[1] = 56;
|
|
||||||
waypoints[56] = spawnstruct();
|
|
||||||
waypoints[56].origin = (675.205,-486.376,104.125);
|
|
||||||
waypoints[56].type = "stand";
|
|
||||||
waypoints[56].childCount = 2;
|
|
||||||
waypoints[56].children[0] = 55;
|
|
||||||
waypoints[56].children[1] = 1;
|
|
||||||
waypoints[57] = spawnstruct();
|
|
||||||
waypoints[57].origin = (626.279,-422.316,192.125);
|
|
||||||
waypoints[57].type = "stand";
|
|
||||||
waypoints[57].childCount = 2;
|
|
||||||
waypoints[57].children[0] = 54;
|
|
||||||
waypoints[57].children[1] = 58;
|
|
||||||
waypoints[58] = spawnstruct();
|
|
||||||
waypoints[58].origin = (366.824,-424.195,192.125);
|
|
||||||
waypoints[58].type = "stand";
|
|
||||||
waypoints[58].childCount = 2;
|
|
||||||
waypoints[58].children[0] = 59;
|
|
||||||
waypoints[58].children[1] = 57;
|
|
||||||
waypoints[59] = spawnstruct();
|
|
||||||
waypoints[59].origin = (-2.34399,-423.791,192.125);
|
|
||||||
waypoints[59].type = "stand";
|
|
||||||
waypoints[59].childCount = 2;
|
|
||||||
waypoints[59].children[0] = 60;
|
|
||||||
waypoints[59].children[1] = 58;
|
|
||||||
waypoints[60] = spawnstruct();
|
|
||||||
waypoints[60].origin = (-323.755,-417.004,192.125);
|
|
||||||
waypoints[60].type = "stand";
|
|
||||||
waypoints[60].childCount = 2;
|
|
||||||
waypoints[60].children[0] = 61;
|
|
||||||
waypoints[60].children[1] = 59;
|
|
||||||
waypoints[61] = spawnstruct();
|
|
||||||
waypoints[61].origin = (-702.528,-403.513,192.125);
|
|
||||||
waypoints[61].type = "stand";
|
|
||||||
waypoints[61].childCount = 2;
|
|
||||||
waypoints[61].children[0] = 60;
|
|
||||||
waypoints[61].children[1] = 62;
|
|
||||||
waypoints[62] = spawnstruct();
|
|
||||||
waypoints[62].origin = (-738.813,-298.498,192.125);
|
|
||||||
waypoints[62].type = "stand";
|
|
||||||
waypoints[62].childCount = 3;
|
|
||||||
waypoints[62].children[0] = 61;
|
|
||||||
waypoints[62].children[1] = 63;
|
|
||||||
waypoints[62].children[2] = 69;
|
|
||||||
waypoints[63] = spawnstruct();
|
|
||||||
waypoints[63].origin = (-670.498,1.26415,192.125);
|
|
||||||
waypoints[63].type = "stand";
|
|
||||||
waypoints[63].childCount = 2;
|
|
||||||
waypoints[63].children[0] = 62;
|
|
||||||
waypoints[63].children[1] = 64;
|
|
||||||
waypoints[64] = spawnstruct();
|
|
||||||
waypoints[64].origin = (-668.283,381.161,192.125);
|
|
||||||
waypoints[64].type = "stand";
|
|
||||||
waypoints[64].childCount = 2;
|
|
||||||
waypoints[64].children[0] = 63;
|
|
||||||
waypoints[64].children[1] = 21;
|
|
||||||
waypoints[65] = spawnstruct();
|
|
||||||
waypoints[65].origin = (-490.793,571.524,192.125);
|
|
||||||
waypoints[65].type = "stand";
|
|
||||||
waypoints[65].childCount = 2;
|
|
||||||
waypoints[65].children[0] = 21;
|
|
||||||
waypoints[65].children[1] = 66;
|
|
||||||
waypoints[66] = spawnstruct();
|
|
||||||
waypoints[66].origin = (-301.784,566.147,192.125);
|
|
||||||
waypoints[66].type = "stand";
|
|
||||||
waypoints[66].childCount = 2;
|
|
||||||
waypoints[66].children[0] = 65;
|
|
||||||
waypoints[66].children[1] = 67;
|
|
||||||
waypoints[67] = spawnstruct();
|
|
||||||
waypoints[67].origin = (14.7346,573.208,192.125);
|
|
||||||
waypoints[67].type = "stand";
|
|
||||||
waypoints[67].childCount = 2;
|
|
||||||
waypoints[67].children[0] = 66;
|
|
||||||
waypoints[67].children[1] = 68;
|
|
||||||
waypoints[68] = spawnstruct();
|
|
||||||
waypoints[68].origin = (305.039,571.19,192.125);
|
|
||||||
waypoints[68].type = "stand";
|
|
||||||
waypoints[68].childCount = 2;
|
|
||||||
waypoints[68].children[0] = 67;
|
|
||||||
waypoints[68].children[1] = 50;
|
|
||||||
waypoints[69] = spawnstruct();
|
|
||||||
waypoints[69].origin = (-865.677,-291.469,184.125);
|
|
||||||
waypoints[69].type = "stand";
|
|
||||||
waypoints[69].childCount = 2;
|
|
||||||
waypoints[69].children[0] = 62;
|
|
||||||
waypoints[69].children[1] = 70;
|
|
||||||
waypoints[70] = spawnstruct();
|
|
||||||
waypoints[70].origin = (-1125.46,-321.898,184.125);
|
|
||||||
waypoints[70].type = "stand";
|
|
||||||
waypoints[70].childCount = 2;
|
|
||||||
waypoints[70].children[0] = 69;
|
|
||||||
waypoints[70].children[1] = 71;
|
|
||||||
waypoints[71] = spawnstruct();
|
|
||||||
waypoints[71].origin = (-1106.26,-571.049,16.125);
|
|
||||||
waypoints[71].type = "stand";
|
|
||||||
waypoints[71].childCount = 4;
|
|
||||||
waypoints[71].children[0] = 70;
|
|
||||||
waypoints[71].children[1] = 72;
|
|
||||||
waypoints[71].children[2] = 75;
|
|
||||||
waypoints[71].children[3] = 110;
|
|
||||||
waypoints[72] = spawnstruct();
|
|
||||||
waypoints[72].origin = (-659.469,-730.962,16.125);
|
|
||||||
waypoints[72].type = "stand";
|
|
||||||
waypoints[72].childCount = 4;
|
|
||||||
waypoints[72].children[0] = 71;
|
|
||||||
waypoints[72].children[1] = 108;
|
|
||||||
waypoints[72].children[2] = 109;
|
|
||||||
waypoints[72].children[3] = 110;
|
|
||||||
waypoints[73] = spawnstruct();
|
|
||||||
waypoints[73].origin = (-646.755,-1255.77,16.125);
|
|
||||||
waypoints[73].type = "stand";
|
|
||||||
waypoints[73].childCount = 3;
|
|
||||||
waypoints[73].children[0] = 74;
|
|
||||||
waypoints[73].children[1] = 76;
|
|
||||||
waypoints[73].children[2] = 109;
|
|
||||||
waypoints[74] = spawnstruct();
|
|
||||||
waypoints[74].origin = (-876.086,-1248.7,16.125);
|
|
||||||
waypoints[74].type = "stand";
|
|
||||||
waypoints[74].childCount = 2;
|
|
||||||
waypoints[74].children[0] = 73;
|
|
||||||
waypoints[74].children[1] = 75;
|
|
||||||
waypoints[75] = spawnstruct();
|
|
||||||
waypoints[75].origin = (-965.944,-952.733,16.125);
|
|
||||||
waypoints[75].type = "stand";
|
|
||||||
waypoints[75].childCount = 2;
|
|
||||||
waypoints[75].children[0] = 74;
|
|
||||||
waypoints[75].children[1] = 71;
|
|
||||||
waypoints[76] = spawnstruct();
|
|
||||||
waypoints[76].origin = (-353.091,-1333.87,16.125);
|
|
||||||
waypoints[76].type = "stand";
|
|
||||||
waypoints[76].childCount = 3;
|
|
||||||
waypoints[76].children[0] = 73;
|
|
||||||
waypoints[76].children[1] = 77;
|
|
||||||
waypoints[76].children[2] = 79;
|
|
||||||
waypoints[77] = spawnstruct();
|
|
||||||
waypoints[77].origin = (-320.427,-1501.57,16.125);
|
|
||||||
waypoints[77].type = "stand";
|
|
||||||
waypoints[77].childCount = 2;
|
|
||||||
waypoints[77].children[0] = 76;
|
|
||||||
waypoints[77].children[1] = 78;
|
|
||||||
waypoints[78] = spawnstruct();
|
|
||||||
waypoints[78].origin = (-145.803,-1646.58,16.125);
|
|
||||||
waypoints[78].type = "stand";
|
|
||||||
waypoints[78].childCount = 5;
|
|
||||||
waypoints[78].children[0] = 77;
|
|
||||||
waypoints[78].children[1] = 4;
|
|
||||||
waypoints[78].children[2] = 3;
|
|
||||||
waypoints[78].children[3] = 5;
|
|
||||||
waypoints[78].children[4] = 79;
|
|
||||||
waypoints[79] = spawnstruct();
|
|
||||||
waypoints[79].origin = (-9.68692,-1389.69,17.0544);
|
|
||||||
waypoints[79].type = "stand";
|
|
||||||
waypoints[79].childCount = 6;
|
|
||||||
waypoints[79].children[0] = 5;
|
|
||||||
waypoints[79].children[1] = 78;
|
|
||||||
waypoints[79].children[2] = 76;
|
|
||||||
waypoints[79].children[3] = 6;
|
|
||||||
waypoints[79].children[4] = 7;
|
|
||||||
waypoints[79].children[5] = 82;
|
|
||||||
waypoints[80] = spawnstruct();
|
|
||||||
waypoints[80].origin = (945.134,-1299.76,16.125);
|
|
||||||
waypoints[80].type = "stand";
|
|
||||||
waypoints[80].childCount = 2;
|
|
||||||
waypoints[80].children[0] = 7;
|
|
||||||
waypoints[80].children[1] = 81;
|
|
||||||
waypoints[81] = spawnstruct();
|
|
||||||
waypoints[81].origin = (964.397,-912.064,16.2567);
|
|
||||||
waypoints[81].type = "stand";
|
|
||||||
waypoints[81].childCount = 3;
|
|
||||||
waypoints[81].children[0] = 80;
|
|
||||||
waypoints[81].children[1] = 9;
|
|
||||||
waypoints[81].children[2] = 8;
|
|
||||||
waypoints[82] = spawnstruct();
|
|
||||||
waypoints[82].origin = (24.8224,-1003.39,16.0088);
|
|
||||||
waypoints[82].type = "stand";
|
|
||||||
waypoints[82].childCount = 2;
|
|
||||||
waypoints[82].children[0] = 79;
|
|
||||||
waypoints[82].children[1] = 83;
|
|
||||||
waypoints[83] = spawnstruct();
|
|
||||||
waypoints[83].origin = (-34.5625,-682.197,16.0088);
|
|
||||||
waypoints[83].type = "stand";
|
|
||||||
waypoints[83].childCount = 2;
|
|
||||||
waypoints[83].children[0] = 82;
|
|
||||||
waypoints[83].children[1] = 84;
|
|
||||||
waypoints[84] = spawnstruct();
|
|
||||||
waypoints[84].origin = (25.6259,-447.97,16.0088);
|
|
||||||
waypoints[84].type = "stand";
|
|
||||||
waypoints[84].childCount = 5;
|
|
||||||
waypoints[84].children[0] = 83;
|
|
||||||
waypoints[84].children[1] = 85;
|
|
||||||
waypoints[84].children[2] = 86;
|
|
||||||
waypoints[84].children[3] = 89;
|
|
||||||
waypoints[84].children[4] = 90;
|
|
||||||
waypoints[85] = spawnstruct();
|
|
||||||
waypoints[85].origin = (318.792,-442.476,16.0088);
|
|
||||||
waypoints[85].type = "stand";
|
|
||||||
waypoints[85].childCount = 3;
|
|
||||||
waypoints[85].children[0] = 84;
|
|
||||||
waypoints[85].children[1] = 0;
|
|
||||||
waypoints[85].children[2] = 1;
|
|
||||||
waypoints[86] = spawnstruct();
|
|
||||||
waypoints[86].origin = (-218.847,-438.109,16.0088);
|
|
||||||
waypoints[86].type = "stand";
|
|
||||||
waypoints[86].childCount = 2;
|
|
||||||
waypoints[86].children[0] = 84;
|
|
||||||
waypoints[86].children[1] = 87;
|
|
||||||
waypoints[87] = spawnstruct();
|
|
||||||
waypoints[87].origin = (-693.322,-423.187,16.0088);
|
|
||||||
waypoints[87].type = "stand";
|
|
||||||
waypoints[87].childCount = 2;
|
|
||||||
waypoints[87].children[0] = 86;
|
|
||||||
waypoints[87].children[1] = 88;
|
|
||||||
waypoints[88] = spawnstruct();
|
|
||||||
waypoints[88].origin = (-708.497,-72.4109,16.0088);
|
|
||||||
waypoints[88].type = "stand";
|
|
||||||
waypoints[88].childCount = 2;
|
|
||||||
waypoints[88].children[0] = 87;
|
|
||||||
waypoints[88].children[1] = 24;
|
|
||||||
waypoints[89] = spawnstruct();
|
|
||||||
waypoints[89].origin = (-130.83,-223.262,0.125);
|
|
||||||
waypoints[89].type = "stand";
|
|
||||||
waypoints[89].childCount = 4;
|
|
||||||
waypoints[89].children[0] = 84;
|
|
||||||
waypoints[89].children[1] = 90;
|
|
||||||
waypoints[89].children[2] = 91;
|
|
||||||
waypoints[89].children[3] = 93;
|
|
||||||
waypoints[90] = spawnstruct();
|
|
||||||
waypoints[90].origin = (129.025,-178.039,0.125);
|
|
||||||
waypoints[90].type = "stand";
|
|
||||||
waypoints[90].childCount = 6;
|
|
||||||
waypoints[90].children[0] = 84;
|
|
||||||
waypoints[90].children[1] = 89;
|
|
||||||
waypoints[90].children[2] = 96;
|
|
||||||
waypoints[90].children[3] = 97;
|
|
||||||
waypoints[90].children[4] = 98;
|
|
||||||
waypoints[90].children[5] = 93;
|
|
||||||
waypoints[91] = spawnstruct();
|
|
||||||
waypoints[91].origin = (-496.043,-77.612,0.125);
|
|
||||||
waypoints[91].type = "stand";
|
|
||||||
waypoints[91].childCount = 4;
|
|
||||||
waypoints[91].children[0] = 89;
|
|
||||||
waypoints[91].children[1] = 23;
|
|
||||||
waypoints[91].children[2] = 22;
|
|
||||||
waypoints[91].children[3] = 93;
|
|
||||||
waypoints[92] = spawnstruct();
|
|
||||||
waypoints[92].origin = (-534.335,388.236,7.64728);
|
|
||||||
waypoints[92].type = "stand";
|
|
||||||
waypoints[92].childCount = 4;
|
|
||||||
waypoints[92].children[0] = 22;
|
|
||||||
waypoints[92].children[1] = 18;
|
|
||||||
waypoints[92].children[2] = 19;
|
|
||||||
waypoints[92].children[3] = 94;
|
|
||||||
waypoints[93] = spawnstruct();
|
|
||||||
waypoints[93].origin = (-199.832,96.0957,0.124999);
|
|
||||||
waypoints[93].type = "stand";
|
|
||||||
waypoints[93].childCount = 6;
|
|
||||||
waypoints[93].children[0] = 89;
|
|
||||||
waypoints[93].children[1] = 91;
|
|
||||||
waypoints[93].children[2] = 94;
|
|
||||||
waypoints[93].children[3] = 90;
|
|
||||||
waypoints[93].children[4] = 95;
|
|
||||||
waypoints[93].children[5] = 23;
|
|
||||||
waypoints[94] = spawnstruct();
|
|
||||||
waypoints[94].origin = (-122.751,283.863,0.124999);
|
|
||||||
waypoints[94].type = "stand";
|
|
||||||
waypoints[94].childCount = 5;
|
|
||||||
waypoints[94].children[0] = 93;
|
|
||||||
waypoints[94].children[1] = 17;
|
|
||||||
waypoints[94].children[2] = 92;
|
|
||||||
waypoints[94].children[3] = 22;
|
|
||||||
waypoints[94].children[4] = 95;
|
|
||||||
waypoints[95] = spawnstruct();
|
|
||||||
waypoints[95].origin = (104.783,261.223,0.125);
|
|
||||||
waypoints[95].type = "stand";
|
|
||||||
waypoints[95].childCount = 4;
|
|
||||||
waypoints[95].children[0] = 17;
|
|
||||||
waypoints[95].children[1] = 96;
|
|
||||||
waypoints[95].children[2] = 93;
|
|
||||||
waypoints[95].children[3] = 94;
|
|
||||||
waypoints[96] = spawnstruct();
|
|
||||||
waypoints[96].origin = (186.481,28.8222,0.125);
|
|
||||||
waypoints[96].type = "stand";
|
|
||||||
waypoints[96].childCount = 4;
|
|
||||||
waypoints[96].children[0] = 95;
|
|
||||||
waypoints[96].children[1] = 90;
|
|
||||||
waypoints[96].children[2] = 15;
|
|
||||||
waypoints[96].children[3] = 97;
|
|
||||||
waypoints[97] = spawnstruct();
|
|
||||||
waypoints[97].origin = (452.621,-79.9207,0.125);
|
|
||||||
waypoints[97].type = "stand";
|
|
||||||
waypoints[97].childCount = 4;
|
|
||||||
waypoints[97].children[0] = 15;
|
|
||||||
waypoints[97].children[1] = 90;
|
|
||||||
waypoints[97].children[2] = 98;
|
|
||||||
waypoints[97].children[3] = 96;
|
|
||||||
waypoints[98] = spawnstruct();
|
|
||||||
waypoints[98].origin = (538.879,-249.726,0.125);
|
|
||||||
waypoints[98].type = "stand";
|
|
||||||
waypoints[98].childCount = 3;
|
|
||||||
waypoints[98].children[0] = 97;
|
|
||||||
waypoints[98].children[1] = 11;
|
|
||||||
waypoints[98].children[2] = 90;
|
|
||||||
waypoints[99] = spawnstruct();
|
|
||||||
waypoints[99].origin = (-32.1886,797.337,16.125);
|
|
||||||
waypoints[99].type = "stand";
|
|
||||||
waypoints[99].childCount = 2;
|
|
||||||
waypoints[99].children[0] = 17;
|
|
||||||
waypoints[99].children[1] = 100;
|
|
||||||
waypoints[100] = spawnstruct();
|
|
||||||
waypoints[100].origin = (24.8883,1097.62,16.125);
|
|
||||||
waypoints[100].type = "stand";
|
|
||||||
waypoints[100].childCount = 2;
|
|
||||||
waypoints[100].children[0] = 99;
|
|
||||||
waypoints[100].children[1] = 39;
|
|
||||||
waypoints[101] = spawnstruct();
|
|
||||||
waypoints[101].origin = (-942.212,-139.769,16.125);
|
|
||||||
waypoints[101].type = "stand";
|
|
||||||
waypoints[101].childCount = 1;
|
|
||||||
waypoints[101].children[0] = 25;
|
|
||||||
waypoints[102] = spawnstruct();
|
|
||||||
waypoints[102].origin = (961.552,255.482,15.3501);
|
|
||||||
waypoints[102].type = "stand";
|
|
||||||
waypoints[102].childCount = 1;
|
|
||||||
waypoints[102].children[0] = 12;
|
|
||||||
waypoints[103] = spawnstruct();
|
|
||||||
waypoints[103].origin = (655.375,-317.287,16.125);
|
|
||||||
waypoints[103].type = "stand";
|
|
||||||
waypoints[103].childCount = 1;
|
|
||||||
waypoints[103].children[0] = 11;
|
|
||||||
waypoints[104] = spawnstruct();
|
|
||||||
waypoints[104].origin = (431.222,1608.22,3.50296);
|
|
||||||
waypoints[104].type = "stand";
|
|
||||||
waypoints[104].childCount = 2;
|
|
||||||
waypoints[104].children[0] = 35;
|
|
||||||
waypoints[104].children[1] = 36;
|
|
||||||
waypoints[105] = spawnstruct();
|
|
||||||
waypoints[105].origin = (962.756,1433.83,0.748573);
|
|
||||||
waypoints[105].type = "stand";
|
|
||||||
waypoints[105].childCount = 2;
|
|
||||||
waypoints[105].children[0] = 42;
|
|
||||||
waypoints[105].children[1] = 106;
|
|
||||||
waypoints[106] = spawnstruct();
|
|
||||||
waypoints[106].origin = (897.747,1288.22,0.400695);
|
|
||||||
waypoints[106].type = "stand";
|
|
||||||
waypoints[106].childCount = 3;
|
|
||||||
waypoints[106].children[0] = 105;
|
|
||||||
waypoints[106].children[1] = 42;
|
|
||||||
waypoints[106].children[2] = 43;
|
|
||||||
waypoints[107] = spawnstruct();
|
|
||||||
waypoints[107].origin = (749.668,687.343,11.8986);
|
|
||||||
waypoints[107].type = "stand";
|
|
||||||
waypoints[107].childCount = 2;
|
|
||||||
waypoints[107].children[0] = 45;
|
|
||||||
waypoints[107].children[1] = 114;
|
|
||||||
waypoints[108] = spawnstruct();
|
|
||||||
waypoints[108].origin = (-500.519,-952.662,16.125);
|
|
||||||
waypoints[108].type = "stand";
|
|
||||||
waypoints[108].childCount = 2;
|
|
||||||
waypoints[108].children[0] = 72;
|
|
||||||
waypoints[108].children[1] = 109;
|
|
||||||
waypoints[109] = spawnstruct();
|
|
||||||
waypoints[109].origin = (-634.56,-1027.6,16.125);
|
|
||||||
waypoints[109].type = "stand";
|
|
||||||
waypoints[109].childCount = 3;
|
|
||||||
waypoints[109].children[0] = 73;
|
|
||||||
waypoints[109].children[1] = 108;
|
|
||||||
waypoints[109].children[2] = 72;
|
|
||||||
waypoints[110] = spawnstruct();
|
|
||||||
waypoints[110].origin = (-612.432,-586.304,16.125);
|
|
||||||
waypoints[110].type = "stand";
|
|
||||||
waypoints[110].childCount = 2;
|
|
||||||
waypoints[110].children[0] = 72;
|
|
||||||
waypoints[110].children[1] = 71;
|
|
||||||
waypoints[111] = spawnstruct();
|
|
||||||
waypoints[111].origin = (-349.851,-1829.05,16.125);
|
|
||||||
waypoints[111].type = "stand";
|
|
||||||
waypoints[111].childCount = 1;
|
|
||||||
waypoints[111].children[0] = 4;
|
|
||||||
waypoints[112] = spawnstruct();
|
|
||||||
waypoints[112].origin = (375.916,807.075,104.125);
|
|
||||||
waypoints[112].type = "stand";
|
|
||||||
waypoints[112].childCount = 1;
|
|
||||||
waypoints[112].children[0] = 113;
|
|
||||||
waypoints[113] = spawnstruct();
|
|
||||||
waypoints[113].origin = (447.038,801.978,100.352);
|
|
||||||
waypoints[113].type = "stand";
|
|
||||||
waypoints[113].childCount = 2;
|
|
||||||
waypoints[113].children[0] = 112;
|
|
||||||
waypoints[113].children[1] = 114;
|
|
||||||
waypoints[114] = spawnstruct();
|
|
||||||
waypoints[114].origin = (651.898,799.593,0.124998);
|
|
||||||
waypoints[114].type = "stand";
|
|
||||||
waypoints[114].childCount = 4;
|
|
||||||
waypoints[114].children[0] = 113;
|
|
||||||
waypoints[114].children[1] = 41;
|
|
||||||
waypoints[114].children[2] = 107;
|
|
||||||
waypoints[114].children[3] = 45;
|
|
||||||
return waypoints;
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
bota
|
|
||||||
botb
|
|
||||||
botc
|
|
||||||
botd
|
|
||||||
bote
|
|
||||||
botf
|
|
||||||
botg
|
|
||||||
both
|
|
||||||
boti
|
|
||||||
botj
|
|
||||||
botk
|
|
||||||
botl
|
|
||||||
botm
|
|
||||||
botn
|
|
||||||
boto
|
|
||||||
botp
|
|
||||||
botq
|
|
||||||
botr
|
|
||||||
bots
|
|
||||||
bott
|
|
||||||
botu
|
|
||||||
botv
|
|
||||||
botw
|
|
||||||
botx
|
|
||||||
boty
|
|
||||||
botz
|
|
@ -1 +0,0 @@
|
|||||||
start "" "%~dp0cod4x18_dedrun.exe" +set dedicated "1" +set sv_maxclients "64" +set net_port "28965" +set fs_game "mods/bots" +exec localbotserver.cfg +map_rotate
|
|
@ -1 +0,0 @@
|
|||||||
start "" "%~dp0iw3mp.exe" +connect 127.0.0.1:28965
|
|
@ -1,71 +0,0 @@
|
|||||||
# CoD4x Bot Warfare v2.1.0
|
|
||||||
Bot Warfare is a GSC mod for the CoD4x project.
|
|
||||||
|
|
||||||
It aims to add playable AI to the multiplayer games of CoD4.
|
|
||||||
|
|
||||||
You can find the more information at the Git Repo: https://github.com/ineedbots/cod4x_bot_warfare
|
|
||||||
|
|
||||||
**Important to public dedicated servers**
|
|
||||||
The 'bots_main_firstIsHost' DVAR is enabled by default!
|
|
||||||
This is so inexperienced users of the mod can access with menu without any configuration.
|
|
||||||
Make sure to disable this DVAR by adding 'set bots_main_firstIsHost 0' in your server config!
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
0. Make sure that CoD4x server + client is installed, updated and working properly.
|
|
||||||
- Go to https://cod4x.ovh/ and download the Windows Server zip file. Move the contents of 'cod4x-windows-server' into your CoD4 game folder.
|
|
||||||
1. Locate your CoD4x server install folder.
|
|
||||||
2. Move the files/folders found in 'Add to root of CoD4x server' from the Bot Warfare release archive you downloaded to the root of your CoD4x server folder.
|
|
||||||
- The folder/file structure should follow as '.CoD4x server folder\main_shared\maps\mp\bots\_bot.gsc'.
|
|
||||||
3. The mod is now installed.
|
|
||||||
- You can use the z_localserver.bat to start a local server.
|
|
||||||
- You can use the z_playserver.bat to join the local server and play!
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
### Menu Usage
|
|
||||||
- You can open the menu by pressing the primary grenade and secondary grenade buttons together.
|
|
||||||
|
|
||||||
- You can navigate the options by the pressing the ADS and fire keys, and you can select options by pressing your melee key.
|
|
||||||
|
|
||||||
- Pressing the menu button again closes menus.
|
|
||||||
|
|
||||||
## Changelog
|
|
||||||
- v2.1.0
|
|
||||||
- Bot chatter system, bots_main_chat
|
|
||||||
- Greatly reduce script variable usage
|
|
||||||
- Improved bots mantling and stuck
|
|
||||||
- Fix some runtime errors
|
|
||||||
- Bots sprint more
|
|
||||||
- Improved bots sight on enemies
|
|
||||||
- Bots do random actions while waiting at an objective
|
|
||||||
- Improved bots from getting stuck
|
|
||||||
- Better bot difficulty management, bots_skill_min and bots_skill_max
|
|
||||||
|
|
||||||
- v2.0.1
|
|
||||||
- Reduced bots crouching
|
|
||||||
- Increased bots sprinting
|
|
||||||
- Improved bots mantling, crouching and knifing glass when needed
|
|
||||||
- Fixed possible script runtime errors
|
|
||||||
- Improved domination
|
|
||||||
- Bots use explosives more if they have it
|
|
||||||
- Bots aim slower when ads'ing
|
|
||||||
- Fixed bots holding breath
|
|
||||||
- Fixed bots rubberbanding movement when their goal changes
|
|
||||||
- Added bots quickscoping with snipers
|
|
||||||
- Added bots reload canceling and fast swaps
|
|
||||||
- Bots use C4
|
|
||||||
- Improved revenge
|
|
||||||
- Bots can swap weapons on spawn more likely
|
|
||||||
|
|
||||||
- v2.0.0
|
|
||||||
- Initial reboot release
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
- CoD4x Team - https://github.com/callofduty4x/CoD4x_Server
|
|
||||||
- INeedGames(me) - http://www.moddb.com/mods/bot-warfare
|
|
||||||
- PeZBot team - http://www.moddb.com/mods/pezbot
|
|
||||||
- Ability
|
|
||||||
- Salvation
|
|
||||||
|
|
||||||
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
|
|
BIN
out/ss.jpg
Before Width: | Height: | Size: 1.4 MiB |
20
scriptdata/waypoints/README.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# IW3 Bot Warfare Waypoints
|
||||||
|
|
||||||
|
Welcome to the collection of waypoints for IW3 Bot Warfare.
|
||||||
|
|
||||||
|
This repo contains all of the waypoints in CSV format, a format that Bot Warfare can read at run time.
|
||||||
|
|
||||||
|
|
||||||
|
[Here is a tool](https://github.com/ineedbots/bw_node_tools/blob/master/src/gscwptocsv.js) that will convert a PeZBOT GSC into the CSV format.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Waypoint Creators
|
||||||
|
|
||||||
|
- Freddy & Metaljag
|
||||||
|
- CannerZ45
|
||||||
|
- JAK (BF2all)
|
||||||
|
- MikeTheGuy
|
||||||
|
- Botmancod
|
||||||
|
- Hugo HG
|
||||||
|
- Stendby
|
34
scriptdata/waypoints/cube_wp.csv
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
33
|
||||||
|
-91.7391 1296.84 4.125,3 1,undefined,,,
|
||||||
|
-513.47 1297.05 4.125,0 2,undefined,,,
|
||||||
|
-513.532 892.596 4.125,1 4 3,undefined,,,
|
||||||
|
-95.627 888.155 4.125,0 22 2,undefined,,,
|
||||||
|
-515.998 507.737 4.125,2 5,undefined,,,
|
||||||
|
-513.599 95.4036 4.125,4 6,undefined,,,
|
||||||
|
-517.385 -314.375 4.125,5 7,undefined,,,
|
||||||
|
-517.357 -733.17 4.125,6 8,undefined,,,
|
||||||
|
-517.011 -1147.4 4.125,7 9,undefined,,,
|
||||||
|
-120.81 -1178.33 4.125,8 10 14,undefined,,,
|
||||||
|
-84.3189 -752.401 4.125,9 11,undefined,,,
|
||||||
|
299.118 -751.464 4.125,10 12,undefined,,,
|
||||||
|
705.61 -762.512 4.125,11 13 16 17,undefined,,,
|
||||||
|
732.46 -1171.01 4.125,14 12 15,undefined,,,
|
||||||
|
314.28 -1171.1 4.125,13 9,undefined,,,
|
||||||
|
1122.23 -1173.9 4.125,13 16,undefined,,,
|
||||||
|
1134.21 -779.143 4.125,15 12 32,undefined,,,
|
||||||
|
711.291 -372.404 4.125,12 18 23,undefined,,,
|
||||||
|
307.242 -334.239 4.125,17 19,undefined,,,
|
||||||
|
307.287 62.6363 4.125,18 20 21 24,undefined,,,
|
||||||
|
-102.402 70.1358 4.125,19,undefined,,,
|
||||||
|
312.679 465.682 4.125,19 22 25,undefined,,,
|
||||||
|
-106.068 473.136 4.125,21 3,undefined,,,
|
||||||
|
912.448 -340.926 4.125,17,undefined,,,
|
||||||
|
487.993 73.6146 4.125,19,undefined,,,
|
||||||
|
293.392 879.101 4.125,21 26,undefined,,,
|
||||||
|
712.057 888.205 4.125,25 27,undefined,,,
|
||||||
|
723.093 473.955 4.125,26 28,undefined,,,
|
||||||
|
1128.75 470.504 4.125,27 29,undefined,,,
|
||||||
|
1537.53 471.798 4.125,28 30,undefined,,,
|
||||||
|
1542.56 85.6186 4.125,29 31,undefined,,,
|
||||||
|
1542.67 -336.824 4.125,30 32,undefined,,,
|
||||||
|
1542.76 -749.58 4.125,31 16,undefined,,,
|
|
114
scriptdata/waypoints/mp_4doffice_wp.csv
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
113
|
||||||
|
1733.58 233.16 136.125,24 23 13,stand,,,
|
||||||
|
1453 -206.2 0.125,94 95,stand,,,
|
||||||
|
2183.12 240.522 -127.875,3,stand,,,
|
||||||
|
2157.11 -13.5664 -127.875,2 4,stand,,,
|
||||||
|
2311.73 -15.5734 -127.875,3 5,stand,,,
|
||||||
|
2288.88 310.29 0.125,4 6 92,stand,,,
|
||||||
|
2216.97 280.773 0.125,5 7 92,stand,,,
|
||||||
|
2219.71 -23.0341 0.125,6 8,stand,,,
|
||||||
|
2308.17 -13.9387 0.125,7 9,stand,,,
|
||||||
|
2328.48 268.216 128.125,8 10,stand,,,
|
||||||
|
2260.59 348.646 136.125,9 11,stand,,,
|
||||||
|
2064.81 338.414 136.125,10 12 14 24 17 25,stand,,,
|
||||||
|
1632.71 -56.1313 136.125,11 13 14 22 23 24 25,stand,,,
|
||||||
|
1812.12 -149.269 136.125,12 14 22 0,stand,,,
|
||||||
|
2173.09 -28.1784 136.125,13 11 12 15 17,stand,,,
|
||||||
|
2344.27 16.8739 136.125,16 14 17,climb,9.53491 89.081 0,,
|
||||||
|
2337.7 54.0345 244.125,15,climb,7.20032 91.108 0,,
|
||||||
|
2312 -208.322 136.125,14 15 21 11,stand,,,
|
||||||
|
2090.09 -376.612 40.125,19 93,stand,,,
|
||||||
|
2141.46 -424.214 10.125,18 20,stand,,,
|
||||||
|
2260.75 -407.277 10.125,19 21,climb,2.56409 87.5739 0,,
|
||||||
|
2261.49 -367.761 140.125,20 17,climb,81.6656 91.3422 0,,
|
||||||
|
1456.3 178.006 136.125,12 13 23 26 30,stand,,,
|
||||||
|
1690.37 128.417 136.125,0 12 24 22,stand,,,
|
||||||
|
1876.51 251.916 136.125,0 23 12 11 25,stand,,,
|
||||||
|
1511.61 -275.268 136.125,12 24 11 26 27 28 30 112,stand,,,
|
||||||
|
1238.5 24.3717 136.125,22 25 27 28 30,stand,,,
|
||||||
|
1289.75 -277.416 136.125,25 26 28,stand,,,
|
||||||
|
1243.26 276.144 136.125,26 25 27 29 112,stand,,,
|
||||||
|
940.341 265.083 136.125,30 28 36 112,stand,,,
|
||||||
|
1086.62 -82.7684 136.125,26 25 29 22 31 36,stand,,,
|
||||||
|
841.048 -255.803 136.125,30 32 34,stand,,,
|
||||||
|
423.835 -322.087 136.125,31 33 37 105,stand,,,
|
||||||
|
255.63 135.289 136.125,32 34 37 38 105,stand,,,
|
||||||
|
651.811 235.207 136.125,33 31 35 37,stand,,,
|
||||||
|
784.952 43.6093 136.125,34 36,stand,,,
|
||||||
|
944.779 167.056 136.125,29 30 35 112,stand,,,
|
||||||
|
479.938 8.19693 136.125,34 32 33 38 105,stand,,,
|
||||||
|
-174.12 0.257538 136.125,33 37 39 40,stand,,,
|
||||||
|
-430.595 -108.045 136.125,38 44 45,stand,,,
|
||||||
|
-309.213 12.8544 136.125,38 41,stand,,,
|
||||||
|
-494.578 178.099 136.125,40 42 43,stand,,,
|
||||||
|
-385.362 269.799 136.125,41 48,stand,,,
|
||||||
|
-683.572 279.303 136.125,41 44 45 51,stand,,,
|
||||||
|
-795.361 85.1956 136.125,43 39 45,stand,,,
|
||||||
|
-878.039 -33.4477 136.125,39 44 43,stand,,,
|
||||||
|
-208.505 416.134 10.125,47 102 107 108,stand,,,
|
||||||
|
-381.332 415.125 10.1412,46 48,climb,6.18958 -89.4159 0,,
|
||||||
|
-381.262 381.438 140.125,47 42,climb,8.79333 -84.6643 0,,
|
||||||
|
-824.489 240.749 0.935783,50 52 54,stand,,,
|
||||||
|
-824.181 344.875 0.125002,49 51,climb,0.52063 90.705 0,,
|
||||||
|
-786.003 344.435 136.125,50 43,climb,60.083 88.3979 0,,
|
||||||
|
-969.645 192.84 1.125,49 53,stand,,,
|
||||||
|
-821.936 134.855 1.125,52 54,stand,,,
|
||||||
|
-524.898 242.007 1.12467,53 49 55 59,stand,,,
|
||||||
|
-393.706 205.237 0.125002,54 56 60 71,stand,,,
|
||||||
|
-376.834 -193.953 0.125,55 57 68,stand,,,
|
||||||
|
-309.5 -206.009 18.2773,56 58,stand,,,
|
||||||
|
-224.194 -171.441 0.125002,57 59,stand,,,
|
||||||
|
-240.741 257.243 1.125,58 54 71 70 106,stand,,,
|
||||||
|
-660.534 59.9441 1.04621,55 61 69 70 71,stand,,,
|
||||||
|
-641.537 -73.9196 1.04795,60 62 68,stand,,,
|
||||||
|
-554.322 -218.581 0.125002,61 63 63 68,stand,,,
|
||||||
|
-592.157 -305.256 0.125002,64 62 62 68,stand,,,
|
||||||
|
-593.869 -382.365 40.125,63 65,stand,,,
|
||||||
|
-527.224 -421.047 10.125,64 66,stand,,,
|
||||||
|
-168.344 -418.036 10.125,65 67 77,stand,,,
|
||||||
|
480.313 -422.535 10.125,76 77 66,stand,,,
|
||||||
|
-525.719 -108.292 2.80823,56 62 63 61,stand,,,
|
||||||
|
188.086 176.153 0.124998,60 70 71 80,stand,,,
|
||||||
|
16.1659 99.4017 0.124998,69 60 71 59 72,stand,,,
|
||||||
|
-337.133 81.1536 0.124998,55 60 70 69 59 106,stand,,,
|
||||||
|
90.4592 -73.2581 0.125002,70 73 84,stand,,,
|
||||||
|
431.51 -67.6764 0.383909,72 74 81 84,stand,,,
|
||||||
|
367.224 -213.226 0.124999,73 81 75,stand,,,
|
||||||
|
486.026 -311.535 0.124999,76 81 74,stand,,,
|
||||||
|
484.432 -375.919 40.1477,75 67,stand,,,
|
||||||
|
827.519 -426.026 10.125,79 67 66,stand,,,
|
||||||
|
828.309 -305.505 0.124999,79 80 100,stand,,,
|
||||||
|
825.257 -375.195 33.4722,77 78,stand,,,
|
||||||
|
820.428 69.1938 1.125,78 69 82 85 98,stand,,,
|
||||||
|
598.283 -103.718 0.124999,74 73 75 82 84,stand,,,
|
||||||
|
613.617 56.6777 1.125,81 83 80,stand,,,
|
||||||
|
283.634 60.791 0.125002,82 84,stand,,,
|
||||||
|
295.97 -43.0754 0.125002,83 72 73 81,stand,,,
|
||||||
|
878.779 194.709 0.125,80 86 109,stand,,,
|
||||||
|
1047.49 205.981 1.125,85 87 109,stand,,,
|
||||||
|
1184.99 352.944 0.124999,86 88,stand,,,
|
||||||
|
1558.39 343.08 0.125001,87 89,stand,,,
|
||||||
|
1540.8 112.242 0.125001,88 90 97,stand,,,
|
||||||
|
1689.13 50.6814 1.125,89 91 94,stand,,,
|
||||||
|
2007.9 64.0222 0.124998,90 92 93,stand,,,
|
||||||
|
2046.59 273.329 0.124998,91 5 6,stand,,,
|
||||||
|
2068.54 -287.147 0.125,18 91,stand,,,
|
||||||
|
1675.8 -180.166 0.125001,90 1 95,stand,,,
|
||||||
|
1318.66 -61.636 0.125001,1 96 94,stand,,,
|
||||||
|
1215.81 -22.4591 0.125,95 97 101,stand,,,
|
||||||
|
1203.76 118.287 1.02737,96 89 98,stand,,,
|
||||||
|
977.201 40.5211 0.125,97 80 99,stand,,,
|
||||||
|
972.907 -210.071 0.125001,98 100 101,stand,,,
|
||||||
|
921.692 -266.244 0.125001,99 78,stand,,,
|
||||||
|
1217.07 -241.919 1.125,99 96,stand,,,
|
||||||
|
182.922 413.127 10.1504,103 46,climb,15.5994 -87.7222 0,,
|
||||||
|
185.194 390.797 140.125,102 104,climb,-2.07214 -90.1886 0,,
|
||||||
|
196.821 351.087 136.125,103 105,stand,,,
|
||||||
|
341.216 341.414 136.125,104 33 32 37,stand,,,
|
||||||
|
-297.769 323.862 0.492422,107 59 71,stand,,,
|
||||||
|
-221.815 375.917 39.737,46 106,stand,,,
|
||||||
|
780.136 420.141 10.125,46 110 111,stand,,,
|
||||||
|
870.801 312.352 1.125,110 86 85,stand,,,
|
||||||
|
802.575 375.584 35.8361,108 109,stand,,,
|
||||||
|
1140.29 409.125 10.125,108 112,climb,18.4943 -90.086 0,,
|
||||||
|
1143.36 362.718 136.125,111 29 36 28 25,climb,16.1761 -90.2344 0,,
|
|