mirror of
https://github.com/ineedbots/iw5_bot_warfare.git
synced 2025-04-25 15:19:14 +00:00
fmt
This commit is contained in:
parent
04b7296246
commit
3ff48407d5
14
.astylerc
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]
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -16,21 +16,21 @@ init()
|
|||||||
{
|
{
|
||||||
setdvar( "bots_main_debug", 0 );
|
setdvar( "bots_main_debug", 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !getdvarint( "bots_main_debug" ) )
|
if ( !getdvarint( "bots_main_debug" ) )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if(!getdvarint("developer"))
|
/* if(!getdvarint("developer"))
|
||||||
{
|
{
|
||||||
setdvar("developer_script", 1);
|
setdvar("developer_script", 1);
|
||||||
setdvar("developer", 1);
|
setdvar("developer", 1);
|
||||||
|
|
||||||
setdvar("sv_mapRotation", "map "+getdvar("mapname"));
|
setdvar("sv_mapRotation", "map "+getdvar("mapname"));
|
||||||
exitlevel(false);
|
exitlevel(false);
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
setdvar( "bots_main", 0 );
|
setdvar( "bots_main", 0 );
|
||||||
setdvar( "bots_main_menu", 0 );
|
setdvar( "bots_main_menu", 0 );
|
||||||
setdvar( "bots_manage_fill_mode", 0 );
|
setdvar( "bots_manage_fill_mode", 0 );
|
||||||
@ -38,47 +38,47 @@ init()
|
|||||||
setdvar( "bots_manage_add", 0 );
|
setdvar( "bots_manage_add", 0 );
|
||||||
setdvar( "bots_manage_fill_kick", 1 );
|
setdvar( "bots_manage_fill_kick", 1 );
|
||||||
setdvar( "bots_manage_fill_spec", 1 );
|
setdvar( "bots_manage_fill_spec", 1 );
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_distance" ) == "" )
|
if ( getdvar( "bots_main_debug_distance" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_distance", 512.0 );
|
setdvar( "bots_main_debug_distance", 512.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_cone" ) == "" )
|
if ( getdvar( "bots_main_debug_cone" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_cone", 0.65 );
|
setdvar( "bots_main_debug_cone", 0.65 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_minDist" ) == "" )
|
if ( getdvar( "bots_main_debug_minDist" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_minDist", 32.0 );
|
setdvar( "bots_main_debug_minDist", 32.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_drawThrough" ) == "" )
|
if ( getdvar( "bots_main_debug_drawThrough" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_drawThrough", false );
|
setdvar( "bots_main_debug_drawThrough", false );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_updateRate" ) == "" )
|
if ( getdvar( "bots_main_debug_updateRate" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_updateRate", 500 );
|
setdvar( "bots_main_debug_updateRate", 500 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( getdvar( "bots_main_debug_dashAmount" ) == "" )
|
if ( getdvar( "bots_main_debug_dashAmount" ) == "" )
|
||||||
{
|
{
|
||||||
setdvar( "bots_main_debug_dashAmount", 35.0 );
|
setdvar( "bots_main_debug_dashAmount", 35.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
setdvar( "player_sustainAmmo", 1 );
|
setdvar( "player_sustainAmmo", 1 );
|
||||||
|
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints ) )
|
if ( !isdefined( level.waypoints ) )
|
||||||
{
|
{
|
||||||
level.waypoints = [];
|
level.waypoints = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypointcount = 0;
|
level.waypointcount = 0;
|
||||||
|
|
||||||
level waittill( "connected", player );
|
level waittill( "connected", player );
|
||||||
player thread onPlayerSpawned();
|
player thread onPlayerSpawned();
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ init()
|
|||||||
onPlayerSpawned()
|
onPlayerSpawned()
|
||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "spawned_player" );
|
self waittill( "spawned_player" );
|
||||||
@ -98,11 +98,11 @@ startDev()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
level.autolink = false;
|
level.autolink = false;
|
||||||
self.nearest = -1;
|
self.nearest = -1;
|
||||||
|
|
||||||
self takeallweapons();
|
self takeallweapons();
|
||||||
self giveweapon( "iw5_m16_mp_gl" ); // to knife windows
|
self giveweapon( "iw5_m16_mp_gl" ); // to knife windows
|
||||||
self giveweapon( "javelin_mp" ); // to mark jav spots
|
self giveweapon( "javelin_mp" ); // to mark jav spots
|
||||||
@ -116,7 +116,7 @@ startDev()
|
|||||||
self maps\mp\perks\_perks::giveperk("specialty_marathon");
|
self maps\mp\perks\_perks::giveperk("specialty_marathon");
|
||||||
self maps\mp\perks\_perks::giveperk("specialty_lightweight");*/
|
self maps\mp\perks\_perks::giveperk("specialty_lightweight");*/
|
||||||
self freezecontrols( false );
|
self freezecontrols( false );
|
||||||
|
|
||||||
self thread watchAddWaypointCommand();
|
self thread watchAddWaypointCommand();
|
||||||
self thread watchDeleteAllWaypointsCommand();
|
self thread watchDeleteAllWaypointsCommand();
|
||||||
self thread watchDeleteWaypointCommand();
|
self thread watchDeleteWaypointCommand();
|
||||||
@ -127,7 +127,7 @@ startDev()
|
|||||||
self thread watchAutoLinkCommand();
|
self thread watchAutoLinkCommand();
|
||||||
self thread updateWaypointsStats();
|
self thread updateWaypointsStats();
|
||||||
self thread watchAstarCommand();
|
self thread watchAstarCommand();
|
||||||
|
|
||||||
self thread sayExtras();
|
self thread sayExtras();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,30 +151,30 @@ watchAstarCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "astar", "+gostand" );
|
self notifyonplayercommand( "astar", "+gostand" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "astar" );
|
self waittill( "astar" );
|
||||||
|
|
||||||
if ( 1 )
|
if ( 1 )
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
self iprintln( "Start AStar" );
|
self iprintln( "Start AStar" );
|
||||||
self.astar = undefined;
|
self.astar = undefined;
|
||||||
astar = spawnstruct();
|
astar = spawnstruct();
|
||||||
astar.start = self.origin;
|
astar.start = self.origin;
|
||||||
|
|
||||||
self waittill( "astar" );
|
self waittill( "astar" );
|
||||||
self iprintln( "End AStar" );
|
self iprintln( "End AStar" );
|
||||||
astar.goal = self.origin;
|
astar.goal = self.origin;
|
||||||
|
|
||||||
astar.nodes = AStarSearch( astar.start, astar.goal, undefined, true );
|
astar.nodes = AStarSearch( astar.start, astar.goal, undefined, true );
|
||||||
self iprintln( "AStar size: " + astar.nodes.size );
|
self iprintln( "AStar size: " + astar.nodes.size );
|
||||||
|
|
||||||
self.astar = astar;
|
self.astar = astar;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ drawWaypoint( i )
|
|||||||
{
|
{
|
||||||
level.drawn_wps = [];
|
level.drawn_wps = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
newdeathicon = newhudelem();
|
newdeathicon = newhudelem();
|
||||||
newdeathicon.x = level.waypoints[ i ].origin[ 0 ];
|
newdeathicon.x = level.waypoints[ i ].origin[ 0 ];
|
||||||
newdeathicon.y = level.waypoints[ i ].origin[ 1 ];
|
newdeathicon.y = level.waypoints[ i ].origin[ 1 ];
|
||||||
@ -194,7 +194,7 @@ drawWaypoint( i )
|
|||||||
newdeathicon.archived = true;
|
newdeathicon.archived = true;
|
||||||
newdeathicon setshader( "headicon_dead", 5, 5 );
|
newdeathicon setshader( "headicon_dead", 5, 5 );
|
||||||
newdeathicon setwaypoint( true, false );
|
newdeathicon setwaypoint( true, false );
|
||||||
|
|
||||||
level.drawn_wps[ level.drawn_wps.size ] = newdeathicon;
|
level.drawn_wps[ level.drawn_wps.size ] = newdeathicon;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ drawPath( where )
|
|||||||
{
|
{
|
||||||
level.drawn_wps = [];
|
level.drawn_wps = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
newdeathicon = newhudelem();
|
newdeathicon = newhudelem();
|
||||||
newdeathicon.x = where[ 0 ];
|
newdeathicon.x = where[ 0 ];
|
||||||
newdeathicon.y = where[ 1 ];
|
newdeathicon.y = where[ 1 ];
|
||||||
@ -213,7 +213,7 @@ drawPath( where )
|
|||||||
newdeathicon.archived = true;
|
newdeathicon.archived = true;
|
||||||
newdeathicon setshader( "headicon_dead", 5, 5 );
|
newdeathicon setshader( "headicon_dead", 5, 5 );
|
||||||
newdeathicon setwaypoint( true, false );
|
newdeathicon setwaypoint( true, false );
|
||||||
|
|
||||||
level.drawn_wps[ level.drawn_wps.size ] = newdeathicon;
|
level.drawn_wps[ level.drawn_wps.size ] = newdeathicon;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,12 +223,12 @@ clearWaypoints()
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.drawn_wps.size; i++ )
|
for ( i = 0; i < level.drawn_wps.size; i++ )
|
||||||
{
|
{
|
||||||
level.drawn_wps[ i ] destroy();
|
level.drawn_wps[ i ] destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
level.drawn_wps = [];
|
level.drawn_wps = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,17 +238,17 @@ clearWpLinks()
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
level.waypoints[ i ].drawn_links = [];
|
level.waypoints[ i ].drawn_links = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.drawn_links.size; i++ )
|
for ( i = 0; i < level.drawn_links.size; i++ )
|
||||||
{
|
{
|
||||||
level.drawn_links[ i ] delete ();
|
level.drawn_links[ i ] delete ();
|
||||||
}
|
}
|
||||||
|
|
||||||
level.drawn_links = [];
|
level.drawn_links = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,46 +258,46 @@ showWpLink( i, h )
|
|||||||
{
|
{
|
||||||
level.drawn_links = [];
|
level.drawn_links = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints[ i ].drawn_links ) )
|
if ( !isdefined( level.waypoints[ i ].drawn_links ) )
|
||||||
{
|
{
|
||||||
level.waypoints[ i ].drawn_links = [];
|
level.waypoints[ i ].drawn_links = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints[ h ].drawn_links ) )
|
if ( !isdefined( level.waypoints[ h ].drawn_links ) )
|
||||||
{
|
{
|
||||||
level.waypoints[ h ].drawn_links = [];
|
level.waypoints[ h ].drawn_links = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isdefined( level.waypoints[ h ].drawn_links[ "" + i ] ) || isdefined( level.waypoints[ i ].drawn_links[ "" + h ] ) )
|
if ( isdefined( level.waypoints[ h ].drawn_links[ "" + i ] ) || isdefined( level.waypoints[ i ].drawn_links[ "" + h ] ) )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypoints[ h ].drawn_links[ "" + i ] = true;
|
level.waypoints[ h ].drawn_links[ "" + i ] = true;
|
||||||
level.waypoints[ i ].drawn_links[ "" + h ] = true;
|
level.waypoints[ i ].drawn_links[ "" + h ] = true;
|
||||||
|
|
||||||
start = level.waypoints[ i ].origin + ( 0, 0, 45 );
|
start = level.waypoints[ i ].origin + ( 0, 0, 45 );
|
||||||
end = level.waypoints[ h ].origin + ( 0, 0, 45 );
|
end = level.waypoints[ h ].origin + ( 0, 0, 45 );
|
||||||
diff = end - start;
|
diff = end - start;
|
||||||
dir = vectortoangles( diff );
|
dir = vectortoangles( diff );
|
||||||
|
|
||||||
dist = distance( start, end );
|
dist = distance( start, end );
|
||||||
dash_count = int( dist / getdvarfloat( "bots_main_debug_dashAmount" ) );
|
dash_count = int( dist / getdvarfloat( "bots_main_debug_dashAmount" ) );
|
||||||
|
|
||||||
for ( j = 0; j < dash_count; j++ )
|
for ( j = 0; j < dash_count; j++ )
|
||||||
{
|
{
|
||||||
dash = spawn( "script_model", start + ( ( diff * j ) / dash_count ) );
|
dash = spawn( "script_model", start + ( ( diff * j ) / dash_count ) );
|
||||||
dash setmodel( "weapon_parabolic_knife" );
|
dash setmodel( "weapon_parabolic_knife" );
|
||||||
dash.angles = dir;
|
dash.angles = dir;
|
||||||
|
|
||||||
level.drawn_links[ level.drawn_links.size ] = dash;
|
level.drawn_links[ level.drawn_links.size ] = dash;
|
||||||
}
|
}
|
||||||
|
|
||||||
dash = spawn( "script_model", end );
|
dash = spawn( "script_model", end );
|
||||||
dash setmodel( "weapon_parabolic_knife" );
|
dash setmodel( "weapon_parabolic_knife" );
|
||||||
dash.angles = dir;
|
dash.angles = dir;
|
||||||
|
|
||||||
level.drawn_links[ level.drawn_links.size ] = dash;
|
level.drawn_links[ level.drawn_links.size ] = dash;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -305,7 +305,7 @@ updateWaypointsStats()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self initHudElem( "TotalWps:", 102, 5 );
|
self initHudElem( "TotalWps:", 102, 5 );
|
||||||
totalWpsHud = self initHudElem( "", 180, 5 );
|
totalWpsHud = self initHudElem( "", 180, 5 );
|
||||||
self initHudElem( "NearestWP:", 102, 15 );
|
self initHudElem( "NearestWP:", 102, 15 );
|
||||||
@ -316,40 +316,40 @@ updateWaypointsStats()
|
|||||||
type = self initHudElem( "", 160, 35 );
|
type = self initHudElem( "", 160, 35 );
|
||||||
self initHudElem( "ToLink:", 102, 45 );
|
self initHudElem( "ToLink:", 102, 45 );
|
||||||
wpToLink = self initHudElem( "", 160, 45 );
|
wpToLink = self initHudElem( "", 160, 45 );
|
||||||
|
|
||||||
infotext = self initHudElem2();
|
infotext = self initHudElem2();
|
||||||
self initHudElem3();
|
self initHudElem3();
|
||||||
self initHudElem4();
|
self initHudElem4();
|
||||||
|
|
||||||
intTimer = 0;
|
intTimer = 0;
|
||||||
|
|
||||||
for ( time = 0;; time += 0.05 )
|
for ( time = 0;; time += 0.05 )
|
||||||
{
|
{
|
||||||
wait 0.05;
|
wait 0.05;
|
||||||
intTimer += 50;
|
intTimer += 50;
|
||||||
|
|
||||||
totalWpsHud setvalue( level.waypointcount );
|
totalWpsHud setvalue( level.waypointcount );
|
||||||
|
|
||||||
closest = -1;
|
closest = -1;
|
||||||
myEye = self geteye();
|
myEye = self geteye();
|
||||||
myAngles = self getplayerangles();
|
myAngles = self getplayerangles();
|
||||||
timeToUpdate = ( ( intTimer % getdvarint( "bots_main_debug_updateRate" ) ) == 0 );
|
timeToUpdate = ( ( intTimer % getdvarint( "bots_main_debug_updateRate" ) ) == 0 );
|
||||||
|
|
||||||
if ( timeToUpdate )
|
if ( timeToUpdate )
|
||||||
{
|
{
|
||||||
clearWaypoints();
|
clearWaypoints();
|
||||||
clearWpLinks();
|
clearWpLinks();
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) )
|
if ( closest == -1 || closer( self.origin, level.waypoints[ i ].origin, level.waypoints[ closest ].origin ) )
|
||||||
{
|
{
|
||||||
closest = i;
|
closest = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
wpOrg = level.waypoints[ i ].origin + ( 0, 0, 25 );
|
wpOrg = level.waypoints[ i ].origin + ( 0, 0, 25 );
|
||||||
|
|
||||||
if ( distance( level.waypoints[ i ].origin, self.origin ) < getdvarfloat( "bots_main_debug_distance" ) && ( bullettracepassed( myEye, wpOrg, false, self ) || getdvarint( "bots_main_debug_drawThrough" ) ) )
|
if ( distance( level.waypoints[ i ].origin, self.origin ) < getdvarfloat( "bots_main_debug_distance" ) && ( bullettracepassed( myEye, wpOrg, false, self ) || getdvarint( "bots_main_debug_drawThrough" ) ) )
|
||||||
{
|
{
|
||||||
if ( timeToUpdate )
|
if ( timeToUpdate )
|
||||||
@ -357,52 +357,52 @@ updateWaypointsStats()
|
|||||||
if ( getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) )
|
if ( getConeDot( wpOrg, myEye, myAngles ) > getdvarfloat( "bots_main_debug_cone" ) )
|
||||||
{
|
{
|
||||||
drawWaypoint( i );
|
drawWaypoint( i );
|
||||||
|
|
||||||
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
||||||
{
|
{
|
||||||
showWpLink( i, level.waypoints[ i ].children[ h ] );
|
showWpLink( i, level.waypoints[ i ].children[ h ] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// mw3 doesnt have debug gsc calls :(
|
// mw3 doesnt have debug gsc calls :(
|
||||||
/* for(h = level.waypoints[ i ].children.size - 1; h >= 0; h--)
|
/* 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));
|
line(wpOrg, level.waypoints[ level.waypoints[ i ].children[ h ] ].origin + (0, 0, 25), (1,0,1));
|
||||||
|
|
||||||
if(getConeDot(wpOrg, myEye, myAngles) > getdvarfloat("bots_main_debug_cone"))
|
if(getConeDot(wpOrg, myEye, myAngles) > getdvarfloat("bots_main_debug_cone"))
|
||||||
print3d(wpOrg, i, (1,0,0), 2);
|
print3d(wpOrg, i, (1,0,0), 2);
|
||||||
|
|
||||||
if (isdefined(level.waypoints[ i ].angles) && level.waypoints[ i ].type != "stand")
|
if (isdefined(level.waypoints[ i ].angles) && level.waypoints[ i ].type != "stand")
|
||||||
line(wpOrg, wpOrg + anglestoforward(level.waypoints[ i ].angles) * 64, (1,1,1));
|
line(wpOrg, wpOrg + anglestoforward(level.waypoints[ i ].angles) * 64, (1,1,1));
|
||||||
|
|
||||||
if (isdefined(level.waypoints[ i ].jav_point))
|
if (isdefined(level.waypoints[ i ].jav_point))
|
||||||
line(wpOrg, level.waypoints[ i ].jav_point, (0,0,0));*/
|
line(wpOrg, level.waypoints[ i ].jav_point, (0,0,0));*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.nearest = closest;
|
self.nearest = closest;
|
||||||
|
|
||||||
nearestWP setvalue( self.nearest );
|
nearestWP setvalue( self.nearest );
|
||||||
|
|
||||||
children setvalue( buildChildCountString( self.nearest ) );
|
children setvalue( buildChildCountString( self.nearest ) );
|
||||||
|
|
||||||
type settext( buildTypeString( self.nearest ) );
|
type settext( buildTypeString( self.nearest ) );
|
||||||
|
|
||||||
wpToLink setvalue( level.wptolink );
|
wpToLink setvalue( level.wptolink );
|
||||||
|
|
||||||
infotext.x = infotext.x - 2;
|
infotext.x = infotext.x - 2;
|
||||||
|
|
||||||
if ( infotext.x <= -800 )
|
if ( infotext.x <= -800 )
|
||||||
{
|
{
|
||||||
infotext.x = 800;
|
infotext.x = 800;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( time > 2 && self usebuttonpressed() )
|
if ( time > 2 && self usebuttonpressed() )
|
||||||
{
|
{
|
||||||
time = 0;
|
time = 0;
|
||||||
self iprintlnbold( self.nearest + " children: " + buildChildString( self.nearest ) );
|
self iprintlnbold( self.nearest + " children: " + buildChildString( self.nearest ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isdefined( self.astar ) )
|
if ( isdefined( self.astar ) )
|
||||||
{
|
{
|
||||||
// print3d(self.astar.start + (0, 0, 35), "start", (0,0,1), 2);
|
// print3d(self.astar.start + (0, 0, 35), "start", (0,0,1), 2);
|
||||||
@ -412,22 +412,22 @@ updateWaypointsStats()
|
|||||||
drawPath( self.astar.start );
|
drawPath( self.astar.start );
|
||||||
drawPath( self.astar.goal );
|
drawPath( self.astar.goal );
|
||||||
}
|
}
|
||||||
|
|
||||||
prev = self.astar.start + ( 0, 0, 35 );
|
prev = self.astar.start + ( 0, 0, 35 );
|
||||||
|
|
||||||
for ( i = self.astar.nodes.size - 1; i >= 0; i-- )
|
for ( i = self.astar.nodes.size - 1; i >= 0; i-- )
|
||||||
{
|
{
|
||||||
node = self.astar.nodes[ i ];
|
node = self.astar.nodes[ i ];
|
||||||
|
|
||||||
// line(prev, level.waypoints[ node ].origin + (0, 0, 35), (0,1,1));
|
// line(prev, level.waypoints[ node ].origin + (0, 0, 35), (0,1,1));
|
||||||
if ( timeToUpdate )
|
if ( timeToUpdate )
|
||||||
{
|
{
|
||||||
drawPath( level.waypoints[ node ].origin );
|
drawPath( level.waypoints[ node ].origin );
|
||||||
}
|
}
|
||||||
|
|
||||||
prev = level.waypoints[ node ].origin + ( 0, 0, 35 );
|
prev = level.waypoints[ node ].origin + ( 0, 0, 35 );
|
||||||
}
|
}
|
||||||
|
|
||||||
// line(prev, self.astar.goal + (0, 0, 35), (0,1,1));
|
// line(prev, self.astar.goal + (0, 0, 35), (0,1,1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -437,9 +437,9 @@ watchLoadWaypointsCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+actionslot 5}]", "+actionslot 5" );
|
self notifyonplayercommand( "[{+actionslot 5}]", "+actionslot 5" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+actionslot 5}]" );
|
self waittill( "[{+actionslot 5}]" );
|
||||||
@ -451,9 +451,9 @@ watchAddWaypointCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+smoke}]", "+smoke" );
|
self notifyonplayercommand( "[{+smoke}]", "+smoke" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+smoke}]" );
|
self waittill( "[{+smoke}]" );
|
||||||
@ -465,13 +465,13 @@ watchAutoLinkCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+frag}]", "+frag" );
|
self notifyonplayercommand( "[{+frag}]", "+frag" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+frag}]" );
|
self waittill( "[{+frag}]" );
|
||||||
|
|
||||||
if ( level.autolink )
|
if ( level.autolink )
|
||||||
{
|
{
|
||||||
self iprintlnbold( "Auto link disabled" );
|
self iprintlnbold( "Auto link disabled" );
|
||||||
@ -491,9 +491,9 @@ watchLinkWaypointCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+melee_zoom}]", "+melee_zoom" );
|
self notifyonplayercommand( "[{+melee_zoom}]", "+melee_zoom" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+melee_zoom}]" );
|
self waittill( "[{+melee_zoom}]" );
|
||||||
@ -505,9 +505,9 @@ watchunlinkWaypointCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+reload}]", "+reload" );
|
self notifyonplayercommand( "[{+reload}]", "+reload" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+reload}]" );
|
self waittill( "[{+reload}]" );
|
||||||
@ -519,9 +519,9 @@ watchDeleteWaypointCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+actionslot 3}]", "+actionslot 3" );
|
self notifyonplayercommand( "[{+actionslot 3}]", "+actionslot 3" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+actionslot 3}]" );
|
self waittill( "[{+actionslot 3}]" );
|
||||||
@ -533,9 +533,9 @@ watchDeleteAllWaypointsCommand()
|
|||||||
{
|
{
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+actionslot 4}]", "+actionslot 4" );
|
self notifyonplayercommand( "[{+actionslot 4}]", "+actionslot 4" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+actionslot 4}]" );
|
self waittill( "[{+actionslot 4}]" );
|
||||||
@ -547,72 +547,72 @@ watchSaveWaypointsCommand()
|
|||||||
{
|
{
|
||||||
self endon( "death" );
|
self endon( "death" );
|
||||||
self endon( "disconnect" );
|
self endon( "disconnect" );
|
||||||
|
|
||||||
self notifyonplayercommand( "[{+actionslot 1}]", "+actionslot 1" );
|
self notifyonplayercommand( "[{+actionslot 1}]", "+actionslot 1" );
|
||||||
|
|
||||||
for ( ;; )
|
for ( ;; )
|
||||||
{
|
{
|
||||||
self waittill( "[{+actionslot 1}]" );
|
self waittill( "[{+actionslot 1}]" );
|
||||||
|
|
||||||
self checkForWarnings();
|
self checkForWarnings();
|
||||||
wait 1;
|
wait 1;
|
||||||
|
|
||||||
logprint( "***********ABiliTy's WPDump**************\n\n" );
|
logprint( "***********ABiliTy's WPDump**************\n\n" );
|
||||||
logprint( "\n\n\n\n" );
|
logprint( "\n\n\n\n" );
|
||||||
mpnm = getMapName( getdvar( "mapname" ) );
|
mpnm = getMapName( getdvar( "mapname" ) );
|
||||||
logprint( "\n\n" + mpnm + "()\n{\n/*" );
|
logprint( "\n\n" + mpnm + "()\n{\n/*" );
|
||||||
logprint( "*/waypoints = [];\n/*" );
|
logprint( "*/waypoints = [];\n/*" );
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" );
|
logprint( "*/waypoints[ " + i + " ] = spawnstruct();\n/*" );
|
||||||
logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" );
|
logprint( "*/waypoints[ " + i + " ].origin = " + level.waypoints[ i ].origin + ";\n/*" );
|
||||||
logprint( "*/waypoints[ " + i + " ].type = \"" + level.waypoints[ i ].type + "\";\n/*" );
|
logprint( "*/waypoints[ " + i + " ].type = \"" + level.waypoints[ i ].type + "\";\n/*" );
|
||||||
|
|
||||||
for ( c = 0; c < level.waypoints[ i ].children.size; c++ )
|
for ( c = 0; c < level.waypoints[ i ].children.size; c++ )
|
||||||
{
|
{
|
||||||
logprint( "*/waypoints[ " + i + " ].children[ " + c + " ] = " + level.waypoints[ i ].children[ c ] + ";\n/*" );
|
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" ) )
|
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( "*/waypoints[ " + i + " ].angles = " + level.waypoints[ i ].angles + ";\n/*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isdefined( level.waypoints[ i ].jav_point ) && level.waypoints[ i ].type == "javelin" )
|
if ( isdefined( level.waypoints[ i ].jav_point ) && level.waypoints[ i ].type == "javelin" )
|
||||||
{
|
{
|
||||||
logprint( "*/waypoints[ " + i + " ].jav_point = " + level.waypoints[ i ].jav_point + ";\n/*" );
|
logprint( "*/waypoints[ " + i + " ].jav_point = " + level.waypoints[ i ].jav_point + ";\n/*" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logprint( "*/return waypoints;\n}\n\n\n\n" );
|
logprint( "*/return waypoints;\n}\n\n\n\n" );
|
||||||
|
|
||||||
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
filename = "waypoints/" + getdvar( "mapname" ) + "_wp.csv";
|
||||||
|
|
||||||
println( "********* Start Bot Warfare WPDump *********" );
|
println( "********* Start Bot Warfare WPDump *********" );
|
||||||
println( level.waypointcount );
|
println( level.waypointcount );
|
||||||
|
|
||||||
BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" );
|
BotBuiltinFileWrite( filename, level.waypointcount + "\n", "write" );
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
str = "";
|
str = "";
|
||||||
wp = level.waypoints[ i ];
|
wp = level.waypoints[ i ];
|
||||||
|
|
||||||
str += wp.origin[ 0 ] + " " + wp.origin[ 1 ] + " " + wp.origin[ 2 ] + ",";
|
str += wp.origin[ 0 ] + " " + wp.origin[ 1 ] + " " + wp.origin[ 2 ] + ",";
|
||||||
|
|
||||||
for ( h = 0; h < wp.children.size; h++ )
|
for ( h = 0; h < wp.children.size; h++ )
|
||||||
{
|
{
|
||||||
str += wp.children[ h ];
|
str += wp.children[ h ];
|
||||||
|
|
||||||
if ( h < wp.children.size - 1 )
|
if ( h < wp.children.size - 1 )
|
||||||
{
|
{
|
||||||
str += " ";
|
str += " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
str += "," + wp.type + ",";
|
str += "," + wp.type + ",";
|
||||||
|
|
||||||
if ( isdefined( wp.angles ) )
|
if ( isdefined( wp.angles ) )
|
||||||
{
|
{
|
||||||
str += wp.angles[ 0 ] + " " + wp.angles[ 1 ] + " " + wp.angles[ 2 ] + ",";
|
str += wp.angles[ 0 ] + " " + wp.angles[ 1 ] + " " + wp.angles[ 2 ] + ",";
|
||||||
@ -621,7 +621,7 @@ watchSaveWaypointsCommand()
|
|||||||
{
|
{
|
||||||
str += ",";
|
str += ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isdefined( wp.jav_point ) )
|
if ( isdefined( wp.jav_point ) )
|
||||||
{
|
{
|
||||||
str += wp.jav_point[ 0 ] + " " + wp.jav_point[ 1 ] + " " + wp.jav_point[ 2 ] + ",";
|
str += wp.jav_point[ 0 ] + " " + wp.jav_point[ 1 ] + " " + wp.jav_point[ 2 ] + ",";
|
||||||
@ -630,13 +630,13 @@ watchSaveWaypointsCommand()
|
|||||||
{
|
{
|
||||||
str += ",";
|
str += ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
println( str );
|
println( str );
|
||||||
BotBuiltinFileWrite( filename, str + "\n", "append" );
|
BotBuiltinFileWrite( filename, str + "\n", "append" );
|
||||||
}
|
}
|
||||||
|
|
||||||
println( "\n\n\n\n\n\n" );
|
println( "\n\n\n\n\n\n" );
|
||||||
|
|
||||||
self iprintln( "Saved!!! to " + filename );
|
self iprintln( "Saved!!! to " + filename );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -646,9 +646,9 @@ LoadWaypoints()
|
|||||||
// self DeleteAllWaypoints();
|
// self DeleteAllWaypoints();
|
||||||
self iprintlnbold( "Loading WPS..." );
|
self iprintlnbold( "Loading WPS..." );
|
||||||
load_waypoints();
|
load_waypoints();
|
||||||
|
|
||||||
wait 1;
|
wait 1;
|
||||||
|
|
||||||
self checkForWarnings();
|
self checkForWarnings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -658,12 +658,12 @@ checkForWarnings()
|
|||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypointCount is " + level.waypointcount );
|
self iprintln( "WARNING: waypointCount is " + level.waypointcount );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.waypointcount != level.waypoints.size )
|
if ( level.waypointcount != level.waypoints.size )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
|
self iprintln( "WARNING: waypointCount is not " + level.waypoints.size );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
if ( !isdefined( level.waypoints[ i ] ) )
|
if ( !isdefined( level.waypoints[ i ] ) )
|
||||||
@ -671,7 +671,7 @@ checkForWarnings()
|
|||||||
self iprintln( "WARNING: waypoint " + i + " is undefined" );
|
self iprintln( "WARNING: waypoint " + i + " is undefined" );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.waypoints[ i ].children.size <= 0 )
|
if ( level.waypoints[ i ].children.size <= 0 )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[ i ].children.size );
|
self iprintln( "WARNING: waypoint " + i + " childCount is " + level.waypoints[ i ].children.size );
|
||||||
@ -687,7 +687,7 @@ checkForWarnings()
|
|||||||
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
||||||
{
|
{
|
||||||
child = level.waypoints[ i ].children[ h ];
|
child = level.waypoints[ i ].children[ h ];
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints[ child ] ) )
|
if ( !isdefined( level.waypoints[ child ] ) )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" );
|
self iprintln( "WARNING: waypoint " + i + " child " + child + " is undefined" );
|
||||||
@ -699,43 +699,43 @@ checkForWarnings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints[ i ].type ) )
|
if ( !isdefined( level.waypoints[ i ].type ) )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypoint " + i + " type is undefined" );
|
self iprintln( "WARNING: waypoint " + i + " type is undefined" );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.waypoints[ i ].type == "javelin" && !isdefined( level.waypoints[ i ].jav_point ) )
|
if ( level.waypoints[ i ].type == "javelin" && !isdefined( level.waypoints[ i ].jav_point ) )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" );
|
self iprintln( "WARNING: waypoint " + i + " jav_point is undefined" );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !isdefined( level.waypoints[ i ].angles ) && ( level.waypoints[ i ].type == "claymore" || level.waypoints[ i ].type == "tube" || ( level.waypoints[ i ].type == "crouch" && level.waypoints[ i ].children.size == 1 ) || level.waypoints[ i ].type == "climb" || level.waypoints[ i ].type == "grenade" ) )
|
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" );
|
self iprintln( "WARNING: waypoint " + i + " angles is undefined" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// check reachability, assume bidirectional graph
|
// check reachability, assume bidirectional graph
|
||||||
|
|
||||||
wpIdx = randomint( level.waypointcount );
|
wpIdx = randomint( level.waypointcount );
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
if ( i % 5 == 0 )
|
if ( i % 5 == 0 )
|
||||||
{
|
{
|
||||||
wait 0.05;
|
wait 0.05;
|
||||||
}
|
}
|
||||||
|
|
||||||
astar = AStarSearch( level.waypoints[ wpIdx ].origin, level.waypoints[ i ].origin, undefined, true );
|
astar = AStarSearch( level.waypoints[ wpIdx ].origin, level.waypoints[ i ].origin, undefined, true );
|
||||||
|
|
||||||
if ( astar.size <= 0 )
|
if ( astar.size <= 0 )
|
||||||
{
|
{
|
||||||
self iprintln( "WARNING: waypoint " + wpIdx + " has no path to waypoint " + i );
|
self iprintln( "WARNING: waypoint " + wpIdx + " has no path to waypoint " + i );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self iprintln( "Waypoint warnings check completed." );
|
self iprintln( "Waypoint warnings check completed." );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -747,17 +747,17 @@ UnLinkWaypoint( nwp )
|
|||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.wptolink == -1 || nwp == level.wptolink )
|
if ( level.wptolink == -1 || nwp == level.wptolink )
|
||||||
{
|
{
|
||||||
level.wptolink = nwp;
|
level.wptolink = nwp;
|
||||||
self iprintln( "Waypoint unlink Started " + nwp );
|
self iprintln( "Waypoint unlink Started " + nwp );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypoints[ nwp ].children = array_remove( level.waypoints[ nwp ].children, level.wptolink );
|
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 );
|
level.waypoints[ level.wptolink ].children = array_remove( level.waypoints[ level.wptolink ].children, nwp );
|
||||||
|
|
||||||
self iprintln( "Waypoint " + nwp + " Broken to " + level.wptolink );
|
self iprintln( "Waypoint " + nwp + " Broken to " + level.wptolink );
|
||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
}
|
}
|
||||||
@ -770,33 +770,33 @@ LinkWaypoint( nwp )
|
|||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( level.wptolink == -1 || nwp == level.wptolink )
|
if ( level.wptolink == -1 || nwp == level.wptolink )
|
||||||
{
|
{
|
||||||
level.wptolink = nwp;
|
level.wptolink = nwp;
|
||||||
self iprintln( "Waypoint Link Started " + nwp );
|
self iprintln( "Waypoint Link Started " + nwp );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
weGood = true;
|
weGood = true;
|
||||||
|
|
||||||
for ( i = level.waypoints[ level.wptolink ].children.size - 1; i >= 0; i-- )
|
for ( i = level.waypoints[ level.wptolink ].children.size - 1; i >= 0; i-- )
|
||||||
{
|
{
|
||||||
child = level.waypoints[ level.wptolink ].children[ i ];
|
child = level.waypoints[ level.wptolink ].children[ i ];
|
||||||
|
|
||||||
if ( child == nwp )
|
if ( child == nwp )
|
||||||
{
|
{
|
||||||
weGood = false;
|
weGood = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( weGood )
|
if ( weGood )
|
||||||
{
|
{
|
||||||
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
||||||
{
|
{
|
||||||
child = level.waypoints[ nwp ].children[ i ];
|
child = level.waypoints[ nwp ].children[ i ];
|
||||||
|
|
||||||
if ( child == level.wptolink )
|
if ( child == level.wptolink )
|
||||||
{
|
{
|
||||||
weGood = false;
|
weGood = false;
|
||||||
@ -804,17 +804,17 @@ LinkWaypoint( nwp )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !weGood )
|
if ( !weGood )
|
||||||
{
|
{
|
||||||
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wptolink + " already linked." );
|
self iprintln( "Waypoint Link Cancelled " + nwp + " and " + level.wptolink + " already linked." );
|
||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypoints[ level.wptolink ].children[ level.waypoints[ level.wptolink ].children.size ] = nwp;
|
level.waypoints[ level.wptolink ].children[ level.waypoints[ level.wptolink ].children.size ] = nwp;
|
||||||
level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wptolink;
|
level.waypoints[ nwp ].children[ level.waypoints[ nwp ].children.size ] = level.wptolink;
|
||||||
|
|
||||||
self iprintln( "Waypoint " + nwp + " Linked to " + level.wptolink );
|
self iprintln( "Waypoint " + nwp + " Linked to " + level.wptolink );
|
||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
}
|
}
|
||||||
@ -826,16 +826,16 @@ DeleteWaypoint( nwp )
|
|||||||
self iprintln( "No close enough waypoint to delete." );
|
self iprintln( "No close enough waypoint to delete." );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.wptolink = -1;
|
level.wptolink = -1;
|
||||||
|
|
||||||
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
for ( i = level.waypoints[ nwp ].children.size - 1; i >= 0; i-- )
|
||||||
{
|
{
|
||||||
child = level.waypoints[ nwp ].children[ i ];
|
child = level.waypoints[ nwp ].children[ i ];
|
||||||
|
|
||||||
level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp );
|
level.waypoints[ child ].children = array_remove( level.waypoints[ child ].children, nwp );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( i = 0; i < level.waypointcount; i++ )
|
for ( i = 0; i < level.waypointcount; i++ )
|
||||||
{
|
{
|
||||||
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
for ( h = level.waypoints[ i ].children.size - 1; h >= 0; h-- )
|
||||||
@ -846,7 +846,7 @@ DeleteWaypoint( nwp )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( entry = 0; entry < level.waypointcount; entry++ )
|
for ( entry = 0; entry < level.waypointcount; entry++ )
|
||||||
{
|
{
|
||||||
if ( entry == nwp )
|
if ( entry == nwp )
|
||||||
@ -856,24 +856,24 @@ DeleteWaypoint( nwp )
|
|||||||
level.waypoints[ entry ] = level.waypoints[ entry + 1 ];
|
level.waypoints[ entry ] = level.waypoints[ entry + 1 ];
|
||||||
entry++;
|
entry++;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypoints[ entry ] = undefined;
|
level.waypoints[ entry ] = undefined;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypointcount--;
|
level.waypointcount--;
|
||||||
|
|
||||||
self iprintln( "DelWp " + nwp );
|
self iprintln( "DelWp " + nwp );
|
||||||
}
|
}
|
||||||
|
|
||||||
AddWaypoint()
|
AddWaypoint()
|
||||||
{
|
{
|
||||||
level.waypoints[ level.waypointcount ] = spawnstruct();
|
level.waypoints[ level.waypointcount ] = spawnstruct();
|
||||||
|
|
||||||
pos = self getorigin();
|
pos = self getorigin();
|
||||||
level.waypoints[ level.waypointcount ].origin = pos;
|
level.waypoints[ level.waypointcount ].origin = pos;
|
||||||
|
|
||||||
if ( isdefined( self.javelintargetpoint ) )
|
if ( isdefined( self.javelintargetpoint ) )
|
||||||
{
|
{
|
||||||
level.waypoints[ level.waypointcount ].type = "javelin";
|
level.waypoints[ level.waypointcount ].type = "javelin";
|
||||||
@ -898,25 +898,25 @@ AddWaypoint()
|
|||||||
{
|
{
|
||||||
level.waypoints[ level.waypointcount ].type = self getstance();
|
level.waypoints[ level.waypointcount ].type = self getstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypoints[ level.waypointcount ].angles = self getplayerangles();
|
level.waypoints[ level.waypointcount ].angles = self getplayerangles();
|
||||||
|
|
||||||
level.waypoints[ level.waypointcount ].children = [];
|
level.waypoints[ level.waypointcount ].children = [];
|
||||||
|
|
||||||
if ( level.waypoints[ level.waypointcount ].type == "javelin" )
|
if ( level.waypoints[ level.waypointcount ].type == "javelin" )
|
||||||
{
|
{
|
||||||
level.waypoints[ level.waypointcount ].jav_point = self.javelintargetpoint;
|
level.waypoints[ level.waypointcount ].jav_point = self.javelintargetpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
self iprintln( level.waypoints[ level.waypointcount ].type + " Waypoint " + level.waypointcount + " Added at " + pos );
|
self iprintln( level.waypoints[ level.waypointcount ].type + " Waypoint " + level.waypointcount + " Added at " + pos );
|
||||||
|
|
||||||
if ( level.autolink )
|
if ( level.autolink )
|
||||||
{
|
{
|
||||||
if ( level.wptolink == -1 )
|
if ( level.wptolink == -1 )
|
||||||
{
|
{
|
||||||
level.wptolink = level.waypointcount - 1;
|
level.wptolink = level.waypointcount - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
level.waypointcount++;
|
level.waypointcount++;
|
||||||
self LinkWaypoint( level.waypointcount - 1 );
|
self LinkWaypoint( level.waypointcount - 1 );
|
||||||
}
|
}
|
||||||
@ -930,7 +930,7 @@ DeleteAllWaypoints()
|
|||||||
{
|
{
|
||||||
level.waypoints = [];
|
level.waypoints = [];
|
||||||
level.waypointcount = 0;
|
level.waypointcount = 0;
|
||||||
|
|
||||||
self iprintln( "DelAllWps" );
|
self iprintln( "DelAllWps" );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -940,9 +940,9 @@ buildChildCountString ( wp )
|
|||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
wpstr = level.waypoints[ wp ].children.size;
|
wpstr = level.waypoints[ wp ].children.size;
|
||||||
|
|
||||||
return wpstr;
|
return wpstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -952,9 +952,9 @@ buildChildString( wp )
|
|||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
wpstr = "";
|
wpstr = "";
|
||||||
|
|
||||||
for ( i = 0; i < level.waypoints[ wp ].children.size; i++ )
|
for ( i = 0; i < level.waypoints[ wp ].children.size; i++ )
|
||||||
{
|
{
|
||||||
if ( i != 0 )
|
if ( i != 0 )
|
||||||
@ -966,7 +966,7 @@ buildChildString( wp )
|
|||||||
wpstr = wpstr + level.waypoints[ wp ].children[ i ];
|
wpstr = wpstr + level.waypoints[ wp ].children[ i ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return wpstr;
|
return wpstr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -976,7 +976,7 @@ buildTypeString( wp )
|
|||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return level.waypoints[ wp ].type;
|
return level.waypoints[ wp ].type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -992,9 +992,9 @@ initHudElem( txt, xl, yl )
|
|||||||
hud = newclienthudelem( self );
|
hud = newclienthudelem( self );
|
||||||
hud settext( txt );
|
hud settext( txt );
|
||||||
hud.alignx = "left";
|
hud.alignx = "left";
|
||||||
hud.aligny = "top";
|
hud.aligny = "top";
|
||||||
hud.horzalign = "left";
|
hud.horzalign = "left";
|
||||||
hud.vertalign = "top";
|
hud.vertalign = "top";
|
||||||
hud.x = xl;
|
hud.x = xl;
|
||||||
hud.y = yl;
|
hud.y = yl;
|
||||||
hud.foreground = true;
|
hud.foreground = true;
|
||||||
@ -1005,9 +1005,9 @@ initHudElem( txt, xl, yl )
|
|||||||
hud.glowcolor = ( 0, 0, 0 );
|
hud.glowcolor = ( 0, 0, 0 );
|
||||||
hud.glowalpha = 1;
|
hud.glowalpha = 1;
|
||||||
hud.color = ( 1.0, 1.0, 1.0 );
|
hud.color = ( 1.0, 1.0, 1.0 );
|
||||||
|
|
||||||
self thread destroyOnDeath( hud );
|
self thread destroyOnDeath( hud );
|
||||||
|
|
||||||
return hud;
|
return hud;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1029,9 +1029,9 @@ initHudElem2()
|
|||||||
infotext.glowcolor = ( 0, 0, 0 );
|
infotext.glowcolor = ( 0, 0, 0 );
|
||||||
infotext.glowalpha = 1;
|
infotext.glowalpha = 1;
|
||||||
infotext.color = ( 1.0, 1.0, 1.0 );
|
infotext.color = ( 1.0, 1.0, 1.0 );
|
||||||
|
|
||||||
self thread destroyOnDeath( infotext );
|
self thread destroyOnDeath( infotext );
|
||||||
|
|
||||||
return infotext;
|
return infotext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1044,9 +1044,9 @@ initHudElem3()
|
|||||||
bar.vertalign = "bottom";
|
bar.vertalign = "bottom";
|
||||||
bar.y = 30;
|
bar.y = 30;
|
||||||
bar.foreground = true;
|
bar.foreground = true;
|
||||||
|
|
||||||
self thread destroyOnDeath( bar );
|
self thread destroyOnDeath( bar );
|
||||||
|
|
||||||
return bar;
|
return bar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1061,8 +1061,8 @@ initHudElem4()
|
|||||||
OptionsBG.vertalign = "top";
|
OptionsBG.vertalign = "top";
|
||||||
OptionsBG setshader( "black", 200, 60 );
|
OptionsBG setshader( "black", 200, 60 );
|
||||||
OptionsBG.alpha = 0.4;
|
OptionsBG.alpha = 0.4;
|
||||||
|
|
||||||
self thread destroyOnDeath( OptionsBG );
|
self thread destroyOnDeath( OptionsBG );
|
||||||
|
|
||||||
return OptionsBG;
|
return OptionsBG;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user