mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-22 05:55:42 +00:00
new dvar
This commit is contained in:
parent
395a991b6f
commit
a015aed62a
@ -6,15 +6,18 @@
|
||||
init()
|
||||
{
|
||||
setDvarIfUninitialized( "bots_sniperLoadout", false );
|
||||
setDvarIfUninitialized( "bots_oneHardIsSniper", false );
|
||||
|
||||
level thread onBotConnected();
|
||||
|
||||
level thread watchOneHardIsSniper();
|
||||
}
|
||||
|
||||
onBotConnected()
|
||||
{
|
||||
for (;;)
|
||||
for ( ;; )
|
||||
{
|
||||
level waittill("bot_connected", bot);
|
||||
level waittill( "bot_connected", bot );
|
||||
|
||||
bot thread onBotGivenLoadout();
|
||||
}
|
||||
@ -22,43 +25,72 @@ onBotConnected()
|
||||
|
||||
onBotGivenLoadout()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon( "disconnect" );
|
||||
|
||||
for (;;)
|
||||
for ( ;; )
|
||||
{
|
||||
self waittill( "bot_giveLoadout", allowCopycat );
|
||||
|
||||
if (!getDvarInt("bots_sniperLoadout"))
|
||||
if ( !getDvarInt( "bots_sniperLoadout" ) )
|
||||
continue;
|
||||
|
||||
self.pers["bots"]["behavior"]["quickscope"] = true;
|
||||
|
||||
// clear perks and weapons
|
||||
self takeAllWeapons();
|
||||
self.specialty = [];
|
||||
self _clearPerks();
|
||||
self maps\mp\gametypes\_class::_detachAll();
|
||||
|
||||
// give perks
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_fastreload" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_quickdraw" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_bulletdamage" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_armorpiercing" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_bulletaccuracy" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_holdbreath" );
|
||||
|
||||
// give weapons
|
||||
self _giveWeapon( "usp_mp", 0 );
|
||||
self SetWeaponAmmoClip( "usp_mp", 0 );
|
||||
self SetWeaponAmmoStock( "usp_mp", 0 );
|
||||
|
||||
self _giveWeapon( "cheytac_mp", 0 );
|
||||
self setSpawnWeapon( "cheytac_mp" );
|
||||
|
||||
// make into sniper model
|
||||
if ( level.environment != "" )
|
||||
self [[game[self.team+"_model"]["GHILLIE"]]]();
|
||||
else
|
||||
self [[game[self.team+"_model"]["SNIPER"]]]();
|
||||
self give_sniper_loadout();
|
||||
}
|
||||
}
|
||||
|
||||
watchOneHardIsSniper()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
wait 1;
|
||||
|
||||
if ( !getDvarInt( "bots_oneHardIsSniper" ) )
|
||||
continue;
|
||||
|
||||
foreach (bot in level.bots)
|
||||
{
|
||||
if (bot.pers["bots"]["skill"]["base"] >= 7)
|
||||
{
|
||||
if (isAlive(bot) && !bot.isSniper)
|
||||
bot give_sniper_loadout();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
give_sniper_loadout()
|
||||
{
|
||||
self.pers["bots"]["behavior"]["quickscope"] = true;
|
||||
|
||||
// clear perks and weapons
|
||||
self takeAllWeapons();
|
||||
self.specialty = [];
|
||||
self _clearPerks();
|
||||
self maps\mp\gametypes\_class::_detachAll();
|
||||
|
||||
// give perks
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_fastreload" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_quickdraw" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_bulletdamage" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_armorpiercing" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_bulletaccuracy" );
|
||||
self maps\mp\perks\_perks::givePerk( "specialty_holdbreath" );
|
||||
|
||||
// give weapons
|
||||
self _giveWeapon( "usp_mp", 0 );
|
||||
self SetWeaponAmmoClip( "usp_mp", 0 );
|
||||
self SetWeaponAmmoStock( "usp_mp", 0 );
|
||||
|
||||
self _giveWeapon( "cheytac_mp", 0 );
|
||||
self setSpawnWeapon( "cheytac_mp" );
|
||||
|
||||
// make into sniper model
|
||||
if ( level.environment != "" )
|
||||
self [[game[self.team + "_model"]["GHILLIE"]]]();
|
||||
else
|
||||
self [[game[self.team + "_model"]["SNIPER"]]]();
|
||||
|
||||
self.isSniper = true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user