Comments

Log in with itch.io to leave a comment.

(+1)

Hi

I just bought the plugin. I really appreciate the complexity and the features and I am planning to use it for a future project.

Nice job!

Thank you for saying. Let me know if you have any issues :)

Hi! I'm planning to add a "Recipe Shop" in the game. Is there a way to check if the player has a recipe enabled/learned already or not? Maybe with some script command? Thanks

Hi Ramza, I hope all is well!

This plugin has solved so many of my blacksmithing issues, but I was wondering: is it possible to use currency (gold, money, etc.) as an ingredient? I have this set up to run as a Blacksmith, and I'd like for them to be able to charge for their services. Worst case scenario: I can just add an extra iron ingot or something to all of the recipes, but I'm hoping that this is an option. Thank you in advance!

Good day.

There isn't currently a way to do this, as gold cannot be used as an ingredient. It would be possible to add a cost to the crafting run once function, and then re-enable the function for the recipe to have a recurring cost, but there'd be no way to indicate to the player that there was a cost, or that it was paid, and there'd be no way to stop the craft from succeeding if the player didn't have enough gold.

On the other hand, an extension to add gold costs (and actually show them in the crafting confirm window) is on my roadmap for this. I can't say when you could expect it to happen, but it's being worked on.

~Ramza

That extension would be awesome, but no rush (obviously). For now I can just add another ingot as "payment". Thank you for the quick response!

(1 edit)

Hello, if I don't I create categories "Cooking, Blacksmithing, Alchemy" in the menu command. When I call scene for blacksmithing and alchemy, they just all go to Cooking scene! But if I create categories in menu. They will show in menu command which I doesn't want to. I just want to call the scene in the map. How can I make those three menu commands disappear? Thanks.

I try to change the code line 2656-2663, but its not working.

Hi there.

I'm not sure I understand exactly what the issue is here.

You can disable the menu binds entirely by changing the plugin parameter in the plugin settings, 'Show in Menu' set it to false, and there will be no menu access to the plugin. The command that would show if this parameter is enabled is a catch all 'Crafting' command, which opens to a menu to select a category to craft in. It will only show categories that you have made recipes for already, and if there's only one category available, it skips past this window to go straight into whatever that was (cooking in your case).

If you only want to call a crafting scene from the map, set the 'Show in Menu' parameter to false, and ensure that you don't have any categories listed in the 'Category Menu Commands' parameter. There is no need to edit the plugin file itself for this.

If you want some categories to be accessible from the menu, and others to not, you can bind them individually using the 'Category Menu Commands' parameter, so you could bind cooking to the menu, and allow access to blacksmithing or alchemy only through an event on the map scene.

To call crafting from an event, use the plugin command, and set the category to the one you want to call. If you want it to call the category select menu instead, leave that parameter blank in the plugin command.

Let me know if you have any other issues.

~Ramza

(2 edits)

Hello, pls help.

In the crafting window, I cannot change the quantity of an ingredient more than one... How? I am using the mouse(computer) and probably deploy on android, so the right arrow key cannot be used.

I might be able to get the scroll wheel to work for that, but I don't think I can get the MZ mouse quantities thing to work there.


I'll see what I can do.

Is there a way of making Failed crafting give you some other result instead?

For example:

Making Bread will result in Burnt Bread instead of Bread when crafting fails.

(1 edit)

All recipes have a failure item, and a soft failure will give the failure item out. It's one of the parameters on the recipe when you make them in the plugin.

There's also an option to hand out the failure item as if it were the successful craft .

(Congrats! You made <Burnt Toast>)

Edit:

The failure item stuff is at the end of the ingredients object, where you'd put in the four ingredients.

Deleted 1 year ago
(1 edit)

Sorry I think I'm going to request a refund for this as it is not working with my particular setup. Level up messages result in a crash.

Sorry to hear that and I wish you luck.

If you wouldn't mind posting the error so I can have a look at it to fix it?

~Ramza

(2 edits)

From Recipe:

From normal craft ui:

Oh and I noticed 2 features that could greatly improve the feeling of the crafting UI.
1: Being able to remove ingredient from a slot when there is no clear button present
2: Use last ingredients button which would fill the slots with appropriate ingredients, so bulk crafting is much more manageable.

Okay, I found the cause of this in MZ.

For some reason, the functions for the level up common event, the immediate code box, and the function that gets the level up string text was not working. Those functions are in the Core plugin, and the MV version of the plugin has no issue calling them, but the MZ version had an issue where those functions we simply not available to the scene.

This can be corrected in your copy of the plugin by adding the following lines to the bottom:

Scene_Crafting.prototype.getLevelUpString = function(){
if (Ramza.CSParams.showLevelUpMessage){
for (i = 0; i < Ramza.CSParams.CategorySpecificLevelMessages.length; i++){
if (Ramza.CSParams.CategorySpecificLevelMessages[i].CategoryName != this._category) continue
var spec = i
}
var text = (spec != undefined) ? Ramza.CSParams.CategorySpecificLevelMessages[spec].LevelUpText : Ramza.CSParams.defaultLevelUpMessage
spec = undefined
var output = text.replace('%n', this._category)
var catLevel = eval("$gameParty._craftLevels." + this._category)
var output = output.replace('%l', catLevel)
var output = output.charAt(0).toUpperCase() + output.slice(1)
return output
}
};
Scene_Crafting.prototype.getLevelUpCommonEvent = function(){
for (i = 0; i < Ramza.CSParams.CommonEvents.length; i++){
if (Ramza.CSParams.CommonEvents[i].CategoryName.toLowerCase() != this._category) continue
return Ramza.CSParams.CommonEvents[i].CommonEventId
}
};
Scene_Crafting.prototype.getLevelUpEvalCode = function(){
for (i = 0; i < Ramza.CSParams.CommonEvents.length; i++){
if (Ramza.CSParams.CommonEvents[i].CategoryName.toLowerCase() != this._category) continue
return Ramza.CSParams.CommonEvents[i].ImmediateCode
}
};

Probably by the time you read this, I'll have also uploaded the fixed version to the main page again.

(3 edits)

I noticed it as well, but I also tested it and I think it's because MZ uses newer nw.js which also works on newer chromium and probably newer ES standard, and the Crafting System plugin is overwriting the Scene_Crafting class from the core plugin.
That is also a lot of redundant code. Scene_Crafting is almost exactly the same between the two.
I literally removed whole Scene_Crafting class from the core and the plugin is working fine. Reverse (Moving Scene_Crafting class to the core and removing it from this plugin) also works.

Yeah, Scene_Crafting in the core plugin is more or less copy-pasted from the MV version of the plugin. Originally there were separate versions of the plugin for MV and MZ, and I merged them together to create the abomination we have now, a Core plugin, which mostly provides the framework for the MV and MZ plugins, and the MV and MZ plugins, which provide the plugin commands, plugin parameters, and window drawings for the scenes, since that was the major difference between the two engines.

That's also likely why your description text is in a weird place in the recipe list scene. MZ had a bunch of different ways that the scene could've been drawn (help window on top, help window on bottom, touch buttons on top, button input window on top, etc) depending on which Visustella Settings you had enabled, or whether or not you were using those plugins. I probably missed a specific set of those choices when I was ensuring the plugin worked with MZ, and prior to the CS_Core split, that plugin didn't work at all in MZ.

Hello! I am getting an error "TypeError – Cannot read property 'result' of undefined" when I try to craft something using an ingredient with the  <UNCONSUMABLE: success> tag. Without the tag everything works fine.

This is the error log:

Interesting.

I'll look into the error in a bit and get back to you. In the mean time, what happens if you enable the plugin function to have soft failures? Does it still error if you use the same recipe? That line specifically is for when soft failure is disabled, while a similar thing happens when it's enabled, it's possible the error is only happening on that one function.

~Ramza

Thanks for the quick reply! I've tried it out on a fresh test project with all the options on default, and it's still happening.


Hello.

I've tried to reproduce this and I can't seem to cause it to cause this error on my test project. In all cases, I tested recipes which only used 'items' as ingredients, no weapons, or armors. I tried where the first ingredient in the recipe was unconsumable, and also where the second was unconsumable. I also tried with the independent items patch and ItemCore turned on and off. In all cases, the expected items remain in the inventory, and the other items are taken as normal, with no errors thrown or crashes.

Any more insight you can provide to help me track this down more?

I tested a bit more, and it looks like this only happens when *all* items in a recipe are marked as unconsumable. As long as at least one item is consumed, everything works fine.

(For context, I am using the system for an investigation-type scenario where you get the different clues as items, and then you can combine them to create new clues. So I've been marking all the "ingredients" as unconsumable, because you'd still have them after "analyzing" them.)

Alright, I can work with that. The function that removes the items from the inventory after a successful craft works from a list of the ingredients, and the list is only populated with the ingredients that were actually consumed, so if the list was empty, instead of just moving on, it tries to read an object that doesn't exist and fails instead.

I should be able to get that sorted out fairly soon.

I found the issue and have it corrected in the latest version. Please give that a download and make sure everything is working as it should be.

Hello there. I would really like to buy your plugin BUT isnt it possible at all to cook only when you know a specific receipe? You mentioned its not like other plugins, you can smash ingredients together and hope for the best. I want a specific story based receipe which wouldnt be good when the player can just do it randomly. Hope you understand what i mean. Thanks in advance ^^

Greetings.

Version 1.10 of this plugin added the ability to disable and enable specific recipes. This was different than locking or unlocking them.

  • By default, all recipes are locked, and enabled.
  • When a recipe is crafted the first time, it is unlocked.
    • This allows it to show on the preview window if it is enabled, and allows the player to craft it directly from the recipe list menu if you have that.
  • There was already a plugin command to unlock a recipe, which you could use in a common event, or something, to allow the player to preview some items, or see them in the recipe list by default. You could also use this to teach the player recipes via an event.
  • Version 1.10 added a command to 'lock' recipes again. This was technically possible to do already by messing with some script calls, but the plugin command allows you to 'hide' an unlocked recipe again. Why you'd want that, I'm not sure, but there it is.
  • Disabling a recipe prevents the player from making it at all. It will not show up on the preview window, and crafting it, even if the correct ingredients are given will result in a hard failure (as if the recipe doesn't exist).
    • There is no way to have a recipe start as disabled, but you can run the plugin command from a common event at the beginning of the game to disable recipes you don't want the player to be able to make right away.
  • Enabling a recipe simply un-disables it, allowing the player to make it again.

Basically you'd make the recipe like normal, and then in the game, before unlocking the crafting system, you'd run a plugin command to disable that recipe, preventing the player from making it. Then when you want them to be able to make it again, you can enable it using the plugin command.

You could also do something like requiring a 'recipe' item as part of the craft, which the player wouldn't acquire until they should know about it, and making that recipe not consumed on failure, so if the player jams it randomly into a craft it doesn't disappear forever.

Hope this clears it up for you.

~Ramza

Hello. I just bought your plugin. And I was wondering if it's possible to combine items from different catagories? (Example: Item x Weapon)

Hello there.

Recipes can contain up to four ingredients. Those ingredients can be either items, armors or weapons. The recipe doesn't have to contain only ingredients of the same type.

In order for those ingredients to be usable together, though, they do have to be tagged to be usable in the current crafting category with the validCats note tag.

(1 edit)

Ok. I'll try that. Thx

(+1)

Hey. Just tried what you said, and wanted to say it's working now. Thank you again.

Sorry, I'm asking again. I set various settings and added two new ones in the Recipe ListCraftTypes But when testing, it prompts Invalid left-hand side in assignment

Hello.

I believe the issue here is that your craft category has a '/' in it. I might also think it could be the non-latin alphabet, but I was able to reproduce the problem just by creating a recipe that used a category with a '/' in the name.

The problem comes from the function which takes the string and turns it into a property of the $gameParty._craftLevels object. Unfortunately, properties like that cannot have a '/' in their name, so it causes the crash.

Originally I thought this might have been because of the way I was defining them, but I tried it the 'correct' way, and it still caused the same crash. Unfortunately, there is no way to correct this without redefining how those properties are created and called back later. 

The best thing I can suggest is to use a category name that doesn't have a '/' in it.

~Ramza

Hi, I purchased your plugin and then I read your plugin description. Probably because of my bad English, I still don't know how to add new CraftTypes. Can you give me a detailed example?

The craftType window is a combo box.


That means from that dropdown, you can select one of the pre-existing craft types (alchemy, blacksmithing, cooking), or you can type a new one in the box. By typing a new one, the recipe now belongs to that craft type.



So just type the name of the new crafting type in there. To make any more recipes for the new type, make sure the name is exactly the same for each one, same capitalizations and everything. Also make sure to use the correct craft type name when setting ingredients via note tags.

~Ramza

Hello. I recently bought this script. Do you know why I am getting an error $Datas is not defined. I followed the tutorial and it seemed to only happen when I am putting in the base ingredients. I have it on the items DB etc.

Hello there.

Without seeing the full error message, I can't be sure what's causing it. $Datas by itself is not something my plugin (or any other) is likely to be calling.

When you get the error, open the console (f12) and click on the console tab at the top, and then take a screenshot of what you see in that window, and paste it in a comment here. Also, I'll need to know what you're doing when the error comes up. Is this happening when you click test play? When you load a save file? When you open the menu? When you try to go into the crafting menu scene? What you call a plugin command? These are all important things I need to know to try to track down the problem.

My initial thought was that maybe you weren't running the CraftingCore plugin, but I realize now that if that were the case it would give a very specific crash message before loading at all.

Also, if you could post a screenshot of your plugin manager (or multiple if you have too many plugins to show in one screenshot), just so I can confirm load order and look for some possible incompatibilities, that would help as well.

~Ramza

Thanks for the reply. It was my error last night. The error only occurred when one base ingredient is placed.I don't know why I was only using one ingredient lol. But  I got it working now with two ingredients instead of one. Here are the error codes though. It was a fresh project. The plugins were just your Core and the crafting system.

Ah, yeah, that'd do it.

The scrip expects at least two ingredients, so it doesn't have a failsafe check for when there's only one in a recipe. For the first two ingredients in a recipe, it checks each item to see if they are an item, weapon, or armor, and then checks $dataItems, $dataWeapons, or $dataArmors depending on what the item was. This is where it adds the actual ingredient item to an array, so it checks the database for that.

The third and fourth ingredients have a check where if they don't exist, it skips that part and doesn't load anything. But since recipes require at least two ingredients, the second ingredient isn't checked in that way.

~Ramza

hi Ramza I am new to RPG maker just bought your app followed your loadout - any others I added I may be doing something stupid so please tell me but it will not work I get two different errors I will attach an image if I can to show you if I use your loadout I get a stack error and game won't launch but if I turn off your cs core it will launch but when I click on the crafting menu it crashes I have spent about 5 hours trying to figure this out and has stalled any progress on making my game so if you could help that would me great!

Hello there.

For these errors, can I get you to open the console and provide the text it shows there?

Press f12 after the crash happens, and click on the console tab. It should should show more important info about where the error is happening. 

Without that extra info, it will be very difficult for me to pin down the cause of the error, as both messages aren't very descriptive on their own. One thing you could try would be to disable the independent item patch and ItemCore and see if that clears the error. The info on the patch does state to make sure itemcore is configured in a very specific way, and if you haven't done that, there would be issues, possibly the stack error.

The crash when you disable CS Core and try to enter the command on the menu is because without the CS Core plugin, that command doesn't know what to do, and the functions it calls don't exist. 

~Ramza

Ok here it is thank you for the fast response and I hope you had a good Christmas


Okay, so.

You've got a couple of things going on here. First of all, the stack size error is causing the crash, but you're getting tons of errors from other MZ plugins in your project before that, which will cause you a bunch of problems later.

Taking a better look at your first screenshot, combined with these messages, it appears your project started in MV and was moved to MZ, but wasn't migrated over properly. That first error message about the registering plugin commands is telling us that function doesn't exist - that's a problem because that function is an MZ only function, and lots of plugins use it to allow you to use their plugin commands in the engine. All features of the game engine come from the core plugins for MZ/MV, and if you're missing a core function like registering a plugin command, your core plugin files are missing this function, and the only way I could figure that this could happen was if you had originally started this project in MV and moved it over to MZ.

If your migration had been complete, those first bunch of error messages wouldn't show for the VisuStella plugins, or for my own. To fix this, you need to make a fresh new project in MZ, then go to the folder it is saved in, then copy the files from the js folder into your old project, and overwrite all of the old ones. Additionally, you probably also need to copy the libs folder from inside the js folder into your own project's folder as well, to make sure that effekseer and nwjs and a few other things the project uses are using the MZ versions.

I caught this not only because of the errors, but your original post contained a screenshot of your game menu screen in the background, which looks like the MV menu, and the game windows in the original screenshot both have the MV project icon in the top corner, not the MZ one.

Update your core files in the way I have explained, and it should stop those errors. If your project isn't very far along yet, you could also start a brand new project in MZ and go from there, if it seems like it would be less work.

The stack call error is happening because you're using version 1.00 of the Ramza_CraftingSystem_MZ plugin. I presume you took this file out of the plugin demo, as it shouldn't be available for download anywhere else. When I released version 1.10, I split the plugin into two parts: the core, which you have, and the platform plugin. The platform plugin you're using is from before the split, so line 1910 in the core plugin is calling the same function from the platform plugin, which is calling the core plugin, and repeating forever until it crashes. I haven't updated the plugin demo project since the initial release though, so the demo itself still works, but trying to use the plugin from the demo in your own project would fail.

Technically disabling the core plugin would stop the stack error, but it causes a different error when going into the scene from the menu because of a bug in the version 1.00 plugin that I fixed in a later release. 

Download the latest version of the plugin from your library here on itch, and put it in the folder instead of the 1.00 version you currently have. And that error should stop as well.

Note: if you don't update your core files as outlined above, you will find that most MZ plugins will not work at all. Most won't load at all, and some will outright crash the project when you try to start it. 

~Ramza

ok remade game from scratch i can open menus now still got one error but game is playable so I will call that a win thank you for all your help

Greetings Ramza. I have the crafting system plugins for MV, but I've been considering porting my project over to MZ. I am wondering if I'll need to purchase the MZ version separately from the MV.

Greetings.

You will, unfortunately, need to purchase the MZ version separately. Despite the fact that they both use the same core plugin, and extensions, the actual plugin for each version is different. Unfortunately, because of the way I made the MZ version on here, making one version free when you already owned the other wasn't doable at the time, given the work put into porting it over, and changing it after unifying the plugins to use the same core would be doing a disservice to people who have already bought both versions.

Right now though, it is heavily discounted, and keep in mind that buying any of my plugins allows you a perpetual license to keep using them in whatever project you want.

Also, I haven't tested this at all myself, but it's also likely that the FOSSIL plugin might allow you to use the MV version in MZ as well. The majority of the differences between the two plugins were menu and window based, and FOSSIL tends to handle those kind of changes pretty well without a specific patch being needed, so maybe you could also look into that as well if you're hesitant to buy the MZ version. Additionally, if you did this, you could also use FOSSIL to make use of ItemCore to use a hopefully more robust implementation of independent items in your MZ project, because my little patch does what it needs to, but it cuts out a lot of the other stuff ItemCore provided

~Ramza

(+2)

Hey Ramza! No bugs or anything, I just wanted to send you a heartfelt thank you for making this. This plugin, specifically along with your unique item patch, is making it possible to make *exactly* the game I wanted. Will be following and supporting your work in the future. :)

Hey thanks for the positive feedback :)

You have no idea how much anxiety I just felt, waking up to an email that someone made a post, and then logging in to see it was the same guy who just bought something the previous day. I was like "Oh.... oh no, what did he find that everyone else missed so far?" XD A real weight off my shoulders to see this instead of yet another bug report :)

A look forward to seeing what you can do with the system, my dude!

~Ramza

(1 edit)

Hey Ramza, I...have no idea what happened, I'm hoping you can help. I was testing some new crafting recipes and on the crafting screen, the ingredient select screen is...gone.


I've tried deleting and re-installing your plugins, and turning off everything except your plugins to test for conflicts with any of my others (the visustella suite), and this happens no matter what I try. But the potentially weirder part is that it exists somewhere, because you can still select the items, see?

and otherwise it works great! Because of this I thought it might be related to screen resolution, but I get this result even when I set it back to the default settings. Any ideas? I'd be happy to provide any other info you might need.

Edit: It's a conflict with Visustella's Core Engine (Which for some reason I didn't think to turn off in my testing) Probably one of the UI layout settings that's messing things up. I'll update again if I can figure out which setting needs tweaking.
(+1)

That window should be drawn in a way where it starts at the bottom of the category window. I might've messed something up when I was 'fixing' the window in a previous update though.

Try disabling the category window from the plugin parameters to see if the window magically comes back. I'm not looking at it just this minute, but I recall having to mess with some of the window positioning for various iterations of the Visustella Menu layout, and I may have missed the specific layout you're using. Give that a try and see what happens.

-Ramza

Hey, sorry friend. I disabled the category window, and that just removed the item/weapon/armor/clear bar (as I suspect it's supposed to) but nothing came back. All my futzing in the visu core plugin (version 1.41) has only made things worse - I deleted the title menu entirely a few times, and then found an option that removes everything except the result menu from your crafting screen (disabling overlays).
It's obviously not an emergency, I can work on plenty of other things for awhile but I'm out of my depth. If you would give it a look the next time you have some time, I would be forever grateful. And thank you for your quick responses!

(+1)

See, the interesting thing about this is that your screenshots seem to show a layout style that I was unable to reproduce. I have an idea what's going on here though, so I'll take a look in the next couple of days and see if I can fix it.

Your layout is different than what would normally show with the Visustella defaults enabled, namely, the key info window should show up at the top of the scene, but since it appears you have the little touch button thing disabled, it put it at the bottom instead. I wanna say that the reason that one window is not showing up is because it's actually being drawn off the bottom of the screen because it's Y position probably based on the bottom of that key input window. Although since this display code was mostly unchanged between the MV and MZ versions of the plugin, and that window doesn't exist on MZ, that actually seems kind of unlikely.

It could also be that it's being drawn underneath the item slots and preview windows instead, but the VS plugins make it so that windows drawn on top of each other can be seen through the semi transparent windows, which doesn't appear to be the case in your screenshots.

In any case, once I can reproduce the problem, fixing it should be pretty simple, I think.

~Ramza

Hey Ramza! Sorry to bug you again, but I have another problem.  Got it to show up in game without crashing (new game was the trick!), got ingredients to show up in the crafting window (yay!), but when I actually craft something it crashes.  Is there a note tag required to make a successful item?  I am not seeing one in the tutorial.

(1 edit)

Hey there. 

I'd need to see the error message/stack to know what's causing the crash. Generally if it gets that far, the only way I'd think it would crash is if the item you set the recipe to give you doesn't exist at all, or maybe a failure item. It could also be that your failure % chance formula is returning something weird, so it can't do the math to see if you succeeded or not, and crashes because of that.

Double check your recipe to make sure that it has a valid result item type and id. and disable the failure chance plugin parameter to see if that's causing it. If it works then, you can look at your success rate formula in the plugin params as well. 

Note that if you turned off crafting exp, the default formula used the current crafting level in it, so if you left the default formula that's probably where your crash is coming from.

Edit:

If you happen to be using the very latest version of the plugin (at least as of the time of your posting this), the issue could've also been that the success rate text was trying to change color using a function that no longer exists in RMMZ. I corrected that in an update I just uploaded a short while ago, so give that a try too.

Hey Ramza! I love the look of this plugin, but I'm getting an error whenever I try to call the crafting system.  What am I doing wrong?  I think I am misunderstanding something.  

(1 edit)

Hello there.

I'm sorry you're having this issue. It looks like the crash on line 5765 is checking $gameParty._lockedSlots to see if an ingredient slot is locked or not, but that object is not defined (yet?) in your project.

The reason is likely that you are loading an old savegame from before you imported this plugin, as that object is defined when the plugin is loaded, but the older savegames won't have it stored in them.

You can get around the crash by loading the save, then opening the console (f12) and typing $gameParty._lockedSlots = [false, false, false, false]. It is likely, however that you will continue to have problems with the scene beyond this if you continue to use the old save game.


Edit: Also worth noting is that calling the crafting scene from a plugin command apparently has an issue where the category window stays up in the middle of the screen. I fixed this in the MV version, but haven't had a chance to port the changes over to the MZ version. I'm working on trying to merge to code of both plugins so that I don't have to update each one individually. I'm not sure how that'll look, or when it can be expected, but it's coming.

Ok.  I will start a new game then to test.  Thank you for the great and fast reply!  I can't wait to get this working in my game as it looks so awesome.  Keep up the good work, bro