Jump to content
tariely

How to make MMPs?

9 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 

I'd like to make my evergreen trees into a MMP, but can't find a tutorial for that (really ? there should be one somewhere ?) There is the jeronij tutorial on how to make ploppable props, (now that tarkus as translated the html code*:thumb:...)but the pictures are gone... and I am not sure that is what I need. Those evergreens were made from some CP trees, among other, so that they're not seasonal anymore but always Springy -- they still have to be stacked in the L.E., which, from a lotter's perspective, is a pain in the fanny, but the hopefully happy player only gets the end result !*:) Still, it would be nice if they were also MMPs, or at least, to begin with, ploppables. Since they come from a megapack (CP 1 and 2), I assume I would have to extract the Spring model and work with that, right ?

In the meantime, does anyone know of a tutorial with pictures ? I'm better with pictures ! *;)

  • Like 1

Come and visit. We got home made cookies. http://community.simtropolis.com/journals/journal/5386-pr-crastinas-travels-sc4/

By the way, we also have cookies at Tariely's Little Shop of Relots (and Lots)

 

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I'm sure that @rsc204 knows ;)

  • Like 1

matias93's Unexpected Mod Workshop (dev thread)             Ciudad del Lago in the making (dev City Journal)

"Let us be scientists and as such, remember always that the purpose of politics
is not freedom, nor authority, nor is any principle of abstract character,
but it is to meet the social needs of man and the development of the society"

— Valentín Letelier, 1895

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I only know of two, the one by Jeronji and another by Dedgren, the latter is buried somewhere in the 3RR MD on SC4D. It should also be on the SC4D Wiki, but that link's not working currently, so I guess it's related to the site move?

Honestly though, this is another of those "Do you really need to learn how to fish, or is it just better to give you some fish?" moments. Creating MMPs, like most modding, is not necessarily hard, it's just a very precise job to make it work. Even the tutorials don't cover everything and expect some assumed knowledge relating to exemplars. If this is just a one-off job, I could create a couple MMPs for you pretty quickly. I just need to know "exactly" which props to include.

  • Like 1
  • Thanks 2

Head over to my Lot and Mod Shack to keep abreast of my latest developments.

Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

p.s. - I'm MGB over on SC4D and a member of the NAM team.

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    ...so many fish in the sea... so little time...  I'm tempted to take you on your kind offer, Robin, as I don't see myself making many MMPs in the future (making ploppable props, that I can manage, I believe *;)) Thank you and let's continue this in private ?


    Come and visit. We got home made cookies. http://community.simtropolis.com/journals/journal/5386-pr-crastinas-travels-sc4/

    By the way, we also have cookies at Tariely's Little Shop of Relots (and Lots)

     

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    @rsc204 @tariely hi, I kind of ran into the same problem now and it is unfortunate that I couldn‘t see the outcome of your conversation.

    Has anything changed in this situation? Would you be willing to create a little  tutorial on that? 

    I might use this technique on quite a few occasions and it is very important to preserve and share the knowledge about these things to keep this community alive. (If someone enables me to do so, I am also more than happy to create a tutorial for everyone!)

    Thanks a lot!

    • Like 3
    • Yes 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    On 13.2.2021 at 10:19 AM, rsc204 said:

    Around the time of this conversation I got very busy IRL, we did work together but I forget how far we got. I didn't intend too, but I've actually ended up writing out a tutorial anyway, so read on...

    I don't know what happened to the 3RR tutorial, it's still on the 3RR thread for certain, it was the Wiki (copy) that got borked by the site changes at SC4D. Anyways, all my waffling was for nought, since it just took 20m of searching to find the post at SC4D, it looks like the pictures are still good too :). Thank goodness dregden took the time to index his 500+ pages of threads properly, because Google wasn't helping and otherwise I'd have looked briefly and given up.

    A few caveats, I'd start with a better template than the one he uses and there are some tips I can give to make life easier (quicker) by making the most of the more powerful Reader features. In that vain, I've quickly modified the templates I use, so they'll work for others. In essence these MMPs have their modding based off BadSim's MMPs, which for my money are the best around. It's a bit complex to explain why, but at their core, they reserve little space, meaning in practise your MMPs will be more flexible and usable. Say I've made a path and loads of flora with MMPs, but then want to add a person (actually, I'd add the person first), but the way these are modded give the maximum available "free space" to make this possible.

    MGB's MMP Template.7z

    Unless you are making models (OK I know you are, but most won't be), you'll need to get the ID's differently. Either way, I recommend some advance preparation before starting with the MMP stuff, this will make things quicker and less error prone later:

    MMPTut_BePrepared.jpg.c4e8f6f1cedaca740f9f10334da2d396.jpg

    Make a spreadsheet like I have above, listing your MMP IDs, take note of how Hex Number Ordering works, or use up 6,000 IDs in a few hundred items - (fixing this later will suck). Whilst we're at it, you will need a dedicated ID Range for MMPs, that's not optional. Not sure how easy that will be to get quickly, if you get stuck you can have some of mine if you like?, I have way more than I could ever use. Then find all the Models you want to add into your MMPs and pair those with an MMP ID in the spreadsheet. Just find the Exemplar, which is super-easy if you open a DAT in Reader, click on Analyser, then hit Search:

    MMPTut_Analyser.jpg.16722e862fc9fd56a6ff43494d185bac.jpg

    It filters out only the Exemplars, which are listed by Exemplar Name, making things much easier to find. Look for the Resource Key Type 1 (RKT 1) Property (or perhaps 4 - note these are special cases I'm not getting into here). Open this Property and then copy/paste the ID into your Spreadsheet. Now you've a reference you can use to easily identify what Models you will be using and you can re-arrange and get things in order, BEFORE you start modding.

    Of course if you have ID'd SC4Model files, since you are making BATs, you can just copy/paste file names, in fact you can speed that up considerably with a little automation...

      Automate populating filenames (advanced stuff) (Reveal hidden contents)

    Create a new temporary folder and stick in it all the SC4Model files you want in your MMP. Open a command prompt, goto this folder and type the following:

    • dir > list.txt

    This will create a file "list.txt", which contains the filenames of every item in the current folder. Now you've a list of IDs to copy/paste from in one place. If you do a little find/replace to remove all the funny characters using a smart tool like Notepad ++, you can even edit the whole in a few steps, so you could copy/paste everything in one go into a column of Excel or similar. Very time-saving for large numbers of files.

    So, a wall of text already and we have barely mentioned MMPs! First off, you need to decide if you want a Single-Stage or Multi-Stage MMP. A Single-Stage MMP contains only one Model*, you click once and it places the assigned Model.

    *Note that Prop is incorrect here, since a Prop is type of Exemplar, that links to a model. Whereas we're making a "Flora" Exemplar, which links to a model. But typically people refer to such things as Props.

    The resource contains a template .dat for both types, technically they are the same, but each needs different Properties to function as intended. Copy whichever you need to a duplicate file and go from there. I'm going to assume, because I'm almost certain you want to make your new People into MMPs, that Multi-Stage MMPs are a better fit here. Note for the Single-Stage MMP just follow the steps for the MMP Base Model here, noting it doesn't have the "chaining" Properties.

    Multi-Stage MMPs need three basic "parts" to function:

    • MMP Base Model
      The first Exemplar has some additional Properties that relate to it's placement in the menus. It also needs a matching PNG icon with the same IID and linked LTexts for the Name/Description (I did a test removing these, but then the MMP fails to appear in-game).
    • MMP Additional Models
      Much the same as the Base one, just with fewer Properties. Every stage in the chain (i.e. each model except the First and Final one), must have one such Exemplar.
    • MMP Blank (Final) Model
      Again this is based on the same Exemplar as the first two types, but this time with even less Properties, because the 'chain' stops after this Stage. Note that I prefer to use a "Blank" model for this final Stage, achieved by simply removing the RKT 1 Property entirely from the Exemplar.

      The purpose of this, if a user went through all the various "Stages", but wasn't happy with the results, the last click makes the Model Disappear entirely. This can be handy when bulldozing the tile would be undesirable. Note too, you can make one such Exemplar (the blank), and re-use it with the same ID for every new MMP you make. This is just a more efficient use of both IDs and resources, OK yes minor considering everything, but I was educated to optimise everything relentlessly where possible. As such, you don't even need spare an ID here, just re-use the included one as-is if you want.

    So armed with your data, you should have an idea of how many and which objects to group together at this stage. The Template allows for up to 16 items in an MMP by default, you can add more if you want more Stages or Models. To do so "Clone" the LAST Add. Model exemplar (IID ending F, right click that and select Clone File), use an Increment of 1 for the Instance ID like so:

    MMPTut_Clone.jpg.e3184a081ce90cbf1a38396e7919b0f7.jpg

    Under number of Copies, you can Clone as many as you need in one step.

    Likewise if you need less than 16, remove the number of Add. Model Exemplars you don't require, but do so from the end. In other words if you need say 12 stages (Exemplars/Models), keep those ending in 0 through B (12 in Hex, remember 0 is a number), by removing C, D, E and F. Doing it this way is going to allow the template to make things simpler for you, when you have to manually edit all these IDs later.

    Step one is using the TGI Editor (under Tools in the File Menu), to give each Exemplar it's correctly assigned ID. I've used 8888#### in the templates for all IDs, you CAN NOT re-use these without the potential for problems. So for example, if you were assigned the MMP ID Range AE23, you could do the following edit to ID everything neatly:

    MMPTut_TGIEditor.jpg.5773bd704ee4e0e2cb5e432ab79d9475.jpg

    • Green: This is the Base Exemplar and it's related files, all use an identical IID.
    • Yellow: These are the Add. Model Exemplars, ID'd in sequence from 1 through F.
    • Red: This is the Blank Model, if using it, DO NOT alter the ID of this object.

    For reasons I can't explain, the TGI editor is in reverse order from the main window, so caution there. In this example we're only changing to your assigned range, which covers the first four digits of the ID. But this will only work once, after that you'll need to edit these differently, but save the original Template to begin with, using your Range. Use that edited file for subsequent MMPs, it'll save you some work (note you also need to edit other Exemplars to match. Basically when you finish Step 1, save the Template and continue working from a new copy of it. That way from here on out, your Template will be customised for your ID Range, saving some work at least.

    I'm going to stick to using blocks of 16 IDs at a time for the purposes of the tutorial, keep a record of those IDs you actually use. If you run out of IDs, you may need to come back and make use of those in the gaps later, but this is not likely. Of course ending in 000# only works for the first 16 IDs you use, the second block would be 001#, then 002# and so on. After using 00F#, next is 010#. Hence blocks of 16 IDs allow you to set all the IDs with the fewest number of and simplest edits. Eagle-eyed folks will notice I did not do this in my Spreadsheet, I used each ID in sequence regardless. Likewise, you could go mad and link ID 0000 to F5A6, which then linked to 28E9 and so on, it will work provided the IDs are correct, it's just much harder to do and keep track of. Try not to focus too much on the theory, as you work through this, come back and read this again, I promise it will make more sense.

    So now the Exemplars themselves are (hopefully) correctly ID'd, now we need to edit their Properties. Start with the Base Model (or first) Exemplar. Once again, we're going to use the Analyser to save ourselves some work, click on Find a Property (yellow circle), then find User Visible Name Key in the drop-down box and click Find. Highlight all the items in the list that appear, then click Edit:

    MMPTut_BatchEdit.jpg.6ebc827d32e3d264448062276b6ad710.jpg

    Make sure the IID is the same as your Base Model's Exemplar and press Enter on your keyboard, double check they have been correctly updated.

    Next, every Item of your MMP has an Item Name, which will appear both in the Menu and when querying items from the MMP in-game. If you don't want the latter, you can safely delete the User Visible Name Key Property from each of the Add. Model Exemplars, but you must keep this for the Base Model.

    Back to the main Analyser window, select the Base Model Exemplar and give the same IID to the following Properties:

    • Exemplar ID
    • Item Icon
    • Item Button ID
    • Item Description Key (just the IID needs editing)

    Now edit the Flora: Cluster type ID, to the next Exemplar or Stage of your MMP. To keep things logical, if we start with ####0000, the next will be ####0001. It's this Property that tells the MMP which Exemplar to use next, this chain continues throughout all the Add. Model Exemplars, until you reach the last of them, which should ALWAYS link to FFFF0000 if you are using a Blank Model. If you prefer not to, delete the Blank Final Model Exemplar and remove the following Properties from the last Add. Model Exemplar in your chain:

    • Flora: Cluster type
    • Flora: Cluster max radius
    • Flora: Cluster max height

    So now we go through all the Add. Model Exemplars, editing the Exemplar ID and Flora: Cluster type IDs. Again using our logical ID system, the later will always be 1 higher than the former, which matches the actual ID of the Exemplar itself. I like to do the editing of these Exemplars one task at a time, I find it create less errors and finding those later can be very annoying.

    Step 2 (yes, it feels like we should be further along than that, right?); for every Exemplar we should go through and edit the Exemplar Name. Technically this is optional, the names never appear anywhere, but if you need to come back to your .dat later, not having this is going to make life harder. But we can take the load off a little, so let's say you have 10 different "groups" of people, each will have their own MMP. One of those groups is "Orange Vest People", let's use the Analyser again, to mass-edit those names. Same principle as before, only now we look for Exemplar Name to edit. So add your own name, a good routine for all modding, let's use "AP_OrangeVestPerson_" for all Exemplars. Now, when we return to the main Analyser windows, we can quickly add something to differentiate each, which could simply be ascending numbers or if you prefer something more descriptive, but in essence, the "AP_OrangeVestPerson_" part is like a template, we don't have to copy/paste or re-type each time.

    Step 3 (moving faster now), go through each Exemplar and edit the RKT 1 Property. If you've correctly installed the SC4BAT Texture ID fix, all your models should be in the following ID format (T/G/I): 0x5AD0E817,0x00000000,0x00030000. In short, the Red parts don't change, which are the Type, which never changes since the type ID indicates a model and the Instance, which should be as shown. Another way of putting this, it is just the Group or GID that is unique for each new Model. So rather than having to copy/paste the entire TGI ID, assuming this is the case, we can just copy the GID's into each Exemplar, which links them to the models you want to display. If you have a bunch of models with very different IIDs, that probably means you don't have the patch for SC4BAT installed, you don't have to re-ID them, it just means you need to be a bit more careful and copy both the GID and IID for each Property.

    Phew, now you should be done (save the file of course ;)), then go test the MMP and with luck, it'll work first time. I can tell you from experience it did not for me, one typo can break everything and be difficult to track down (time-consuming). So starting out, work slow, do everything methodically and double-check things as you edit them.

    But once you get into the flow of this process, you can bang out an MMP in around 10 minutes from start to finish. 

    Don't forget to add a nice new Icon and edit the LTexts ;). Also be careful to keep their IID the same as the Base Model Exemplars.

    Thank you SO much for taking the time and making this tutorial! I am currently following along and my fist MMPs worked with 16 little dudes! now I need to extend your file so it holds all 24 ppl and come up with an icon.

    Feedback

    It is worth mentioning, that when using the method of listing the folder content with CMD using dir that BAT seems to drop the first 0 of the G property from time to time when naming the modle-file, which leads to a 7 digit ID and an error:BAT_Naming_Issue.png.8215b6421836c5f3dde913a6590a7210.png

    Maybe that only happens for me... no idea, it is worth checking tho!

    • Like 1
    • Thanks 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    On 17/02/2021 at 12:06 AM, AP said:

    It is worth mentioning, that when using the method of listing the folder content with CMD using dir that BAT seems to drop the first 0 of the G property from time to time when naming the modle-file, which leads to a 7 digit ID and an error:

    Sorry I must have forgotten to respond at the time, but indeed the Instance ID of SC4Model files is usually truncated to 0x30000 i.e. only 5 digits. Basically any proceeding 0's are not technically part of the hexadecimal number it represents, much like you wouldn't write you had 00100 of something. Thankfully it's quickly solved with another find/replace operation to change 0x30000 to 0x00030000.

    Provided you've correctly installed the patch for SC4BAT, all your models should use the same ID system where only the Group ID is unique and will always use the Instance ID 0x30000.

    • Like 1
    • Thanks 1

    Head over to my Lot and Mod Shack to keep abreast of my latest developments.

    Do you like custom textures, but don't like all the work involved creating them?, take a look at the Texture Automation options here. Change the look and feel of your transit networks, with the minimum of effort, for example customised versions of my Sidewalk NAM (SWN) and Terrain Grass NAM (TGN) mods, and much more besides.

    New to the NAM? Check out my tutorials on YouTube. Latest upload: How to: RHW - MHO Roundabout Interchanges. (Nov 25).

    p.s. - I'm MGB over on SC4D and a member of the NAM team.

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account


    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections