Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Conflict with Visustella MessageCore?

A topic by Vidyamaya created 93 days ago Views: 129 Replies: 8
Viewing posts 1 to 5

Just started updating A LOT of older plugins, and this one seems to have completely broken something:

If I have your ChoiceManager and the Visustella MessageCore plugin turned on in the same project, the game crashes the moment a Choice Window is called up, which wasn't happening before... The screen flashes red and some kind of error message pops up and disappears faster than I can read it, and then I'm back at the Editor window -- and this happens even on a brand new project.

Developer

Hi there!

TLDR; Create a sample project for me replicating the error, and send the link to my discord: hakuenstudio. I will see what I can do.

Now, below I will list some reasons why this could be happening but also will share with you some thoughs. Please don't take the wrong way, I'm just trying to clarify things, I'm not mad at all.

1 - Your afirmative is wrong:

"Just started updating A LOT of older plugins, and this one seems to have completely broken something:"

- You can't know for sure that is MY plugin that broke something. When there is a plugin conflict, the right afirmative would be: "These two plugins are conflictiing with each other".  You can't say that the problem lies on one or another.

You updated my plugin version, but also Visustella plugin version changed. The two plugins changed, the way the codes communicate with each other will change. Even if only one plugin changes, that does not mean he is the one that broke something. Sometimes, fixing a bug, adding a new feature, will make changes into the code, and there will be no way for two plugins to work together after these changes. Sometimes, we can adjust things and make it work together, but sometimes not.

2 - Obfuscated code

- Visustella plugins are obfuscated. This means encrypted. I cannot see what they are doing. Therefore, I can't compare both codes and see what is conflicting between them. What I can try to do, is a process of trial and error, that takes much more time and it is harder, than if I could just take a look at their codes to see where the problem  lies.

I also cannot remove the obfuscation of their code, since it is against their terms of use.

3 - Visustella Terms of Use 6

If in case I manage to find the problem, I will need to follow this. I will have to ask them, wait for approval, and if they approve the compatibility patch that I MADE, that I took my time to search through my code and their obfuscated code, I will have to put that on THEIR WEBSITE, for free(that last is fine haha). Even if you pay me to do, I cannot do that. 

On other words, I can only do a patch for this problem, if I manage to fix it by just using my plugin.

4 - Compatibility issue

I never see Visustella making compatibility patch for anyone, for any other plugin maker. The code obfuscation and their terms of use, also is a big setback to any other plugin maker that has the will to make a compatibility patch that involve their plugins. 

I usually get requests like yours, and people always says that problem is on my side. But after the explanation above, it will not be easier to ask THEM to make a compatibility patch with my plugin? Because they could have access to both codes, since only they can see their code without obfuscation. I give my plugin for free for them to take a look.

What I mean with this is, they have all these setbacks to make compatibility with other plugin makers, and people don't see to take that into consideration when using their plugins. You need to know that, by using their plugins, this could be a reality on your project: They will not create compatibility patches with other plugin makers. And also equally true, other plugin makers(like me) will be higher desmotivated to create patches by have to follow their terms of use and take a look at a obfuscated code.

  • So, my code is not obfuscated, but their code is obfuscated.
  • I cannot see their code without obfuscation, but they can.
  • As so, their are the ones who people should ask first to make a compatibility.

5 - Plugins with the same feature

Now, Visustella Message Core, on my opinion is a bloated feature plugin (as many others). What I mean is, it messes with way more things than just the Message System of RPG Maker. This make everything harder for compatibility. It also messes with choices and who knows more.

So, these two plugins are making changes on the RPG Maker choice system. It's high unlikely that they will work together. I know you said that on a previous version they worked just fine. But that is luck, an exception. Usually plugins that does the same thing does not work together. It's like having two plugins that changes the Status Window Menu. Or they will not work together, or they will work with some problems.

6 - Use the previous version

Have saying that all, if I didn't manage to fix the problem, you may consider using the previous version of my plugin. Or stop using one of them. Or ask them to try make a compatibility, I could my plugin to them with no problems.

(1 edit)

Yeah, I was aware of most of that, but I guess I could have worded it more carefully; As per the title of my post, there's a conflict somewhere between the two, but it's a game-breaking conflict that didn't exist between previous versions... But it's possible that I might not need one of those two plugins because I recall there being a bit of a crossover of similar features between the two of them, so I'll mess around with it some more when I'm done updating everything else (because the REAL bloat is my plugins list, lol), and if I'm still having problems after that I'll send you a sample project. It's pretty easy to reproduce though: Just turn on both plugins, and then when you try to open a Choice box with the most straightforward default method, it crashes.

Developer

Understood friend, all cool!

But do let me know if you didn't manage to fix, then send me the project so I could take a look. Maybe we get lucky to fix this easily ^^

(2 edits)

Still haven't managed to get it working, and found a few more problems as well... Only one of them is related to your plugins so far, and it at least has a simple workaround: A few properties in your CharacterManager plugin don't seem to do anything when I have Visustella's EventsMoveCore turned on -- specifically the X- and Y-scale, but I can change those using Visustella MapEventEffects and it works exactly the same, so I can just use both plugins together to get things done.

The BIG problem I'm still having, tho, is that conflict between your ChoiceManager and Visustella MessageCore; If I have both plugins turned on, the game crashes the moment a Choice box is supposed to appear. I can't do away with the MessageCore because it's required for other Visustella plugins that I need... But I also need a way to reposition my Show Choices dialogue boxes, and I've not found any way to do that without your ChoiceManager.  Your older "Move Choices" plugin does nothing at all (I think I initially purchased your ChoiceManager because that one stopped working a long time ago). I've attempted to use a few Script Calls that I've found online, but had zero luck with those as well (but I know absolutely nothing about scripting and coding, so there's a very good chance I'm doing something wrong ).

I threw together a quick Demo Project so you can easily see the problem in action:
[Removed the link, since my plugin is paid]

I'd appreciate anything you could do or alternative suggestions to help me get around this, because right now my Title Screen is being covered up by an obnoxious "Game Start" dialogue box that's stuck right in the center of the screen... You'd think something as simple as this wouldn't even require a plugin, but holy crap this is like the 3rd time I've had to spend days stressing over it, lol.

Developer

Choice Manager

I manage to fix the choice manager issue.

But the main problem is like I said to you before about compatibility with Visustella stuff, and compatibility with two plugins that messes with the same thing inside code, in this case, the Choices. It does not crash anymore, but don't know if they will work properly. I will make a patch later, but for now, change this inside my plugin code:

Find this function:

Window_ChoiceList.prototype.refreshSize = function() {
    this.width = this.windowWidth()
    this.height = this.windowHeight()
    this._helpWindow.refreshSize()
}

And replace it with this:

Window_ChoiceList.prototype.refreshSize = function() {
    this.width = this.windowWidth()
    this.height = this.windowHeight()
    if(!this.helpWindow){
        this.createHelpWindow()
    }
    this._helpWindow.refreshSize()
}

Real easy fix to do, and I just had to take a look inside my code, lucky!

Char Manager

On the other hand, Character Manager although was an easy fix, it was real hard to find the problem, because it was not throwing an error. I had to guess some things and by trial and error, I manage to fix, I guess. Still, don't know if this will cause any side effects.

On my Char Manager plugin, find this function:

    Alias.Sprite_Character_updateOther = Sprite_Character.prototype.updateOther
    Sprite_Character.prototype.updateOther = function() {
        Alias.Sprite_Character_updateOther.call(this)
        this.updateCharManagerFeatures()
    }

And replace with this:

if(Imported.VisuMZ_1_EventsMoveCore){
    Alias.Sprite_Character_update = Sprite_Character.prototype.update
    Sprite_Character.prototype.update = function() {
        Alias.Sprite_Character_update.call(this)
        this.updateCharManagerFeatures()
    }
}else{
    Alias.Sprite_Character_updateOther = Sprite_Character.prototype.updateOther
    Sprite_Character.prototype.updateOther = function() {
        Alias.Sprite_Character_updateOther.call(this)
        this.updateCharManagerFeatures()
    }
}

Final consideration

I'm not releasing a official patch because I still don't know if the patches will cause any collateral damage. I will wait for you to talk to me to see if everything is ok.

Dang, that was fast, lol. And thanks a ton, I'll be sure to keep supportin' ya in the future! But I guess now I'd better go test it out before getting too festive about it... Thanks again!

You are THE MAN!!! The CharacterManager worked right away, but for a moment there I got worried because the ChoiceManager wasn't drawing the choice boxes in my main project like it was in the demo, and seemed to be getting hung at that point in the event -- but then I realized that I just needed to place it a little lower in my plugins list... Guess I must have gotten in a frustrated panic earlier and just started throwing them all over the place, lol. But now they're all working again, and I can breathe a huge sigh of relief! THANK YOU!!!

Developer

hahaha, thanks for the report! I'm glad we managed to fix this and able to help you :)

Have fun! Let me know if have any troubles! :)