Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

Search the Community

Showing results for tags 'cms'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunità
    • Cancello di Ingresso
    • Bacheca
    • Colisseum
  • DevTeam
    • CyberTeam
  • Games and Sheets RPG Maker
    • Resa Grafica
    • Concept e Bozze
    • Progetti
    • Demo and Release
    • Il Making Oltreoceano
  • Assistenza e Supporto
    • Biblioteca
    • BrainStorming
    • Chiedi Aiuto alla Comunity
    • RPG Maker Scripting
    • PlugIn e AddOn RPG Maker
    • Musica e Suoni
    • Risorse Grafiche RPG Maker
    • Mak - Resources
  • Beyond Making
    • Altri Tool

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


Website URL


ICQ


Yahoo


Skype


Location


Interests

Found 11 results

  1. Questo plugin permette di controllare la velocità dei membri del party e dei mostri individualmente. Le nuove istruzioni le trovate all'interno del file readme.txt Autore: Pepsiotaku Link Download: http://www.mediafire.com/file/2vdlshnyin2bj47/battle_atb_overhaul-master.zip
  2. Questo plugin va usato insieme alla patch Better AEP che trovate qui. http://www.makerando.com/index.php?/topic/243-better-aep/ Questo plugin controlla se ci sono dei salvataggi nella cartella del vostro progetto, in caso di risultato positivo mette su on uno switch altrimenti resterà su off. Solitamente viene usato per fare dei titlescreen custom. esempio Per quanto riguarda la parte sulla cancellazione dei salvataggi invece è presente una variabile che controlla l'id dei salvataggi eliminando quello uguale al valore di suddetta variabile, dopo aver cancellato il salvataggio controlla automaticamente se tutti i salvataggi son stati rimossi, nel caso la risposta sia positiva modifica la switch che controlla la presenza dei salvataggi. esempio: è possibile configurarlo con varie opzioni, che trovate nel file txt all'interno dell'archivio. Copiate ciò che si trova tra gli asterischi nel file Dynrpg.ini. **************************** [save_delete_and_detector] SaveDetectorSwitch=4005 SaveDetectorCheckSwitch=4009 DeleteSaveVar=4002 **************************** Autore: Pepsiotaku Link Download: http://www.mediafire.com/download/slfsj7fkjj5nqz3/save_delete_and_detector.rar
  3. Nome Script: Ring Menù (Pseudo) 3D Versione: 2.1 Autore/i: Gab! Informazioni: Non fatevi ingannare dal titolo ^^ Questo script, è una modifica all'originale Ring Menù, ma modificato per renderlo con un effetto visivo simile al 3D... Screenshots: Istruzioni: Inserite lo script sopra Main. Altre istruzioni sono all'interno dello script. Script: #=============================================================================# Gab Ring Menu 3D#-----------------------------------------------------------------------------# Autor: Gab!# Data: 28/11/12#-----------------------------------------------------------------------------# Deixa o menu com perspectiva 3D.#=============================================================================module Gab module RingMenu3D#=============================================================================# * CONFIGURAÇÃO#============================================================================= # ID dos ícones ICONS = [ 192, # Itens 112, # Habilidades 169, # Equipamentos 14, # Status 12, # Formação 117, # Salvar 121 # Sair ] # Fonte FNAME = "Trebuchet MS" # Nome FSIZE = 19 # Tamanho FCOLOR = [255, 255, 255, 200] # Cor (R,G,B,A) # Raios R1 = 90 # Para que o efeito ocorra, R2 = 20 # é necessário que R1 > R2. # Precisão de movimento dos ícones (Quanto maior, mais lento) # Valores sugeridos: # 1 = Instantâneo # 5 = Rápido # 10 = Mediano # 20 = Lento MV = 10 # Frequência do movimento dos characters (Quanto maior, mais lento) CFREQ = 15 # BGM (Deixar em branco para remover) BGM = "Battle3" # BGS (Deixar em branco para remover) BGS = "Clock" # Tempo de fade no audio para sair da cena (milissegundos) AudioFade = 1000 # Janelas adicionais Windows = { mapName: [ # Nome do mapa true, # Mostrar? 0, # Posição X 0, # Posição Y 400, # Largura 231, # Ícone 0, # Opacidade ], time: [ # Tempo de jogo true, # Mostrar? 0, # Posição X 34, # Posição Y 160, # Largura 280, # Ícone 0, # Opacidade ], gold: [ # Dinheiro true, # Mostrar? 0, # Posição X 68, # Posição Y 160, # Largura 361, # Ícone 0, # Opacidade ] } #=============================================================================# * FIM DA CONFIGURAÇÃO#============================================================================= endendObject.send(:remove_const, :Scene_Menu)class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ** Base para as janelas do menu #-------------------------------------------------------------------------- class MenuWindow < Window_Base def initialize(x, y, width, icon, opacity) super(x, y, width, fitting_height(1)) @icon = icon self.opacity = opacity self.contents.font.name = Gab::RingMenu3D::FNAME self.contents.font.size = Gab::RingMenu3D::FSIZE self.contents.font.color = Color.new(*Gab::RingMenu3D::FCOLOR) self.contents.font.outline = false self.contents.font.shadow = true draw_icon(@icon, 0, 0) @clear_rect = Rect.new(30, 0, contents.width - 31, contents.height) refresh end def refresh self.contents.clear_rect(@clear_rect) text_size = self.contents.width - 32 self.contents.draw_text(30, 0, text_size, self.contents.height, text, align) end def align return 2 end def update super refresh if (Graphics.frame_count % Graphics.frame_rate) == 0 end def text return "" end end #-------------------------------------------------------------------------- # ** Nome do mapa #-------------------------------------------------------------------------- class MenuWindowMapName < MenuWindow def text $game_map.display_name end def align return 0 end end #-------------------------------------------------------------------------- # ** Tempo de jogo #-------------------------------------------------------------------------- class MenuWindowTime < MenuWindow def text total_sec = Graphics.frame_count / Graphics.frame_rate hour = total_sec / 60 / 60 min = total_sec / 60 % 60 sec = total_sec % 60 sprintf("%02d:%02d:%02d", hour, min, sec) end end #-------------------------------------------------------------------------- # ** Dinheiro #-------------------------------------------------------------------------- class MenuWindowGold < MenuWindow def text $game_party.gold.to_s end end #-------------------------------------------------------------------------- # * Inicialização do processo #-------------------------------------------------------------------------- def start super @vocabulary = [ Vocab::item, Vocab::skill, Vocab::equip, Vocab::status, Vocab::formation, Vocab::save, Vocab::game_end ] @actorsNames = $game_party.members.map{|actor| actor.name} create_background @[member=spriters2000] = Sprite_Character.new(@main_viewport, $game_player) @index = 0 @actorIndex = 0 @stage = 0 @pattern = 1 @actor1 = nil @actor2 = nil @bgm = RPG::BGM.new(Gab::RingMenu3D::BGM) @bgs = RPG::BGS.new(Gab::RingMenu3D::BGS) @bgm.play @bgs.play precalculus create_icons create_legend create_actor_selection create_windows end #-------------------------------------------------------------------------- # * Finalização do processo #-------------------------------------------------------------------------- def terminate super RPG::BGM.fade(Gab::RingMenu3D::AudioFade) RPG::BGS.fade(Gab::RingMenu3D::AudioFade) dispose_background @icons.each(&:dispose) @actors.each(&:dispose) @windows.each(&:dispose) @[member=spriters2000].dispose @legend.dispose Input.update $game_map.autoplay end #-------------------------------------------------------------------------- # * Disposição do plano de fundo #-------------------------------------------------------------------------- def dispose_background @background_sprite.dispose end #-------------------------------------------------------------------------- # * Criação do plano de fundo #-------------------------------------------------------------------------- def create_background @background_sprite = Sprite.new @background_sprite.bitmap = SceneManager.background_bitmap @background_sprite.color.set(16, 16, 16, 128) end #-------------------------------------------------------------------------- # * Pré-calculo #-------------------------------------------------------------------------- def precalculus @elIcons = 2 * Math::PI / Gab::RingMenu3D::ICONS.size @basePointIcons = @[member=spriters2000].y + Gab::RingMenu3D::R2 * (Math.sin([email protected]) - 0.5) @maxDifIcons = @[member=spriters2000].y + Gab::RingMenu3D::R2 * Math.sin(Math::PI - @elIcons) - @basePointIcons @moveTimesIcons = @elIcons / Gab::RingMenu3D::MV @addIcons = 0 @elActors = 2 * Math::PI / $game_party.members.size @basePointActors = @[member=spriters2000].y + (Gab::RingMenu3D::R2 + 24) * Math.sin([email protected]) @maxDifActors = @[member=spriters2000].y + (Gab::RingMenu3D::R2 + 24) * Math.sin(Math::PI - @elActors) - @basePointActors @moveTimesActors = @elActors / Gab::RingMenu3D::MV @addActors = 0 end #-------------------------------------------------------------------------- # * Criação dos ícones #-------------------------------------------------------------------------- def create_icons iconset = Cache.system("Iconset") @icons = [] Gab::RingMenu3D::ICONS.each_with_index{|icon_index, index| sprite = Sprite.new sprite.bitmap = iconset sprite.src_rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) sprite.ox = sprite.width / 2 sprite.oy = sprite.height / 2 @icons << sprite } @icons[5].tone = Tone.new(0, 0, 0, 255) if $game_system.save_disabled adjust_icons end #-------------------------------------------------------------------------- # * Cria a legenda #-------------------------------------------------------------------------- def create_legend base, c = Bitmap.new(1, 1), nil base.font.name = Gab::RingMenu3D::FNAME base.font.size = Gab::RingMenu3D::FSIZE base.font.color = Color.new(*Gab::RingMenu3D::FCOLOR) maxLen = (@vocabulary + @actorsNames).inject(0){|a, b| c = base.text_size( c.width > a ? c.width : a } @legend = Sprite.new @legend.bitmap = Bitmap.new(maxLen + 5, c.height) @legend.bitmap.font.name = Gab::RingMenu3D::FNAME @legend.bitmap.font.size = Gab::RingMenu3D::FSIZE @legend.bitmap.font.color = Color.new(*Gab::RingMenu3D::FCOLOR) @legend.ox = @legend.width / 2 @legend.oy = @legend.height / 2 @legend.x = @icons.first.x @legend.y = @icons.first.y + @icons.first.height base.dispose legend_refresh end #-------------------------------------------------------------------------- # * Cria seleção de atores #-------------------------------------------------------------------------- def create_actor_selection @actors = $game_party.members.map{|char| actor = Sprite.new actor.bitmap = Cache.character(char.character_name) sign = char.character_name[/^[\!\$]./] if sign && sign.include?('$') cw = actor.bitmap.width / 3 ch = actor.bitmap.height / 4 else cw = actor.bitmap.width / 12 ch = actor.bitmap.height / 8 end actor.ox = cw / 2 actor.oy = ch actor.x = @[member=spriters2000].x + 1.5 * Gab::RingMenu3D::R1 actor.instance_variable_set(:@charData, [char, cw, ch]) actor } adjust_actors update_actors_src end #-------------------------------------------------------------------------- # * Cria janelas #-------------------------------------------------------------------------- def create_windows windows = Gab::RingMenu3D::Windows @windows = [] @windows << MenuWindowMapName.new(*windows[:mapName][1,5]) if windows[:mapName][0] @windows << MenuWindowTime.new(*windows[:time][1,5]) if windows[:time][0] @windows << MenuWindowGold.new(*windows[:gold][1,5]) if windows[:gold][0] end #-------------------------------------------------------------------------- # * Posicionamento e ajuste de opacidade dos ícones #-------------------------------------------------------------------------- def adjust_icons el = 2 * Math::PI / @icons.size t = @addIcons - el @icons.each{|sprite| t += el sprite.x = @[member=spriters2000].x + Math.sin(t) * Gab::RingMenu3D::R1 sprite.y = @[member=spriters2000].y + Gab::RingMenu3D::R2 * (Math.cos(t) - 0.5) dif = (sprite.y - @basePointIcons) / @maxDifIcons sprite.opacity = @stage == 0 ? 127 + 255 * dif : 0 sprite.zoom_x = sprite.zoom_y = [0.5 + dif, 1].min } end #-------------------------------------------------------------------------- # * Posicionamento e ajuste de opacidade dos atores #-------------------------------------------------------------------------- def adjust_actors el = 2 * Math::PI / @actors.size t = @addActors - el @actors.each{|sprite| t += el sprite.x = @[member=spriters2000].x + Math.sin(t) * (Gab::RingMenu3D::R1 + 24) sprite.y = @[member=spriters2000].y + (Gab::RingMenu3D::R2 + 24) * Math.cos(t) dif = (sprite.y - @basePointActors) / @maxDifActors sprite.opacity = @stage != 0 ? 127 + 255 * dif : 0 sprite.zoom_x = sprite.zoom_y = [0.5 + dif, 1].min } end #-------------------------------------------------------------------------- # * Movimento dos ícones #-------------------------------------------------------------------------- def rotateIcons(dir) @moveTimesIcons *= -1 if dir == :right Sound.play_cursor Gab::RingMenu3D::MV.times{|sprite| @addIcons += @moveTimesIcons @addIcons %= Math::PI * 2 adjust_icons Graphics.update } if dir == :right @moveTimesIcons *= -1 @index += 1 else @index -= 1 end @index %= @icons.size legend_refresh end #-------------------------------------------------------------------------- # * Movimento dos atores #-------------------------------------------------------------------------- def rotateActors(dir) @moveTimesActors *= -1 if dir == :right Sound.play_cursor Gab::RingMenu3D::MV.times{|sprite| @addActors += @moveTimesActors @addActors %= Math::PI * 2 adjust_actors Graphics.update } if dir == :right @moveTimesActors *= -1 @actorIndex += 1 else @actorIndex -= 1 end @actorIndex %= @actors.size legend_refresh end #-------------------------------------------------------------------------- # * Atualiza legenda #-------------------------------------------------------------------------- def legend_refresh @legend.bitmap.clear text = @stage == 0 ? @vocabulary[@index] : @actorsNames[@actorIndex] @legend.bitmap.draw_text(@legend.bitmap.rect, text, 1) @legend.update end #-------------------------------------------------------------------------- # * Atualização Base #-------------------------------------------------------------------------- def update super @windows.each(&:update) case @stage when 0 update_main_input when 1, 2 @stage == 1 ? update_actors_input : update_formation_input if (Graphics.frame_count % Gab::RingMenu3D::CFREQ) == 0 @pattern = (@pattern + 1) % 3 end update_actors_src end end #-------------------------------------------------------------------------- # * Atualização de input padrão #-------------------------------------------------------------------------- def update_main_input if Input.repeat?(:LEFT) rotateIcons(:left) elsif Input.repeat?(:RIGHT) rotateIcons(:right) elsif Input.trigger?(: Sound.play_cancel process_return elsif Input.trigger?(:C) process_confirm end end #-------------------------------------------------------------------------- # * Atualização de entrada na seleção de ator #-------------------------------------------------------------------------- def update_actors_input if Input.repeat?(:LEFT) rotateActors(:left) elsif Input.repeat?(:RIGHT) rotateActors(:right) elsif Input.trigger?(: Sound.play_cancel process_return elsif Input.trigger?(:C) Sound.play_ok process_special_confirm end end #-------------------------------------------------------------------------- # * Atualização de entrada na seleção de ator #-------------------------------------------------------------------------- def update_actors_input if Input.repeat?(:LEFT) rotateActors(:left) elsif Input.repeat?(:RIGHT) rotateActors(:right) elsif Input.trigger?(: Sound.play_cancel process_return elsif Input.trigger?(:C) Sound.play_ok process_special_confirm end end #-------------------------------------------------------------------------- # * Atualização de troca de formação #-------------------------------------------------------------------------- def update_formation_input if Input.repeat?(:LEFT) rotateActors(:left) elsif Input.repeat?(:RIGHT) rotateActors(:right) elsif Input.trigger?(: Sound.play_cancel process_return elsif Input.trigger?(:C) process_formation_confirm end end #-------------------------------------------------------------------------- # * Processa confirmação #-------------------------------------------------------------------------- def process_confirm case @index when 0 # Item Sound.play_ok SceneManager.call(Scene_Item) when 1, 2, 3, 4 # Skill, Equip, Status, Formação Sound.play_ok @stage = @index == 4 ? 2 : 1 adjust_actors adjust_icons legend_refresh @legend.y -= 28 when 5 # Save if ($game_system.save_disabled) Sound.play_buzzer else SceneManager.call(Scene_Save) Sound.play_ok end when 6 # Sair Sound.play_ok SceneManager.call(Scene_End) end end #-------------------------------------------------------------------------- # * Processa confirmação das opções que requerem seleção de ator #-------------------------------------------------------------------------- def process_special_confirm $game_party.menu_actor = $game_party.members[@actorIndex] case @index when 1 # Skill SceneManager.call(Scene_Skill) when 2 # Equip SceneManager.call(Scene_Equip) when 3 # Status SceneManager.call(Scene_Status) end end #-------------------------------------------------------------------------- # * Processa confirmação de troca de formação #-------------------------------------------------------------------------- def process_formation_confirm if @actor1.nil? @actor1 = @actorIndex @actors[@actor1].tone = Tone.new(150, 150, 150, 0) Sound.play_ok else return Sound.play_buzzer if @actor1 == @actorIndex Sound.play_ok $game_party.swap_order(@actor1, @actorIndex) @actorsNames = $game_party.members.map{|actor| actor.name} @[member=spriters2000].dispose @[member=spriters2000] = Sprite_Character.new(@main_viewport, $game_player) @actors.each(&:dispose) create_actor_selection @actors[@actor1].tone = Tone.new(0, 0, 0, 0) @stage = 0 @actor1 = nil adjust_icons adjust_actors legend_refresh @legend.y += 28 end end #-------------------------------------------------------------------------- # * Processa retorno #-------------------------------------------------------------------------- def process_return case @stage when 0 return_scene when 1 case @index when 1, 2, 3 @stage = 0 adjust_actors adjust_icons legend_refresh @legend.y += 28 when 4 if [email protected]? @actors[@actor1].tone = Tone.new(0, 0, 0, 0) return @actor1 = nil end @stage = 0 adjust_actors adjust_icons legend_refresh @legend.y += 28 end end end #-------------------------------------------------------------------------- # * Atualiza characters #-------------------------------------------------------------------------- def update_actors_src @actors.each{|sprite| char, cw, ch = sprite.instance_variable_get(:@charData) index = char.character_index sx = (index % 4 * 3 + @pattern) * cw sy = (index / 4 * 4) * ch sprite.src_rect.set(sx, sy, cw, ch) } endend
  4. Nome Script: Shanghai Simple Script - Final Fantasy 13 Menu (conversione non ufficiale) Versione: 1.2 VX Ace Autore/i: Shanghai, mikb89 Informazioni: Questo script nasce da una richiesta di , fatta in questo topic. Postato sul topic apposta a grande richiesta (xD), vi lascio liberi di usarlo a patto che: creditiate anche MihaChan, in quanto se non l'avesse chiesto lei adesso lo script non ci sarebbe; lo personalizziate abbastanza, in modo da evitare che si generino menu tutti uguali (va a vostro vantaggio comunque ^^). Features: Questo script include: Main menu; Skill menu; Equip Menu; Status Menu Istruzioni: Creare nuove voci sopra Main ed inserire gli script. I seguenti file grafici vanno personalizzati e aggiunti in Graphics/System coi nomi indicati: I nomi possono comunque essere cambiati nello script, dove andrà configurata anche la grafica da usare per i vari eroi. Per lo Skill Menu, è necessario usare lo script JP Manager dello Yanfly Engine Ace. Per l'Equip Menu, è necessario usare lo script Equip Engine dello Yanfly Engine Ace. Gli script di Yanfly potrete trovarli qui una volta che il topic sarà sistemato, oppure con una rapida ricerca in rete. Oppure, scaricate una demo contenente già tutto questo, qui (1.91 MB).
  5. Nome Script: Menù per 3 pg Versione: 1.3 Autore/i: Melosx Informazioni: Menu adatto per giochi con 3 pg. Screenshots: 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][email protected]_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
  6. Nome Script: Menù FFIX Versione: N/D Autore/i: BigEd781 Informazioni: Questo script permette di rendere il vostro menu molto simile al menu di Final Fantasy IX. Viene fornito con un windowskin personalizzata e alcune immagini per la corretta visualizzazione del menu. Istruzioni: Inserite lo script sopra Main, e nella cartella Graphics/Pictures inseriteci queste immagini: Script: =begin BigEd781' Final Fantasy IX Menu Credit to PainHurt at rpgmakervx.net for most of the graphics =end module FF9_Config # set this to 'true' if you would like to use a cusotm background image USE_CUSTOM_BACK = false # the name of the custom background image, without the file extension (no .png) BACK_NAME = 'StoneBackground' # if you set this to 'true', you must be using the enhanced # Window class script that I posted: You can get that script here: # http://www.rpgmakervx.net/index.php?showtopic=8042&hl= # this will make the provided FF9 windowskin look really good. USE_TILED_WINDOW = false # When this is set to 'true', the menu cirsor will animate back and forth. # When set to 'false', it will stay in place ANIMATE_CURSOR = false # When set to 'true', four background panels are always drawn. # When set to 'false', a panel is only drawn for each party member DRAW_FOR_ALL = true # the name of the font used in the menu. # use 'Font.default_name' for the default font. Try 'Centaur' for a nice, smaller font. DEFAULT_FONT = Font.default_name # set this to true to enable the font above for all windows. # also sets the back_opacity to 255 for all windows. # I recommend setting this to 'true' to maintain a consistent look. USE_FOR_ALL = true # the icon id for your gold window portion of the menu, 194 by default. GOLD_ICON_ID = 194 end if FF9_Config::USE_FOR_ALL Font.default_name = FF9_Config::DEFAULT_FONT class Window_Base < Window alias :eds_pre_ff9_menu_base_initialize :initialize def initialize(*args) eds_pre_ff9_menu_base_initialize(*args) self.stretch = false if FF9_Config::USE_TILED_WINDOW self.back_opacity = 255 end end end class Window_Base < Window CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228) CAPTION_HEIGHT = 12 X_OFFSET = 16 Y_OFFSET = -5 alias :eds_pre_window_caption_intialize :initialize def initialize(*args) eds_pre_window_caption_intialize(*args) @caption_sprite = Sprite_Base.new(self.viewport) create_caption_bitmap(1, CAPTION_HEIGHT) @caption_sprite.x = self.x + X_OFFSET @caption_sprite.y = self.y + Y_OFFSET @caption_sprite.z = self.z + 1 end def x=(value) super @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil? end def y=(value) super @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil? end def z=(value) super @caption_sprite.z = value + 1 unless @caption_sprite.nil? end def caption=(text) return unless text.is_a?(String) return if text.empty? @caption = text width = @caption_sprite.bitmap.text_size(@caption).width create_caption_bitmap(width, CAPTION_HEIGHT) draw_caption end def create_caption_bitmap(w, h) @caption_sprite.bitmap = Bitmap.new(w, h) @caption_sprite.bitmap.font.size = 12 @caption_sprite.bitmap.font.color = CAPTION_COLOR @caption_sprite.bitmap.font.bold = true end def draw_caption unless @caption.nil? h = @caption_sprite.bitmap.height w = @caption_sprite.bitmap.width rect = Rect.new( 0, h / 2, w, h / 4 ) @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96)) @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption) end end alias :eds_pre_caption_window_dispose :dispose def dispose eds_pre_caption_window_dispose @caption_sprite.dispose end def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 32 end end class Window_TimeGold < Window_Base def initialize(x, y) width = find_window_width("9999999") width = 140 if width < 140 super(x, y, width, WLH + 58) self.back_opacity = 255 self.stretch = false if FF9_Config::USE_TILED_WINDOW self.contents.font.name = FF9_Config::DEFAULT_FONT self.caption = "TIME & #{Vocab.gold}" @time_icon = Cache.picture('Timer') @intern_frame_count = 0 refresh end def draw_time sec = (Graphics.frame_count / 60) % 60 min = (Graphics.frame_count / 3600) % 60 hrs = Graphics.frame_count / 216000 self.contents.font.color = Color.new(255, 255, 255) time = "%02d:%02d:%02d" % [hrs, min, sec] self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2) end def refresh self.contents.clear self.contents.blt(0, 0, @time_icon, @time_icon.rect) draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH) draw_currency_value($game_party.gold, 0, WLH, self.contents.width) draw_time end def draw_currency_value(value, x, y, width) gold_text = Vocab.gold cx = contents.text_size(gold_text[0,1]).width self.contents.font.color = normal_color self.contents.draw_text(x, y, width - cx - 2, WLH, value, 2) self.contents.font.color = system_color # just print the first character of Vocab::gold self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2) end def update super @intern_frame_count += 1 return if (@intern_frame_count % 60) != 0 refresh end def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 80 end end class Window_MenuLocation < Window_Base def initialize(x, y) @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name width = find_window_width(@map_name) super(x, y, width, WLH + 32) self.stretch = false if FF9_Config::USE_TILED_WINDOW self.contents.font.name = FF9_Config::DEFAULT_FONT self.back_opacity = 255 self.caption = "LOCATION" refresh end def refresh self.contents.clear self.contents.draw_text(0, 0, self.contents.width, WLH, @map_name, 1) end def find_window_width(text) return Bitmap.new(544, 416).text_size(text).width + 48 end end class Window_Command < Window_Selectable alias :eds_pre_ff9_menu_win_command_init :initialize def initialize(*args) @font_name = Font.default_name eds_pre_ff9_menu_win_command_init(*args) end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.name = @font_name for i in [email protected]_max draw_item(i) end end def font_name=(name) @font_name = name end end class Window_Uses < Window_Base def initialize(right, y, item) @remaining_text = "Remaining: #{$game_party.item_number(item)}" w = 160 x = right ? (544 - w) : 0 super(x, y, w, WLH + 32) self.stretch = false if FF9_Config::USE_TILED_WINDOW self.contents.font.name = FF9_Config::DEFAULT_FONT refresh end def item=(item) return unless item.is_a?(RPG::Item) @remaining_text = "Remaining: #{$game_party.item_number(item)}" refresh end def visible=(value) super refresh if value end def refresh self.contents.clear self.contents.draw_text(self.contents.rect, @remaining_text, 1) end end class Window_SkillUses < Window_Base def initialize(right, y, actor, skill) @remaining_text = make_info_string(actor, skill) w = 182 x = right ? (544 - w) : 0 super(x, y, w, WLH + 32) self.stretch = false if FF9_Config::USE_TILED_WINDOW self.contents.font.name = FF9_Config::DEFAULT_FONT refresh end def make_info_string(actor, skill) return if actor.nil? || skill.nil? cost = actor.calc_mp_cost(skill) return "Unlimited" if cost < 1 return "Remaining: #{actor.mp / cost}" end def set_skill(actor, skill) return if actor.nil? || skill.nil? return unless skill.is_a?(RPG::Skill) @remaining_text = make_info_string(actor, skill) refresh end def visible=(value) super refresh if value end def refresh self.contents.clear self.contents.draw_text(self.contents.rect, @remaining_text, 1) end end class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 452, 352) @bg_image = Cache.picture('FF9_MenuBar') @arrow_image = Cache.picture('Pointer') create_arrow_sprites @sprite_last_draw_x = 0 @sprite_inc_x = 1 @intern_frame_count = 0 self.stretch = false if FF9_Config::USE_TILED_WINDOW self.contents.font.name = FF9_Config::DEFAULT_FONT self.opacity = 0 self.z = 99 self.active = false self.index = -1 refresh end #-------------------------------------------------------------------------- # * create_arrow_sprites #-------------------------------------------------------------------------- def create_arrow_sprites @arrow_sprites = [] for i in 0..3 @arrow_sprites << Sprite.new @arrow_sprites[i].bitmap = Bitmap.new(@arrow_image.width + 7, @arrow_image.height) @arrow_sprites[i].x = self.x @arrow_sprites[i].y = (i * 80) + self.y + 40 @arrow_sprites[i].z = 999 end end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.members.size draw_background_windows if FF9_Config::DRAW_FOR_ALL for actor in $game_party.members x = 104 y = actor.index * 80 y_offset = 6 draw_background_window(0, y) unless FF9_Config::DRAW_FOR_ALL draw_actor_face(actor, 19, y + 4, 73) draw_actor_name(actor, x, y + y_offset) draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty? draw_actor_level(actor, x, y + WLH * 1) draw_actor_state(actor, x + 125, y + y_offset) draw_actor_hp(actor, x, ( + (WLH * 2) - 5)) draw_actor_mp(actor, x + 125, ( + (WLH * 2) - 5)) end end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def update_cursor if @index < 0 #refactor into update arrow method @arrow_sprites.each { |sprite| sprite.bitmap.clear } return end @intern_frame_count += 1 return unless (@intern_frame_count % 5) == 0 if @sprite_last_draw_x >= 7 @sprite_inc_x = -1 elsif @sprite_last_draw_x <= 0 @sprite_inc_x = 1 end update_arrow_sprites end #-------------------------------------------------------------------------- # * update_arrow_sprites #-------------------------------------------------------------------------- def update_arrow_sprites @arrow_sprites.each { |sprite| sprite.bitmap.clear } if @index == 99 # all selected return unless (@intern_frame_count % 10) == 0 draw_arrow_sprites(@arrow_sprites, false) else draw_arrow_sprites([@arrow_sprites[@index]], FF9_Config::ANIMATE_CURSOR) end end #-------------------------------------------------------------------------- # * draw_arrow_sprites #-------------------------------------------------------------------------- def draw_arrow_sprites(sprites, animated=true) for sprite in sprites image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0 @sprite_last_draw_x = image_x sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect) end end #-------------------------------------------------------------------------- # * y= #-------------------------------------------------------------------------- def y=(value) super unless @arrow_sprites.nil? for i in 0..3 @arrow_sprites[i].y = (i * 80) + value + 40 end end end #-------------------------------------------------------------------------- # * x= #-------------------------------------------------------------------------- def x=(value) super unless @arrow_sprites.nil? @arrow_sprites.each { |sprite| sprite.x = value } end end #-------------------------------------------------------------------------- # * draw_background_windows #-------------------------------------------------------------------------- def draw_background_windows self.contents.blt(0, 0, @bg_image, @bg_image.rect) self.contents.blt(0, 80, @bg_image, @bg_image.rect) self.contents.blt(0, 160, @bg_image, @bg_image.rect) self.contents.blt(0, 240, @bg_image, @bg_image.rect) end #-------------------------------------------------------------------------- # * draw_background_window (single) #-------------------------------------------------------------------------- def draw_background_window(x, y) self.contents.blt(x, y, @bg_image, @bg_image.rect) end #-------------------------------------------------------------------------- # * visible #-------------------------------------------------------------------------- def visible=(value) super @arrow_sprites.each { |sprite| sprite.visible = value } end #-------------------------------------------------------------------------- # * dispose #-------------------------------------------------------------------------- alias :eds_pre_ff9_win_stat_dispose :dispose def dispose eds_pre_ff9_win_stat_dispose @arrow_sprites.each { |sprite| sprite.dispose } end def enable_cursor?(rect=nil) # for compatibility with the improved command window return false end end class Scene_Menu #-------------------------------------------------------------------------- # * create_menu_background (only if USE_CUSTOM_BACK == true) #-------------------------------------------------------------------------- if FF9_Config::USE_CUSTOM_BACK def create_menu_background @menuback_sprite = Sprite.new @menuback_sprite.bitmap = Cache.picture(FF9_Config::BACK_NAME) @menuback_sprite.color.set(16, 16, 16, 128) update_menu_background end end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end # just changed the width of the window here @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW if $game_party.members.size == 0 # If number of party members is 0 @command_window.draw_item(0, false) # Disable item @command_window.draw_item(1, false) # Disable skill @command_window.draw_item(2, false) # Disable equipment @command_window.draw_item(3, false) # Disable status end if $game_system.save_disabled # If save is forbidden @command_window.draw_item(4, false) # Disable save end # new stuff here @command_window.font_name = FF9_Config::DEFAULT_FONT @command_window.x = 528 - @command_window.width @command_window.y = 16 @command_window.back_opacity = 255 end #-------------------------------------------------------------------------- # * This method is intended to fix some compatibility problems # that scripts run into when they change the command window # in some way. So, we let them override "create_command_window" # and we simply don't call it from the "start" method. # Instead, we call this method which does some extra checking. #-------------------------------------------------------------------------- def eds_create_command_window create_command_window old_commands = @command_window.commands return if old_commands == [ Vocab::item, Vocab::skill, Vocab::equip, Vocab::status, Vocab::save, Vocab::game_end ] # so we know that the default command window is not being used # we don't want to create another window, so we manually resize it # before the player can see. long = '' # dynamically size the width based on the longest command old_commands.each { |command| long = command if command.length > long.length } # set the index to -1 so that the rectangle disappears. # if we don't do this, you can see the selection rectangle resize. @command_window.index = -1 @command_window.width = @command_window.contents.text_size(long).width + 42 @command_window.contents = Bitmap.new( @command_window.width - 32, @command_window.height - 32 ) @command_window.font_name = FF9_Config::DEFAULT_FONT @command_window.x = 528 - @command_window.width @command_window.y = 16 @command_window.back_opacity = 255 @command_window.refresh @command_window.index = @menu_index end #-------------------------------------------------------------------------- # * OVERWRITTEN #-------------------------------------------------------------------------- def start super create_menu_background #call this method for compatibility eds_create_command_window @gold_window = Window_TimeGold.new(372, 342) @gold_window.y -= @gold_window.height @gold_window.x = 528 - @gold_window.width @status_window = Window_MenuStatus.new(0, 12) @location_window = Window_MenuLocation.new(0, 0) @location_window.x = 528 - @location_window.width @location_window.y = 398 - @location_window.height end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_menu_terminate :terminate def terminate eds_pre_ff9_menu_scene_menu_terminate @location_window.dispose end end class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * start #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_start :start def start eds_pre_ff9_menu_scene_item_start @target_window.y = 58 @uses_window = Window_Uses.new(true, @help_window.height, nil) @uses_window.visible = false end #-------------------------------------------------------------------------- # * OVERWRITTEN # - right-align flag ignored #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window def show_target_window(right) @uses_window.item = @item_window.item @uses_window.visible = true @item_window.visible = false @item_window.active = false @target_window.visible = true @target_window.active = true @viewport.rect.set(0, 0, 544, 416) @viewport.ox = 0 end #-------------------------------------------------------------------------- # * hide_target_window #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window def hide_target_window eds_pre_ff9_menu_scene_item_hide_target_window @uses_window.visible = false unless @uses_window.nil? @item_window.visible = true end #-------------------------------------------------------------------------- # * determine_target #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target def determine_target eds_pre_ff9_menu_scene_item_determine_target @uses_window.item = @item_window.item end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_terminate :terminate def terminate eds_pre_ff9_menu_scene_item_terminate @uses_window.dispose end end class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # * start #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_start :start def start eds_pre_ff9_menu_scene_skill_start @target_window.y = 58 @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil) @uses_window.visible = false end #-------------------------------------------------------------------------- # * OVERWRITTEN # - right-align flag ignored #-------------------------------------------------------------------------- def show_target_window(right) @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill) @uses_window.visible = true @status_window.visible = false @skill_window.visible = false @skill_window.active = false @target_window.visible = true @target_window.active = true @viewport.rect.set(0, 0, 544, 416) @viewport.ox = 0 end #-------------------------------------------------------------------------- # * hide_target_window #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window def hide_target_window eds_pre_ff9_menu_scene_skill_hide_target_window @uses_window.visible = false unless @uses_window.nil? @skill_window.visible = true @status_window.visible = true end #-------------------------------------------------------------------------- # * determine_target #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target def determine_target eds_pre_ff9_menu_scene_skill_determine_target @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- alias :eds_pre_ff9_menu_scene_item_terminate :terminate def terminate eds_pre_ff9_menu_scene_item_terminate @uses_window.dispose end end
  7. Nome Script: Zephyr Menu System Versione: 1.2 Autore/i: FenixFyreX, NeoSky Informazioni: Uno menù molto bello in stile un pò futuristico con i menù a discesa =) Screenshots: Istruzioni: Inserite nel vostro progetto gli script e le immagini presenti all'interno della demo. Altre istruzioni (per creare anche un tutorial sul menù) sempre all'interno della stessa. Demo: http://www.mediafire.com/?r2hf8iuqn5r401z Note dell'Autore: L'autore richiede il permesso di postare lo script in altri forum, quindi, contattatelo nel caso voleste postarlo da qualche altra parte.
  8. Nome Script: Lola Scene Menu Versione: N/D Autore/i: Master I Informazioni: Un menù diverso da quello di default che utilizza anche le picture ^^ Screenshots: Istruzioni: Inserite lo script che trovate dentro la demo sotto Material e inserite tutte le risorse che ci sono al suo interno... Demo: http://www.4shared.com/file/127187698/f97362b4/Lola_Scene_Menu.html
  9. Nome Script: Menù per un solo PG Versione: 1.2 Autore/i: LilBrudder917's Informazioni: Questo script è adatto per chi usa un solo PG nel suo game. Tutte le varie finestre possono essere attivate o disattivate ^^ (potete vedere la differenza dai due screen,una che ha attiva la locazione,e l'altro no) Inoltre,potete inserire un vostro sfondo in basso a destra con un'immagine di 150x60. Istruzioni: Inserite lo script sopra Main. Script: #============================================================================== # Project CMS by lilbrudder917 # Version 1.22 #------------------------------------------------------------------------------ # Overrides Scene_Menu and Window_MenuStatus. Rewrites the "Draw Level" parts of # Window_Base to change settings. Window_PlayTime has been changed in Width. # Rewrites Window_Steps. #============================================================================== #============================================================================== # CONFIGURATION #============================================================================== ItemName = "Inventory" # Default is Item SkillName = "Cast Spell" # Default is Skill EquipName = "Wear" # Default is Equip StatusName = "Status" # Default is Status SaveName = "Save Data" # Default is Save EndName = "Quit Game" # Default is End Game CommandW = 150 # Width of the Command Window Custom_Map = false # If true, you can have a picture as a background. Map_Picture = "mappic" # If Custom_Map = true, this will be the background. Facesets = true # If true and the face file is missing, the actor's #sprite will be used instead FaceIMG = "Face" # Filename for the face image. FFILETYPE = ".png" # Face File Type CornerLogo = true # In the bottom right corner, want a 148x61 icon? LogoIcon = "logoicon" # Name of icon LogoFType = ".png" # Icon File Type #============================================================================= # Scene_Menu Window Add-ons #============================================================================= $MapBG = true # If true, the map will be your background $UseNotes = true # To use Window_Notes, have this true. $UsePTime = true # To use Window_PlayTime, have this true. $UseRTime = true # To use Window_RealTime, have this true. RTHVar = 2 # Variable used for storing hours RTMVar = 3 # Variable used for storing minutes RTAPVar= 4 # Variable used for storing AM/PM RTSVar = 5 # Variable used for storing seconds $TwelClock = true # 12-Hour Clock if true, false = 24-Hour Clock $UseVar = true # To use Window_Variable, have this true. $UseSteps = true # To use Window_Steps, have this true. $UseGold = true # To use Window_Gold, have this true. $UseLoca = true # To use Window_Location, have this true. ############################################################################### # Coordinate Controls # #-----------------------------------------------------------------------------# # Unless you know what you are doing, I don't recommend touching these. # # These are the display settings of Window_MenuStatus. # ############################################################################### ShowName = true # Show Actor's Name? NameX = 135 # Actor_Name X Position NameY = 0 # Actor_Name Y Position ShowClass = true # Show Actor's Class? ClassX = 128 # Actor_Class X Position ClassY = 30 # Actor_Class Y Position ShowLevel = true # Show Actor's Level? LevelX = 0 # Actor_Level X Position LevelY = 139 # Actor_Level Y Position LevelT = "Level" # Custom Title for Level? ShowState = true # Show Actor_State? StateX = 123 # Actor_State X Position StateY = 50 # Actor_State Y Position ShowHP = true # Show HP/MaxHP String? UseBARS = nil # Coming Soon HPX = 0 # Hitpoints String X Position HPY = 100 # Hitpoints String Y Position ShowSP = true # Show SP/MaxSP String? SpecX = 0 # Specpoints String X Position SpecY = 125 # Specpoints String Y Position ShowEXP = true # Show Experience String? ExperX = 0 # Experience String X Position ExperY = 185 # Experience String Y Position CommandX = 488 # Window_Command X Position WINNOTES_X= 2 # Window_Notes X Position WINNOTES_Y= 242 # Window_Notes Y Position RealTimeX = 488 # Window_RealTime X Position RealTimeY = 320 # Window_RealTime Y Position PlayTimeX = 488 # Window_PlayTime X Position PlayTimeY = 224 # Window_PlayTime Y Position VariableX = 243 # Window_Variable X Position VariableY = 66 # Window_Variable Y Position WStepX = 243 # Window_Steps X Position WStepY = 163 # Window_Steps Y Position WGoldX = 243 # Window_Gold X Position WGoldY = 2 # Window_Gold Y Position PLogoX = 490 # Game_Logo X Position PLogoY = 418 # Game_Logo Y Position WMStatusX = 2 # Window_MenuStatus X Position WMStatusY = 2 # Window_MenuStatus Y Position LOCATION_X= 2 LOCATION_Y= 430 VariTitle = "Bank" # Text in Window_Variable VariShoNum= 1 # Variable used in Window_Variable GoldName = "Gold" # Currency Name StepName = "Steps" # Text in Window_Steps PlTiName = "Play Time"# Text in Window_PlayTime NoteVName = "Notes" # Text in Window_Notes CurTiName = "Time" # Text in Window_RealTime LocaName = "Location:"# Text in Window_Location if $MapBG && Custom_Map == true print "Both $MapBG and Custom_Map cannot be on at the same time! Turning off Custom_Map." Custom_Map = false end #============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays party member status on the menu screen. #============================================================================== class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 240, 240) self.contents = Bitmap.new(width - 32, height - 32) refresh self.active = false self.index = -1 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @item_max = $game_party.actors.size for i in 0...$game_party.actors.size x = 0 y = 0 actor = $game_party.actors[i] if Facesets == true #Facesets True? if FileTest.exist?("Graphics/Pictures/" + FaceIMG + FFILETYPE) #File Exist @face_file = FaceIMG + FFILETYPE self.contents.blt(x, y, RPG::Cache.picture(@face_file), Rect.new(x, y, 112, 112)) else #File Not Exist draw_actor_graphic(actor, 24, 56) end #End File Check else #Facesets Else draw_actor_graphic(actor, 24, 56) end #Faceset End if ShowName == true draw_actor_name(actor, NameX, NameY) end if ShowLevel == true draw_actor_level(actor, 0, 0) end if ShowState == true draw_actor_state(actor, StateX, StateY) end draw_actor_exp(actor, ExperX, ExperY) if ShowClass == true draw_actor_class(actor, ClassX, ClassY) end if ShowHP == true draw_actor_hp(actor, HPX, HPY) end if ShowSP == true draw_actor_sp(actor, SpecX, SpecY) end end end #-------------------------------------------------------------------------- # * Cursor Rectangle Update #-------------------------------------------------------------------------- def update_cursor_rect if @index < 0 self.cursor_rect.empty else self.cursor_rect.set(0, @index * 116, self.width - 32, 96) end end end #============================================================================== # End Window_MenuStatus #============================================================================== #============================================================================== # Window Base Level Edit #============================================================================== class Window_Base def draw_actor_level(actor, x, y) self.contents.font.color = system_color self.contents.draw_text(LevelX, 160, 32, 32, LevelT, 2) self.contents.font.color = normal_color self.contents.draw_text(LevelX + 32, 160, 24, 32, actor.level.to_s, 2) end end #============================================================================== # End Window_Base #============================================================================== class Window_Steps < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 245, 78) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -5, 120, 32, StepName) self.contents.font.color = normal_color self.contents.draw_text(4, 16, 200, 32, $game_party.steps.to_s, 2) end end #============================================================================== # ** Window_Gold #------------------------------------------------------------------------------ # This window displays amount of gold. #============================================================================== class Window_Gold < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 245, 64) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear cx = contents.text_size(GoldName).width self.contents.font.color = normal_color self.contents.draw_text(4, 0, 180-cx-2, 32, $game_party.gold.to_s, 2) self.contents.font.color = system_color self.contents.draw_text(184-cx, 0, cx, 32, GoldName, 2) end end #============================================================================== # ** Window_PlayTime #------------------------------------------------------------------------------ # This window displays play time on the menu screen. #============================================================================== class Window_PlayTime < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 150, 96) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 100, 32, PlTiName) @total_sec = Graphics.frame_count / Graphics.frame_rate hour = @total_sec / 60 / 60 min = @total_sec / 60 % 60 sec = @total_sec % 60 text = sprintf("%02d:%02d:%02d", hour, min, sec) self.contents.font.color = normal_color self.contents.draw_text(4, 32, 100, 32, text, 2) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super if Graphics.frame_count / Graphics.frame_rate != @total_sec refresh end end end #============================================================================= # End Window_Steps #============================================================================== #============================================================================== # ** Window_Notes by lilbrudder917 #------------------------------------------------------------------------------ # This window displays custom-made notes made for the menu screen, but # can be called anywhere. Requires Project CMS to work. I think. #============================================================================== $MESSAGE1_L1 = "Welcome to the Menu! This Window is called" # First line for the first message $MESSAGE1_L2 = "the Notes Window! Text automatically aligns" # Second line for the first message $MESSAGE1_L3 = "to the right side of the Window, and the" # Third line for the first message $MESSAGE1_L4 = "Window stores up to 5 lines per message!" $MESSAGE1_L5 = " " $MESSAGE2_L1 = "Since you talked to the Shady Noter," $MESSAGE2_L2 = "you have unlocked this new message to be" $MESSAGE2_L3 = "placed in your notes!" $MESSAGE2_L4 = " " $MESSAGE2_L5 = "Butterscotch." $MESSAGE3_L1 = "If you want, you can define these to say" $MESSAGE3_L2 = "what you want them to and then Script Call" $MESSAGE3_L3 = "'$DEFMESSAGE = (MessageNumber)' without " $MESSAGE3_L4 = "quotations or parentheses." $MESSAGE3_L5 = " " $MESSAGE4_L1 = "Oh, if you want a blank line, just put a" $MESSAGE4_L2 = "space where the message would go." $MESSAGE4_L3 = " " $MESSAGE4_L4 = " " $MESSAGE4_L5 = "See?" $DEFMESSAGE = 1 # Can be changed in game. class Window_Notes < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(240, 20, 485, 190) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 120, 32, NoteVName) if $DEFMESSAGE == 1 text_L1 = $MESSAGE1_L1 text_L2 = $MESSAGE1_L2 text_L3 = $MESSAGE1_L3 text_L4 = $MESSAGE1_L4 text_L5 = $MESSAGE1_L5 elsif $DEFMESSAGE == 2 text_L1 = $MESSAGE2_L1 text_L2 = $MESSAGE2_L2 text_L3 = $MESSAGE2_L3 text_L4 = $MESSAGE2_L4 text_L5 = $MESSAGE2_L5 elsif $DEFMESSAGE == 3 text_L1 = $MESSAGE3_L1 text_L2 = $MESSAGE3_L2 text_L3 = $MESSAGE3_L3 text_L4 = $MESSAGE3_L4 text_L5 = $MESSAGE3_L5 elsif $DEFMESSAGE == 4 text_L1 = $MESSAGE4_L1 text_L2 = $MESSAGE4_L2 text_L3 = $MESSAGE4_L3 text_L4 = $MESSAGE4_L4 text_L5 = $MESSAGE4_L5 else text_L1 = " " text_L2 = " " text_L3 = "You have nothing stored in your notes." text_L4 = " " text_L5 = " " end self.contents.font.color = normal_color self.contents.draw_text(4, 32, 350, 32, text_L1, 2) self.contents.draw_text(4, 64, 350, 32, text_L2, 2) self.contents.draw_text(4, 96, 350, 32, text_L3, 2) self.contents.draw_text(4, 128, 350, 32, text_L4, 2) self.contents.draw_text(4, 160, 350, 32, text_L5, 2) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super refresh end end #============================================================================== # ** Window_Location by lilbrudder917 #------------------------------------------------------------------------------ # This window displays the map's name. #============================================================================== class Window_Location < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 485, 48) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -10, 120, 32, LocaName) self.contents.font.color = normal_color cx = contents.text_size(LocaName).width self.contents.draw_text(cx+30, -10, 120, 32, $game_map.name) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super refresh end end #------------------------------------------------------------------------- # * Define Map Title #------------------------------------------------------------------------- class Scene_Title alias locationname main def main $map_infos = load_data('Data/MapInfos.rxdata') $map_infos.keys.each {|key| $map_infos[key] = $map_infos[key].name} locationname end end class Game_Map def name return $map_infos[@map_id] end end #============================================================================== # ** Window_Variable by lilbrudder917 #------------------------------------------------------------------------------ # This window displays a variable made for the menu screen, but can be called # anywhere. Requires Project CMS to work. I think. #============================================================================== class Window_Variable < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 245, 96) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 120, 32, VariTitle) text = "#{$game_variables[VariShoNum]}" self.contents.font.color = normal_color self.contents.draw_text(4, 32, 120, 32, text, 2) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super refresh end end #============================================================================== # ** Window_RealTime by lilbrudder917 #------------------------------------------------------------------------------ # This window displays the time stored on your computer's internal clock, # made for the menu screen, but can be called anywhere. Requires Project CMS # to work. I think. #============================================================================== class Window_RealTime < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize @time_stamp = Time.new if $TwelClock == true $game_variables[RTHVar] = @time_stamp.strftime("%I") # Hour, 12-Hour Format $game_variables[RTMVar] = @time_stamp.strftime("%M") # Minutes $game_variables[RTAPVar] = @time_stamp.strftime("%p")# AM/PM $game_variables[RTSVar] = @time_stamp.strftime("%S") # Seconds else $game_variables[RTHVar] = @time_stamp.strftime("%H") # Hour, 24-Hour Format $game_variables[RTMVar] = @time_stamp.strftime("%M") # Minutes $game_variables[RTSVar] = @time_stamp.strftime("%S") # Seconds end super(0, 0, 150, 96) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(4, 0, 100, 32, CurTiName) if $TwelClock == true text = "#{$game_variables[RTHVar]}: #{$game_variables[RTMVar]}: #{$game_variables[RTSVar]} #{$game_variables[RTAPVar]}" else text = "#{$game_variables[RTHVar]}: #{$game_variables[RTMVar]}: #{$game_variables[RTSVar]}" end self.contents.font.color = normal_color self.contents.draw_text(4, 32, 100, 32, text, 2) end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super refresh end end class Scene_Menu #-------------------------------------------------------------------------- # * Object Initialization # menu_index : command cursor's initial position #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- def main #-------------------------------------------------------------------------- # * Menu Background #-------------------------------------------------------------------------- if $MapBG == true @map = Spriteset_Map.new end if Custom_Map == true @sprite = Sprite.new @sprite.bitmap = RPG::Cache.picture(Map_Picture) end # Make command window s1 = ItemName s2 = SkillName s3 = EquipName s4 = StatusName s5 = SaveName s6 = EndName @command_window = Window_Command.new(CommandW, [s1, s2, s3, s4, s5, s6]) @command_window.x = CommandX @command_window.index = 0 # If number of party members is 0 if $game_party.actors.size == 0 # Disable items, skills, equipment, and status @command_window.disable_item(0) @command_window.disable_item(1) @command_window.disable_item(2) @command_window.disable_item(3) end # If save is forbidden if $game_system.save_disabled # Disable save @command_window.disable_item(4) end if $UseNotes == true @mnotes_window = Window_Notes.new @mnotes_window.x = WINNOTES_X @mnotes_window.y = WINNOTES_Y end if $UseLoca == true @location_window = Window_Location.new @location_window.x = LOCATION_X @location_window.y = LOCATION_Y end # Make play time window if $UsePTime == true @playtime_window = Window_PlayTime.new @playtime_window.x = PlayTimeX @playtime_window.y = PlayTimeY end if $UseRTime == true @realtime_window = Window_RealTime.new @realtime_window.x = RealTimeX @realtime_window.y = RealTimeY end if $UseVar == true @vartime_window = Window_Variable.new @vartime_window.x = VariableX @vartime_window.y = VariableY end #Make steps window if $UseSteps ==true @steps_window = Window_Steps.new @steps_window.x = WStepX @steps_window.y = WStepY end # Make gold window if $UseGold == true @gold_window = Window_Gold.new @gold_window.x = WGoldX @gold_window.y = WGoldY end if CornerLogo == true @image = Sprite.new @image.bitmap = RPG::Cache.picture(LogoIcon) @image.x = PLogoX @image.y = PLogoY end # Make status window @status_window = Window_MenuStatus.new @status_window.x = WMStatusX @status_window.y = WMStatusY # Execute transition Graphics.transition # Main loop loop do # Update game screen Graphics.update # Update input information Input.update # Frame update update # Abort loop if screen is changed if $scene != self break end end # Prepare for transition Graphics.freeze # Dispose of windows @command_window.dispose if $MapBG == true @map.dispose end if $UseLoca == true @location_window.dispose end if $UseNotes == true @mnotes_window.dispose end if $UsePTime == true @playtime_window.dispose end if $UseRTime == true @realtime_window.dispose end if $UseVar == true @vartime_window.dispose end if $UseSteps ==true @steps_window.dispose end if $UseGold == true @gold_window.dispose end if CornerLogo == true @image.dispose end @status_window.dispose #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Update windows @command_window.update if $UseNotes == true @mnotes_window.update end if $UseLoca == true @location_window.update end if $UsePTime == true @playtime_window.update end if $UseRTime == true @realtime_window.update end if $UseVar == true @vartime_window.update end if $UseSteps ==true @steps_window.update end if $UseGold == true @gold_window.update end if CornerLogo == true @image.update end @status_window.update # If command window is active: call update_command if @command_window.active update_command return end # If status window is active: call update_status if @status_window.active update_status return end end #-------------------------------------------------------------------------- # * Frame Update (when command window is active) #-------------------------------------------------------------------------- def update_command # If B button was pressed if Input.trigger?(Input:: # Play cancel SE $game_system.se_play($data_system.cancel_se) # Switch to map screen $scene = Scene_Map.new return end # If C button was pressed if Input.trigger?(Input::C) # If command other than save or end game, and party members = 0 if $game_party.actors.size == 0 and @command_window.index < 4 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Branch by command window cursor position case @command_window.index when 0 # item # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to item screen $scene = Scene_Item.new when 1 # skill # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 2 # equipment # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 3 # status # Play decision SE $game_system.se_play($data_system.decision_se) # Make status window active @command_window.active = false @status_window.active = true @status_window.index = 0 when 4 # save # If saving is forbidden if $game_system.save_disabled # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to save screen $scene = Scene_Save.new when 5 # end game # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to end game screen $scene = Scene_End.new end return end end #-------------------------------------------------------------------------- # * Frame Update (when status window is active) #-------------------------------------------------------------------------- def update_status # If B button was pressed if Input.trigger?(Input:: # Play cancel SE $game_system.se_play($data_system.cancel_se) # Make command window active @command_window.active = true @status_window.active = false @status_window.index = -1 return end # If C button was pressed if Input.trigger?(Input::C) # Branch by command window cursor position case @command_window.index when 1 # skill # If this actor's action limit is 2 or more if $game_party.actors[@status_window.index].restriction >= 2 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to skill screen $scene = Scene_Skill.new(@status_window.index) when 2 # equipment # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to equipment screen $scene = Scene_Equip.new(@status_window.index) when 3 # status # Play decision SE $game_system.se_play($data_system.decision_se) # Switch to status screen $scene = Scene_Status.new(@status_window.index) end return end end end end Demo:Menù per un solo PG
  10. Titolo: Tales of Symphonia menù Versione: 2.4.3 Autore/i: Vash Informazioni: Script che permette di avere un menù stile tales of symphonia Istruzioni: Semplicemente copiare ed incollare il tales of symphonia menù sopra main e copiare le icone richieste nella vostra cartella icons Demo: http://www.mediafire.com/?axjjgy7a6wfsnwc Incompatibilita: Avendo la finestra save e status modificata può causare problemi con chi usa altri sistemi di status o save.
  11. Titolo: Star Ocean 3 Custom Menu System Versione: N/D Autore/i: Desconhecido Informazioni: Un menù che riprende quello di SO 3 =P Screenshots: Istruzioni: All'interno della Demo. Demo: http://www.mediafire.com/?ziq9m12fdzy
×