Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

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.

(2 edits)

Looking at the amount of code, it is the core plugin you should be pricing, someone could literally download the core and spend few days writing a working crafting system, that they could redistribute for free.

As for the recipe list, I'll look into it and see if I find anything on my own.

They probably could, but I'd like to think that all of that code is almost entirely useless without the help documentation and the plugin parameters from the paid ones. And frankly, if someone could successfully build a system from only the core plugin that worked, that guy probably could've made his own system from scratch, and it probably would've been better than mine anyway.

(1 edit)

Okay fixed it:

Literally just added + this.helpAreaHeight() to line 1868:

var wy = (Utils.RPGMAKER_NAME == "MV") ? this._helpWindow.height : (this._buttonAssistWindow && this.buttonAssistWindowRect().y > 100) ? 0 : this.buttonAreaHeight()

Changing it into:

var wy = (Utils.RPGMAKER_NAME == "MV") ? this._helpWindow.height : (this._buttonAssistWindow && this.buttonAssistWindowRect().y > 100) ? 0 : this.buttonAreaHeight() + this.helpAreaHeight()

It is this setting from Visustella's Core that caused this.

Okay, I have this one fixed in a slightly more elegant way. 

As it turns out, the check I was using to see if the help window was on the top or bottom of the screen was checking if the Y value of the help window was > 50, which it turns out, with the button frame from VS turned on, is actually at 52, which caused the result item and recipe list window to draw expecting the help window was at the bottom of the screen.

The update is live now, feel free to download it, if you like. I appreciate your input and patience on this, I am one guy, after all, and the giant scope of this plugin, combined with testing it for several unique use cases makes squashing all of the bugs a little difficult.

It also says Undefined as a level up message when you set Use a level up message to false.