Accedi per seguire questo
Seguaci
0
CMS Tales of Symphonia menù
Da
Ally, in Scripts RPG Maker XP (RGSS)
-
Contenuti simili
-
Da kaine
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:
https://www.mediafire.com/file/ugg9dmq9ynmr9zl/battle_atb_overhaul-master.zip/file
-
Da kaine
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
-
Da Ally
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(-@elIcons) - 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(-@elIcons) @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 -
Da Ally
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).
-
Da Ally
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]-@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
-