mirror of
https://github.com/ineedbots/iw2_bot_warfare.git
synced 2025-04-20 14:45:44 +00:00
turret
This commit is contained in:
parent
a1a28aec3a
commit
6cee88c74e
@ -279,6 +279,8 @@ init()
|
|||||||
level thread watchGameEnded();
|
level thread watchGameEnded();
|
||||||
level thread onPlayerChat();
|
level thread onPlayerChat();
|
||||||
|
|
||||||
|
array_thread( getentarray( "misc_turret", "classname" ), ::turret_monitoruse_watcher );
|
||||||
|
|
||||||
level.teambased = true;
|
level.teambased = true;
|
||||||
|
|
||||||
if ( getcvar( "g_gametype" ) == "dm" )
|
if ( getcvar( "g_gametype" ) == "dm" )
|
||||||
@ -1297,3 +1299,46 @@ onPlayerChat()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Monitors turret usage
|
||||||
|
*/
|
||||||
|
turret_monitoruse_watcher()
|
||||||
|
{
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
self waittill ( "trigger", player );
|
||||||
|
|
||||||
|
self monitor_player_turret( player );
|
||||||
|
self.owner = undefined;
|
||||||
|
|
||||||
|
if ( isdefined( player ) )
|
||||||
|
{
|
||||||
|
player.turret = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
While player uses turret
|
||||||
|
*/
|
||||||
|
monitor_player_turret( player )
|
||||||
|
{
|
||||||
|
player endon( "death" );
|
||||||
|
player endon( "disconnect" );
|
||||||
|
|
||||||
|
player.turret = self;
|
||||||
|
self.owner = player;
|
||||||
|
|
||||||
|
while ( isdefined( player ) && player usebuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ( isdefined( player ) && !player usebuttonpressed() )
|
||||||
|
{
|
||||||
|
wait 0.05;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -328,6 +328,13 @@ watchPickupGun()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo have bots use turrets instead of just kicking them off of it
|
||||||
|
if ( isdefined( self.turret ) )
|
||||||
|
{
|
||||||
|
self thread use( 0.5 );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
weap = self getcurrentweapon();
|
weap = self getcurrentweapon();
|
||||||
|
|
||||||
if ( weap != "none" && self getAmmoCount( weap ) )
|
if ( weap != "none" && self getAmmoCount( weap ) )
|
||||||
|
@ -2773,3 +2773,45 @@ Log( x )
|
|||||||
answer = 2.0 * sum;
|
answer = 2.0 * sum;
|
||||||
return answer;
|
return answer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
CoD2
|
||||||
|
*/
|
||||||
|
array_thread ( ents, process, var, excluders )
|
||||||
|
{
|
||||||
|
exclude = [];
|
||||||
|
|
||||||
|
for ( i = 0; i < ents.size; i++ )
|
||||||
|
{
|
||||||
|
exclude[ i ] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined ( excluders ) )
|
||||||
|
{
|
||||||
|
for ( i = 0; i < ents.size; i++ )
|
||||||
|
{
|
||||||
|
for ( p = 0; p < excluders.size; p++ )
|
||||||
|
{
|
||||||
|
if ( ents[ i ] == excluders[p] )
|
||||||
|
{
|
||||||
|
exclude[ i ] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( i = 0; i < ents.size; i++ )
|
||||||
|
{
|
||||||
|
if ( !exclude[ i ] )
|
||||||
|
{
|
||||||
|
if ( isdefined ( var ) )
|
||||||
|
{
|
||||||
|
ents[ i ] thread [[ process ]]( var );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ents[ i ] thread [[ process ]]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user