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

Plutonium

  1. Home
  2. BO2 Modding Releases & Resources
  3. 🔥BO2 Zombies Plutonium – Custom Weapon Drop System 🔥

🔥BO2 Zombies Plutonium – Custom Weapon Drop System 🔥

Scheduled Pinned Locked Moved BO2 Modding Releases & Resources
5 Posts 5 Posters 2.9k Views 1 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.
  • Eizekielsundefined Offline
    Eizekielsundefined Offline
    Eizekiels
    wrote on last edited by
    #1

    Ever wished you could drop weapons in Black Ops 2 Zombies like in multiplayer? Now you can! 🎮🔫 This script introduces a custom weapon dropping system that lets players drop their current weapon onto the ground, making gameplay more dynamic and strategic. Whether you're sharing weapons with teammates or simply discarding an unwanted gun, this script gives you full control!

    🚀 How to Use the Code?
    This script monitors a custom DVAR ("drop") and executes the drop when a valid request is detected.
    [```
    #include common_scripts\utility;
    #include maps\mp_utility;
    #include maps\mp\gametypes_zm_weapon_utils;
    #include maps\mp\gametypes_zm_weaponobjects;
    #include maps\mp_sticky_grenade;
    #include maps\mp_bb;
    #include maps\mp\gametypes_zm_weapons;
    #include maps\mp_challenges;
    #include maps\mp\zombies_zm_pers_upgrades_functions;
    #include maps\mp\gametypes_zm_globallogic_utils;
    #include maps\mp\gametypes_zm_shellshock;
    #include maps\mp\gametypes_zm_gameobjects;

    main()
    {
    setDvar("drop", "0");
    replaceFunc(maps\mp\gametypes_zm_weapons::dropweapontoground, ::dropweapon);
    }

    init()
    {
    level thread dropPlayerWeapon();
    }

    dropPlayerWeapon()
    {
    level endon("game_ended");
    for(;;)
    {
    if (getDvar("drop") != "0")
    {
    drop = strTok(getDvar("drop"), ";");
    setDvar("drop", "0");
    getPlayerByGuid(drop[0]) dropweapon(getPlayerByGuid(drop[0]) GetCurrentWeapon());
    iPrintLn("^5" + getPlayerByGuid(drop[0]).name + "^7 dropped a ^5weapon^7 on the ground!");
    }
    wait 0.1;
    }
    }
    getPlayerByGuid(guid) {
    for (i = 0; i < level.players.size; i++) {
    if (isAlive(level.players[i]) && int(level.players[i] getGuid()) == int(guid)) {
    return level.players[i];
    }
    }
    return false;
    }

    dropweapon(weapon)
    {
    if ( !isdefined( weapon ) )
    {
    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "didn't drop weapon: not defined" );
    #/
    return;
    }

    if ( weapon == "none" )
    {
    

    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "didn't drop weapon: weapon == none" );
    #/
    return;
    }

    if ( !self hasweapon( weapon ) )
    {
    

    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "didn't drop weapon: don't have it anymore (" + weapon + ")" );
    #/
    return;
    }

    if ( !self anyammoforweaponmodes( weapon ) )
    {
    

    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "didn't drop weapon: no ammo for weapon modes" );
    #/
    switch ( weapon )
    {
    case "mp40_blinged_mp":
    case "minigun_mp":
    case "m32_mp":
    case "m220_tow_mp":
    case "m202_flash_mp":
    self takeweapon( weapon );
    break;
    default:
    break;
    }

        return;
    }
    
    
    clipammo = self getweaponammoclip( weapon );
    stockammo = self getweaponammostock( weapon );
    clip_and_stock_ammo = clipammo + stockammo;
    
    if ( !clip_and_stock_ammo )
    {
    

    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "didn't drop weapon: no ammo" );
    #/
    return;
    }

    stockmax = weaponmaxammo( weapon );
    
    if ( stockammo > stockmax )
        stockammo = stockmax;
    
    item = self dropitem( weapon );
    

    /#
    if ( getdvar( _hash_8F7FC88 ) == "1" )
    println( "dropped weapon: " + weapon );
    #/
    droplimitedweapon( weapon, self, item );
    item itemweaponsetammo( clipammo, stockammo );
    item.owner = self;
    item thread watchpickup();
    item thread deletepickupafterawhile();

    }

    
    📌 Steps to Use:
    Add this script to your GSC scripts folder in your server.
    In the game, use the command:
    sql
    Copy code
    .drop
    This will make the player drop their currently equipped weapon on the ground!
    🏆 Features
    ✅ Full control over weapon dropping 🎮
    ✅ Easily enable or disable the feature via DVAR 🔄
    ✅ Ensures the player has ammo before dropping 🔫
    ✅ Prevents dropping certain weapons (e.g., Minigun) 🚫
    ✅ Sends a message when a weapon is dropped for clarity 📝
    brandon073005undefined 1 Reply Last reply
    1
    • DirkRockfaceundefined Offline
      DirkRockfaceundefined Offline
      DirkRockface
      Contributor
      wrote on last edited by DirkRockface
      #2

      🍿

      👍

      1 Reply Last reply
      0
      • GhostRider0125undefined Offline
        GhostRider0125undefined Offline
        GhostRider0125
        Banned
        wrote on last edited by
        #3

        yo thanks for the script dude its awesome 😆👌

        1 Reply Last reply
        0
        • soytr3c3undefined Offline
          soytr3c3undefined Offline
          soytr3c3
          wrote last edited by
          #4

          Eizekiels Hi, sorry, I don't know much, but I'm trying to copy and paste the code into a file and I haven't been able to get it to work. Could you upload the file with the code? I would really appreciate it.

          1 Reply Last reply
          0
          • Eizekielsundefined Eizekiels

            Ever wished you could drop weapons in Black Ops 2 Zombies like in multiplayer? Now you can! 🎮🔫 This script introduces a custom weapon dropping system that lets players drop their current weapon onto the ground, making gameplay more dynamic and strategic. Whether you're sharing weapons with teammates or simply discarding an unwanted gun, this script gives you full control!

            🚀 How to Use the Code?
            This script monitors a custom DVAR ("drop") and executes the drop when a valid request is detected.
            [```
            #include common_scripts\utility;
            #include maps\mp_utility;
            #include maps\mp\gametypes_zm_weapon_utils;
            #include maps\mp\gametypes_zm_weaponobjects;
            #include maps\mp_sticky_grenade;
            #include maps\mp_bb;
            #include maps\mp\gametypes_zm_weapons;
            #include maps\mp_challenges;
            #include maps\mp\zombies_zm_pers_upgrades_functions;
            #include maps\mp\gametypes_zm_globallogic_utils;
            #include maps\mp\gametypes_zm_shellshock;
            #include maps\mp\gametypes_zm_gameobjects;

            main()
            {
            setDvar("drop", "0");
            replaceFunc(maps\mp\gametypes_zm_weapons::dropweapontoground, ::dropweapon);
            }

            init()
            {
            level thread dropPlayerWeapon();
            }

            dropPlayerWeapon()
            {
            level endon("game_ended");
            for(;;)
            {
            if (getDvar("drop") != "0")
            {
            drop = strTok(getDvar("drop"), ";");
            setDvar("drop", "0");
            getPlayerByGuid(drop[0]) dropweapon(getPlayerByGuid(drop[0]) GetCurrentWeapon());
            iPrintLn("^5" + getPlayerByGuid(drop[0]).name + "^7 dropped a ^5weapon^7 on the ground!");
            }
            wait 0.1;
            }
            }
            getPlayerByGuid(guid) {
            for (i = 0; i < level.players.size; i++) {
            if (isAlive(level.players[i]) && int(level.players[i] getGuid()) == int(guid)) {
            return level.players[i];
            }
            }
            return false;
            }

            dropweapon(weapon)
            {
            if ( !isdefined( weapon ) )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "didn't drop weapon: not defined" );
            #/
            return;
            }

            if ( weapon == "none" )
            {
            

            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "didn't drop weapon: weapon == none" );
            #/
            return;
            }

            if ( !self hasweapon( weapon ) )
            {
            

            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "didn't drop weapon: don't have it anymore (" + weapon + ")" );
            #/
            return;
            }

            if ( !self anyammoforweaponmodes( weapon ) )
            {
            

            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "didn't drop weapon: no ammo for weapon modes" );
            #/
            switch ( weapon )
            {
            case "mp40_blinged_mp":
            case "minigun_mp":
            case "m32_mp":
            case "m220_tow_mp":
            case "m202_flash_mp":
            self takeweapon( weapon );
            break;
            default:
            break;
            }

                return;
            }
            
            
            clipammo = self getweaponammoclip( weapon );
            stockammo = self getweaponammostock( weapon );
            clip_and_stock_ammo = clipammo + stockammo;
            
            if ( !clip_and_stock_ammo )
            {
            

            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "didn't drop weapon: no ammo" );
            #/
            return;
            }

            stockmax = weaponmaxammo( weapon );
            
            if ( stockammo > stockmax )
                stockammo = stockmax;
            
            item = self dropitem( weapon );
            

            /#
            if ( getdvar( _hash_8F7FC88 ) == "1" )
            println( "dropped weapon: " + weapon );
            #/
            droplimitedweapon( weapon, self, item );
            item itemweaponsetammo( clipammo, stockammo );
            item.owner = self;
            item thread watchpickup();
            item thread deletepickupafterawhile();

            }

            
            📌 Steps to Use:
            Add this script to your GSC scripts folder in your server.
            In the game, use the command:
            sql
            Copy code
            .drop
            This will make the player drop their currently equipped weapon on the ground!
            🏆 Features
            ✅ Full control over weapon dropping 🎮
            ✅ Easily enable or disable the feature via DVAR 🔄
            ✅ Ensures the player has ammo before dropping 🔫
            ✅ Prevents dropping certain weapons (e.g., Minigun) 🚫
            ✅ Sends a message when a weapon is dropped for clarity 📝
            brandon073005undefined Offline
            brandon073005undefined Offline
            brandon073005
            wrote last edited by
            #5

            Eizekiels said in 🔥BO2 Zombies Plutonium – Custom Weapon Drop System 🔥:

            ['''
            #include common_scripts\utilité ;
            #include cartes\mp_utility ;
            #include cartes\mp\gametypes_zm_weapon_utils ;
            #include cartes\mp\gametypes_zm_weaponobjects ;
            #include cartes\mp_sticky_grenade ;
            #include cartes\mp_bb ;
            #include cartes\mp\gametypes_zm_weapons ;
            #include cartes\mp_challenges ;
            #include cartes\mp\zombies_zm_pers_upgrades_functions ;
            cartes\mp\gametypes_zm_globallogic_utils ;
            #include cartes\mp\gametypes_zm_shellshock ;
            #include cartes\mp gametypes_zm_gameobjects\ ;

            main()
            {
            setDvar(« drop », « 0 ») ;
            replaceFunc(maps\mp\gametypes_zm_weapons ::d ropweapontoground, ::d ropweapon) ;
            }

            init()
            {
            level thread dropPlayerWeapon() ;
            }

            dropPlayerWeapon()
            {
            level endon(« game_ended ») ;
            for( ;;)
            {
            if (getDvar(« drop ») != « 0 »)
            {
            drop = strTok(getDvar(« drop »), « ; ») ;
            setDvar (« drop », « 0 ») ;
            getPlayerByGuid(drop[0]) dropweapon(getPlayerByGuid(drop[0]) GetCurrentWeapon()) ;
            iPrintLn(« ^5 » + getPlayerByGuid(drop[0]).name + « ^7 a déposé une ^5weapon^7 au sol ! ») ;
            }
            attends 0.1 ;
            }
            } getPlayerByGuid
            (guid) {
            for (i = 0 ; i < level.players.size ; i++) {
            if (isAlive(level.players[i]) && int(level.players[i] getGuid()) == int(guid)) {
            return level.players[i] ;
            }
            }
            retourner faux ;
            }

            dropweapon(weapon)
            {
            if ( !isdefined( weapon ) )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « didn’t drop weapon : not defined » ) ;
            #/
            return ;
            }

            if ( weapon == "none" )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « didn’t drop weapon : weapon == none ») ;
            #/
            retour ;
            }

            if ( !self hasweapon( weapon ) )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « didn’t drop weapon : don’t have it anymore ( » + weapon + « ) » ) ;
            #/
            retour ;
            }

            if ( !self anyammoforweaponmodes( weapon ) )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « n’a pas lâché arme : pas de munitions pour les modes armes ») ) ;
            #/
            switch ( arme )
            {
            cas « mp40_blinged_mp » :
            cas « minigun_mp » :
            cas « m32_mp » :
            cas « m220_tow_mp » :
            cas « m202_flash_mp » :
            self-takeweapon( arme ) ;
            break ;
            default :
            break ;
            }

            return;
            

            }

            clipammo = self getweaponammoclip( weapon );
            stockammo = self getweaponammostock( weapon );
            clip_and_stock_ammo = clipammo + stockammo;

            if ( !clip_and_stock_ammo )
            {
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « n’a pas lâché arme : pas de munitions » ) ;
            #/
            retour ;
            }

            stockmax = weaponmaxammo( weapon );

            if ( stockammo > stockmax )
            stockammo = stockmax;

            item = self dropitem( weapon );
            /#
            if ( getdvar( _hash_8F7FC88 ) == « 1 » )
            println( « arme tombée : » + arme ) ;
            #/
            droplimitedweapon( arme, soi, objet ) ;
            objet objet armarmesarmementammo(clipammo, stockammo) ;
            item.propriétaire = self ; Fil
            d’objet montre, ramassage de la montre() ; fil
            d’objets supprimé ramasseaprès un moment() ;

            }

            📌 Steps to Use:
            Add this script to your GSC scripts folder in your server.
            In the game, use the command:
            sql
            Copy code
            .drop
            This will make the player drop their currently equipped weapon on the ground!
            🏆 Features
            ✅ Full control over weapon dropping 🎮
            ✅ Easily enable or disable the feature via DVAR 🔄
            ✅ Ensures the player has ammo before dropping 🔫
            ✅ Prevents dropping certain weapons (e.g., Minigun) 🚫
            ✅ Sends a message when a weapon is dropped for clarity 📝

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


            • Login

            • Don't have an account? Register

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