Jump to content
Rpg²S Forum
  • 0

Estensione allo Scene_menu


Astro86
 Share

Question

salve...

 

vorrei fare una piccola modifica allo Scene_menu di VX..

Io uso il Time System e volevo fare uno spazio nel menu che facesse decidere a chi ci giocherà se attivare o meno la visualizzazione del tempo.

 

quindi o aggiunto questo

 

 def create_command_window

s1 = Vocab::item

s2 = Vocab::skill

s3 = Vocab::equip

s4 = Vocab::status

s5 = Vocab::save

s6 = Vocab::game_end

s7 = "Orologio"

@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s7,])

@command_window.index = @menu_index

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

end

#--------------------------------------------------------------------------

# * Update Command Selection

#--------------------------------------------------------------------------

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 # Item

$scene = Scene_Item.new

when 1,2,3 # Skill, equipment, status

start_actor_selection

when 4 # Save

$scene = Scene_File.new(true, false, false)

when 5 # End Game

$scene = Scene_End.new

when 6 # Orologio

end

end

end

 

ora io vorrei mettere sotto when 6 # Orologio, un sotto menù per metterci altre 2 Opzioni per abilitare o disabilitare l'orologio... dato che ho un richiamo che però devi inserire o true (per abilitarlo) o false (per disabilitarlo)

$scene.show_time_hud(true/false)

 

non so se sono riuscito a far capire ciò che voglio fare..

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Vuoi che venga conservata l'ultima impostazione data alla visualizzazione dell'orologio quando si esce dal menù, oppure parte sempre nello stesso status ogni volta che si entra nel menù . . .

 

Ti suggerirei di usare un sistema di toggling, ossia far funzionare il comando "Orologio" come un interruttore che accende/spegne la visualizzazione in modo alternato ogni volta viene scelto, piuttosto che un sottomenù . . .

 

Poi, show_time_hud(true/false) è un def di Scene_Base ?

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Sì, adesso ho capito di che Time System parlavi, e sono andato a vedere . . .

 

Però, c'è stato un equivoco nel redigere le istruzioni, perchè di base è fatto per funzionare solo in Scene_Map ed usare quel comando così com'è il codice adesso in una Scene diversa dà errore . . .

 

Suppongo, quindi, che tu non abbia neppure fatto creare un'istanza dell'HUD in Scene_Menu, oppure sì ?

 

EDIT - Scusa, credo di aver frainteso , , , Puoi chiarirmi se vuoi che il comando "Orologio" nel Menù serva ad attivare/disattivare l'HUD nella Mappa ? Anche perchè c'è già questa possibilità premendo un Button, configurabile nello script, quando stai nella mappa . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Come sempre, non posso testarlo o garantire che funzioni. Va messo sotto gli script del Time System.

 

E' necessario perchè funzioni solo da Menù, che il valore Button in Time_Hud sia nil . . .

C'è un bug nello script principale del Time System: nel metodo (def) add_year viene chiamato increase_month invece di increase_year . . .

 

 

class Game_Time
 attr_accessor	 :hud_visibility
end

class Scene_Map < Scene_Base
 def update
	$game_time.hud_visibility = @time_hud_window.visible if $game_time.hud_visibility.nil?
	tsltmhud_scnmp_pdt
	if @time_hud_window.visible
	  @time_hud_window.update
	end
	if (@time_hud_window.visible != $game_time.hud_visibility) or (Time_Hud::Button != nil and Input.trigger?(Time_Hud::Button) )
	  show_time_hud(!@time_hud_window.visible)
	end
 end
 def show_time_hud(show)
@game_time.hud_visibility = show
	@time_hud_window.visible = show
	@time_hud_window.update
 end
end

class Scene_Menu < Scene_Base
def create_command_window
s1 = Vocab::item
s2 = Vocab::skill
s3 = Vocab::equip
s4 = Vocab::status
s5 = Vocab::save
s7 = $game_time.hud_visibility ? "Orologio OFF" : "Orologio ON"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s7])
@command_window.index = @menu_index
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
 end
 #--------------------------------------------------------------------------
 # * Update Command Selection
 #--------------------------------------------------------------------------
 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		  # Item
		$scene = Scene_Item.new
	  when 1,2,3  # Skill, equipment, status
		start_actor_selection
	  when 4		  # Save
		$scene = Scene_File.new(true, false, false)
	  when 5 	 # Orologio
 @menu_index = 5
 @command_window.dispose
 @command_window = nil
 $game_time.hud_visibility = (!$game_time.hud_visibility)
 create_command_window
	  end
   end
 end
end

 

 

Spero che faccia ciò che effettivamente volevi . . .

 

EDIT - Ho notato solo ora che hai eliminato il comando che esce dal gioco . . . Rettificato per supplire alla mancanza di quel comando . . .

EDIT2 - Aggiunto un'istruzione che allinea l'impostazione di visibilità iniziale . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Grosso modo ? Se chiarisci, magari riesco a migliorarlo . . .

 

EDIT - Ho aggiunto un'istruzione che forse già rimedia . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



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