The StatusMenuCore (v 1.1.1)

Discussion in 'JS Plugin Releases (RMMV)' started by JahwsUF, Oct 31, 2015.

  1. residntevl

    residntevl Blideo games Veteran

    Messages:
    36
    Likes Received:
    25
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMMV
    I've done exactly that and I receive a crash whenever I select the command.

    But yes, that's what I'm looking to do, create a menu option that takes the function of Page Down primarily. I'm not too concerned about going both ways.

    The problem is that by adding this menu command (which I've gotten to work on Yanfly's Equip plugin and Scene_Skill) is that your script is expecting the command to open a window. I could probably manage to make it go to Parameters Page with the next actor in the party, but as I've mentioned I'm still learning JS here and there.
     
    Last edited by a moderator: Nov 1, 2015
    #41
  2. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    "Select the command"?  Are you on mobile, by chance?  (That wording doesn't make too much sense to me otherwise.)  What are you developing for?  Also, would it be possible for you to tell me what the crash says?  Additionally, if you have any way to open the console (F8, at least on Windows), seeing the masses of red error text it would report would be extremely helpful in pinpointing any issues.
     
    #42
  3. residntevl

    residntevl Blideo games Veteran

    Messages:
    36
    Likes Received:
    25
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMMV
    I'm about to head to work but when I get back ill post necessary info and what I'm trying to do. I am developing for PC but the project is mouse based so I want to make it accessible using only the mouse

    Edit:

    I'm home now so I'm going to post what I've done and what I'm attempting to do.

    I've edited the RPGManager.js TextManager and removed KeyItem and replaced it with my own word "Next" which I've made show up in the Skills Menu and Yanfly's Equip Window.

    I edited both Window_SkillType.prototype.makeCommandList (in rpg_windows.js) and Window_EquipCommand.prototype.addCustomCommand (in Yanfly's Equip Core)

    What I added was - this.addCommand(TextManager.next,    'next');

    In the Scenes, I replaced the 'pagedown' string to 'next'.

    This adds a command called Next to both Skills and Equip which switches to the next actor in the party

    I've attempted to do the same thing with your script by adding:

    this.addCommand(TextManager.next,    'next');

    to your JAH_Window_Status_PageSelect.prototype.makeCommandList function which would be the only place to put it. Creating a next commandlist wouldn't make much sense, I don't think.

    I also replaced 'pagedown' with 'next'.

    Here is the error I receive

    TypeError: undefined is not a function    at JAH_Window_Status_PageSelect.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/JAH_StatusMenuCore.js:1834:19)    at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5726:19    at Array.forEach (native)    at WindowLayer.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5724:19)    at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:112:19    at Array.forEach (native)    at Scene_Status.Scene_Base.updateChildren (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:110:19)    at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:42:10)    at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/YEP_ExternalLinks.js:181:35)    at Function.SceneManager.updateScene (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_managers.js:1673:25)
    Futher editing, when I do manage to add the 'next' command to your commandlist, no text for the commands appear and if I hover over the next command I'm prompted with another crash. The error log for that is:

    Code:
    TypeError: undefined is not a function    at JAH_Window_Status_PageSelect.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/JAH_StatusMenuCore.js:1836:19)    at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5726:19    at Array.forEach (native)    at WindowLayer.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5724:19)    at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:112:19    at Array.forEach (native)    at Scene_Status.Scene_Base.updateChildren (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:110:19)    at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:42:10)    at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/YEP_ExternalLinks.js:181:35)    at Function.SceneManager.updateScene (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_managers.js:1673:25)
     
    Last edited by a moderator: Nov 1, 2015
    #43
  4. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    Version 1.02 is now live.

    It includes a few bug fixes and a new feature - the ability to classify resistances visually by color and also by text category if desired.  Accordingly, there are a few new options toward the bottom that give you lots of customization room.  Enjoy!


    In regard to one lingering issue from above...

    Futher editing, when I do manage to add the 'next' command to your commandlist, no text for the commands appear and if I hover over the next command I'm prompted with another crash. The error log for that is:

    TypeError: undefined is not a function
        at JAH_Window_Status_PageSelect.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/JAH_StatusMenuCore.js:1836:19)
        at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5726:19
        at Array.forEach (native)
        at WindowLayer.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_core.js:5724:19)
        at file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:112:19
        at Array.forEach (native)
        at Scene_Status.Scene_Base.updateChildren (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:110:19)
        at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_scenes.js:42:10)
        at Scene_Status.Scene_Base.update (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/plugins/YEP_ExternalLinks.js:181:35)
        at Function.SceneManager.updateScene (file:///C:/Users/Luke/Documents/Games/Mythic%20Victory%20Arena/js/rpg_managers.js:1673:25)

    I can pretty quickly see where problems are gonna come from here.  In particular:

    JAH_Window_Status_PageSelect.prototype.makeCommandList, in adding commands, passes along two arguments:

    • this._pageNames - the text representing a command, which allows its corresponding window to be visible.
    • this._pageWindows - the window object to be made visible when the command is selected.
     

    As you might imagine, the Javascript system has a hard time treating the string 'next' as a full-blown window.  You see, I realized that the commands don't have to be strings - they can be windows, or any other type.  It's all in how the listener interprets the string.

     

    Thus, you absolutely have to intercept that 'next' string before my code thinks it actually has a window and acts on it.  Thus, you want to put custom code into JAH_Window_Status_PageSelect.prototype.update that checks wither or not this.currentSymbol() is a string or a page object.  If it's your "next" command, branch off and manually trigger the PageDown command there.

     

    Keep in mind that it's Scene_Status, not JAH_Window_Status_PageSelect, that has the this.nextActor.bind(this) function available.  You'll want to do a little hot-wiring (passing the Scene to the PageSelect menu window as a value to call later), but it should be doable from there.
     
    Last edited by a moderator: Nov 1, 2015
    #44
    laaghisce likes this.
  5. residntevl

    residntevl Blideo games Veteran

    Messages:
    36
    Likes Received:
    25
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMMV
    That seems to be a little outside my scope of understanding for now, but I grasp the concept and what is required. I'll work with it later. Thank you for your help.
     
    #45
  6. MaxLionheart

    MaxLionheart Veteran Veteran

    Messages:
    91
    Likes Received:
    28
    Location:
    Québec
    First Language:
    French
    Extremely solid plugin with TONS of possibilities for customization, yet relatively easy to use.

    This is a perfect example of what a plugin should aspire to be.

    Bravo!
     
    Last edited by a moderator: Nov 1, 2015
    #46
  7. DavidFoxfire

    DavidFoxfire Veteran Veteran

    Messages:
    224
    Likes Received:
    44
    Location:
    St. Louis, MO
    This recent version has an error:

    /. . . . . . Baldursgate/js/plugins/JAH_StatusMenuCore.js:1573

    Uncaught TypeError: Cannot read property 'trim' of undefined
     
    #47
  8. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    Interesting.  What sort of values did you have specified for your "Category _ Color" plugin options?  Something went wrong in interpreting those.
     
    #48
  9. DavidFoxfire

    DavidFoxfire Veteran Veteran

    Messages:
    224
    Likes Received:
    44
    Location:
    St. Louis, MO
    They're still at default values.  However, I moved it up in the plugin list and took care of the error.
     
    #49
  10. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    StatusMenuCore v1.03 is now online.

    What's new?

    • After a lot of communication and investigation, I've been able to successfully restructure the Profile page's internal coding to be far more compatible with word-wrapping plugins than it once was.  Out-of-the-box, outside of scrolling operations this plugin should now be compatible with word-wrapping plugin features.
       
    • In regard to scrolling:  while not a part of this plugin, through communication with Yami-chan (creator of one such Word Wrap plugin) we were able to construct the critical method that was missing for scrolling compatibility.  While there may be a performance hit if you rely upon this, I've done what I can for now to minimize it.  Either way, there is now hotfix code in the User FAQ for both Yami's plugin and the Yanfly Message Core that will allow their word-wrapping operations to be compatible with scrolling.

      Due to the nature of the two different plugins and the manner in which the fix must be applied, it is impossible to integrate within the StatusMenuCore properly, especially should either adopt the hotfix in future versions of their plugins.

      Also, if you do not enable word-wrapping, I guarantee that everything will operate exactly the same as before. 
       
    • It is possible that there are some edge cases that I missed in testing with word-wrapping - especially with the extra escape codes offered by Yanfly's Message Core - but both word-wrapping plugins are now far, far more viable to use with the StatusMenuCore than it used to be.  Scrolling has worked flawlessly with all of my present testing examples, aside from a minor need of aesthetic polish if changes in font size are utilized.

    As far as known problems go, there's one bit of polish that I hope to add in the future - that whole bit about expecting two lines on the editor's built-in profile box if used.  I should be able to correct it with the next version, but I wanted to go ahead and release this set of fixes for those who love their word-wrapping.

    Again, if you are interested in using word wrapping with this plugin, especially for long profile texts that require scrolling:  check the User FAQ for details on how to achieve full compatibility at this time.
     
    Last edited by a moderator: Nov 3, 2015
    #50
  11. MaxLionheart

    MaxLionheart Veteran Veteran

    Messages:
    91
    Likes Received:
    28
    Location:
    Québec
    First Language:
    French
    Hey, I was wondering if it was possible to show the resistances on the first page...

    I guess that if we know the symbol for each resistance (like "mat" for magic attack) we could show them... However, I haven't been able to figure them out... Anyone knows what symbol represent each resistance?
     
    #51
  12. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    There isn't any such symbol in the base game for the elemental rates - it would require a plugin to give them such symbols.
     
    #52
  13. MaxLionheart

    MaxLionheart Veteran Veteran

    Messages:
    91
    Likes Received:
    28
    Location:
    Québec
    First Language:
    French
    Oh ok... Thanks.
     
    #53
  14. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    I just realized something; there's a particular function I use to retrieve the element rates, and while it's not a three-letter symbol, it may just be possible to use in place of one.

    Try using the following:

    elementRate(1)1 is the standard element ID for Fire in a base game.  Replace with whatever ID you'd rather report on the page.  With the way I implemented things, I think this could actually work.  (Sorry about not being able to test it for you in advance at the moment.)
     
    #54
  15. MaxLionheart

    MaxLionheart Veteran Veteran

    Messages:
    91
    Likes Received:
    28
    Location:
    Québec
    First Language:
    French
    Ah! Fantastic! It works! Thanks :)

    I just wanted to reaffirm that I really love the great flexibility of this tool. Thanks again for your hard work!
     
    #55
  16. Sol Rising

    Sol Rising Veteran Veteran

    Messages:
    162
    Likes Received:
    21
    First Language:
    English
    figured it out thank u
     
    Last edited by a moderator: Nov 5, 2015
    #56
  17. jonthefox

    jonthefox Veteran Veteran

    Messages:
    1,298
    Likes Received:
    454
    Location:
    NYC
    This is a great script!  Only thing I'm wondering about though is if there is a way to either also show more than just the vanilla information on the equip screen, or to somehow combine this with the equip screen so the player can change equipment on here.  Reason I say this is, it would be annoying for the player to change equipment on the equip screen, and then go check the status screen and try to figure out what changed (evasion, magic reflect%, element resistance, etc.).  
     
    #57
  18. residntevl

    residntevl Blideo games Veteran

    Messages:
    36
    Likes Received:
    25
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMMV
    This is pretty simple. If you're using Yanfly's Equip core, find

    Scene_Equip.prototype.createCommandWindowand add:

    this._commandWindow.setHandler('status',    this.commandStatus.bind(this));to the list of commands.

    Under the command list, outside of the createCommandWindow block, add this:

    Scene_Equip.prototype.commandStatus = function() {    SceneManager.push(Scene_Status);};Next you want to find:

    Window_EquipCommand.prototype.addCustomCommandand add:

    this.addCommand(TextManager.status, 'status');in the block.

    It works out

    [​IMG][​IMG]
    If you're not using the equip core, You have to edit Scene_Equip in rpg_scenes.js and Window_EquipCommand in rpg_windows.

    Scene_Equip.prototype.createCommandWindow and Window_EquipCommand.prototype.makeCommandList

    I don't know how to make my own plugins but I would recommend not editing the main scripts, but I'm not very good at following my own advice.
     
    Last edited by a moderator: Nov 9, 2015
    #58
    jonthefox likes this.
  19. Anime_Fusion

    Anime_Fusion Veteran Veteran

    Messages:
    79
    Likes Received:
    48
    First Language:
    English
    I came here because I had an issue with another menu system when i changed jobs and my appearance, I couldn't change the bust image. However, your help file mentions a "Profile Switch" tag option, but I have no clue where to find it or how to do it. Please let me know if you have time. I need to make my character look like an assassin in her bust photo. Thanks.
     
    #59
  20. JahwsUF

    JahwsUF Veteran Veteran

    Messages:
    65
    Likes Received:
    102
    Location:
    USA
    First Language:
    English
    The "profile switch" is a swap on the character's backstory - on the profile text for the character.  It doesn't perform an image swap.  I know I've seen other plugins posted that are much more suited for what you want to do.

    Here's one example of a plugin I found that might interest you:  http://forums.rpgmakerweb.com/index.php?/topic/47958-graphics-changer/
     
    #60

Share This Page