Jump to content
Rpg²S Forum

[VX - RGSS2] Come eliminare una voce del menù


Melosx
 Share

Recommended Posts

Eliminare Voce Del Menù

 

 

1. Introduzione

Per
: RPG Maker VX.

Autore
: Melosx

Ultima modifica
: 08/03/2011.

 

2. Tutorial

Penso ce ne sia già uno ma va be pazienza...
:tongue:
: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 indici

Esempio

...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	  # Esci

E qui(le ultime tre righe), anche qui attenzione che si parte da 0 anche se non vede

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)

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



287x66-white.png

Link to comment
Share on other sites

Ultimamente vanno di moda script che riprendono argomenti discussi in richieste/supporto e poi generalizzati XDXD

Base, 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) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"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:3
Ricorda...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.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: 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 interne
Levaitan

Spada a due mani elsa lunga

Guanti 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)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

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 :sisi: 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	  end

Sostanzialmente indica che se il menu selezionato è inferiore a 4 e quindi fra

Inventario (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	  end

dove 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

Link to comment
Share on other sites

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



287x66-white.png

Link to comment
Share on other sites

Si ma mancava una parte di modifica
Link to comment
Share on other sites

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



287x66-white.png

Link to comment
Share on other sites

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.
Link to comment
Share on other sites

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)  endend

Perchè?

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 situazione
Project 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

Questa mi mancava... su xp quel problema non c'è.
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...