Posts: 11,240
Threads: 649
Joined: May 2009
Not exactly done with configs.... Working on preliminary bar systems.
Built-in will be a bar system akin to Moghunter's but... not. I'm using a variation of what I developed for the Lycan ABS. It not only allows you to use image files, but scales them to fit the specs set by the user. Bar graphic files will be in its own Graphics\Bars folder for cleanliness.... and cached for game compression\encryption of course.
But I want to make allowances for other bar systems that actually draw them without image files, so I will be looking at a few other variants. As an example, If one decides to use a bar script created by Whack-a-Mole (assuming I know anyone by that name, let alone their script), it should send into Whack's bar drawing system the coordinates and values to draw the bar in place. Scripts I am familiar with are by SephirothSpawn and Cogwheel. Insofar as Trickster's Gradient bars, they're a bar graphic system and I already have that covered.
Oh, and I'm thinking that the config system will be TWO separate pages. One covers the menu appearance, the other the mechanics of the Menu Options and Side Stats window. Its to keep them more organized: Mechanics vs Aesthetics.
EDIT: Okay, I have obtained a number of generated bar scripts to work with (Cogwheel, SephirothSpawn, Near Fantastica, Fukuyama(aka XRXS), and ParaDog). Alteration and implementation is next, so someone using these bar scripts can see them show PROPERLY in the menu.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 49
Threads: 2
Joined: Feb 2016
Im looking forward to this ! :))
You have my thanks
Posts: 11,240
Threads: 649
Joined: May 2009
Here's a sample of what I mean by a 2-part config... Part 2 itself.
First, the menu options are broken into two lists. One humongous list per entry is just harder to see, so there are two of them... one for appearance options while the other for functionality.
Second, each has headers describing what each entry contains. I hope those will be self explanatory, but I have a tendency to add extra instructions at the beginning of any script assuming I do not have an accompanying help/chm file as I have recently with my Lycan ABS.
Of the entries in the list, note that two of them (index position 1 and index position 3) have extra values.
Index position 1 (aka LIST1[1] / LIST2[1]) for the Equip menu option ends with 2, false in the first list. This means the menu option for the equip menu is disabled until RMXP Switch #2 is turned on. Merely disabled. But index position 3 (aka LIST1[3]/LIST2[3]) is set up differently...
Index Position 3 within the first list ends with 1, true , which means that RMXP Switch #1 must be turned on for it to function. However, the 'true' value indicates that the option isn't disabled, but fully hidden from the menu itself. Neat? Now one more thing: In the 2nd list for Index Position 3, it doesn't have a Scene Command or Common Event ID number, but a string. This string is the same as the string in the 'PARTY_ORDER' configurable. This turns on the party member reordering system.
Other instructions will be given in the script on how to make some actors fixed in the party, such as enforcing the lead party member from being changed.
Code: ============================================================================
# ** XAIL REDO CONFIGURATION
# * PART II: MENU FUNCTIONALITY
#------------------------------------------------------------------------------
# This module holds your menu's configuration options. The second set of
# modules handle the options and information data used and displayed by
# the menu system.
#==============================================================================
module X_MAIN
#============================================================================
# ** OPTIONS
#----------------------------------------------------------------------------
# This module contains data controlling the Menu Command/Options Window
#============================================================================
module OPTIONS
#--------------------------------------------------------------------------
LIST1, LIST2 = {}, {} # -- Do Not Touch --
#--------------------------------------------------------------------------
# PARTY ORDER KEYWORD
# ===================
# This string is used in the Options List (List2) in place of a Scene or
# Common Event command to trigger Party Order performance.
#
PARTY_ORDER = 'Formation'
#==========================================================================
# LIST1
# =====
# All items shown in the command window are here, and use the syntax:
# LIST1[index] = [ option, icon, description, no_party, no_save
# -------------------------------------------------------------------------
# * Option ....... (String) Text shown in the Command Window
# * Icon ......... (String) Icon Filename shown in the Command Window
# * Description .. (String) Text shown in Description Window
# * No_Party ..... (Boolean true/false) If option disabled with 0 members
# * No_Save ...... (Boolean true/false) If save-disabled hampers the option
# * Switch ....... (Numeric) ID of RMXP Switch that needs to be ON (or nil)
# * Hide?......... (Boolean true/false) If switch hides or just disables
#
LIST1[0] = ["Item", "item", "Browse your grab bag", true, false]
LIST1[1] = ["Equip", "equip", "Review your equipped gear.", true, false, 2, false]
LIST1[2] = ["Skill", "spell", "Check your learned skills", true, false]
LIST1[3] = ["Order", "", "Change your party order", false, false, 1 ,true]
LIST1[4] = ["Status", "stats", "Check the stats of a hero.", true, false]
LIST1[5] = ["Save", "saves", "Record your progress.", false, true]
LIST1[6] = ["Quit", "quit", "Finish adventuring.", false, false]
LIST1[7] = ["Title", "title", "Return to the Menu.", false, false]
LIST1[8] = ["Camping","camp", "Pitch a campfire n sleep", true, true]
#==========================================================================
# LIST2
# =====
# All items shown that perform scene transitions in the menu are here.
# The order must match the key order in the COMMAND module
# LIST2[index] = [ actor_select, skill_restricted, Scene_Command
# -------------------------------------------------------------------------
# * Actor_Select.. (Boolean true/false) If Menu option is Actor Specific
# * Skill_Restrict (Boolean true/false) If Menu option is skill restricted
# * Scene_Command. (String or numeric) Text String holding the complete
# Scene command, ID of a Common Event or Formation text
# * Actor(s) Using (Value/Array) ID or array of IDs of actors permitted
#
LIST2[0] = [false, false, "Scene_Item.new"]
LIST2[1] = [true, false, "Scene_Equip.new(@status_window.index)"]
LIST2[2] = [true, true, "Scene_Skill.new(@status_window.index)", 5]
LIST2[3] = [true, false, "Formation"]
LIST2[4] = [true, false, "Scene_Status.new(@status_window.index)"]
LIST2[5] = [false, false, "Scene_Save.new"]
LIST2[6] = [false, false, "Scene_End.new"]
LIST2[7] = [false, false, "Scene_Title.new"]
LIST2[8] = [false, false, 1]
end
#============================================================================
# ** STATS
#----------------------------------------------------------------------------
# This module lists the information about the current game.
#----------------------------------------------------------------------------
module STATS
#--------------------------------------------------------------------------
LIST = {} # -- Do Not Touch --
#--------------------------------------------------------------------------
# LIST
# ====
# All basic information (other than the in-game clock) are inserted here
# and are ordered by the key order. The syntax is shown here:
# LIST[index] = [ option, icon, value1, value2, value3
# -------------------------------------------------------------------------
# * Option ....... (String) Text shown in the command window for the option
# * Icon ......... (String) Filename of icon used in the command window
# * Datatype...... (Numeric) 0,1,2 (if data is script, switch, variable)
# * Datashown..... (flexible) May be string if datatype 0, or numeric.
#
LIST[0] = ["Gold: ", "gold", 0, '$game_party.gold', " Rupies"]
LIST[1] = ["Steps: ", "boots", 0, '$game_party.steps']
LIST[2] = ["Collected Items: ", "chest", 0, '$game_party.all_items']
LIST[3] = ["Map: ", "scroll", 0, '$game_map.name']
LIST[4] = ["Leader: ", "star", 0, '$game_party.actors[0].name']
LIST[5] = ["Battle Count: ", "sword", 0, '$game_system.battle_count']
LIST[6] = ["Save Count: ", "book", 0, '$game_system.save_count']
LIST[7] = ["Party Members: ", "dude", 0, '$game_party.actors.size']
LIST[8] = ["Highest Level: ", "saiyan", 0, '$game_party.max_level']
LIST[9] = ["Switch 11: ", "049-Skill06", 1, 11]
LIST[10] = ["Switch 12: ", "049-Skill06", 1, 12]
LIST[11] = ["Variable 22: ", "049-Skill06", 2, 22]
LIST[12] = ["Variable 24: ", "049-Skill06", 2, 24]
end
end
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 11,240
Threads: 649
Joined: May 2009
Here's a copy of the Configuration 1st page, the appearance page. Basically covers window appearance, icons, faces and etc. Heavily commented, but I don't have the bar configs in it as yet:
Code: #==============================================================================
# ** XAIL REDO CONFIGURATION
# * PART I: MENU VISIBILITY
#------------------------------------------------------------------------------
# This module holds your menu's configuration options. The first set of
# modules handle the appearance and visible design of the menu system.
#==============================================================================
module X_MAIN
#----------------------------------------------------------------------------
# * BASICS
# This module handles font settings, resizing or hiding default windows,
# windowskin and opacity settings.
#----------------------------------------------------------------------------
module BASICS
# FONT AND TEXT PLACEMENT
# =======================
# ----Font names ----- Size Space Font Effects
FONT = [["Calibri", "Verdana"], 18, 24, [true, false, true, true, false, false]]
# WINDOW DIMENSIONS
# ==================
# Supply an array of x/y position and width/height for the window,
# or supply a setting of nil to disable.
# X Y W H
TIME = [ 430, 352, 210, 64]
STEPS = nil
GOLD = nil
# CUSTOM XAIL TIME WINDOW
# =======================
# The Xail Time Window does not have text reading Playtime, but may
# show an icon. It uses dimensions set by the 'TIME' array above.
#
XAILTIME = true # Render Xail Time Window
TIMEICON = "Hourglass" # Icon in Xail Time Window
# WINDOW BACK SETTINGS
# ====================
#
OPACITY = 255 # Opacity for skin or background
SKIN = nil # Windowskin in use (or nil for default)
OVERLAY = nil # Menu overlay image (or nil for windowskin)
ANIM_BACKGRD = nil # Animated background graphic
ANIM_BACK_X = 0 # Speed of X panorama shift
ANIM_BACK_Y = 0 # Speed of Y panorama shift
end
#----------------------------------------------------------------------------
# * AV
# This module handles Audio Video Extras for the system, including the
# use of either charset or face in the menu, status effect displays,
# icon sizes, bar drawing and menu music.
#----------------------------------------------------------------------------
module AV
# INITIAL GRAPHIC SETTINGS
# ========================
#
CHARSET = false # Use Charset or Face
FACE = "_Fc3" # Suffix for face graphics
ICONSIZE = 22 # Height/Width of icons in menu
# STATUS ROTATION SYSTEM
# ======================
#
NORMAL_STATE = "Normal" # Word used to display normal state
BRACKET_STATE = true # If traditional '[' brackets are around text
TIMER_SPEED = 3 # Cycle speed of 0-20 (0 = fastest)
ICON = false # If icons are used in place of text
# AUDIO PLAYBACK SYSTEM
# =====================
# Supply either a filename, "" for no audio, or nil to ignore change
#
BGM = "021-Field04" # Music background for menu
BGS = "" # Ambient audio background for menu
end
#----------------------------------------------------------------------------
# * COMMAND
# This module handles the size, shape and appearance of the menu options
# window in the menu.
#----------------------------------------------------------------------------
module COMMAND
# WINDOW DIMENSIONS
# ==================
# X Y W H
WINDOW = [ 0, 0, 160, 416]
# FONT AND TEXT PLACEMENT
# =======================
# ----Font names ----- Size Space Font Effects
FONT = [["Calibri", "Verdana"], 18, 24, [true, false, true, true, true, true]]
# TEXT LEFT EDGE
# ==============
#
TEXT_MIN = 4 # (numeric) Left adjustment in px
TEXT_MAX = 24 # (numeric) Left adjustment in px if icons rendered
# ICON PLACEMENT
# ==============
#
ICONS = true # (boolean true/false) Show Icon to accompany text
ICON_X = 1 # (numeric) X Coordinate (left/right) adjustment
ICON_Y = 1 # (numeric) X Coordinate (height) adjustment
end
#----------------------------------------------------------------------------
# * PARTY
# This module handles size, shape and appearance of the visible party
# members in the menu.
#----------------------------------------------------------------------------
module PARTY
# WINDOW DIMENSIONS
# ==================
# X Y W H
WINDOW = [ 160, 000, 270, 416] # Window Placement and Dimensions
CURSOR = [ 100, 128] # Cursor Size (Width & Height)
SPACING = [ 32, 0] # Spacing between actor data (X & Y)
COLUMNS = 2 # Number of Columns
# FONT AND TEXT PLACEMENT
# =======================
# ----Font names ----- Size Space Font Effects
FONT = [["Calibri", "Verdana"], 18, 22, [true, false, true, true]]
# ACTOR NAME COLOR CHANGES
# ========================
#
COLOR_D = [255,255,255,128] # (array)(rr,bb,gg,aa) Color of Disabled
COLOR_H = [255, 0, 0,255] # (array)(rr,bb,gg,aa) Color of Highlight
# INDIVIDUAL OBJECT VALUES
# ========================
#
# sz x y wd
FACE = [ 0, 100 ] # X/Y Position of Face Graphic
CHAR = [ 20, 80 ] # X/Y Position of Charset Graphic
NAME = [ 20, 0, -10 ] # Font Size, X & Y Position of Name Field
LEVEL = [ 20, 0, 4 ] # Font Size, X & Y Position of Level Field
CLASS = [ 20, 0, 70 ] # Font Size, X & Y Position of Class Field
STATE = [ 14, 0, 18 ] # Font Size, X & Y Position of State Field
HP = [ 14, 5, 84, 90 ] # Font Size, X, Y & Width of HP Field
SP = [ 14, 5, 94, 90 ] # Font Size, X, Y & Width of SP Field
EXP = [ 14, 5, 104, 90 ] # Font Size, X, Y & Width of EXP Field
end
#----------------------------------------------------------------------------
# * STATS
# This module handles the size, shape and appearance of the statistics
# window in the menu.
#----------------------------------------------------------------------------
module STATS
# WINDOW DIMENSIONS
# ==================
# X Y W H
WINDOW = [ 430, 0, 210, 352]
ALIGN = 2
# FONT AND TEXT PLACEMENT
# =======================
# ----Font names ----- Size Space Font Effects
FONT = [["Calibri", "Verdana"], 14, 22, [true, true, true, true, true, true]]
# TEXT LEFT EDGE
# ==============
#
TEXT_MIN = 4 # (numeric) Left adjustment in px
TEXT_MAX = 24 # (numeric) Left adjustment in px if icons rendered
# ICON PLACEMENT
# ==============
#
ICONS = true # (boolean true/false) Show Icon to accompany text
ICON_X = 1 # (numeric) X Coordinate (left/right) adjustment
ICON_Y = 0 # (numeric) X Coordinate (height) adjustment
end
#----------------------------------------------------------------------------
# * HELP
# This module handles the size, shape and appearance of the enhanced help
# and description window in the menu.
#----------------------------------------------------------------------------
module HELP
# WINDOW DIMENSIONS
# ==================
# X Y W H
WINDOW = [ 000, 416, 640, 64]
# FONT AND TEXT PLACEMENT
# =======================
# ----Font names ----- Size Space Font Effects
FONT = [["Calibri", "Verdana"], 18, 24, [true, true, true, true]]
# TEXT LEFT EDGE
# ==============
#
TEXT_MIN = 4 # (numeric) Left adjustment in px
TEXT_MAX = 24 # (numeric) Left adjustment in px if icons rendered
# VERTICAL TEXT PLACEMENT
# =======================
#
TEXT_Y1 = -2 # (numeric) Height adjustment of 1st line in window
TEXT_Y2 = 12 # (numeric) Height adjustment of 2nd line in window
# ICON PLACEMENT
# ==============
#
ICONS = true # (boolean true/false) Show Icon to accompany text
ICON_X = 2 # (numeric) X Coordinate (left/right) adjustment
ICON_Y = 0 # (numeric) X Coordinate (height) adjustment
end
end
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 11,240
Threads: 649
Joined: May 2009
Hey! Time for the final touches!!!!
This screenshot is of the system using normal windowskins. However, there are things happening in this system.
One is that you see Basil suffering from status ailments. If this were an animated gif, you would see even more as it goes from one ailment to another in a rotating fashion. This can be replaced with a stylized icon for each ailment.
Another is that I changed the formation of the party 'AFTER' making Basil sick. The status ailments do properly adjust to the right location and hover over the correct hero. That's a big whoop.
And another is that you can see that I highlighted Hilda after choosing the 'Order' option. This feature is the built-in party reorder system which lets you decide if Aluxes should be the party leader or Gloria if you want. It is build in and handy. Oh, the color of the name highlight configurable.
Oh, and for those wondering... I did change the text in the top right to read 'Coin Purse' for the rupees. So it no longer reads "Gold: 0 Rupees"
But now... it has a system to draw HP/SP/EXP bars for the customized menu system!
The bar system allows you to use pre-rendered graphics in the Graphics\Bars folder, much like the Gradient Bars script by Trickster or Moghunter's menu system. But it also has a default 'gradient rendering' system which means you set two colors per bar (not including the background), and it draws from one color to another. A tiny bit of the MACL was added, a color_between module by SephirothSpawn which made coding so mush cleaner.
However, it also has the ability to autodetect four different bar systems: Near Fantastica's, ParaDog's, Fukuyama's and SephirothSpawn's. If you are using the RTAB battlesystem, the Near Fantastica method will be available otherwise you would need some outside script. Likewise, using ParaDog's CTB affords you his bar system. And while not many knew Fukuyama (aka XRXS) even made a bar system, MakirouAru did and used it in his CTB. But you will need to set the system to use the custom bar option. It won't just use it immediately. AND you have to set the color scheme for each option.
The example above shows the use of SephirothSpawn's bars used with a simple RED to GREEN color scheme for each bar. Ideally, yuo would want a reddish scheme for health, maybe blue for skills and ... well, whatever you like for experience.
But it is nearly done. My next post regarding this SHOULD be the actual Demo topic itself!!!
Xail_Rnd_3.png (Size: 50.05 KB / Downloads: 38)
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 11,240
Threads: 649
Joined: May 2009
It is DONE. Please check out XaiL Redux Deluxe for one of three demos.
....... I should have made one of them use a single column actor layout like the default... I was too lazy (it can do that ya know).
And insofar as outside bar scripts... they're around. But you may just like the bar gauges built into the system itself.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)
Above are clickable links
Posts: 49
Threads: 2
Joined: Feb 2016
Thank you so much.
Im really busy over here, os Im gonna comment about Xail Menu in the weekend.
|