View Full Version : Custom Foods: An overview

28th Dec 2015, 9:05 AM
Custom food (example here (http://www.modthesims.info/download.php?t=569505)) needs several parts to work:

The actual food objects: most of the time that will be one for the single serving (with different geometry states for full and half eaten), and one or two objects for Family and Party size servings (some foods only seem to have the latter, like cakes). Where necessary one can also add custom props for the cooking process, like mixing bowls and pots.

Object tuning for the food items: this is kind of optional since it's not very exciting (one can simply re-use an existing one when there's no good reason not to).

Recipes that define how to craft the foods: the simplest case would be something like the cereal with just one GetCraftableFromObject phase; most of the cooking recipes are more involved with multiple transitions and turn-based counter interactions etc. But when you start by copying an existing set of recipes (there's always one per serving size) you basically only need to adjust it a little bit.

Interactions that make use of those recipes: one way to get a new recipe into the game would be to add it to the recipe list in an existing interaction (like fridge_Cook), but I don't know how it would work to do that via scripting (and the alternative, overriding that interaction, is pretty much a guarantee for collisions). I also suspect fiddling with the interactions in realtime might be a little performance intensive. So the next best thing I could think of (that's what I did for the foods linked above, at least) is to make a bunch of custom interactions instead, each of which lists only the custom recipes, and add those to the fridge and stove objects (see the stickied thread (http://www.modthesims.info/showthread.php?t=546901) in Modding Discussion on how to do that). The disadvantage of this is that for the picker interactions, each one results in a new pie menu item since those do not have categories; OTOH with the pie menu interactions ("Serve Dinner" and such) this works very well even when there's one interaction per recipe.

A script that adds said interactions to the relevant objects (stoves, fridges, microwaves etc; depending on what recipe it is). If your object is custom (like this Juice Blender (http://modthesims.info/download.php?t=571063)) you can of course add them directly to the super_affordance lists in the object tuning.

Food objects:

When all one needs is a new texture on an existing food (they sometimes have very similar meshes, like chili and salad and parfait .. it's all just a bunch of stuff in a bowl), simply clone it in TSRW, import a new texture ("Materials" tab, or edit the reference in s4pe) and you're good to go. When changing the mesh, one needs to reassign the geometry states afterwards, which is a bit fiddly when they overlap one another ("Mesh" tab; click on the little plus sign in front of the geostates list in each group, then click on the name + three dots button next to it. The "Hide Selected" option in combination with "Ignore Backfaces" unticked can be rather helpful for that). Don't forget to do this for all (both) LODs.

Note that right now, craftable objects need to have 32bit IDs. I posted (http://forums.thesims.com/en_US/discussion/comment/14393109/#Comment_14393109) about this so maybe it will change at some point in the future.


See the Recipe tuning description (tdesc) -- link to the latest version see this sticky (http://www.modthesims.info/showthread.php?t=533094) (General Modding Discussion). A browser that makes the tdescs easier to read is available here (http://modthesims.info/showthread.php?t=555233) (Tools forum). It's probably best to take a close look at a few different cooking procedures in game, and then pick one that's close to the desired result and copy the recipe for it as a starting point. The recipes usually have the (US English) name of the food in their internal name, e.g. "recipe_Food_Gourmet_Parfait-Single", so it should be pretty simple to find the correct one; copying/renaming works like with all other XML tuning (see here (http://www.modthesims.info/showthread.php?t=537976) for a primer).

Some important parts (for the rest, just look in the tdesc):

1. Phases: This is the main part of any recipe (food or otherwise); it defines the chain of animations and transitions the sim performs in game in order to craft the result. They are often not listed in order: "_first_phases" (near the top) defines which phase to start with (most often that's "GetIngredientTray"); each subsequent phase in turn lists the name of the next one ("next_phases"). If the recipe you cloned already has a crafting procedure that works for your food, you can completely ignore that part, or if you want to change small things (like what exactly the sim is chopping on the cutting board), you can do that here by changing the affordance_links in each phase accordingly. The number in "affordance_links" is the decimal ID of the corresponding CraftingStepInteraction. Look at some Maxis recipes, or search the /Interaction XML subfolder (e.g. for "Counter_CuttingBoard_Chop"), to see what's available:

13266 Counter_CuttingBoard_Chop_BellPepper
13267 Counter_CuttingBoard_Chop_Lettuce
13268 Counter_CuttingBoard_Chop_Onion
13269 Counter_CuttingBoard_Chop_Tomato
29636 Counter_CuttingBoard_Chop_Dough
29642 Counter_CuttingBoard_Chop_Chicken
29643 Counter_CuttingBoard_Chop_Bread
33851 Counter_CuttingBoard_Chop_Apple
33938 Counter_CuttingBoard_Chop_Beans
33939 Counter_CuttingBoard_Chop_FishFillet
33940 Counter_CuttingBoard_Chop_MeatRed
33941 Counter_CuttingBoard_Chop_Melon
33942 Counter_CuttingBoard_Chop_Shrimp
37104 Counter_CuttingBoard_Chop_Asparagus
76045 Counter_CuttingBoard_Chop_FishFillet_White

So in order to have your sim chop chicken instead of melon in a recipe cloned from "recipe_Food_Gourmet_Parfait-Single", change

<T>33941<!--CraftingStepInteraction: Counter_CuttingBoard_Chop_Melon--></T>


<T>29642<!--CraftingStepInteraction: Counter_CuttingBoard_Chop_Chicken--></T> (comment is optional, but you may want to remember what you did there)

in your copy and that's it.

2. Retail Price: Not sure what this does -- according to the tdesc it is used to calculate the final price, but in my game it makes no difference. Maybe it's the selling price in case meals can be sold in GtW, I wouldn't know.

3. Additional Tests: skill_test should be self explaining (if a sim doesn't have that skill, they can't make the recipe) -- note this is an additional test: gourmet foods test for homestyle cooking skill here, and for foods that require a stove or fridge, recipes also check for availability of power ("is_delinquent" FALSE = if the sim/household in question is not guilty of not having paid their bills, the test passes and they can cook).

4. Name: this is the key for the string resource (STBL) that has the name of this food. Should be the same as the name hash for the actual object, unless there's a good reason they need to be different. Next is also the phase interaction name (the string that is used for the interaction in the game interface, like "Make Fruit & Yogurt Parfait" or "Serve Fruit & Yogurt Parfait").

5. Skill Test: The actual skill test -- if you want to change required minimum skill, change the number in "lower_bound".

6. Ingredients: See the Ambrosia recipe for a Maxian example of required ingredients (food can only be made when they are available):

<T n="all_ingredients_required">True</T>

When this is set to False or is missing, the ingredients will be optional.

The list below that defines what those ingredients are; they can be defined by tag (like "Func_Ingredient_Fruit" -- any object that has this tag in the tag list in COBJ will fulfill this requirement) or by reference. In the latter case, the number in "ingredient_ref" is the actual object definition (i.e. the ID of the COBJ/OBJD, not the tuning!).

Common ingredients by reference:

22466 -- Lemon, 0x00000000000057C2 gardenFruitGENLemon
23437 -- Strawberry, 0x000000000000B500 gardenFruitGENStrawberry
45295 -- Potato, 0x000000000000B0EF gardenFruitGENPotato
45311 -- Mushroom, 0x000000000000B0FF gardenFruitGENMushroom
46336 -- Tomato, 0x000000000000B500 gardenFruitGENTomato
46396 -- Onion, 0x000000000000B53C gardenFruitGENOnion
47457 -- Spinach, 0x000000000000B961 gardenFlowerGENSpinach

45732 -- Basil, 0x000000000000B2A4 gardenFlowerGENBasil
45734 -- Parsley, 0x000000000000B2A6 gardenFlowerGENParsley

45040 -- Bass, 0x000000000000AFF0 collectFishMedGENBass
45115 -- Trout, 0x000000000000B03B collectFishMedGENTrout
44914 -- Tilapia, 0x000000000000AF72 collectFishMedGENTilapia

Common ingredients by tag:


To find ingredients that are not on this list, open fullbuild0 in s4pe and search for "gardenFlower" / "gardenFruit", filter for OBJD.


This is pretty simple -- copy the interaction you want (look in a stove/fridge/etc object tuning for a list of relevant cooking interactions, e.g. fridge_Cook S4_E882D22F_00000000_000000000000344B), scroll down to "recipes", and put the ID (decimal) of your recipe(s) in there.


See the sticky linked above. You need Python 3.3 to compile the script for public consumption, which you can get here (https://www.python.org/downloads/). The download linked above also has a script that you can copy and amend (injector.py won't need changing; pbox_foods-custom_2015-12.py is where the action is: "pbox_customfoods_fridge_sa_instance_ids" is the list of my own custom interactions (decimal IDs) for the fridges, "pbox_customfoods_stove_sa_instance_ids" is the stove interactions. Put your IDs in there instead, add on to the object IDs as desired (right now this only has the IDs of the base game Maxis objects), and replace the "pbox_" part with your own name. For testing it's probably best to leave it uncompiled; when you're done open the Windows console (Start > Search > cmd.exe), type

cd C:\path\to\your\script

(i..e whichever directory your script resides in), and -- assuming you have Python installed in C:\Python33 -- type

C:\Python33\python.exe -O -m py_compile "name-of-your-script"

This turns on optimisation (-O) and gives the built-in module (-m) named "py_compile" the name of your file to do its thing with (namely, compiling). It will generate a folder "__pycache__" in the same directory as your script, where you'll find the .pyo. This (and the injector.pyo) needs to be zipped; as of a handful of patches ago TS4 can digest .zip as .ts4script (simply rename the .zip), which hopefully helps to avoid users accidentially unzipping it. See also here (http://forums.thesims.com/en_US/discussion/comment/13838037).

29th Dec 2015, 3:56 AM
Awesome! I've been trying to get this to work for the updated Recipes mod!

ETA: Are you going to be updating recipes with new ingredients, or should I continue on? I made a few rough meshes and identified ingredients I'd like to add for existing recipes

29th Dec 2015, 4:15 AM
Hey, you're still here! =) I thought about getting in touch re. the recipes, but then I didn't want to nag =P

Re. new ingredients, two obvious additions I wanted to make at some point are eggs and chicken, but I haven't started doing anything yet (one of the cutting boards is with chicken anyway, so one could just recycle that). Please just go ahead, I won't be doing much in the next two weeks or so I think.

We (or rather, I) should probably split up recipes in smaller batches to make it easier for users to combine variants from different sources .. like if you'd make egg and modify the pancakes, they could use your pancake recipes and my salads and someone else's grilled salmon. Right now we're colliding head first XD. I don't have a good idea how to group them, though, apart from the obvious "one recipe (small, medium large) per package". Do you have a better idea, maybe?

(Also, two users have been reporting issues getting those custom foods to work .. unless it turns out to be something blatantly obvious (like not having unzipped the .ts4script, but I've been trying to rule that out), I'm at a loss as to what the issue might be =/)

29th Dec 2015, 5:18 AM
Yes, I'm still here! Was busy with life for a few months, but picking up the mods again.

I'd be up for splitting things! I'm very, very close to having new ingredients work (eggs first, of course), but seem to be missing SOMEthing. I'll upload what I have tomorrow, since fresh eyes would probably see what's wrong right away :)

29th Dec 2015, 10:30 AM

I've started to split up mine now (one package per recipe, small/medium/large in the same package) -- I'd say we should use the original internal names for package names, to make it unambiguous which is which. Except for the fish + chips which would end up being Fish&amp;Chips that way =P. So mine are like "pbox_recipe_SandwichMonteCristo", "pbox_recipe_FrenchToast", etc now .. also the tuna casserole that I turned into a generic fish casserole is "CasseroleTuna".

30th Dec 2015, 3:58 AM
I just need to take a moment to say that the new ingredients are working!!! Just had to fix a typo apparently! I'll finish making the ingredients and linking them up - I'll post a full list of what I plan on here in the next day or so :)

30th Dec 2015, 6:20 AM
Great; looking forward =)

1st Jan 2016, 1:32 PM
Thank you, plasticbox.

Seems I will not be converting my foods to TS4 then. I neither use TSR Workshop, nor do I have any experience with script modding or Python. :(

2nd Jan 2016, 10:48 PM
it's doesn't work on the Spa Day Refrigerator.

2nd Jan 2016, 11:26 PM
What doesn't work on the Spa Day refrigerator?

3rd Jan 2016, 9:36 AM
I am conversant in Sims 4 tuning,meshing(blender,milkshape) ,tsrw and geostates (since I make Sims 3 recipes with it).I just want to know how much of an in-depth knowledge of python is required for the necessary scripting and adding custom interactions to the SA list.If it is quite a lot then I will take up the project at a later date when my workload is lighter (I will continue with my sims 3 projects for now).
In the meantime I will poke in your food packages if you don't mind.

Edit: Is it as simple as creating a custom interaction tuning using your example and just replacing your custom ids in 'pbox_customfoods_fridge_sa_instance_ids' and 'pbox_customfoods_stove_sa_instance_ids' with my custom ids in the script ? Or is it something much more complicated which is going way over my head :blink:

3rd Jan 2016, 8:06 PM
For the scripting part you can basically copy my script, yes. Don't know if that is clear enough, but .ts4script is nothing but a .zip with a different name -- if you rename my .ts4script to whateverthenamewas.zip you can simply open it; the source files are included. But I guess you already know that much when you know what the variables are named ..

You should doublecheck which objects exactly your interactions need to be added to -- maybe you need more or different objects, like microwaves or EP stoves; also make sure you don't add stuff to stove interactions that doesn't need a stove to prepare, like cold meals. Also, like you say, please don't name your IDs "pbox" =) -- simply replace the "pbox" with "icemunmun" and you should be good to go.

For testing/editing, you can run your script from a subfolder like Mods/myfoodstuff/Scripts ( <-- needs to be named exactly like this: "Scripts", and it can't be more than one subfolder deep). This is very practical when you're still editing it; IIRC you can even edit the script while the game is running, in order to add or correct things (it's been a while since I did that, though).

Please be aware that if you re-use my stuff, CC NC-BY-SA applies (i.e. if you publish anything based on it, you will need to include the source code and allow others to re-use your work as well).


An unsolved issue right now: For the picker menus ("Cook Custom Meal" and the like), each new interaction results in a new menu unfortunately (since "Cook Meal" does not have its own pie menu category =/ ); this is why I keep updating my interactions when I make new foods (instead of giving each food its own interaction. Maybe it would be worthwhile to create one "big bucket of foods" interaction that everybody shares, where people add their recipes whenever they create new foods? We can set up shared accounts for modding groups on mts; if all the food-inclined modders would join such a group I could reupload the interactions with that group account, then everybody could add on to the script and interactions whenever they create a new food. It doesn't hurt anything when an interaction includes recipes that people don't have, they simply won't show up then.

Maybe it would also work to override the regular Cook Meal interaction so that it's using a pie menu .. then people could make their interactions use the same pie menu. But that would mean that users would need to download one more thing for the whole setup to work.

Let me know if you have other suggestions! =)

3rd Jan 2016, 8:21 PM
Sorry for double posting but I cannot see your reply to my post.The last post I can see is post#11 (my post).Something is glitchy because I can see on my user control panel that you have made a post but I am being redirected to the post #1 of this thread.(Same thing is happening even when I am following your last post from your profile).

Edit:Now I can see your post ( Your post shows up after I tried to doublepost.)

Thanks for the information.

I have opened up your ts4script with 7zip and looked at the source.Thanks for letting people use your script :up: .And I will follow the CC NC-BY-SA.

So , I mainly need to work at figuring out which interactions are appropriate for the recipes.I will start with something simple like a salad ( following the garden salad which only requires a refrigerator) and see how far I can proceed.

A common Interaction with a separate download post for it will be a good idea to prevent unnecessary cluttering .( for example like Douglasveiga's CCLoader (http://www.modthesims.info/showthread.php?p=4660598#post4660598) which is a common file required for all custom recipes for Sims 3 and circumvents the need for additional scripting for each new recipe. )

3rd Jan 2016, 8:53 PM
I seem to have the same issue with viewing this thread as you do .. hope it un-borks itself somehow.

Thanks a lot for that link to CCLoader -- I didn't follow TS3 modding much, so that is new to me =). I'll definitely take a look at it; maybe there's some good ideas we can re-use.

To figure out which interactions I needed to clone for my foods, I grabbed a similar recipe (Chili in the case of the soups) and searched the /BG XML folder for its ID. Every interaction that has Chili in the recipe list should also have soups, was the idea (they are prepared in a similar way, they both require a stove).

18th Jan 2016, 1:33 PM
Ok I did a little bit of testing:

1. I cloned gardensalad_single and garden salad_multi using S4S and changed the textures
2. Extracted the 3 recipe tuning of garden salad for single,medium and large and
3. Edited the XML ( I poked in your package to find out which ones I have to change).I did not define a custom mixing bowl like you did though.

4.My custom recipe tunungs:

5.Extracted 7 fridge interaction tuning with custom ids. (I made my custom interaction ids separate instead of adding to yours to test things out)

My custom tuning-
icemunmun_fridge_Cook_PieMenu_CustomDinner_8Servings_Ingredients = 4737457361615045960
icemunmun_fridge_Cook_PieMenu_CustomLunch_1Serving_Ingredients = 1994509380498039986
icemunmun_fridge_Cook_PieMenu_CustomLunch_8Servings_Ingredients = 16537569335734133162
icemunmun_fridge_Cook_PieMenu_CustomDinner_1Serving_Ingredients = 11063287011038247672
icemunmun_fridge_CookCustomMeal-Autonomously = 15325221105365539183
icemunmun_fridge_CookCustomMeal = 14331236663124829657
icemunmun_fridge_CookCustomGroupMeal-Autonomously = 4383215468735259248

6. Added the custom interaction ids to pbox_customfoods_fridge_sa_instance_ids in your script

:!: Now my list of issues:

1.I got the cook custom food interaction to show up but I am getting a blue thumbnail and the party option is greyed out

2. I can start making the recipe but it stops midway.When I click the resume option nothing happens

(I have attached the pictures)

The recipe and interaction files along with your edited scripts attached

What should i do now?

18th Jan 2016, 2:30 PM
Your recipes are pointing to the wrong definitions.

<T n="definition">852942283<!--icemunmun_Food_Homestyle_AutumnSalad_Single--></T>

This is looking for an OBJD/COBJ with instance 0x32D6DDCB, group 0. Your actual food object has 0x826D4D62847128F6, group 0x80000000. I suppose it's the same with the other recipes. To fix this, open the package in s4pe (https://github.com/s4ptacle/Sims4Tools/releases) and renumber the COBJ and OBJD (select resource, doubleclick -- you can just paste the decimal in there, it'll convert it).

(Also, for the script please do not name your module and variables "pbox" -- please use your own namespace! You don't need to add any interactions other than your own, as well.)

Also, there is no need to clone the bowl textures and the footpirnt/rig/slots; since you're not changing the mesh you can just use the original.

18th Jan 2016, 4:36 PM
Your recipes are pointing to the wrong definitions.

This is looking for an OBJD/COBJ with instance 0x32D6DDCB, group 0. Your actual food object has 0x826D4D62847128F6, group 0x80000000. I suppose it's the same with the other recipes. To fix this, open the package in s4pe (https://github.com/s4ptacle/Sims4Tools/releases) and renumber the COBJ and OBJD (select resource, doubleclick -- you can just paste the decimal in there, it'll convert it).

Oh...I completely missed that(I do the same thing for sims 3 recipes but completely missed it here!).Thank you so much.Now it shows up properly.

(Also, for the script please do not name your module and variables "pbox" -- please use your own namespace! You don't need to add any interactions other than your own, as well.)

Yes I have edited the script with my own 'namespace' . I was adding to your script to check whether I was doing something wrong on the script.Back to using my own as the culprit was not the script :lol:

Thank you so much for your help :lovestruc .

But the different custom custom meal options for different creators are going to really clutter up the pie-menu...have you found a solution for that?

18th Jan 2016, 5:52 PM
Yes I have edited the script with my own 'namespace' . I was adding to your script to check whether I was doing something wrong on the script.Back to using my own as the culprit was not the script :lol:

Ah, I see -- yes, for testing that makes sense of course =)

But the different custom custom meal options for different creators are going to really clutter up the pie-menu...have you found a solution for that?

Well I see two options here: either override the whole thing to add a pie menu category for the main Cook menu too (so that everyone can use that category), or move the existing interaction stuff from my soups/interactions upload to an upload that's maintained by a group, so that everyone can add on to the script and interactions (since recipes simply won't show up when they don't exist, people wouldn't be forced to download everything .. just the interactions plus the foods they want).

Like I already said above, there might be a way to add on to the recipe list in the existing picker interaction with a script but a) I don't know if that is feasible and b) it might be a horrible idea anyway, performance wise.

Other than that, when you only want to add a food to the existing pie menus (like Serve Breakfast and so on), that should work independently .. it's only the picker menu that is lacking the category.

E: No categories for pickers, at all:

<TunableVariant type="None" name="pie_menu_option" class="OptionalTunable" default="use_picker" display="Pie Menu Option" muid="5CAC27BACBB8D8A9" description="Whether use Pie Menu to show choices other than picker dialog." Deprecated="False" filter="0" group="Picker Tuning">
<Tunable name="use_picker" class="TunableExistance" display="Use Picker" muid="74995D6F7CF1BE5C" />
<TunableTuple name="use_pie_menu" class="_TunablePieMenuOptionTuple" display="Use Pie Menu" muid="271777F37EA728E6" Deprecated="False" filter="0" group="General">
<Tunable type="pie_menu_category" name="pie_menu_category" class="TunableReference" display="Pie Menu Category" muid="18AA58C4AAA98A0" description="If set, then the generated Pie Menu interaction will be&#xA;categorized under this Pie Menu category, as opposed to using&#xA;the interaction's Pie Menu category." allow_none="True" Deprecated="False" filter="0" group="UI" />
<Tunable type="int" name="pie_menu_name" class="TunableLocalizedString" default="0x0" display="Pie Menu Name" muid="D67BE6258021B08E" description="The localized name for the pie menu item. The content should&#xA;always have {2.String} to wrap picker row data's name." Deprecated="False" filter="0" group="General" />
<Tunable type="bool" name="show_disabled_item" class="Tunable" default="False" display="Show Disabled Item" muid="DA7B3D8BC08D7ABD" description="If checked, the disabled item will show as disabled in the Pie&#xA;Menu with a greyed-out tooltip. Otherwise the disabled item will&#xA;not show up in the pie menu." Deprecated="False" filter="0" group="General" />

E: I posted in the Maxian modding forum (http://forums.thesims.com/en_US/discussion/870749/menu-categories-or-category-like-workarounds-for-picker-interactions#latest) to see whether anyone can think of another way to do this .. if not, I guess founding a Food Group would be the next best thing. For now I can also add your recipes to my interactions if you tell me the final IDs.

18th Jan 2016, 10:08 PM
About Changing meshes using TSRW...in sims 3 we have to get rid of the plate(and only include the changed food group mesh) as the game generated a plate of its own.In Sims 4 do we have to include the plate or only the food group (group 2) ?Does the game generate a plate/bowl after cooking?

Assigning geostates for the bowls are bit tricky as they sit on top of each other and the bottom surface is hard to access!

19th Jan 2016, 12:52 AM
The foods that I have seen so far all included the dish (plate, bowl, glass or whatever). Some foods link to separate objects for the empty states, but when making the mesh you don't really need to care about that.

With the bowls, try using the "Hide Selected" option, possibly in combination with Ignore Backfaces turned off. The clicky-something option can also unselect when you have .. umm, I think Shift pressed. Or rightclick. Don't remember what it was. Sometimes it might make sense to first select everything, then unselect the parts you don't want.

You can hide groups as well, while assigning states for other groups.

Are you sure you need a custom mesh for your bowl food? Asking since sims eat so much stuff out of bowls, there's a lot of variations available already. You can also re-use my soup/pudding mesh if a flat top would work for you.

19th Jan 2016, 11:50 AM
I was thinking of adding different objects to the bowl mesh like a half submerged fish in a gravy for a fish curry.But I think I will try retexturing the available food first.As you said there are lots of options already!

Yes....Sadly,I know about those tricks about geostates and still find it a bit troublesome.Unselecting is by shift click. Its a beast for Sims 3 too.I finally managed to do it by selecting the outer bowl state first.

But I will follow your advice and try retexturing first.Extracting the uv map and retexturing it will be a faster process.No reason to unusually complicate things and go the tediouys way .

23rd Jan 2016, 5:02 PM
Double Posting (For new issue)

Medium-Family size (4) has ingredient requirement<T n="count">4</T> and Large-Party Size (8) has ingredient requirement <T n="count">8</T> but the menu shows a higher price for family size even though the ingredient required is less :help:

23rd Jan 2016, 5:13 PM
That price is the sum of .. I forgot what now XD

* checks *

Here you go:

The price in brackets is the sum total of flat fee + ingredients, i.e. how much it costs when none of the ingredients are available (the game uses a fixed average value for the latter though, unfortunately (the 5§/6§ I mentioned above), not the actual price of each individual ingredient:
Delta price of a recipe will be a delta value that will increase or decrease depending on how many ingredients for the recipe the sim has. E.g. for a 3 ingredient recipe:
-- If no ingredient is found, price will be retail_price + delta
-- If 1 ingredient is found, price will be retail_price + 2/3 of delta
-- If 2 ingredient is found, price will be retail_price + 1/3 of delta
-- If 3 ingredient is found, price will be retail_price


GtW users:

The recipes have a _retail_price variable that seems not to be doing what the Maxian description says it does ("This is not the total price of the recipe. The total price of the recipe will be _retail_price + delta_ingredient_price -- in my testing the total price is flat_fee + delta_ingredient_price), so I'm guessing this is probably used for selling prepared meals in stores (assuming that is possible). Since I don't have GtW I can't check; let me know if putting meals on sale results in weirdly high or low prices.

Quote from my Logical Cooking upload.

I think what happened there is that your _retail_price and flat_fee are out of sync.

E: ooh, you made fruit salad! :bunny: I started to do that but didn't like the texture .. good to see that will solve itself now :D .

23rd Jan 2016, 5:37 PM
Ok...I checked out all the 3 price points:

1.Retail Price
2.Flat Price
3.Delta Price
My Retail Price and Delta Price were out of sync .After adjusting them , the prices are according to order now

Thank you :up: .I am going to upload it now :)

23rd Jan 2016, 6:34 PM
Cool, looking forward =D

31st Dec 2016, 5:33 AM
I am very interested In learning how to get a custom food added to the menu, but I'm not sure how to do it by a long run with python. Can anyone please help me in stages? I have the packages ready completely, I just don't know how to inject the script into them. Thank you (:

31st Dec 2016, 5:41 AM
I am very interested In learning how to get a custom food added to the menu, but I'm not sure how to do it by a long run with python. Can anyone please help me in stages? I have the packages ready completely, I just don't know how to inject the script into them. Thank you (:

31st Dec 2016, 10:08 AM
The Food Group (http://modthesims.info/m/9787728) can add custom foods by guest members to the scripts. If anyone wants to get their custom foods to the menu, PM us with the recipe tuning IDs and which category the foods should go.

But please bear in mind that the custom foods have to be posted on MTS unless there is a valid reason not to do so. (It is okay to release them on several different sites as long as MTS is one of them.) The custom foods also have to published under the same license of the custom food interaction script: BY-NC-SA Creative Commons (Attribution, Non-Commercial, Share-Alike).