106 lines
12 KiB
Plaintext
106 lines
12 KiB
Plaintext
#using scripts\codescripts\struct;
|
|
|
|
#using scripts\shared\compass;
|
|
#using scripts\shared\util_shared;
|
|
|
|
|
|
|
|
#using scripts\mp\_load;
|
|
#using scripts\mp\_util;
|
|
|
|
#using scripts\mp\mp_ethiopia_fx;
|
|
#using scripts\mp\mp_ethiopia_sound;
|
|
|
|
#precache( "model", "p7_eth_bridge_signs" ); #precache( "model", "p7_light_sconce" ); #precache( "model", "p7_bag_duffel_military" ); #precache( "model", "p7_trophy_taxidermy_boarhead" ); #precache( "model", "p7_trophy_taxidermy_head_antelope_kudu_ph" ); #precache( "model", "p7_cai_basket_reed_b_painted" ); #precache( "model", "p7_cai_apt_couch_ottoman" ); #precache( "model", "p7_box_cardboard_b_closed" ); #precache( "model", "p7_crate_lab_plastic_locking_lid" ); #precache( "model", "p7_eth_trash_can_ph" ); #precache( "model", "p7_eth_kiosk_01" ); #precache( "model", "p7_trashcan_metal_modern_glass" ); #precache( "model", "p7_trophy_taxidermy_wildcat" ); #precache( "model", "p7_cabinet_wood_rustic" ); #precache( "model", "p7_barrel_vintage_wood" ); #precache( "model", "p7_column_organic_wood" ); #precache( "model", "p7_eth_rock_boulder_medium_02_grime" ); #precache( "model", "p7_zm_der_lab_cage" ); #precache( "model", "p7_eth_patio_awning_ph" ); #precache( "model", "p7_foliage_plant_giant_lobelia_04_ph" ); #precache( "model", "p7_eth_cave_columns_large_ph" ); #precache( "model", "p7_foliage_tree_heath_02_ph" ); #precache( "model", "p7_eth_sign_guide" ); #precache( "model", "p7_eth_rock_boulder_large_01_grime" );
|
|
|
|
#precache( "model", "collision_clip_256x256x256" );
|
|
#precache( "model", "collision_nosight_wall_512x512x10" );
|
|
#precache( "model", "collision_clip_128x128x128" );
|
|
#precache( "model", "collision_clip_wall_64x64x10" );
|
|
|
|
function main()
|
|
{
|
|
precache();
|
|
|
|
mp_ethiopia_fx::main();
|
|
mp_ethiopia_sound::main();
|
|
|
|
level.add_raps_drop_locations = &add_raps_drop_locations;
|
|
|
|
load::main();
|
|
|
|
//compass map function, uncomment when adding the minimap
|
|
compass::setupMiniMap("compass_map_mp_ethiopia");
|
|
|
|
SetDvar( "compassmaxrange", "2100" ); // Set up the default range of the compass
|
|
|
|
//Spawning clip over waterfall
|
|
spawncollision("collision_clip_256x256x256","collider",( -129.888 , -1884.61 , 661.629 ), ( 0, -7, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( -129.888 , -1875.59 , 827.62 ), ( 0, -7, 0));
|
|
|
|
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 611.5 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 733.5 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 857 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 193 , -1635 , 979 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 611.5 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 733.5 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 857 ), ( 0, 0, 0));
|
|
spawncollision("collision_clip_256x256x256","collider",( 132.5 , -1635 , 979 ), ( 0, 0, 0));
|
|
|
|
//Spawning nosight over glass wall run wall facing lower start spawn to prevent AI from shooting through walls into lodge
|
|
spawncollision("collision_nosight_wall_512x512x10","collider",( 1953.84 , -762.342 , 16 ), ( 0, 12, 0));
|
|
|
|
//Spawning clip over log outside of meeshaa building near cave to prevent mantling into geo
|
|
spawncollision("collision_clip_wall_64x64x10","collider",( -1040 , -1338.5 , 73.5 ), ( 4 , 10 , 0 ));
|
|
|
|
// Keeps the bots from trying the big jump up from the bridge
|
|
setDvar( "bot_maxmantleheight", 135 );
|
|
|
|
// Stockpile hub points
|
|
level.cleanDepositPoints = Array ( ( 301.869 , 278.255 , -218.677 ),
|
|
( 241.91 , -1226.31 , 37.6831 ),
|
|
( 1353.01 , -116.183 , -66.9346 ),
|
|
( -294.319 , -2288.04 , 10.5979 ));
|
|
|
|
level spawnKillTrigger();
|
|
}
|
|
|
|
function precache()
|
|
{
|
|
// DO ALL PRECACHING HERE
|
|
}
|
|
|
|
function add_raps_drop_locations( &drop_candidate_array )
|
|
{
|
|
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( 350, 650, -222 );; // on the west side of the big bridge
|
|
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( -100, 420, -223 );; // on the east side of the big bridge
|
|
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( 2900, -140, -23 );; // far west patio
|
|
if ( !isdefined( drop_candidate_array ) ) drop_candidate_array = []; else if ( !IsArray( drop_candidate_array ) ) drop_candidate_array = array( drop_candidate_array ); drop_candidate_array[drop_candidate_array.size]=( -690, -850, 26 );; // near bird exhibit (two trees); just west of it
|
|
}
|
|
function spawnKillTrigger()
|
|
{
|
|
trigger = spawn( "trigger_radius", ( -993.5 , -1327.5 , 0.5 ), 0, 50, 300 );
|
|
trigger thread watchKillTrigger();
|
|
|
|
// Killtriggers for wallbreach backward mantle from bridge railing into main building Devtrack issue 156450
|
|
|
|
trigger = spawn( "trigger_radius", ( 1824.000 , -250.000 , -236.000 ), 0, 32, 496 );
|
|
trigger thread watchKillTrigger();
|
|
|
|
trigger = spawn( "trigger_radius", ( 1742.000 , -346.000 , -236.000 ), 0, 128, 496 );
|
|
trigger thread watchKillTrigger();
|
|
|
|
}
|
|
|
|
function watchKillTrigger()
|
|
{
|
|
level endon( "game_ended" );
|
|
|
|
trigger = self;
|
|
|
|
while(1)
|
|
{
|
|
trigger waittill( "trigger", player );
|
|
player DoDamage(1000, trigger.origin + (0, 0, 0), trigger, trigger, "none", "MOD_SUICIDE", 0 );
|
|
}
|
|
} |