mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-29 02:47:56 -05:00
2288 lines
51 KiB
Plaintext
2288 lines
51 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\_load.gsc
|
|
* Game: Call of Duty: Ghosts
|
|
* Platform: PC
|
|
* Function Count: 66
|
|
* Decompile Time: 1123 ms
|
|
* Timestamp: 10/27/2023 1:24:52 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_4FDD()
|
|
{
|
|
if(!isdefined(level.func))
|
|
{
|
|
level.func = [];
|
|
}
|
|
|
|
level.func["setsaveddvar"] = ::setsaveddvar;
|
|
level.func["useanimtree"] = ::useanimtree;
|
|
level.func["setanim"] = ::setanim;
|
|
level.func["setanimknob"] = ::setanimknob;
|
|
level.func["setflaggedanimknob"] = ::setflaggedanimknob;
|
|
level.func["setflaggedanimknobrestart"] = ::setflaggedanimknobrestart;
|
|
level.func["setanimlimited"] = ::setanimlimited;
|
|
level.func["setanimtime"] = ::setanimtime;
|
|
level.func["getanimtime"] = ::getanimtime;
|
|
level.func["getanimlength"] = ::getanimlength;
|
|
level.func["clearanim"] = ::clearanim;
|
|
level.func["kill"] = ::kill;
|
|
level.func["magicgrenade"] = ::magicgrenade;
|
|
func_6EA5();
|
|
level.global_callbacks = [];
|
|
level.global_callbacks["_autosave_stealthcheck"] = ::func_3D2C;
|
|
level.global_callbacks["_patrol_endon_spotted_flag"] = ::func_3D2C;
|
|
level.global_callbacks["_spawner_stealth_default"] = ::func_3D2C;
|
|
level.global_callbacks["_idle_call_idle_func"] = ::func_3D2C;
|
|
if(!isdefined(level.var_8A0D))
|
|
{
|
|
level.var_8A0D = "cheat_bw";
|
|
}
|
|
|
|
visionsetthermal(level.var_8A0D);
|
|
visionsetpain("near_death");
|
|
level.func["damagefeedback"] = ::maps\_damagefeedback::func_86E0;
|
|
common_scripts\utility::func_F1B(getentarray("script_model_pickup_claymore","classname"),::func_1CA5);
|
|
common_scripts\utility::func_F1B(getentarray("ammo_cache","targetname"),::ammo_cache_think_global);
|
|
maps\_utility::array_delete(getentarray("trigger_multiple_softlanding","classname"));
|
|
if(getdvar("debug") == "")
|
|
{
|
|
setdvar("debug","0");
|
|
}
|
|
|
|
if(getdvar("fallback") == "")
|
|
{
|
|
setdvar("fallback","0");
|
|
}
|
|
|
|
if(getdvar("angles") == "")
|
|
{
|
|
setdvar("angles","0");
|
|
}
|
|
|
|
if(getdvar("noai") == "")
|
|
{
|
|
setdvar("noai","off");
|
|
}
|
|
|
|
if(getdvar("scr_RequiredMapAspectratio") == "")
|
|
{
|
|
setdvar("scr_RequiredMapAspectratio","1");
|
|
}
|
|
|
|
setdvar("ac130_player_num",-1);
|
|
setdvar("ui_remotemissile_playernum",0);
|
|
setdvar("ui_pmc_won",0);
|
|
setdvar("ui_actionSlot_1_forceActive","off");
|
|
setdvar("ui_actionSlot_2_forceActive","off");
|
|
setdvar("ui_actionSlot_3_forceActive","off");
|
|
setdvar("ui_actionSlot_4_forceActive","off");
|
|
setdvar("ui_dog_grenade",0);
|
|
setdvar("hideHudFast",0);
|
|
setdvar("ui_securing","");
|
|
setdvar("ui_securing_progress",0);
|
|
setdvar("hud_showObjectives",1);
|
|
setdvar("hud_showIntel",1);
|
|
setdvar("minimap_sp",0);
|
|
setdvar("minimap_full_sp",0);
|
|
if(!isdefined(level.var_56F7))
|
|
{
|
|
anim.var_56F7 = [];
|
|
animscripts/notetracks::func_646F();
|
|
}
|
|
|
|
common_scripts\utility::func_3385("introscreen_complete");
|
|
maps\_utility::add_start("no_game",::func_7A66);
|
|
add_no_game_starts();
|
|
level._loadstarted = 1;
|
|
level.first_frame = 1;
|
|
level.level_specific_dof = 0;
|
|
thread func_653E();
|
|
level.var_8A69 = [];
|
|
level.var_6952 = [];
|
|
level.run_call_after_wait_array = [];
|
|
level.run_noself_call_after_wait_array = [];
|
|
level.do_wait_endons_array = [];
|
|
level.var_7BD = [];
|
|
if(!isdefined(level.script))
|
|
{
|
|
level.script = tolower(getdvar("mapname"));
|
|
}
|
|
|
|
level.var_2740["center"] = "dirt_effect_center";
|
|
level.var_2740["left"] = "dirt_effect_left";
|
|
level.var_2740["right"] = "dirt_effect_right";
|
|
precachemenu(level.var_2740["center"]);
|
|
precachemenu(level.var_2740["left"]);
|
|
precachemenu(level.var_2740["right"]);
|
|
precacheshader("fullscreen_dirt_bottom_b");
|
|
precacheshader("fullscreen_dirt_bottom");
|
|
precacheshader("fullscreen_dirt_left");
|
|
precacheshader("fullscreen_dirt_right");
|
|
precacheshader("fullscreen_bloodsplat_bottom");
|
|
precacheshader("fullscreen_bloodsplat_left");
|
|
precacheshader("fullscreen_bloodsplat_right");
|
|
precacheshader("black");
|
|
precacheshader("white");
|
|
level.ai_number = 0;
|
|
if(!isdefined(level.flag))
|
|
{
|
|
common_scripts\utility::func_4549();
|
|
}
|
|
else
|
|
{
|
|
var_00 = getarraykeys(level.flag);
|
|
common_scripts\utility::array_levelthread(var_00,::check_flag_for_stat_tracking);
|
|
}
|
|
|
|
func_4561();
|
|
if(issplitscreen())
|
|
{
|
|
setsaveddvar("cg_fovScale","0.75");
|
|
}
|
|
else
|
|
{
|
|
setsaveddvar("cg_fovScale","1");
|
|
}
|
|
|
|
level.var_62B6 = 0;
|
|
common_scripts\utility::func_3385("missionfailed");
|
|
common_scripts\utility::func_3385("auto_adjust_initialized");
|
|
common_scripts\utility::func_3385("_radiation_poisoning");
|
|
common_scripts\utility::func_3385("gameskill_selected");
|
|
common_scripts\utility::func_3385("battlechatter_on_thread_waiting");
|
|
common_scripts\utility::func_3385("start_is_set");
|
|
thread maps\_gameskill::aa_init_stats();
|
|
thread func_5DBE();
|
|
level.default_run_speed = 190;
|
|
setsaveddvar("g_speed",level.default_run_speed);
|
|
if(maps\_utility::func_4840())
|
|
{
|
|
setsaveddvar("sv_saveOnStartMap",0);
|
|
}
|
|
else if(isdefined(level.var_2131))
|
|
{
|
|
setsaveddvar("sv_saveOnStartMap",0);
|
|
}
|
|
else
|
|
{
|
|
setsaveddvar("sv_saveOnStartMap",1);
|
|
}
|
|
|
|
common_scripts\utility::create_lock("mg42_drones");
|
|
common_scripts\utility::create_lock("mg42_drones_target_trace");
|
|
level.dronestruct = [];
|
|
foreach(var_03, var_02 in level.struct)
|
|
{
|
|
if(!isdefined(var_02.targetname))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_02.targetname == "delete_on_load")
|
|
{
|
|
level.struct[var_03] = undefined;
|
|
}
|
|
}
|
|
|
|
common_scripts\utility::func_7CF9();
|
|
common_scripts\utility::func_3385("respawn_friendlies");
|
|
common_scripts\utility::func_3385("player_flashed");
|
|
level.connectpathsfunction = ::connectpaths;
|
|
level.disconnectpathsfunction = ::disconnectpaths;
|
|
level.badplace_cylinder_func = ::badplace_cylinder;
|
|
level.badplace_delete_func = ::badplace_delete;
|
|
level.isaifunc = ::isai;
|
|
level.createclientfontstring_func = ::maps\_hud_util::func_20D1;
|
|
level.hudsetpoint_func = ::maps\_hud_util::func_70A4;
|
|
level.var_5014 = ::makeentitysentient;
|
|
level.var_3507 = ::freeentitysentient;
|
|
level.laseron_func = ::laserforceon;
|
|
level.laseroff_func = ::laserforceoff;
|
|
level.var_7B06 = ::maps\_player_stats::func_6454;
|
|
level.var_7B05 = ::maps\_player_stats::func_6461;
|
|
level.var_2A05 = 1;
|
|
level.autosave_threat_check_enabled = 1;
|
|
level.getnodefunction = ::getnode;
|
|
level.getnodearrayfunction = ::getnodearray;
|
|
level.addaieventlistener_func = ::addaieventlistener;
|
|
if(!isdefined(level._notetrackfx))
|
|
{
|
|
level._notetrackfx = [];
|
|
}
|
|
|
|
foreach(var_05 in level.players)
|
|
{
|
|
var_05.maxhealth = level.player.health;
|
|
var_05.var_73FD = 0;
|
|
var_05.var_47AD = 0;
|
|
var_05 thread func_8D33();
|
|
}
|
|
|
|
level.var_4C11 = -5000;
|
|
level.var_4190 = [];
|
|
thread func_610A();
|
|
for(var_07 = 0;var_07 < level.players.size;var_07++)
|
|
{
|
|
var_05 = level.players[var_07];
|
|
var_05 thread maps\_utility::flashmonitor();
|
|
var_05 thread maps\_utility::func_7414();
|
|
}
|
|
|
|
precachemodel("fx");
|
|
precachemodel("tag_origin");
|
|
precachemodel("tag_ik_target");
|
|
precacheshellshock("victoryscreen");
|
|
precacheshellshock("default");
|
|
precacheshellshock("flashbang");
|
|
precacheshellshock("dog_bite");
|
|
precacherumble("damage_heavy");
|
|
precacherumble("damage_light");
|
|
precacherumble("grenade_rumble");
|
|
precacherumble("artillery_rumble");
|
|
precacherumble("slide_start");
|
|
precacherumble("slide_loop");
|
|
precachestring(&"GAME_GET_TO_COVER");
|
|
precachestring(&"GAME_LAST_STAND_GET_BACK_UP");
|
|
precachestring(&"SCRIPT_GRENADE_DEATH");
|
|
precachestring(&"SCRIPT_GRENADE_SUICIDE_LINE1");
|
|
precachestring(&"SCRIPT_GRENADE_SUICIDE_LINE2");
|
|
precachestring(&"SCRIPT_EXPLODING_VEHICLE_DEATH");
|
|
precachestring(&"SCRIPT_EXPLODING_DESTRUCTIBLE_DEATH");
|
|
precachestring(&"SCRIPT_EXPLODING_BARREL_DEATH");
|
|
precacheshader("hud_grenadeicon");
|
|
precacheshader("hud_grenadepointer");
|
|
precacheshader("hud_burningcaricon");
|
|
precacheshader("death_juggernaut");
|
|
precacheshader("death_friendly_fire");
|
|
precacheshader("hud_destructibledeathicon");
|
|
precacheshader("hud_burningbarrelicon");
|
|
precacheshader("waypoint_ammo");
|
|
level._effect["deathfx_bloodpool_generic"] = loadfx("fx/impacts/deathfx_bloodpool_generic");
|
|
animscripts/pain::initpainfx();
|
|
animscripts/melee::func_516B();
|
|
level.createfx_enabled = getdvar("createfx") != "";
|
|
func_761D();
|
|
maps\_mgturret::func_4FDD();
|
|
common_scripts\_exploder::func_71F8();
|
|
maps\_gameskill::func_70C9();
|
|
maps\_art::func_4FDD();
|
|
maps\_anim::func_44DF();
|
|
thread common_scripts\_fx::func_460F();
|
|
if(level.createfx_enabled)
|
|
{
|
|
}
|
|
|
|
maps\_global_fx_code::func_44DF();
|
|
maps\_global_fx::func_4FDD();
|
|
func_2493();
|
|
maps\_detonategrenades::func_44DF();
|
|
maps\_lights::func_44DF();
|
|
maps\_names::func_7193();
|
|
if(isdefined(level.var_3F50))
|
|
{
|
|
thread [[ level.var_3F50 ]]();
|
|
}
|
|
else
|
|
{
|
|
thread handle_starts();
|
|
}
|
|
|
|
if(!isdefined(level.trigger_flags))
|
|
{
|
|
common_scripts\utility::func_45C2();
|
|
}
|
|
|
|
level.var_4B2C = [];
|
|
maps\_audio::init_audio();
|
|
maps\_trigger::func_459F();
|
|
setsaveddvar("ufoHitsTriggers","0");
|
|
func_283A();
|
|
if(getdvar("g_connectpaths") == "2")
|
|
{
|
|
level waittill("eternity");
|
|
}
|
|
|
|
maps\_autosave::func_4FDD();
|
|
if(!isdefined(level.animsounds))
|
|
{
|
|
thread func_4515();
|
|
}
|
|
|
|
maps\_anim::func_44DF();
|
|
anim.var_87B9 = 0;
|
|
if(!isdefined(level.var_52F1))
|
|
{
|
|
level.var_52F1 = 0;
|
|
}
|
|
|
|
if(!maps\_utility::func_4840())
|
|
{
|
|
maps\_loadout::func_4568();
|
|
setsaveddvar("ui_campaign",level.var_1973);
|
|
}
|
|
|
|
common_scripts\_destructible::func_44DF();
|
|
thread maps\_vehicle::init_vehicles();
|
|
func_7085();
|
|
common_scripts\_dynamic_world::func_44DF();
|
|
thread maps\_autosave::beginningoflevelsave();
|
|
thread maps\_introscreen::func_4FDD();
|
|
thread maps\_endmission::func_4FDD();
|
|
thread maps\_damagefeedback::func_44DF();
|
|
maps\_friendlyfire::func_4FDD();
|
|
common_scripts\utility::array_levelthread(getentarray("badplace","targetname"),::badplace_think);
|
|
common_scripts\utility::array_levelthread(getentarray("delete_on_load","targetname"),::maps\_utility::func_2588);
|
|
common_scripts\utility::func_F1B(getnodearray("traverse","targetname"),::func_82DD);
|
|
common_scripts\utility::func_F1B(getentarray("piano_key","targetname"),::pianothink);
|
|
common_scripts\utility::func_F1B(getentarray("piano_damage","targetname"),::pianodamagethink);
|
|
common_scripts\utility::func_F1B(getentarray("water","targetname"),::func_8D74);
|
|
common_scripts\utility::func_F1B(getentarray("kill_all_players","targetname"),::func_4AB8);
|
|
common_scripts\utility::func_3385("allow_ammo_pickups");
|
|
common_scripts\utility::flag_set("allow_ammo_pickups");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_grenade_launcher","targetname"),::ammo_pickup,"grenade_launcher");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_rpg","targetname"),::ammo_pickup,"rpg");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_c4","targetname"),::ammo_pickup,"c4");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_claymore","targetname"),::ammo_pickup,"claymore");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_556","targetname"),::ammo_pickup,"556");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_762","targetname"),::ammo_pickup,"762");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_45","targetname"),::ammo_pickup,"45");
|
|
common_scripts\utility::func_F1B(getentarray("ammo_pickup_pistol","targetname"),::ammo_pickup,"pistol");
|
|
thread maps\_intelligence::func_4FDD();
|
|
thread maps\_gameskill::playerhealthregeninit();
|
|
for(var_07 = 0;var_07 < level.players.size;var_07++)
|
|
{
|
|
var_05 = level.players[var_07];
|
|
if(!maps\_utility::in_alien_mode())
|
|
{
|
|
var_05 thread maps\_gameskill::func_5FB3();
|
|
}
|
|
|
|
var_05 thread playerdamagerumble();
|
|
}
|
|
|
|
thread maps\_player_death::func_4FDD();
|
|
thread massnodeinitfunctions();
|
|
common_scripts\utility::func_3385("spawning_friendlies");
|
|
common_scripts\utility::func_3385("friendly_wave_spawn_enabled");
|
|
common_scripts\utility::func_337C("spawning_friendlies");
|
|
level.friendly_spawner["rifleguy"] = getentarray("rifle_spawner","script_noteworthy");
|
|
level.friendly_spawner["smgguy"] = getentarray("smg_spawner","script_noteworthy");
|
|
level.var_77C6 = [];
|
|
level.var_77C6["allies"] = [];
|
|
level.var_77C6["axis"] = [];
|
|
level.var_77C6["team3"] = [];
|
|
level.var_77C6["neutral"] = [];
|
|
thread maps\_spawner::func_3D6E();
|
|
thread maps\_spawner::friendlychains();
|
|
thread maps\_spawner::func_356E();
|
|
common_scripts\utility::func_F1B(getentarray("friendly_spawn","targetname"),::maps\_spawner::friendlyspawnwave);
|
|
common_scripts\utility::func_F1B(getentarray("flood_and_secure","targetname"),::maps\_spawner::func_3437);
|
|
common_scripts\utility::func_F1B(getentarray("window_poster","targetname"),::func_8DFD);
|
|
if(!isdefined(level.var_8358))
|
|
{
|
|
level.var_8358 = [];
|
|
level.var_8357 = [];
|
|
}
|
|
|
|
level.var_73D7 = [];
|
|
level.var_77D2 = [];
|
|
maps\_spawner::func_4FDD();
|
|
common_scripts\utility::func_F1B(getentarray("background_block","targetname"),::background_block);
|
|
maps\_hud::func_44DF();
|
|
thread func_4E86();
|
|
thread maps\_animatedmodels::func_4FDD();
|
|
thread func_8D8F();
|
|
if(level.script == level.var_52F3.var_4DBC[0].name && !level.player getlocalplayerprofiledata("hasEverPlayed_SP"))
|
|
{
|
|
maps\_utility::func_252F(0.1,::update_gamer_profile);
|
|
}
|
|
|
|
level notify("load_finished");
|
|
func_696F();
|
|
}
|
|
|
|
//Function Number: 2
|
|
update_gamer_profile()
|
|
{
|
|
level.player setlocalplayerprofiledata("hasEverPlayed_SP",1);
|
|
updategamerprofile();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_696F()
|
|
{
|
|
if(isdefined(level.var_60C7))
|
|
{
|
|
foreach(var_01 in level.var_60C7)
|
|
{
|
|
[[ var_01 ]]();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_6EA5()
|
|
{
|
|
level.early_level = [];
|
|
level.early_level["prologue"] = 1;
|
|
level.early_level["deer_hunt"] = 1;
|
|
level.early_level["nml"] = 1;
|
|
level.early_level["homecoming"] = 1;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_8D8F()
|
|
{
|
|
var_00 = getentarray();
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
if(isdefined(var_00[var_01].classname) && getsubstr(var_00[var_01].classname,0,7) == "weapon_")
|
|
{
|
|
var_02 = var_00[var_01];
|
|
var_03 = getsubstr(var_02.classname,7);
|
|
if(isdefined(var_02.var_6B30))
|
|
{
|
|
var_04 = weaponclipsize(var_03);
|
|
var_05 = weaponmaxammo(var_03);
|
|
var_02 itemweaponsetammo(var_04,var_05,var_04,0);
|
|
var_06 = weaponaltweaponname(var_03);
|
|
if(var_06 != "none")
|
|
{
|
|
var_07 = weaponclipsize(var_06);
|
|
var_08 = weaponmaxammo(var_06);
|
|
var_02 itemweaponsetammo(var_07,var_08,var_07,1);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_09 = 0;
|
|
var_04 = undefined;
|
|
var_0A = undefined;
|
|
var_0B = 0;
|
|
var_0C = undefined;
|
|
var_0D = undefined;
|
|
if(isdefined(var_02.var_6B2E))
|
|
{
|
|
var_04 = var_02.var_6B2E;
|
|
var_09 = 1;
|
|
}
|
|
|
|
if(isdefined(var_02.var_6B2F))
|
|
{
|
|
var_0A = var_02.var_6B2F;
|
|
var_09 = 1;
|
|
}
|
|
|
|
if(isdefined(var_02.var_6B2C))
|
|
{
|
|
var_0C = var_02.var_6B2C;
|
|
var_0B = 1;
|
|
}
|
|
|
|
if(isdefined(var_02.script_ammo_alt_extra))
|
|
{
|
|
var_0D = var_02.script_ammo_alt_extra;
|
|
var_0B = 1;
|
|
}
|
|
|
|
if(var_09)
|
|
{
|
|
if(!isdefined(var_04))
|
|
{
|
|
}
|
|
|
|
if(!isdefined(var_0A))
|
|
{
|
|
}
|
|
|
|
var_02 itemweaponsetammo(var_04,var_0A);
|
|
}
|
|
|
|
if(var_0B)
|
|
{
|
|
if(!isdefined(var_0C))
|
|
{
|
|
}
|
|
|
|
if(!isdefined(var_0D))
|
|
{
|
|
}
|
|
|
|
var_02 itemweaponsetammo(var_0C,var_0D,0,1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_30BC(param_00)
|
|
{
|
|
level endon("killexplodertridgers" + param_00.script_exploder);
|
|
param_00 waittill("trigger");
|
|
if(isdefined(param_00.script_chance) && randomfloat(1) > param_00.script_chance)
|
|
{
|
|
if(!param_00 maps\_utility::script_delay())
|
|
{
|
|
wait(4);
|
|
}
|
|
|
|
level thread func_30BC(param_00);
|
|
}
|
|
|
|
if(!param_00 maps\_utility::script_delay() && isdefined(param_00.var_6BAB))
|
|
{
|
|
wait(param_00.var_6BAB);
|
|
}
|
|
|
|
common_scripts\utility::exploder(param_00.script_exploder);
|
|
level notify("killexplodertridgers" + param_00.script_exploder);
|
|
}
|
|
|
|
//Function Number: 7
|
|
badplace_think(param_00)
|
|
{
|
|
if(!isdefined(level.badplaces))
|
|
{
|
|
level.badplaces = 0;
|
|
}
|
|
|
|
level.badplaces++;
|
|
badplace_cylinder("badplace" + level.badplaces,-1,param_00.origin,param_00.radius,1024);
|
|
}
|
|
|
|
//Function Number: 8
|
|
playerdamagerumble()
|
|
{
|
|
for(;;)
|
|
{
|
|
self waittill("damage",var_00);
|
|
if(isdefined(self.var_78E8))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self playrumbleonentity("damage_heavy");
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
map_is_early_in_the_game()
|
|
{
|
|
if(isdefined(level.early_level[level.script]))
|
|
{
|
|
return level.early_level[level.script];
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_82DD()
|
|
{
|
|
var_00 = getent(self.target,"targetname");
|
|
self.var_82CB = var_00.origin[2];
|
|
self.var_82CC = var_00.origin[2] - self.origin[2];
|
|
var_00 delete();
|
|
}
|
|
|
|
//Function Number: 11
|
|
pianodamagethink()
|
|
{
|
|
var_00 = self getorigin();
|
|
var_01[0] = "large";
|
|
var_01[1] = "small";
|
|
for(;;)
|
|
{
|
|
self waittill("trigger");
|
|
thread common_scripts\utility::func_5D1F("bullet_" + common_scripts\utility::func_6306(var_01) + "_piano",var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
pianothink()
|
|
{
|
|
var_00 = self getorigin();
|
|
var_01 = "piano_" + self.script_noteworthy;
|
|
self sethintstring(&"SCRIPT_PLATFORM_PIANO");
|
|
for(;;)
|
|
{
|
|
self waittill("trigger");
|
|
thread common_scripts\utility::func_5D1F(var_01,var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_8D74()
|
|
{
|
|
var_00 = getent(self.target,"targetname");
|
|
var_01 = var_00.origin[2];
|
|
var_00 = undefined;
|
|
level.var_25C5 = 8;
|
|
level.var_25C4 = 33;
|
|
level.depth_allow_stand = 50;
|
|
var_02 = 0;
|
|
for(;;)
|
|
{
|
|
wait(0.05);
|
|
if(!level.player.var_47AD && var_02)
|
|
{
|
|
var_02 = 0;
|
|
level.player allowprone(1);
|
|
level.player allowcrouch(1);
|
|
level.player allowstand(1);
|
|
thread func_8D75(level.default_run_speed);
|
|
}
|
|
|
|
self waittill("trigger");
|
|
level.player.var_47AD = 1;
|
|
var_02 = 1;
|
|
while(level.player istouching(self))
|
|
{
|
|
level.player.var_47AD = 1;
|
|
var_03 = level.player getorigin();
|
|
var_04 = var_03[2] - var_01;
|
|
if(var_04 > 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_05 = int(level.default_run_speed - abs(var_04 * 5));
|
|
if(var_05 < 50)
|
|
{
|
|
var_05 = 50;
|
|
}
|
|
|
|
thread func_8D75(var_05);
|
|
if(abs(var_04) > level.var_25C4)
|
|
{
|
|
level.player allowcrouch(0);
|
|
}
|
|
else
|
|
{
|
|
level.player allowcrouch(1);
|
|
}
|
|
|
|
if(abs(var_04) > level.var_25C5)
|
|
{
|
|
level.player allowprone(0);
|
|
continue;
|
|
}
|
|
|
|
level.player allowprone(1);
|
|
wait(0.5);
|
|
}
|
|
|
|
level.player.var_47AD = 0;
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_8D75(param_00)
|
|
{
|
|
level notify("ramping_water_movement_speed");
|
|
level endon("ramping_water_movement_speed");
|
|
var_01 = 0.5;
|
|
var_02 = int(var_01 * 20);
|
|
var_03 = getdvarint("g_speed");
|
|
var_04 = 0;
|
|
if(param_00 < var_03)
|
|
{
|
|
var_04 = 1;
|
|
}
|
|
|
|
var_05 = int(abs(var_03 - param_00));
|
|
var_06 = int(var_05 / var_02);
|
|
for(var_07 = 0;var_07 < var_02;var_07++)
|
|
{
|
|
var_03 = getdvarint("g_speed");
|
|
if(var_04)
|
|
{
|
|
setsaveddvar("g_speed",var_03 - var_06);
|
|
}
|
|
else
|
|
{
|
|
setsaveddvar("g_speed",var_03 + var_06);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
setsaveddvar("g_speed",param_00);
|
|
}
|
|
|
|
//Function Number: 15
|
|
massnodeinitfunctions()
|
|
{
|
|
var_00 = getallnodes();
|
|
thread maps\_mgturret::func_11B1(var_00);
|
|
thread maps\_mgturret::saw_mgturretlink(var_00);
|
|
thread maps\_colors::init_color_grouping(var_00);
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_448F(param_00)
|
|
{
|
|
var_01 = newhudelem();
|
|
var_01.alignx = "left";
|
|
var_01.aligny = "middle";
|
|
var_01.x = 10;
|
|
var_01.y = 400;
|
|
var_01 settext(param_00);
|
|
var_01.alpha = 0;
|
|
var_01.fontscale = 3;
|
|
wait(1);
|
|
var_01 fadeovertime(1);
|
|
var_01.alpha = 1;
|
|
wait(5);
|
|
var_01 fadeovertime(1);
|
|
var_01.alpha = 0;
|
|
wait(1);
|
|
var_01 destroy();
|
|
}
|
|
|
|
//Function Number: 17
|
|
handle_starts()
|
|
{
|
|
level.var_7A9D = spawnstruct();
|
|
common_scripts\utility::create_dvar("start","");
|
|
if(getdvar("scr_generateClipModels") != "" && getdvar("scr_generateClipModels") != "0")
|
|
{
|
|
}
|
|
|
|
if(!isdefined(level.var_7A3F))
|
|
{
|
|
level.var_7A3F = [];
|
|
}
|
|
|
|
var_00 = tolower(getdvar("start"));
|
|
var_01 = get_start_dvars();
|
|
if(isdefined(level.start_point))
|
|
{
|
|
var_00 = level.start_point;
|
|
}
|
|
|
|
var_02 = 0;
|
|
for(var_03 = 0;var_03 < var_01.size;var_03++)
|
|
{
|
|
if(var_00 == var_01[var_03])
|
|
{
|
|
var_02 = var_03;
|
|
level.start_point = var_01[var_03];
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isdefined(level.var_24AA) && !isdefined(level.start_point))
|
|
{
|
|
foreach(var_06, var_05 in var_01)
|
|
{
|
|
if(level.var_24AA == var_05)
|
|
{
|
|
var_02 = var_06;
|
|
level.start_point = var_05;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!isdefined(level.start_point))
|
|
{
|
|
if(isdefined(level.default_start))
|
|
{
|
|
level.start_point = "default";
|
|
}
|
|
else if(maps\_utility::func_4DA7())
|
|
{
|
|
level.start_point = level.var_7A3F[0]["name"];
|
|
}
|
|
else
|
|
{
|
|
level.start_point = "default";
|
|
}
|
|
}
|
|
|
|
var_07 = getdvarint("sv_loadingsavegame",0);
|
|
if(var_07 != 0)
|
|
{
|
|
var_08 = getdvar("sv_savegametransient","");
|
|
loadstartpointtransient(var_08);
|
|
if(var_08 != "")
|
|
{
|
|
common_scripts\utility::flag_set(var_08 + "_loaded");
|
|
}
|
|
}
|
|
else if(level.start_point != "default")
|
|
{
|
|
var_09 = level.var_79F6[level.start_point];
|
|
if(isdefined(var_09["transient"]))
|
|
{
|
|
loadstartpointtransient(var_09["transient"]);
|
|
common_scripts\utility::flag_set(var_09["transient"] + "_loaded");
|
|
}
|
|
else
|
|
{
|
|
loadstartpointtransient("");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
loadstartpointtransient("");
|
|
}
|
|
|
|
waittillframeend;
|
|
common_scripts\utility::flag_set("start_is_set");
|
|
thread func_7A5C();
|
|
if(level.start_point == "default")
|
|
{
|
|
if(isdefined(level.default_start))
|
|
{
|
|
level thread [[ level.default_start ]]();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_09 = level.var_79F6[level.start_point];
|
|
thread [[ var_09["start_func"] ]]();
|
|
}
|
|
|
|
if(maps\_utility::func_47DB())
|
|
{
|
|
var_0A = func_39B0(var_01);
|
|
setdvar("start",var_0A);
|
|
}
|
|
|
|
waittillframeend;
|
|
if(var_07 != 0)
|
|
{
|
|
wait(0.1);
|
|
}
|
|
|
|
var_0B = [];
|
|
if(!maps\_utility::func_47DB() && level.start_point != "no_game")
|
|
{
|
|
var_0C = gettime();
|
|
for(var_03 = 0;var_03 < level.var_7A3F.size;var_03++)
|
|
{
|
|
var_09 = level.var_7A3F[var_03];
|
|
if(var_09["name"] == level.start_point)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(var_09["catchup_function"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
[[ var_09["catchup_function"] ]]();
|
|
}
|
|
}
|
|
|
|
for(var_03 = var_02;var_03 < level.var_7A3F.size;var_03++)
|
|
{
|
|
var_09 = level.var_7A3F[var_03];
|
|
if(!isdefined(var_09["logic_func"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(already_ran_function(var_09["logic_func"],var_0B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level.var_7A9D [[ var_09["logic_func"] ]]();
|
|
var_0B[var_0B.size] = var_09["logic_func"];
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
already_ran_function(param_00,param_01)
|
|
{
|
|
foreach(var_03 in param_01)
|
|
{
|
|
if(var_03 == param_00)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_39B0(param_00)
|
|
{
|
|
var_01 = " ** No starts have been set up for this map with maps_utility::add_start().";
|
|
if(param_00.size)
|
|
{
|
|
var_01 = " ** ";
|
|
for(var_02 = param_00.size - 1;var_02 >= 0;var_02--)
|
|
{
|
|
var_01 = var_01 + param_00[var_02] + " ";
|
|
}
|
|
}
|
|
|
|
setdvar("start",var_01);
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 20
|
|
create_start(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
var_03 = (0.9,0.9,0.9);
|
|
if(param_01 != -1)
|
|
{
|
|
var_04 = 5;
|
|
if(param_01 != var_04)
|
|
{
|
|
var_02 = 1 - abs(var_04 - param_01) / var_04;
|
|
}
|
|
else
|
|
{
|
|
var_03 = (1,1,0);
|
|
}
|
|
}
|
|
|
|
if(var_02 == 0)
|
|
{
|
|
var_02 = 0.05;
|
|
}
|
|
|
|
var_05 = newhudelem();
|
|
var_05.alignx = "left";
|
|
var_05.aligny = "middle";
|
|
var_05.x = 80;
|
|
var_05.y = 80 + param_01 * 18;
|
|
var_05 settext(param_00);
|
|
var_05.alpha = 0;
|
|
var_05.foreground = 1;
|
|
var_05.color = var_03;
|
|
var_05.fontscale = 1.75;
|
|
var_05 fadeovertime(0.5);
|
|
var_05.alpha = var_02;
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_7A5C()
|
|
{
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_7A66()
|
|
{
|
|
common_scripts\utility::array_call(getaiarray(),::delete);
|
|
common_scripts\utility::array_call(getspawnerarray(),::delete);
|
|
}
|
|
|
|
//Function Number: 23
|
|
get_start_dvars()
|
|
{
|
|
var_00 = [];
|
|
for(var_01 = 0;var_01 < level.var_7A3F.size;var_01++)
|
|
{
|
|
var_00[var_00.size] = level.var_7A3F[var_01]["name"];
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_27E7()
|
|
{
|
|
level.display_starts_pressed = 1;
|
|
if(level.var_7A3F.size <= 0)
|
|
{
|
|
}
|
|
|
|
var_00 = get_start_dvars();
|
|
var_00[var_00.size] = "default";
|
|
var_00[var_00.size] = "cancel";
|
|
var_01 = func_7A52();
|
|
var_02 = create_start("Selected Start:",-1);
|
|
var_02.color = (1,1,1);
|
|
var_03 = [];
|
|
for(var_04 = 0;var_04 < var_00.size;var_04++)
|
|
{
|
|
var_05 = var_00[var_04];
|
|
var_06 = "[" + var_00[var_04] + "]";
|
|
if(var_05 != "cancel" && var_05 != "default")
|
|
{
|
|
if(isdefined(level.var_79F6[var_05]["start_loc_string"]))
|
|
{
|
|
var_06 = var_06 + " -> ";
|
|
var_06 = var_06 + level.var_79F6[var_05]["start_loc_string"];
|
|
}
|
|
}
|
|
|
|
var_03[var_03.size] = var_06;
|
|
}
|
|
|
|
var_07 = var_00.size - 1;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
var_0A = 0;
|
|
while(var_07 > 0)
|
|
{
|
|
if(var_00[var_07] == level.start_point)
|
|
{
|
|
var_0A = 1;
|
|
break;
|
|
}
|
|
|
|
var_07--;
|
|
}
|
|
|
|
if(!var_0A)
|
|
{
|
|
var_07 = var_00.size - 1;
|
|
}
|
|
|
|
func_7A53(var_01,var_03,var_07);
|
|
var_0B = var_07;
|
|
for(;;)
|
|
{
|
|
if(!level.player buttonpressed("F10"))
|
|
{
|
|
level.display_starts_pressed = 0;
|
|
}
|
|
|
|
if(var_0B != var_07)
|
|
{
|
|
func_7A53(var_01,var_03,var_07);
|
|
var_0B = var_07;
|
|
}
|
|
|
|
if(!var_08)
|
|
{
|
|
if(level.player buttonpressed("UPARROW") || level.player buttonpressed("DPAD_UP") || level.player buttonpressed("APAD_UP"))
|
|
{
|
|
var_08 = 1;
|
|
var_07--;
|
|
}
|
|
}
|
|
else if(!level.player buttonpressed("UPARROW") && !level.player buttonpressed("DPAD_UP") && !level.player buttonpressed("APAD_UP"))
|
|
{
|
|
var_08 = 0;
|
|
}
|
|
|
|
if(!var_09)
|
|
{
|
|
if(level.player buttonpressed("DOWNARROW") || level.player buttonpressed("DPAD_DOWN") || level.player buttonpressed("APAD_DOWN"))
|
|
{
|
|
var_09 = 1;
|
|
var_07++;
|
|
}
|
|
}
|
|
else if(!level.player buttonpressed("DOWNARROW") && !level.player buttonpressed("DPAD_DOWN") && !level.player buttonpressed("APAD_DOWN"))
|
|
{
|
|
var_09 = 0;
|
|
}
|
|
|
|
if(var_07 < 0)
|
|
{
|
|
var_07 = var_00.size - 1;
|
|
}
|
|
|
|
if(var_07 >= var_00.size)
|
|
{
|
|
var_07 = 0;
|
|
}
|
|
|
|
if(level.player buttonpressed("BUTTON_B"))
|
|
{
|
|
func_7A26(var_01,var_02);
|
|
break;
|
|
}
|
|
|
|
if(level.player buttonpressed("kp_enter") || level.player buttonpressed("BUTTON_A") || level.player buttonpressed("enter"))
|
|
{
|
|
if(var_00[var_07] == "cancel")
|
|
{
|
|
func_7A26(var_01,var_02);
|
|
break;
|
|
}
|
|
|
|
setdvar("start",var_00[var_07]);
|
|
level.player openpopupmenu("start");
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_7A52()
|
|
{
|
|
var_00 = [];
|
|
for(var_01 = 0;var_01 < 11;var_01++)
|
|
{
|
|
var_02 = create_start("",var_01);
|
|
var_00[var_00.size] = var_02;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_7A53(param_00,param_01,param_02)
|
|
{
|
|
for(var_03 = 0;var_03 < param_00.size;var_03++)
|
|
{
|
|
var_04 = var_03 + param_02 - 5;
|
|
if(isdefined(param_01[var_04]))
|
|
{
|
|
var_05 = param_01[var_04];
|
|
}
|
|
else
|
|
{
|
|
var_05 = "";
|
|
}
|
|
|
|
param_00[var_03] settext(var_05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_7A26(param_00,param_01)
|
|
{
|
|
param_01 destroy();
|
|
for(var_02 = 0;var_02 < param_00.size;var_02++)
|
|
{
|
|
param_00[var_02] destroy();
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
background_block()
|
|
{
|
|
self.origin = self.origin - self.var_6B53;
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_6F7F(param_00)
|
|
{
|
|
level.var_5F6A = param_00;
|
|
precachemodel(level.var_5F6A);
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_7085()
|
|
{
|
|
var_00 = "1.0 1.0 1.0";
|
|
var_01 = "0.9 0.9 0.9";
|
|
var_02 = "0.85 0.85 0.85";
|
|
setsaveddvar("con_typewriterColorBase",var_00);
|
|
}
|
|
|
|
//Function Number: 31
|
|
ammo_pickup(param_00)
|
|
{
|
|
var_01 = [];
|
|
if(param_00 == "grenade_launcher")
|
|
{
|
|
var_01[var_01.size] = "alt_m4_grenadier";
|
|
var_01[var_01.size] = "alt_m4m203_acog";
|
|
var_01[var_01.size] = "alt_m4m203_acog_payback";
|
|
var_01[var_01.size] = "alt_m4m203_eotech";
|
|
var_01[var_01.size] = "alt_m4m203_motion_tracker";
|
|
var_01[var_01.size] = "alt_m4m203_reflex";
|
|
var_01[var_01.size] = "alt_m4m203_reflex_arctic";
|
|
var_01[var_01.size] = "alt_m4m203_silencer";
|
|
var_01[var_01.size] = "alt_m4m203_silencer_reflex";
|
|
var_01[var_01.size] = "alt_m16_grenadier";
|
|
var_01[var_01.size] = "alt_ak47_grenadier";
|
|
var_01[var_01.size] = "alt_ak47_desert_grenadier";
|
|
var_01[var_01.size] = "alt_ak47_digital_grenadier";
|
|
var_01[var_01.size] = "alt_ak47_fall_grenadier";
|
|
var_01[var_01.size] = "alt_ak47_woodland_grenadier";
|
|
}
|
|
else if(param_00 == "rpg")
|
|
{
|
|
var_01[var_01.size] = "rpg";
|
|
var_01[var_01.size] = "rpg_player";
|
|
var_01[var_01.size] = "rpg_straight";
|
|
}
|
|
else if(param_00 == "c4")
|
|
{
|
|
var_01[var_01.size] = "c4";
|
|
}
|
|
else if(param_00 == "claymore")
|
|
{
|
|
var_01[var_01.size] = "claymore";
|
|
}
|
|
else if(param_00 == "556")
|
|
{
|
|
var_01[var_01.size] = "m4_grenadier";
|
|
var_01[var_01.size] = "m4_grunt";
|
|
var_01[var_01.size] = "m4_sd_cloth";
|
|
var_01[var_01.size] = "m4_shotgun";
|
|
var_01[var_01.size] = "m4_silencer";
|
|
var_01[var_01.size] = "m4_silencer_acog";
|
|
var_01[var_01.size] = "m4m203_acog";
|
|
var_01[var_01.size] = "m4m203_acog_payback";
|
|
var_01[var_01.size] = "m4m203_eotech";
|
|
var_01[var_01.size] = "m4m203_motion_tracker";
|
|
var_01[var_01.size] = "m4m203_reflex";
|
|
var_01[var_01.size] = "m4m203_reflex_arctic";
|
|
var_01[var_01.size] = "m4m203_silencer";
|
|
var_01[var_01.size] = "m4m203_silencer_reflex";
|
|
var_01[var_01.size] = "m4m203_silencer";
|
|
}
|
|
else if(param_00 == "762")
|
|
{
|
|
var_01[var_01.size] = "ak47";
|
|
var_01[var_01.size] = "ak47_acog";
|
|
var_01[var_01.size] = "ak47_eotech";
|
|
var_01[var_01.size] = "ak47_grenadier";
|
|
var_01[var_01.size] = "ak47_reflex";
|
|
var_01[var_01.size] = "ak47_shotgun";
|
|
var_01[var_01.size] = "ak47_silencer";
|
|
var_01[var_01.size] = "ak47_thermal";
|
|
var_01[var_01.size] = "ak47_desert";
|
|
var_01[var_01.size] = "ak47_desert_acog";
|
|
var_01[var_01.size] = "ak47_desert_eotech";
|
|
var_01[var_01.size] = "ak47_desert_grenadier";
|
|
var_01[var_01.size] = "ak47_desert_reflex";
|
|
var_01[var_01.size] = "ak47_digital";
|
|
var_01[var_01.size] = "ak47_digital_acog";
|
|
var_01[var_01.size] = "ak47_digital_eotech";
|
|
var_01[var_01.size] = "ak47_digital_grenadier";
|
|
var_01[var_01.size] = "ak47_digital_reflex";
|
|
var_01[var_01.size] = "ak47_fall";
|
|
var_01[var_01.size] = "ak47_fall_acog";
|
|
var_01[var_01.size] = "ak47_fall_eotech";
|
|
var_01[var_01.size] = "ak47_fall_grenadier";
|
|
var_01[var_01.size] = "ak47_fall_reflex";
|
|
var_01[var_01.size] = "ak47_woodland";
|
|
var_01[var_01.size] = "ak47_woodland_acog";
|
|
var_01[var_01.size] = "ak47_woodland_eotech";
|
|
var_01[var_01.size] = "ak47_woodland_grenadier";
|
|
var_01[var_01.size] = "ak47_woodland_reflex";
|
|
}
|
|
else if(param_00 == "45")
|
|
{
|
|
var_01[var_01.size] = "ump45";
|
|
var_01[var_01.size] = "ump45_acog";
|
|
var_01[var_01.size] = "ump45_eotech";
|
|
var_01[var_01.size] = "ump45_reflex";
|
|
var_01[var_01.size] = "ump45_silencer";
|
|
var_01[var_01.size] = "ump45_arctic";
|
|
var_01[var_01.size] = "ump45_arctic_acog";
|
|
var_01[var_01.size] = "ump45_arctic_eotech";
|
|
var_01[var_01.size] = "ump45_arctic_reflex";
|
|
var_01[var_01.size] = "ump45_digital";
|
|
var_01[var_01.size] = "ump45_digital_acog";
|
|
var_01[var_01.size] = "ump45_digital_eotech";
|
|
var_01[var_01.size] = "ump45_digital_reflex";
|
|
}
|
|
else if(param_00 == "pistol")
|
|
{
|
|
var_01[var_01.size] = "beretta";
|
|
var_01[var_01.size] = "beretta393";
|
|
var_01[var_01.size] = "usp";
|
|
var_01[var_01.size] = "usp_scripted";
|
|
var_01[var_01.size] = "usp_silencer";
|
|
var_01[var_01.size] = "glock";
|
|
}
|
|
|
|
var_02 = spawn("trigger_radius",self.origin,0,25,32);
|
|
for(;;)
|
|
{
|
|
common_scripts\utility::flag_wait("allow_ammo_pickups");
|
|
var_02 waittill("trigger",var_03);
|
|
if(!common_scripts\utility::flag("allow_ammo_pickups"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_03))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_03))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_04 = undefined;
|
|
var_05 = undefined;
|
|
var_06 = var_03 getweaponslistall();
|
|
for(var_07 = 0;var_07 < var_06.size;var_07++)
|
|
{
|
|
for(var_08 = 0;var_08 < var_01.size;var_08++)
|
|
{
|
|
if(var_06[var_07] == var_01[var_08])
|
|
{
|
|
var_04 = var_06[var_07];
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_04) && param_00 == "claymore")
|
|
{
|
|
var_05 = 1;
|
|
var_04 = "claymore";
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(var_04) && param_00 == "c4")
|
|
{
|
|
var_05 = 1;
|
|
var_04 = "c4";
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(var_04))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_03 getfractionmaxammo(var_04) >= 1)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
if(isdefined(var_05))
|
|
{
|
|
var_03 giveweapon(var_04);
|
|
}
|
|
else
|
|
{
|
|
var_09 = 1;
|
|
if(param_00 == "556" || param_00 == "762")
|
|
{
|
|
var_09 = 30;
|
|
}
|
|
else if(param_00 == "45")
|
|
{
|
|
var_09 = 25;
|
|
}
|
|
else if(param_00 == "pistol")
|
|
{
|
|
var_09 = 15;
|
|
}
|
|
|
|
var_03 setweaponammostock(var_04,var_03 getweaponammostock(var_04) + var_09);
|
|
}
|
|
|
|
var_03 playlocalsound("grenade_pickup");
|
|
var_02 delete();
|
|
if(isdefined(self))
|
|
{
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_653E()
|
|
{
|
|
wait(0.05);
|
|
level.first_frame = -1;
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_4E86()
|
|
{
|
|
if(isdefined(game["total characters"]))
|
|
{
|
|
var_00 = game["total characters"];
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
var_01 = getaiarray("allies");
|
|
var_02 = var_01.size;
|
|
var_03 = 0;
|
|
var_04 = getspawnerteamarray("allies");
|
|
var_05 = var_04.size;
|
|
var_06 = 0;
|
|
for(;;)
|
|
{
|
|
if((var_02 <= 0 && var_05 <= 0) || var_00 <= 0)
|
|
{
|
|
}
|
|
|
|
if(var_02 > 0)
|
|
{
|
|
if(isdefined(var_01[var_03].var_6BD8))
|
|
{
|
|
var_02--;
|
|
var_03++;
|
|
continue;
|
|
}
|
|
|
|
var_01[var_03] codescripts\character::func_55AB();
|
|
var_01[var_03] thread codescripts\character::load(game["character" + var_00 - 1]);
|
|
var_02--;
|
|
var_03++;
|
|
var_00--;
|
|
continue;
|
|
}
|
|
|
|
if(var_05 > 0)
|
|
{
|
|
if(isdefined(var_04[var_06].var_6BD8))
|
|
{
|
|
var_05--;
|
|
var_06++;
|
|
continue;
|
|
}
|
|
|
|
var_07 = game["character" + var_00 - 1];
|
|
maps\_utility::func_6101(var_07["model"]);
|
|
maps\_utility::func_6101(var_07["model"]);
|
|
var_04[var_06] thread maps\_utility::spawn_setcharacter(game["character" + var_00 - 1]);
|
|
var_05--;
|
|
var_06++;
|
|
var_00--;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
check_flag_for_stat_tracking(param_00)
|
|
{
|
|
if(!common_scripts\utility::issuffix(param_00,"aa_"))
|
|
{
|
|
}
|
|
|
|
[[ level.sp_stat_tracking_func ]](param_00);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_610A()
|
|
{
|
|
waittillframeend;
|
|
if(!isdefined(level.var_6AF3))
|
|
{
|
|
}
|
|
|
|
var_00 = getarraykeys(level.var_6AF3);
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
if(isarray(level.var_6AF3[var_00[var_01]]))
|
|
{
|
|
for(var_02 = 0;var_02 < level.var_6AF3[var_00[var_01]].size;var_02++)
|
|
{
|
|
precachemodel(level.var_6AF3[var_00[var_01]][var_02]);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
precachemodel(level.var_6AF3[var_00[var_01]]);
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_5DBE()
|
|
{
|
|
setdvar("player_died_recently","0");
|
|
thread func_5DC3();
|
|
level maps\_utility::add_wait(::common_scripts\utility::flag_wait,"missionfailed");
|
|
level.player maps\_utility::add_wait(::maps\_utility::func_8B71,"death");
|
|
maps\_utility::func_2852();
|
|
var_00 = [];
|
|
var_00[0] = 70;
|
|
var_00[1] = 30;
|
|
var_00[2] = 0;
|
|
var_00[3] = 0;
|
|
setdvar("player_died_recently",var_00[level.gameskill]);
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_5DC3()
|
|
{
|
|
for(;;)
|
|
{
|
|
var_00 = getdvarint("player_died_recently",0);
|
|
if(var_00 > 0)
|
|
{
|
|
var_00 = var_00 - 5;
|
|
setdvar("player_died_recently",var_00);
|
|
}
|
|
|
|
wait(5);
|
|
}
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_6408()
|
|
{
|
|
self notify("new_recon_player");
|
|
self endon("new_recon_player");
|
|
self waittill("death",var_00,var_01,var_02);
|
|
if(!isdefined(var_02))
|
|
{
|
|
var_02 = "script_kill";
|
|
}
|
|
|
|
var_03 = 0;
|
|
var_04 = "none";
|
|
var_05 = (0,0,0);
|
|
if(isdefined(var_00))
|
|
{
|
|
var_04 = var_00.classname;
|
|
var_05 = var_00.origin;
|
|
var_06 = vectornormalize(var_05 - self.origin);
|
|
var_07 = anglestoforward(self getplayerangles());
|
|
var_03 = vectordot(var_06,var_07);
|
|
}
|
|
|
|
reconspatialevent(self.origin,"script_player_death: playerid %s, enemy %s, enemyposition %v, enemydotproduct %f, cause %s, weapon %s",self.unique_id,var_04,var_05,var_03,var_01,var_02);
|
|
if(isdefined(var_00))
|
|
{
|
|
reconspatialevent(var_00.origin,"script_player_killer: playerid %s, enemy %s, playerposition %v, enemydotproduct %f, cause %s, weapon %s",self.unique_id,var_04,self.origin,var_03,var_01,var_02);
|
|
}
|
|
|
|
bbprint("kills","attackername %s attackerteam %s attackerx %f attackery %f attackerz %f attackerweapon %s victimx %f victimy %f victimz %f victimname %s victimteam %s damage %i damagetype %s damagelocation %s attackerisbot %i victimisbot %i timesincespawn %f",var_00.classname,"enemy",var_00.origin[0],var_00.origin[1],var_00.origin[2],var_02,self.origin[0],self.origin[1],self.origin[2],self.unique_id,"player",0,var_01,"",1,0,getlevelticks() * 0.05);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_6409()
|
|
{
|
|
self notify("new_player_downed_recon");
|
|
self endon("new_player_downed_recon");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
self waittill("player_downed");
|
|
var_00 = getlevelticks() * 0.05;
|
|
var_01 = var_00;
|
|
if(isdefined(self.var_4BFA))
|
|
{
|
|
var_00 = var_01 - self.var_4BFA;
|
|
}
|
|
|
|
self.var_4BFA = var_01;
|
|
reconspatialevent(self.origin,"script_player_downed: playerid %s, leveltime %d, deltatime %d",self.unique_id,var_01,var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_4561()
|
|
{
|
|
level.players = getentarray("player","classname");
|
|
for(var_00 = 0;var_00 < level.players.size;var_00++)
|
|
{
|
|
level.players[var_00].unique_id = "player" + var_00;
|
|
}
|
|
|
|
level.player = level.players[0];
|
|
if(level.players.size > 1)
|
|
{
|
|
level.var_5D60 = level.players[1];
|
|
}
|
|
|
|
level notify("level.players initialized");
|
|
foreach(var_02 in level.players)
|
|
{
|
|
var_02 thread func_6408();
|
|
if(maps\_utility::func_4840())
|
|
{
|
|
var_02 thread func_6409();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_4AB8()
|
|
{
|
|
self waittill("trigger",var_00);
|
|
maps\_utility::func_4B09();
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_8D33()
|
|
{
|
|
if(!isdefined(level.var_3566))
|
|
{
|
|
level.var_3566 = loadfx("fx/misc/thermal_tapereflect_inverted");
|
|
}
|
|
|
|
self endon("death");
|
|
var_00 = self getcurrentweapon();
|
|
if(weap_has_thermal(var_00))
|
|
{
|
|
thread func_8078();
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self waittill("weapon_change",var_01);
|
|
if(weap_has_thermal(var_01))
|
|
{
|
|
thread func_8078();
|
|
continue;
|
|
}
|
|
|
|
self notify("acogThermalTracker");
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
weap_has_thermal(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 == "none")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(weaponhasthermalscope(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_8078()
|
|
{
|
|
self endon("death");
|
|
self notify("acogThermalTracker");
|
|
self endon("acogThermalTracker");
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_01 = var_00;
|
|
var_00 = self playerads();
|
|
if(func_84B2(var_00,var_01))
|
|
{
|
|
func_8075();
|
|
}
|
|
else if(func_84B1(var_00,var_01))
|
|
{
|
|
func_8074();
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_84B2(param_00,param_01)
|
|
{
|
|
if(param_00 <= param_01)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 <= 0.65)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return !isdefined(self.var_4806);
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_84B1(param_00,param_01)
|
|
{
|
|
if(param_00 >= param_01)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 >= 0.8)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return isdefined(self.var_4806);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_8075()
|
|
{
|
|
self.var_4806 = 1;
|
|
var_00 = getaiarray("allies");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(isdefined(var_02.var_3FF5))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02.var_3FF5 = 1;
|
|
var_02 thread func_4F66(self.unique_id);
|
|
}
|
|
|
|
if(maps\_utility::func_47D0())
|
|
{
|
|
var_04 = maps\_utility::func_3922(self);
|
|
if(!isdefined(var_04.var_3FF5))
|
|
{
|
|
var_04.var_3FF5 = 1;
|
|
var_04 thread func_4F66(self.unique_id,self);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_8074()
|
|
{
|
|
self.var_4806 = undefined;
|
|
level notify("thermal_fx_off" + self.unique_id);
|
|
var_00 = getaiarray("allies");
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
var_00[var_01].var_3FF5 = undefined;
|
|
}
|
|
|
|
if(maps\_utility::func_47D0())
|
|
{
|
|
var_02 = maps\_utility::func_3922(self);
|
|
var_02.var_3FF5 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_4F66(param_00,param_01)
|
|
{
|
|
if(isdefined(self.var_3FE4))
|
|
{
|
|
}
|
|
|
|
level endon("thermal_fx_off" + param_00);
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
playfxontagforclients(level.var_3566,self,"J_Spine4",param_01);
|
|
}
|
|
else
|
|
{
|
|
playfxontag(level.var_3566,self,"J_Spine4");
|
|
}
|
|
|
|
wait(0.2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_1CA5()
|
|
{
|
|
precacheitem("claymore");
|
|
self endon("deleted");
|
|
self setcursorhint("HINT_NOICON");
|
|
self sethintstring(&"WEAPON_CLAYMORE_PICKUP");
|
|
self makeusable();
|
|
var_00 = weaponmaxammo("claymore") + weaponclipsize("claymore");
|
|
if(isdefined(self.var_6B2E))
|
|
{
|
|
var_00 = self.var_6B2E;
|
|
}
|
|
|
|
while(var_00 > 0)
|
|
{
|
|
self waittill("trigger",var_01);
|
|
var_01 playsound("weap_pickup");
|
|
var_02 = 0;
|
|
if(!var_01 hasweapon("claymore"))
|
|
{
|
|
var_01 giveweapon("claymore");
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_01 getammocount("claymore");
|
|
}
|
|
|
|
if(isdefined(var_00) && var_00 > 0)
|
|
{
|
|
var_00 = var_02 + var_00;
|
|
var_03 = weaponmaxammo("claymore");
|
|
var_04 = weaponclipsize("claymore");
|
|
if(var_00 >= var_04)
|
|
{
|
|
var_00 = var_00 - var_04;
|
|
var_01 setweaponammoclip("claymore",var_04);
|
|
}
|
|
|
|
if(var_00 >= var_03)
|
|
{
|
|
var_00 = var_00 - var_03;
|
|
var_01 setweaponammostock("claymore",var_03);
|
|
}
|
|
else if(var_00 > 0)
|
|
{
|
|
var_01 setweaponammostock("claymore",var_00);
|
|
var_00 = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_01 givemaxammo("claymore");
|
|
}
|
|
|
|
var_05 = 4;
|
|
if(isdefined(var_01.var_64DA) && var_01.var_64DA == 4)
|
|
{
|
|
var_05 = 2;
|
|
}
|
|
|
|
var_01 setactionslot(var_05,"weapon","claymore");
|
|
var_01 switchtoweapon("claymore");
|
|
}
|
|
|
|
if(isdefined(self.target))
|
|
{
|
|
var_06 = getentarray(self.target,"targetname");
|
|
foreach(var_08 in var_06)
|
|
{
|
|
var_08 delete();
|
|
}
|
|
}
|
|
|
|
self makeunusable();
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 51
|
|
ammo_cache_think_global(param_00)
|
|
{
|
|
self endon("remove_ammo_cache");
|
|
self.use_trigger = spawn("script_model",self.origin + (0,0,28));
|
|
self.use_trigger setmodel("tag_origin");
|
|
self.use_trigger makeusable();
|
|
self.use_trigger setcursorhint("HINT_NOICON");
|
|
var_01 = &"WEAPON_CACHE_USE_HINT";
|
|
if(getdvar("consoleGame") == "true")
|
|
{
|
|
var_01 = &"WEAPON_CACHE_USE_CONTROLLER_HINT";
|
|
}
|
|
|
|
self.use_trigger sethintstring(var_01);
|
|
if(!isdefined(param_00) || isdefined(param_00) && param_00)
|
|
{
|
|
thread func_0D02();
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self.use_trigger waittill("trigger",var_02);
|
|
if(isdefined(var_02.dont_allow_ammo_cache))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02.var_87E3 = 1;
|
|
self notify("used_ammo_cache");
|
|
self.use_trigger makeunusable();
|
|
var_02 playsound("player_refill_all_ammo");
|
|
var_02 disableweapons();
|
|
var_03 = var_02 getweaponslistall();
|
|
foreach(var_05 in var_03)
|
|
{
|
|
if(var_05 == "claymore")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_05 == "c4")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 givemaxammo(var_05);
|
|
var_06 = weaponclipsize(var_05);
|
|
if(isdefined(var_06))
|
|
{
|
|
if(var_02 getweaponammoclip(var_05) < var_06)
|
|
{
|
|
var_02 setweaponammoclip(var_05,var_06);
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(1.5);
|
|
var_02 enableweapons();
|
|
self.use_trigger makeusable();
|
|
var_02.var_87E3 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_0D02()
|
|
{
|
|
self endon("remove_ammo_cache");
|
|
var_00 = spawn("trigger_radius",self.origin,0,320,72);
|
|
var_01 = newhudelem();
|
|
var_01 setshader("waypoint_ammo",1,1);
|
|
var_01.alpha = 0;
|
|
var_01.color = (1,1,1);
|
|
var_01.x = self.origin[0];
|
|
var_01.y = self.origin[1];
|
|
var_01.z = self.origin[2] + 16;
|
|
var_01 setwaypoint(1,1);
|
|
self.ammo_icon = var_01;
|
|
self.var_D03 = var_00;
|
|
if(isdefined(self.icon_always_show) && self.icon_always_show)
|
|
{
|
|
ammo_icon_fade_in(var_01);
|
|
}
|
|
|
|
wait(0.05);
|
|
for(;;)
|
|
{
|
|
var_00 waittill("trigger",var_02);
|
|
if(!isplayer(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
while(var_02 istouching(var_00))
|
|
{
|
|
var_03 = 1;
|
|
var_04 = var_02 getcurrentweapon();
|
|
if(var_04 == "none")
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
else if(var_02 getfractionmaxammo(var_04) > 0.9)
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
|
|
if(maps\_utility::func_5E89(self.origin,0.8,1) && var_03)
|
|
{
|
|
ammo_icon_fade_in(var_01);
|
|
continue;
|
|
}
|
|
|
|
ammo_icon_fade_out(var_01);
|
|
wait(0.25);
|
|
}
|
|
|
|
ammo_icon_fade_out(var_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
ammo_icon_fade_in(param_00)
|
|
{
|
|
if(param_00.alpha != 0)
|
|
{
|
|
}
|
|
|
|
param_00 fadeovertime(0.2);
|
|
param_00.alpha = 0.3;
|
|
wait(0.2);
|
|
}
|
|
|
|
//Function Number: 54
|
|
ammo_icon_fade_out(param_00)
|
|
{
|
|
if(param_00.alpha == 0)
|
|
{
|
|
}
|
|
|
|
param_00 fadeovertime(0.2);
|
|
param_00.alpha = 0;
|
|
wait(0.2);
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_8DFD()
|
|
{
|
|
var_00 = getglass(self.target);
|
|
if(!isdefined(var_00))
|
|
{
|
|
}
|
|
|
|
level waittillmatch(var_00,"glass_destroyed");
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_3D2C(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_8D97()
|
|
{
|
|
common_scripts\utility::create_dvar("weaponlist","0");
|
|
if(!getdvarint("weaponlist"))
|
|
{
|
|
}
|
|
|
|
var_00 = getentarray();
|
|
var_01 = [];
|
|
foreach(var_03 in var_00)
|
|
{
|
|
if(!isdefined(var_03.code_classname))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(issubstr(var_03.code_classname,"weapon"))
|
|
{
|
|
var_01[var_03.classname] = 1;
|
|
}
|
|
}
|
|
|
|
foreach(var_06 in var_01)
|
|
{
|
|
}
|
|
|
|
var_08 = getspawnerarray();
|
|
var_09 = [];
|
|
foreach(var_0B in var_08)
|
|
{
|
|
var_09[var_0B.code_classname] = 1;
|
|
}
|
|
|
|
foreach(var_06 in var_09)
|
|
{
|
|
}
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_761D()
|
|
{
|
|
level.var_7609 = spawnstruct();
|
|
func_761C();
|
|
notifyoncommand("_cheat_player_press_slowmo","+melee");
|
|
notifyoncommand("_cheat_player_press_slowmo","+melee_breath");
|
|
notifyoncommand("_cheat_player_press_slowmo","+melee_zoom");
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_761C()
|
|
{
|
|
level.var_7609.var_4D93 = 0;
|
|
level.var_7609.var_4D94 = 0.25;
|
|
level.var_7609.var_7901 = 0.4;
|
|
level.var_7609.var_7900 = 1;
|
|
}
|
|
|
|
//Function Number: 60
|
|
add_no_game_starts()
|
|
{
|
|
var_00 = getentarray("script_origin_start_nogame","classname");
|
|
if(!var_00.size)
|
|
{
|
|
}
|
|
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(!isdefined(var_02.var_6CBF))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
maps\_utility::add_start("no_game_" + var_02.var_6CBF,::func_7A66);
|
|
}
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_283A()
|
|
{
|
|
if(!maps\_utility::func_4813())
|
|
{
|
|
}
|
|
|
|
setsaveddvar("ufoHitsTriggers","1");
|
|
level.var_7C32 = 1;
|
|
if(isdefined(level.custom_no_game_setupfunc))
|
|
{
|
|
level [[ level.custom_no_game_setupfunc ]]();
|
|
}
|
|
|
|
maps\_loadout::func_4568();
|
|
maps\_audio::init_audio();
|
|
maps\_global_fx::func_4FDD();
|
|
do_no_game_start_teleport();
|
|
common_scripts\utility::array_call(getentarray("truckjunk","targetname"),::delete);
|
|
common_scripts\utility::array_call(getentarray("truckjunk","script_noteworthy"),::delete);
|
|
level waittill("eternity");
|
|
}
|
|
|
|
//Function Number: 62
|
|
do_no_game_start_teleport()
|
|
{
|
|
var_00 = getentarray("script_origin_start_nogame","classname");
|
|
if(!var_00.size)
|
|
{
|
|
}
|
|
|
|
var_00 = sortbydistance(var_00,level.player.origin);
|
|
if(level.start_point == "no_game")
|
|
{
|
|
level.player maps\_utility::func_7FFD(var_00[0]);
|
|
}
|
|
|
|
var_01 = getsubstr(level.start_point,8);
|
|
var_02 = 0;
|
|
foreach(var_04 in var_00)
|
|
{
|
|
if(!isdefined(var_04.var_6CBF))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_01 != var_04.var_6CBF)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_04.script_visionset))
|
|
{
|
|
maps\_utility::func_8A02(var_04.script_visionset,0);
|
|
}
|
|
|
|
level.player maps\_utility::func_7FFD(var_04);
|
|
var_02 = 1;
|
|
break;
|
|
}
|
|
|
|
if(!var_02)
|
|
{
|
|
level.player maps\_utility::func_7FFD(var_00[0]);
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
func_4515()
|
|
{
|
|
level.animsounds = [];
|
|
level.animsound_aliases = [];
|
|
waittillframeend;
|
|
waittillframeend;
|
|
var_00 = getarraykeys(level.scr_notetrack);
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
func_4575(var_00[var_01]);
|
|
}
|
|
|
|
var_00 = getarraykeys(level.var_6AEC);
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
init_animsounds_for_animname(var_00[var_01]);
|
|
}
|
|
}
|
|
|
|
//Function Number: 64
|
|
init_animsounds_for_animname(param_00)
|
|
{
|
|
var_01 = getarraykeys(level.var_6AEC[param_00]);
|
|
for(var_02 = 0;var_02 < var_01.size;var_02++)
|
|
{
|
|
var_03 = var_01[var_02];
|
|
var_04 = level.var_6AEC[param_00][var_03];
|
|
level.animsound_aliases[param_00][var_03]["#" + var_03]["soundalias"] = var_04;
|
|
level.animsound_aliases[param_00][var_03]["#" + var_03]["created_by_animSound"] = 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_4575(param_00)
|
|
{
|
|
foreach(var_0A, var_02 in level.scr_notetrack[param_00])
|
|
{
|
|
foreach(var_09, var_04 in var_02)
|
|
{
|
|
foreach(var_06 in var_04)
|
|
{
|
|
var_07 = var_06["sound"];
|
|
if(!isdefined(var_07))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level.animsound_aliases[param_00][var_0A][var_09]["soundalias"] = var_07;
|
|
if(isdefined(var_06["created_by_animSound"]))
|
|
{
|
|
level.animsound_aliases[param_00][var_0A][var_09]["created_by_animSound"] = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_2493()
|
|
{
|
|
animscripts/utility::func_7039("default",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("asphalt",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("brick",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("carpet",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("cloth",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("concrete",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("cushion",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("dirt",loadfx("fx/impacts/footstep_dust"));
|
|
animscripts/utility::func_7039("foliage",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("grass",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("gravel",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("mud",loadfx("fx/impacts/footstep_mud"));
|
|
animscripts/utility::func_7039("rock",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("sand",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("wood",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("water",loadfx("fx/impacts/footstep_water"));
|
|
animscripts/utility::func_7039("snow",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_7039("ice",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("default",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("asphalt",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("brick",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("carpet",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("cloth",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("concrete",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("cushion",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("dirt",loadfx("fx/impacts/footstep_dust"));
|
|
animscripts/utility::func_703A("foliage",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("grass",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("gravel",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("mud",loadfx("fx/impacts/footstep_mud"));
|
|
animscripts/utility::func_703A("rock",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("sand",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("wood",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("water",loadfx("fx/impacts/footstep_water"));
|
|
animscripts/utility::func_703A("snow",loadfx("fx/misc/blank"));
|
|
animscripts/utility::func_703A("ice",loadfx("fx/misc/blank"));
|
|
var_00 = "bodyfall small";
|
|
var_01 = "J_SpineLower";
|
|
var_02 = "bodyfall_";
|
|
var_03 = "_small";
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"dirt",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"concrete",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"asphalt",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"rock",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
var_04 = ["brick","carpet","foliage","grass","gravel","ice","metal","painted metal","mud","plaster","sand","snow","slush","water","wood","ceramic"];
|
|
foreach(var_06 in var_04)
|
|
{
|
|
animscripts/utility::func_707F(var_00,var_06,var_02,var_03);
|
|
}
|
|
|
|
var_00 = "bodyfall small";
|
|
var_01 = "J_SpineLower";
|
|
var_02 = "bodyfall_";
|
|
var_03 = "_large";
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"dirt",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"concrete",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"asphalt",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
animscripts/utility::setnotetrackeffect(var_00,var_01,"rock",loadfx("fx/impacts/bodyfall_default_large_runner"),var_02,var_03);
|
|
foreach(var_06 in var_04)
|
|
{
|
|
animscripts/utility::func_707F(var_00,var_06,var_02,var_03);
|
|
}
|
|
} |