

Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has released one or more maps to the UGX-Mods community. |
http://prnt.sc/ainiph![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
I have no idea why I am getting this, if anyone could help then that would be great! Thanks!http://prnt.sc/ainiph
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has released one or more maps to the UGX-Mods community. |
missing patch
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
Oh really? There's the patch ff in the appdata folder for the map though? I did notice that there was one missing from my compiler though? How would I go about creating one? Not too sure why there isn't one there
![]() | Has released one or more maps to the UGX-Mods community. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |

// DLC3 Scripts
rawfile,maps/dlc3_code.gsc,,
rawfile,maps/dlc3_teleporter.gsc,,
rawfile,maps/createfx/dlc3_fx.gsc,,
rawfile,clientscripts/dlc3_code.csc
rawfile,clientscripts/dlc3_teleporter.csc
rawfile,clientscripts/createfx/dlc3_fx.csc clientscripts\dlc3_code::DLC3_FX();#include clientscripts\_utility;
#include clientscripts\_fx;
#include clientscripts\_music;
DLC3_FX()
{
if( isDefined( level.DLC3_Client.createFX ) )
{
[[level.DLC3_Client.createFX]]();
}
_spawnFX();
clientscripts\_fx::reportNumEffects();
clientscripts\_utility::setFootstepEffect( "asphalt", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "brick", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "carpet", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "cloth", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "concrete", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "dirt", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "foliage", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "gravel", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "grass", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "metal", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "mud", LoadFx( "bio/player/fx_footstep_mud" ) );
clientscripts\_utility::setFootstepEffect( "paper", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "plaster", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "rock", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "sand", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "water", LoadFx( "bio/player/fx_footstep_water" ) );
clientscripts\_utility::setFootstepEffect( "wood", LoadFx( "bio/player/fx_footstep_dust" ) );
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["zombie_grain"] = LoadFx( "misc/fx_zombie_grain_cloud" );
level._effect["electric_short_oneshot"] = loadfx("env/electrical/fx_elec_short_oneshot");
level._effect["switch_sparks"] = loadfx ("env/electrical/fx_elec_wire_spark_burst");
level._effect["zapper_fx"] = loadfx("misc/fx_zombie_zapper_powerbox_on");
level._effect["zapper_wall"] = loadfx("misc/fx_zombie_zapper_wall_control_on");
level._effect["elec_trail_one_shot"] = loadfx("misc/fx_zombie_elec_trail_oneshot");
level._effect["zapper_light_ready"] = loadfx("maps/zombie/fx_zombie_light_glow_green");
level._effect["zapper_light_notready"] = loadfx("maps/zombie/fx_zombie_light_glow_red");
level._effect["wire_sparks_oneshot"] = loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
level._effect["eye_glow"] = LoadFx( "misc/fx_zombie_eye_single" );
level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
/*
level thread trap_fx_monitor("warehouse_trap","warehouse");
level thread trap_fx_monitor("wuen_trap", "wuen");
level thread trap_fx_monitor("bridge_trap", "bridge");
*/
disableFX = GetDvarInt( "disable_fx" );
if( !IsDefined( disableFX ) || disableFX <= 0 )
{
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["zombie_grain"] = LoadFx( "misc/fx_zombie_grain_cloud" );
level._effect["electric_short_oneshot"] = loadfx("env/electrical/fx_elec_short_oneshot");
level._effect["switch_sparks"] = loadfx ("env/electrical/fx_elec_wire_spark_burst");
level._effect["zapper_fx"] = loadfx("misc/fx_zombie_zapper_powerbox_on");
level._effect["zapper_wall"] = loadfx("misc/fx_zombie_zapper_wall_control_on");
level._effect["elec_trail_one_shot"] = loadfx("misc/fx_zombie_elec_trail_oneshot");
level._effect["zapper_light_ready"] = loadfx("maps/zombie/fx_zombie_light_glow_green");
level._effect["zapper_light_notready"] = loadfx("maps/zombie/fx_zombie_light_glow_red");
level._effect["wire_sparks_oneshot"] = loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
level._effect["eye_glow"] = LoadFx( "misc/fx_zombie_eye_single" );
level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
}
/*
level thread perk_wire_fx( "pw0", "pad_0_wire", "t01" );
level thread perk_wire_fx( "pw1", "pad_1_wire", "t11" );
level thread perk_wire_fx( "pw2", "pad_2_wire", "t21" );
*/
if( isDefined( level.DLC3_Client.myFX ) )
{
[[level.DLC3_Client.myFX]]();
}
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["transporter_beam"] = loadfx("maps/zombie/fx_transporter_beam");
level._effect["transporter_pad_start"] = loadfx("maps/zombie/fx_transporter_pad_start");
level._effect["transporter_start"] = loadfx("maps/zombie/fx_transporter_start");
level._effect["transporter_ambient"] = loadfx("maps/zombie/fx_transporter_ambient");
level._effect["zombie_mainframe_link_all"] = loadfx("maps/zombie/fx_zombie_mainframe_link_all");
level._effect["zombie_mainframe_link_single"] = loadfx("maps/zombie/fx_zombie_mainframe_link_single");
level._effect["zombie_mainframe_linked"] = loadfx("maps/zombie/fx_zombie_mainframe_linked");
level._effect["zombie_mainframe_beam"] = loadfx("maps/zombie/fx_zombie_mainframe_beam");
level._effect["zombie_mainframe_flat"] = loadfx("maps/zombie/fx_zombie_mainframe_flat");
level._effect["zombie_mainframe_flat_start"] = loadfx("maps/zombie/fx_zombie_mainframe_flat_start");
level._effect["zombie_mainframe_beam_start"] = loadfx("maps/zombie/fx_zombie_mainframe_beam_start");
level._effect["zombie_flashback_american"] = loadfx("maps/zombie/fx_zombie_flashback_american");
level._effect["gasfire2"] = LoadFx("destructibles/fx_dest_fire_vert");
level._effect["mp_light_lamp"] = Loadfx("maps/mp_maps/fx_mp_light_lamp");
level._effect["zombie_difference"] = loadfx("maps/zombie/fx_zombie_difference");
level._effect["zombie_mainframe_steam"] = loadfx("maps/zombie/fx_zombie_mainframe_steam");
level._effect["zombie_heat_sink"] = loadfx("maps/zombie/fx_zombie_heat_sink");
level._effect["mp_smoke_stack"] = loadfx("maps/mp_maps/fx_mp_smoke_stack");
level._effect["mp_elec_spark_fast_random"] = loadfx("maps/mp_maps/fx_mp_elec_spark_fast_random");
level._effect["zombie_elec_gen_idle"] = loadfx("misc/fx_zombie_elec_gen_idle");
level._effect["zombie_moon_eclipse"] = loadfx("maps/zombie/fx_zombie_moon_eclipse");
level._effect["zombie_clock_hand"] = loadfx("maps/zombie/fx_zombie_clock_hand");
level._effect["zombie_elec_pole_terminal"] = loadfx("maps/zombie/fx_zombie_elec_pole_terminal");
level._effect["mp_elec_broken_light_1shot"] = loadfx("maps/mp_maps/fx_mp_elec_broken_light_1shot");
level._effect["mp_light_lamp_no_eo"] = loadfx("maps/mp_maps/fx_mp_light_lamp_no_eo");
level._effect["zombie_packapunch"] = loadfx("maps/zombie/fx_zombie_packapunch");
level._effect["zapper"] = loadfx("misc/fx_zombie_electric_trap");
level thread dog_start_monitor();
level thread dog_stop_monitor();
/*
level thread light_model_swap( "smodel_light_electric", "lights_indlight_on" );
level thread light_model_swap( "smodel_light_electric_milit", "lights_milit_lamp_single_int_on" );
level thread light_model_swap( "smodel_light_electric_tinhatlamp", "lights_tinhatlamp_on" );
*/
level thread clientscripts\_zombie_mode::init_perk_machines();
}
_spawnFX()
{
// Leave This -- Modulated Teleporter FX Exploders
clientscripts\createfx\dlc3_fx::main();
}
zombie_monitor(clientNum)
{
self endon("disconnect");
self endon("zombie_off");
while(1)
{
if(isdefined(self.zombifyFX))
{
playfx(clientNum, level._effect["zombie_grain"], self.origin);
}
realwait(0.1);
}
}
zombifyHandler(clientNum, newState, oldState)
{
player = getlocalplayers()[clientNum];
if(newState == "1")
{
if(!isdefined(player.zombifyFX)) // We're not already in zombie mode.
{
player.zombifyFX = 1;
player thread zombie_monitor(clientNum); // thread a monitor on it.
println("Zombie effect on");
}
}
else if(newState == "0")
{
if(isdefined(player.zombifyFX)) // We're already in zombie mode.
{
player.zombifyFX = undefined;
self notify("zombie_off"); // kill the monitor thread
println("Zombie effect off");
}
}
}
trap_fx_monitor(name,side)
{
while(1)
{
level waittill(name);
fire_points = getstructarray(name,"targetname");
for(i=0;i<fire_points.size;i++)
{
fire_points[i] thread electric_trap_fx(name,side);
}
}
}
electric_trap_fx(name,side)
{
ang = self.angles;
forward = anglestoforward(ang);
up = anglestoup(ang);
if ( isdefined( self.loopFX ) )
{
for(i = 0; i < self.loopFX.size; i ++)
{
self.loopFX[i] delete();
}
self.loopFX = [];
}
if(!isdefined(self.loopFX))
{
self.loopFX = [];
}
players = getlocalplayers();
for(i = 0; i < players.size; i++)
{
self.loopFX[i] = SpawnFx( i, level._effect["zapper"], self.origin, 0,forward,up);
triggerfx(self.loopFX[i]);
}
level waittill(side + "off");
//wait(30 );
for(i = 0; i < self.loopFX.size; i ++)
{
self.loopFX[i] delete();
}
self.loopFX = [];
/* if(isDefined(self.script_sound))
{
self.tag_origin playsound("elec_start");
self.tag_origin playloopsound("elec_loop");
self thread play_electrical_sound();
}
wait(30);
wait(randomfloat(2));
if(isDefined(self.script_sound))
{
self.tag_origin stoploopsound();
}
self.tag_origin delete();
wait(2);
notify_ent notify("elec_done");
level notify ("arc_done"); */
}
// borrowed this func from asylum
perk_wire_fx(notify_wait, init_targetname, done_notify )
{
level waittill(notify_wait);
players = getlocalplayers();
for(i = 0; i < players.size;i++)
{
players[i] thread perk_wire_fx_client( i, init_targetname, done_notify );
}
}
//
// Actually Plays the FX along the wire
perk_wire_fx_client( clientnum, init_targetname, done_notify )
{
println( "perk_wire_fx_client for client #"+clientnum );
targ = getstruct(init_targetname,"targetname");
if ( !IsDefined( targ ) )
{
return;
}
mover = Spawn( clientnum, targ.origin, "script_model" );
mover SetModel( "tag_origin" );
fx = PlayFxOnTag( clientnum, level._effect["wire_spark"], mover, "tag_origin" );
fake_ent = spawnfakeent(0);
setfakeentorg(0, fake_ent, mover.origin);
playsound( 0, "tele_spark_hit", mover.origin );
playloopsound( 0, fake_ent, "tele_spark_loop");
mover thread tele_spark_audio_mover(fake_ent);
while(isDefined(targ))
{
if(isDefined(targ.target))
{
println( "perk_wire_fx_client#"+clientnum+" next target: "+targ.target );
target = getstruct(targ.target,"targetname");
// PlayFx( clientnum, level._effect["wire_spark"], mover.origin );
mover MoveTo( target.origin, 0.1 );
wait( 0.1 );
targ = target;
}
else
{
break;
}
}
level notify( "spark_done" );
mover Delete();
deletefakeent(0,fake_ent);
// Link complete, light is green
level notify( done_notify );
}
tele_spark_audio_mover(fake_ent)
{
level endon( "spark_done" );
while (1)
{
realwait(0.05);
setfakeentorg(0, fake_ent, self.origin);
}
}
//
// Pulls the fog in
dog_start_monitor()
{
while( 1 )
{
level waittill( "dog_start" );
//SetVolFog( 75.0, 80.0, 380, -40.0, 0.16, 0.204, 0.274, 7 );
//SetVolFog( 229.0, 400.0, 115.0, 200.0, 0.16, 0.204, 0.274, 7 );
SetVolFog( 229.0, 200.0, 380.0, 200.0, 0.16, 0.204, 0.274, 7 );
//VisionSetNaked(0, "zombie_sumpf_dogs", 7 );
}
}
//
// Pulls the fog in
dog_stop_monitor()
{
while( 1 )
{
level waittill( "dog_stop" );
SetVolFog( 404.39, 1543.52, 460.33, -244.014, 0.65, 0.84, 0.79, 6 );
//VisionSetNaked(0, "zombie_sumpf", 4 );
}
}
//
// Replace the light models when the lights turn on and off
light_model_swap( name, model )
{
// while (1)
// {
level waittill( "pl1" ); // Power lights on
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( model );
}
}
}
//
// This is some crap to get around my inability to get usable angles from a model in a prefab
get_guide_struct_angles( ent )
{
guide_structs = GetStructArray( "map_fx_guide_struct", "targetname" );
if ( guide_structs.size > 0 )
{
guide = guide_structs[0];
dist = DistanceSquared(ent.origin, guide.origin);
for ( i=1; i<guide_structs.size; i++ )
{
new_dist = DistanceSquared(ent.origin, guide_structs[i].origin);
if ( new_dist < dist )
{
guide = guide_structs[i];
dist = new_dist;
}
}
return guide.angles;
}
return (0, 0, 0);
}
//
// Controls the lights on the teleporters
// client-sided in case we do any flashing/blinking
teleporter_map_light( light_name, on_msg )
{
level waittill( "pl1" ); // power lights on
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, light_name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
// lamps[i].fx = spawn(p, lamps[i].origin, "script_model" );
// lamps[i].fx setmodel("tag_origin");
// lamps[i].fx.angles = lamps[i].angles+(-90,0,0);
// lamps[i].fx.angles = (45,0,0);
angles = lamps[i].angles;
println( light_name + "- model angles : "+angles[0]+", "+angles[1]+", "+angles[2] );
// playfxontag(p, level._effect["zapper_light_notready"],lamps[i].fx,"tag_origin");
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
// wait until it is linked
level waittill( on_msg );
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, light_name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_green" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_ready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
}
//
// The map light for the receiver is special. It acts differently than the teleporter lights
//
teleporter_map_light_receiver()
{
level waittill( "pl1" ); // power lights on
level thread teleporter_map_light_receiver_flash();
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
level waittill( "pap1" ); // Pack-a-Punch On
wait( 1.5 ); // dramatic pause
level.map_light_receiver_on = true;
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_green" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_ready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
}
//
// When the players try to link teleporters, we need to flash the light
//
teleporter_map_light_receiver_flash()
{
level endon( "pap1" ); // Pack-A-Punch machine is on
level waittill( "TRf" ); // Teleporter Receiver map light flash
// After you have started, then you can end when you get a stop command.
// Putting it after you start prevents premature stopping
level endon( "TRs" ); // Teleporter receiver map light stop
level thread teleporter_map_light_receiver_stop();
while (1)
{
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
wait( 0.5 );
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
}
}
wait( 0.5 );
}
}
//
// When you stop flashing, put the correct model back on
teleporter_map_light_receiver_stop()
{
level endon( "pap1" ); // Pack-A-Punch machine is on
level waittill( "TRs" ); // teleporter receiver light stop
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
// listen for another flash message
level thread teleporter_map_light_receiver_flash();
}![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has released one or more maps to the UGX-Mods community. |
Shot in the dark. Did you make sure the right specific mod was selected when compiling your map and patch?

If you were missing your map's patch you would have gotten an error related to dogs before that(unless you removed them completely, which i'm assuming you didn't).
dlc3_code.csc is included by dlc3.csv which is included by <mapname>.csv
<mapname>.csv => dlc3.csv => dlc3_code.csc include
Should look like this near the top in dlc3.csv: Code SnippetPlaintext// DLC3 Scripts
rawfile,maps/dlc3_code.gsc,,
rawfile,maps/dlc3_teleporter.gsc,,
rawfile,maps/createfx/dlc3_fx.gsc,,
rawfile,clientscripts/dlc3_code.csc
rawfile,clientscripts/dlc3_teleporter.csc
rawfile,clientscripts/createfx/dlc3_fx.csc
dlc3_code.csc is called via pointer function from <mapname>.csc from raw/clientscripts: Code SnippetPlaintextclientscripts\dlc3_code::DLC3_FX();
which contains: Code SnippetPlaintext#include clientscripts\_utility;
#include clientscripts\_fx;
#include clientscripts\_music;
DLC3_FX()
{
if( isDefined( level.DLC3_Client.createFX ) )
{
[[level.DLC3_Client.createFX]]();
}
_spawnFX();
clientscripts\_fx::reportNumEffects();
clientscripts\_utility::setFootstepEffect( "asphalt", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "brick", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "carpet", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "cloth", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "concrete", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "dirt", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "foliage", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "gravel", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "grass", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "metal", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "mud", LoadFx( "bio/player/fx_footstep_mud" ) );
clientscripts\_utility::setFootstepEffect( "paper", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "plaster", LoadFx( "bio/player/fx_footstep_dust" ) );
clientscripts\_utility::setFootstepEffect( "rock", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "sand", LoadFx( "bio/player/fx_footstep_sand" ) );
clientscripts\_utility::setFootstepEffect( "water", LoadFx( "bio/player/fx_footstep_water" ) );
clientscripts\_utility::setFootstepEffect( "wood", LoadFx( "bio/player/fx_footstep_dust" ) );
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["zombie_grain"] = LoadFx( "misc/fx_zombie_grain_cloud" );
level._effect["electric_short_oneshot"] = loadfx("env/electrical/fx_elec_short_oneshot");
level._effect["switch_sparks"] = loadfx ("env/electrical/fx_elec_wire_spark_burst");
level._effect["zapper_fx"] = loadfx("misc/fx_zombie_zapper_powerbox_on");
level._effect["zapper_wall"] = loadfx("misc/fx_zombie_zapper_wall_control_on");
level._effect["elec_trail_one_shot"] = loadfx("misc/fx_zombie_elec_trail_oneshot");
level._effect["zapper_light_ready"] = loadfx("maps/zombie/fx_zombie_light_glow_green");
level._effect["zapper_light_notready"] = loadfx("maps/zombie/fx_zombie_light_glow_red");
level._effect["wire_sparks_oneshot"] = loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
level._effect["eye_glow"] = LoadFx( "misc/fx_zombie_eye_single" );
level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
/*
level thread trap_fx_monitor("warehouse_trap","warehouse");
level thread trap_fx_monitor("wuen_trap", "wuen");
level thread trap_fx_monitor("bridge_trap", "bridge");
*/
disableFX = GetDvarInt( "disable_fx" );
if( !IsDefined( disableFX ) || disableFX <= 0 )
{
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["zombie_grain"] = LoadFx( "misc/fx_zombie_grain_cloud" );
level._effect["electric_short_oneshot"] = loadfx("env/electrical/fx_elec_short_oneshot");
level._effect["switch_sparks"] = loadfx ("env/electrical/fx_elec_wire_spark_burst");
level._effect["zapper_fx"] = loadfx("misc/fx_zombie_zapper_powerbox_on");
level._effect["zapper_wall"] = loadfx("misc/fx_zombie_zapper_wall_control_on");
level._effect["elec_trail_one_shot"] = loadfx("misc/fx_zombie_elec_trail_oneshot");
level._effect["zapper_light_ready"] = loadfx("maps/zombie/fx_zombie_light_glow_green");
level._effect["zapper_light_notready"] = loadfx("maps/zombie/fx_zombie_light_glow_red");
level._effect["wire_sparks_oneshot"] = loadfx("env/electrical/fx_elec_wire_spark_dl_oneshot");
level._effect["wire_spark"] = loadfx("maps/zombie/fx_zombie_wire_spark");
level._effect["eye_glow"] = LoadFx( "misc/fx_zombie_eye_single" );
level._effect["powerup_on"] = loadfx( "misc/fx_zombie_powerup_on" );
}
/*
level thread perk_wire_fx( "pw0", "pad_0_wire", "t01" );
level thread perk_wire_fx( "pw1", "pad_1_wire", "t11" );
level thread perk_wire_fx( "pw2", "pad_2_wire", "t21" );
*/
if( isDefined( level.DLC3_Client.myFX ) )
{
[[level.DLC3_Client.myFX]]();
}
// THESE ARE NEEDED FOR ZOMBIE MODE -- LEAVE THESE
level._effect["transporter_beam"] = loadfx("maps/zombie/fx_transporter_beam");
level._effect["transporter_pad_start"] = loadfx("maps/zombie/fx_transporter_pad_start");
level._effect["transporter_start"] = loadfx("maps/zombie/fx_transporter_start");
level._effect["transporter_ambient"] = loadfx("maps/zombie/fx_transporter_ambient");
level._effect["zombie_mainframe_link_all"] = loadfx("maps/zombie/fx_zombie_mainframe_link_all");
level._effect["zombie_mainframe_link_single"] = loadfx("maps/zombie/fx_zombie_mainframe_link_single");
level._effect["zombie_mainframe_linked"] = loadfx("maps/zombie/fx_zombie_mainframe_linked");
level._effect["zombie_mainframe_beam"] = loadfx("maps/zombie/fx_zombie_mainframe_beam");
level._effect["zombie_mainframe_flat"] = loadfx("maps/zombie/fx_zombie_mainframe_flat");
level._effect["zombie_mainframe_flat_start"] = loadfx("maps/zombie/fx_zombie_mainframe_flat_start");
level._effect["zombie_mainframe_beam_start"] = loadfx("maps/zombie/fx_zombie_mainframe_beam_start");
level._effect["zombie_flashback_american"] = loadfx("maps/zombie/fx_zombie_flashback_american");
level._effect["gasfire2"] = LoadFx("destructibles/fx_dest_fire_vert");
level._effect["mp_light_lamp"] = Loadfx("maps/mp_maps/fx_mp_light_lamp");
level._effect["zombie_difference"] = loadfx("maps/zombie/fx_zombie_difference");
level._effect["zombie_mainframe_steam"] = loadfx("maps/zombie/fx_zombie_mainframe_steam");
level._effect["zombie_heat_sink"] = loadfx("maps/zombie/fx_zombie_heat_sink");
level._effect["mp_smoke_stack"] = loadfx("maps/mp_maps/fx_mp_smoke_stack");
level._effect["mp_elec_spark_fast_random"] = loadfx("maps/mp_maps/fx_mp_elec_spark_fast_random");
level._effect["zombie_elec_gen_idle"] = loadfx("misc/fx_zombie_elec_gen_idle");
level._effect["zombie_moon_eclipse"] = loadfx("maps/zombie/fx_zombie_moon_eclipse");
level._effect["zombie_clock_hand"] = loadfx("maps/zombie/fx_zombie_clock_hand");
level._effect["zombie_elec_pole_terminal"] = loadfx("maps/zombie/fx_zombie_elec_pole_terminal");
level._effect["mp_elec_broken_light_1shot"] = loadfx("maps/mp_maps/fx_mp_elec_broken_light_1shot");
level._effect["mp_light_lamp_no_eo"] = loadfx("maps/mp_maps/fx_mp_light_lamp_no_eo");
level._effect["zombie_packapunch"] = loadfx("maps/zombie/fx_zombie_packapunch");
level._effect["zapper"] = loadfx("misc/fx_zombie_electric_trap");
level thread dog_start_monitor();
level thread dog_stop_monitor();
/*
level thread light_model_swap( "smodel_light_electric", "lights_indlight_on" );
level thread light_model_swap( "smodel_light_electric_milit", "lights_milit_lamp_single_int_on" );
level thread light_model_swap( "smodel_light_electric_tinhatlamp", "lights_tinhatlamp_on" );
*/
level thread clientscripts\_zombie_mode::init_perk_machines();
}
_spawnFX()
{
// Leave This -- Modulated Teleporter FX Exploders
clientscripts\createfx\dlc3_fx::main();
}
zombie_monitor(clientNum)
{
self endon("disconnect");
self endon("zombie_off");
while(1)
{
if(isdefined(self.zombifyFX))
{
playfx(clientNum, level._effect["zombie_grain"], self.origin);
}
realwait(0.1);
}
}
zombifyHandler(clientNum, newState, oldState)
{
player = getlocalplayers()[clientNum];
if(newState == "1")
{
if(!isdefined(player.zombifyFX)) // We're not already in zombie mode.
{
player.zombifyFX = 1;
player thread zombie_monitor(clientNum); // thread a monitor on it.
println("Zombie effect on");
}
}
else if(newState == "0")
{
if(isdefined(player.zombifyFX)) // We're already in zombie mode.
{
player.zombifyFX = undefined;
self notify("zombie_off"); // kill the monitor thread
println("Zombie effect off");
}
}
}
trap_fx_monitor(name,side)
{
while(1)
{
level waittill(name);
fire_points = getstructarray(name,"targetname");
for(i=0;i<fire_points.size;i++)
{
fire_points[i] thread electric_trap_fx(name,side);
}
}
}
electric_trap_fx(name,side)
{
ang = self.angles;
forward = anglestoforward(ang);
up = anglestoup(ang);
if ( isdefined( self.loopFX ) )
{
for(i = 0; i < self.loopFX.size; i ++)
{
self.loopFX[i] delete();
}
self.loopFX = [];
}
if(!isdefined(self.loopFX))
{
self.loopFX = [];
}
players = getlocalplayers();
for(i = 0; i < players.size; i++)
{
self.loopFX[i] = SpawnFx( i, level._effect["zapper"], self.origin, 0,forward,up);
triggerfx(self.loopFX[i]);
}
level waittill(side + "off");
//wait(30 );
for(i = 0; i < self.loopFX.size; i ++)
{
self.loopFX[i] delete();
}
self.loopFX = [];
/* if(isDefined(self.script_sound))
{
self.tag_origin playsound("elec_start");
self.tag_origin playloopsound("elec_loop");
self thread play_electrical_sound();
}
wait(30);
wait(randomfloat(2));
if(isDefined(self.script_sound))
{
self.tag_origin stoploopsound();
}
self.tag_origin delete();
wait(2);
notify_ent notify("elec_done");
level notify ("arc_done"); */
}
// borrowed this func from asylum
perk_wire_fx(notify_wait, init_targetname, done_notify )
{
level waittill(notify_wait);
players = getlocalplayers();
for(i = 0; i < players.size;i++)
{
players[i] thread perk_wire_fx_client( i, init_targetname, done_notify );
}
}
//
// Actually Plays the FX along the wire
perk_wire_fx_client( clientnum, init_targetname, done_notify )
{
println( "perk_wire_fx_client for client #"+clientnum );
targ = getstruct(init_targetname,"targetname");
if ( !IsDefined( targ ) )
{
return;
}
mover = Spawn( clientnum, targ.origin, "script_model" );
mover SetModel( "tag_origin" );
fx = PlayFxOnTag( clientnum, level._effect["wire_spark"], mover, "tag_origin" );
fake_ent = spawnfakeent(0);
setfakeentorg(0, fake_ent, mover.origin);
playsound( 0, "tele_spark_hit", mover.origin );
playloopsound( 0, fake_ent, "tele_spark_loop");
mover thread tele_spark_audio_mover(fake_ent);
while(isDefined(targ))
{
if(isDefined(targ.target))
{
println( "perk_wire_fx_client#"+clientnum+" next target: "+targ.target );
target = getstruct(targ.target,"targetname");
// PlayFx( clientnum, level._effect["wire_spark"], mover.origin );
mover MoveTo( target.origin, 0.1 );
wait( 0.1 );
targ = target;
}
else
{
break;
}
}
level notify( "spark_done" );
mover Delete();
deletefakeent(0,fake_ent);
// Link complete, light is green
level notify( done_notify );
}
tele_spark_audio_mover(fake_ent)
{
level endon( "spark_done" );
while (1)
{
realwait(0.05);
setfakeentorg(0, fake_ent, self.origin);
}
}
//
// Pulls the fog in
dog_start_monitor()
{
while( 1 )
{
level waittill( "dog_start" );
//SetVolFog( 75.0, 80.0, 380, -40.0, 0.16, 0.204, 0.274, 7 );
//SetVolFog( 229.0, 400.0, 115.0, 200.0, 0.16, 0.204, 0.274, 7 );
SetVolFog( 229.0, 200.0, 380.0, 200.0, 0.16, 0.204, 0.274, 7 );
//VisionSetNaked(0, "zombie_sumpf_dogs", 7 );
}
}
//
// Pulls the fog in
dog_stop_monitor()
{
while( 1 )
{
level waittill( "dog_stop" );
SetVolFog( 404.39, 1543.52, 460.33, -244.014, 0.65, 0.84, 0.79, 6 );
//VisionSetNaked(0, "zombie_sumpf", 4 );
}
}
//
// Replace the light models when the lights turn on and off
light_model_swap( name, model )
{
// while (1)
// {
level waittill( "pl1" ); // Power lights on
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( model );
}
}
}
//
// This is some crap to get around my inability to get usable angles from a model in a prefab
get_guide_struct_angles( ent )
{
guide_structs = GetStructArray( "map_fx_guide_struct", "targetname" );
if ( guide_structs.size > 0 )
{
guide = guide_structs[0];
dist = DistanceSquared(ent.origin, guide.origin);
for ( i=1; i<guide_structs.size; i++ )
{
new_dist = DistanceSquared(ent.origin, guide_structs[i].origin);
if ( new_dist < dist )
{
guide = guide_structs[i];
dist = new_dist;
}
}
return guide.angles;
}
return (0, 0, 0);
}
//
// Controls the lights on the teleporters
// client-sided in case we do any flashing/blinking
teleporter_map_light( light_name, on_msg )
{
level waittill( "pl1" ); // power lights on
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, light_name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
// lamps[i].fx = spawn(p, lamps[i].origin, "script_model" );
// lamps[i].fx setmodel("tag_origin");
// lamps[i].fx.angles = lamps[i].angles+(-90,0,0);
// lamps[i].fx.angles = (45,0,0);
angles = lamps[i].angles;
println( light_name + "- model angles : "+angles[0]+", "+angles[1]+", "+angles[2] );
// playfxontag(p, level._effect["zapper_light_notready"],lamps[i].fx,"tag_origin");
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
// wait until it is linked
level waittill( on_msg );
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, light_name, "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_green" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_ready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
}
//
// The map light for the receiver is special. It acts differently than the teleporter lights
//
teleporter_map_light_receiver()
{
level waittill( "pl1" ); // power lights on
level thread teleporter_map_light_receiver_flash();
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
level waittill( "pap1" ); // Pack-a-Punch On
wait( 1.5 ); // dramatic pause
level.map_light_receiver_on = true;
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_green" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_ready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
}
//
// When the players try to link teleporters, we need to flash the light
//
teleporter_map_light_receiver_flash()
{
level endon( "pap1" ); // Pack-A-Punch machine is on
level waittill( "TRf" ); // Teleporter Receiver map light flash
// After you have started, then you can end when you get a stop command.
// Putting it after you start prevents premature stopping
level endon( "TRs" ); // Teleporter receiver map light stop
level thread teleporter_map_light_receiver_stop();
while (1)
{
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
wait( 0.5 );
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
}
}
wait( 0.5 );
}
}
//
// When you stop flashing, put the correct model back on
teleporter_map_light_receiver_stop()
{
level endon( "pap1" ); // Pack-A-Punch machine is on
level waittill( "TRs" ); // teleporter receiver light stop
players = getlocalplayers();
for ( p=0; p<players.size; p++ )
{
lamps = GetEntArray( p, "sm_light_tp_r", "targetname" );
for ( i=0; i<lamps.size; i++ )
{
lamps[i] SetModel( "zombie_zapper_cagelight_red" );
if(isDefined(lamps[i].fx))
{
lamps[i].fx delete();
}
angles = get_guide_struct_angles( lamps[i] );
lamps[i].fx = SpawnFx( p, level._effect["zapper_light_notready"], lamps[i].origin, 0, AnglesToForward( angles ) );
TriggerFX(lamps[i].fx);
}
}
// listen for another flash message
level thread teleporter_map_light_receiver_flash();
}
I'm not too sure what your trying to say here? And dogs have been fully removed from the map.
![]() | Has released one or more maps to the UGX-Mods community. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
u dnt wnt 2 no



Aye mate you don't know me so y don't you shut tf up ok buddy

![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() Box Mappers Elite | |
![]() | Has released one or more maps to the UGX-Mods community. |
![]() | Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() | Has released one or more maps to the UGX-Mods community. |