mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-22 22:05:44 +00:00
pick up guns
This commit is contained in:
parent
f64ba9cccf
commit
918bb4020a
@ -161,10 +161,8 @@ You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfar
|
|||||||
- Recoil for bots
|
- Recoil for bots
|
||||||
- Use proper activate button for bombs, carepackages, etc
|
- Use proper activate button for bombs, carepackages, etc
|
||||||
- Proper weapon swaps, including altmode
|
- Proper weapon swaps, including altmode
|
||||||
- Pick up weapons from ground
|
|
||||||
- Use static turrets in maps
|
- Use static turrets in maps
|
||||||
- Proper use of pred missile
|
- Proper use of pred missile
|
||||||
- Bots in ac130 have viewport issues (engine)
|
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
- IW4x Team - https://github.com/XLabsProject/iw4x-client
|
- IW4x Team - https://github.com/XLabsProject/iw4x-client
|
||||||
|
@ -472,10 +472,32 @@ spawned()
|
|||||||
self thread walk();
|
self thread walk();
|
||||||
self thread watchHoldBreath();
|
self thread watchHoldBreath();
|
||||||
self thread watchGrenadeFire();
|
self thread watchGrenadeFire();
|
||||||
|
self thread watchPickupGun();
|
||||||
|
|
||||||
self notify( "bot_spawned" );
|
self notify( "bot_spawned" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
watchPickupGun
|
||||||
|
*/
|
||||||
|
watchPickupGun()
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
self endon( "death" );
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
wait 1;
|
||||||
|
|
||||||
|
weap = self GetCurrentWeapon();
|
||||||
|
|
||||||
|
if ( weap != "none" && self GetAmmoCount( weap ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
self thread use( 0.5 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Watches when the bot fires a grenade
|
Watches when the bot fires a grenade
|
||||||
*/
|
*/
|
||||||
@ -682,6 +704,7 @@ grenade_danager_loop()
|
|||||||
if ( !bulletTracePassed( myEye, frag.origin, false, frag.grenade ) )
|
if ( !bulletTracePassed( myEye, frag.origin, false, frag.grenade ) )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
self BotNotifyBotEvent( "throwback", "stop", frag );
|
||||||
self thread frag();
|
self thread frag();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1435,8 +1458,13 @@ aim_loop()
|
|||||||
|
|
||||||
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
|
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
|
||||||
nadeAimOffset = dist / 3000;
|
nadeAimOffset = dist / 3000;
|
||||||
else if ( curweap != "none" && weaponClass( curweap ) == "grenade" )
|
else if ( curweap != "none" && ( weaponClass( curweap ) == "grenade" || curweap == "throwingknife_mp" ) )
|
||||||
nadeAimOffset = dist / 16000;
|
{
|
||||||
|
if ( getWeaponClass( curweap ) == "weapon_projectile" )
|
||||||
|
nadeAimOffset = dist / 16000;
|
||||||
|
else
|
||||||
|
nadeAimOffset = dist / 3000;
|
||||||
|
}
|
||||||
|
|
||||||
if ( no_trace_time && ( !isDefined( self.bot.after_target ) || self.bot.after_target != target ) )
|
if ( no_trace_time && ( !isDefined( self.bot.after_target ) || self.bot.after_target != target ) )
|
||||||
{
|
{
|
||||||
@ -1572,8 +1600,13 @@ aim_loop()
|
|||||||
|
|
||||||
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
|
if ( self.bot.isfraggingafter || self.bot.issmokingafter )
|
||||||
nadeAimOffset = dist / 3000;
|
nadeAimOffset = dist / 3000;
|
||||||
else if ( curweap != "none" && weaponClass( curweap ) == "grenade" )
|
else if ( curweap != "none" && ( weaponClass( curweap ) == "grenade" || curweap == "throwingknife_mp" ) )
|
||||||
nadeAimOffset = dist / 16000;
|
{
|
||||||
|
if ( getWeaponClass( curweap ) == "weapon_projectile" )
|
||||||
|
nadeAimOffset = dist / 16000;
|
||||||
|
else
|
||||||
|
nadeAimOffset = dist / 3000;
|
||||||
|
}
|
||||||
|
|
||||||
aimpos = last_pos + ( 0, 0, self getEyeHeight() + nadeAimOffset );
|
aimpos = last_pos + ( 0, 0, self getEyeHeight() + nadeAimOffset );
|
||||||
|
|
||||||
@ -1726,6 +1759,9 @@ canAds( dist, curweap )
|
|||||||
if ( curweap == "none" )
|
if ( curweap == "none" )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if ( curweap == "c4_mp" )
|
||||||
|
return RandomInt( 2 );
|
||||||
|
|
||||||
if ( !getDvarInt( "bots_play_ads" ) )
|
if ( !getDvarInt( "bots_play_ads" ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user