Status
Not open for further replies.

Yuudai

Burritoman!
Veteran
Joined
Dec 16, 2014
Messages
42
Reaction score
18
First Language
German, English
Primarily Uses
In the times I've made the shifts regarding notetag loading, this is what I've came up with:

  • DataManager.extractMetaData fails to distinguish types of data.
  • DataManager.onLoad loads strictly in the order of actors, classes, skills, items, weapons, armors, enemies, troops, states, animations, tilesets, common events, system, and types. This becomes a problem when you need an actor notetag to reference something in say, an enemy notetag.
  • Scene_Boot.start is a no go for me because some plugins completely overwrite it.
  • Scene_Boot.create also gets overwritten in some plugins.
  • Scene_Boot.terminate occurs too late, in some instances where functions that fun in Scene_Boot.start already occur and require the note data.
So yes, you're right in that RPG Maker MV doesn't have a reliable location to safely load up custom notetag data. DataManager.postDatabaseLoaded would have been lovely if it existed. For that reason, I figured the earliest and safest place to load notetag data is within DataManager.isDatabaseLoaded where it will most likely not be overwritten.

The error most likely came from the person tampering with the JSON file as there should be a notedata entry for each database entry.

And what you consider to be bad practice, I consider to be perfectly fine. isDatabaseLoaded() should return true or false depending on if the entirity of the database is completely loaded, is it not? To me, I deem that the database is not completely loaded unless the notetag data within it is loaded and parsed. So unless my notetags, which I deem to be part of each and every database entry's data, are loaded, isDatabaseLoaded() returning true/false without my notetags loaded in there is delivering false information. If you are able to suggest a better timing for me to load notetags without encountering any of the above listed problems, I'll see to your suggestion.

And no, not really. I estimate that a good 99.99% of the plugins created now and within the future will not run DataManager.isDatabaseLoaded() any time past the initial opening steps. It's a one-to-two time run at best. This is because once the database is loaded, there is no further reason to check it again mid-game to see if it has been loaded.

 


Not quite, I've tried that before and sometimes, $data_ arrays reset themselves to their default editor state until isDatabaseLoaded is set true indefinitely.
All this javascript coding stuff...I'm like

6611763_t.jpg


my head hurts x(
 

Yanfly

Veteran
Joined
Mar 15, 2012
Messages
1,764
Reaction score
2,663
Class Change Core

Features and How to Use




Plugin: http://yanfly.moe/2015/11/27/yep-32-class-change-core/

This plugin creates a system where your player can change classes through the main menu allowing for more customization!

Instructions

Introduction

 

This plugin adds the ability for your player to freely change the classes of actors outside of battle from a menu. When changing classes, this script gives the option for the developer to choose whether or not classes have their own levels (causing the actor’s level to reset back to the class’s level) or to maintain the current level.

 

Notetags

 

The following are some notetags you can use with the Class Change Core plugin.

 

Actor Notetags:

<Unlock Class: x>

<Unlock Class: x, x, x>

<Unlock Class: x to y>

This actor will have class(es) x unlocked at the start of the game in addition to its current class and access to any of the global classes.

 

<Class x Character: filename y>

When this actor’s class is x, the actor’s character sprite will become ‘filename’ and index y on the fieldmap.

 

<Hero Character: filename y>

<Warrior Character: filename y>

If you prefer to use class names instead of the class ID, use the above format. When this actor is this class, the actor’s character sprite will become ‘filename’ and index y on the fieldmap.

 

<Class x Face: filename y>

When this actor’s class is x, the actor’s face graphic will become ‘filename’ and index y for menus.

 

<Hero Face: filename y>

<Warrior Face: filename y>

If you prefer to use class names instead of the class ID, use the above format. When this actor is this class, the actor’s face graphic will become ‘filename’ and index y for menus.

 

<Class x Battler: filename>

When this actor’s class is x, the actor’s battler sprite will become ‘filename’ in battle.

 

<Hero Battler: filename>

<Warrior Battler: filename>

If you prefer to use class names instead of the class ID, use the above format. When this actor is this class, the actor’s battler sprite will become ‘filename’ in battle.

 

Class Notetags:

<Icon: x>

Sets the icon for this class to x. This icon is used in the Class Change menu listing.

 

<Help Description>

Text

Text

</Help Description>

Sets the help description for the class to the specified text.

 

<Level Unlock Requirements>

Class x: Level y

Class x: Level y

</Level Unlock Requirements>

Sets the requirements for unlocking that particular class. The unlocking of the class will require classes x to be at level y. Insert multiple of the strings in between the two opening and closing notetags to require all of the class levels to be met.

 

<Level Unlock Requirements>

Hero: Level y

Warrior: Level y

</Level Unlock Requirements>

If you prefer to use class names instead of the class ID, use the above format. This will set the level requirement for the mentioned class to y. If there are multiple classes with the same name, the class with the highest ID value will be taken.

 

Plugin Commands

 

Included in this plugin are multiple Plugin Commands to help assist you with class changing for your game.

 

Plugin Command

 

OpenClass

This opens the class changing scene.

 

ShowClass

This shows the Class option from the main menu.

 

HideClass

This hides the Class option from the main menu.

 

EnableClass

This makes the Class option enabled.

 

DisableClass

This makes the Class option disabled.

 

UnlockClass 5 6

This allows Actor 5 to unlock Class 6.

 

RemoveClass 5 7

This causes Actor 5 to no longer access Class 7.

 

UnlockClassAll 8

This unlocks Class 8 for the global pool.

 

RemoveClassAll 9

This removes Class 9 from the global pool.

 

Happy RPG Making!
And some goodies<3

Add Ons

  • Fox’s JP Levels – This Plugin adds levels to the Yanfly’s JobPoint System, like Final Fantasy Tactics had. It allows for restrictions on what skills your allowed to buy with the SkillLearnSystem based on the current classes’ Job Level. It allows for restrictions on what class your allowed to equip with the ClassChangeCore based on the current classes’ Job Level. The Job automatically gains levels just by gaining JobPoints.
 
Last edited by a moderator:

Nohmaan

Veteran
Veteran
Joined
Jul 7, 2012
Messages
182
Reaction score
49
First Language
English
Nice!  Any plans to add Subclass functionality?
 

Riff

Eorzean
Veteran
Joined
Oct 25, 2015
Messages
267
Reaction score
86
First Language
English
Primarily Uses
RMMZ
Nice! Any plans to add Subclass functionality?
He revealed that in his site, comment section. Please look forward to it! :) EDIT: Whoops, forgot to answer the question. Yes, and very soon!
 
Last edited by a moderator:

Nohmaan

Veteran
Veteran
Joined
Jul 7, 2012
Messages
182
Reaction score
49
First Language
English
He revealed that in his site, comment section. Please look forward to it! :)

EDIT: Whoops, forgot to answer the question. Yes, and very soon!
Thanks for the info, that's exciting news.
 

Tenryuga

Villager
Member
Joined
Oct 24, 2015
Messages
12
Reaction score
2
First Language
English
I figured out the problem I was having with getting enemy atb gauges to display. The script apparently does not work with this animated sideview enemies script I was using. Thank's for that suggestion to try the plugins in a new project Yanfly; It helped me figure out what was going wrong.
 

Yanfly

Veteran
Joined
Mar 15, 2012
Messages
1,764
Reaction score
2,663
I figured out the problem I was having with getting enemy atb gauges to display. The script apparently does not work with this animated sideview enemies script I was using. Thank's for that suggestion to try the plugins in a new project Yanfly; It helped me figure out what was going wrong.
If it helps any, I have an open beta animated sideview enemies plugin that I know works with my plugin library: http://yanfly.moe/2015/11/21/open-beta-animated-sideview-enemies/

It's still in the works, but for the most part, relatively stable.
 
Last edited by a moderator:

Riff

Eorzean
Veteran
Joined
Oct 25, 2015
Messages
267
Reaction score
86
First Language
English
Primarily Uses
RMMZ
Hello! Question on YEP_ClassChangeCore.

What can i put in the global classes list parameter to disable it? My actors have unique sets of classes, and I've tried putting a '0' but ended up getting some error. When i put some values, it worked fine.

Cheers!
 

Galenmereth

Retired
Veteran
Joined
May 15, 2013
Messages
2,248
Reaction score
2,160
First Language
English
Primarily Uses
N/A
I'm going to be direct and respond to the individual parts of your response:
 

In the times I've made the shifts regarding notetag loading, this is what I've came up with:

  • DataManager.extractMetaData fails to distinguish types of data.
  • DataManager.onLoad loads strictly in the order of actors, classes, skills, items, weapons, armors, enemies, troops, states, animations, tilesets, common events, system, and types. This becomes a problem when you need an actor notetag to reference something in say, an enemy notetag.
  • Scene_Boot.start is a no go for me because some plugins completely overwrite it.
  • Scene_Boot.create also gets overwritten in some plugins.
  • Scene_Boot.terminate occurs too late, in some instances where functions that fun in Scene_Boot.start already occur and require the note data.
So yes, you're right in that RPG Maker MV doesn't have a reliable location to safely load up custom notetag data. DataManager.postDatabaseLoaded would have been lovely if it existed. For that reason, I figured the earliest and safest place to load notetag data is within DataManager.isDatabaseLoaded where it will most likely not be overwritten.
 
Scene_Boot.start and .create are both appropriate places to perform this if .terminate is too late in the scene boot process. If another plugin completely overwrites either of these functions then that plugin needs to be changed because that is a very destructive thing to do. We should never overwrite such fundamental functions, only extend them.
 
You could easily put your own version of a postDatabaseLoaded function in Scene_Boot.start, as it's is run after isDatabaseLoaded() returns a definite true anyway. That is the appropriate approach and ensures all these notetag reading functions are executed at the right time and only once. It also doesn't make confusing data alteration a part of a function that is only meant to return the status of the database loading.
 

And what you consider to be bad practice, I consider to be perfectly fine. isDatabaseLoaded() should return true or false depending on if the entirity of the database is completely loaded, is it not? To me, I deem that the database is not completely loaded unless the notetag data within it is loaded and parsed.
 
It's not about what I consider bad practice; it is bad practice. It has nothing to do with preference either: putting data alteration code into a function that is written to return the status of whether the database is loaded or not is simply not fine. Do note that no database data handling is done in this function by default; it simply checks if the database objects have been retrieved.
 
And most other plugin writers might not share the sentiment that a function that is meant to return the load status of the database objects now also -- and with no way around it -- executes your notetag data reading functions before returning true. Every time. The right thing to do is to create another function, for example "Yanfly.Core.areNotetagsLoaded()" and return the status of whether notetag loading has been performed or not, and have the actual notetag reading performed in a separate function run from Scene_Boot.start or Scene_Boot.create. This means that one could check whether your notetags are loaded or not separately, and the isDatabaseLoaded() function wouldn't be muddled with actual data reading. Because again, it's not what it's for.
 

And no, not really. I estimate that a good 99.99% of the plugins created now and within the future will not run DataManager.isDatabaseLoaded() any time past the initial opening steps. It's a one-to-two time run at best. This is because once the database is loaded, there is no further reason to check it again mid-game to see if it has been loaded.
Even if that percentage was true (but it's not, because we have no idea of knowing), isDatabaseLoaded() could still be called a lot of times during boot. If more and more of your plugins add to these notetag readings, and more and more other plugins need to check the status of whether the database is loaded or not at startup, it can have actual impact on startup time. And that is not acceptable when there are far better places to put the code and ensure it's only run once.
 
There is no reason to keep it in DataManager.isDatabaseLoaded(), neither from a logical or a practical standpoint.
 
Last edited by a moderator:

kiriseo

Veteran
Veteran
Joined
Oct 27, 2015
Messages
245
Reaction score
83
First Language
German
Really?

You're arguing because of that?

Most of the (real life) "programmers" out there don't care whether something is "bad practice" or not.

Especially when the time is short. Only thing that's importent is whether the code works or not.

And Yanfly gave you enough reasons for this choice. Just let it be. :D
 

Goldstorm

ᕕ( ͡° ͜ʖ ͡°)ᕗ
Veteran
Joined
Jul 21, 2013
Messages
314
Reaction score
177
First Language
English
Primarily Uses
Really?

You're arguing because of that?

Most of the (real life) "programmers" out there don't care whether something is "bad practice" or not.

Especially when the time is short. Only thing that's importent is whether the code works or not.

And Yanfly gave you enough reasons for this choice. Just let it be. :D
Seems like a valid reason for argument to me. While I agree that getting code out the door is important, what's more important is improving the already great code and taking criticism from peers on what's either wrong or needs improving. You also may not know this, but most people that talk about JS/Ruby/Code on this forum are real life programmers.
 
Last edited by a moderator:

Yanfly

Veteran
Joined
Mar 15, 2012
Messages
1,764
Reaction score
2,663
I'm going to be direct and respond to the individual parts of your response:

Scene_Boot.start and .create are both appropriate places to perform this if .terminate is too late in the scene boot process. If another plugin completely overwrites either of these functions then that plugin needs to be changed because that is a very destructive thing to do. We should never overwrite such fundamental functions, only extend them.

You could easily put your own version of a postDatabaseLoaded function in Scene_Boot.start, as it's is run after isDatabaseLoaded() returns a definite true anyway. That is the appropriate approach and ensures all these notetag reading functions are executed at the right time and only once. It also doesn't make confusing data alteration a part of a function that is only meant to return the status of the database loading.
Unfortunately, I don't have control over what other plugin writers do and don't do. An instance of this very thing would be the Skip Title Screen. And it's not just once either. Multiple people are doing it. And what they do with their plugins is none of my business, be it "good practice" or "bad practice". That said, I'm going to avoid Scene_Boot because people are likely to modify it, and I will have no control over it.

 

And most other plugin writers might not share the sentiment that a function that is meant to return the load status of the database objects now also -- and with no way around it -- executes your notetag data reading functions before returning true. Every time. The right thing to do is to create another function, for example "Yanfly.Core.areNotetagsLoaded()" and return the status of whether notetag loading has been performed or not, and have the actual notetag reading performed in a separate function run from Scene_Boot.start or Scene_Boot.create. This means that one could check whether your notetags are loaded or not separately, and the isDatabaseLoaded() function wouldn't be muddled with actual data reading. Because again, it's not what it's for.

 
Also, I'll demonstrate something for you regarding the whole areNotetagsLoaded() bit. Here's something I altered (temporarily) to simulate what you're suggesting to do.

Yanfly.Core.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;DataManager.isDatabaseLoaded = function() { if (!Yanfly.Core.DataManager_isDatabaseLoaded.call(this)) return false; console.log('Database Is Loaded'); if (!this._YanflyCoreNotetagsAreLoaded) { this._YanflyCoreNotetagsAreLoaded = true; this.processCORENotetags1($dataItems); this.processCORENotetags1($dataWeapons); this.processCORENotetags1($dataArmors); this.processCORENotetags2($dataEnemies); this.processCORENotetags3($dataActors); this.processCORENotetags4($dataClasses); } console.log($dataActors[1].maxLevel); return true;};

I inserted two console logs there. And in the process of loading, I've disabled the loading process from occuring multiple times. Let's see what happens when I start up the game in 20 tries.

This happened 18 times out of 20:

jJWlr1W.jpg


This happened 2 times out of 20:

OcxK4ng.jpg


$dataEntries are sometimes refreshed completely albiet rarely. Even if the chances of that happening are small, I'm not going to risk impacting the game developer by having the player experience of the game working properly or not. And on a personal level, I'm completely in favor of helping the game developer deliver over "bad practices".

 

It's not about what I consider bad practice; it is bad practice. It has nothing to do with preference either: putting data alteration code into a function that is written to return the status of whether the database is loaded or not is simply not fine. Do note that no database data handling is done in this function by default; it simply checks if the database objects have been retrieved.

Even if that percentage was true (but it's not, because we have no idea of knowing), isDatabaseLoaded() could still be called a lot of times during boot. If more and more of your plugins add to these notetag readings, and more and more other plugins need to check the status of whether the database is loaded or not at startup, it can have actual impact on startup time. And that is not acceptable when there are far better places to put the code and ensure it's only run once.

There is no reason to keep it in DataManager.isDatabaseLoaded(), neither from a logical or a practical standpoint.

 
I've asked you before, where do you suggest loading up the notedata? You answered Scene_Boot, but to me, that's not acceptable because of these problems:

  • DataManager.extractMetaData fails to distinguish types of data.
  • DataManager.onLoad loads strictly in the order of actors, classes, skills, items, weapons, armors, enemies, troops, states, animations, tilesets, common events, system, and types. This becomes a problem when you need an actor notetag to reference something in say, an enemy notetag.
  • Scene_Boot.start is a no go for me because some plugins completely overwrite it.
  • Scene_Boot.create also gets overwritten in some plugins.
  • Scene_Boot.terminate occurs too late, in some instances where functions that fun in Scene_Boot.start already occur and require the note data.
I'll ask you once again. Where do you suggest loading up the notedata? Only this time, I'll ask that it does not involve the five listed problems seen above. If you answer Scene_Boot.start() and Scene_Boot.create(), should I expect that you cause a scene (heh) like you did here in each plugin thread or post that violates your statement from earlier?


If another plugin completely overwrites either of these functions then that plugin needs to be changed because that is a very destructive thing to do. We should never overwrite such fundamental functions, only extend them.
And as for this:


Seems like a valid reason for argument to me. While I agree that getting code out the door is important, what's more important is improving the already great code and taking criticism from peers on what's either wrong or needs improving. You also may not know this, but most people that talk about JS/Ruby/Code on this forum are real life programmers.
 

I'm all for criticism. And you may not know this either, but I'm a 'real life programmer', too. But being one, I can tell you straight up that being a 'real life programmer' and being an 'RPG Maker programmer' is vastly different. Oh, and let me post a blurb from another post I've made:


A brief history of my plugin creation process: I originally went with the extractMetaData function. However, because it wasn't doing what I wanted it to, I switched over to Scene_Boot, and realized that wasn't too effective a few weeks down the line. I eventually came to the conclusion that the best time to load and extract all the notetag data is during the time the entirity of the game's database is finished loading, which is where I got to for my plugin library today. Overall, I've made two major switches for the entirity of my notetags.

That said, I'm open to criticism. There comes a problem in when doing something for a long time, programming styles can become stiff and uninnovative. That's why if you are to shed some light on where you can see my plugins can make an improvement, do share. Making a third switch for notetags isn't something I'm unwilling to do if I feel it's more beneficial.
I'm not unwilling to make changes. However, for me to make a change, my terms and conditions must be fulfilled, for they impact the player experience if not. 
 
Last edited by a moderator:

kiriseo

Veteran
Veteran
Joined
Oct 27, 2015
Messages
245
Reaction score
83
First Language
German
Seems like a valid reason for argument to me. While I agree that getting code out the door is important, what's more important is improving the already great code and taking criticism from peers on what's either wrong or needs improving. You also may not know this, but most people that talk about JS/Ruby/Code on this forum are real life programmers.
I beg to differ.

Pointing out that this is bad practice is one thing, but repeating the same over and over again without providing a better solution is another.

Yanfly has already stated the reasons for this decisions a few times.

Also, Yanfly took the criticism and asked for a better place to put this code,

but nobody provided one that would work without the high risk of compability issues with other plugins.

Rhetorical question:

What percentage of all programmers in the world do you think are here on this forum? :D
 

Yanfly

Veteran
Joined
Mar 15, 2012
Messages
1,764
Reaction score
2,663
Putting this in a separate post as it should get involved with conversation above:

Hello! Question on YEP_ClassChangeCore.

What can i put in the global classes list parameter to disable it? My actors have unique sets of classes, and I've tried putting a '0' but ended up getting some error. When i put some values, it worked fine.

Cheers!
For that, you can just leave it blank. :) No 0's, just blank.
 

Goldstorm

ᕕ( ͡° ͜ʖ ͡°)ᕗ
Veteran
Joined
Jul 21, 2013
Messages
314
Reaction score
177
First Language
English
Primarily Uses
@Yanfly - I never said you weren't a real life programmer. Thank you for taking the time to explain your situation again.

I beg to differ.

Pointing out that this is bad practice is one thing, but repeating the same over and over again without providing a better solution is another.

Yanfly has already stated the reasons for this decisions a few times.

Also, Yanfly took the criticism and asked for a better place to put this code,

but nobody provided one that would work without the high risk of compability issues with other plugins.

Rhetorical question:

What percentage of all programmers in the world do you think are here on this forum? :D
@kriseo, From what I read, he did offer a solution. Scene Boot start and create, as well as putting the code in it's own function and plugging from there.

The right thing to do is to create another function, for example "Yanfly.Core.areNotetagsLoaded()" and return the status of whether notetag loading has been performed or not, and have the actual notetag reading performed in a separate function run from Scene_Boot.start or Scene_Boot.create. This means that one could check whether your notetags are loaded or not separately, and the isDatabaseLoaded() function wouldn't be muddled with actual data reading. Because again, it's not what it's for
Yes, and after reading it and seeing his full explanation as to what Yanfly has stated and his decision why, it makes sense as to why he did what he did. He just didn't wana risk the 10% chance of failed notetag loads.
 
Last edited by a moderator:

Galenmereth

Retired
Veteran
Joined
May 15, 2013
Messages
2,248
Reaction score
2,160
First Language
English
Primarily Uses
N/A
Really?

You're arguing because of that?

Most of the (real life) "programmers" out there don't care whether something is "bad practice" or not.

Especially when the time is short. Only thing that's importent is whether the code works or not.

And Yanfly gave you enough reasons for this choice. Just let it be. :D
I like that you put "programmers" in quotation marks because only a "programmer" would write what you just wrote.I also gave detailed reasoning for why this is bad practice and also why it's not good practically and logically. I'm not arguing for argument's sake here.

As a programmer I think it's important to talk about these things because it affects other people's code, and everyone's games.

@Goldstorm

Actually Scene_Boot.start() is only called once isDatabaseLoaded() returns true, so loading notetags wouldn't fail at that point. It would be the same as it works now without changing isDatabaseLoaded() and the drawback of multiple notetag reading and distorting.

@Yanfly I fail to see how putting the notetag reading in isDatabaseLoaded() solves the issue you showed. I'll make a longer reply after I run some tests when I get home.
 
Last edited by a moderator:

kiriseo

Veteran
Veteran
Joined
Oct 27, 2015
Messages
245
Reaction score
83
First Language
German
@kriseo, From what I read, he did offer a solution. Scene Boot start and create, as well as putting the code in it's own function and plugging from there.
Yeah, Scene_Boot.start and Scene_Boot.create.

Those two had been named and Yanfly answered why these two were no option for this.

About a own function. That function has to be called somewhere.

And that call has to be somwhere in one of those functions that were discussed.

But then Yanfly would've had a similiar "problem" as now.

See what I mean?

I dare to say that my following statement is still valid (in this case): BD

... nobody provided one that would work without the high risk of compability issues with other plugins.

Yes, and after reading it and seeing his full explanation as to what Yanfly has stated and his decision why, it makes sense as to why he did what he did. He just didn't wana risk the 10% chance of failed notetag loads.
At least we agree about this. :)

@Galenmereth

Nobody says that your are arguing just for the sake of it.

Criticism is important, and Yanfly did take your criticism.

The only "problem" is, that you are repeating yourself over and over again.

What do they say about beating a dead horse? :D

I'd say, everyone who's following this thread knows that it is bad practice by now. ;)
 

Yanfly

Veteran
Joined
Mar 15, 2012
Messages
1,764
Reaction score
2,663
@Yanfly I fail to see how putting the notetag reading in isDatabaseLoaded() solves the issue you showed. I'll make a longer reply after I run some tests when I get home.
It doesn't solve it because $dataArrays can reset themselves for whatever reason I haven't figured out yet. It doesn't happen on all computers either while it happens more often on others.
 

??????

Diabolical Codemaster
Veteran
Joined
May 11, 2012
Messages
6,548
Reaction score
3,302
First Language
Binary
Primarily Uses
RMMZ
I had a huge long post there, ready to send, and I decided...

Yes, its known that the notetag reading functionality is utter crap, but yes, there is also logic behind it. Weather you, me, and other script writers agree with that logic, that is another matter entirely. I mean, I think its safe to say the majority of people using yanfly plugins, are NOT able to write their own, and thus, have to go with what they feel is best for their project, and I dont think they will care much about how things are being done - as long as they are being done.

Also - It seems that there is no way we are going to be able to change the logic we consider to be poor. Not with hints, suggestions, or even working examples. So whats the point in wasting your energy trying when its clearly being disregarded? :)

I mean - in reality, all that would have to be done, is a single function being overwritten to accommodate a notetag parsing function. Its not hard. But that is obviously not something yanfly is willing to do for whatever reasons...
 

Goldstorm

ᕕ( ͡° ͜ʖ ͡°)ᕗ
Veteran
Joined
Jul 21, 2013
Messages
314
Reaction score
177
First Language
English
Primarily Uses
Yeah, Scene_Boot.start and Scene_Boot.create.

Those two had been named and Yanfly answered why these two were no option for this.

About a own function. That function has to be called somewhere.

And that call has to be somwhere in one of those functions that were discussed.

But then Yanfly would've had a similiar "problem" as now.

See what I mean?

I dare to say that my following statement is still valid (in this case): BD

... nobody provided one that would work without the high risk of compability issues with other plugins.
Right, that's what Yanfly just said. I also never said your statement was incorrect. I actually agreed with you getting the code out the door, but updating and improving is also equally important. Either way, we're getting off topic to what this post is really about. Maybe this conversation is better suited for another thread.
 
Status
Not open for further replies.

Latest Threads

Latest Posts

Latest Profile Posts

and_remember_tomorrow_on_the_plus_side.jpg

After countless hours, I finally solved the mystery of the missing puzzle pieces, but also created the mystery of the space trees... Progress? :kaoswt:
I am playing Momodora today and OMG this game is hard! o.o
Really happy to see people from Brazil doing an amazing game :3
Just noticed... I'm now called a Veteran not just Member...
Effervesce Fallacy™ - PV - C'est La Vie, for the best viewing experience, run the EXE, and adjust the audio via Options. The footsteps sounds are once again, barely audible. :frown: The PV only sounds as intended, if BGM Volume is set to 20%, or 40%, depending on your audio hardware.

Stream will be live shortly with some Gex 3! Tonight, I get revenge on the Buccaneer Program! Feel free to drop by!

Forum statistics

Threads
109,223
Messages
1,043,161
Members
141,734
Latest member
netispalsu
Top