SOLO l'icona WGI = 147 # ID dell'icona WGSS = false # true/false => SOLO la scritta WGSN = "Denaro" # Termine WGISS = true # true/false => Icona + Scritta WGIAG = 70 # muove a destra o sinistra l'icona. Da cambiare, se WGISS # è impostato su true, in base all'esigenza. #------------------------------------------------------------------------------ # ** Window_Tempo - Configurazione #------------------------------------------------------------------------------ WTX = 272 WTY = 360 WTSX = 0 # Coordinata x delle scritte. WTSY = 0 # Coordinata y delle scritte. WTSL = 220 # Lunghezza area di scrittura. WTSN = "Tempo di gioco:" # Termine che indica il tempo di gioco. WTFNT = 18 # Grandezza font. end #============================================================================== # ** Window_MenuStatus #============================================================================== class Window_MenuStatus < Window_Selectable include MMS def initialize(x, y) super(0, 56, 544, 305) refresh self.active = true self.index = -1 end def refresh self.contents.clear @item_max = 3 for actor in $game_party.members x = MMS::MSX y = actor.index * 92 + WLH / 2 + MMS::MSX if MMS::USAFACE == true @piux = 10 @piuy = 10 draw_actor_face(actor, x + MMS::FACEX, actor.index * 92 + MMS::FACEY, MMS::FACEGR) else @piux = 0 @piuy = 0 draw_actor_graphic(actor, x + MMS::CHX, y + (WLH + MMS::CHY)) end draw_actor_name(actor, x + MMS::NOMEX, y + @piuy = 10 + MMS::NOMEY) draw_actor_class(actor, x + MMS::CLASSEX + @piux, y + (WLH * 0) + MMS::CLASSEY) draw_actor_state(actor, x + MMS::STATUSX + @piux, y + MMS::STATUSY) draw_actor_level(actor, x + MMS::LIVX + @piux, y + (WLH * 1) + MMS::LIVY) draw_actor_hp(actor, x + MMS::PVX + @piux, (y + MMS::PVY) + WLH * 0, width = MMS::PVBL) draw_actor_mp(actor, x + MMS::PMX + @piux, (y + MMS::PMY) + WLH * 1, width = MMS::PMBL) draw_actor_exp_gauge(actor, x + MMS::EXPBX, actor.index * 92 + MMS::EXPBY) draw_exp_info(actor , x + MMS::NEXPX, actor.index * 92 + MMS::NEXPY) self.contents.draw_text( x + MMS::NSTATUSX + @piux, y + MMS::NSTATUSY, 100, 32, MMS::NSTATUS, 2) end end def update_cursor if @index < 0 self.cursor_rect.empty elsif @index < @item_max self.cursor_rect.set(0, @index * 92, contents.width, 85) elsif @index >= 100 self.cursor_rect.set(0, (@index - 100) * 92, contents.width, 85) else self.cursor_rect.set(0, 0, contents.width, @item_max * 85) end end def draw_exp_info(actor, x, y) s1 = actor.exp_s s2 = actor.corr_exp s3 = s1-s2 s4 = actor.pros_lvl_exp exp = s3.to_s + " / " + s4.to_s self.contents.draw_text(x, y + WLH * 0, 100, WLH, MMS::NEXP) self.contents.draw_text(x, y + WLH * 1, 100, WLH, exp, 2) end def draw_actor_exp_gauge(actor, x, y, width = MMS::EXPBL) s1 = actor.exp_s s2 = actor.corr_exp s3 = s1-s2 s4 = actor.pros_lvl_exp gw = width * s3 / s4 gc1 = text_color(MMS::EXPBC1) gc2 = text_color(MMS::EXPBC2) gauge_back_color = text_color(MMS::EXPBCS) gauge_cornice_color = text_color(MMS::EXPBCC) self.contents.fill_rect(x, y + WLH, width + 2, 8, gauge_cornice_color) self.contents.fill_rect(x + 1, y + WLH + 1, width, 6, gauge_back_color) self.contents.gradient_fill_rect(x + 1, y + WLH + 1, gw, 6, gc1, gc2) end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # * aggiunte #============================================================================== class Game_Actor < Game_Battler def corr_exp return @exp_list[@level] end def pros_lvl_exp return @exp_list[@level+1]-@exp_list[@level] end end #============================================================================== # ** Window_Base #------------------------------------------------------------------------------ # * alias #============================================================================== class Window_Base < Window include MMS alias melosx_draw_actor_state draw_actor_state alias melosx_draw_actor_hp_gauge draw_actor_hp_gauge alias melosx_draw_actor_mp_gauge draw_actor_mp_gauge def draw_actor_state(actor, x, y, width = 24 * MMS::STATUSN) count = 0 for state in actor.states draw_icon(state.icon_index, x + 24 * count, y) count += 1 break if (24 * count > width - 24) end end def draw_actor_hp_gauge(actor, x, y, width = 120) gw = width * actor.hp / actor.maxhp gc1 = text_color(MMS::PVBC1) gc2 = text_color(MMS::PVBC2) gauge_cornice_color = text_color(MMS::PVBCC) self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color) self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(MMS::PVBCS)) self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2) end def draw_actor_mp_gauge(actor, x, y, width = 120) gw = width * actor.mp / [actor.maxmp, 1].max gc1 = text_color(MMS::PMBC1) gc2 = text_color(MMS::PMBC2) gauge_cornice_color = text_color(MMS::PMBCC) self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color) self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(MMS::PMBCS)) self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2) end end #============================================================================== # ** Window_SkillStatus #------------------------------------------------------------------------------ # * alias #============================================================================== class Window_SkillStatus < Window_Base alias melosx_refresh refresh def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_level(@actor, 140, 0) draw_actor_hp(@actor, 240, 0) draw_actor_mp(@actor, 390, 0) end end #============================================================================== # ** Window_Status #------------------------------------------------------------------------------ # * alias + aggiunte #============================================================================== class Window_Status < Window_Base include MMS alias melosx_refresh refresh alias melosx_draw_exp_info draw_exp_info def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 128, 0) draw_actor_face(@actor, 8, 32) draw_basic_info(128, 32) draw_parameters(32, 160) draw_actor_exp_gauge(308, 87, (MMS::EXPBL + 50)) draw_exp_info(288, 70) draw_equipments(288, 160) end def draw_basic_info(x, y) draw_actor_level(@actor, x, y + WLH * 0) draw_actor_state(@actor, 308, 12 + WLH * 1) self.contents.draw_text(288, 5, 100, 32, MMS::NSTATUS, 0) draw_actor_hp(@actor, x, y + WLH * 2) draw_actor_mp(@actor, x, y + WLH * 3) end def draw_exp_info(x, y) s1 = @actor.exp_s s2 = @actor.next_exp_s exp = s1.to_s + " / " + s2.to_s self.contents.draw_text(x, y + WLH * 0, 100, WLH, MMS::NEXP) self.contents.draw_text(x + 110, y + WLH * 1, 100, WLH, exp, 0) end def draw_actor_exp_gauge(x, y, width = MMS::EXPBL) s1 = @actor.exp_s s2 = @actor.next_exp_s gw = width * s1 / s2 gc1 = text_color(MMS::EXPBC1) gc2 = text_color(MMS::EXPBC2) gauge_back_color = text_color(MMS::EXPBCS) gauge_cornice_color = text_color(MMS::EXPBCC) self.contents.fill_rect(x, y + WLH, width + 2, 8, gauge_cornice_color) self.contents.fill_rect(x + 1, y + WLH + 1, width, 6, gauge_back_color) self.contents.gradient_fill_rect(x + 1, y + WLH + 1, gw, 6, gc1, gc2) end end #============================================================================== # ** Scene_Menu #------------------------------------------------------------------------------ # * alias #============================================================================== class Scene_Menu < Scene_Base alias melosx_start start alias melosx_terminate terminate alias melosx_update update alias melosx_create_command_window create_command_window def start super create_menu_background create_command_window @gold_window = Window_GoldM.new(MAW::WGX, MAW::WGY) @status_window = Window_MenuStatus.new(160, 0) @tempo_gioco = Window_Tempo.new(MAW::WTX, MAW::WTY) end def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose @tempo_gioco.dispose end def update super update_menu_background @command_window.update @gold_window.update @status_window.update @tempo_gioco.update if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end @command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6 ] , 6, 0, 16) @command_window.index = @menu_index if $game_party.members.size == 0 @command_window.draw_item(0, false) @command_window.draw_item(1, false) @command_window.draw_item(2, false) @command_window.draw_item(3, false) end if $game_system.save_disabled @command_window.draw_item(4, false) end end end #============================================================================== # ** Window_Tempo #============================================================================== class Window_Tempo < Window_Base def initialize(x, y) super(x, y, 272, WLH + 32) refresh end def update super sec = (Graphics.frame_count / Graphics.frame_rate) % 60 if sec > @total_sec % 60 or sec == 0 refresh end end def refresh self.contents.clear @total_sec = Graphics.frame_count / Graphics.frame_rate ora = @total_sec / 60 / 60 min = @total_sec / 60 % 60 sec = @total_sec % 60 tempo = sprintf("%02d:%02d:%02d", ora, min, sec) self.contents.font.color = normal_color self.contents.font.size = MAW::WTFNT self.contents.draw_text(MAW::WTSX, MAW::WTSY, MAW::WTSL, WLH, tempo, 2) self.contents.draw_text(MAW::WTSX, MAW::WTSY, MAW::WTSL, WLH, MAW::WTSN, 0) end end #============================================================================== # ** Window_Gold #============================================================================== class Window_GoldM < Window_Base include MAW def initialize(x, y) super(x, y, 272, WLH + 32) refresh end def refresh self.contents.clear self.contents.font.color = normal_color self.contents.font.size = MAW::WTFNT draw_currency_value($game_party.gold, MAW::WGSX, MAW::WGSY, MAW::WGSL) if MAW::WGIS == true draw_icon(MAW::WGI, 0, 0) elsif MAW::WGISS == true draw_icon(MAW::WGI, MAW::WGIAG, 0) self.contents.draw_text(MAW::WGSX, MAW::WGSY, MAW::WGSL, WLH, MAW::WGSN, 0) elsif MAW::WGSS == true self.contents.draw_text(MAW::WGSX, MAW::WGSY, MAW::WGSL, WLH, MAW::WGSN, 0) end end end Demo: N/D" />

Vai al contenuto


Toggle Chat RM - Chat Apri la Chat in un popup

E' severamente vietato richiedere supporto su RPG Maker in chat!
@  MihaChan : (23 May 2012 - 09:19 PM) a parte i denti -che stanno decidendo di darmi noia in questi giorni-, tutto okay~
@  Melosx : (23 May 2012 - 09:18 PM) bene ^.^ ... Tu??
@  MihaChan : (23 May 2012 - 09:17 PM) come va? xD
@  MihaChan : (23 May 2012 - 09:16 PM) okay
@  MihaChan : (23 May 2012 - 09:16 PM) ah
@  Melosx : (23 May 2012 - 09:14 PM) ciao miha... ai dont spic inglisc
@  MihaChan : (23 May 2012 - 09:12 PM) how'sa goin'?
@  MihaChan : (23 May 2012 - 09:12 PM) ciao Mel!
@  Melosx : (23 May 2012 - 09:07 PM) ciao
@  MihaChan : (23 May 2012 - 09:06 PM) salve D:
@  Pech93 : (23 May 2012 - 08:05 PM) MIk?
@  Melosx : (23 May 2012 - 07:51 PM) VIENI SU MSN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:51 PM) MIIIIIIIIIIIIIIIIIIIKKKKKKKKKKKK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:46 PM) *iù
@  Melosx : (23 May 2012 - 07:38 PM) iu spin mi rai rau bebi rai rau laic a record bebi rau rau rau rau
@  Melosx : (23 May 2012 - 07:37 PM) lalalallalallalallallllllllllalalalallaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!
@  Melosx : (23 May 2012 - 07:37 PM) lalalalala
@  Melosx : (23 May 2012 - 07:37 PM) naoinvaoèvpodlnvvrovnovnondpppppppppmvdgdvjomvmvpe
@  Melosx : (23 May 2012 - 07:36 PM) che coa che robaé
@  Abadon : (23 May 2012 - 07:34 PM) dopo che il forum è andato fuori servizio si è persa un po' la chat D:

Menù per 3 pg


  • Per cortesia connettiti per rispondere
10 risposte a questa discussione

#1 OFFLINE   Melosx

Melosx

    Maker di rpgmkr.net

  • RM-Dreamers
  • 895 Messaggi:
  • LocalitàAvola
  • Ruolo:
    Scripter
  • Progetto Ace:
    Menu Chora
  • Tool:
    RPG Maker VX/VX Ace

Inviato 03 June 2011 - 04:50 PM

Nome Script: Menù per 3 pg
Versione: 1.3
Autore/i: Melosx

Informazioni:
Menu adatto per giochi con 3 pg.

Screenshots:
Spoiler
Istruzioni:
Come al solito copiate lo script sopra Main e sotto Materials.
Tutto ciò che dovete fare è configurarlo, se volete, come più vi pare grazie al comodo modulo.
Leggetevi la pèarte iniziale dello script per maggiori info.

Script:
#=============================================================================
# Menu per 3 pg
#=============================================================================
# Autore:   Melosx
# Versione: 1.3
# Data di creazione: 23-5-2011 => v1.0
#                    24-5-2011 => v1.1
#                    25-5-2011 => v1.1.1
#                    27-5-2011 => v1.2
#                     2-6-2011 => v1.3
# 
# Feature:
# 
# - Aggiunta barra dell'esperienza.
# - Possibilità di cambiare il numero di status visibili.
# - Possibilità di modificare lunghezza, posizione(x,y) e colori delle bare 
#   PV/PM/EXP.
# - Possibilità di scegliere se visualizzare il face o la grafica del chara.
# - Altro che non ricordo XD... EHEHEHEHEHEH... Vi basta comunque dare un occhio
#   alle voci del modulo di configurazione per vedere l mole di roba che si può
#   personalizzare.
# 
# Storia:
# 
# 1.0:      Cambiata la composizione delle finestre per come si presentano ora.
#           Aggiunta la Window_Tempo
#           
# 1.1:      Creato il modulo di configurazione per rendere estremamente facile la
#           personalizzazione del menù.
#           
# 1.1.1:    Fixato un piccolo bug con Window_SkillStatus.
#           Aggiunte le novità della Window_MenuStatus nel menu Status.
#           
# 1.2:      Possibilità di scegliere tra face o grafica del chara con correzioni 
#           automatiche alle posizioni in base alla scelta.
#           Unione dei tre script iniziali in uno solo per un facile inserimento
#           in un progetto.
#
# 1.3:      Terminato il modulo MAW.

# 
# Note:
# Cambiando il numero di status visibili nel menu cambiano anche quelli
# visibili in Status.
# Cambiando il colore delle barre cambierà anche nelle barre in bataglia e nei
# menu dove sono presenti barre(vedrò di risolvere questo problema se a qualcuno
# da fastidio).
#=============================================================================


#==============================================================================
# ** Modulo di configurazione di Window_MenuStatus
#==============================================================================

module MMS

#==============================================================================
# ** Colori delle barre
#------------------------------------------------------------------------------
# Per cambiare i colori delle barre avrete bisogno di vedere la windowskin del
# vostro gioco. In baso a destra infatti trovate i colori che il gioco utilizzerà
# per creare le barre. Gli indici dei colori partono da 0 che è il primo quadrato
# in alto a sinistra e arrivano a 31 l'ultimo quadrato in baso a destra.
# Ecco uno schema degli indici
#
#          | 0| 1| 2| 3| 4| 5| 6| 7|
#          | 8| 9|10|11|12|13|14|15|
#          |16|17|18|19|20|21|22|23|
#          |24|25|26|27|28|29|30|31|
#
#==============================================================================
  
  USAFACE = false
#------------------------------------------------------------------------------
# ** Variabili generali
#------------------------------------------------------------------------------
# Cambiandone il valore si stabilisce il valore di partenza di tutte le altre 
# variabili.
#
# Default
# MSX = 0
# MSY = 0
#------------------------------------------------------------------------------

  MSX = 0     # - verso sinistra, + verso destra
  MSY = 0     # - verso l'alto, + verso il basso
  
#------------------------------------------------------------------------------
# ** Sposta la grafica del character
#------------------------------------------------------------------------------

  CHX = 25     # - verso sinistra, + verso destra
  CHY = 5      # - verso l'alto, + verso il basso

##------------------------------------------------------------------------------
# ** Sposta la grafica del face
#------------------------------------------------------------------------------

  FACEX = 2
  FACEY = 2
  FACEGR = 80
  
#------------------------------------------------------------------------------
# ** Nome del personaggio
#------------------------------------------------------------------------------

  NOMEX = 5      # - verso sinistra, + verso destra
  NOMEY = 35     # - verso l'alto, + verso il basso
 
#------------------------------------------------------------------------------
# ** Classe del personaggio
#------------------------------------------------------------------------------

  CLASSEX = 80      # - verso sinistra, + verso destra
  CLASSEY = -10     # - verso l'alto, + verso il basso

#------------------------------------------------------------------------------
# ** Status
#------------------------------------------------------------------------------

  STATUSX = 188     # - verso sinistra, + verso destra
  STATUSY = 46      # - verso l'alto, + verso il basso
  STATUSN = 8       # Numero di status da visualizzare
  
#------------------------------------------------------------------------------
# ** Scritta status
#------------------------------------------------------------------------------

  NSTATUS = "Status:"      # Termine che indica gli status
  NSTATUSX = 80            # - verso sinistra, + verso destra
  NSTATUSY = 46            # - verso l'alto, + verso il basso
  
##------------------------------------------------------------------------------
# ** Livello del personaggio
#------------------------------------------------------------------------------

  LIVX = 80      # - verso sinistra, + verso destra
  LIVY = -10     # - verso l'alto, + verso il basso
 
#------------------------------------------------------------------------------
# ** Barra PV
#------------------------------------------------------------------------------

  PVX = 205     # - verso sinistra, + verso destra
  PVY = -12     # - verso l'alto, + verso il basso
  
  PVBL = 150    # Lunghezza della barra
  PVBC1 = 28    # Colore 1
  PVBC2 = 29    # Colore 2
  PVBCC = 0     # Colore del bordo
  PVBCS = 15    # Colore sfondo barra
  
#------------------------------------------------------------------------------
# ** Barra PM
#------------------------------------------------------------------------------

  PMX = 205     # - verso sinistra, + verso destra
  PMY = -12     # - verso l'alto, + verso il basso
  
  PMBL = 150    # Lunghezza della barra
  PMBC1 = 12    # Colore 1
  PMBC2 = 4     # Colore 2
  PMBCC = 0     # Colore del bordo
  PMBCS = 15    # Colore sfondo barra
 
#------------------------------------------------------------------------------
# ** Scritta Esperienza e valori
#------------------------------------------------------------------------------

  NEXP = "Esperienza"       # Termine che indica l'esperienza
  NEXPX = 400               # - verso sinistra, + verso destra
  NEXPY = 0                 # - verso l'alto, + verso il basso
  
#------------------------------------------------------------------------------
# Barra esperienza
#------------------------------------------------------------------------------

  EXPBX = 400      # - verso sinistra, + verso destra
  EXPBY = 17       # - verso l'alto, + verso il basso
  
  EXPBL = 100      # Lunghezza della barra
  EXPBC1 = 14      # Colore 1
  EXPBC2 = 6       # Colore 2
  EXPBCC = 0       # Colore del bordo
  EXPBCS = 15      # Colore sfondo barra

end


#==============================================================================
# ** Modulo di configurazione delle altre Window
#==============================================================================

module MAW
  
#------------------------------------------------------------------------------
# ** Window_Gold - Configurazione
#------------------------------------------------------------------------------

  WGX = 0
  WGY = 360

  WGSX = 4            # Coordinata x delle scritte
  WGSY = 0            # Coordinata y delle scritte
  WGSL = 220          # Lunghezza area di scrittura. Se il nome della moneta del 
                      # vostro gioco è lungo e non lo visualizzate tutto diminuite 
                      # il valore cosi entrerà tutto.
                      
  WGFNT = 18          # Grandezza font.
                      
                      
                      
#------------------------------------------------------------------------------
# Impostare, in base alle proprie necessità, una delle tre variabili,WGIS, WGSS
# o WGISS, su true e le altre due su false
#------------------------------------------------------------------------------                     
                      
  
  WGIS = false        # true/false => SOLO l'icona
  WGI = 147           # ID dell'icona
  
  WGSS = false        # true/false => SOLO la scritta
  WGSN = "Denaro"     # Termine
  
  WGISS = true        # true/false => Icona + Scritta
  WGIAG = 70          # muove a destra o sinistra l'icona. Da cambiare, se WGISS
                      # è impostato su true, in base all'esigenza.
  
#------------------------------------------------------------------------------
# ** Window_Tempo - Configurazione
#------------------------------------------------------------------------------

  WTX = 272
  WTY = 360

  WTSX = 0                         # Coordinata x delle scritte.
  WTSY = 0                         # Coordinata y delle scritte.
  WTSL = 220                       # Lunghezza area di scrittura.
  WTSN = "Tempo di gioco:"         # Termine che indica il tempo di gioco.
  WTFNT = 18                       # Grandezza font.


end


#==============================================================================
# ** Window_MenuStatus
#==============================================================================

class Window_MenuStatus < Window_Selectable

include MMS  
  
  def initialize(x, y)
    super(0, 56, 544, 305)
    refresh
    self.active = true
    self.index = -1
  end

  def refresh
    self.contents.clear
    @item_max = 3
    for actor in $game_party.members
      x = MMS::MSX
      y = actor.index * 92 + WLH / 2 + MMS::MSX
    if MMS::USAFACE == true
      @piux = 10
      @piuy = 10
      draw_actor_face(actor,      x + MMS::FACEX,          actor.index * 92 + MMS::FACEY,             MMS::FACEGR)

    else
      @piux = 0
      @piuy = 0
      draw_actor_graphic(actor,   x + MMS::CHX,                    y + (WLH + MMS::CHY))
    end
      draw_actor_name(actor,      x + MMS::NOMEX,                  y + @piuy = 10 +                   MMS::NOMEY)
      draw_actor_class(actor,     x + MMS::CLASSEX + @piux,        y + (WLH * 0) +                    MMS::CLASSEY)
      draw_actor_state(actor,     x + MMS::STATUSX + @piux,        y +                                MMS::STATUSY)
      draw_actor_level(actor,     x + MMS::LIVX + @piux,           y + (WLH * 1) +                    MMS::LIVY)
      draw_actor_hp(actor,        x + MMS::PVX + @piux,           (y +                                MMS::PVY) + WLH * 0, width =      MMS::PVBL)
      draw_actor_mp(actor,        x + MMS::PMX + @piux,           (y +                                MMS::PMY) + WLH * 1, width =      MMS::PMBL)
      draw_actor_exp_gauge(actor, x + MMS::EXPBX,                  actor.index * 92 +                 MMS::EXPBY)
      draw_exp_info(actor ,       x + MMS::NEXPX,                  actor.index * 92 +                 MMS::NEXPY)
      self.contents.draw_text(    x + MMS::NSTATUSX + @piux,       y +                                MMS::NSTATUSY, 100, 32,           MMS::NSTATUS, 2)
    end
  end

  def update_cursor
    if @index < 0
      self.cursor_rect.empty
    elsif @index < @item_max
      self.cursor_rect.set(0, @index * 92, contents.width, 85)
    elsif @index >= 100
      self.cursor_rect.set(0, (@index - 100) * 92, contents.width, 85)
    else
      self.cursor_rect.set(0, 0, contents.width, @item_max * 85)
    end
  end
  
  def draw_exp_info(actor, x, y)
    s1 = actor.exp_s
    s2 = actor.corr_exp
    s3 = s1-s2
    s4 = actor.pros_lvl_exp
    exp = s3.to_s + " / " + s4.to_s
    self.contents.draw_text(x, y + WLH * 0, 100, WLH, MMS::NEXP)
    self.contents.draw_text(x, y + WLH * 1, 100, WLH, exp, 2)
  end
     
  def draw_actor_exp_gauge(actor, x, y, width = MMS::EXPBL)

    s1 = actor.exp_s 
    s2 = actor.corr_exp
    s3 = s1-s2
    s4 = actor.pros_lvl_exp
    gw = width * s3 / s4
    gc1 = text_color(MMS::EXPBC1)
    gc2 = text_color(MMS::EXPBC2)
    gauge_back_color = text_color(MMS::EXPBCS)
    gauge_cornice_color = text_color(MMS::EXPBCC)
    self.contents.fill_rect(x, y + WLH, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH + 1, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x + 1, y + WLH + 1, gw, 6, gc1, gc2)
  end
  
end



#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  * aggiunte
#==============================================================================

class Game_Actor < Game_Battler
  
  def corr_exp
    return @exp_list[@level]
  end

  def pros_lvl_exp
    return @exp_list[@level+1]-@exp_list[@level]
  end

end

#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  * alias
#==============================================================================

class Window_Base < Window
  include MMS
  
  alias melosx_draw_actor_state draw_actor_state
  alias melosx_draw_actor_hp_gauge draw_actor_hp_gauge
  alias melosx_draw_actor_mp_gauge draw_actor_mp_gauge
  
  def draw_actor_state(actor, x, y, width = 24 * MMS::STATUSN)
    count = 0
    for state in actor.states
      draw_icon(state.icon_index, x + 24 * count, y)
      count += 1
      break if (24 * count > width - 24)
    end
  end
  
  def draw_actor_hp_gauge(actor, x, y, width = 120)
    gw = width * actor.hp / actor.maxhp
    gc1 = text_color(MMS::PVBC1)
    gc2 = text_color(MMS::PVBC2)
    gauge_cornice_color = text_color(MMS::PVBCC)
    self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(MMS::PVBCS))
    self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2)
  end

  def draw_actor_mp_gauge(actor, x, y, width = 120)
    gw = width * actor.mp / [actor.maxmp, 1].max
    gc1 = text_color(MMS::PMBC1)
    gc2 = text_color(MMS::PMBC2)
    gauge_cornice_color = text_color(MMS::PMBCC)
    self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(MMS::PMBCS))
    self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2)
  end
  
  
end




#==============================================================================
# ** Window_SkillStatus
#------------------------------------------------------------------------------
#  * alias
#==============================================================================
class Window_SkillStatus < Window_Base
 alias melosx_refresh refresh
  
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_level(@actor, 140, 0)
    draw_actor_hp(@actor, 240, 0)
    draw_actor_mp(@actor, 390, 0)
  end
end



#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
#  * alias + aggiunte
#==============================================================================
class Window_Status < Window_Base
  include MMS
  
  alias melosx_refresh refresh
  alias melosx_draw_exp_info draw_exp_info

  
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_class(@actor, 128, 0)
    draw_actor_face(@actor, 8, 32)
    draw_basic_info(128, 32)
    draw_parameters(32, 160)
    draw_actor_exp_gauge(308, 87, (MMS::EXPBL + 50))
    draw_exp_info(288, 70)
    draw_equipments(288, 160)
  end

  def draw_basic_info(x, y)
    draw_actor_level(@actor, x, y + WLH * 0)
    draw_actor_state(@actor, 308, 12 + WLH * 1)
    self.contents.draw_text(288, 5, 100, 32, MMS::NSTATUS, 0)
    draw_actor_hp(@actor, x, y + WLH * 2)
    draw_actor_mp(@actor, x, y + WLH * 3)
  end
  
  def draw_exp_info(x, y)
    s1 = @actor.exp_s
    s2 = @actor.next_exp_s
    exp = s1.to_s + " / " + s2.to_s
    self.contents.draw_text(x, y + WLH * 0, 100, WLH, MMS::NEXP)
    self.contents.draw_text(x + 110, y + WLH * 1, 100, WLH, exp, 0)
  end
     
  def draw_actor_exp_gauge(x, y, width = MMS::EXPBL)
    s1 = @actor.exp_s
    s2 = @actor.next_exp_s
    gw = width * s1 / s2
    gc1 = text_color(MMS::EXPBC1)
    gc2 = text_color(MMS::EXPBC2)
    gauge_back_color = text_color(MMS::EXPBCS)
    gauge_cornice_color = text_color(MMS::EXPBCC)
    self.contents.fill_rect(x, y + WLH, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH + 1, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x + 1, y + WLH + 1, gw, 6, gc1, gc2)
  end

end



#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  * alias
#==============================================================================


class Scene_Menu < Scene_Base
  alias melosx_start start
  alias melosx_terminate terminate
  alias melosx_update update
  alias melosx_create_command_window create_command_window



 def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_GoldM.new(MAW::WGX, MAW::WGY)
    @status_window = Window_MenuStatus.new(160, 0)
    @tempo_gioco = Window_Tempo.new(MAW::WTX, MAW::WTY)
  end

  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @tempo_gioco.dispose
  end

  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    @tempo_gioco.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end

  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6 ] , 6, 0, 16) 
    @command_window.index = @menu_index
    if $game_party.members.size == 0
      @command_window.draw_item(0, false)
      @command_window.draw_item(1, false)
      @command_window.draw_item(2, false)
      @command_window.draw_item(3, false)
    end
    if $game_system.save_disabled
      @command_window.draw_item(4, false)
    end
  end
end

  
  
  
#==============================================================================
# ** Window_Tempo
#==============================================================================
class Window_Tempo < Window_Base

def initialize(x, y)
    super(x, y, 272, WLH + 32)
    refresh
  end

  def update
    super
    sec = (Graphics.frame_count / Graphics.frame_rate) % 60
    if sec > @total_sec % 60 or sec == 0
      refresh
    end    
  end
  
  
 def refresh
    self.contents.clear    
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    
    ora = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60

    tempo = sprintf("%02d:%02d:%02d", ora, min, sec)
    self.contents.font.color = normal_color
    self.contents.font.size = MAW::WTFNT
    self.contents.draw_text(MAW::WTSX, MAW::WTSY, MAW::WTSL, WLH, tempo, 2)
    self.contents.draw_text(MAW::WTSX, MAW::WTSY, MAW::WTSL, WLH, MAW::WTSN, 0)
    
    
  end
end



#==============================================================================
# ** Window_Gold
#==============================================================================

class Window_GoldM < Window_Base
include MAW
  
  def initialize(x, y)
    super(x, y, 272, WLH + 32)
    refresh
  end

  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.size = MAW::WTFNT
    draw_currency_value($game_party.gold, MAW::WGSX, MAW::WGSY, MAW::WGSL)
    if MAW::WGIS == true
      draw_icon(MAW::WGI, 0, 0)
    elsif MAW::WGISS == true
      draw_icon(MAW::WGI, MAW::WGIAG, 0)
      self.contents.draw_text(MAW::WGSX, MAW::WGSY, MAW::WGSL, WLH, MAW::WGSN, 0)
    elsif MAW::WGSS == true
      self.contents.draw_text(MAW::WGSX, MAW::WGSY, MAW::WGSL, WLH, MAW::WGSN, 0)
    end
    
      
  end
end
Demo:
N/D
Immagine inserita
Immagine inserita
Immagine inserita
Immagine inserita

Immagine inserita
Immagine inserita

Targhette vinte nei contest
Spoiler

from skype with love
Spoiler

#2 OFFLINE   Ally

Ally

    Fondatori

  • Amministratori
  • 5558 Messaggi:
  • Localitàrpgmkr
  • Ruolo:
    Scripter
  • Progetto VX:
    Essence
  • Tool:
    RM2k/2k3

Inviato 03 June 2011 - 07:27 PM

Alla fine lo hai postato ^^
Mi piace l'impostazione...Grazie per il contributo, servirà sicuramente a qualcuno ;)
Immagine inserita
Spoiler

#3 OFFLINE   SonicMaker

SonicMaker

    Maker Dilettante

  • Utenti RM
  • 328 Messaggi:
  • LocalitàTerra XD
  • Progetto 2k/2k3:
    Nessuno(per ora)
  • Progetto XP:
    Nessuno(per ora)
  • Progetto Ace:
    STH: Blue Adventure
  • Tool:
    Rpg Maker Vx Ace - Rpg Maker Vx - Rpg Maker 2003

Inviato 17 November 2011 - 07:53 PM

Ho un piccolo problema:
Ho messo lo script e funziona tutto alla grande, però non mi permette di salvare, non capisco perché ...
Proggetti In Corso:Immagine inseritaStatus Progetto:
Spoiler
Immagine inserita

#4 OFFLINE   triko

triko

    Recensori

  • Recensori
  • 190 Messaggi:
  • LocalitàRIMINI
  • Progetto XP:
    DRAGON KILLER
  • Progetto VX:
    THE DAWN OF DARKNESS
  • Tool:
    RPG MAKER VX
    RPG MAKER XP

Inviato 17 November 2011 - 08:04 PM

oddio l'iunica cosa che mi viene in mente è che va in comnflitto con un altro script che hai inserito
Immagine inseritaImmagine inseritaImmagine inseritaContest vinti
Spoiler
Spoiler

#5 OFFLINE   SonicMaker

SonicMaker

    Maker Dilettante

  • Utenti RM
  • 328 Messaggi:
  • LocalitàTerra XD
  • Progetto 2k/2k3:
    Nessuno(per ora)
  • Progetto XP:
    Nessuno(per ora)
  • Progetto Ace:
    STH: Blue Adventure
  • Tool:
    Rpg Maker Vx Ace - Rpg Maker Vx - Rpg Maker 2003

Inviato 17 November 2011 - 08:07 PM

Potrebbe essere quel maledetto Party Switch...
Proggetti In Corso:Immagine inseritaStatus Progetto:
Spoiler
Immagine inserita

#6 OFFLINE   Melosx

Melosx

    Maker di rpgmkr.net

  • RM-Dreamers
  • 895 Messaggi:
  • LocalitàAvola
  • Ruolo:
    Scripter
  • Progetto Ace:
    Menu Chora
  • Tool:
    RPG Maker VX/VX Ace

Inviato 25 November 2011 - 01:43 PM

Hai risolto il problema??
Immagine inserita
Immagine inserita
Immagine inserita
Immagine inserita

Immagine inserita
Immagine inserita

Targhette vinte nei contest
Spoiler

from skype with love
Spoiler

#7 OFFLINE   SonicMaker

SonicMaker

    Maker Dilettante

  • Utenti RM
  • 328 Messaggi:
  • LocalitàTerra XD
  • Progetto 2k/2k3:
    Nessuno(per ora)
  • Progetto XP:
    Nessuno(per ora)
  • Progetto Ace:
    STH: Blue Adventure
  • Tool:
    Rpg Maker Vx Ace - Rpg Maker Vx - Rpg Maker 2003

Inviato 25 November 2011 - 05:17 PM

In pratica si,
Praticamente andava in conflitto con lo script per le quest alla fine è finita che non si può più fare esci e bisogna chiudere la finestra :(
Proggetti In Corso:Immagine inseritaStatus Progetto:
Spoiler
Immagine inserita

#8 OFFLINE   Melosx

Melosx

    Maker di rpgmkr.net

  • RM-Dreamers
  • 895 Messaggi:
  • LocalitàAvola
  • Ruolo:
    Scripter
  • Progetto Ace:
    Menu Chora
  • Tool:
    RPG Maker VX/VX Ace

Inviato 25 November 2011 - 05:42 PM

Sara un problema semplice con gli indici del menu passami lo script delle quest che vedo di risolvere...
Immagine inserita
Immagine inserita
Immagine inserita
Immagine inserita

Immagine inserita
Immagine inserita

Targhette vinte nei contest
Spoiler

from skype with love
Spoiler

#9 OFFLINE   SonicMaker

SonicMaker

    Maker Dilettante

  • Utenti RM
  • 328 Messaggi:
  • LocalitàTerra XD
  • Progetto 2k/2k3:
    Nessuno(per ora)
  • Progetto XP:
    Nessuno(per ora)
  • Progetto Ace:
    STH: Blue Adventure
  • Tool:
    Rpg Maker Vx Ace - Rpg Maker Vx - Rpg Maker 2003

Inviato 26 November 2011 - 01:20 PM

Ecco quest-system-t167.html
fammi sapere
Proggetti In Corso:Immagine inseritaStatus Progetto:
Spoiler
Immagine inserita

#10 OFFLINE   Melosx

Melosx

    Maker di rpgmkr.net

  • RM-Dreamers
  • 895 Messaggi:
  • LocalitàAvola
  • Ruolo:
    Scripter
  • Progetto Ace:
    Menu Chora
  • Tool:
    RPG Maker VX/VX Ace

Inviato 26 November 2011 - 08:42 PM

Ecco qui.
Mettilo sotto il Menu e sotto il Quest Journal.
Aggiunge il pulsante delle missioni.
#=============================================================================
# Fix: Menu per 3 pg + Quest Journal di modern algebra
#=============================================================================
# Autore:   Melosx
# Versione: 1.0
# Data di creazione: 26-11-2011
#=============================================================================

class Scene_Menu < Scene_Base

  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Missioni"
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6, s7 ] , 7, 0, 16)
    @command_window.index = @menu_index
    if $game_party.members.size == 0
      @command_window.draw_item(0, false)
      @command_window.draw_item(1, false)
      @command_window.draw_item(2, false)
      @command_window.draw_item(3, false)
    end
    if $game_system.save_disabled
      @command_window.draw_item(5, false)
    end
  end


  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
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4
        $scene = Scene_Quest.new
      when 5      # Save
        $scene = Scene_File.new(true, false, false)
      when 6      # End Game
        $scene = Scene_End.new
      end
    end
  end
  
end

Immagine inserita
Immagine inserita
Immagine inserita
Immagine inserita

Immagine inserita
Immagine inserita

Targhette vinte nei contest
Spoiler

from skype with love
Spoiler

#11 OFFLINE   SonicMaker

SonicMaker

    Maker Dilettante

  • Utenti RM
  • 328 Messaggi:
  • LocalitàTerra XD
  • Progetto 2k/2k3:
    Nessuno(per ora)
  • Progetto XP:
    Nessuno(per ora)
  • Progetto Ace:
    STH: Blue Adventure
  • Tool:
    Rpg Maker Vx Ace - Rpg Maker Vx - Rpg Maker 2003

Inviato 26 November 2011 - 09:17 PM

Grazie di tutto!!! :D :D :D
Proggetti In Corso:Immagine inseritaStatus Progetto:
Spoiler
Immagine inserita




1 utente(i) stanno leggendo questa discussione

0 utenti, 1 ospiti, 0 utenti anonimi