GSC Black Ops 3 GSC Managed Code List 2.0 (+ Infinity Loader Support)

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,998
Reaction score
2,918
Points
1,053
Hey guys,
in this thread I would like to share some advanced GSC scripts for Call of Duty: Black Ops 3. You can use these functions in Infinity Loader as well.

Scripts for Zombies

Mystery Box will never move

C++:
func_BoxesNeverMove() {
    self iPrintlnBold("Unlimited Chest Rolls ^2Successful");
    level.chest_min_move_usage = 999;
}

Make all Boxes to Mystery Box, remove all Mystery Boxes
C++:
//Put into your includes
#include scripts\zm\_zm_magicbox;

//Show all Mystery Boxes
func_ShowBoxess() {
        self iPrintlnBold("All Mystery Boxes ^2Spawned");
        foreach(box in level.chests)
            box thread zm_magicbox::show_chest();
}

//Hide all Mystery  Boxes
func_HideBoxess() {
    self iPrintlnBold("All Mystery Boxes ^2Hidden");
    foreach(box in level.chests)
        box thread zm_magicbox::hide_chest(0);
}

Set Mystery Box cost
C++:
func_boxcost(i){
    self iPrintlnBold("Box Opening price set to ^2" +i);
     foreach(box in level.chests)
        box.zombie_cost = i;
}

Keep All Perks On Death
C++:
func_keepperks() {
    if (!isDefined(self._retain_perks)) {
        self iPrintlnBold("Keep all Perks on death ^2ON");
        self._retain_perks = true;
    } else {
        self._retain_perks = undefined;
        self iPrintlnBold("Keep all Perks on death ^1OFF");
    }
}


Set Crypto Keys
C++:
//To use Crypto you have to make sure you are in an online match first. We can force that with the following script:

//Put into init():
thread func_ForceOnlineMatch();

//Put somewhere below:
func_ForceOnlineMatch(){
    level waittill("prematch_over");

    while(level.inPrematchPeriod)
        wait 0.5;
    wait 5;
    EnableOnlineMatch();
    level._online = true;
    level.players[0] iPrintLn("^2You are now in an online match!");
}

//If you are in an online match you can set the Cryptokeys with:
self SetDStat("mp_loot_xp_due", amountOfCryptoKeys);

//Go give yourself 1000 keys:
self SetDStat("mp_loot_xp_due", 1000);
You can download a full example project for this here:
You do not have permission to view link Log in or register now.


Set Prestige
C++:
self SetDStat("playerstatslist", "plevel", "statvalue", prestigeLevel);

//For example prestige 5:
self SetDStat("playerstatslist", "plevel", "statvalue", 5);


//Ensure it's an online match. You can view how to force your game online in "Crypto Key Script"
 

MrFawkes1337

Insane-Known Member
Messages
40
Reaction score
19
Points
368
Clan Tag Editor:
Code:
ClantagEditor(Tag)
{
    self setDStat("clanTagStats", "clanName", Tag);
    self iPrintLnBold("Clan Tag Set To ^2"+Tag);
}

Jail Coordinates (Old School Teleports)
Code:
if (GetTehMap() == "soe")
        {
            level.JailCoords = (1479.63, -4827.79, -15.875);
        }
        else if (GetTehMap() == "de")
        {
            level.JailCoords = (517.492, 1521.1, 96.0829);
        }
        else if (GetTehMap() == "zns")
        {
            level.JailCoords = (-1234.62, 372.957, -310.875);
        }
        else if(GetTehMap() == "gk")
        {
            level.JailCoords = (-393.673, 2972.72, -159.875);
        }
        else if(GetTehMap() == "rev")
        {
            level.JailCoords    = (135.295, 3764.82, 1226.13);
        }
        else if(GetTehMap() == "nzf")
        {
            level.JailCoords = (-90.898, -3276.36, -104.875);
        }
Add them to your init script, then call this function:
Code:
TeleToJail(player)
{
    if(isDefined(level.JailCoords)) {
        player SetOrigin(level.JailCoords);
        player iPrintLnBold("You have been sent To Jail");
    }
    else { self iPrintLnBold("The Jail Coords have not been defined for this Map!");}
}
setPlayerFree(player)
{
    newCoords = self.origin + (+40, 0, 0);
    player SetOrigin(newCoords);
    player iPrintLnBold("You Have Been Set Free From Jail!");
}
GetTehMap()
{
    if(level.script == "zm_prototype")return "nzp"; //nacht der untoten nzp//zetsubou no shima nzs// verruckt nza//shi no numa nzs//Credits  cred//The giant nzf//der eisendrache de//Revelations rev//gorod krovi gk//Shadows of Evil soe//Origins origins// Moon moon// ascension ascen//Kino der toten kino//Shangri la shang
    if(level.script == "zm_asylum")return "nza";
    if(level.script == "zm_sumpf")return "nzs";
    if(level.script == "credits")return "cred";
    if(level.script == "zm_factory")return "nzf";
    if(level.script == "zm_castle")return "de";
    if(level.script == "zm_island")return "zns";
    if(level.script == "zm_genesis")return "rev";
    if(level.script == "zm_stalingrad")return "gk";
    if(level.script == "zm_zod")return "soe";
    if(level.script == "zm_tomb")return "origins";
    if(level.script == "zm_moon")return "moon";
    if(level.script == "zm_cosmodrome")return "ascen";
    if(level.script == "zm_theater")return "kino";
    if(level.script == "zm_temple")return "shang";
}

Max Weapons Levels for Clients (Can be changed to Self by replacing player with self, and removing player from parameters):
Code:
MaxWeaponLevels_remote(player)
{
    level.Weapon_Level = StrTok("ar_standard;ar_cqb;ar_damage;ar_accurate;ar_marksman;ar_longburst;smg_fastfire;smg_versatile;smg_standard;smg_burst;smg_capacity;lmg_heavy;lmg_light;lmg_slowfire;lmg_cqb;sniper_fastbolt;sniper_fastsemi;sniper_powerbolt;shotgun_pump;shotgun_precision;shotgun_semiauto;shotgun_fullauto;pistol_burst;pistol_fullauto;launcher_standard;bowie_knife", ";");
    foreach(Gun_MaxLevel in level.Weapon_Level)
    {
        player AddRankXp("kill", GetWeapon(Gun_MaxLevel), 0, 0, true, 100000);
        wait .5;
    }
    player iPrintLnBold("^2Weapons Max Level!");
}

All Client God Mode:
Code:
AllPlayerGodMod()
{
    if(!isDefined(self.AllGod)){
        foreach(player in level.players)
        {
            player EnableInvulnerability();
            self.AllGod = true;
            player S("God Mode Has Been Enabled");
        }
    }
    else
    {
        foreach(player in level.players)
        {
            player DisableInvulnerability();
            self.AllGod = undefined;
            player S("God Mode Has Been Disabled");
        }
   }
}

Unlock All Camo's for Self (Can also do Clients):
Code:
UnlockCamos_self()
{
    level.Weapon_List = StrTok("ar_standard;ar_cqb;ar_damage;ar_accurate;ar_marksman;ar_longburst;smg_fastfire;smg_versatile;smg_standard;smg_burst;smg_capacity;lmg_heavy;lmg_light;lmg_slowfire;lmg_cqb;sniper_fastbolt;sniper_fastsemi;sniper_powerbolt;shotgun_pump;shotgun_precision;shotgun_semiauto;shotgun_fullauto;pistol_burst;pistol_fullauto;launcher_standard;bowie_knife", ";");
    foreach(Gun_Unlocking in level.Weapon_List)
    {
        self addweaponstat(GetWeapon(Gun_Unlocking), "kills", 1000);
        wait .1;
    }
    self iPrintLnBold("^2All Camos Unlocked!");
}

I have more to post at some point, this is all I could be bothered to do rn xD
 

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,998
Reaction score
2,918
Points
1,053
Clan Tag Editor:
Code:
ClantagEditor(Tag)
{
    self setDStat("clanTagStats", "clanName", Tag);
    self iPrintLnBold("Clan Tag Set To ^2"+Tag);
}

Jail Coordinates (Old School Teleports)
Code:
if (GetTehMap() == "soe")
        {
            level.JailCoords = (1479.63, -4827.79, -15.875);
        }
        else if (GetTehMap() == "de")
        {
            level.JailCoords = (517.492, 1521.1, 96.0829);
        }
        else if (GetTehMap() == "zns")
        {
            level.JailCoords = (-1234.62, 372.957, -310.875);
        }
        else if(GetTehMap() == "gk")
        {
            level.JailCoords = (-393.673, 2972.72, -159.875);
        }
        else if(GetTehMap() == "rev")
        {
            level.JailCoords    = (135.295, 3764.82, 1226.13);
        }
        else if(GetTehMap() == "nzf")
        {
            level.JailCoords = (-90.898, -3276.36, -104.875);
        }
Add them to your init script, then call this function:
Code:
TeleToJail(player)
{
    if(isDefined(level.JailCoords)) {
        player SetOrigin(level.JailCoords);
        player iPrintLnBold("You have been sent To Jail");
    }
    else { self iPrintLnBold("The Jail Coords have not been defined for this Map!");}
}
setPlayerFree(player)
{
    newCoords = self.origin + (+40, 0, 0);
    player SetOrigin(newCoords);
    player iPrintLnBold("You Have Been Set Free From Jail!");
}
GetTehMap()
{
    if(level.script == "zm_prototype")return "nzp"; //nacht der untoten nzp//zetsubou no shima nzs// verruckt nza//shi no numa nzs//Credits  cred//The giant nzf//der eisendrache de//Revelations rev//gorod krovi gk//Shadows of Evil soe//Origins origins// Moon moon// ascension ascen//Kino der toten kino//Shangri la shang
    if(level.script == "zm_asylum")return "nza";
    if(level.script == "zm_sumpf")return "nzs";
    if(level.script == "credits")return "cred";
    if(level.script == "zm_factory")return "nzf";
    if(level.script == "zm_castle")return "de";
    if(level.script == "zm_island")return "zns";
    if(level.script == "zm_genesis")return "rev";
    if(level.script == "zm_stalingrad")return "gk";
    if(level.script == "zm_zod")return "soe";
    if(level.script == "zm_tomb")return "origins";
    if(level.script == "zm_moon")return "moon";
    if(level.script == "zm_cosmodrome")return "ascen";
    if(level.script == "zm_theater")return "kino";
    if(level.script == "zm_temple")return "shang";
}

Max Weapons Levels for Clients (Can be changed to Self by replacing player with self, and removing player from parameters):
Code:
MaxWeaponLevels_remote(player)
{
    level.Weapon_Level = StrTok("ar_standard;ar_cqb;ar_damage;ar_accurate;ar_marksman;ar_longburst;smg_fastfire;smg_versatile;smg_standard;smg_burst;smg_capacity;lmg_heavy;lmg_light;lmg_slowfire;lmg_cqb;sniper_fastbolt;sniper_fastsemi;sniper_powerbolt;shotgun_pump;shotgun_precision;shotgun_semiauto;shotgun_fullauto;pistol_burst;pistol_fullauto;launcher_standard;bowie_knife", ";");
    foreach(Gun_MaxLevel in level.Weapon_Level)
    {
        player AddRankXp("kill", GetWeapon(Gun_MaxLevel), 0, 0, true, 100000);
        wait .5;
    }
    player iPrintLnBold("^2Weapons Max Level!");
}

All Client God Mode:
Code:
AllPlayerGodMod()
{
    if(!isDefined(self.AllGod)){
        foreach(player in level.players)
        {
            player EnableInvulnerability();
            self.AllGod = true;
            player S("God Mode Has Been Enabled");
        }
    }
    else
    {
        foreach(player in level.players)
        {
            player DisableInvulnerability();
            self.AllGod = undefined;
            player S("God Mode Has Been Disabled");
        }
   }
}

Unlock All Camo's for Self (Can also do Clients):
Code:
UnlockCamos_self()
{
    level.Weapon_List = StrTok("ar_standard;ar_cqb;ar_damage;ar_accurate;ar_marksman;ar_longburst;smg_fastfire;smg_versatile;smg_standard;smg_burst;smg_capacity;lmg_heavy;lmg_light;lmg_slowfire;lmg_cqb;sniper_fastbolt;sniper_fastsemi;sniper_powerbolt;shotgun_pump;shotgun_precision;shotgun_semiauto;shotgun_fullauto;pistol_burst;pistol_fullauto;launcher_standard;bowie_knife", ";");
    foreach(Gun_Unlocking in level.Weapon_List)
    {
        self addweaponstat(GetWeapon(Gun_Unlocking), "kills", 1000);
        wait .1;
    }
    self iPrintLnBold("^2All Camos Unlocked!");
}

I have more to post at some point, this is all I could be bothered to do rn xD
Thanks for sharing... Nice stuff :smile: Do you know if self addweaponstat works for other players in the lobby?
 

MrFawkes1337

Insane-Known Member
Messages
40
Reaction score
19
Points
368
Thanks for sharing... Nice stuff :smile: Do you know if self addweaponstat works for other players in the lobby?
It does indeed, add player to params, then replace self with player. I use it in my personal menu for remote recoveries to Clients.

EDIT: Zombies only ofc, Multiplayer is Host only.
 

MrFawkes1337

Insane-Known Member
Messages
40
Reaction score
19
Points
368
Old School Prestige Lobby (For Zombies)
Clients only need to get a Kill when enabled and Master Prestige will be awarded.
Yes its not clean, I was drunk when I wrote it, and I just wanted it to work as is.
Code:
OldSchoolPrestigeLobby()
{
    if(!isDefined(level.GameModeSelected))
    {
        level.GameModeSelected = true;
        foreach(player in level.players)
        {
            player thread OldSchoolInit();
        }
    }
    else
    {
        self S("How are you even selecting this?");
    }
}

OldSchoolInit()
{
    self PlayLocalSound("mus_egg_intro");
    self.hasUnlocked = false;
    self thread welcomeMessage("^4Old School ^3Prestige Lobby", "^5Made by ^6MrFawkes1337");
    wait 2;
    self S("^1Get a Kill to get Max Prestige");
    for(;;)
    {
        self waittill("zom_kill");
        if(self.hasUnlocked == false)
        {
            self iPrintLnBold("^2MAX PRESTIGE WAS JUST AWARDED");
            self SetDStat("playerstatslist", "plevel", "statvalue", 11);
            self SetDStat("playerstatslist", "paragon_rank", "statvalue", 964);
            self SetDStat("playerstatslist", "paragon_rankxp", "statvalue", 52345460);
            self.hasUnlocked = true;
        }
    }wait .02;
}

welcomeMessage(message, message2) { //Credit Vampy I think?
    if (isDefined(self.welcomeMessage))
        while (1) {
            wait .05;
            if (!isDefined(self.welcomeMessage))
                break;
        }
    self.welcomeMessage = true;

    hud = [];
    hud[0] = self createText("default", 1.35, "CENTER", "CENTER", -500, -140 + 60, 10, 1, message);
    hud[1] = self createText("default", 1.35, "CENTER", "CENTER", 500, -120 + 60, 10, 1, message2);

    hud[0] thread hudMoveX(-25, .35);
    hud[1] thread hudMoveX(25, .35);
    wait .35;

    hud[0] thread hudMoveX(25, 3);
    hud[1] thread hudMoveX(-25, 3);
    wait 3;

    hud[0] thread hudMoveX(500, .35);
    hud[1] thread hudMoveX(-500, .35);
    wait .35;

    self destroyAll(hud);
    self.welcomeMessage = undefined;
}

Add to a new GSC and call the file OldSchool10th, then just thread as OldSchoolPrestigeLobby in your menu.
 
Last edited:

MrFawkes1337

Insane-Known Member
Messages
40
Reaction score
19
Points
368
Spawnable rides for Multiplayer. Includes The Claw, Ferris Wheel, and Merry Go Round! Credit originally to Extinct I believe for the original scripts, I just updated them to BO3. Someone could probably port to zombies.
 

Attachments

  • Spawnables.zip
    6.7 KB · Views: 272

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
4,998
Reaction score
2,918
Points
1,053
It does indeed, add player to params, then replace self with player. I use it in my personal menu for remote recoveries to Clients.

EDIT: Zombies only ofc, Multiplayer is Host only.
Nice :smile: Thanks for sharing :wink:

Also nice for the other scripts!
 

fsjhoth

Veteran
Messages
5
Reaction score
2
Points
778
Anyone have a working Keep perks on death? this one doesn't work very well, can't disable.
 
Top