mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-06-26 14:22:02 +00:00
1.03
This commit is contained in:
178
mods/mp_patch/maps/mp/mp_duga.gsc
Normal file
178
mods/mp_patch/maps/mp/mp_duga.gsc
Normal file
@ -0,0 +1,178 @@
|
||||
#include maps\mp\_utility;
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_events;
|
||||
|
||||
main()
|
||||
{
|
||||
///#
|
||||
//execdevgui( "devgui_mp_duga" );
|
||||
//#/
|
||||
|
||||
//needs to be first for create fx
|
||||
maps\mp\mp_duga_fx::main();
|
||||
|
||||
maps\mp\_load::main();
|
||||
|
||||
maps\mp\mp_duga_amb::main();
|
||||
|
||||
// If the team nationalites change in this file,
|
||||
// you must update the team nationality in the level's csc file as well!
|
||||
maps\mp\gametypes\_teamset_winterspecops::level_init();
|
||||
|
||||
precachemodel("collision_geo_mc_8x560x190");
|
||||
precachemodel("collision_geo_mc_4x52x190");
|
||||
|
||||
// enable new spawning system
|
||||
maps\mp\gametypes\_spawning::level_use_unified_spawning(true);
|
||||
|
||||
if ( GetDvarInt( #"xblive_wagermatch" ) == 1 )
|
||||
{
|
||||
maps\mp\_compass::setupMiniMap("compass_map_mp_duga_wager");
|
||||
}
|
||||
else
|
||||
{
|
||||
maps\mp\_compass::setupMiniMap("compass_map_mp_duga");
|
||||
}
|
||||
|
||||
//Increase sample size so as to resolve lighting issue
|
||||
SetDvar("sm_sunSampleSizeNear", ".5" );
|
||||
|
||||
//Sets it up so my events go off at times based on the game time and score limit
|
||||
//level thread transformer_timer_init();
|
||||
///#
|
||||
//level thread devgui_duga();
|
||||
//#/
|
||||
|
||||
glasses = GetStructArray( "glass_shatter_on_spawn", "targetname" );
|
||||
|
||||
for ( i = 0; i < glasses.size; i++ )
|
||||
{
|
||||
RadiusDamage( glasses[i].origin, 64, 101, 100 );
|
||||
}
|
||||
|
||||
// weapon collision to keep grenades from falling out of the map through a gap between the terrain and the wall.
|
||||
spawncollision("collision_geo_mc_8x560x190","collider",(462, -3840, -165), (0, 0, 0));
|
||||
spawncollision("collision_geo_mc_4x52x190","collider",(184, -3870, -164), (0, 270, 0));
|
||||
spawncollision("collision_geo_mc_4x52x190","collider",(184, -3922, -164), (0, 270, 0));
|
||||
spawncollision("collision_geo_mc_4x52x190","collider",(188, -3922, -169), (0, 270, 0));
|
||||
}
|
||||
|
||||
//Sets it up so events can happen based on match time and score changes
|
||||
transformer_timer_init()
|
||||
{
|
||||
first_transformer_structs = getstructarray("transformer_struct","targetname");
|
||||
|
||||
level._transformer_array = [];
|
||||
|
||||
for( i=0; i < first_transformer_structs.size; i++)
|
||||
{
|
||||
current_struct = first_transformer_structs[i];
|
||||
level._transformer_array = add_to_array(level._transformer_array, current_struct);
|
||||
|
||||
while(IsDefined(current_struct.target))
|
||||
{
|
||||
current_struct = getstruct(current_struct.target, "targetname");
|
||||
level._transformer_array = add_to_array(level._transformer_array, current_struct);
|
||||
}
|
||||
}
|
||||
|
||||
level waittill( "prematch_over" );
|
||||
|
||||
|
||||
if( (IsDefined(level.timelimit)) && (level.timelimit > 0))
|
||||
{
|
||||
//Electric transformers explode in pairs. The number of pairs is critical to determine how many 'events' we need.
|
||||
transformer_pairs = level._transformer_array.size / 2;
|
||||
total_seconds = level.timelimit * 60;
|
||||
//We want to space out the transformer pair explosion evenly thourought the match
|
||||
interval = total_seconds / transformer_pairs;
|
||||
|
||||
//This creates events based on how many we need. The event sends a notify to duga.csc to set off explosions.
|
||||
for( i = total_seconds; i >= interval; i -= interval )
|
||||
{
|
||||
println( "Seconds: " + i );
|
||||
add_timed_event( int( i ), undefined, "go" );
|
||||
}
|
||||
|
||||
//This event sets off with a tenth of a second left in the game. The duga.csc waits for the notify.
|
||||
add_timed_event( .1, undefined, "fin" );
|
||||
}
|
||||
//add_score_event( Int(level.scorelimit * .99), undefined, "final_boom" );
|
||||
//add_score_event( Int(level.scorelimit * 0.1),undefined, "next_boom" );
|
||||
//add_score_event( Int(level.scorelimit * 0.2),undefined, "next_boom" );
|
||||
}
|
||||
|
||||
devgui_duga( cmd )
|
||||
{
|
||||
|
||||
for ( ;; )
|
||||
{
|
||||
wait( 0.5 );
|
||||
|
||||
devgui_string = GetDvar( #"devgui_notify" );
|
||||
|
||||
switch( devgui_string )
|
||||
{
|
||||
case "":
|
||||
break;
|
||||
|
||||
case "transformer_explode1":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode2":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode3":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode4":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode5":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode6":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode7":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode8":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode9":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode10":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode11":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
case "transformer_explode12":
|
||||
level ClientNotify ("transformer_explode");
|
||||
break;
|
||||
|
||||
//case "final_explode":
|
||||
//transformer_array[5] notify ("final_explode");
|
||||
//break;
|
||||
|
||||
default:
|
||||
level notify( devgui_string );
|
||||
break;
|
||||
}
|
||||
|
||||
SetDvar( "devgui_notify", "" );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user