Best way of circumventing the CAP Limit?

A hub for everything related to NBA 2K11 modding. Releases, previews, requests, and other modding discussion belongs here.

Best way of circumventing the CAP Limit?

Postby Andrew on Fri Mar 15, 2019 8:40 pm

Had a glance through our archives, and it doesn't seem there's a definitive answer on this one. I know we have a few people still working on rosters from 2K11 - and other 2K games from around the same vintage - so thought I could see if we could work out the best possible method.

Basically, I've hit the CAP limit while working on the current roster for NBA 2K11. That's not a huge surprise, given the sheer amount of players that need to be created, but it's something that I need to work around in order to get the job finished. Talking to a couple of people so far, it seems that the most effective way is to simply overwrite players as needed, or possibly move players around within the roster file to free up CAP slots.

Overwriting is probably going to be the way to go, as there are various players I definitely won't need in the database moving forward. However, before it comes to that, I thought I'd see if there was another solution out there. I was hoping it would be a similar case to the old NBA Live databases where changing the player's type so that the game considers them an original player was all it took for them to no longer count against the cap, but unfortunately, it seems it doesn't work that way. So yeah, while I'm working on the players that I've already created and before I start overwriting and fiddling around with the database any further, I just thought I'd check and see if anyone had any other ideas or solutions.
User avatar
Andrew
Retro Basketball Gamer
Administrator
 
Posts: 114924
Joined: Thu Aug 22, 2002 8:51 pm
Location: Australia

Re: Best way of circumventing the CAP Limit?

Postby Andrew on Thu Mar 21, 2019 1:57 pm

Image

I've been messing around with it, and I believe there are three viable solutions.

1. Change all created players to original

Previously, I'd just been changing created players to original players in batches, as I added their extra data and assigned them faces. However, skipping ahead and changing them all to original players actually resets the CAP limit completely, allowing you to add more players as if you haven't added any to the roster previously. This is probably the most straightforward solution. The players you change will still use their CAP faces until you assign them an art file, you just won't be able to edit a few details in their bio (such as name and college) anymore. That isn't really a problem, so this might be the way to go.

However, a potential drawback here is that there is a finite space for data in the rosters, so once you start adding a lot more players, it may cause problems (or you'll just run out of available player slots after another 50 or so). I've tested it adding just a couple more players though, and there were no problems in Association or anything. More testing may need to be done to confirm everything will be OK, but for now, it looks like it might be a viable solution.

2. Copy players from another roster

This one's straightforward: create a player in a new roster where you haven't hit the CAP limit, and then copy their data to the next free slot in the original roster. Change the PortID to the next one in sequence (at least, that's what I did), and to make sure there's no conflicts, have them in the Free Agents so they can be signed as necessary. If the players you add are flagged as created, they'll also show up in the CAP list. Works fine in Association, though again, file size/data limit may be an issue once you start adding a lot of players. As I said, it'll require some additional testing.

Arguably, this method is potentially slower as there's the extra step of copying between rosters, though that doesn't take a long time to achieve. It may also be easy to accidentally overwrite something you don't want to, or encounter some issues copying data between files. One potential advantage is that you can see how many slots you've got left. If nothing else, it's an effective method of moving and copying players between rosters, which is obviously useful for special projects where you may want to borrow data from another roster, or duplicate a player.

3. Change an original player to created, overwrite them

Simple as changing an original player's type to created, at which point they show up on the CAP list and all their data is accessible. Note that they'll still have their cyberface, but they can obviously be assigned a new one when you're ready. This way, you can easily just overwrite existing players, changing their names and data, then assign them a new face ID matching the art file you're using. Once you're done, they can go back to being flagged as an original player.

The drawback here is leftover data such as career stats, but I'm guessing there's probably a way to wipe that data. The advantage is that you're not adding any further players over the CAP limit, so it may avoid issues with the data limit. It's probably the safest method, and reasonably straightforward. The first two methods are perhaps easier in that you don't have to go hunting through the database for newer players (they're all together with their fellow CAPs), and you also don't have to lose any original players.

Of course, you could also conceivably overwrite the players from the developer teams if you wanted to keep the original NBA players for any reason; I'm guessing they don't have any career stats so they're probably ideal, and they're all together in the database as well, so they're easy to find. It's going to interfere with the codes that unlock the developer teams, but there's likely going to be more interest in playing with the project you've created as is, than also bringing the devs into the mix. In any case, just something to keep in mind.

So, the best method is...

At this stage I'm not 100% sure, but I'm leaning heavily towards #3 as it means you're less likely to run out of CAP slots and hit the data limit. It isn't as neat, keeping all the new players together, but it's potentially a lot safer. You could start with players who don't have any career stats, to avoid having incorrect data there.

Method #1 is also something you're likely going to end up doing anyway so that the new players are recognised as original, so even if you go with Method #3 and don't use Method #1 to add any new players, you might want to do it first so that only the original players that you've now flagged as created show up in the CAP list, making them easier to track and work with while you're overwriting them. In other words, you're probably going to use Method #1 at some point, even if it's not to bypass the CAP limit.

The other thing that you may have to keep in mind is future updates. If you need to add a bunch of new players for whatever reason - say, a new batch of rookies in an ongoing current roster update - you'll want to future-proof your rosters by allowing some method of adding those players. With that in mind, Method #3 is probably the safest, since you'll have plenty of players to overwrite and potentially some extra CAP slots you can free up by combining it with Method #1.

Potentially a bit confusing, not quite as easy as working with NBA Live's databases, but we do have some options that are all reasonably easy to work with once you've tried them out and have the hang of them. Just be sure to keep backups, and test regularly!
User avatar
Andrew
Retro Basketball Gamer
Administrator
 
Posts: 114924
Joined: Thu Aug 22, 2002 8:51 pm
Location: Australia


Return to NBA 2K11 Modding

Who is online

Users browsing this forum: No registered users and 3 guests