Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BotMain()
- {
- level.Wave++;
- level thread UpdateVariables();
- CreateBotWave(level.BotsForWaveNormal, level.ZombieHealthNormal, getType() );
- }
- UpdateVariables()
- {
- /* Variables */
- level.BotsForWaveNormal = 10*(level.Wave + 1);
- level.BotsForWaveBoss = 1;
- level.BotsForWaveHell = 25*(level.Wave + 1);
- level.ZombieHealthNormal = 100.0 * 1.25;
- level.ZombieHealthHell = level.ZombieHealthHell * 1.35;
- level.ZombieHealthBoss = level.ZombieHealthBoss * 1.75;
- }
- CreateBotWave(zombiesForWave, zombieHealthForWave, type)
- {
- level endon("game_ended");
- level.BotsForWave = zombiesForWave;
- level.RealSpawnedBots = 0;
- announcement(zombieHealthForWave);
- level.ZombieHealth = zombieHealthForWave;
- level.zState = "playing";
- level notify("zombie_round_started_end");
- level SetNormalRound();
- level notify("crate_gone");
- foreach( player in level.players )
- {
- player thread RoundStartText("Wave " + level.Wave, 1, (1,1,1), (0.3,0.3,0.9), 0.85);
- if(getDvarInt("z_dedicated") == 0)
- player PlayLocalSound("mp_killstreak_choppergunner");
- else
- player PlayLocalSound("mp_bonus_end");
- player playLocalSound("US_1mc_fightback");
- }
- for( i = 0;i < level.BotsForWave;i++ )
- {
- while(AImod\_botUtil::ZombieCount() >= 25)
- {
- wait 1;
- }
- if(level.RealSpawnedBots < level.BotsForWave)
- {
- level.RealSpawnedBots++;
- }
- level notify("zombie_spawned");
- level.bots[i] = spawn("script_model", AImod\_botUtil::GetMapSpawnPoint()+(randomIntRange(-20,20),randomIntRange(-20,20),0));
- level.bots[i] setModel(AImod\_botUtil::GetSpawnModel());
- level.bots[i].crate1 = spawn("script_model", level.bots[i] getTagOrigin( "j_spinelower" ) + (-5,0,-10));
- level.bots[i].crate1 setModel("com_plasticcase_beige_big");
- level.bots[i].crate1 CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
- level.bots[i].crate1.angles = (90,0,0);
- level.bots[i].crate1 Solid();
- level.bots[i].crate1 hide();
- level.bots[i].crate1.team = "axis";
- level.bots[i].crate1.name = "botCrate" + i;
- level.bots[i].crate1 setCanDamage(true);
- level.bots[i].crate1.maxhealth = level.ZombieHealth;
- level.bots[i].crate1.health = level.ZombieHealth;
- level.bots[i].crate1 linkto( level.bots[i], "j_spinelower" );
- level.bots[i].id = i;
- level.bots[i].head = spawn("script_model", level.bots[i] getTagOrigin( "j_spine4" ));
- level.bots[i].head setModel(AImod\_botUtil::GetHeadSpawnModelZombie());
- level.bots[i].head.angles = (270,0,270);
- level.bots[i].head.team = "axis";
- level.bots[i].head linkto( level.bots[i], "j_spine4" );
- level.bots[i].hasMarker = false;
- level.bots[i].team = "axis";
- level.bots[i].name = "bot" + i;
- level.bots[i].targetname = "bot";
- level.bots[i].classname = "bot";
- level.bots[i].currentsurface = "default";
- level.bots[i].kills = 0;
- level.bots[i].pers["isAlive"] = "true";
- level.bots[i].type = "normal_zombie";
- if(getDvarInt("z_doa") == 0)
- level.bots[i] thread BonusDrops();
- if(getDvarInt("z_doa") >= 1)
- level.bots[i] thread BonusDropsDeadOps();
- level.bots[i] thread MonitorAttackPlayers( );
- level.bots[i] thread MonitorBotHealth();
- level.bots[i] thread KillIfUnderMap();
- level.bots[i] thread MoniterPosition();
- level.bots[i] RegisterAnimation("normal_zombie_" + randomInt(3));
- level.bots[i] thread ZombieAnimationForRound();
- level.bots[i] thread MoniterZombieSpeed(); // Dynamicly Moniters the Bot's Speed
- level.bots[i] thread GetBestPlayerAndMoveTo();
- wait 0.6;
- }
- level thread MonitorFinish();
- }
- getType( )
- {
- hell = false;
- hell_maps = [];
- hell_maps["mp_subbase"] = 1;
- hell_maps["mp_estate"] = 1;
- hell_maps["mp_overgrown"] = 1;
- hell_maps["mp_crash"] = 1;
- hell = isDefined( hell_maps[ getdvar("mapname") ] );
- waves = [];
- //Hell maps
- waves[ true ] = []; //Array for hell map rounds
- waves[ true ][4] = "hell_zombie";
- waves[ true ][14] = "hell_zombie";
- waves[ true ][24] = "hell_zombie";
- waves[ true ][9] = "hellboss_zombie";
- waves[ true ][19] = "hellboss_zombie";
- waves[ true ][29] = "hellboss_zombie";
- waves[ true ]["default"] = "normalhell_zombie";
- //Non-Hell maps
- waves[ false ] = []; //Array for non-hell map rounds
- waves[ false ][4] = "crawl_zombie";
- waves[ false ][14] = "crawl_zombie";
- waves[ false ][24] = "crawl_zombie";
- waves[ false ][9] = "boss_zombie";
- waves[ false ][19] = "boss_zombie";
- waves[ false ][29] = "boss_zombie";
- waves[ false ]["default"] = "normal_zombie";
- if( isDefined( waves[ hell ][ level.Wave ] ) )
- return waves[ hell ][ level.Wave ];
- else
- return waves[ hell ][ "default" ];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement