Melosx Posted March 8, 2011 Share Posted March 8, 2011 Eliminare Voce Del Menù 1. IntroduzionePer: RPG Maker VX.Autore: MelosxUltima modifica: 08/03/2011. 2. TutorialPenso ce ne sia già uno ma va be pazienza... :rovatfl: Innanzitutto prendete lo script a fondo topic e copiatelo in una nuova voce sotto Materials.Fatto??Bene. Come noterete ho separato i vari indici e le azioni corrispondenti ad essi per facilitare i novizi nella modifica del menù.Mettiamo caso si vuole eliminare Magie dal menù.Cercate nello script le righe che presentano # Magie come commento(le scritte verdi) e cancellatele. Ogni volte che cancellate una riga però ricordate di sistemare gli indiciEsempio...def create_command_window s1 = Vocab::item # Inventario s2 = Vocab::skill # Magie s3 = Vocab::equip # Equipaggiamento s4 = Vocab::status # Status s5 = Vocab::save # Salva s6 = Vocab::game_end # Esci ...Elimino Magie...def create_command_window s1 = Vocab::item # Inventario s3 = Vocab::equip # Equipaggiamento s4 = Vocab::status # Status s5 = Vocab::save # Salva s6 = Vocab::game_end # Esci ...Aggiorno gli indici...def create_command_window s1 = Vocab::item # Inventario s2 = Vocab::equip # Equipaggiamento s3 = Vocab::status # Status s4 = Vocab::save # Salva s5 = Vocab::game_end # Esci ...Fate la stessa cosa qui(dalla riga 60)@command_window = Window_Command.new(160, [#<- NON cancellare! s1, # Inventario s2, # Magie s3, # Equipaggiamento s4, # Status s5, # Salva s6 # Esci ]#<- NON cancellare! )#<- NON cancellare!Qui(dalla riga 106), stando attenti che qui si inizia da 0 e non da 1. Quindi se prima magie aveva 2 ora sarà 1 when 0 # Inventario $scene = Scene_Item.new when 1 # Magie start_actor_selection when 2 # Equipaggiamento start_actor_selection when 3 # Status start_actor_selection when 4 # Salva $scene = Scene_File.new(true, false, false) when 5 # EsciE qui(le ultime tre righe), anche qui attenzione che si parte da 0 anche se non vedewhen 1 # Magie $scene = Scene_Skill.new(@status_window.index) when 2 # Equipaggiamento $scene = Scene_Equip.new(@status_window.index) when 3 # Status $scene = Scene_Status.new(@status_window.index)Dopo aver cancellato le righe e sistemato gli indici salvate e godetevi il vostro menu con una voce in meno.Spero che questo tutorial sia utile a chi ha mosso i primi passi con il vx e soprattutto nell oscript editor. SCRIPT #==============================================================================# ■ Scene_Menu#------------------------------------------------------------------------------# メニュー画面の処理を行うクラスです。#============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 # menu_index : コマンドのカーソル初期位置 #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(160, 0) end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @status_window.update if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end #-------------------------------------------------------------------------- # ● コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item # Inventario s2 = Vocab::skill # Magie s3 = Vocab::equip # Equipaggiamento s4 = Vocab::status # Status s5 = Vocab::save # Salva s6 = Vocab::game_end # Esci @command_window = Window_Command.new(160, [#<- NON cancellare! s1, # Inventario s2, # Magie s3, # Equipaggiamento s4, # Status s5, # Salva s6 # Esci ]#<- NON cancellare! )#<- NON cancellare! @command_window.index = @menu_index if $game_party.members.size == 0 # パーティ人数が 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 #-------------------------------------------------------------------------- # ● コマンド選択の更新 #-------------------------------------------------------------------------- def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 Sound.play_buzzer return end Sound.play_decision case @command_window.index when 0 # Inventario $scene = Scene_Item.new when 1 # Magie start_actor_selection when 2 # Equipaggiamento start_actor_selection when 3 # Status start_actor_selection when 4 # Salva $scene = Scene_File.new(true, false, false) when 5 # Esci $scene = Scene_End.new end end end #-------------------------------------------------------------------------- # ● アクター選択の開始 #-------------------------------------------------------------------------- def start_actor_selection @command_window.active = false @status_window.active = true if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # ● アクター選択の終了 #-------------------------------------------------------------------------- def end_actor_selection @command_window.active = true @status_window.active = false @status_window.index = -1 end #-------------------------------------------------------------------------- # ● アクター選択の更新 #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision case @command_window.index when 1 # Magie $scene = Scene_Skill.new(@status_window.index) when 2 # Equipaggiamento $scene = Scene_Equip.new(@status_window.index) when 3 # Status $scene = Scene_Status.new(@status_window.index) end end endend http://i.imgur.com/ROhv4te.png Link to comment Share on other sites More sharing options...
Guardian of Irael Posted March 8, 2011 Share Posted March 8, 2011 Ultimamente vanno di moda script che riprendono argomenti discussi in richieste/supporto e poi generalizzati XDXDBase, ma utile!^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.Bozze vesti non definitive qui.Equipaggiamento:Indossa:60$ e 59$ divisi in due tasche interneLevaitanSpada a due mani elsa lungaGuanti del Defender (2PA)Anello del linguaggio animale (diventato del Richiamo)Scrinieri da lanciere (2 PA)Elmo del Leone (5 PA)Corazza del Leone in Ferro Corrazzato (7 PA) ZAINO (20) contenente:Portamonete in pelle di cinghiale contenente: 100$Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
Darknight Posted March 8, 2011 Share Posted March 8, 2011 Vedo che hai fatto un tutorial su quanto scritto da MasterSion e me qui.Ma c'è una cosa che non hai preso in considerazione (semplicemente perchè nessuno dei due l'ha spiegata anche se nel mio script è stata modificata - come dimostrare se un tutorial/script è farina del proprio sacco)... c'è un'altra parte dello script da modificare.Così come l'hai fatto tu darebbe errori. if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 Sound.play_buzzer return endSostanzialmente indica che se il menu selezionato è inferiore a 4 e quindi fraInventario (indice 0)Magie (indice 1)Equipaggiamento (indice 2)Status (indice 3)allora nel caso non ci siano membri nel party non deve fare nulla premendo il tasto c.Mentre se si sceglie il menu Salva (indice 4) e il salvataggio è disabilitato allora non deve fare nulla premendo il tasto c. Quindi eliminando un menu fra Inventario, Magie, Equipaggiamento, Status va cambiato il codice così if $game_party.members.size == 0 and @command_window.index < INDICE_SALVA Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == INDICE_SALVA Sound.play_buzzer return enddove indice salva è il numero dell'indice del menu salva (per esempio, se si toglie un menu allora INDICE_SALVA sarà 3, e così via) Se invece si vuole eliminare il menu salva il codice diventa if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return end http://nextage.altervista.org/scanlations/bannermp.jpg http://nextage.altervista.org/scanlations/banner.jpgCreazioni su DeviantArt http://nextage.altervista.org/_altervista_ht/two-beavers.jpghttp://img850.imageshack.us/img850/7051/mrfruffolo.png MRFRUFFOLOBATUFFOLOSO FOREVER! Link to comment Share on other sites More sharing options...
Melosx Posted March 8, 2011 Author Share Posted March 8, 2011 Proprio per non riempire i topic di richiesta delle stesse domande ho creato il tutorial... L'ho fatto per dare un aiuto a chi è alle prime armi semplificando la comprensione dello script e dando le basi per modificarlo. http://i.imgur.com/ROhv4te.png Link to comment Share on other sites More sharing options...
Darknight Posted March 8, 2011 Share Posted March 8, 2011 Si ma mancava una parte di modifica http://nextage.altervista.org/scanlations/bannermp.jpg http://nextage.altervista.org/scanlations/banner.jpgCreazioni su DeviantArt http://nextage.altervista.org/_altervista_ht/two-beavers.jpghttp://img850.imageshack.us/img850/7051/mrfruffolo.png MRFRUFFOLOBATUFFOLOSO FOREVER! Link to comment Share on other sites More sharing options...
Melosx Posted March 8, 2011 Author Share Posted March 8, 2011 Non ho toccato quella parte perchè semplicemente non mi ha dato errori e poi non mi è mai capitato di pensare di regolare gli indici anche quando non ci sn membri nel party, sarà che è raro trovare party senza un membro.. http://i.imgur.com/ROhv4te.png Link to comment Share on other sites More sharing options...
Darknight Posted March 8, 2011 Share Posted March 8, 2011 Ma se avessi disattivato il salvataggio (e molti giochi lo fanno) allora avrebbero potuto salvare comunque, mentre con il salvataggio disattivato non sarebbe stato possibile usare il comando esci. http://nextage.altervista.org/scanlations/bannermp.jpg http://nextage.altervista.org/scanlations/banner.jpgCreazioni su DeviantArt http://nextage.altervista.org/_altervista_ht/two-beavers.jpghttp://img850.imageshack.us/img850/7051/mrfruffolo.png MRFRUFFOLOBATUFFOLOSO FOREVER! Link to comment Share on other sites More sharing options...
Morshudiego Posted March 8, 2011 Share Posted March 8, 2011 Manca ancora un pezzo.Se per caso hai visto il mio script (Rimuovi salva dal menu) Noterai che dopo aver rimosso il comando Save ho messo anche questa linea di codice.class Scene_End < Scene_Base def return_scene $scene = Scene_Menu.new(4) endendPerchè?Per evitare un bug ai comandi menù.Quando tu esci da una scena (Magie, Equip o quant'altro) lo script di quella scena ha una stringa che indica in che punto il cursore del menù deve essere quando si ritorna ad esso.Se si immette un numero superiore al numero dei comandi esistenti, compaiono delle caselle vuote sotto i comandi menù.Per l'appunto la stringa "$scene = Scene_Menu.new(4)" serve ad indicare che quella scena non è più il comando 5, ma il comando 4, ovvero un comando in meno che va a sostituire quello che ho tolto. Scusate i termini tecnici, ma non so esprimermi in altro modo. Succodipera: Il blog di Morshudiego su RPG Maker (Leggetelo, lì ci sono più aggiornamenti che sulla firma!) <AGGIORNAMENTI> (Ultima modifica: Oct 30 2014)Myth of First Star - Facendo il punto della situazioneProject Sudoku - Il multitasking non è il mio forte. XD (Spero comunque di risolvere il bug per rilasciare la 0.3 :P)Tutorial Menu Eventi - Uscita parte 2 (però è malformattata, non so se riuscirò ad editare tutto in un giorno. Abbiate pasiensa :P)<PROGETTI>Myth of First Star - Project Sudoku (*trollface*)<SCRIPTS>Zelda Map Scrolling - Switch Post Caricamento - Messaggi Istantanei - Picture Manager - Minimalist Menu<TUTORIAL>Uso corretto acqua RTP - Creare un menu ad eventi Link to comment Share on other sites More sharing options...
Darknight Posted March 8, 2011 Share Posted March 8, 2011 Questa mi mancava... su xp quel problema non c'è. http://nextage.altervista.org/scanlations/bannermp.jpg http://nextage.altervista.org/scanlations/banner.jpgCreazioni su DeviantArt http://nextage.altervista.org/_altervista_ht/two-beavers.jpghttp://img850.imageshack.us/img850/7051/mrfruffolo.png MRFRUFFOLOBATUFFOLOSO FOREVER! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now