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

Plutonium

unknowghost

unknowghost

@unknowghost
Contributor
Unfollow Follow
About
Posts
78
Topics
3
Shares
0
Groups
1
Followers
19
Following
112

Posts

Recent Best Controversial

  • error "unable to load import _binkwaitstopasyncthread@4 from module binkw32.dll"
    unknowghost unknowghost

    DirkRockface really?

    Launcher Support

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    AndreTOQU3
    yes but there already 1 made i don't see the point of making 1

    BO2 Modding Support & Discussion

  • help me plssss :(
    unknowghost unknowghost

    https://forum.plutonium.pw/topic/9/faq-common-issues-plutonium-t6
    stfu.duckboy

    Launcher Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    oh nvm i didn't know you already found the issue

    BO2 Client Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    It's2012 i found the issue you have might need to do a driver update for gpu or you have something open using your gpu 3D memory already and it using all of it

    BO2 Client Support

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    Blxck.Out did you add me on discord???

    BO2 Modding Support & Discussion

  • Admin abuse in L A T I N O S #1
    unknowghost unknowghost

    oof that was rude what server was it?????

    General Discussion

  • any one know how to fix this issue ?
    unknowghost unknowghost

    Open Windows Security → Protection history and check what file got blocked.
    Open Windows Security → App & browser control → Smart App Control. If it is On, turn it Off. Plutonium support specifically points to Smart App Control for this exact error.
    If they use Defender or another antivirus, whitelist/exclude the Plutonium folder, because Plutonium also notes AV can block updater files.
    If this is a work/school/shared PC, it may be blocked by an organization policy like AppLocker/App Control, so they may need admin access or a different PC. Microsoft’s docs say those policies can restrict what apps are allowed to run.
    After that, retry the updater.

    Launcher Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    You still don’t have the useful Event Viewer log yet. The screenshot only shows SecurityCenter info, not the crash.

    Please go to Event Viewer > Windows Logs > Application and post the red Error from the crash time, especially the faulting module name.

    Also fully exit the NVIDIA app itself for a test, not just its overlay, because Plutonium has had overlay-related crash issues before.

    If possible, upload the .dmp somewhere and send the link, because the .txt alone is still too generic to pin down.

    BO2 Client Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    Um add me on Discord unknowghost

    BO2 Client Support

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    also here something that might help so here
    Use it like this:

    call init_last_powerup_station(); on map init
    when a power-up is successfully picked up, call last_powerup_station_set(powerup_name);

    The logic is complete. The only names you may need to swap are the stock BO2 score/power-up function names, since those can differ by base.

    // ======================================================
    // LAST PICKED POWER-UP BUY STATION (BO2 / GSC)
    // ======================================================

    init_last_powerup_station()
    {
    level.last_powerup_station_powerup = "double_points"; // default on game start

    station_origin = (0, 0, 0);     // CHANGE THIS
    station_angles = (0, 0, 0);     // CHANGE THIS
    
    // Optional model
    level.last_powerup_station_model = spawn("script_model", station_origin);
    level.last_powerup_station_model.angles = station_angles;
    level.last_powerup_station_model setModel("tag_origin"); // replace with your model if wanted
    
    // Use trigger
    level.last_powerup_station_trigger = spawn("trigger_use", station_origin, 0, 64, 72);
    level.last_powerup_station_trigger.angles = station_angles;
    level.last_powerup_station_trigger setCursorHint("HINT_NOICON");
    level.last_powerup_station_trigger thread last_powerup_station_think();
    
    update_last_powerup_station();
    

    }

    // Call this from your power-up pickup code after the pickup succeeds
    last_powerup_station_set(powerup_name)
    {
    if (!isDefined(powerup_name) || powerup_name == "")
    return;

    level.last_powerup_station_powerup = powerup_name;
    update_last_powerup_station();
    

    }

    update_last_powerup_station()
    {
    if (!isDefined(level.last_powerup_station_trigger))
    return;

    powerup = level.last_powerup_station_powerup;
    
    hint = "Press &&1 to buy " + get_powerup_display_name(powerup);
    level.last_powerup_station_trigger setHintString(hint);
    
    // Optional:
    // If you have custom icon models/shaders, update them here
    // based on "powerup".
    

    }

    last_powerup_station_think()
    {
    self endon("death");

    for (;;)
    {
        self waittill("trigger", player);
    
        if (!isDefined(player))
            continue;
    
        powerup = level.last_powerup_station_powerup;
    
        if (!can_buy_station_powerup(player, powerup))
            continue;
    
        cost = get_powerup_cost(powerup);
        take_station_points(player, cost);
        activate_station_powerup(powerup, player);
    
        player iprintlnbold("Bought " + get_powerup_display_name(powerup));
    }
    

    }

    can_buy_station_powerup(player, powerup)
    {
    if (!isDefined(powerup) || powerup == "")
    {
    player iprintlnbold("No power-up stored.");
    return false;
    }

    cost = get_powerup_cost(powerup);
    
    if (player.score < cost)
    {
        player iprintlnbold("Need " + cost + " points.");
        return false;
    }
    
    return true;
    

    }

    take_station_points(player, cost)
    {
    // Replace with your map's real BO2 score remove function if needed
    player.score -= cost;
    }

    get_powerup_cost(powerup)
    {
    switch (powerup)
    {
    case "instakill":
    return 2000;

        case "double_points":
            return 2000;
    
        case "max_ammo":
            return 2500;
    
        case "carpenter":
            return 1500;
    
        case "nuke":
            return 3000;
    
        case "fire_sale":
            return 2000;
    }
    
    return 2000;
    

    }

    get_powerup_display_name(powerup)
    {
    switch (powerup)
    {
    case "instakill":
    return "Insta-Kill";

        case "double_points":
            return "Double Points";
    
        case "max_ammo":
            return "Max Ammo";
    
        case "carpenter":
            return "Carpenter";
    
        case "nuke":
            return "Nuke";
    
        case "fire_sale":
            return "Fire Sale";
    }
    
    return powerup;
    

    }

    activate_station_powerup(powerup, player)
    {
    // Keep this as a dispatcher.
    // Replace each case with your BO2 stock power-up call.

    switch (powerup)
    {
        case "instakill":
            station_do_instakill(player);
            break;
    
        case "double_points":
            station_do_double_points(player);
            break;
    
        case "max_ammo":
            station_do_max_ammo(player);
            break;
    
        case "carpenter":
            station_do_carpenter(player);
            break;
    
        case "nuke":
            station_do_nuke(player);
            break;
    
        case "fire_sale":
            station_do_fire_sale(player);
            break;
    }
    

    }

    // ======================================================
    // WRAPPERS - replace internals with your BO2 stock calls
    // ======================================================

    station_do_instakill(player)
    {
    // replace with BO2 stock Insta-Kill activation
    level notify("station_instakill");
    }

    station_do_double_points(player)
    {
    // replace with BO2 stock Double Points activation
    level notify("station_double_points");
    }

    station_do_max_ammo(player)
    {
    // replace with BO2 stock Max Ammo activation
    level notify("station_max_ammo");
    }

    station_do_carpenter(player)
    {
    // replace with BO2 stock Carpenter activation
    level notify("station_carpenter");
    }

    station_do_nuke(player)
    {
    // replace with BO2 stock Nuke activation
    level notify("station_nuke");
    }

    station_do_fire_sale(player)
    {
    // replace with BO2 stock Fire Sale activation
    level notify("station_fire_sale");
    }

    And this is the hook you add where a power-up gets collected:

    last_powerup_station_set(powerup_name);

    Example:

    // after player picks up Insta-Kill successfully
    last_powerup_station_set("instakill");

    So the whole system is:

    default power-up on start
    updates whenever a drop is picked up
    station always sells the latest stored drop
    cost is per power-up
    trigger can be placed anywhere

    The only part you still need to wire into your exact BO2 base is the inside of:

    station_do_instakill()
    station_do_double_points()
    station_do_max_ammo()
    station_do_carpenter()
    station_do_nuke()
    station_do_fire_sale()

    because those exact stock BO2 function names vary.

    BO2 Modding Support & Discussion

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    are you trying to do this for all the maps or just 1???

    BO2 Modding Support & Discussion

  • Paralazyer not coming out the box
    unknowghost unknowghost

    might be a mod or script you have that stopping yall

    General Discussion

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    im not sure if this what you want

    BO2 Modding Support & Discussion

  • Creating a Buyable Last Acquired Perk System (Nuketown-Style)
    unknowghost unknowghost

    Basic idea

    When a player buys a perk anywhere on the map:

    store that perk name on the player
    example: player.last_bought_perk = "juggernog";

    Then your custom buyable spot does this:

    player uses trigger
    script checks player.last_bought_perk
    if it exists, and they don’t already have it, and they have enough points:
    charge points
    give that perk

    So the “machine” is really just:

    a trigger
    a model / fx / hint string
    logic that reads a stored perk name
    Best structure

    1. Track the last perk the player bought

    Somewhere in your perk purchase success flow, add something like:

    player.last_bought_perk = perk_name;

    Important: do this after the purchase succeeds, not before.

    1. Spawn a custom trigger anywhere

    Use a trigger_use at any origin you want.

    Something like:

    spawn_custom_perk_trigger(origin, angles)
    {
    trig = spawn("trigger_use", origin, 0, 50, 70);
    trig setCursorHint("HINT_NOICON");
    trig setHintString("Press &&1 to buy your last perk");
    trig.angles = angles;

    trig thread custom_perk_trigger_think();
    return trig;
    

    }

    Then in the think loop:

    custom_perk_trigger_think()
    {
    self endon("death");

    for(;;)
    {
        self waittill("trigger", player);
    
        if (!isPlayer(player))
            continue;
    
        perk = player.last_bought_perk;
    
        if (!isDefined(perk))
        {
            player iprintlnbold("No stored perk yet.");
            continue;
        }
    
        if (player_has_perk(player, perk))
        {
            player iprintlnbold("You already have " + perk);
            continue;
        }
    
        cost = get_perk_cost(perk);
    
        if (player.score < cost)
        {
            player iprintlnbold("Not enough points.");
            continue;
        }
    
        player.score -= cost;
        give_player_perk(player, perk);
        player iprintlnbold("Bought " + perk);
    }
    

    }
    3. Reuse existing perk code

    This part matters most.

    Do not manually fake every perk if the game already has perk-grant code.
    Try to reuse BO2’s normal perk functions, because those usually handle:

    icons
    perk flags
    HUD updates
    limit checks
    revive/downed logic
    special-case behavior

    So your custom code should mostly decide:

    what perk
    where the buyable is
    when to call the real give-perk function
    4. Store locations in an array

    If you want place-anywhere support, define locations like:

    level.custom_perk_spots = [];
    level.custom_perk_spots[0] = (100, 200, 20);
    level.custom_perk_spots[1] = (300, 150, 20);
    level.custom_perk_spots[2] = (-500, 80, 10);

    Then loop them on init:

    init_custom_perk_spots()
    {
    for (i = 0; i < level.custom_perk_spots.size; i++)
    {
    spawn_custom_perk_trigger(level.custom_perk_spots[i], (0,0,0));
    }
    }

    An even nicer way is to place script_origin / script_model entities in Radiant and scan for them by targetname.

    1. Use per-player storage, not global

    This should almost definitely be:

    player.last_bought_perk

    and not:

    level.last_bought_perk

    because each player should have their own last perk.

    Things to watch out for
    Perk limit

    If BO2 still has a perk cap in your setup, your custom trigger should respect it unless you want otherwise.

    Duplicate perks

    Do not let the player buy a perk they already own.

    Lost perks / downing

    Decide what should happen after down/revive:

    keep stored last perk?
    clear it?
    update it only on successful purchase?

    Usually keeping the stored value is fine.

    Cost

    Decide whether:

    cost should match the actual perk
    or this custom buyable always costs one fixed amount

    Matching the actual perk is usually better.

    Mule Kick / special perks

    Some perks can be messy because they touch weapons/inventory behavior. Reusing stock perk code helps a lot here.

    Simplest mental model

    Think of it like this:

    normal perk machine = decides a fixed perk, then gives it
    your custom trigger = decides perk from player.last_bought_perk, then gives it

    So the only new part is the selection logic.

    Very small example flow
    on_perk_bought(player, perk)
    {
    player.last_bought_perk = perk;
    }

    custom_buy_use(player)
    {
    perk = player.last_bought_perk;

    if (!isDefined(perk))
        return;
    
    if (player_has_perk(player, perk))
        return;
    
    if (!player_can_buy_perk(player, perk))
        return;
    
    take_points(player, get_perk_cost(perk));
    give_player_perk(player, perk);
    

    }
    My honest guess

    This is very doable.
    The hardest part is usually finding the right stock BO2 perk functions to call, not the trigger itself.

    BO2 Modding Support & Discussion

  • Can you play zombies custom maps? help pls
    unknowghost unknowghost

    for bo2 no for waw yes
    all there there are way to do custom stuff for bo2 like changing the way it look and behaves there is no mod tool to make maps that just me

    General Discussion

  • reporting a bug that crashes the game in black ops 2
    unknowghost unknowghost

    Your crash log only shows a generic 0xC0000005 access violation, not a specific map/script error. Since it happens in vanilla, in every mode, I’d stop focusing on BO2 files and test local conflicts instead.

    Try this in order:

    fully uninstall Norton/third-party AV for a test
    add exclusions for BO2 and %localappdata%\Plutonium
    disable/close all overlays and hook tools (Discord, Steam, GeForce, RTSS, ReShade, Overwolf, capture software)
    check Event Viewer after the crash for the faulting module name
    reinstall the Plutonium launcher clean

    If it still crashes after that, the next useful thing is the .dmp file or an Event Viewer faulting module, because the txt alone isn’t enough to pin it down.

    BO2 Client Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    Your crash log only shows a generic 0xC0000005 access violation, not a specific map/script error. Since it happens in vanilla, in every mode, I’d stop focusing on BO2 files and test local conflicts instead.

    Try this in order:

    fully uninstall Norton/third-party AV for a test
    add exclusions for BO2 and %localappdata%\Plutonium
    disable/close all overlays and hook tools (Discord, Steam, GeForce, RTSS, ReShade, Overwolf, capture software)
    check Event Viewer after the crash for the faulting module name
    reinstall the Plutonium launcher clean

    If it still crashes after that, the next useful thing is the .dmp file or an Event Viewer faulting module, because the txt alone isn’t enough to pin it down.

    BO2 Client Support

  • T6 random crash after playing for a while (Exception Code 0xC0000005)
    unknowghost unknowghost

    if still need help i might be able to

    BO2 Client Support

  • minimap mod
    unknowghost unknowghost

    this is some what of what it look like but not that great

    BO2 Modding Releases & Resources
  • 1
  • 2
  • 3
  • 4
  • 2 / 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