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()
|
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;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user