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

Plutonium

  1. Home
  2. BO2 Modding Releases & Resources
  3. Score multipler

Score multipler

Scheduled Pinned Locked Moved BO2 Modding Releases & Resources
10 Posts 4 Posters 900 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined Offline
    undefined Offline
    Dec Contributor
    wrote on Feb 1, 2025, 2:33 AM last edited by
    #1
    #include common_scripts\utility;
    #include maps\mp\_utility;
    #include maps\mp\zombies\_zm_utility;
    #include maps\mp\zombies\_zm_stats;
    #include maps\mp\zombies\_zm_pers_upgrades_functions;
    #include maps\mp\zombies\_zm_score;
    
    main() {
    	replaceFunc(maps\mp\zombies\_zm_score::player_add_points, ::new_player_add_points);
    }
    
    new_player_add_points( event, mod, hit_location, is_dog, zombie_team, damage_weapon )
    {
        if ( level.intermission )
            return;
    
        if ( !is_player_valid( self ) )
            return;
    
        player_points = 0;
        team_points = 0;
        multiplier = get_points_multiplier( self );
    
    	switch ( mod )
    	{
    		case "MOD_MELEE":
    			self.score += 10 * int(self.pers["level"]);
    			break;
            case "MOD_GRENADE":
                self.score += 10 * int(self.pers["level"]);
    			break;
    	}
    
        switch ( event )
        {
            case "death":
                player_points = get_zombie_death_player_points();
                team_points = get_zombie_death_team_points();
                points = self player_add_points_kill_bonus( mod, hit_location );
    
    			self.score += 10 * int(self.pers["level"]);
    
                if ( level.zombie_vars[self.team]["zombie_powerup_insta_kill_on"] == 1 && mod == "MOD_UNKNOWN" )
                    points = points * 2;
    
                player_points = player_points + points;
    
                if ( team_points > 0 )
                    team_points = team_points + points;
    
                if ( mod == "MOD_GRENADE" || mod == "MOD_GRENADE_SPLASH" )
                {
                    self maps\mp\zombies\_zm_stats::increment_client_stat( "grenade_kills" );
                    self maps\mp\zombies\_zm_stats::increment_player_stat( "grenade_kills" );
                }
    
                break;
            case "ballistic_knife_death":
                player_points = get_zombie_death_player_points() + level.zombie_vars["zombie_score_bonus_melee"];
                self score_cf_increment_info( "death_melee" );
    			self.score += 10 * int(self.pers["level"]);
                break;
            case "damage_light":
                player_points = level.zombie_vars["zombie_score_damage_light"];
                self score_cf_increment_info( "damage" );
    			self.score += 10 * int(self.pers["level"]);
                break;
            case "damage":
                player_points = level.zombie_vars["zombie_score_damage_normal"];
                self score_cf_increment_info( "damage" );
    			self.score += 10 * int(self.pers["level"]);
                break;
            case "damage_ads":
                player_points = int( level.zombie_vars["zombie_score_damage_normal"] * 1.25 );
                self score_cf_increment_info( "damage" );
    			self.score += 10 * int(self.pers["level"]);
                break;
            case "carpenter_powerup":
            case "rebuild_board":
                player_points = mod;
    			self.score += 1 * int(self.pers["level"]);
                break;
            case "bonus_points_powerup":
                player_points = mod;
    			self.score += 1 * int(self.pers["level"]);
                break;
            case "nuke_powerup":
                player_points = mod;
                team_points = mod;
    			self.score += 1 * int(self.pers["level"]);
                break;
            case "jetgun_fling":
            case "riotshield_fling":
            case "thundergun_fling":
                player_points = mod;
                break;
            case "hacker_transfer":
                player_points = mod;
                break;
            case "reviver":
                player_points = mod;
    			self.score += 10 * int(self.pers["level"]);
                break;
            case "vulture":
                player_points = mod;
                break;
            case "build_wallbuy":
                player_points = mod;
                break;
            default:
                assert( 0, "Unknown point event" );
                break;
        }
    
        player_points = multiplier * round_up_score( player_points, 5 );
        team_points = multiplier * round_up_score( team_points, 5 );
    
        if ( is_true( level.pers_upgrade_pistol_points ) )
            player_points = self maps\mp\zombies\_zm_pers_upgrades_functions::pers_upgrade_pistol_points_set_score( player_points, event, mod, damage_weapon );
    
        self add_to_player_score( player_points );
        self.pers["score"] = self.score;
    
        if ( isdefined( level._game_module_point_adjustment ) )
            level [[ level._game_module_point_adjustment ]]( self, zombie_team, player_points );
    }
    

    few people keep asking me, this is how I do it at least which works

    undefined 1 Reply Last reply Feb 9, 2025, 7:00 PM
    1
    • undefined Offline
      undefined Offline
      davidios23
      wrote on Feb 7, 2025, 6:17 AM last edited by
      #2

      What does this do?

      undefined 1 Reply Last reply Feb 7, 2025, 11:40 AM
      0
      • undefined Offline
        undefined Offline
        Dec Contributor
        replied to davidios23 on Feb 7, 2025, 11:40 AM last edited by Dec Feb 7, 2025, 1:42 PM
        #3

        davidios23

        for every hit on a zombie or window board placed and a couple other actions it will give the player 10 * level

        change "self.score += 10 * int(self.pers["level"]);" to "self.score += 50;" and it will give players + 50 on top of the normal 10 they get per hit and kill

        its what servers use to give multiplied points to players based on actions like hit, nuke, board placed, revived player, zombie death, grenade kill and melee kill pretty sure you can add more if you know the names of the action as well

        1 Reply Last reply
        0
        • undefined Offline
          undefined Offline
          Chiky-158
          replied to Dec on Feb 9, 2025, 7:00 PM last edited by Chiky-158 Feb 9, 2025, 9:02 PM
          #4

          Dec HELLO... YOU COULD GIVE ME A GUIDE AS TO AGREGATE THE SCORE MULTIPLER PLIS

          undefined undefined 3 Replies Last reply Feb 9, 2025, 7:28 PM
          1
          • undefined Offline
            undefined Offline
            asunaqq
            replied to Chiky-158 on Feb 9, 2025, 7:28 PM last edited by
            #5

            Chiky-158 idk change the multiplier from 10 to someting else? 🚮

            undefined 1 Reply Last reply Feb 10, 2025, 6:58 PM
            0
            • undefined Offline
              undefined Offline
              Dec Contributor
              replied to Chiky-158 on Feb 10, 2025, 6:52 PM last edited by
              #6

              Chiky-158 just got back from college gimmie some time to eat and what not ill write something to make it easier to implement!

              1 Reply Last reply
              0
              • undefined Offline
                undefined Offline
                Dec Contributor
                replied to asunaqq on Feb 10, 2025, 6:58 PM last edited by
                #7

                asunaqq Not a lot of people use the same system like most people use ranks for levels when they should be levels for example i use "int(self.pers["level"]);" but other people will use something like "player.rank" or "player.pers['rank']" or so on will just add a changeable dvar to make it easier

                1 Reply Last reply
                0
                • undefined Offline
                  undefined Offline
                  Dec Contributor
                  replied to Chiky-158 on Feb 10, 2025, 7:38 PM last edited by
                  #8

                  Chiky-158

                  #include maps\mp\zombies\_zm_score;
                  
                  main() {
                  	replaceFunc(maps\mp\zombies\_zm_score::player_add_points, ::new_player_add_points);
                  }
                  
                  init()
                  {
                      // Add 'set score_multiplier 10' to your config file
                      level.ClipstoneZombies["score_multiplier"] = GetDvar("api_password");
                  }
                  
                  new_player_add_points( event, mod, hit_location, is_dog, zombie_team, damage_weapon )
                  {
                      if ( level.intermission )
                          return;
                  
                      if ( !is_player_valid( self ) )
                          return;
                  
                      player_points = 0;
                      team_points = 0;
                      multiplier = get_points_multiplier( self );
                  
                  	switch ( mod )
                  	{
                  		case "MOD_MELEE":
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                  			break;
                          case "MOD_GRENADE":
                              self.score += 10 * int(self.pers["level"]);
                  			break;
                  	}
                  
                      switch ( event )
                      {
                          case "death":
                              player_points = get_zombie_death_player_points();
                              team_points = get_zombie_death_team_points();
                              points = self player_add_points_kill_bonus( mod, hit_location );
                  
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                  
                              if ( level.zombie_vars[self.team]["zombie_powerup_insta_kill_on"] == 1 && mod == "MOD_UNKNOWN" )
                                  points = points * 2;
                  
                              player_points = player_points + points;
                  
                              if ( team_points > 0 )
                                  team_points = team_points + points;
                  
                              if ( mod == "MOD_GRENADE" || mod == "MOD_GRENADE_SPLASH" )
                              {
                                  self maps\mp\zombies\_zm_stats::increment_client_stat( "grenade_kills" );
                                  self maps\mp\zombies\_zm_stats::increment_player_stat( "grenade_kills" );
                              }
                  
                              break;
                          case "ballistic_knife_death":
                              player_points = get_zombie_death_player_points() + level.zombie_vars["zombie_score_bonus_melee"];
                              self score_cf_increment_info( "death_melee" );
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "damage_light":
                              player_points = level.zombie_vars["zombie_score_damage_light"];
                              self score_cf_increment_info( "damage" );
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "damage":
                              player_points = level.zombie_vars["zombie_score_damage_normal"];
                              self score_cf_increment_info( "damage" );
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "damage_ads":
                              player_points = int( level.zombie_vars["zombie_score_damage_normal"] * 1.25 );
                              self score_cf_increment_info( "damage" );
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "carpenter_powerup":
                          case "rebuild_board":
                              player_points = mod;
                  			self.score += 1 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "bonus_points_powerup":
                              player_points = mod;
                  			self.score += 1 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "nuke_powerup":
                              player_points = mod;
                              team_points = mod;
                  			self.score += 1 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "jetgun_fling":
                          case "riotshield_fling":
                          case "thundergun_fling":
                              player_points = mod;
                              break;
                          case "hacker_transfer":
                              player_points = mod;
                              break;
                          case "reviver":
                              player_points = mod;
                  			self.score += 10 * int(level.ClipstoneZombies["score_multiplier"]);
                              break;
                          case "vulture":
                              player_points = mod;
                              break;
                          case "build_wallbuy":
                              player_points = mod;
                              break;
                          default:
                              assert( 0, "Unknown point event" );
                              break;
                      }
                  
                      player_points = multiplier * round_up_score( player_points, 5 );
                      team_points = multiplier * round_up_score( team_points, 5 );
                  
                      if ( is_true( level.pers_upgrade_pistol_points ) )
                          player_points = self maps\mp\zombies\_zm_pers_upgrades_functions::pers_upgrade_pistol_points_set_score( player_points, event, mod, damage_weapon );
                  
                      self add_to_player_score( player_points );
                      self.pers["score"] = self.score;
                  
                      if ( isdefined( level._game_module_point_adjustment ) )
                          level [[ level._game_module_point_adjustment ]]( self, zombie_team, player_points );
                  }
                  

                  Assuming this should work but i have not tested it!

                  undefined 1 Reply Last reply Feb 11, 2025, 11:54 AM
                  0
                  • undefined Offline
                    undefined Offline
                    asunaqq
                    replied to Dec on Feb 11, 2025, 11:54 AM last edited by
                    #9

                    Dec good boy

                    undefined 1 Reply Last reply Feb 11, 2025, 1:30 PM
                    1
                    • undefined Offline
                      undefined Offline
                      Dec Contributor
                      replied to asunaqq on Feb 11, 2025, 1:30 PM last edited by
                      #10

                      asunaqq

                      same

                      1 Reply Last reply
                      1
                      • undefined Dec referenced this topic on Feb 17, 2025, 12:33 PM
                      • undefined Dec referenced this topic on Feb 20, 2025, 1:56 PM

                      1/10

                      Feb 1, 2025, 2:33 AM

                      • Login

                      • Don't have an account? Register

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