Sujet: [VX] Menu Syle Dragon Quest Customisable Dim 28 Fév 2010 - 15:13
Auteurs : Ekras, Woratana, kmhp, Trihan, modern algebra
Explication : Ce script remplace le menu de base par un menu style Dragon Quest
Installation : Placer ce script au dessus de Main dans Matérials
Customisation :
- Ligne 34 : NUM_OF_ITEMS = 6 Le chiffre correspond au nombre de choses présentes dans le menu (chiffre compris entre 1 et 12)
- Ligne 35 : NUM_ROWS = 3 Le chiffre corresponds au nombre de ligne dans le menu par exemple la les mini menus seront divisé en 3 lignes, si vous mettez 5, cela sera divisé en 5 lignes
Exemple en screen :
pour chiffre 3 :
pour chiffre 5 :
- Ligne 36 : NUM_COL = 2 Pareil que pour les lignes mais il s'agit des colonnes
- Définir un nouveau menu menu :
ITEM_x_TYPE = y ITEM_x_NAME = w
Explications : x = numéro du mini menu dans menu base 1 = premier, 2 = second bien sur le dernier numéro de mini menu doit correspondre au numéro de cette ligne : NUM_OF_ITEMS = 6 Le y indique le numéro du type de mini menu parmi tous ces numéros :
1 = Pour une utilisation futur (je vous rappelle qu'une version 3 arrivera prochainement) 2 = Pour une utilisation futur (je vous rappelle qu'une version 3 arrivera prochainement) 3 = Appel l'Ecran de Statut spécifique à ce script 4 = Appel l'Ecran d'Equipement spécifique à ce script (pas utilisable dans cette version) 5 = Pour le menu de sauvegarde 6 = Pour le menu de Quitter la partie 7 = Pour le menu des Objets 8 = Pour le menu des Statuts des personnages 9 = Pour le menu des Compétences 10 = Pour le menu des équipements
Et le w correspond au nom du mini menu que vous voulez mettre n'oubliez pas de mettre le nom entre ""
Pour ajouter après ceux existants ajouter les deux lignes que je vous ai donné plus haut à la ligne 86.
Passons maintenant à la configuration du statut facon Dragon Quest qui commence à la ligne 97 :
Tout d'abord la ligne 102 : STATUS_FONT = "Franklin Gothic Medium"
Donc cette ligne permet de choisir la police d'affichage il vous suffit de remplacer ce qu'il y a entre " " par le nom de la police que vous voulez mettre, attention cependant n'oubliez pas de mettre le fichier de la police dans le répertoire de votre projet.
Ligne 106 à 135 : comme vous allez pouvoir le voir chaque élément du statut se sépare en 3 lignes comme ceci :
LINE_1_STRING = x LINE_1_ONOFF = y LINE_1_TYPE = w
x = nom de l'option (par exemple agilité ou endurance à mettre entre " ") y = Afficher ou ne pas afficher cette ligne (true = afficher, false = ne pas afficher) w = un chiffre correspond à l'élément
1 = Attaque ou Force 2 = Agilité 3 = Esprit ou Intelligence 4 = Classe 5 = Défense 6 = HP actuels ou Points de vie actuels 7 = MP actuels ou Points de magie actuels 8 = HP Maximum 9 = MP Maximum 10 = Expérience actuelle 11 = Expérience pour le prochain nveau 12 = Nom du personnage 13 = Niveau du personnage
Exemple de l'apparence de ce menu de statut :
Plus bas dans le script vous voyez LIte menu c'est les même configuration que Menu Léger présent sur cette page.
Version : 1.2
Date : 04.07.2008
Dark Raviel
Croisé Lv.14
Age : 34 Inscrit le : 03/03/2009 Messages : 1141
Sujet: Re: [VX] Menu Syle Dragon Quest Customisable Dim 28 Fév 2010 - 15:15
script
Code:
#============================================================================== # � [RMVX] Dragon-Quest Style Customizable Menu System Version 1.20 #------------------------------------------------------------------------------ # by Ekras # # released on 04/07/2008 # # Credit to Woratana [woratana@hotmail.com] for his LiteMenu which # this is lightly based on (I started with his script and built this on top) # # Thanks to "Woratana", "kmhp", "Trihan", and # "modern algebra" (the person) for forum help :) # # Updates to version 1.2 # - script Name changed from "Dragon Quest Style Status Indicator" # to "Dragon Quest Style Customizable Menu System" # - Dragon Quest Style Status Screen coded # - Main Menu now easily configurable (Change items on the menu!) # - Refill Command on the Status Screen currently does not function (TBD) # - Somehow the blank line never made it into 1.1, but it is definatly in 1.2 # - Added functions to the mini-boxes to show Current EXP, EXP to next level # and Class # - New error msgs are more descriptive, and appear in print commands instead of # - in game. (you'll get a popup) # - The player is able to back out of menu screens in the DQ Style Status Screen # - Able to independantly change the font of the Staus Menu (partially implemented) # # Coming soon in Version 1.3 # - Lots of optimization - script will be faster, smarter, and smaller # - Sprite display in the mini-boxes (code is done, but still has many bugs) # - The ability to use one large "mega" box in place of the mini-boxes # - Dragon Quest Style Equip Screen + Equipment Box in DQ Style Status # - Additional information (Equipment) displayed under "See All" in the DQ Status screen # - More Font customization # - Much more...... #============================================================================== module DQ_Menu_Setup
#Configure the Main Menu here =begin This part of the script allows you to quickly change the display of the main menu. You can set the number of rows and colums, as well as what items are displayed =end NUM_OF_ITEMS = 6 #Set the number of items on the menu (1-12) NUM_ROWS = 6 # The number of Rows in the main menu NUM_COL = 1 # The number of columns in the main menu
#Configure the items to appear on the main menu here. Types are as follows: # 1- Blank for future use # 2- Blank for future use # 3- Call the DQ Status Screen # 4- Call the DQ Equipment Screen (Do not use in this version) # 5- Built-in Save menu # 6- Built-in End Game Menu # 7- Built-in Item Menu # 8- Built-in Status Menu # 9- Built-in Skill Menu # 10- Built in Equipment Menu
ITEM_1_TYPE = 7 ITEM_1_NAME = 'Objets' #What displays on the menu
ITEM_2_TYPE = 9 ITEM_2_NAME = 'Competences'
ITEM_3_TYPE = 10 ITEM_3_NAME = 'Equipement'
ITEM_4_TYPE = 3 ITEM_4_NAME = 'Statuts'
ITEM_5_TYPE = 5 ITEM_5_NAME = 'Sauver'
ITEM_6_TYPE = 6 ITEM_6_NAME = 'Quitter Jeu'
ITEM_7_TYPE = 3 ITEM_7_NAME = 'Item 7'
ITEM_8_TYPE = 3 ITEM_8_NAME = 'Item 8'
ITEM_9_TYPE = 3 ITEM_9_NAME = 'Item 9'
ITEM_10_TYPE = 3 ITEM_10_NAME = 'Item 10'
ITEM_11_TYPE = 3 ITEM_11_NAME = 'Item 11'
ITEM_12_TYPE = 3 ITEM_12_NAME = 'Item 12' end
module DQ_Status_Setup
#This Module defines the Dragonquest Style Status Screen. If you aren't using it #you can safely ignore this section.
#Configure the "See Stats" section of the status menu here
#Configure the right-side window here #Each "line" is a line of text and the stat value # For type use the following: 1 - Attack, 2 - Agility, 3 - Spirit # 4- Class, 5 - Defense, 6- HP, 7 - MP, 8 - MaxHP, 9 - MaxMP, # 10 - Experience, 11 - Experience to Level, #12 - Name, #13 - Level STATUS_FONT = "Franklin Gothic Medium" #case sensitive - name any true type font. # Note about fonts: The player must have the font installed for it to display. # Font changes currently only affects non-selectable menus. SEP = ':' # The character to seperate the stat and its value LINE_1_STRING = '' #Set the text to display for line one LINE_1_ONOFF = false #true to turn the line on, false to turn it off LINE_1_TYPE = 1 #see above for type codes LINE_2_STRING = 'Agility' #Set the text to display for line one LINE_2_ONOFF = true #true to turn the line on, false to turn it off LINE_2_TYPE = 2 #see above for type codes LINE_3_STRING = '' #Set the text to display for line one LINE_3_ONOFF = false #true to turn the line on, false to turn it off LINE_3_TYPE = 1 #see above for type codes LINE_4_STRING = 'Spirit' #Set the text to display for line one LINE_4_ONOFF = true #true to turn the line on, false to turn it off LINE_4_TYPE = 3 #see above for type codes LINE_5_STRING = '' #Set the text to display for line one LINE_5_ONOFF = false #true to turn the line on, false to turn it off LINE_5_TYPE = 1 #see above for type codes LINE_6_STRING = 'Maximum HP' #Set the text to display for line one LINE_6_ONOFF = true #true to turn the line on, false to turn it off LINE_6_TYPE = 8 #see above for type codes LINE_7_STRING = 'Maximum MP' #Set the text to display for line one LINE_7_ONOFF = true #true to turn the line on, false to turn it off LINE_7_TYPE = 9 #see above for type codes LINE_8_STRING = 'Attack Power' #Set the text to display for line one LINE_8_ONOFF = true #true to turn the line on, false to turn it off LINE_8_TYPE = 1 #see above for type codes LINE_9_STRING = 'Defense Power' #Set the text to display for line one LINE_9_ONOFF = true #true to turn the line on, false to turn it off LINE_9_TYPE = 5 #see above for type codes LINE_10_STRING = 'EXP' #Set the text to display for line one LINE_10_ONOFF = true #true to turn the line on, false to turn it off LINE_10_TYPE = 10 #see above for type codes
#Configure the Upper Left window here - i'd suggest 8 characters max in the string UL_SEP = ':' #Set the character to seperate strings from values here (HP-33 if '-') UL_NAME_ONOFF = true #make false to have the characters name not appear UL_NAME_DIV = true #Add or remove the divider between the name and the other info. # The divider will not appear if name is disabled
UL_LINE_1_ONOFF = true #Turn line one on or off UL_LINE_1_STRING = 'Class' UL_LINE_1_TYPE = 4 #Same types as before UL_LINE_2_ONOFF = false #Turn line one on or off UL_LINE_2_STRING = '' UL_LINE_2_TYPE = 1 #Same types as before UL_LINE_3_ONOFF = true #Turn line one on or off UL_LINE_3_STRING = 'Level' UL_LINE_3_TYPE = 13 #Same types as before UL_LINE_4_ONOFF = true #Turn line one on or off UL_LINE_4_STRING = 'HP' UL_LINE_4_TYPE = 6 #Same types as before UL_LINE_5_ONOFF = true #Turn line one on or off UL_LINE_5_STRING = 'MP' UL_LINE_5_TYPE = 7 #Same types as before
#These boxes are kinda tricky - messing with one effects the others sometimes #You can move it anywhere, it may just take a little while to find the right #combination of numbers.
# Main Setup @BOX_ONOFF = true #true to turn the miniboxes on, false to turn them off @NS_LOCATION = -70 #Move the mini-boxes to the left or right @NS_GAP = 225 #Adjust this to make the mini-boxes closer or further apart @BOX_W = 115 # Adjust the width of the mini-boxes @BOX_H = 115 #Adjust the height of the mini-boxes @BOX_Y = 280 #Adjust the Y coordinates of the mini-boxes @BOX_LEFT_RIGHT = 2 # set to 1 for the boxes to fold out right to left # set to 2 for the boxes to fold out left to right
# NAME SETUP @NAME_ONOFF = true #True is on, false is off @N_X = 0 # Set the X coordinates for the characters name @N_Y = 0 # Set the Y coordinates for the characters name
# Setup Each line of text in the boxes. By default it supports a name line and # up to 3 other lines of text. (With a 4th coded but disabled) # Adjusting these changes the boxes for all characters. # I included instructions below on how to add more as well as how to # add new stats to the list. # LINE 1 SETUP @LINEONE_ONOFF = true #true to turn the box on, false to turn it off @L1_Y = 20 # Set the y coordinates of the text @L1_X = 0 # Set x coordinates of the stat header @L1_X2 = 30 # set the distance of the stat from the header @L1_HEADER = 'HP:' #Sets the text header of the stat @L1_STAT = 1 # See Stat Guide Below
# LINE 2 SETUP @LINETWO_ONOFF = true #true to turn the box on, false to turn it off @L2_Y = 40 # Set the y coordinates of the text @L2_X = 0 # Set x coordinates of the stat header @L2_X2 = 30 # set the distance of the stat from the header @L2_HEADER = 'MP:' #Sets the text header of the stat @L2_STAT = 2 # See Stat Guide Below
# LINE 3 SETUP @LINETHREE_ONOFF = true #true to turn the box on, false to turn it off @L3_Y = 60 # Set the y coordinates of the text @L3_X = 0 # Set x coordinates of the stat header @L3_X2 = 30 # set the distance of the stat from the header @L3_HEADER = 'LV:' #Sets the text header of the stat @L3_STAT = 3 # See Stat Guide Below # LINE 4 SETUP @LINEFOUR_ONOFF = false #true to turn the box on, false to turn it off @L4_Y = 80 # Set the y coordinates of the text @L4_X = 0 # Set x coordinates of the stat header @L4_X2 = 30 # set the distance of the stat from the header @L4_HEADER = 'GP:' #Sets the text header of the stat @L4_STAT = 4 # See Stat Guide Below
#STAT GUIDE
# This is the list of currently implemented stats to show in the mini-boxes # To use input their item number in the STAT line of the line you want it to # show up on. If you want it to show anything else it shouldn't take you # long to get it to display it
# # 1 : Hitpoints # 2 : Magic-Points # 3 : Level # 4 : Gold - Only appears in Player 1s box! # 5 : EXP # 6 : EXP to Next Level # 7 : Class #
# ADVANCED SETUP # -ADDING NEW LINES # So you want to add new stats to the boxes huh? Heres how to do it. First off # change the total number of lines to how many lines are going to be displayed.
@LCOUNT = 7 #Set the number of items here #Now to add a new line go to EACH window box, and copy/pasting an existing line # and modify it to display your new stat. Shouldn't be too hard. # Dont forget to change the error code to reflect the new line number # once you are done, go above and copy/paste a setup from a line, and change the # varibles on the new one to reflect the new line. # # -ADDING NEW STATS TO BE DISPLAYED # To add a new stat to the menus first add it to the STAT Guide Above # Once you have a number go down into EACH Menu box below and copy/paste a stat item # Change if @L1_STAT == X to the number of the new stat # Now add to each box an event to get the info of the stat # Finally edit the stat section of the new item in the list, # # # Sending new STATS to the author # # If you feel the next release of this script should have other stats in it # email me at strager at comcast dot net with a subject line of "MINI-BOX STAT". # email without this subject line will not be read (my email only accepts # pre-approved subject lines # # In the email change the STAT number to # # Send only one status box's code- I'm smart enough to replicate it in the other # boxes :) # Please don't email other requests (use the forums to make script requests) end
# Party member 1's Box def create_newstat_window (ac)
member = [] hitpoints = [] magpoints = [] lev = [] cclass = [] cexp = [] cexptolev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) cclass.push (actor.class.name) cexp.push (actor.exp) cexptolev.push (actor.next_rest_exp_s) end
width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_window = Window_Base.new(x, y, width, height)
@newstat_window.create_contents #Name Line if @NAME_ONOFF == true @newstat_window.contents.font.color = @newstat_window.system_color @newstat_window.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end
#Line One
#Set Color @newstat_window.contents.font.color = @newstat_window.normal_color
if @LINEONE_ONOFF == true @newstat_window.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 1. Please set to a valid value.' end if @L1_STAT == 1 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_window.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT == 4 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,$game_party.gold) end if @L1_STAT == 5 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexp[(ac-1)]) end if @L1_STAT == 6 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cexptolev[(ac-1)]) end if @L1_STAT == 7 @newstat_window.contents.draw_text( (@L1_X+ @L2_X2), @L1_Y, 300, 20,cclass[(ac-1)]) end
if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end
#Line Two
#Set Color @newstat_window.contents.font.color = @newstat_window.normal_color
if @LINETWO_ONOFF == true @newstat_window.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 1. Please set to a valid value.' end case @L2_STAT when 1 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) when 2 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) when 3 @newstat_window.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) when 4 @newstat_window.contents.draw_text( (@L2_X + @L2_X2), @L2_Y, 300, 20,$game_party.gold) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end
#Line Three
#Set Color @newstat_window.contents.font.color = @newstat_window.normal_color
if @LINETHREE_ONOFF == true @newstat_window.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 1. Please set to a valid value.' end if @L3_STAT == 1 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_window.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT == 4 @newstat_window.contents.draw_text( (@L3_X + @L3_X2), @L3_Y, 300, 20,$game_party.gold) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end
end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_window.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT) if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 1. Please set to a valid value.' end if @L4_STAT == 1 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_window.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 @newstat_window.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) end
if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end # Party Member 2's Box def create_newstat_windowtwo (ac)
member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end
width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowtwo = Window_Base.new(x, y, width, height)
@newstat_windowtwo.create_contents
#Name Line if @NAME_ONOFF == true @newstat_windowtwo.contents.font.color = @newstat_windowtwo.system_color @newstat_windowtwo.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end
#Line One
#Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINEONE_ONOFF == true @newstat_windowtwo.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 2. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 1) - Please check your LCOUNT #.' end end
#Line Two
#Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINETWO_ONOFF == true @newstat_windowtwo.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 2. Please set to a valid value.' end case @L2_STAT when 1 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) when 2 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) when 3 @newstat_windowtwo.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end
if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end
#Line Three
#Set Color @newstat_windowtwo.contents.font.color = @newstat_windowtwo.normal_color
if @LINETHREE_ONOFF == true @newstat_windowtwo.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 2. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end
if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end
#Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowtwo.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 2. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 @newstat_windowtwo.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) end
if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 2) - Please check your LCOUNT #.' end end
@LASTX = (@LASTX + @NS_LOCATION) end
# Party member 3's Box def create_newstat_windowthree (ac)
member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end
width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowthree = Window_Base.new(x, y, width, height)
@newstat_windowthree.create_contents
#Name Line if @NAME_ONOFF == true @newstat_windowthree.contents.font.color = @newstat_windowthree.system_color @newstat_windowthree.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end
#Line One
#Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINEONE_ONOFF == true @newstat_windowthree.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 3. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowthree.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end
#Line Two
#Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINETWO_ONOFF == true @newstat_windowthree.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 3. Please set to a valid value.' end if @L2_STAT == 1 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) end if @L2_STAT == 2 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) end if @L2_STAT == 3 @newstat_windowthree.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end
#Line Three
#Set Color @newstat_windowthree.contents.font.color = @newstat_windowthree.normal_color
if @LINETHREE_ONOFF == true @newstat_windowthree.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 3. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowthree.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowthree.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 3. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 @newstat_windowthree.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) end
if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 3) - Please check your LCOUNT #.' end end
@LASTX = (@LASTX + @NS_LOCATION) end #Party Member 4's box def create_newstat_windowfour (ac)
member = [] hitpoints = [] magpoints = [] lev = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) hitpoints.push (actor.hp) magpoints.push (actor.mp) lev.push (actor.level.to_s) end
width = @BOX_W height = @BOX_H x = ((@LASTX) /2) - (width/2) y = (@BOX_Y + 10) @newstat_windowfour = Window_Base.new(x, y, width, height)
@newstat_windowfour.create_contents
#Name Line if @NAME_ONOFF == true @newstat_windowfour.contents.font.color = @newstat_windowfour.system_color @newstat_windowfour.contents.draw_text(@N_X, @N_Y, 300, 20, member[(ac - 1)]) end
#Line One
#Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINEONE_ONOFF == true @newstat_windowfour.contents.draw_text( @L1_X, @L1_Y, 300, 20,@L1_HEADER) if (@L1_STAT <= @LCOUNT) and (@L1_STAT != 4) if @L1_STAT < 0 p 'ERROR: @L1_STAT < 0 for player 4. Please set to a valid value.' end if @L1_STAT == 1 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,hitpoints[(ac - 1)]) end if @L1_STAT == 2 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,magpoints[(ac - 1)]) end if @L1_STAT == 3 @newstat_windowfour.contents.draw_text( (@L1_X + @L1_X2) , @L1_Y, 300, 20,lev[(ac - 1)]) end if @L1_STAT > @LCOUNT p 'L1_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end
#Line Two
#Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINETWO_ONOFF == true @newstat_windowfour.contents.draw_text( @L2_X, @L2_Y, 300, 20,@L2_HEADER) if (@L2_STAT <= @LCOUNT) and (@L2_STAT != 4) if @L2_STAT < 0 p 'ERROR: @L2_STAT < 0 for player 4. Please set to a valid value.' end if @L2_STAT == 1 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,hitpoints[(ac - 1)]) end if @L2_STAT == 2 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,magpoints[(ac - 1)]) end if @L2_STAT == 3 @newstat_windowfour.contents.draw_text( (@L2_X + @L2_X2) , @L2_Y, 300, 20,lev[(ac - 1)]) end if @L2_STAT > @LCOUNT p 'L2_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end
#Line Three
#Set Color @newstat_windowfour.contents.font.color = @newstat_windowfour.normal_color
if @LINETHREE_ONOFF == true @newstat_windowfour.contents.draw_text( @L3_X, @L3_Y, 300, 20,@L3_HEADER) if (@L3_STAT <= @LCOUNT) and (@L3_STAT != 4) if @L3_STAT < 0 p 'ERROR: @L3_STAT < 0 for player 4. Please set to a valid value.' end if @L3_STAT == 1 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,hitpoints[(ac - 1)]) end if @L3_STAT == 2 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,magpoints[(ac - 1)]) end if @L3_STAT == 3 @newstat_windowfour.contents.draw_text( (@L3_X + @L3_X2) , @L3_Y, 300, 20,lev[(ac - 1)]) end if @L3_STAT > @LCOUNT p 'L3_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end #Line Four (Off by default) if @LINEFOUR_ONOFF == true @newstat_windowfour.contents.draw_text( @L4_X, @L4_Y, 300, 20,@L4_HEADER) if (@L4_STAT <= @LCOUNT)
if @L4_STAT < 0 p 'ERROR: @L4_STAT < 0 for player 4. Please set to a valid value.' end if @L4_STAT == 1 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,hitpoints[(ac - 1)]) end if @L4_STAT == 2 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,magpoints[(ac - 1)]) end if @L4_STAT == 3 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2) , @L4_Y, 300, 20,lev[(ac - 1)]) end if @L4_STAT == 4 @newstat_windowfour.contents.draw_text( (@L4_X + @L4_X2), @L4_Y, 300, 20,$game_party.gold) end
if @L4_STAT > @LCOUNT p 'L4_STAT > LCOUNT for (Player 4) - Please check your LCOUNT #.' end end @LASTX = (@LASTX + @NS_LOCATION) end
# End Character Boxes
def create_command_window
s1 = DQ_Menu_Setup::ITEM_1_NAME s2 = DQ_Menu_Setup::ITEM_2_NAME s3 = DQ_Menu_Setup::ITEM_3_NAME s4 = DQ_Menu_Setup::ITEM_4_NAME s5 = DQ_Menu_Setup::ITEM_5_NAME s6 = DQ_Menu_Setup::ITEM_6_NAME s7 = DQ_Menu_Setup::ITEM_7_NAME s8 = DQ_Menu_Setup::ITEM_8_NAME s9 = DQ_Menu_Setup::ITEM_9_NAME s10 = DQ_Menu_Setup::ITEM_10_NAME s11 = DQ_Menu_Setup::ITEM_11_NAME s12 = DQ_Menu_Setup::ITEM_12_NAME if DQ_Menu_Setup::NUM_OF_ITEMS == 0 p 'ERROR: Number of items on the main menu is set to 0 or garbage.' while 1 == 1 end if DQ_Menu_Setup::NUM_OF_ITEMS == 1 @command_window = Window_Command.new(200, [s1],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 2 @command_window = Window_Command.new(200, [s1, s2],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 3 @command_window = Window_Command.new(200, [s1, s2, s3],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 4 @command_window = Window_Command.new(200, [s1, s2, s3, s4],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 5 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end
if DQ_Menu_Setup::NUM_OF_ITEMS == 6 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end
if DQ_Menu_Setup::NUM_OF_ITEMS == 7 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 8 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7,s8],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 9 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7,s8,s9],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 10 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 11 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS == 12 @command_window = Window_Command.new(200, [s1, s2, s3, s4, s5, s6, s7,s8,s9,s10,s11,s12],DQ_Menu_Setup::NUM_COL,DQ_Menu_Setup::NUM_ROWS) end if DQ_Menu_Setup::NUM_OF_ITEMS > 12 p 'ERROR: Number of items on the main menu is greater than 12.', ' You need to script in more line numbers.' while 1 == 1 end @command_window.index = @menu_index @command_window.x = (230 /2) - (@command_window.width/2) #167 @command_window.y = Wor_Litemenu::MENU_WINDOW_Y
if $game_party.members.size == 0 p 'error - 0 party members. Lock the menu here.' end
if $game_system.save_disabled @command_window.draw_item(4, false) end
end
# Command Selection Re-Write
def update_command_selection
if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 Sound.play_buzzer return end Sound.play_decision
case @command_window.index
when 0 # Item 1 on the menu
Dernière édition par Dark Raviel le Dim 28 Fév 2010 - 15:34, édité 1 fois
Dark Raviel
Croisé Lv.14
Age : 34 Inscrit le : 03/03/2009 Messages : 1141
Sujet: Re: [VX] Menu Syle Dragon Quest Customisable Dim 28 Fév 2010 - 15:16
Suite du script :
Code:
#$scene = DQ_Menu_Setup::ITEM_1_STRING if DQ_Menu_Setup::ITEM_1_TYPE == 1 start_DQStatus_selection if DQ_Menu_Setup::ITEM_1_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_1_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_1_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_1_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_1_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_1_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_1_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_1_TYPE == 10 when 1 # @dqwhotype = 'equip' # left this here as a reminder. Should be placed for #item type for equip menu #start_DQWho_selection start_DQStatus_selection if DQ_Menu_Setup::ITEM_2_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_2_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_2_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_2_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_2_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_2_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_2_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_2_TYPE == 10 when 2 # Skill, equipment, status start_DQStatus_selection if DQ_Menu_Setup::ITEM_3_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_3_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_3_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_3_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_3_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_3_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_3_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_3_TYPE == 10
when 3 start_DQStatus_selection if DQ_Menu_Setup::ITEM_4_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_4_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_4_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_4_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_4_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_4_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_4_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_4_TYPE == 10 when 4 start_DQStatus_selection if DQ_Menu_Setup::ITEM_5_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_5_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_5_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_5_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_5_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_5_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_5_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_5_TYPE == 10 when 5 start_DQStatus_selection if DQ_Menu_Setup::ITEM_6_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_6_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_6_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_6_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_6_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_6_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_6_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_6_TYPE == 10 when 6 start_DQStatus_selection if DQ_Menu_Setup::ITEM_7_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_7_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_7_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_7_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_7_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_7_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_7_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_7_TYPE == 10 when 7 start_DQStatus_selection if DQ_Menu_Setup::ITEM_8_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_8_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_8_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_8_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_8_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_8_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_8_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_8_TYPE == 10 when 8 start_DQStatus_selection if DQ_Menu_Setup::ITEM_9_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_9_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_9_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_9_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_9_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_9_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_9_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_9_TYPE == 10 when 9 start_DQStatus_selection if DQ_Menu_Setup::ITEM_10_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_10_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_10_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_10_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_10_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_10_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_10_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_10_TYPE == 10 when 10 start_DQStatus_selection if DQ_Menu_Setup::ITEM_11_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_11_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_11_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_11_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_11_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_11_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_11_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_11_TYPE == 10 when 11 start_DQStatus_selection if DQ_Menu_Setup::ITEM_12_TYPE == 3 $scene = Scene_File.new(true, false, false) if DQ_Menu_Setup::ITEM_12_TYPE == 5 $scene = Scene_End.new if DQ_Menu_Setup::ITEM_12_TYPE == 6 $scene = Scene_Item.new if DQ_Menu_Setup::ITEM_12_TYPE == 7 @dqwhotype = 'oldstatus' if DQ_Menu_Setup::ITEM_12_TYPE == 8 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 8
@dqwhotype = 'oldskill' if DQ_Menu_Setup::ITEM_12_TYPE == 9 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 9
@dqwhotype = 'oldequip' if DQ_Menu_Setup::ITEM_12_TYPE == 10 start_DQWho_selection if DQ_Menu_Setup::ITEM_12_TYPE == 10 end end end
########################BEGIN DQ STYLE STATUS MENU ###################
#Custom DQ Style Member Select menu def create_dqwho_window member = [] acount = 0; for actor in $game_party.members member.push (actor.name) acount = acount+1 end
case acount
when 1 return when 2 @dqwho_window = Window_Command.new(200, [member[0], member[1]]) when 3 @dqwho_window = Window_Command.new(200, [member[0], member[1], member[2]]) when 4 @dqwho_window = Window_Command.new(200, [member[0], member[1], member[2], member[3]]) end
@W_PERCHAR = 0 @spacer = 0 member = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) @W_PERCHAR = @W_PERCHAR + 113 end
width = @W_PERCHAR height = 190 x = (30) y = (30)
@DQStatus_HPMP_window = Window_Base.new(x, y, width, height)
@TEMPX = 0 @DQStatus_HPMP_window.visible = false end
#Create the Attack Power Display under Status
def create_DQStatus_ATTACK_window ()
@spacer = 0 @H_PERCHAR = 0 member = [] @item_max = $game_party.members.size for actor in $game_party.members member.push (actor.name) @H_PERCHAR = @H_PERCHAR + 25 end
width = 300 height = 73 + @H_PERCHAR x = (30) y = (70)
@DQStatus_ATTACK_window = Window_Base.new(x, y, width, height)
@DQStatus_ATTACK_window.active = false @DQStatus_ATTACK_window.visible = false end
#Create the Full Status window (right screen of Show all)
def create_DQStatus_FullStat_window (actorstat) @dqs_window.active = false create_DQStatus_FullStatChar_window(actorstat) #Calls the character (right) window
#This next part determines the longest string size in use (to line up lines) xpos = 0 if DQ_Status_Setup::LINE_1_ONOFF == true xpos = DQ_Status_Setup::LINE_1_STRING.size if DQ_Status_Setup::LINE_1_STRING.size >= xpos end if DQ_Status_Setup::LINE_2_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_3_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_4_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_5_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_6_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_7_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_8_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_9_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end if DQ_Status_Setup::LINE_10_ONOFF == true xpos = DQ_Status_Setup::LINE_2_STRING.size if DQ_Status_Setup::LINE_2_STRING.size >= xpos end
if Input.trigger?(Input::B) Sound.play_cancel @DQStatus_FullStat_window.visible = false @DQStatus_FullStatChar_window.visible = false @dqwho_window.active = true @dqwho_window.visible = true end end #HPMP window def update_dqhpmp_selection
if Input.trigger?(Input::B) Sound.play_cancel end_dqhpmp_selection @DQStatus_ATTACK_window.visible = false @DQStatus_HPMP_window.visible = false @DQStatus_ATTACK_window.active = false @DQStatus_HPMP_window.active = false @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @dqwho_window.active = false @dqwho_window.active = false @dqs_window.active = true @dqs_window.visible = true end end #Attack window def update_attack_selection
if Input.trigger?(Input::B) Sound.play_cancel end_attack_selection @DQStatus_ATTACK_window.visible = false @DQStatus_HPMP_window.visible = false @DQStatus_ATTACK_window.active = false @DQStatus_HPMP_window.active = false @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_FullStatChar_window.active = false if @DQStatus_FullStatChar_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @dqwho_window.active = false @dqwho_window.active = false @dqs_window.active = true @dqs_window.visible = true end
end
#Update the Dragon Quest Status Selection def update_dqs_selection if Input.trigger?(Input::B) Sound.play_cancel @DQStatus_FullStat_window.visible = false if @DQStatus_FullStat_window @DQStatus_FullStatChar_window.visible = false if @DQStatus_FullStatChar_window @DQStatus_HPMP_window.visible = false if @DQStatus_HPMP_window @DQStatus_ATTACK_window.visible = false if @DQStatus_ATTACK_window $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @dqs_window.index < 4 Sound.play_buzzer return end Sound.play_decision
case @dqs_window.index
when 0 # Item 1 on the menu
start_dqhpmp_selection when 1 start_attack_selection when 2 @dqwhotype = 'status' start_DQWho_selection ()
end end end
#Update the Dragon Quest Who Selection Screen for Status def update_dqwho_selection () if Input.trigger?(Input::B) Sound.play_cancel @command_window.active = true if @dqwhotype == 'oldskill' @command_window.active = true if @dqwhotype == 'oldstatus' @command_window.active = true if @dqwhotype == 'oldequip' @command_window.active = true if @dqwhotype == 'equip' @dqs_window.active = true if @dqwhotype == 'status' @dqwho_window.visible = false
# @DQStatus_FullStatChar_window.visible = false elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @dqwho_window.index < 4 Sound.play_buzzer return end Sound.play_decision
#When called for the Old (built-in) Style status Menu if @dqwhotype == 'oldstatus' @dqwho_window.active = false $scene = Scene_Status.new(@dqwho_window.index)
end #When called for the Old (built-in) Style Equip Menu if @dqwhotype == 'oldequip' @dqwho_window.active = false $scene = Scene_Equip.new(@dqwho_window.index)
end #When called for the Old (built-in) Style Skill Menu if @dqwhotype == 'oldskill' @dqwho_window.active = false $scene = Scene_Skill.new(@dqwho_window.index)
end #When called for the DQ Style Equip Menu if @dqwhotype == 'equip' case @dqwho_window.index when 0
return end
#When called from the DQ Status screen (to show all stats) elsif @dqwhotype == 'status'
case @dqwho_window.index
when 0 # Should be Player #1 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[0]) start_fullstat_selection return
when 1 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[1]) return
when 2 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[2]) return
when 3 @dqwho_window.active = false create_DQStatus_FullStat_window (@actorarray[3]) return end end
p 'ERROR: @dqwho_window.index > 3. You have too big a party.' if @dqwho_window.index > 3 end end
end #Start Selection on the Dragon Quest Who Selection Screen for Status def start_DQWho_selection create_dqwho_window() @command_window.active = false @dqs_window.active = false @dqwho_window.visible = true @dqwho_window.active = true @dqwho_window.index = 0 end
#End Selection on the Dragon Quest Who Selection Screen for Status
elsif @DQStatus_FullStat_window update_dqfullstat_selection if @DQStatus_FullStat_window.active end end
#Terminate def terminate super dispose_menu_background @command_window.dispose @status_window.dispose @dqs_window.dispose @DQStatus_FullStat_window.dispose if @DQStatus_FullStat_window @DQStatus_FullStatChar_window.dispose if @DQStatus_FullStatChar_window @dqwho_window.dispose if @dqwho_window @DQStatus_HPMP_window.dispose if @DQStatus_HPMP_window @DQStatus_ATTACK_window.dispose if @DQStatus_ATTACK_window @location_window.dispose if @location_window
psize = ($game_party.members.size)
if @BOX_ONOFF == true for actor in $game_party.members if psize == 4 @newstat_windowfour.dispose elsif psize == 3 @newstat_windowthree.dispose elsif psize == 2 @newstat_windowtwo.dispose elsif psize == 1 @newstat_window.dispose end psize = (psize - 1) end end end
end
#Configuring the old-style menu's to update their cursors to the first position
class Scene_Status < Scene_Base def return_scene $scene = Scene_Menu.new(0) end end
class Scene_Equip < Scene_Base def return_scene $scene = Scene_Menu.new(0) end end
Contenu sponsorisé
Sujet: Re: [VX] Menu Syle Dragon Quest Customisable