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

Plutonium

RlKk01

RlKk01

@RlKk01
Unfollow Follow
About
Posts
64
Topics
1
Shares
0
Groups
0
Followers
4
Following
0

Posts

Recent Best Controversial

  • [T6] ZM Bots
    RlKk01 RlKk01

    Jack Dempsey Glad to hear that. If you don't mind, I've updated the code with a few minor fixes, so feel free to download the mod again if you'd like.

    BO2 Modding Releases & Resources

  • [T6] ZM Bots
    RlKk01 RlKk01

    Jack Dempsey I played with 7 bots including me at setting the lobby on a custom game to 8 players and it works pretty well, but i wouldn't recommend it to you because it's pretty unstable sometimes, maybe the game engine being the reason for that problem, i don't know. I would recommend to set like 4 or 5 maximum for stability.

    BO2 Modding Releases & Resources

  • [T6] ZM Bots
    RlKk01 RlKk01

    I want to give credit to GerardS0406 for being the first to create this mod and for establishing its foundations; to BySc for continuing Gerard’s work and adding some useful functions that I took, tested, and modified myself; and finally to techboy04gaming, whose wander function I borrowed and implemented into the mod.

    To add bots in-game, simply open the console and type "set zm_bots *", where the asterisk represents the number of bots you want. If you want more, for example, 5 bots, you will need to increase your party size in the lobby from 4 to your desired number.

    Also, if you want to play with this mod along with another one, e.g., a mod that adds custom weapons, you just need to drag the file zmbots.iwd inside the "zm_bots" folder and drag it to the other mod folder.

    If anyone wants to improve this mod, feel free to try, it’s completely open source.

    The link:
    https://github.com/RlKk01/ZM-Bots-for-COD-BO2-Zombies-Plutonium

    To install this mod, press «Win + R» and paste the following path: «%localappdata%\Plutonium\storage\t6\mods», then press Enter.

    After that, paste the folder "zm_bots" right there.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    vandal59 Sorry, but I haven't found a way to help you, I don't have too much experience in coding mods yet.

    BO2 Modding Releases & Resources

  • Changing bus speed in Tranzit
    RlKk01 RlKk01

    Ultimateman Would you mind making a lightweight script with that function?
    I can't understand how to make it work as you instructed.

    BO2 Modding Support & Discussion

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Yeah, i made a mistake, is this line "player thread on_player_spawned();"

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    @bocanegra59 In zm_bo2_bots_utility.gsc search this line "level thread init_zombie_healthbar();" and try to add "//" before the line of the script starts.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Zevon Try to update your plutonium, the version you have is outdated.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Gundawg21 No prob 🙂

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Gundawg21 It has to do more with this line in zm_bo2_bots
    // Deduct points
    self maps\mp\zombies_zm_score::minus_to_player_score(950);

    To solve the problem you need to replace the number 950 to 0.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    BySc The teleport function keeps killing the bots when teleport to you.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    BySc There is another thing, bots when they have pap weapons and they are close to a wallbuy they buy for example an m14 or an ak74. It bothers a bit when they are in high rounds and change their weapons for much worse ones.
    And that's It, the rest of the mod works perfectly.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Would it be possible to create a briefly moment of invulnerability for you and the bots when they teleport?
    Either they die or I get killed when it happens.

    BO2 Modding Releases & Resources

  • Adding Bots To BO1 Zombies
    RlKk01 RlKk01

    Did you checked BySc mod from bo2?
    Maybe checking his source code would help.

    BO1 Modding Support & Discussion

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    The script that i send to you is the old version of your mod, i did reactivated and it worked perfectly it's just that it lacks of the preferance of the weapons they gets, for example they get the raygun from the box and buy again to get the balistic knives.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Yeah i know, i tested your actual mod but the function of the box itself for some reason it's bugged for me, i try to buy the box but it won't let me buy it unless a bot open it first.
    And i have to spend more points like 3000 thousands points just for get a weapon😅.

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    Is there anyway to mix this script:

    bot_buy_box()
    {
    if(self maps\mp\zombies_zm_laststand::player_is_in_laststand())
    return;

    if(!isDefined(level.chests) || level.chests.size == 0)
        return;
        
    current_box = level.chests[level.chest_index];
    if(!isDefined(current_box))
        return;
    
    dist = Distance(current_box.origin, self.origin);
        
    // Only try to use box if we have enough points and aren't too far
    if(self.score >= 1900 && dist < 150)
    {
        // Check if box is available
        if(!is_true(current_box._box_open) && !is_true(current_box._box_opened_by_fire_sale) && !flag("moving_chest_now"))
        {
            if(FindPath(self.origin, current_box.origin, undefined, 0, 1))
            {
                // Move to box if not already there
                if(dist > 75)
                {
                    self AddGoal(current_box.origin, 50, 2, "boxBuy");
                    return;
                }
                
                // Use the box when close enough
                self maps\mp\zombies\_zm_score::minus_to_player_score(950);
                current_box notify("trigger", self);
                
                // Wait for weapon to appear and box to fully open
                wait 4;
                
                // Try to grab weapon multiple times to ensure it's picked up
                for(i = 0; i < 3; i++)
                {
                    if(is_true(current_box._box_open))
                    {
                        current_box notify("trigger", self);
                        self UseButtonPressed();
                        wait 0.5;
                        
                        // Check if weapon was actually taken
                        if(!is_true(current_box._box_open))
                            return;
                    }
                    wait 0.5;
                }
            }
        }
    }
    
    // Clean up any remaining box goal
    if(self hasgoal("boxBuy"))
        self cancelgoal("boxBuy");
    

    }

    With this one:

    // Improved weapon selection logic
    bot_should_take_weapon(boxWeapon, currentWeapon)
    {
    if(!isDefined(boxWeapon))
    return false;

    // Check if we already have this weapon
    if(self HasWeapon(boxWeapon))
        return false;
        
    // Always take wonder weapons
    if(IsSubStr(boxWeapon, "raygun") || 
       IsSubStr(boxWeapon, "thunder") || 
       IsSubStr(boxWeapon, "wave") || 
       IsSubStr(boxWeapon, "mark2") || 
       IsSubStr(boxWeapon, "tesla"))
    {
        return true;
    }
    
    // Define weapon tiers for better decision making
    tier1_weapons = array("raygun_", "thunder", "wave_gun", "mark2", "tesla");
    tier2_weapons = array("galil", "an94", "hamr", "rpd", "lsat", "dsr50");
    tier3_weapons = array("mp5k", "pdw57", "mtar", "mp40", "ak74u", "qcw05");
    tier4_weapons = array("m14", "870mcs", "r870", "olympia", "fnfal");
    
    // Track if current weapon is in specific tier
    currentIsTier1 = false;
    currentIsTier2 = false;
    currentIsTier3 = false;
    
    // Check current weapon tier
    foreach(weapon in tier1_weapons)
    {
        if(IsSubStr(currentWeapon, weapon))
        {
            currentIsTier1 = true;
            break;
        }
    }
    
    if(!currentIsTier1)
    {
        foreach(weapon in tier2_weapons)
        {
            if(IsSubStr(currentWeapon, weapon))
            {
                currentIsTier2 = true;
                break;
            }
        }
    }
    
    if(!currentIsTier1 && !currentIsTier2)
    {
        foreach(weapon in tier3_weapons)
        {
            if(IsSubStr(currentWeapon, weapon))
            {
                currentIsTier3 = true;
                break;
            }
        }
    }
    
    // Don't take bad weapons like snipers or launchers (with small chance for variety)
    if(IsSubStr(boxWeapon, "sniper") || 
       IsSubStr(boxWeapon, "launcher") || 
       IsSubStr(boxWeapon, "knife") || 
       (IsSubStr(boxWeapon, "ballistic") && !IsSubStr(boxWeapon, "ballistic_knife")))
    
    {
        return (randomfloat(1) < 0.15); // 15% chance
    }
    
    // Check box weapon tier
    boxIsTier2 = false;
    boxIsTier3 = false;
    boxIsTier4 = false;
    
    foreach(weapon in tier2_weapons)
    {
        if(IsSubStr(boxWeapon, weapon))
        {
            boxIsTier2 = true;
            break;
        }
    }
    
    if(!boxIsTier2)
    {
        foreach(weapon in tier3_weapons)
        {
            if(IsSubStr(boxWeapon, weapon))
            {
                boxIsTier3 = true;
                break;
            }
        }
    }
    
    if(!boxIsTier2 && !boxIsTier3)
    {
        foreach(weapon in tier4_weapons)
        {
            if(IsSubStr(boxWeapon, weapon))
            {
                boxIsTier4 = true;
                break;
            }
        }
    }
    
    // Decision logic based on tiers and round number
    if(currentIsTier1)
    {
        // Already have a wonder weapon, only take another if it's a different one
        // For example, allow taking thunder gun when already having raygun
        foreach(weapon in tier1_weapons)
        {
            if(IsSubStr(boxWeapon, weapon) && !IsSubStr(currentWeapon, weapon))
            {
                // 70% chance to take another wonder weapon
                return (randomfloat(1) < 0.7);
            }
        }
        return false; // Don't replace wonder weapon with non-wonder weapon
    }
    
    // Have tier 2 weapon already
    if(currentIsTier2)
    {
        if(boxIsTier2)
        {
            // 50% chance to swap between tier 2 weapons for variety
            return (randomfloat(1) < 0.5);
        }
        else if(boxIsTier3 || boxIsTier4)
        {
            // Almost never downgrade from tier 2
            return (randomfloat(1) < 0.1);
        }
        // For unclassified weapons, low chance
        return (randomfloat(1) < 0.2);
    }
    
    // Have tier 3 weapon already
    if(currentIsTier3)
    {
        if(boxIsTier2)
        {
            // Always upgrade to tier 2
            return true;
        }
        else if(boxIsTier3)
        {
            // 60% chance to swap between tier 3 for variety
            return (randomfloat(1) < 0.6);
        }
        else if(boxIsTier4)
        {
            // Don't downgrade
            return (randomfloat(1) < 0.15);
        }
    }
    
    // Round-based logic - in early rounds take most weapons
    if(level.round_number <= 5)
    {
        return true;
    }
    // Mid rounds - prefer at least tier 3
    else if(level.round_number <= 15)
    {
        if(boxIsTier2 || boxIsTier3)
            return true;
        else
            return (randomfloat(1) < 0.5); // 50% chance for other weapons
    }
    // Late rounds - generally only take tier 2
    else
    {
        if(boxIsTier2)
            return true;
        else if(boxIsTier3)
            return (randomfloat(1) < 0.7); // 70% chance for tier 3
        else
            return (randomfloat(1) < 0.3); // 30% chance for other weapons
    }
    
    // Default case - 50/50 chance
    return (randomfloat(1) < 0.5);
    

    }

    BO2 Modding Releases & Resources

  • [ZM] Updated bo2_zm_bots
    RlKk01 RlKk01

    BySc I noticed when I was playing, there are some debug messages constantly appearing on the left side of the screen, it constantly checks the distance from the mystery box, even when the ai is close to the box and they spend all their points buying weapons in it.

    BO2 Modding Releases & Resources
  • 1
  • 2
  • 3
  • 4
  • 3 / 4
  • Login

  • Don't have an account? Register

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