Post: NBB's Map Creator [Public Beta V1.5.0]
12-05-2016, 12:35 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hello NGU, Nothingbutbread here unveiling my most recent project that is nearing maturity. NBB's Map Creator.
The All-in-one Mod that aims to make Forge editing in Black ops 2 much easier and accessible to those who make Maps edits and gamemodes.
In the present state it as able to make all Zombieland Forge Functions and will have more in later updates.
If you find any bugs that are not listed here the "Known Bugs" area, please let me know so I can address them as I continue to work on this project. This is my heavily worked on project to date, Enjoy.
Note: This is a Public Beta, there are a bunch of known bugs and likely many more that I am not aware of (Hence a Public Beta).
Concerning the next update: I have delayed updates until I push out my next gamemode as I am putting another month into building on this editor and making it even better with the feed back provided. Next update: V1.1 Release, will be posted everywhere with that update.

Current Version: V1.5.0 Public Beta

Features:
> Spawn any Zombieland Forge Function and store the function that created it with just the push of a button
> Memory Editor: See the functions you have made and delete any objects you have made and don't like with the push of a button.
> Lots of Menu Customization Options. Make your own theme with the advanced theme creator and adjust the location to anywhere you like easily.
> Menu is aimed at new and experienced map makers and aims to make making maps faster, easier and more rewarding.

Pictures of V1.5.0 Public Beta
You must login or register to view this content.

Here is an early build video: [V1.2.5] Will have an updated video once I do more work on it.


Downloads:
V1.5.0 Compiled for PC and Console and GSCR
You must login or register to view this content.

V1.5.0 Source [Don't leech my code, I will know if you did]
You must login or register to view this content.

Known Bugs:
1) Create Wall Function: Making an wall invisible causes only a single entity to spawn and improperly updates the entity counter when deleted
2) When spawning in the Door, Solid Door or Turret. Random freeze may happen 45 minutes to 1 hour and 30 minutes after using that function.
3) When using Source or GSCR Versions (without injecting _rank.gsc fix) Rare GSC Overflow error
4) General Infobar text bugs, not properly integrated into all functions yet.

Expected Change Log for Release V1.1 [Unknown date of release, will be a much bigger than planed update]
Done:
1) Bug fix for invisible wall not working*
2) More Menu sound integration, More sounds for clicking, scrolling, errors ect.*
3) Add in Sound Menu to adjust the sounds these actions have.*
4) Fix menu allingment, (Should be alligned like the V1.2.5 Video)*
5) Add in in-game menu text color changer*
6) New Forge Function: Box Stair Case*
Pending:
1) Changes to the Memory editor
- Infinite Scrolling when there is more than 3 options present
- Ability to merge all forge entrys into a single list for easier access
- Changeing default theme to a Black and white theme
2) Gamemodes Forge Functions surported: Hells Treadmill, SWBF: Conquest, Project "Roleplay" - Releasing along side the update
3) Improvements to the Mysterybox function, allow for a sample usage.
4) Adding in spawning of simple entities of different models



Change Log:
    
V1.5.0 Public Beta:
1) Fixed a Bug in the Create Turret function that would cause it to complete incorrectly.
2) Fixed a Bug where removing the info bar then re-adding it would generate additional shaders, leading to the menu having issues displaying stuff.
3) Fixed a Bug where the infobar would display false information after using the RTM Concept Tool for any CreateForge Function.


Found a bug and/or need support?
    
If you find an bugs that are not listed in the Known bugs tag or have questions regarding this editor. Besure to PM via NGU or message my Skype "Nothingbutbread" with any questions (not pertaining to hosting XP Lobbies).



Credits:
    
////////////////////////////////////////////////////////////////////////////////////
// Credits: A shoutout for everyone contributed work that isn't mine. //
// HiddenHour [NGU]: Some custom code, general help. //
// Shark [NGU]: Base Forgefunctions, Menu Base. //
// xTurntUpLobbies: Base Overflow fix and fixed _rank.gsc //
// Extint: Entity Overflow Fix //
// Contributers to the NGU Script lists: Some functions used in the Host menu. //
// Anyone else I missed: Everything else that isn't 100% my code. //
////////////////////////////////////////////////////////////////////////////////////


Added Forge Functions (Copy and paste into Zombieland, may need to prechache stuff for other gamemodes)
    
Extra Forge Functions that are createable in V1.6.0 PB:
Sample Demonstration Map Edit:
Nuketown()
{
level thread removeSkyBarrier();
level thread CreateBoxStair((-756.64,-833.06,-90.8833), 1200, 120, 120, 1, 18, 36, true, true);
level thread CreateBoxStair((-756.64,-833.06,-90.8833), 1200, 240, 240, 1, 18, 36, false, false);
}
Forge Function Code:
CreateBoxStair(Origin, Height, Width, Lenght, Enter, Stepheight, Gap, Right, invisible)
{
level endon("CreateBoxStairCaseInvalid");
Ground = Origin[2];
A = Origin[1] + Width;
B = Origin[0] + Lenght;
C = Origin[0] - Lenght;
D = Origin[1] - Width;
BA = (B, A, Origin[2]);
BD = (B, D, Origin[2]);
AC = (A, C, Origin[2]);
DC = (D, C, Origin[2]);
W = Distance(BA, AC);
L = Distance(BA, BD);
WL = W + L;
Tall = Ground + Height;
if (Tall < Stepheight)
level notify("CreateBoxStairCaseInvalid");
HI = Ceil(Tall / Stepheight);
Dir = NBBCustomForge_CreateBoxReturnDirrection(Enter, Right);
if (Enter == 1)
SOrigin = BA;
if (Enter == 2)
SOrigin = AC;
if (Enter == 3)
SOrigin = DC;
if (Enter == 4)
SOrigin = DB;
for (z = 0; z <= HI; z++)
{
reset = 0;
if (Dir == 110) //Point trying to get to, below is how to get there.
{
if (z != 1)
SOrigin = (SOrigin[0], SOrigin[1] - Gap, SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,90,0));
if (invisible == true)
block hide();
reset += 1;
if (SOrigin[1] <= D) //We have reached point, looking for next one.
Dir = NBBCustomForge_CreateBoxReturnDirrection(2, Right); //State location, get next one
}
if (Dir == 101)
{
if (z != 1)
SOrigin = (SOrigin[0], SOrigin[1] + Gap, SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,90,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[1] >= A)
Dir = NBBCustomForge_CreateBoxReturnDirrection(4, Right);
}
if (Dir == 111) //End destination
{
if (z != 1)
SOrigin = (SOrigin[0] + Gap, SOrigin[1], SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,0,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[0] >= BA[0])
Dir = NBBCustomForge_CreateBoxReturnDirrection(1, Right);
}
if (Dir == 100)
{
if (z != 1)
SOrigin = (SOrigin[0] - Gap, SOrigin[1], SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,0,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[0] <= DC[0])
Dir = NBBCustomForge_CreateBoxReturnDirrection(3, Right);
}
if (Dir == 210) //Point trying to get to, below is how to get there.
{
if (z != 1)
SOrigin = (SOrigin[0] + Gap, SOrigin[1], SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,0,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
if (SOrigin[0] >= B) //We have reached point, looking for next one.
Dir = NBBCustomForge_CreateBoxReturnDirrection(2, Right); //State location, get next one
}
if (Dir == 201)
{
if (z != 1)
SOrigin = (SOrigin[0] - Gap, SOrigin[1], SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,00,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[0] <= C)
Dir = NBBCustomForge_CreateBoxReturnDirrection(4, Right);
}
if (Dir == 211) //End destination
{
if (z != 1)
SOrigin = (SOrigin[0], SOrigin[1] + Gap, SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,90,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[1] >= BA[1])
Dir = NBBCustomForge_CreateBoxReturnDirrection(1, Right);
}
if (Dir == 200)
{
if (z != 1)
SOrigin = (SOrigin[0], SOrigin[1] - Gap, SOrigin[2] + Stepheight);
block = spawnEntity("script_model", "t6_wpn_supply_drop_ally", SOrigin, (0,90,0));
if (invisible == true)
block hide();
if (reset > 0)
z += 1;
reset += 1;
if (SOrigin[1] <= DC[1])
Dir = NBBCustomForge_CreateBoxReturnDirrection(3, Right);
}
}
}
NBBCustomForge_CreateBoxReturnDirrection(Location, Right) //Surport Function, need to add to use.
{
if (Location == 1 && Right == true)
return 110; //The place its going to
if (Location == 2 && Right == true)
return 100;
if (Location == 3 && Right == true)
return 101;
if (Location == 4 && Right == true)
return 111;
if (Location == 1 && Right == false)
return 201;
if (Location == 2 && Right == false)
return 211;
if (Location == 3 && Right == false)
return 210;
if (Location == 4 && Right == false)
return 200;
}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 9 users say thank you to Nothingbutbread for this useful post:

/SneakerStreet/, DF_AUS, DoraTheKiller97, geheimpje, Mrtbyhyourwme, S63, Saber_JZY, Skonafid, xTiibo Modz

The following 2 users groaned at Nothingbutbread for this awful post:

anthonything, ProfoundModz
12-09-2016, 05:31 AM #20
Originally posted by anthonything View Post
I dont have time to reply to that entire list, but I can tell you one thing that hit me that seems appropriate. If you intend this to be solely a zombieland map editor, please label it as such. I cant see anyone using this for anything else, and as you are putting it and replying, you seem to think the same. I had the idea that you intended this to be a utility for all types of game modes.


Several gamemodes use Zombieland forge functions such as the Wall, Grid and Ramp functions. At this point it time, as it stands. It stands as a zombieland focused editor as that is the only thing that people make edits for these days. Hence the primary target audience. I have plans for making new forge functions and adding support for other commonly used functions and improving what is already pre-existing.

The idea that is supposed to be a Utility for gamemodes is true ... on the assumption that the creator of the gamemode used sharks forgefunctions. The original intent of the project was to aid in my making gamemode such as "Salvage" and "Berma Bridge", both use sharks based forge functions such as the Grid, Wall and Ramp functions. Update V1.6.0 adds more general functional for non-supported functions with a few utility functions such as the simple origin print to screen codes, Basic origin savers, stuff like that. Stuff that I found useful when working on new forge functions for the update.

The following 3 users say thank you to Nothingbutbread for this useful post:

DF_AUS, DoraTheKiller97, Saber_JZY
12-09-2016, 12:05 PM #21
anthonything
Space Ninja
Originally posted by Nothingbutbread View Post
Several gamemodes use Zombieland forge functions such as the Wall, Grid and Ramp functions. At this point it time, as it stands. It stands as a zombieland focused editor as that is the only thing that people make edits for these days. Hence the primary target audience. I have plans for making new forge functions and adding support for other commonly used functions and improving what is already pre-existing.

The idea that is supposed to be a Utility for gamemodes is true ... on the assumption that the creator of the gamemode used sharks forgefunctions. The original intent of the project was to aid in my making gamemode such as "Salvage" and "Berma Bridge", both use sharks based forge functions such as the Grid, Wall and Ramp functions. Update V1.6.0 adds more general functional for non-supported functions with a few utility functions such as the simple origin print to screen codes, Basic origin savers, stuff like that. Stuff that I found useful when working on new forge functions for the update.


Why rely on sharks functions? It is quite easy to create your own... Most devs that I know wouldnt use sharks functions either, so you restrict your target audience quite a lot.
12-09-2016, 02:56 PM #22
Originally posted by anthonything View Post
Why rely on sharks functions? It is quite easy to create your own... Most devs that I know wouldnt use sharks functions either, so you restrict your target audience quite a lot.

Map edits for Zombieland or Zombieland edits are created far more frequently than other gamemodes. The vast majority of people here don't make new gamemodes (I wish that wasn't true).

The following user thanked Nothingbutbread for this useful post:

DF_AUS

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo