Cerca nel Forum
Showing results for tags 'Menu Titolo Personalizzato'.
Trovato 1 risultato
-
Nome Script: Menu Titolo Personalizzato Versione: 1.1 Autore/i: Holy87 Informazioni: Siete stufi della solita finestrella al titolo con solo Nuovo Gioco, Continua ed Esci? Certo, in giro ci sono un sacco di script che modificano il titolo, ma questo è davvero bello ed interessante, con tanto di animazioni e personalizzazioni! Per capire veramente com'è, vi consiglio di scaricare la Demo. Features: Questo script può: Aggiungere un collegamento a una pagina web Aggiungere un bottone che porta a una mappa 'extra' che verrà fatta da voi Totalmente compatibile con Updater System: puoi far apparire un popup che indica il bottone 'Aggiornamento' Potrete farvi la grafica che vorrete con un programma di grafica o utilizzare gli esempi della demo Potrete scegliere la velocità del cursore, l'altezza della barra... Screenshots: Istruzioni: Creare una nuova voce sopra Main e sotto Materials ed inserirci lo script. Le varie personalizzazioni sono da settare nello script. Script: #============================================================================== # * New Menu Title v1.1 # Creato da Holy 87 #------------------------------------------------------------------------------ # 31/08/2012 -> Aggiornato per compatibilità con la nuova versione dell'U.S. # Script migliorato e bug corretti (v1.1) # 20/02/2012 -> Script finito # 16/02/2012 -> Script iniziato #------------------------------------------------------------------------------ # Questo script crea una nuova variante del menu nella schermata del Titolo. # # * ISTRUZIONI * # Piazza lo scritp sotto Materials, prima del Main e dopo lo script Updater # System. Imposta le immagini che verranno usate come icone, lo script ne # adatterà automaticamente la posizione. # **COME USARE GLI EXTRA: Setta una coordinata d'inizio in una mappa fatta per # ospitare il gioco-extra, quindi quando vuoi renderli disponibili al giocatore, # non devi fare altro che scrivere "Ex_Options.unlock" nel Chiama Script, e come # per magia comparirà nella schermata iniziale il comando Extra. Puoi anche # settare un valore da poter usare in seguito, ad esempio scrivendo # "Ex_Options.unlock(numero)", dove numero è il valore da mantenere, così da # poter sbloccare vari extra per gradi. Per conoscere a quale valore sono # sbloccati gli extra, basta mettere nella condizione SE, Script: # # * COMPATIBILITA' * # Compatibile con la maggior parte degli script. Compatibile al 100% con # l'Updater System e News System. # Compatibile con lo script h87_Infos (prossimamente) # Compatibile con lo script Yanfly Engine 6 Iconset #============================================================================== module MT_Setup #============================================================================== # * CONFIGURAZIONE * # * Preferenze del Menu #============================================================================== #Attivare gli Extra? Extras = true #Inserisci l'ID Mappa e coordinate dello spawn quando si seleziona Extra Map_ID = 2 Map_X = 8 Map_Y = 7 #Aggiungere un collegamento ad un sito? SiteOpen = "http://www.rpgmkr.net" #scrivi nil se non lo vuoi #Imposta l'altezza del menu rispetto allo schermo AltezzaBarra = 190 #Imposta la distanza in pixel tra gli oggetti del Menu Distanza = 10 #============================================================================== # * Grafica degli Oggetti #============================================================================== OBJGRAPH = { 0 => "T_New", #Immagine del comando Nuovo Gioco 1 => "T_Load", #Immagine del comando Carica 2 => "T_Exit", #Immagine del comando Esci 3 => "T_Info", #Immagine del comando Informazioni 4 => "T_Extra", #Immagine del comando Extra 5 => "T_Web", #Immagine del comando Vai al Sito 6 => "T_Update", #Immagine del comando Aggiorna 7 => "" #Immagine del comando IconSet (di Yanfly) } # non rimuovere la parentesi! BALOONGRAPH = { 0 => "B_New", #Immagine del Fumetto Nuovo Gioco 1 => "B_Load", #Immagine del Fumetto Carica 2 => "B_Exit", #Immagine del Fumetto Esci 3 => "B_Info", #Immagine del Fumetto Info 4 => "B_Extra", #Immagine del Fumetto Extra 5 => "B_Web", #Immagine del Fumetto Vai al Sito 6 => "B_Update", #Immagine del Fumetto Aggiorna 7 => "" #Immagine del Fumetto IconSet(di Yanfly) } # non rimuovere la parentesi! #Immagine della barra di sfondo ai comandi. BARGRAPH = "SfondoBarraTitle" #Immagine di popup quando viene trovato un nuovo aggiornamento. #Setta solo se hai implementato lo script Updater System. Up_Popup = "PopUp" #============================================================================== # * Preferenze Grafiche #============================================================================== #Vuoi che la comparsa del menu dei comandi sia animata? Animazione = true #Setta la velocità di apparizione dei comandi (solo se Animazione = true). #0: Contemporaneamente, 1: Velocissimo, 2: Veloce... SPEEDANIM = 1 #Setta la velotità del cursore nello spostamento(NON METTERE 0) CursorSpeed = 3 #1: Istantaneo, 2: Velocissimo, 3: Veloce, 4:Lento... #Imposta la distanza da sinistra alla punta che avrà il fumetto. DDP = 27 #============================================================================== # * FINE DELLA CONFIGURAZIONE * # Non modificare oltre questa riga, se non sai cosa stai facendo! #=============================================================================? end $imported = {} if $imported == nil $imported["H87_MenuTitle"] = true module Ex_Options #-------------------------------------------------------------------------- # * Sblocca e da valore agli extra. #-------------------------------------------------------------------------- def self.unlock(x=1) unless File.exist?("x_state.rvdata") file = File.new("./x_state.rvdata", "a") file.write(<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> file.close else file = File.open("./x_state.rvdata", "w") file.write(<img src='http://rpgmkr.net/forum/public/style_emoticons/<#EMO_DIR#>/sourirex.gif' class='bbc_emoticon' alt='X)' /> file.close end end #-------------------------------------------------------------------------- # * Controlla se gli extra sono abilitati. #-------------------------------------------------------------------------- def self.check_extra @controllore = 0 if File.exist?("x_state.rvdata") File.open("x_state.rvdata","r") do |f| f.lineno = 1 @controllore = f.gets @controllore.to_i #@controllore = 0 if @controllore == nil end return true if @controllore.to_i >= 1 end return false end #-------------------------------------------------------------------------- # * Da come ritorno il valore della cifra memorizzata. #-------------------------------------------------------------------------- def self.state if File.exist?("x_state.rvdata") File.open("x_state.rvdata", "r") do |f| f.lineno = 1 @numero = f.gets return @numero.to_i end end end end #============================================================================== # * Classe Scene_Title #============================================================================== class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # * Alias del metodo di Aggiornamento #-------------------------------------------------------------------------- alias h87_update update def update if Input.trigger?(Input::C) # Se si preme Invio pressione_invio end if Input.repeat?(Input::LEFT) #Se si preme Sinistra pressione_sinistra end if Input.repeat?(Input::RIGHT) #Se si preme Destra pressione_destra end #h87_update animazione_menu #Sequenza d'apertura del menu animazione_fumetto #sequenza di animazione del fumetto animazione_cursore @Baloon.opacity += 25 if @CommandsActive aggiorna_immagine if @agg_disp end #-------------------------------------------------------------------------- # * alias del metodo di chiusura #-------------------------------------------------------------------------- alias h87_terminate terminate def terminate elimina_menu h87_terminate delete_objects end #-------------------------------------------------------------------------- # * Inizializza le variabili #-------------------------------------------------------------------------- def inizializza_variabili @title_state = 0 #lo stato del titolo $Extra_Game = Ex_Options.check_extra @cursore = 0 @cursore = 1 if @continue_enabled @oggetti = [] #Cambia l'ordine di queste righe per cambiare l'ordine del menu. @oggetti.push(0) #Nuovo Gioco @oggetti.push(1) #Continua @oggetti.push(3) if $imported["h87_Infos"] #Informazioni @oggetti.push(4) if MT_Setup::Extras and $Extra_Game #Extra @oggetti.push(5) if MT_Setup::SiteOpen != nil #Sito @oggetti.push(6) if $imported["H87_Updater"] and @agg_disp #Aggiornamento @oggetti.push(2) #Esci @oggetti.push(7) if $TEST and $imported["Y6-Iconview"] #------------------------------------------------ @num_oggetti = @oggetti.size @CommandsActive = false #all'inizio non possono essere mossi comandi @colore=0 #serve per memorizzare il colore dell'oggetto selezionato end #-------------------------------------------------------------------------- # * Ridefinizione della creazione della finestra di comando #-------------------------------------------------------------------------- def create_command_window inizializza_variabili @sfondobarra = Sprite.new @sfondobarra.bitmap = Cache.system(MT_Setup::BARGRAPH) @sfondobarra.y = MT_Setup::AltezzaBarra @luce = Sprite.new @posix = MT_Setup::Distanza @selettore = [] for i in 0..@num_oggetti-1 #crea le immagini dei pulsanti @selettore[i] = Sprite.new @selettore[i].bitmap = Cache.system(MT_Setup::OBJGRAPH[@oggetti[i]]) @selettore[i].x = @posix @selettore[i].y = MT_Setup::AltezzaBarra + @sfondobarra.height/2 - @selettore[i].height/2 @posix += MT_Setup::Distanza + @selettore[i].width @upd_n = i if @oggetti[i] == 6 #memorizza la posizione dell'update end inizializza_fumetto # crea l'immagine del fumetto crea_immagine if $update_avaiable # crea il popup di aggiornamento if MT_Setup::Animazione #rende gli oggetti trasparenti se si anima @old_position = [] for i in [email protected] @old_position[i] = @selettore[i].y @selettore[i].y -= 21 @selettore[i].opacity = 0 @anim_counter = 0 end @timemax = MT_Setup::SPEEDANIM*@selettore.size end @CommandsActive = true unless MT_Setup::Animazione end #-------------------------------------------------------------------------- # * Crea l'immagine del fumetto di descrizione. #-------------------------------------------------------------------------- def inizializza_fumetto @Baloon = Sprite.new @Baloon.opacity = 0 aggiorna_cursore end #-------------------------------------------------------------------------- # * Anima i componenti del menu #-------------------------------------------------------------------------- def animazione_menu if MT_Setup::Animazione and @title_state == 0 for i in [email protected] if @anim_counter > @timemax*i @selettore[i].opacity += 10 @selettore[i].y += 4 if @selettore[i].y < @old_position[i] @selettore[i].y -= 1 if @selettore[i].y > @old_position[i] end end @anim_counter += 1 if @selettore[@selettore.size-1].opacity >= 255 @CommandsActive = true aggiorna_cursore @title_state = 1 end end if @title_state == 1 and MT_Setup::Animazione for i in [email protected] @selettore[i].y -= 1 if @selettore[i].y > @old_position[i] end end end #-------------------------------------------------------------------------- # * Esecuzione del comando Invio #-------------------------------------------------------------------------- def pressione_invio @comando = @oggetti[@cursore] case @comando when 0 command_new_game when 1 command_continue when 2 command_shutdown when 3 command_infos when 4 command_extras when 5 command_website when 6 vai_aggiornamento when 7 command_iconview end end #-------------------------------------------------------------------------- # * Esecuzione del tasto Sinistra #-------------------------------------------------------------------------- def pressione_sinistra if @CommandsActive Sound.play_cursor @cursore -= 1 @cursore = @num_oggetti-1 if @cursore < 0 aggiorna_cursore end end #-------------------------------------------------------------------------- # * Esecuzione del tasto Destra #-------------------------------------------------------------------------- def pressione_destra if @CommandsActive Sound.play_cursor @cursore += 1 @cursore = 0 if @cursore > @num_oggetti -1 aggiorna_cursore end end #-------------------------------------------------------------------------- # * Sequenza di aggiornamento del cursore #-------------------------------------------------------------------------- def aggiorna_cursore @Baloon.bitmap = Cache.system(MT_Setup::BALOONGRAPH[@oggetti[@cursore]]) @prossimaX = @selettore[@cursore].x + @selettore[@cursore].width/2-MT_Setup::DDP @prossimaY = @selettore[@cursore].y + @selettore[@cursore].height+10 @selettore[@cursore].y += 7 if MT_Setup::Animazione and @CommandsActive @Baloon.x = @prossimaX if @Baloon.x == 0 @Baloon.y = @prossimaY if @Baloon.x == 0 @colore = 0 @cursore_in_movimento = true end #-------------------------------------------------------------------------- # * Animazione dei movimenti del fumetto #-------------------------------------------------------------------------- def animazione_fumetto if @cursore_in_movimento @distanzaX = @[email protected] @distanzaY = @[email protected] @Baloon.x += @distanzaX/MT_Setup::CursorSpeed @Baloon.y += @distanzaY/MT_Setup::CursorSpeed end end #-------------------------------------------------------------------------- # * Illumina l'oggetto selezionato #-------------------------------------------------------------------------- def animazione_cursore @colore +=3 if @colore < 60 for i in [email protected] if i == 1 and @continue_enabled == false grigio = 255 else grigio = 0 end if $imported["H87_Updater"] if Updater.forzato? and (i == 0 or i == 1) grigio = 255 end end if i == @cursore @selettore[i].tone.set(@colore,@colore,@colore,grigio) else @selettore[i].tone.set(0,0,0,grigio) end end end #-------------------------------------------------------------------------- # * Provvede alla cancellazione degli oggetti di gioco #-------------------------------------------------------------------------- def delete_objects for i in [email protected] @selettore[i].dispose end @Baloon.dispose @sfondobarra.dispose end #-------------------------------------------------------------------------- # * Apre la pagina web #-------------------------------------------------------------------------- def command_website Sound.play_decision string = "explorer " + MT_Setup::SiteOpen Thread.new{system(string)} end #-------------------------------------------------------------------------- # * Porta alla mappa extra #-------------------------------------------------------------------------- def command_extras elimina_menu Sound.play_decision $game_map.setup(MT_Setup::Map_ID) $game_player.moveto(MT_Setup::Map_X, MT_Setup::Map_Y) $game_player.refresh $scene = Scene_Map.new RPG::BGM.fade(1500) close_command_window Graphics.fadeout(60) Graphics.wait(40) Graphics.frame_count = 0 RPG::BGM.stop $game_map.autoplay end #-------------------------------------------------------------------------- # * Crea il popup di aggiornamento #-------------------------------------------------------------------------- def crea_immagine @imm_popup = Sprite.new @imm_popup.bitmap = Cache.system(MT_Setup::Up_Popup) @imm_popup.x = @selettore[@upd_n].x + @selettore[@upd_n].width/2 - @imm_popup.width/2 @imm_popup.y = @selettore[@upd_n].y-5-@imm_popup.height @imm_popup.y += 14 if MT_Setup::Animazione end #-------------------------------------------------------------------------- # * Nasconde il Menu per non mostrarlo in altre scene. #-------------------------------------------------------------------------- def elimina_menu @title_state = 2 for i in [email protected] @selettore[i].opacity = 0 end @imm_popup.opacity = 0 if @imm_popup != nil @Baloon.opacity = 0 @sfondobarra.opacity = 0 end #-------------------------------------------------------------------------- # * Metodo ridefinito #-------------------------------------------------------------------------- alias h87_newg command_new_game def command_newgame elimina_menu h87_newg end #-------------------------------------------------------------------------- # * Metodo ridefinito #-------------------------------------------------------------------------- alias h87_end command_shutdown def command_shutdown elimina_menu h87_end end def open_command_window end def close_command_window end def dispose_command_window end end Demo:Download (395 kb) Incompatibilità: Ovviamente non è compatibile con gli script che modificano pesantemente il titolo. E' compatibile al 100% con i suoi script "News System" e "Game Updater System" e compatibile con lo Y6 Icon Module. Gli script che modificano non totalmente il titolo potrebberero funzionare sotto questo script nell'Editor Script.