This commit is contained in:
ineed bots 2022-03-24 16:19:57 -06:00
parent 395a991b6f
commit a015aed62a

View File

@ -6,15 +6,18 @@
init() init()
{ {
setDvarIfUninitialized( "bots_sniperLoadout", false ); setDvarIfUninitialized( "bots_sniperLoadout", false );
setDvarIfUninitialized( "bots_oneHardIsSniper", false );
level thread onBotConnected(); level thread onBotConnected();
level thread watchOneHardIsSniper();
} }
onBotConnected() onBotConnected()
{ {
for (;;) for ( ;; )
{ {
level waittill("bot_connected", bot); level waittill( "bot_connected", bot );
bot thread onBotGivenLoadout(); bot thread onBotGivenLoadout();
} }
@ -22,43 +25,72 @@ onBotConnected()
onBotGivenLoadout() onBotGivenLoadout()
{ {
self endon("disconnect"); self endon( "disconnect" );
for (;;) for ( ;; )
{ {
self waittill( "bot_giveLoadout", allowCopycat ); self waittill( "bot_giveLoadout", allowCopycat );
if (!getDvarInt("bots_sniperLoadout")) if ( !getDvarInt( "bots_sniperLoadout" ) )
continue; continue;
self.pers["bots"]["behavior"]["quickscope"] = true; self give_sniper_loadout();
// 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"]]]();
} }
} }
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;
}