mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-24 09:37:52 -05:00
Update scripts to better decompiled scripts.
This commit is contained in:
239
MP/Maps/Studio/clientscripts/mp/_fxanim_dlc.csc
Normal file
239
MP/Maps/Studio/clientscripts/mp/_fxanim_dlc.csc
Normal file
@ -0,0 +1,239 @@
|
||||
// T6 GSC SOURCE
|
||||
// Decompiled by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
|
||||
fxanim_init_dlc( localclientnum )
|
||||
{
|
||||
a_fxanims = getentarray( localclientnum, "fxanim_dlc", "targetname" );
|
||||
assert( a_fxanims.size <= level.fxanim_max_anims );
|
||||
|
||||
for ( i = 0; i < a_fxanims.size; i++ )
|
||||
{
|
||||
if ( isdefined( a_fxanims[i].fxanim_parent ) )
|
||||
{
|
||||
parent = getent( localclientnum, a_fxanims[i].fxanim_parent, "targetname" );
|
||||
a_fxanims[a_fxanims.size] = parent;
|
||||
a_fxanims[i] thread _fxanim_model_link( localclientnum );
|
||||
continue;
|
||||
}
|
||||
|
||||
a_fxanims[i] thread fxanim_think( localclientnum );
|
||||
}
|
||||
|
||||
if ( isdefined( level.fx_anim_level_dlc_init ) )
|
||||
level thread [[ level.fx_anim_level_dlc_init ]]( localclientnum );
|
||||
}
|
||||
|
||||
#using_animtree("fxanim_props_dlc");
|
||||
|
||||
fxanim_think( localclientnum, random_wait, random_speed )
|
||||
{
|
||||
self waittill_dobj( localclientnum );
|
||||
self thread _fxanim_hide();
|
||||
self _fxanim_wait();
|
||||
self useanimtree( #animtree );
|
||||
n_anim_count = self _fxanim_get_anim_count();
|
||||
self notify( "fxanim_start" );
|
||||
|
||||
for ( n_current_anim = 0; n_current_anim < n_anim_count; n_current_anim++ )
|
||||
{
|
||||
str_scene = self _fxanim_get_scene_name( n_current_anim );
|
||||
|
||||
if ( !self _fxanim_modifier( str_scene ) )
|
||||
{
|
||||
self _fxanim_animate( str_scene );
|
||||
self _fxanim_play_fx( localclientnum );
|
||||
}
|
||||
|
||||
self _fxanim_change_anim( n_current_anim );
|
||||
}
|
||||
}
|
||||
|
||||
_fxanim_hide()
|
||||
{
|
||||
if ( isdefined( self.fxanim_hide ) && self.fxanim_hide )
|
||||
{
|
||||
self hide();
|
||||
|
||||
self waittill( "fxanim_start" );
|
||||
|
||||
self show();
|
||||
}
|
||||
}
|
||||
|
||||
_fxanim_modifier( str_scene )
|
||||
{
|
||||
switch ( str_scene )
|
||||
{
|
||||
case "delete":
|
||||
self delete();
|
||||
break;
|
||||
case "hide":
|
||||
self hide();
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
_fxanim_wait()
|
||||
{
|
||||
if ( isdefined( self.fxanim_waittill_1 ) )
|
||||
{
|
||||
if ( isdefined( self.fxanim_waittill_1 ) )
|
||||
_fxanim_change_anim( -1 );
|
||||
}
|
||||
|
||||
if ( isdefined( self.fxanim_wait ) )
|
||||
wait( self.fxanim_wait );
|
||||
else if ( isdefined( self.fxanim_wait_min ) && isdefined( self.fxanim_wait_max ) )
|
||||
{
|
||||
n_wait_time = randomfloatrange( self.fxanim_wait_min, self.fxanim_wait_max );
|
||||
wait( n_wait_time );
|
||||
}
|
||||
}
|
||||
|
||||
_fxanim_change_anim( n_fxanim_id )
|
||||
{
|
||||
str_waittill = undefined;
|
||||
|
||||
if ( n_fxanim_id == -1 && isdefined( self.fxanim_waittill_1 ) )
|
||||
str_waittill = self.fxanim_waittill_1;
|
||||
else if ( n_fxanim_id == 0 && isdefined( self.fxanim_waittill_2 ) )
|
||||
str_waittill = self.fxanim_waittill_2;
|
||||
else if ( n_fxanim_id == 1 && isdefined( self.fxanim_waittill_3 ) )
|
||||
str_waittill = self.fxanim_waittill_3;
|
||||
|
||||
if ( !isdefined( str_waittill ) && n_fxanim_id != -1 )
|
||||
self _fxanim_wait_for_anim_to_end( n_fxanim_id );
|
||||
else
|
||||
{
|
||||
a_changer = strtok( str_waittill, "_" );
|
||||
|
||||
level waittill( str_waittill );
|
||||
}
|
||||
}
|
||||
|
||||
_fxanim_wait_for_anim_to_end( n_fxanim_id )
|
||||
{
|
||||
str_scene = _fxanim_get_scene_name( n_fxanim_id );
|
||||
|
||||
if ( issubstr( str_scene, "_loop" ) )
|
||||
self waittillmatch( "looping anim", "end" );
|
||||
else
|
||||
self waittillmatch( "single anim", "end" );
|
||||
}
|
||||
|
||||
_fxanim_animate( str_scene )
|
||||
{
|
||||
if ( !isdefined( level.scr_anim["fxanim_props_dlc"][str_scene] ) )
|
||||
{
|
||||
/#
|
||||
if ( isdefined( str_scene ) )
|
||||
println( "Error: fxanim entity at " + self.origin + " is missing animation: " + str_scene );
|
||||
else
|
||||
println( "Error: fxanim entity at " + self.origin + " is missing animation" );
|
||||
#/
|
||||
return;
|
||||
}
|
||||
|
||||
self animscripted( level.scr_anim["fxanim_props_dlc"][str_scene], 1.0, 0.0, 1.0 );
|
||||
}
|
||||
|
||||
_fxanim_play_fx( localclientnum )
|
||||
{
|
||||
if ( isdefined( self.fxanim_fx_1 ) )
|
||||
{
|
||||
assert( isdefined( self.fxanim_fx_1_tag ), "KVP fxanim_fx_1_tag must be set on fxanim at " + self.origin );
|
||||
playfxontag( localclientnum, getfx( self.fxanim_fx_1 ), self, self.fxanim_fx_1_tag );
|
||||
}
|
||||
|
||||
if ( isdefined( self.fxanim_fx_2 ) )
|
||||
{
|
||||
assert( isdefined( self.fxanim_fx_2_tag ), "KVP fxanim_fx_2_tag must be set on fxanim at " + self.origin );
|
||||
playfxontag( localclientnum, getfx( self.fxanim_fx_2 ), self, self.fxanim_fx_2_tag );
|
||||
}
|
||||
|
||||
if ( isdefined( self.fxanim_fx_3 ) )
|
||||
{
|
||||
assert( isdefined( self.fxanim_fx_3_tag ), "KVP fxanim_fx_3_tag must be set on fxanim at " + self.origin );
|
||||
playfxontag( localclientnum, getfx( self.fxanim_fx_3 ), self, self.fxanim_fx_3_tag );
|
||||
}
|
||||
|
||||
if ( isdefined( self.fxanim_fx_4 ) )
|
||||
{
|
||||
assert( isdefined( self.fxanim_fx_4_tag ), "KVP fxanim_fx_4_tag must be set on fxanim at " + self.origin );
|
||||
playfxontag( localclientnum, getfx( self.fxanim_fx_4 ), self, self.fxanim_fx_4_tag );
|
||||
}
|
||||
|
||||
if ( isdefined( self.fxanim_fx_5 ) )
|
||||
{
|
||||
assert( isdefined( self.fxanim_fx_5_tag ), "KVP fxanim_fx_5_tag must be set on fxanim at " + self.origin );
|
||||
playfxontag( localclientnum, getfx( self.fxanim_fx_5 ), self, self.fxanim_fx_5_tag );
|
||||
}
|
||||
}
|
||||
|
||||
_fxanim_get_anim_count()
|
||||
{
|
||||
assert( isdefined( self.fxanim_scene_1 ), "fxanim at position " + self.origin + " needs at least one scene defined. Use the KVP fxanim_scene_1" );
|
||||
n_fx_count = 0;
|
||||
|
||||
if ( !isdefined( self.fxanim_scene_2 ) )
|
||||
n_fx_count = 1;
|
||||
else if ( !isdefined( self.fxanim_scene_3 ) )
|
||||
n_fx_count = 2;
|
||||
else
|
||||
n_fx_count = 3;
|
||||
|
||||
return n_fx_count;
|
||||
}
|
||||
|
||||
_fxanim_get_scene_name( n_anim_id )
|
||||
{
|
||||
str_scene_name = undefined;
|
||||
|
||||
switch ( n_anim_id )
|
||||
{
|
||||
case 0:
|
||||
str_scene_name = self.fxanim_scene_1;
|
||||
break;
|
||||
case 1:
|
||||
str_scene_name = self.fxanim_scene_2;
|
||||
break;
|
||||
case 2:
|
||||
str_scene_name = self.fxanim_scene_3;
|
||||
break;
|
||||
}
|
||||
|
||||
return str_scene_name;
|
||||
}
|
||||
|
||||
_fxanim_model_link( localclientnum )
|
||||
{
|
||||
self waittill_dobj( localclientnum );
|
||||
assert( isdefined( self.fxanim_tag ), "Model at origin " + self.origin + " needs an fxanim_tag defined, to show which tag the model will link to" );
|
||||
m_parent = getent( localclientnum, self.fxanim_parent, "targetname" );
|
||||
assert( isdefined( m_parent ), "Model at origin " + self.origin + " does not have a proper parent. Make sure the fxanim_parent matches the targetname of the fxanim" );
|
||||
m_parent waittill_dobj( localclientnum );
|
||||
self.origin = m_parent gettagorigin( self.fxanim_tag );
|
||||
self.angles = m_parent gettagangles( self.fxanim_tag );
|
||||
self linkto( m_parent, self.fxanim_tag );
|
||||
|
||||
if ( isdefined( self.fxanim_hide ) )
|
||||
{
|
||||
self hide();
|
||||
|
||||
m_parent waittill( "fxanim_start" );
|
||||
|
||||
self show();
|
||||
}
|
||||
}
|
||||
|
||||
getfx( fx )
|
||||
{
|
||||
assert( isdefined( level._effect[fx] ), "Fx " + fx + " is not defined in level._effect." );
|
||||
return level._effect[fx];
|
||||
}
|
1257
MP/Maps/Studio/clientscripts/mp/createfx/mp_studio_fx.csc
Normal file
1257
MP/Maps/Studio/clientscripts/mp/createfx/mp_studio_fx.csc
Normal file
File diff suppressed because it is too large
Load Diff
30
MP/Maps/Studio/clientscripts/mp/mp_studio.csc
Normal file
30
MP/Maps/Studio/clientscripts/mp/mp_studio.csc
Normal file
@ -0,0 +1,30 @@
|
||||
// T6 GSC SOURCE
|
||||
// Decompiled by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\_load;
|
||||
#include clientscripts\mp\mp_studio_fx;
|
||||
#include clientscripts\mp\_audio;
|
||||
#include clientscripts\mp\mp_studio_amb;
|
||||
|
||||
main()
|
||||
{
|
||||
level.worldmapx = 0;
|
||||
level.worldmapy = 0;
|
||||
level.worldlat = 34.0901;
|
||||
level.worldlong = -118.335;
|
||||
clientscripts\mp\_load::main();
|
||||
clientscripts\mp\mp_studio_fx::main();
|
||||
thread clientscripts\mp\_audio::audio_init( 0 );
|
||||
thread clientscripts\mp\mp_studio_amb::main();
|
||||
setsaveddvar( "r_waterwavespeed", ".528274 .667363 .337185 .172103" );
|
||||
setsaveddvar( "r_waterwaveamplitude", "1.5 1.5 1.75 1.65" );
|
||||
setsaveddvar( "r_waterwavewavelength", "134.162 113.085 254.753 323.322" );
|
||||
setsaveddvar( "r_waterwavesteepness", "1 1 1 1" );
|
||||
setsaveddvar( "r_waterwaveangle", "0 130.23 57.3609 128.687" );
|
||||
setsaveddvar( "r_waterwavephase", "0 0 0 0" );
|
||||
waitforclient( 0 );
|
||||
setsaveddvar( "sm_sunsamplesizenear", 0.3 );
|
||||
/#
|
||||
println( "*** Client : mp_studio running..." );
|
||||
#/
|
||||
}
|
63
MP/Maps/Studio/clientscripts/mp/mp_studio_amb.csc
Normal file
63
MP/Maps/Studio/clientscripts/mp/mp_studio_amb.csc
Normal file
@ -0,0 +1,63 @@
|
||||
// T6 GSC SOURCE
|
||||
// Decompiled by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\_ambientpackage;
|
||||
#include clientscripts\mp\_audio;
|
||||
|
||||
main()
|
||||
{
|
||||
declareambientroom( "outside", 1 );
|
||||
setambientroomtone( "outside", "amb_wind_exterior_2d", 0.3, 0.5 );
|
||||
setambientroomreverb( "outside", "studio_outdoor", 1, 1 );
|
||||
setambientroomcontext( "outside", "ringoff_plr", "outdoor" );
|
||||
declareambientroom( "trailer" );
|
||||
setambientroomreverb( "trailer", "studio_hallway", 1, 1 );
|
||||
setambientroomcontext( "trailer", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "med_room" );
|
||||
setambientroomreverb( "med_room", "studio_mediumroom", 1, 1 );
|
||||
setambientroomcontext( "med_room", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "cave" );
|
||||
setambientroomreverb( "cave", "studio_cave", 1, 1 );
|
||||
setambientroomcontext( "cave", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "partial_room" );
|
||||
setambientroomtone( "partial_room", "amb_wind_exterior_2d", 0.3, 0.5 );
|
||||
setambientroomreverb( "partial_room", "studio_smallroom", 1, 1 );
|
||||
setambientroomcontext( "partial_room", "ringoff_plr", "outdoor" );
|
||||
declareambientroom( "small_room" );
|
||||
setambientroomreverb( "small_room", "studio_smallroom", 1, 1 );
|
||||
setambientroomcontext( "small_room", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "stone_room" );
|
||||
setambientroomreverb( "stone_room", "studio_stoneroom", 1, 1 );
|
||||
setambientroomcontext( "stone_room", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "wherehouse" );
|
||||
setambientroomreverb( "wherehouse", "studio_smallroom", 1, 1 );
|
||||
setambientroomtone( "wherehouse", "amb_wind_exterior_2d", 0.3, 0.5 );
|
||||
setambientroomcontext( "wherehouse", "ringoff_plr", "outdoor" );
|
||||
declareambientroom( "saloon" );
|
||||
setambientroomreverb( "saloon", "studio_mediumroom", 1, 1 );
|
||||
setambientroomcontext( "saloon", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "tall_room" );
|
||||
setambientroomreverb( "tall_room", "studio_tall", 1, 1 );
|
||||
setambientroomcontext( "tall_room", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "shack" );
|
||||
setambientroomreverb( "shack", "studio_shack", 1, 1 );
|
||||
setambientroomcontext( "shack", "ringoff_plr", "indoor" );
|
||||
declareambientroom( "wood_room" );
|
||||
setambientroomreverb( "wood_room", "studio_mediumroom", 1, 1 );
|
||||
setambientroomcontext( "wood_room", "ringoff_plr", "indoor" );
|
||||
thread snd_start_autofx_audio();
|
||||
}
|
||||
|
||||
snd_play_loopers()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
snd_start_autofx_audio()
|
||||
{
|
||||
snd_play_auto_fx( "fx_mp_studio_fire_md", "amb_fire_med", 0, 0, 0, 0 );
|
||||
snd_play_auto_fx( "fx_mp_studio_toy_fire", "amb_fire_sml", 0, 0, 0, 1 );
|
||||
snd_play_auto_fx( "fx_insects_swarm_lg_light", "amb_flies", 0, 0, 0, 0 );
|
||||
snd_play_auto_fx( "fx_mp_studio_sconce_glare", "amb_lights_buzz_2", 0, 0, 0, 0 );
|
||||
snd_play_auto_fx( "fx_mp_studio_sconce_glare2", "amb_lights_buzz_2", 0, 0, 0, 0 );
|
||||
}
|
240
MP/Maps/Studio/clientscripts/mp/mp_studio_fx.csc
Normal file
240
MP/Maps/Studio/clientscripts/mp/mp_studio_fx.csc
Normal file
@ -0,0 +1,240 @@
|
||||
// T6 GSC SOURCE
|
||||
// Decompiled by https://github.com/xensik/gsc-tool
|
||||
#include clientscripts\mp\_utility;
|
||||
#include clientscripts\mp\createfx\mp_studio_fx;
|
||||
#include clientscripts\mp\_fx;
|
||||
#include clientscripts\mp\_fxanim_dlc;
|
||||
|
||||
precache_scripted_fx()
|
||||
{
|
||||
level._effect["fx_mp_studio_robot_laser"] = loadfx( "maps/mp_maps/fx_mp_studio_robot_laser" );
|
||||
}
|
||||
|
||||
precache_createfx_fx()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
clientscripts\mp\createfx\mp_studio_fx::main();
|
||||
clientscripts\mp\_fx::reportnumeffects();
|
||||
precache_createfx_fx();
|
||||
precache_fxanim_props();
|
||||
precache_fxanim_props_dlc();
|
||||
disablefx = getdvarint( _hash_C9B177D6 );
|
||||
|
||||
if ( !isdefined( disablefx ) || disablefx <= 0 )
|
||||
precache_scripted_fx();
|
||||
|
||||
level._effect["fx_mp_express_train_blow_dust"] = loadfx( "maps/mp_maps/fx_mp_express_train_blow_dust" );
|
||||
level._effect["fx_mp_village_grass"] = loadfx( "maps/mp_maps/fx_mp_village_grass" );
|
||||
level._effect["fx_insects_swarm_lg_light"] = loadfx( "bio/insects/fx_insects_swarm_lg_light" );
|
||||
level._effect["fx_mp_debris_papers"] = loadfx( "maps/mp_maps/fx_mp_debris_papers" );
|
||||
level._effect["fx_mp_studio_dust_ledge_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_dust_ledge_runner" );
|
||||
level._effect["fx_sand_moving_in_air_pcloud"] = loadfx( "dirt/fx_sand_moving_in_air_pcloud" );
|
||||
level._effect["fx_mp_light_dust_motes_md"] = loadfx( "maps/mp_maps/fx_mp_light_dust_motes_md" );
|
||||
level._effect["fx_mp_studio_fog"] = loadfx( "maps/mp_maps/fx_mp_studio_fog" );
|
||||
level._effect["fx_mp_studio_fog_ground"] = loadfx( "maps/mp_maps/fx_mp_studio_fog_ground" );
|
||||
level._effect["fx_mp_studio_fog_background"] = loadfx( "maps/mp_maps/fx_mp_studio_fog_background" );
|
||||
level._effect["fx_mp_studio_rolling_fog"] = loadfx( "maps/mp_maps/fx_mp_studio_rolling_fog" );
|
||||
level._effect["fx_mp_studio_fog_machine"] = loadfx( "maps/mp_maps/fx_mp_studio_fog_machine" );
|
||||
level._effect["fx_mp_studio_fog_sm"] = loadfx( "maps/mp_maps/fx_mp_studio_fog_sm" );
|
||||
level._effect["fx_mp_slums_dark_smoke_sm"] = loadfx( "maps/mp_maps/fx_mp_slums_dark_smoke_sm" );
|
||||
level._effect["fx_smk_smolder_gray_slow_shrt"] = loadfx( "smoke/fx_smk_smolder_gray_slow_shrt" );
|
||||
level._effect["fx_smk_smolder_gray_slow_dark"] = loadfx( "smoke/fx_smk_smolder_gray_slow_dark" );
|
||||
level._effect["fx_mp_studio_ufo_fire"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_fire" );
|
||||
level._effect["fx_mp_studio_ufo_smoke"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_smoke" );
|
||||
level._effect["fx_mp_studio_fire_md"] = loadfx( "maps/mp_maps/fx_mp_studio_fire_md" );
|
||||
level._effect["fx_mp_studio_smoke_vista"] = loadfx( "maps/mp_maps/fx_mp_studio_smoke_vista" );
|
||||
level._effect["fx_mp_studio_smoke_ground"] = loadfx( "maps/mp_maps/fx_mp_studio_smoke_ground" );
|
||||
level._effect["fx_mp_studio_smoke_area"] = loadfx( "maps/mp_maps/fx_mp_studio_smoke_area" );
|
||||
level._effect["fx_mp_studio_smoke_area_sm"] = loadfx( "maps/mp_maps/fx_mp_studio_smoke_area_sm" );
|
||||
level._effect["fx_mp_studio_toy_fire"] = loadfx( "maps/mp_maps/fx_mp_studio_toy_fire" );
|
||||
level._effect["fx_mp_studio_torch"] = loadfx( "maps/mp_maps/fx_mp_studio_torch" );
|
||||
level._effect["fx_mp_studio_sci_fire_burst_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_sci_fire_burst_runner" );
|
||||
level._effect["fx_mp_studio_muzzle_tank_sm"] = loadfx( "maps/mp_maps/fx_mp_studio_muzzle_tank_sm" );
|
||||
level._effect["fx_mp_studio_sci_fire"] = loadfx( "maps/mp_maps/fx_mp_studio_sci_fire" );
|
||||
level._effect["fx_mp_studio_ufo_electric_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_electric_runner" );
|
||||
level._effect["fx_mp_studio_electric_fence"] = loadfx( "maps/mp_maps/fx_mp_studio_electric_fence" );
|
||||
level._effect["fx_mp_studio_spark_sm_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_spark_sm_runner" );
|
||||
level._effect["fx_mp_studio_water_dock_splash"] = loadfx( "maps/mp_maps/fx_mp_studio_water_dock_splash" );
|
||||
level._effect["fx_mp_studio_water_splash_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_water_splash_runner" );
|
||||
level._effect["fx_mp_studio_cannon_splash_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_cannon_splash_runner" );
|
||||
level._effect["fx_mp_studio_robot_laser"] = loadfx( "maps/mp_maps/fx_mp_studio_robot_laser" );
|
||||
level._effect["fx_light_god_ray_mp_studio"] = loadfx( "env/light/fx_light_god_ray_mp_studio" );
|
||||
level._effect["fx_mp_studio_ufo_light_flash"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_light_flash" );
|
||||
level._effect["fx_mp_studio_ufo_light_flash_lg"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_light_flash_lg" );
|
||||
level._effect["fx_mp_studio_fence_god_ray"] = loadfx( "maps/mp_maps/fx_mp_studio_fence_god_ray" );
|
||||
level._effect["fx_mp_studio_sconce_glare"] = loadfx( "maps/mp_maps/fx_mp_studio_sconce_glare" );
|
||||
level._effect["fx_mp_studio_sconce_glare2"] = loadfx( "maps/mp_maps/fx_mp_studio_sconce_glare2" );
|
||||
level._effect["fx_mp_studio_lamp_glare"] = loadfx( "maps/mp_maps/fx_mp_studio_lamp_glare" );
|
||||
level._effect["fx_mp_studio_flood_light"] = loadfx( "maps/mp_maps/fx_mp_studio_flood_light" );
|
||||
level._effect["fx_mp_studio_tube_glare"] = loadfx( "maps/mp_maps/fx_mp_studio_tube_glare" );
|
||||
level._effect["fx_mp_studio_lantern_cave"] = loadfx( "maps/mp_maps/fx_mp_studio_lantern_cave" );
|
||||
level._effect["fx_mp_studio_red_blink"] = loadfx( "maps/mp_maps/fx_mp_studio_red_blink" );
|
||||
level._effect["fx_studio_sq_glare"] = loadfx( "light/fx_studio_sq_glare" );
|
||||
level._effect["fx_mp_village_single_glare"] = loadfx( "maps/mp_maps/fx_mp_village_single_glare" );
|
||||
level._effect["fx_mp_studio_gold_sparkle_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_gold_sparkle_runner" );
|
||||
level._effect["fx_mp_studio_gold_glow"] = loadfx( "maps/mp_maps/fx_mp_studio_gold_glow" );
|
||||
level._effect["fx_mp_studio_ufo_engine_runner"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_engine_runner" );
|
||||
level._effect["fx_mp_studio_ufo_forcefield"] = loadfx( "maps/mp_maps/fx_mp_studio_ufo_forcefield" );
|
||||
level._effect["fx_mp_studio_saloon_glare"] = loadfx( "maps/mp_maps/fx_mp_studio_saloon_glare" );
|
||||
level._effect["fx_mp_studio_saloon_glare_sq"] = loadfx( "maps/mp_maps/fx_mp_studio_saloon_glare_sq" );
|
||||
level._effect["fx_lf_mp_studio_sun1"] = loadfx( "lens_flares/fx_lf_mp_studio_sun1" );
|
||||
}
|
||||
|
||||
#using_animtree("fxanim_props");
|
||||
|
||||
precache_fxanim_props()
|
||||
{
|
||||
level.scr_anim["fxanim_props"]["roofvent"] = %fxanim_gp_roofvent_anim;
|
||||
level.scr_anim["fxanim_props"]["roofvent_slow"] = %fxanim_gp_roofvent_slow_anim;
|
||||
level.scr_anim["fxanim_props"]["dino_eggs"] = %fxanim_mp_stu_dino_eggs_anim;
|
||||
level.scr_anim["fxanim_props"]["noose"] = %fxanim_mp_stu_noose_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_barn"] = %fxanim_mp_stu_t_rex_barn_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_fence_01"] = %fxanim_mp_stu_t_rex_fence_01_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_fence_02"] = %fxanim_mp_stu_t_rex_fence_02_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_fence_03"] = %fxanim_mp_stu_t_rex_fence_03_anim;
|
||||
level.scr_anim["fxanim_props"]["robot_spider_01"] = %fxanim_mp_stu_robot_01_anim;
|
||||
level.scr_anim["fxanim_props"]["robot_spider_02"] = %fxanim_mp_stu_robot_02_anim;
|
||||
level.scr_anim["fxanim_props"]["robot_spider_03"] = %fxanim_mp_stu_robot_03_anim;
|
||||
level.scr_anim["fxanim_props"]["shark_fins"] = %fxanim_mp_stu_shark_fins_anim;
|
||||
level.scr_anim["fxanim_props"]["pirate_boats"] = %fxanim_mp_stu_pirate_boats_anim;
|
||||
level.scr_anim["fxanim_props"]["brontosaurus_chew_anim"] = %fxanim_mp_stu_brontosaurus_chew_anim;
|
||||
level.scr_anim["fxanim_props"]["brontosaurus_look_around"] = %fxanim_mp_stu_brontosaurus_look_around_anim;
|
||||
level.scr_anim["fxanim_props"]["robot_scanning"] = %fxanim_mp_stu_robot_scanning;
|
||||
level.scr_anim["fxanim_props"]["t_rex_stand_01"] = %fxanim_mp_stu_t_rex_stand_01_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_stand_02"] = %fxanim_mp_stu_t_rex_stand_02_anim;
|
||||
level.scr_anim["fxanim_props"]["t_rex_stand_03"] = %fxanim_mp_stu_t_rex_stand_03_anim;
|
||||
level.scr_anim["fxanim_props"]["captain_01"] = %fxanim_mp_stu_pirate_captain_01_anim;
|
||||
level.scr_anim["fxanim_props"]["captain_02"] = %fxanim_mp_stu_pirate_captain_02_anim;
|
||||
level.scr_anim["fxanim_props"]["oarsmen_01"] = %fxanim_mp_stu_pirate_oarsmen_01_anim;
|
||||
level.scr_anim["fxanim_props"]["oarsmen_02"] = %fxanim_mp_stu_pirate_oarsmen_02_anim;
|
||||
level.scr_anim["fxanim_props"]["captain_jailed"] = %fxanim_mp_stu_pirate_jailed_captain_anim;
|
||||
level.scr_anim["fxanim_props"]["oarsmen_jailed"] = %fxanim_mp_stu_pirate_jailed_oarsmen_anim;
|
||||
level.fx_anim_level_init = ::fxanim_init;
|
||||
}
|
||||
|
||||
precache_fxanim_props_dlc()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
fxanim_init( localclientnum )
|
||||
{
|
||||
level thread clientscripts\mp\_fxanim_dlc::fxanim_init_dlc( localclientnum );
|
||||
|
||||
if ( getgametypesetting( "allowMapScripting" ) == 0 )
|
||||
return;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
level waittill( "snap_processed", snapshotlocalclientnum );
|
||||
|
||||
if ( localclientnum != snapshotlocalclientnum )
|
||||
continue;
|
||||
|
||||
level thread pirate_animate_fx( localclientnum, "pirate_captain_1", "boat_01_jnt", level.scr_anim["fxanim_props"]["captain_01"] );
|
||||
level thread pirate_animate_fx( localclientnum, "pirate_captain_2", "boat_02_jnt", level.scr_anim["fxanim_props"]["captain_02"] );
|
||||
level thread pirate_animate_fx( localclientnum, "pirate_oarsman_1", "boat_01_jnt", level.scr_anim["fxanim_props"]["oarsmen_01"] );
|
||||
level thread pirate_animate_fx( localclientnum, "pirate_oarsman_2", "boat_02_jnt", level.scr_anim["fxanim_props"]["oarsmen_02"] );
|
||||
trex_fence_ribs = getent( localclientnum, "trex_fence_ribs", "targetname" );
|
||||
t_rex_stand = getent( localclientnum, "t_rex_stand", "targetname" );
|
||||
t_rex_head = getent( localclientnum, "t_rex_fence", "targetname" );
|
||||
level thread t_rex_animate_fx( localclientnum, t_rex_head, t_rex_stand );
|
||||
trex_fence_ribs waittill_dobj( localclientnum );
|
||||
t_rex_head waittill_dobj( localclientnum );
|
||||
trex_fence_ribs.origin = t_rex_head gettagorigin( "body_base_jnt" );
|
||||
trex_fence_ribs.angles = t_rex_head gettagangles( "body_base_jnt" );
|
||||
trex_fence_ribs linkto( t_rex_head, "body_base_jnt" );
|
||||
brontosaurus = getent( localclientnum, "brontosaurus_head", "targetname" );
|
||||
brontosaurus thread brontosaurus_animate_fx( localclientnum );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pirate_animate_fx( localclientnum, enttargetname, boatjoint, pirateanimation )
|
||||
{
|
||||
pirateent = getent( localclientnum, enttargetname, "targetname" );
|
||||
pirateent waittill_dobj( localclientnum );
|
||||
pirate_boats_link = getent( localclientnum, "pirate_boats_link", "targetname" );
|
||||
pirateent.origin = pirate_boats_link gettagorigin( boatjoint );
|
||||
pirateent.angles = pirate_boats_link gettagangles( boatjoint );
|
||||
pirateent linkto( pirate_boats_link, boatjoint );
|
||||
pirateent useanimtree( #animtree );
|
||||
pirateent setanimrestart( pirateanimation, 1.0, 0.0, 1.0 );
|
||||
}
|
||||
|
||||
t_rex_animate_fx( localclientnum, t_rex_head, t_rex_stand )
|
||||
{
|
||||
t_rex_head waittill_dobj( localclientnum );
|
||||
t_rex_stand waittill_dobj( localclientnum );
|
||||
t_rex_head useanimtree( #animtree );
|
||||
t_rex_stand useanimtree( #animtree );
|
||||
currentanim = -1;
|
||||
randomanim = -1;
|
||||
mintime = 10;
|
||||
maxtime = 15;
|
||||
trexanims = [];
|
||||
trexanims[0] = level.scr_anim["fxanim_props"]["t_rex_fence_01"];
|
||||
trexanims[1] = level.scr_anim["fxanim_props"]["t_rex_fence_02"];
|
||||
trexanims[2] = level.scr_anim["fxanim_props"]["t_rex_fence_03"];
|
||||
trexanimssize = trexanims.size;
|
||||
trexbaseanims = [];
|
||||
trexbaseanims[0] = level.scr_anim["fxanim_props"]["t_rex_stand_01"];
|
||||
trexbaseanims[1] = level.scr_anim["fxanim_props"]["t_rex_stand_02"];
|
||||
trexbaseanims[2] = level.scr_anim["fxanim_props"]["t_rex_stand_03"];
|
||||
trexbaseanimssize = trexbaseanims.size;
|
||||
assert( trexbaseanimssize == trexanimssize );
|
||||
|
||||
for (;;)
|
||||
{
|
||||
timer = randomfloatrange( mintime, maxtime );
|
||||
wait( timer );
|
||||
|
||||
if ( currentanim != -1 )
|
||||
{
|
||||
t_rex_head clearanim( trexanims[currentanim], 0.05 );
|
||||
t_rex_stand clearanim( trexbaseanims[currentanim], 0.05 );
|
||||
}
|
||||
|
||||
for ( randomanim = randomint( trexanimssize ); randomanim == currentanim; randomanim = randomint( trexanimssize ) )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
currentanim = randomanim;
|
||||
t_rex_head setanimrestart( trexanims[currentanim], 1.0, 0.0, 1.0 );
|
||||
t_rex_stand setanimrestart( trexbaseanims[currentanim], 1.0, 0.0, 1.0 );
|
||||
/#
|
||||
mintime = getdvarfloatdefault( "mp_studio_trex_min_wait", mintime );
|
||||
maxtime = getdvarfloatdefault( "mp_studio_trex_max_wait", maxtime );
|
||||
#/
|
||||
}
|
||||
}
|
||||
|
||||
brontosaurus_animate_fx( localclientnum )
|
||||
{
|
||||
self waittill_dobj( localclientnum );
|
||||
self useanimtree( #animtree );
|
||||
mintime = 15;
|
||||
maxtime = 20;
|
||||
self animscripted( level.scr_anim["fxanim_props"]["brontosaurus_chew_anim"], 1.0, 0.0, 1.0 );
|
||||
|
||||
for (;;)
|
||||
{
|
||||
timer = randomfloatrange( mintime, maxtime );
|
||||
wait( timer );
|
||||
self clearanim( level.scr_anim["fxanim_props"]["brontosaurus_chew_anim"], 0.5 );
|
||||
self animscripted( level.scr_anim["fxanim_props"]["brontosaurus_look_around"], 1.0, 0.5, 1.0 );
|
||||
anim_length = getanimlength( level.scr_anim["fxanim_props"]["brontosaurus_look_around"] );
|
||||
wait( anim_length );
|
||||
self clearanim( level.scr_anim["fxanim_props"]["brontosaurus_look_around"], 0.5 );
|
||||
self animscripted( level.scr_anim["fxanim_props"]["brontosaurus_chew_anim"], 1.0, 0.5, 1.0 );
|
||||
/#
|
||||
mintime = getdvarfloatdefault( "mp_studio_trex_min_wait", mintime );
|
||||
maxtime = getdvarfloatdefault( "mp_studio_trex_max_wait", maxtime );
|
||||
#/
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user