Yes, I'm using _zombiemode.gsc to do this script, maybe is it a contradiction in the if sentence?, well I'll post all the file:
main(init_zombie_spawner_name) { precache_shaders(); precache_models(); PrecacheItem( "fraggrenade" ); PrecacheItem( "colt" ); init_strings(); init_levelvars(); init_animscripts(); init_sounds(); init_shellshocks(); init_flags(); //Limit zombie to 24 max, must have for network purposes SetAILimit( 24 ); // the initial spawners if( !IsDefined( init_zombie_spawner_name) ) { level.enemy_spawns = getEntArray( "zombie_spawner_init", "targetname" ); } else { level.enemy_spawns = getEntArray( init_zombie_spawner_name, "targetname" ); } level.zombie_rise_spawners = []; //maps\_destructible_type94truck::init(); level.custom_introscreen = ::zombie_intro_screen; level.custom_intermission = ::player_intermission; level.reset_clientdvars = ::onPlayerConnect_clientDvars; init_fx(); // load map defaults maps\_load::main(); level.hudelem_count = 0; // Call the other zombiemode scripts if( level.script == "nazi_zombie_sumpf" ) { maps\_zombiemode_weapons_sumpf::init(); } else { maps\_zombiemode_weapons::init(); } maps\_zombiemode_blockers_new::init(); maps\_zombiemode_spawner::init(); maps\_zombiemode_powerups::init(); maps\_zombiemode_radio::init(); maps\_zombiemode_perks::init(); maps\_zombiemode_tesla::init(); maps\_zombiemode_dogs::init(); maps\_zombiemode_bowie::bowie_init(); maps\_zombiemode_cymbal_monkey::init(); maps\_zombiemode_betty::init(); maps\_zombiemode_timer::init(); maps\_zombiemode_auto_turret::init(); thread function_one(); thread function_two(); /# maps\_zombiemode_devgui::init(); #/ init_utility(); // register a client system... maps\_utility::registerClientSys("zombify"); // level thread coop_player_spawn_placement(); // zombie ai and anim inits init_anims(); if( isDefined( level.custom_ai_type ) ) { for( i = 0; i < level.custom_ai_type.size; i++ ) { [[ level.custom_ai_type[i] ]](); } } // Sets up function pointers for animscripts to refer to level.playerlaststand_func = ::player_laststand; // level.global_kill_func = maps\_zombiemode_spawner::zombie_death; level.global_damage_func = maps\_zombiemode_spawner::zombie_damage; level.global_damage_func_ads = maps\_zombiemode_spawner::zombie_damage_ads; level.overridePlayerKilled = ::player_killed_override; level.overridePlayerDamage = ::player_damage_override; level.melee_miss_func = maps\_zombiemode::zombiemode_melee_miss; if( !IsDefined( level.Player_Spawn_func ) ) { level.Player_Spawn_func = ::coop_player_spawn_placement; } level thread [[level.Player_Spawn_func]](); // used to a check in last stand for players to become zombies level.is_zombie_level = true; level.player_becomes_zombie = ::zombify_player; // so we dont get the uber colt when we're knocked out level.laststandpistol = "colt"; level.round_start_time = 0; level thread onPlayerConnect(); init_dvars(); initZombieLeaderboardData(); flag_wait( "all_players_connected" ); bbPrint( "sessions: mapname %s gametype zom isserver 1", level.script ); //thread zombie_difficulty_ramp_up(); // Start the Zombie MODE! level thread end_game(); level thread round_start(); level thread players_playing(); if ( IsDefined( level.crawlers_enabled ) && level.crawlers_enabled == 1 ) { level thread crawler_round_tracker(); } //chrisp - adding spawning vo level thread spawn_vo(); //add ammo tracker for VO level thread track_players_ammo_count(); //level thread prevent_near_origin(); DisableGrenadeSuicide(); level.startInvulnerableTime = GetDvarInt( "player_deathInvulnerableTime" ); // Do a SaveGame, so we can restart properly when we die SaveGame( "zombie_start", &"AUTOSAVE_LEVELSTART", "", true ); // TESTING // wait( 3 ); // level thread intermission(); // thread testing_spawner_bug(); if(!IsDefined(level.eggs) ) { level.eggs = 0; } } player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ) { /* if(self hasperk("specialty_armorvest") && eAttacker != self) { iDamage = iDamage * 0.75; iprintlnbold(idamage); }*/ if( sMeansOfDeath == "MOD_FALLING" ) { sMeansOfDeath = "MOD_EXPLOSIVE"; } if( isDefined( eAttacker ) ) { if( isDefined( self.ignoreAttacker ) && self.ignoreAttacker == eAttacker ) { return; } if( isDefined( eAttacker.is_zombie ) && eAttacker.is_zombie ) { self.ignoreAttacker = eAttacker; self thread remove_ignore_attacker(); } if( isDefined( eAttacker.damage_mult ) ) { iDamage *= eAttacker.damage_mult; } eAttacker notify( "hit_player" ); } finalDamage = iDamage; if( sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_GRENADE_SPLASH" ) { if( self.health > 75 ) { finalDamage = 75; self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } } if( iDamage < self.health ) { if ( IsDefined( eAttacker ) ) { eAttacker.sound_damage_player = self; } //iprintlnbold(iDamage); self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } if( level.intermission ) { level waittill( "forever" ); } players = get_players(); level.countplayerdown = 0; for( i = 0; i < players.size; i++ ) { if( players[i] == self || players[i].is_zombie || players[i] maps\_laststand::player_is_in_laststand() || players[i].sessionstate == "spectator" ) { level.countplayerdown++; } } if( level.countplayerdown < players.size ) { self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); return; } self.intermission = true; self thread maps\_laststand::PlayerLastStand( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime ); self player_fake_death(); if( level.countplayerdown == players.size ) { level notify( "end_game" ); } else { self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime ); } } function_one() { trigger = GetEnt("random_one","targetname"); level.start = false; level.trigger_one_count = 0; while (1) { trigger waittill ( "trigger" , player); if( level.countplayerdown == level.players_playing ) { level.start = true; break; } level.trigger_one_count++; wait ( .5 ); } } function_two() { trigger1 = GetEnt("random_two","targetname"); level.start_two = false; level.trigger_two_count = 0; while (1) { trigger1 waittill ( "trigger" , player); if( level.countplayerdown == level.players_playing ) { level.start_two = true; break; } level.trigger_two_count++; wait ( .5 ); } } end_game() { level waittill ( "end_game" ); level.intermission = true; update_leaderboards(); game_over = NewHudElem( self ); game_over.alignX = "center"; game_over.alignY = "middle"; game_over.horzAlign = "center"; game_over.vertAlign = "middle"; game_over.y -= 10; game_over.foreground = true; game_over.fontScale = 3; game_over.alpha = 0; game_over.color = ( 1.0, 1.0, 1.0 ); game_over SetText( &"ZOMBIE_GAME_OVER" ); game_over FadeOverTime( 1 ); game_over.alpha = 1; survived = NewHudElem( self ); survived.alignX = "center"; survived.alignY = "middle"; survived.horzAlign = "center"; survived.vertAlign = "middle"; survived.y += 20; survived.foreground = true; survived.fontScale = 2; survived.alpha = 0; survived.color = ( 1.0, 1.0, 1.0 ); if( level.round_number < 2 ) { survived SetText( &"ZOMBIE_SURVIVED_ROUND" ); } else { survived SetText( &"ZOMBIE_SURVIVED_ROUNDS", level.round_number ); } //TUEY had to change this since we are adding other musical elements If( level.start == true && level.start_two == false ) { // Here is the error setmusicstate("music_one"); } If( level.start == false && level.start_two == true ) { setmusicstate("music_two"); } If( level.start == true && level.start_two == true && level.trigger_two_count < level.trigger_one_count ) { setmusicstate("music_one"); } If( level.start == true && level.start_two == true && level.trigger_two_count > level.trigger_one_count ) { setmusicstate("music_two"); } If( level.start == true && level.start_two == true && level.trigger_two_count == level.trigger_one_count ) { setmusicstate("end_of_game"); } //setmusicstate("end_of_game"); //setbusstate("default"); survived FadeOverTime( 1 ); survived.alpha = 1; wait( 1 ); //play_sound_at_pos( "end_of_game", ( 0, 0, 0 ) ); wait( 2 ); intermission(); wait( level.zombie_vars["zombie_intermission_time"] ); level notify( "stop_intermission" ); array_thread( get_players(), ::player_exit_level ); bbPrint( "zombie_epilogs: rounds %d", level.round_number ); wait( 1.5 ); if( is_coop() ) { ExitLevel( false ); } else { MissionFailed(); } // Let's not exit the function wait( 666 ); }
I had to modify the post, because it will not show the content, only I posted the modifications that I did in the script.