Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. BO2 Modding Releases & Resources
  3. [Release][ZM] Any Player Easter Egg Mods

[Release][ZM] Any Player Easter Egg Mods

Scheduled Pinned Locked Moved BO2 Modding Releases & Resources
easter eggssolocooptranzitdie riseburiedoriginsmotdmob of the dead
215 Posts 56 Posters 90.5k Views 15 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • gogetasj4undefined Offline
    gogetasj4undefined Offline
    gogetasj4
    wrote on last edited by
    #199

    got it, thanks worked perfectly 🙂

    1 Reply Last reply
    0
    • Hadi77KSAundefined Hadi77KSA referenced this topic on
    • armytroop28undefined Offline
      armytroop28undefined Offline
      armytroop28
      wrote on last edited by
      #200

      My friend keeps getting kicked when we start. Both of us have the mod loaded.

      Hadi77KSAundefined 1 Reply Last reply
      0
      • armytroop28undefined armytroop28

        My friend keeps getting kicked when we start. Both of us have the mod loaded.

        Hadi77KSAundefined Offline
        Hadi77KSAundefined Offline
        Hadi77KSA
        Contributor
        wrote on last edited by
        #201

        armytroop28 send the error your friend receives.

        1 Reply Last reply
        0
        • knuckledraggerundefined Offline
          knuckledraggerundefined Offline
          knuckledragger
          wrote on last edited by
          #202

          Do you guys have any idea why my rank/perm perks/bank get reset when I load the mod? For context I'm using the save file from the bo2 zombies speed running page.

          Hadi77KSAundefined 1 Reply Last reply
          0
          • knuckledraggerundefined knuckledragger

            Do you guys have any idea why my rank/perm perks/bank get reset when I load the mod? For context I'm using the save file from the bo2 zombies speed running page.

            Hadi77KSAundefined Offline
            Hadi77KSAundefined Offline
            Hadi77KSA
            Contributor
            wrote on last edited by
            #203

            knuckledragger the save files from speedrun.com only apply to the LAN mode profile and only when no mod from the mods menu is selected. If you didn’t start the game in LAN mode or if you loaded the mod from the mods menu, the regular stats won’t be in effect and instead you’ll get a stats file loaded that’s specific to the mod. You could consider following one of the alternative installation methods if you wish to apply the mod without selecting it from the mods menu. Additionally, the following comment of mine has some commands for setting certain stats which you might find useful: https://forum.plutonium.pw/topic/34450/bo2-victios-easter-egs-cheat/2

            knuckledraggerundefined 1 Reply Last reply
            0
            • Hadi77KSAundefined Hadi77KSA

              knuckledragger the save files from speedrun.com only apply to the LAN mode profile and only when no mod from the mods menu is selected. If you didn’t start the game in LAN mode or if you loaded the mod from the mods menu, the regular stats won’t be in effect and instead you’ll get a stats file loaded that’s specific to the mod. You could consider following one of the alternative installation methods if you wish to apply the mod without selecting it from the mods menu. Additionally, the following comment of mine has some commands for setting certain stats which you might find useful: https://forum.plutonium.pw/topic/34450/bo2-victios-easter-egs-cheat/2

              knuckledraggerundefined Offline
              knuckledraggerundefined Offline
              knuckledragger
              wrote on last edited by knuckledragger
              #204

              Hadi77KSA That makes sense, thanks a ton. Greatly appreciate the list of commands as well! If you don't mind me asking with the TranZit Extra mod from "Alternative Mods With Extra Features + Other Maps" section do I just need to emp the portal before and after I jump in?

              Hadi77KSAundefined 1 Reply Last reply
              0
              • knuckledraggerundefined knuckledragger

                Hadi77KSA That makes sense, thanks a ton. Greatly appreciate the list of commands as well! If you don't mind me asking with the TranZit Extra mod from "Alternative Mods With Extra Features + Other Maps" section do I just need to emp the portal before and after I jump in?

                Hadi77KSAundefined Offline
                Hadi77KSAundefined Offline
                Hadi77KSA
                Contributor
                wrote on last edited by
                #205

                knuckledragger regarding the TranZit Extra question, the answer is yes. The final step with the extra script completes once you disable 2 lamps within 5 seconds.

                1 Reply Last reply
                0
                • knuckledraggerundefined Offline
                  knuckledraggerundefined Offline
                  knuckledragger
                  wrote on last edited by
                  #206

                  makes sense so are the portal spawns rng or are you guaranteed another lamp if you put your first next to a lamp? Sorry for all the stupid questions lol.

                  Hadi77KSAundefined 1 Reply Last reply
                  0
                  • knuckledraggerundefined knuckledragger

                    makes sense so are the portal spawns rng or are you guaranteed another lamp if you put your first next to a lamp? Sorry for all the stupid questions lol.

                    Hadi77KSAundefined Offline
                    Hadi77KSAundefined Offline
                    Hadi77KSA
                    Contributor
                    wrote on last edited by
                    #207

                    knuckledragger using a teleporter from a lamp will take you to a different lamp.

                    knuckledraggerundefined 1 Reply Last reply
                    0
                    • Hadi77KSAundefined Hadi77KSA

                      knuckledragger using a teleporter from a lamp will take you to a different lamp.

                      knuckledraggerundefined Offline
                      knuckledraggerundefined Offline
                      knuckledragger
                      wrote on last edited by
                      #208

                      Hadi77KSA Perfect, thanks again for everything!

                      1 Reply Last reply
                      0
                      • knuckledraggerundefined Offline
                        knuckledraggerundefined Offline
                        knuckledragger
                        wrote on last edited by
                        #209

                        I was doing the Maxis Die Rise EE and for some reason on my ground symbols (second set) only one would light up and then when I stepped on the other nothing would happen (meaning the first wouldn't go out/the second would light up). After going all around the map none of the three other symbols had any effect on the first. Do you have any idea why this might be?

                        Hadi77KSAundefined 1 Reply Last reply
                        0
                        • knuckledraggerundefined knuckledragger

                          I was doing the Maxis Die Rise EE and for some reason on my ground symbols (second set) only one would light up and then when I stepped on the other nothing would happen (meaning the first wouldn't go out/the second would light up). After going all around the map none of the three other symbols had any effect on the first. Do you have any idea why this might be?

                          Hadi77KSAundefined Offline
                          Hadi77KSAundefined Offline
                          Hadi77KSA
                          Contributor
                          wrote on last edited by
                          #210

                          knuckledragger if this was on solo, it’s intended behaviour of the mod. Read the Features section.

                          knuckledraggerundefined 1 Reply Last reply
                          0
                          • Hadi77KSAundefined Hadi77KSA

                            knuckledragger if this was on solo, it’s intended behaviour of the mod. Read the Features section.

                            knuckledraggerundefined Offline
                            knuckledraggerundefined Offline
                            knuckledragger
                            wrote on last edited by
                            #211

                            Hadi77KSA Yep my bad, thank you!

                            1 Reply Last reply
                            0
                            • Ivobardolfundefined Offline
                              Ivobardolfundefined Offline
                              Ivobardolf
                              wrote last edited by
                              #212

                              I was doing the Die Rise EE and found a lock that prevents you from completing the EE, I think it's a vanilla game bug, it's the step where you choose either:

                              Richtofen: having the balls sliquified.
                              Maxis: Picking up the balls.

                              The bug is that if you sliquified a ball, if you pick the other ball up you no longer can sliquifie it, and the sliquified ball can't be picked up, thus locking yourself out of the EE.

                              I have did this fix and it works, by changing the self endon( "sliquified" ) to a level endon, same for the notify, to make it that if you sliquified a ball the other can't be picked up and locking you into Richtofen path, and you already get locked into maxis path if you picked up a ball.

                              #include common_scripts\utility;
                              #include maps\mp\_utility;
                              #include maps\mp\zm_highrise_sq_atd;
                              #include maps\mp\zm_highrise_sq_pts;
                              #include maps\mp\zombies\_zm_equipment;
                              #include maps\mp\zombies\_zm_utility;
                              
                              main()
                              {
                                  replaceFunc( maps\mp\zm_highrise_sq_slb::lion_ball_enable_pickup, ::lion_ball_enable_pickup );
                                  replaceFunc( maps\mp\zm_highrise_sq_ssp::watch_model_sliquification, ::watch_model_sliquification );
                              }
                              
                              lion_ball_enable_pickup()
                              {
                                  level endon( "sq_sliquified" );//changed from self endon
                              
                                  while ( true )
                                  {
                                      self.can_pickup = 1;
                                      self.t_pickup = sq_slb_create_use_trigger( self.origin, 32, 70, &"ZM_HIGHRISE_SQ_PICKUP_BALL" );
                              
                                      while ( self.can_pickup )
                                      {
                                          self.t_pickup waittill( "trigger", player );
                              
                                          if ( !isdefined( player.zm_sq_has_ball ) )
                                          {
                                              player.zm_sq_has_ball = 1;
                                              player.which_ball = self;
                                              self.can_pickup = 0;
                                              self.player = player;
                                              flag_set( "sq_ball_picked_up" );
                                              level thread maps\mp\zm_highrise_sq_pts::pts_should_player_create_trigs( player );
                                              level notify( "zm_ball_picked_up", player );
                                          }
                                      }
                              
                                      self.t_pickup delete();
                                      self hide();
                                      self setcandamage( 0 );
                                      wait 1;
                                      self.t_putdown = sq_slb_create_use_trigger( self.origin, 16, 70, &"ZM_HIGHRISE_SQ_PUTDOWN_BALL" );
                                      self.player clientclaimtrigger( self.t_putdown );
                                      self.player.t_putdown_ball = self.t_putdown;
                                      self ball_pickup_waittill_change();
                                      play_spark = 0;
                              
                                      if ( !isdefined( self.t_putdown ) )
                                      {
                                          self waittill( "sq_pickup_reset" );
                                          play_spark = 1;
                                      }
                                      else
                                          self.t_putdown delete();
                              
                                      self.player notify( "zm_sq_ball_putdown" );
                              
                                      if ( play_spark )
                                      {
                                          self.sq_pickup_reset = undefined;
                                          playfx( level._effect["sidequest_flash"], self.origin );
                                      }
                              
                                      self show();
                                      self setcandamage( 1 );
                                      self.player.zm_sq_has_ball = undefined;
                                      self.player = undefined;
                                      wait 1;
                                  }
                              }
                              
                              watch_model_sliquification( n_end_limit, str_complete_flag )
                              {
                                  n_count = 0;
                                  self setcandamage( 1 );
                              
                                  while ( !flag( str_complete_flag ) )
                                  {
                                      self waittill( "damage", amount, attacker, direction, point, mod, tagname, modelname, partname, weaponname );
                              
                                      if ( issubstr( weaponname, "slipgun" ) && !flag( "sq_ball_picked_up" ) )
                                      {
                                          n_count++;
                              
                                          if ( n_count >= n_end_limit )
                                          {
                              /#
                                              iprintlnbold( "MODEL COMPLETE: " + str_complete_flag );
                              #/
                                              level notify( "sq_sliquified" );// changed from self notify
                              
                                              if ( isdefined( self.t_pickup ) )
                                                  self.t_pickup delete();
                              
                                              flag_set( str_complete_flag );
                                          }
                                          else if ( n_count == 1 )
                                              level notify( "ssp1_ball_first_sliquified" );
                                          else if ( n_count == 10 )
                                              level notify( "ssp1_ball_sliquified_2" );
                                      }
                                  }
                              }```
                              Hadi77KSAundefined 1 Reply Last reply
                              0
                              • Ivobardolfundefined Ivobardolf

                                I was doing the Die Rise EE and found a lock that prevents you from completing the EE, I think it's a vanilla game bug, it's the step where you choose either:

                                Richtofen: having the balls sliquified.
                                Maxis: Picking up the balls.

                                The bug is that if you sliquified a ball, if you pick the other ball up you no longer can sliquifie it, and the sliquified ball can't be picked up, thus locking yourself out of the EE.

                                I have did this fix and it works, by changing the self endon( "sliquified" ) to a level endon, same for the notify, to make it that if you sliquified a ball the other can't be picked up and locking you into Richtofen path, and you already get locked into maxis path if you picked up a ball.

                                #include common_scripts\utility;
                                #include maps\mp\_utility;
                                #include maps\mp\zm_highrise_sq_atd;
                                #include maps\mp\zm_highrise_sq_pts;
                                #include maps\mp\zombies\_zm_equipment;
                                #include maps\mp\zombies\_zm_utility;
                                
                                main()
                                {
                                    replaceFunc( maps\mp\zm_highrise_sq_slb::lion_ball_enable_pickup, ::lion_ball_enable_pickup );
                                    replaceFunc( maps\mp\zm_highrise_sq_ssp::watch_model_sliquification, ::watch_model_sliquification );
                                }
                                
                                lion_ball_enable_pickup()
                                {
                                    level endon( "sq_sliquified" );//changed from self endon
                                
                                    while ( true )
                                    {
                                        self.can_pickup = 1;
                                        self.t_pickup = sq_slb_create_use_trigger( self.origin, 32, 70, &"ZM_HIGHRISE_SQ_PICKUP_BALL" );
                                
                                        while ( self.can_pickup )
                                        {
                                            self.t_pickup waittill( "trigger", player );
                                
                                            if ( !isdefined( player.zm_sq_has_ball ) )
                                            {
                                                player.zm_sq_has_ball = 1;
                                                player.which_ball = self;
                                                self.can_pickup = 0;
                                                self.player = player;
                                                flag_set( "sq_ball_picked_up" );
                                                level thread maps\mp\zm_highrise_sq_pts::pts_should_player_create_trigs( player );
                                                level notify( "zm_ball_picked_up", player );
                                            }
                                        }
                                
                                        self.t_pickup delete();
                                        self hide();
                                        self setcandamage( 0 );
                                        wait 1;
                                        self.t_putdown = sq_slb_create_use_trigger( self.origin, 16, 70, &"ZM_HIGHRISE_SQ_PUTDOWN_BALL" );
                                        self.player clientclaimtrigger( self.t_putdown );
                                        self.player.t_putdown_ball = self.t_putdown;
                                        self ball_pickup_waittill_change();
                                        play_spark = 0;
                                
                                        if ( !isdefined( self.t_putdown ) )
                                        {
                                            self waittill( "sq_pickup_reset" );
                                            play_spark = 1;
                                        }
                                        else
                                            self.t_putdown delete();
                                
                                        self.player notify( "zm_sq_ball_putdown" );
                                
                                        if ( play_spark )
                                        {
                                            self.sq_pickup_reset = undefined;
                                            playfx( level._effect["sidequest_flash"], self.origin );
                                        }
                                
                                        self show();
                                        self setcandamage( 1 );
                                        self.player.zm_sq_has_ball = undefined;
                                        self.player = undefined;
                                        wait 1;
                                    }
                                }
                                
                                watch_model_sliquification( n_end_limit, str_complete_flag )
                                {
                                    n_count = 0;
                                    self setcandamage( 1 );
                                
                                    while ( !flag( str_complete_flag ) )
                                    {
                                        self waittill( "damage", amount, attacker, direction, point, mod, tagname, modelname, partname, weaponname );
                                
                                        if ( issubstr( weaponname, "slipgun" ) && !flag( "sq_ball_picked_up" ) )
                                        {
                                            n_count++;
                                
                                            if ( n_count >= n_end_limit )
                                            {
                                /#
                                                iprintlnbold( "MODEL COMPLETE: " + str_complete_flag );
                                #/
                                                level notify( "sq_sliquified" );// changed from self notify
                                
                                                if ( isdefined( self.t_pickup ) )
                                                    self.t_pickup delete();
                                
                                                flag_set( str_complete_flag );
                                            }
                                            else if ( n_count == 1 )
                                                level notify( "ssp1_ball_first_sliquified" );
                                            else if ( n_count == 10 )
                                                level notify( "ssp1_ball_sliquified_2" );
                                        }
                                    }
                                }```
                                Hadi77KSAundefined Offline
                                Hadi77KSAundefined Offline
                                Hadi77KSA
                                Contributor
                                wrote last edited by Hadi77KSA
                                #213

                                Ivobardolf good find. It is indeed a vanilla game bug. Unfortunately, the scope of my mod isn’t to fix vanilla bugs. The scope is to make the Easter Eggs be possible with any number of players. On that note, I won’t implement the fix. Although, your fix might be of use to server hosts.

                                One thing I’d note about your fix is that when one ball gets sliquified, the pick up prompt for the opposite ball would still show up although it would have no effect due to the modification you’ve made. This could potentially lead to confusion even if letting it be functional would softlock the Easter Egg. You could alternatively do this:

                                preventDieRiseBallsSoftlock()
                                {
                                    level endon( "sq_ball_picked_up" );
                                    common_scripts\utility::flag_wait_any( "sq_ball_picked_up", "ssp1_ball0_complete", "ssp1_ball1_complete" );
                                    a_balls = getentarray( "sq_sliquify_ball", "targetname" );
                                
                                    for ( i = 0; i < a_balls.size; i++ )
                                    {
                                        if ( isdefined( a_balls[i].t_pickup ) )
                                        {
                                            a_balls[i].t_pickup delete();
                                        }
                                    }
                                }
                                1 Reply Last reply
                                1
                                • Ivobardolfundefined Offline
                                  Ivobardolfundefined Offline
                                  Ivobardolf
                                  wrote last edited by Ivobardolf
                                  #214

                                  Hadi77KSA where should I put this function at? it doesn't work for me as it still shows the balls having the pickup trigger with and without the fix

                                  Hadi77KSAundefined 1 Reply Last reply
                                  0
                                  • Ivobardolfundefined Ivobardolf

                                    Hadi77KSA where should I put this function at? it doesn't work for me as it still shows the balls having the pickup trigger with and without the fix

                                    Hadi77KSAundefined Offline
                                    Hadi77KSAundefined Offline
                                    Hadi77KSA
                                    Contributor
                                    wrote last edited by
                                    #215

                                    Ivobardolf apparently array_wait_any doesn’t work for whatever reason. Use the code from the edited message.

                                    1 Reply Last reply
                                    1
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • 1
                                    • 2
                                    • 7
                                    • 8
                                    • 9
                                    • 10
                                    • 11
                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Donate