



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!
#include maps\_anim;
#include maps\_utility;
#include common_scripts\utility;
#include maps\_zombiemode_utility;
#include maps\_zombiemode_net;
/*
The script is part of the BamMod Project for Next Level Mods and may not be redistributed without personally contacting me. thank you!
*/
generators_init()
{
precacheShader("generator_waypoint");
level.generator_cost = 200;
level.generator_charge_time = 10;
level.samplingTime = .05;
level.bar_width_generator = 120;
level.generatorCaptureRadius = 256;
level.generatorSpawnGrabRange = 300;
level.fluidDropHeight = 64;
level.fluidRisen = 0;
level.generator_fluid_array = getEntArray("generator_fluid","targetname");
level.generator_piston_array = getEntArray("piston","targetname");
level.generator_origins_array = getEntArray("generator_origin","targetname");
for(i=0;i<level.generator_fluid_array.size;i++)
{
level.generator_fluid_array[i] moveZ(-1 * level.fluidDropHeight,.1);
level.generator_fluid_array[i] thread spin();
}
level.interupted_isplaying = false;
precachemodel("bo2_c_zom_tomb_crusader_headz");
precachemodel("bo2_c_zom_tomb_crusader_body_zc");
precachemodel("bo1_c_viet_zombie_napalm");
precachemodel("bo1_c_viet_zombie_napalm_head");
level.Crusaders = [];
level.crusaderSpawns = getEntArray("generator_spawners","targetname");
level.generatorIsConverting = false;
level.vending_machines_gen = getEntArray("zombie_vending","targetname");
for(i=0;i<level.vending_machines_gen.size;i++)
level.vending_machines_gen[i].isTaken = false;
level.gen_debug = true;
level.generator_triggers = getEntArray("generator_trigger","targetname");
level.gen_goal = level.generator_triggers.size;
level.gen_goal_progress = 0;
array_thread(level.generator_triggers , ::generator_startup_think);
for(i=0;i<level.generator_triggers.size;i++)
level.generator_triggers[i] thread get_favorite_machine();
for(i=0;i<level.generator_triggers.size;i++)
level.generator_triggers[i] thread get_nearby_spawns();
power_trig_turn_off = getEnt("use_power_switch","targetname");
power_trig_turn_off_handle = getEnt("power_switch","targetname");
//thread delete_power(power_trig_turn_off,power_trig_turn_off_handle);
level.generator_ground = getEntArray("gen_ground_pieces","targetname");
level.generator_arms = getEntArray("gen_arms","targetname");
level.gen_main = getEntArray("gen_main","targetname");
precachemodel("bo2_p6_zm_tm_generator_stand_robot");
precachemodel("bo2_p6_zm_tm_generator_arm");
precachemodel("bo2_p6_zm_tm_generator_pump");
level.generator_ground arraySetModel("bo2_p6_zm_tm_generator_stand_robot");
level.generator_arms arraySetModel("bo2_p6_zm_tm_generator_arm");
level.gen_main arraySetModel("bo2_p6_zm_tm_generator_pump");
}
arraySetModel(model)
{
for(i=0;i<self.size;i++)
self[i] setModel(model);
}
delete_power(obj1,obj2)
{
wait 1;
obj1 delete();
obj2 delete();
}
get_nearby_spawns()
{
self.nearbyCrusaderSpawners = [];
for(i=0;i<level.crusaderSpawns.size;i++)
{
if(distance(self.origin,level.crusaderSpawns[i].origin) < level.generatorSpawnGrabRange)
self.nearbyCrusaderSpawners[self.nearbyCrusaderSpawners.size] = level.crusaderSpawns[i];
}
}
get_favorite_machine()
{
closest_distance = 10000000;
for(i=0;i<level.vending_machines_gen.size;i++)
{
if((distance(self.origin,level.vending_machines_gen[i].origin) < closest_distance) && !level.vending_machines_gen[i].isTaken)
{
self.favorite_machine = level.vending_machines_gen[i].script_string;
closest_distance = distance(self.origin,level.vending_machines_gen[i].origin);
}
}
self.favorite_machine.isTaken = true;
}
debug_converter()
{
while(1)
{
for(i=0;i<level.generator_triggers.size;i++)
{
self iprintln("converter debugger");
self iprintln("favorite machine: " + level.generator_triggers[i].favorite_machine);
self iprintln("perk_string: " + level.vending_machines_gen[i].script_string);
}
wait 1;
}
}
generator_startup_think()
{
self.isOffline = true;
self SetCursorHint( "HINT_NOICON" );
self UseTriggerRequireLookAt();
while(self.isOffline)
{
self SetHintString("Press and Hold &&1 to power area using 115 generator [Cost: " + level.generator_cost + "]");
self waittill("trigger",user);
if(!level.generatorIsConverting && user.score >= level.generator_cost)
{
//user thread debug_converter();
user maps\_zombiemode_score::minus_to_player_score(level.generator_cost);
user playsound("conversion_seq_start");
self SetHintString("");
self.timePassedGenerator = 0;
self.Progess = 0;
user.generatorProgressBar = user maps\_hud_util::createPrimaryProgressBar();
self.generator_waypoint_model = spawn( "script_model",self.origin);
self.generator_waypoint_model setModel( "tag_origin" );
self.generator_waypoint_model.generator_waypoint = newHudElem();
self.generator_waypoint_model.generator_waypoint setShader("generator_waypoint",64,64);
self.generator_waypoint_model.generator_waypoint setWaypoint( true,"generator_waypoint");
self.generator_waypoint_model.generator_waypoint SetTargetEnt(self.generator_waypoint_model);
generator_id = maps\_hud_util::createFontString("default", 3.0);
generator_id maps\_hud_util::setPoint( "CENTER", undefined, 0, 80 );
generator_id settext(self getGeneratorNum() + 1);
while((self.timePassedGenerator < level.generator_charge_time)&& self.Progess > -1)
{
players = get_players();
self.generator_progress = level.bar_width_generator*(self.timePassedGenerator/level.generator_charge_time);
self.playersNear = false;
for(i=0;i<players.size;i++)
{
if(distance(players[i].origin,self.origin) < level.generatorCaptureRadius)
self.playersNear = true;
}
if(int(self.generator_progress) > 1)
{
if(self.playersNear)
{
self.timePassedGenerator += level.samplingTime;
user.generatorProgressBar.bar setShader(user.generatorProgressBar.bar.shader, int(self.generator_progress) , user.generatorProgressBar.height );
user.generatorProgressBar.bar.color = (0.117647, 0.564706, 1);
for(i=0;i<level.generator_fluid_array.size;i++)
if(distance(self.origin,level.generator_fluid_array[i].origin)<500)
{
if(!isDefined(level.generator_fluid_array[i].rise_amount))
level.generator_fluid_array[i].rise_amount = 0;
//if(level.generator_fluid_array[i].rise_amount >= 0)
{
if(distance(self.origin,level.generator_fluid_array[i].origin)<500)
{
level.generator_fluid_array[i] moveZ(level.fluidDropHeight/(level.generator_charge_time/level.samplingTime),level.samplingTime);
level.generator_fluid_array[i].rise_amount++;
}
}
}
self.Progess += level.samplingTime;
}
else
{
self.timePassedGenerator -= level.samplingTime;
user.generatorProgressBar.bar setShader(user.generatorProgressBar.bar.shader, int(self.generator_progress) , user.generatorProgressBar.height );
user.generatorProgressBar.bar.color = (1, 0, 0);
if(!level.interupted_isplaying)
{
user playsound("conversion_seq_interupted");
level.interupted_isplaying = true;
thread turn_on_inter_sound();
}
for(i=0;i<level.generator_fluid_array.size;i++)
if(distance(self.origin,level.generator_fluid_array[i].origin)<500)
{
if(!isDefined(level.generator_fluid_array[i].rise_amount))
level.generator_fluid_array[i].rise_amount = 0;
if(level.generator_fluid_array[i].rise_amount >= 0)
{
if(distance(self.origin,level.generator_fluid_array[i].origin)<500)
{
level.generator_fluid_array[i] moveZ(-1 * level.fluidDropHeight/(level.generator_charge_time/level.samplingTime),level.samplingTime);
level.generator_fluid_array[i].rise_amount--;
}
}
}
self.Progess -= level.samplingTime;
}
}
else
self.timePassedGenerator += level.samplingTime;
if(randomint(100) < 10 && get_num_crusaders() < 6)
{
//user iprintln("num crusaders: " + self.nearbyCrusaderSpawners.size);
zombie = spawn_zombie(self.nearbyCrusaderSpawners[randomint(self.nearbyCrusaderSpawners.size)]);
zombie.team = "axis";
zombie.isCrusader = true;
zombie thread makeCrusader();
zombie thread cherry_play_death_fx();
}
wait level.samplingTime;
}
if(self.timePassedGenerator >= level.generator_charge_time)
{
kill_crusaders();
self.isOffline = false;
if(level.gen_debug)
//user iprintln("generator_charged");
//user iprintln(self);
user playsound("conversion_seq_end");
user maps\_zombiemode_score::add_to_player_score(level.generator_cost);
turn_on_diesel_vending(self.favorite_machine);
for(i=0;i<level.generator_piston_array.size;i++)
{
if(distance(self.origin,level.generator_piston_array[i].origin) < 128)
level.generator_piston_array[i] thread pump();
}
for(i=0;i<level.generator_origins_array.size;i++)
{
if(distance(self.origin,level.generator_origins_array[i].origin) < 128)
{
level.generator_origins_array[i].tag_origin = spawn("script_model",level.generator_origins_array[i].origin);
level.generator_origins_array[i].tag_origin setmodel("tag_origin");
level.generator_origins_array[i].tag_origin.angles = level.generator_origins_array[i].angles;
playfxontag(level._effect["converter_finish"],level.generator_origins_array[i].tag_origin, "tag_origin");
wait 1;
level.generator_origins_array[i].tag_origin delete();
}
}
}
else
{
user playsound("conversion_seq_fail_" + (self getGeneratorNum() + 1));
}
user.generatorProgressBar maps\_hud_util::destroyElem();
user.generatorProgressBar destroy();
generator_id destroy();
self.generator_waypoint_model.generator_waypoint destroy();
self.generator_waypoint_model delete();
self thread play_success(user);
}
wait .01;
}
}
play_success(user)
{
if(!self.isOffline)
{
wait 3;
user playsound("conversion_seq_end_" + (self getGeneratorNum() + 1));
}
}
getGeneratorNum()
{
genNum = 0;
switch(self.favorite_machine)
{
case "revive_perk":
genNum = 0;
break;
case "jugg_perk":
genNum = 1;
break;
case "tap_perk":
genNum = 2;
break;
case "speedcola_perk":
genNum = 3;
break;
}
return genNum;
}
pump()
{
while(1)
{
self moveZ(64,.25,.125,.125);
wait .5;
self moveZ(-64,.25,.125,.125);
wait .5;
}
}
spin()
{
while(1)
{
//self rotateYaw(360,2);
wait 2;
}
}
turn_on_inter_sound()
{
wait 5;
level.interupted_isplaying = false;
}
get_num_crusaders()
{
zombies = GetAiArray( "axis" );
num_crusaders = 0;
for(i=0;i<zombies.size;i++)
{
if(isDefined(zombies[i].isCrusader))
num_crusaders++;
}
return num_crusaders;
}
kill_crusaders()
{
zombies = GetAiArray( "axis" );
for(i=0;i<zombies.size;i++)
{
if(isDefined(zombies[i].isCrusader))
{
zombies[i].fx_eye_glow delete();
zombies[i] DoDamage( zombies[i].health + 666, zombies[i].origin );
zombies[i].fx_eye_glow delete();
zombies[i] thread maps\_zombiemode_spawner::zombie_eye_glow_stop();
}
}
}
turn_on_diesel_vending(diesel_perk_select)
{
if(isDefined(level.usesDiesel) || level.usesDiesel == true)
{
if(diesel_perk_select == "jugg_perk")
level thread turn_jugger_on();
if(diesel_perk_select == "tap_perk")
level thread turn_doubletap_on();
if(diesel_perk_select == "speedcola_perk")
level thread turn_sleight_on();
if(diesel_perk_select == "revive_perk")
level thread turn_revive_on();
level.gen_goal_progress++;
}
if(level.gen_goal_progress == level.gen_goal)
thread maps\dlc3_code::power_electric_switch_on();
}
turn_sleight_on()
{
machine = getentarray("vending_sleight", "targetname");
for( i = 0; i < machine.size; i++ )
{
machine[i] setmodel("zombie_vending_sleight_on");
machine[i] vibrate((0,-100,0), 0.3, 0.4, 3);
machine[i] playsound("perks_power_on");
machine[i] thread perk_fx( "sleight_light" );
}
level notify( "specialty_fastreload_power_on" );
}
turn_revive_on()
{
machine = getentarray("vending_revive", "targetname");
for( i = 0; i < machine.size; i++ )
{
machine[i] setmodel("zombie_vending_revive_on");
machine[i] playsound("perks_power_on");
machine[i] vibrate((0,-100,0), 0.3, 0.4, 3);
machine[i] thread perk_fx( "revive_light" );
}
level notify( "specialty_quickrevive_power_on" );
}
turn_jugger_on()
{
machine = getentarray("vending_jugg", "targetname");
for( i = 0; i < machine.size; i++ )
{
machine[i] setmodel("zombie_vending_jugg_on");
machine[i] vibrate((0,-100,0), 0.3, 0.4, 3);
machine[i] playsound("perks_power_on");
machine[i] thread perk_fx( "jugger_light" );
}
level notify( "specialty_armorvest_power_on" );
}
turn_doubletap_on()
{
machine = getentarray("vending_doubletap", "targetname");
for( i = 0; i < machine.size; i++ )
{
machine[i] setmodel("zombie_vending_doubletap_on");
machine[i] vibrate((0,-100,0), 0.3, 0.4, 3);
machine[i] playsound("perks_power_on");
machine[i] thread perk_fx( "doubletap_light" );
}
level notify( "specialty_rof_power_on" );
}
perk_fx( fx )
{
wait(3);
playfxontag( level._effect[ fx ], self, "tag_origin" );
}
makeCrusader()
{
self setModel("bo2_c_zom_tomb_crusader_body_zc");
self detach(self.headModel, "", true);
self detach(self.hatModel, "", true);
self attach("bo2_c_zom_tomb_crusader_headz", "", true);
self maps\_zombiemode_spawner::zombie_spawn_init("zombie");
self maps\_zombiemode_spawner::zombie_think();
self maps\_zombiemode_spawner::zombie_setup_attack_properties();
self maps\_zombiemode_spawner::find_flesh();
self thread make_run();
}
make_run()
{
while(1)
{
self set_run_anim( "run" + 3 );
self.run_combatanim = level.scr_anim[self.animname]["run" + 3];
wait .5;
}
}
cherry_play_death_fx()
{
tag = "J_SpineUpper";
fx = "tesla_shock";
network_safe_play_fx_on_tag( "", 2, level._effect["tesla_shock"], self, tag );
self playsound( "imp_tesla" );
if ( !self enemy_is_dog() )
{
if( RandomInt( 100 ) < level.zombie_vars["tesla_head_gib_chance"] )
{
wait( RandomFloat( 0.53, 1.0 ) );
}
else
{
network_safe_play_fx_on_tag( "", 2, level._effect["tesla_shock_eyes"], self, "J_Eyeball_LE" );
}
}
}

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 shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community. |
It would be good to know what exactly you changed that caused these issues.
![]() | 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. |
he recompiled, so im guessing a "patch" issue, as this is bams generators i assume

![]() | 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. |

Let me just check i got this straight, you can still see em and stuff in game, just not working "correctly" yes?
lol i actually thought doing that might have "caused" your issue (when you use bams stuff, he added a custom patch file you musnt overwrite, or must replace again after you do overwrite it, the models, shaders and stuff are in that file) lol, anyway glad its working for ya


![]() | 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. |
ah, i think i misunderstood you before
ok, so if thats your issue, i would assume you may have accidentally changed a KVP on one of the generators, assuming you havent touched the script at all
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() UGX V.I.P. | |
![]() | Has released one or more maps to the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
Check, if you accidentaly used same prefab twice
![]() | Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum. |
![]() UGX V.I.P. | |
![]() | Has released one or more maps to the UGX-Mods community. |
![]() BO3 Modtools Alpha | This user has access to the Black Ops 3 Modtools Alpha |
dude this tut has only 2 prefabs
generator. prefab for all generators and generator_fluid. prefab
Well, thats weird. Never followed Bams Origins tut, let me check it quickly and then come back
Edit: Only thing I can think off is that they are located in same zone perhaps. Are they?
Another edit: Or shader 2 is using shader 3, since you shouldnt be able to activate both, if they are "same" generator
![]() | 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. |