RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.
Phantasia-esque CMS 1.0

0 Members and 1 Guest are viewing this topic.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Phantasia-esque CMS
Version: 1.0
Author: modern algebra
Date: October 6, 2009

Version History


  • <Version 1.0> 10.06.2009 - Original Release

Description


This script gives you a menu design that is inspired by a mix between the Tales of Phantasia Menu and my own Full Status CMS. Like Tales of Phantasia, each actor gets their own window and their sprite is shown walking in the top right corner. Like FSCMS, the command window and optional windows are hugely customizable, allowing you to relatively easily add new scripts to be accessible from the menu (with an automatic index finder so that you don't need to modify the return_scene methods of the respective scripts that you add to the menu), call common events from the menu (including the ability to select an actor and have your common event operate only on the actor chosen) and you can use any of the five optional windows that are in the FSCMS - Location, Playtime, Gold, Steps, and Variable.

Features

  • Attractive design
  • Walking sprites in the menu
  • Each actor/actress gets his/her own window
  • A lot of easy customizability, ranging from what scenes or common events you want accessible from the menu and what optional windows you want to show to changing the exact sprite position of the actors.
  • Allows you to have an option to include common events as options that can be run from the menu (and even targetted at individual actors)
  • Can set icons next to the commands in the menu, for greater prettiness
  • Can add and remove commands or optional windows from the menu at will in-game with call script commands

Screenshots



Instructions

Place this script in the Script Editor (F11) above Main and below other custom scripts. Please note this will not work with other CMSes.

See the header of the script and Editable Regions A & B for configuration instructions.

Script


Please see the attached text document.

Spoiler for Max Level Bug Fix:
Note that there is a bug that will occur once a character reaches max level. To fix it, paste the following code into its own slot in the editor BELOW the CMS, but still above Main.

Code: [Select]
#==============================================================================
# ** Window_TPCMS_MenuActor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This window displays basic status information on a party member.
#==============================================================================

class Window_TPCMS_MenuActor < Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Draw Actor EXP Gauge
  #    actor : the actor to draw exp of
  #    x, y  : coordinates to start drawing
  #    width : the total width of guage
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def draw_actor_exp_gauge (actor, x, y, width = 120)
    gw = width
    gw *= (actor.exp_progress / actor.next_rest_exp_s.to_i) if actor.next_rest_exp_s.to_i > 0
    # Get colors
    if Phantasia_CMS::EXP_BAR_COLOR1.is_a? (Fixnum)
      gc1 = text_color (Phantasia_CMS::EXP_BAR_COLOR1)
    else
      gc1 = Color.new (*Phantasia_CMS::EXP_BAR_COLOR1)
    end
    if Phantasia_CMS::EXP_BAR_COLOR2.is_a? (Fixnum)
      gc2 = text_color (Phantasia_CMS::EXP_BAR_COLOR2)
    else
      gc2 = Color.new (*Phantasia_CMS::EXP_BAR_COLOR2)
    end
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
end

Credit


  • modern algebra

Thanks

  • Tales of Phantasia, for inspiration
  • Saekonungar, for a bug report

Support


Please post in this topic at RMRK for support

Known Compatibility Issues

It won't work with other CMSes. It may work with some scripts that add themselves to the menu (such as my Diary script), but it won't give it an icon in that case. It is recommended when using those scripts, to place them ABOVE the CMS and set it up as you would any other script inside the CMS itself.

Demo


The demo is attached. Please note that most of the scripts in the demo are unnecessary. The only one you need is the one titled Phantasia-esque CMS 1.0. However, it is recommended that you get the script from the text document as the demo one is set up with other scripts (for the purpose of examples), while the text document is clean and has no special other scripts pre-setup


Creative Commons License
This script by modern algebra is licensed under a Creative Commons Attribution-Non-Commercial-Share Alike 2.5 Canada License.
« Last Edit: August 03, 2011, 10:56:16 PM by modern algebra »

********
Resource Artist
Rep:
Level 94
\\\\\
Project of the Month winner for June 2009
Whooooooshhhh, very cool man, looks like you've been busy on dem CMS's lately lol.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
:)

This one only took a few hours since it's pretty much the same basic engine as FSCMS but with a different layout and with some particularities removed.

**
Rep: +0/-0Level 83
Woah, I'm really liking the layout!  Nice work Modern Algebra! :D

****
kikiki
Rep:
Level 84
Hi
Holy shit, this looks awesome.

I have to learn to be a scripting god like MA ._.
Hi

*
Rep:
Level 102
2014 Best Non-RM Creator2014 Biggest Forum Potato2014 Biggest Narcissist Award2013 Best Game Creator (Non-RM)2013 Best IRC ChatterboxParticipant - GIAW 112012 Funniest Member2012 Best Use Of Avatar and Signature space2012 Best IRC Chatterbox2012 Most Successful TrollSecret Santa 2012 ParticipantProject of the Month winner for November 2009For being a noted contributor to the RMRK Wiki2010 Biggest Forum Couch Potato2010 Most Successful Troll2010 Best IRC Chatterbox
This looks like a nice menu.

Good work, Modern Algebra. :]

****
Rep:
Level 83
Amazing work.
Now if I could figure out how to do stuff like this. lol

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Thanks guys :)

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for August 2008Project of the Month winner for December 20092011 Best Game Creator (Non RM)Gold - GIAW Halloween
that's pretty badass MA.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

**
Rep:
Level 82
Code: [Select]
Script 'Phantasia CMS by Modern Algebra' line 784: NoMethodError
occured.


undefined method`each' for nil:Class

How can I fix this?
« Last Edit: October 25, 2009, 10:34:36 PM by EliasD15 »

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
I think it's probably an incompatibility with another script. Try putting it below any other custom scripts you have in the editor but keep it above Main. Also, don't PM me again; I always read my topics when somebody posts in them.

**
Rep:
Level 82
Sorry about that, I didn't know. I PM'd you again  :-[
By the way, it worked in the demo and not in my game.
The script list I sent you, should help reveal any incompatibilities.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Not really. I'm not familiar with most of those scripts.

If it's the line that I'm thinking of (line 784 without any modifications to the script whatsoever), then the only way (unless you deleted stuff you shouldn't have - I'm assuming you haven't modified the script) for that error to occur is if the initialize method of Game_System is overwritten or if you're using an old save file.

But if it's below every custom script, than the error should be occuring in the incompatible script. I can't do any more than that without seeing the project itself.
« Last Edit: July 28, 2011, 12:39:51 PM by modern algebra »

**
Rep:
Level 82
Not really. I'm not familiar with most of those scripts.

If it's the line that I'm thinking of (line 784 without any modifications to the script whatsoever), then the only way (unless you deleted stuff you shouldn't have - I'm assuming you haven't modified the script) for that error to occur is if the initialize method of Game_System is overwritten.

But if it's below every custom script, than the error should be occuring in the incompatible script. I can't do any more than that without seeing the project itself.

I am seriously considering removing the script do the issues.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
OK, do so then; I don't appreciate the implication that I'm being dishonest about my ability to diagnose the problem with only the limited information you've given me and I don't see why you think that threatening to not use my script will change my ability to help you with this problem. I can't do any more unless I can actually see the project. I'm not a magical being who can divine the exact structure of a script from its name and I'm not going to hunt down 10 scripts and put them in a project just to figure out which script is causing the error. If you want my help, upload your project or your Scripts.rvdata and send it to me. If you don't want to do that then remove it or figure it out on your own.
« Last Edit: October 26, 2009, 12:41:35 AM by Owyn »

**
Rep:
Level 82
I didn't mean to imply that you were being dishonest in your diagnoses. I meant to say that the constant issues I was having were not worth wasting yours and my time with something as benign as this.
« Last Edit: October 26, 2009, 01:52:03 AM by EliasD15 »

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Yeah, sorry if I sounded harsh. It's totally your call.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
It has come to my attention that there is a bug with this script that will crash the game if a character in the menu reaches maximum level. To fix it, paste the following code into its own slot in the editor BELOW the CMS, but still above Main.

Code: [Select]
#==============================================================================
# ** Window_TPCMS_MenuActor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  This window displays basic status information on a party member.
#==============================================================================

class Window_TPCMS_MenuActor < Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Draw Actor EXP Gauge
  #    actor : the actor to draw exp of
  #    x, y  : coordinates to start drawing
  #    width : the total width of guage
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  def draw_actor_exp_gauge (actor, x, y, width = 120)
    gw = width
    gw *= (actor.exp_progress / actor.next_rest_exp_s.to_i) if actor.next_rest_exp_s.to_i > 0
    # Get colors
    if Phantasia_CMS::EXP_BAR_COLOR1.is_a? (Fixnum)
      gc1 = text_color (Phantasia_CMS::EXP_BAR_COLOR1)
    else
      gc1 = Color.new (*Phantasia_CMS::EXP_BAR_COLOR1)
    end
    if Phantasia_CMS::EXP_BAR_COLOR2.is_a? (Fixnum)
      gc2 = text_color (Phantasia_CMS::EXP_BAR_COLOR2)
    else
      gc2 = Color.new (*Phantasia_CMS::EXP_BAR_COLOR2)
    end
    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end
end

*
Rep: +0/-0Level 74
The Darkness that surrounds the Light consumes All
Well I downloaded this script, and at first i loved it. Now I was wondering If you could make the script with a Face graphic, where the actor's sprite walks. I pm'd you before this, so  ya...
Thanks
          ~Draco
(\_/)
(^.^)
C(")(")
Help this bunny take over the internet by copying it into your signature.

*
The Hero of Rhyme
Rep:
Level 83
( ͡° ͜ʖ ͡°)
2014 Best RPG Maker User - Story2014 Queen of RMRKProject of the Year 20142011 Best Newbie2014 Best RPG Maker User - Creativity2014 Kindest Member2013 Queen of RMRKBronze SS AuthorBronze Writing ReviewerSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.GOOD!For frequently finding and reporting spam and spam bots2012 Best Yuyubabe Smiley2012 Best RPG Maker User (Creativity);o
MA, your scripts are really awesome :)
Spoiler for My Games and Art:
ℒℴѵℯ❤


My Artwork Thread

The Lhuvia Tales [Current]

Ambassador [Complete]

The Postman [Complete]

The Wyvern [Complete]

Phoenix Wright: Haunted Turnabout [Complete]

Major Arcana [Cancelled]


***
Rep:
Level 74
I'm baaack!
This is awesome! Good job :tpg:!

***
You pie feeders!
Rep:
Level 68
Everyone... Actually Everyone hates me :)
2012 Biggest Drama Whore
sorry for resuming a topic but, could you add a map button that loads an image called IGmap, i'm new to scripting and i don't know how to make much more than a script that runs a message when you open the game.
Final Statement: I chowder5lock am a dipshit and MA is a pretty cool dude.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Well, you have two options:

(1) wait for Pacman to write a scene for it in that topic
(2) have it call a common event instead and show the picture in the common event.

If the latter, you would simply make a common event that should look essentially like (Note: if already using Picture Label 1 to show something else, use a different label):

@>Show Picture: 1, IGMap
@>Loop
  @>Set Move Route: Player
    :                      $>Wait: 6 Frames
  @>Wait: 6 frames
  @>Conditional Branch: Button B is pressed
    @>Break Loop
    @>
   : Branch End
  @>Conditional Branch: Button C is pressed
    @>Break Loop
    @>
   : Branch End
  @>
 : Repeat Above
Erase Picture: 1
Open Menu Scene
@>

Then, in the script, just follow the instructions to add a common event call. In other words, do this (assuming it has not already been edited in any way. If it has, you need to pic an ID for the new one that isn't already used -- again, as per the instructions):

Code: [Select]

    0 => ["Vocab::item", 144, "$game_party.members.empty?", false, Scene_Item],
    1 => ["Vocab::skill", 128, "$game_party.members.empty?", true, Scene_Skill],
    2 => ["Vocab::equip", 51, "$game_party.members.empty?", true, Scene_Equip],
    3 => ["Vocab::status", 137, "$game_party.members.empty?", true, Scene_Status],
    4 => ["Vocab::save", 133, "$game_system.save_disabled", false, Scene_File,
            "true, false, false"],
    5 => ["Vocab::game_end", 179, -1, false, Scene_End]

And you would change it to this:

Code: [Select]
    0 => ["Vocab::item", 144, "$game_party.members.empty?", false, Scene_Item],
    1 => ["Vocab::skill", 128, "$game_party.members.empty?", true, Scene_Skill],
    2 => ["Vocab::equip", 51, "$game_party.members.empty?", true, Scene_Equip],
    3 => ["Vocab::status", 137, "$game_party.members.empty?", true, Scene_Status],
    4 => ["Vocab::save", 133, "$game_system.save_disabled", false, Scene_File,
            "true, false, false"],
    5 => ["Vocab::game_end", 179, -1, false, Scene_End],
    6 => ["Map", 153, -1, false, X]

(NOTE how I added that comma after the 5 => line)

The X before the bracket you would replace with the ID of the common event you made. IE, if you made the common event in the first slot of the common event tab, that line would be:

Code: [Select]
6 => ["Map", 153, -1, false, 1]

If in the second:

Code: [Select]
6 => ["Map", 153, -1, false, 2]

ETC...

Note that this method would stop the player from moving but other events on the map would still be active. If you wanted to prevent that, wait for Pacman to finish the script you requested.
« Last Edit: August 03, 2011, 06:30:18 PM by modern algebra »

***
You pie feeders!
Rep:
Level 68
Everyone... Actually Everyone hates me :)
2012 Biggest Drama Whore
Ok thank you for telling me this, i think i'll just wait for Pacman to finish, but i might try this on a blank project.
Final Statement: I chowder5lock am a dipshit and MA is a pretty cool dude.

*
Rep:
Level 97
2014 Best RPG Maker User - Engine2014 Most Unsung Member2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Veteran2011 Favourite Staff Member2011 Most Mature Member2011 Best RPG Maker User (Scripting)2011 Best Use of Avatar and Signature Space2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
  • Each actor gets his own window

it should probably say his/her own window

sorry but im a little picky with certain things

Then shouldn't your protest be: "Each actor/actress gets his/her own window"? :P

I kind of think that whole issue is more or less moot at this point. It's obvious that texts which use the male pronoun to refer to humanity are meant to include women and do not have any intended implication that women are inferior or irrelevant. Whatever its historical origins, imputing to someone who uses the male pronoun in that way a sexist or patriarchal attitude which defines human experience only through the male perspective seems dishonest. It is such a high level of abstraction that I doubt it ever (or at least not since the 1950s) really functioned to reinforce those patriarchal attitudes even on a subconscious level. At least, not any more than using the word "holiday" implies and reinforces a sense of the "holy" or the supernatural in society that disadvantages atheists.

Anyway, I'll change it since it ultimately makes no difference and I'd prefer not to be misunderstood in that way; I normally do use gender-inclusive language but I guess the non-gender-inclusive "actor" term threw me off.

The English language would benefit from a singular gender-neutral pronoun though; the whole "his or hers; him or her; etc" is so inconvenient and breaks flow. :P I think it should have a z or an x in it since I think those letters are underused. Is there a way to lobby a dictionary? I suppose we would also need to make them for all the other gendered words in the English language though so it would be hard to really get read of the "X or Y" construction.
« Last Edit: August 04, 2011, 05:25:07 PM by modern algebra »