Jump to content
Rpg²S Forum
  • 0

Cursore nel cambio party


Squall_Leonheart
 Share

Question

Salve,mentre stavo modificando pesantemente il cambio party creato da GTONIZUKA,ho pensato di mettere un immagine come cursore al posto di quello della skin,di solito per metterlo si mettevano le coordinate dell'immagine nell'help text,però qui è diverso e non ci riesco:/

Ora posto a versione modificata da me,magari riuscite a dirmi come mettere il cursore e mi segnalate eventuali errori di scripting:)

 

 

Grazie in anticipo^^

 

 

################################################################################						   Script di Cambio Party							##																			 ## Versione: 1.0.1															 ## Creato ed Ideato da: GTOnizuka © 2006									   #################################################################################																			 ##						   Numero Massimo Personaggi: 9					  ##																			 #################################################################################																			 #									 #  Features:																  ##	 - Possibilità di cambiare i mebri del party con tutti i personaggi	  ##	   del database														  ##	 - Non si può uscire dalla schermata se non c'è almeno un personaggio	##	 - Il numero dei personaggi da aggiungere nel party si può decidere	  ##																			 ##  Bug Fix:																   ##	 - Corretto un piccolo bug che permetteva di selezionare più volte	   ##	   lo stesso personaggio												 ##																			 ################################################################################ ##################### Modulo variabili####################module Valori_VariHP = "HP:"						 #HPMP = "Cosmo:"						 #MPNOME = "Nome:"					 #NomeLIVELLO = "Livello:"			   #LivelloEXP_LVL_UP = "Exp Lvl Up:"		 #Esperienza al prossimo livelloSTR = "STR:"					   #ForzaDEX = "DEX:"					   #DestrezzaAGI = "AGI:"					   #AgilitàINT = "INT:"					   #IntelligenzaATK = "ATK:"					   #AttaccoPDEF = "PDEF:"					 #Difesa FisicaMDEF = "MDEF:"					 #Difesa MagicaEVA = "EVA:"					   #EvasioneTITOLO = "Scegli chi portare."	 #Titolo schermataFONT_TYPE = "Arial"	 #Font della schermataNUMERO_PG = 5					  #Numero dei personaggi totaliNUM_PG_MIN = 1					 #Numero dei personaggi del party minimo...								   #...per uscire dalla schermataNUM_PG_MAX = 4					 #Numero dei personaggi che si possono...								   #...inserire nella schermataend ################################## Ottengo lo sprite del battler################################# ################################################ Creo il riquadro con scritto "Cambio Party"###############################################class Nome_Finestra < Window_Basedef initialize   #Creo il riquadro   super(0,0,636,70)   #Settaggi di bitmap, nome font e dimensione font   self.contents = Bitmap.new(width - 32, height - 32)   self.contents.font.name = Valori_Vari::FONT_TYPE   self.contents.font.size = 22   self.contents.font.bold = true   #Setto l'opacità della finestra   self.back_opacity = 255   #Pulisco il riquadro   self.contents.clear   #Imposto come colore del font quello di sistema   self.contents.font.color = normal_color   #Disegno la scritta   self.contents.draw_text(240, 0, 150, 30, Valori_Vari::TITOLO)endend ################################################# Creo la schermata con i personaggi del party################################################class Party_Attuale < Window_Base  def initialize	#Creo il riquadro	super(0,300,760,180)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18	@item_max = Valori_Vari::NUMERO_PG	@column_max = 1  end   def add_pg(id_pg,x,y)	draw_actor_face($game_actors[id_pg],x + 50,y + 50)	  end	end############################################### Creo la schermata con tutti i pg rimanenti##############################################class PG_Rimanenti < Window_Selectable  def initialize	#Creo il riquadro	super(0,71,600,180)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18	#Disposizione Griglia	@item_max = Valori_Vari::NUMERO_PG	@row_max = 1	@column_max = Valori_Vari::NUMERO_PG  end  def refresh	self.contents.clear	@x=0	@y=90	for i in 1..Valori_Vari::NUMERO_PG	  if (i==1)	draw_actor_face($game_actors[i],@x,@y)	draw_actor_hp($game_actors[i], @x, @y)	  elsif(i>=2 and i<=9)		@x += 110		draw_actor_face($game_actors[i],@x,@y)		draw_actor_hp($game_actors[i], @x, @y - 30)	  end	end  end  def update_cursor_rect   if @index < 0	 self.cursor_rect.empty   else	 self.cursor_rect.set(@index * 110, 0, 85, 90)   end endend########################################################## Crea la schermata con tutti i dati del pg selezionato#########################################################class Status_PG < Window_Base  def initialize	#Creo il riquadro	super(205,215,250,130)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18  end  def refresh(id_pg)	self.contents.clear	@altezza=0	@sinistra_col1=0	@sinistra_col2=10	#Mostro la figura del pg	#Imposto il colore del font	self.contents.font.color = normal_color	#Scrivo le statistiche del pg	######################### COLONNA 1 ################################	#Nome	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza,80,50,Valori_Vari::NOME)	#Nome - Valore	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+105,@altezza,100,50,$data_actors[$data_actors[id_pg].id].name)	#HP	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+20,50,50,Valori_Vari::HP)	#HP - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+80,@altezza+20,70,50,$game_actors[$data_actors[id_pg].id].hp.to_s,2)	#MP	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+40,50,50,Valori_Vari::MP)	#MP - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+80,@altezza+40,70,50,$game_actors[$data_actors[id_pg].id].sp.to_s,2)	#Livello	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+60,100,50,Valori_Vari::LIVELLO)	#Livello - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+100,@altezza+60,50,50,$game_actors[$data_actors[id_pg].id].level.to_s,2)  endend  ########################## Inizializzazione Menù#########################class Cambia_Party  def initialize	#Inizializzo la variabile dei membri del party	@in_party=0	#Inizializzo il vettore contentente l'id del personaggio che è già nel party	@party=[nil,nil,nil,nil]	#Inizializzo la variabile di ok per l'aggiunta	@ok=0  end  def main	#Tolgo tutti i personaggi dal party	for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end 	#Creo le varie finestre e inizializzo la variabile di index	@pic = Sprite.new	@pic.bitmap = Bitmap.new("Graphics/Pictures/Ss_Party")	@cursore = Sprite.new	@cursore.bitmap = Bitmap.new("Graphics/Pictures/Ss_Cursore")	@win_nome=Nome_Finestra.new	@win_membri=Party_Attuale.new	@win_altri_pg=PG_Rimanenti.new	@win_status=Status_PG.new	@win_status.opacity = 0	@win_nome.opacity = 0	@win_membri.opacity = 0	@win_altri_pg.opacity = 0	@win_altri_pg.index = 0	@win_altri_pg.refresh 	#Effetto di transizione dalla schermata di scena alla schermata del menù	Graphics.transition	loop do	 Graphics.update	 Input.update	 update	 if $scene != self	   break	 end	end	#Cancellazione finestre	@pic.dispose	@cursore.dispose	@win_nome.dispose	@win_membri.dispose	@win_altri_pg.dispose	@win_status.dispose  end  def update	#Aggiorno le finestre	@win_membri.update	@win_altri_pg.update	#Aggiorno la finestra di status del personaggio selezionato	#Se il tasto è il Cancel e il numero dei personaggi minimi è stato raggiunto	@win_status.refresh(@win_altri_pg.index+1)	#Se il tasto è il Cancel e il numero dei personaggi minimi è stato raggiunto	if Input.trigger?(Input::B) and @in_party>=Valori_Vari::NUM_PG_MIN	  #Cancella bitmap e...	  $scene = Scene_Map.new	#Altrimenti se è il tasto Ok e il numero dei personaggi aggunti è minore	#del massimo permesso	elsif Input.trigger?(Input::C) and @in_party<Valori_Vari::NUM_PG_MAX	  #Controllo se è già presente nel party(per evitare i doppioni)	  for i in 0..4		if(@win_altri_pg.index == @party[i])		  @ok=0		  break		else		  @ok=1		end	  end	  #Quindi se è tutto ok aggiungo il personaggio alla schermata	  #sistemando le coordinate per lo sprite	  if @ok == 1		case @in_party		  when 0			@x = 0			@y = 80		  when 1			@x = 120			@y = 80		  when 2			@x = 240			@y = 80		  when 3			@x = 360			@y = 80		  end		  #Disegno il personaggio		  @win_membri.add_pg(@win_altri_pg.index+1,@x,@y)		  #Lo aggiungo nel party		  $game_party.add_actor(@win_altri_pg.index+1)		  #Lo aggiungo al vettore del party		  @party[@in_party] = @win_altri_pg.index		  #Aggiorno la variabile del numero dei personaggi nel party		  @in_party += 1	  end	end  endend

 

 

Ci sono ancora dei commenti che leverò una volta finito^^

Edited by Squall_Leonheart

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Squall.....MAGARI L'AVESSI FATTO IO! :rovatfl:

 

 

io sono EIKICHI

 

 

 

lui è GTONIZUKA.

 

 

 

 

 

 

siamo due fan di GTO ma siamo due persone diverse :sisi: :cool:

Finrod, GDR PBF

2PV e 1PAEquip: - faretra con 20 frecce- arco lungo- pugnale comune- Armatura di cuoio- Torcia- Cappuccio

Mi sa che è ora di vincere qualche premio per rinnovare questa firma! :3Posizioni raggiunte nei contest

http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/awards/bestresourCSist3.jpghttp://www.rpg2s.net/awards/mosthelpful2.jpghttp://www.rpg2s.net/awards/mostpresent2.jpg

 

 

 

Link to comment
Share on other sites

  • 0
Lol ediiiitoxDScusate errore di letturaxD

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 0

Tempo fa MasterSion mi ha chiesto di modificargli uno script per usare immagini come cursori nelle finestre, e questa modifica permetteva di usare un'immagine diversa a seconda della class della finestra, perciò ogni Window_Qualchecosa poteva avere un cursore diverso dalle altre.

Io quello script non ce l'ho più, ed al massimo potrei creartene uno simile (è una cosa molto facile, e tu che ami usare spesso gli sprite nei tuoi script dovresti essere in grado di farlo da solo) . . .

Dovresti chiedere direttamente a MasterSion, quindi . . .

 

Ne procurai uno anche a Darkshiva, che non ricordo se era diverso da quello usato da MasterSion, ma potresti cercarlo nel forum, eventualmente e provare a modificarlo secondo le tue esigenze . . .

 

Quello per la Scene_File che ho realizzato per il progetto di Kekkorider, invece è un cursore di Scene, non di Window, quindi non credo potrebbe tornarti utile in alcun modo . . .

 


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

Ecco quello per Darkshiva,però non riesco ad inserirlo nel mio cambio party,come devo fare?

 

 

#==============================================================================# ■ Cursor Script#------------------------------------------------------------------------------#  Script to display a cursor instead of a highlight box#   by squall#   squall@rmxp.ch#==============================================================================  #==============================================================================# ■ Cursor_Sprite#==============================================================================  class Sprite_Cursor < Sprite    #--------------------------------------------------------------------------    # ● instances    #--------------------------------------------------------------------------    attr_accessor :true_x    attr_accessor :true_y    #--------------------------------------------------------------------------    # ● initialize    #--------------------------------------------------------------------------    def initialize(x = 0, y = 0)	  super()	  self.x = @true_x = x	  self.y = @true_y = y	  self.z += 1000	  self.bitmap = RPG::Cache.picture("Ss_Cursore") rescue Bitmap.new(32, 32)  end  #--------------------------------------------------------------------------  # ● update  #--------------------------------------------------------------------------  def update	  super if self.y < @true_y	    n = (@true_y - self.y) / 3	  	n = 1 if n == 0  	self.y += n	  elsif self.y > @true_y	  	n = (self.y - @true_y) / 3	  	n = 1 if n == 0		self.y -= n	  end	  if self.x < @true_x	  n = (@true_x - self.x) / 3	    n = 1 if n == 0	    self.x += n	 elsif self.x > @true_x	     n = (self.x - @true_x) / 3	    n = 1 if n == 0	    self.x -= n	  end   endend #==============================================================================# ■ Window_Selectable#============================================================================== class Window_Selectable < Window_Base    #--------------------------------------------------------------------------    # ● instances    #--------------------------------------------------------------------------    attr_reader   :index    attr_reader   :help_window    attr_accessor :cursor    alias update_cursor_moves update    #--------------------------------------------------------------------------    # ● initialize    #--------------------------------------------------------------------------    def initialize(x, y, width, height)		super(x, y, width, height)		@item_max = 1		@column_max = 1		@index = 0		@cursor = Sprite_Cursor.new(x, y)		unless $scene.is_a?(Scene_Menu)	  	  @cursor.opacity = 0		end		update_cursor    end    #--------------------------------------------------------------------------    # ● x=    #--------------------------------------------------------------------------    def x=(x)		super		@cursor.x = x if !@cursor.nil?    end    #--------------------------------------------------------------------------    # ● y=    #--------------------------------------------------------------------------    def y=(y)		super		@cursor.y = y if !@cursor.nil?    end    #--------------------------------------------------------------------------    # ● visible=    #--------------------------------------------------------------------------    def visible=(visible)		super		if !@cursor.nil? and visible == false	  	  @cursor.visible = false		end    end    #--------------------------------------------------------------------------    # ● dispose    #--------------------------------------------------------------------------    def dispose		@cursor.dispose		super    end    #--------------------------------------------------------------------------    # ● update_cursor_rect    #--------------------------------------------------------------------------    def update_cursor_rect		row = @index / @column_max		if row < self.top_row	  	  self.top_row = row		end		if row > self.top_row + (self.page_row_max - 1)	  	  self.top_row = row - (self.page_row_max - 1)		end		cursor_width = self.width / @column_max - 32		x = @index % @column_max * (cursor_width + 32)		y = @index / @column_max * 32 - self.oy		if $scene.is_a?(Scene_Menu)	  	  self.cursor_rect.set(x, y, 0, 0)		else	  	  self.cursor_rect.set(x, y, cursor_width, 32)		end    end    #--------------------------------------------------------------------------    # ● update_cursor    #--------------------------------------------------------------------------    def update_cursor		@cursor.true_x = self.cursor_rect.x + self.x - 8		@cursor.true_y = self.cursor_rect.y + self.y + 16		@cursor.update		@cursor.visible = self.visible    end    #--------------------------------------------------------------------------    # ● update    #--------------------------------------------------------------------------    def update		update_cursor_moves		update_cursor    end  end

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 0

Lo script era stato modificato per essere usato solo nel menù di gioco in stile Chrono Trigger . . .

Se guardi bene il codice, toverai scritto alcune volte l'istruzione

if $scene.is_a?(Scene_Menu)# oppureunless $scene.is_a?(Scene_Menu)

quindi dovrebbe essere sufficiente mettere Cambia_Party al posto di Scene_Menu in tutte le istruzioni di quel tipo affinchè funzioni . . .

Ricordati che la picture per il cursore deve chiamarsi come indicato nella riga 27 dello script, in caso non te ne fossi accorto . . .

 


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

Si l'avevo notato,ma se volessi metterlo anche nel menù??

aggiungendo un altra if non và :/

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

  • 0

Se non ricordo male (è da molto che non vedo rgss) dovresti scrivere or.

Ma potrei dire grandi cavolate.

http://img256.imageshack.us/img256/7639/ihateyou.gif

Un uomo senza religione è come un pesce senza bicicletta.

http://img18.imageshack.us/img18/3668/decasoft1.png

http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

  • 0

Sì, in linea teorica basterebbe scrivere

if $scene.is_a?(Scene_Menu) or $scene.is_a?(Cambia_Party)# oppureunless $scene.is_a?(Scene_Menu) or $scene.is_a?(Cambia_Party)

 

Ma se non ricordo male, lui usa il Compact Menu di Sleeping Leonhart, e quello mi sembra che usi un cursore di Scene, non per Window.

Dovrebbe esserci da qualche parte in quello script il nome dell'immagine usata come cursore, e cambiarla come si preferisce . . .

 


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

Ecco dove sbagliavo,al posto di or mettevo and-.-

 

comunque giusto per segnalare dei piccoli bug che aveva il cambio party...Era privo di alcuni suoni...Tipo se non ci sono eroe scelti e premi esc rimane immobile,ho aggiunto queste chicche quindi lo riposto con tutto messo per bene :sisi

################################################################################						   Script di Cambio Party							##																			 ## Versione: 1.0.1															 ## Creato ed Ideato da: GTOnizuka © 2006 ## Modificato da Squall_Leonheart (Ancestral) il 20/12/09#################################################################################																			 ##						   Numero Massimo Personaggi: 9					  ##																			 #################################################################################																			 #									 #  Features:																  ##	 - Possibilità di cambiare i mebri del party con tutti i personaggi	  ##	   del database														  ##	 - Non si può uscire dalla schermata se non c'è almeno un personaggio	##	 - Il numero dei personaggi da aggiungere nel party si può decidere	  ##																			 ##  Bug Fix:																   ##	 - Corretto un piccolo bug che permetteva di selezionare più volte	   ##	   lo stesso personaggio##	 - Aggiunti dei suoni per rendere più credibile la scena##																			 ################################################################################ ##################### Modulo variabili####################module Valori_VariHP = "HP:"						 #HPMP = "Cosmo:"						 #MPNOME = "Nome:"					 #NomeLIVELLO = "Livello:"			   #LivelloEXP_LVL_UP = "Exp Lvl Up:"		 #Esperienza al prossimo livelloSTR = "STR:"					   #ForzaDEX = "DEX:"					   #DestrezzaAGI = "AGI:"					   #AgilitàINT = "INT:"					   #IntelligenzaATK = "ATK:"					   #AttaccoPDEF = "PDEF:"					 #Difesa FisicaMDEF = "MDEF:"					 #Difesa MagicaEVA = "EVA:"					   #EvasioneTITOLO = "Scegli chi portare."	 #Titolo schermataFONT_TYPE = "Arial"	 #Font della schermataNUMERO_PG = 5					  #Numero dei personaggi totaliNUM_PG_MIN = 1					 #Numero dei personaggi del party minimo...								   #...per uscire dalla schermataNUM_PG_MAX = 4					 #Numero dei personaggi che si possono...								   #...inserire nella schermataend ################################## Ottengo lo sprite del battler################################# ################################################ Creo il riquadro con scritto "Cambio Party"###############################################class Nome_Finestra < Window_Basedef initialize   #Creo il riquadro   super(0,0,636,70)   #Settaggi di bitmap, nome font e dimensione font   self.contents = Bitmap.new(width - 32, height - 32)   self.contents.font.name = Valori_Vari::FONT_TYPE   self.contents.font.size = 22   self.contents.font.bold = true   #Setto l'opacità della finestra   self.back_opacity = 255   #Pulisco il riquadro   self.contents.clear   #Imposto come colore del font quello di sistema   self.contents.font.color = normal_color   #Disegno la scritta   self.contents.draw_text(240, 0, 150, 30, Valori_Vari::TITOLO)endend ################################################# Creo la schermata con i personaggi del party################################################class Party_Attuale < Window_Base  def initialize	#Creo il riquadro	super(0,300,760,180)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18	@item_max = Valori_Vari::NUMERO_PG	@column_max = 1  end   def add_pg(id_pg,x,y)	draw_actor_face($game_actors[id_pg],x + 50,y + 50)	  end	end############################################### Creo la schermata con tutti i pg rimanenti##############################################class PG_Rimanenti < Window_Selectable  def initialize	#Creo il riquadro	super(0,71,600,180)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18	#Disposizione Griglia	@item_max = Valori_Vari::NUMERO_PG	@row_max = 1	@column_max = Valori_Vari::NUMERO_PG  end  def refresh	self.contents.clear	@x=0	@y=90	for i in 1..Valori_Vari::NUMERO_PG	  if (i==1)	draw_actor_face($game_actors[i],@x,@y)	  elsif(i>=2 and i<=9)		@x += 110		draw_actor_face($game_actors[i],@x,@y)	  end	end  end  def update_cursor_rect   if @index < 0	 self.cursor_rect.empty   else	 self.cursor_rect.set(@index * 110, 0, 40, 56)   end endend########################################################## Crea la schermata con tutti i dati del pg selezionato#########################################################class Status_PG < Window_Base  def initialize	#Creo il riquadro	super(205,215,250,130)	#Settaggi di bitmap, nome font e dimensione font	self.contents = Bitmap.new(width - 32, height - 32)	self.contents.font.name = Valori_Vari::FONT_TYPE	self.contents.font.size = 18  end  def refresh(id_pg)	self.contents.clear	@altezza=0	@sinistra_col1=0	@sinistra_col2=10	#Mostro la figura del pg	#Imposto il colore del font	self.contents.font.color = normal_color	#Scrivo le statistiche del pg	######################### COLONNA 1 ################################	#Nome	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza,80,50,Valori_Vari::NOME)	#Nome - Valore	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+90,@altezza,100,50,$data_actors[$data_actors[id_pg].id].name)	#HP	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+20,50,50,Valori_Vari::HP)	#HP - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+65,@altezza+20,70,50,$game_actors[$data_actors[id_pg].id].hp.to_s,2)	#MP	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+40,50,50,Valori_Vari::MP)	#MP - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+65,@altezza+40,70,50,$game_actors[$data_actors[id_pg].id].sp.to_s,2)	#Livello	self.contents.font.bold = true	self.contents.draw_text(@sinistra_col1,@altezza+60,100,50,Valori_Vari::LIVELLO)	#Livello - Numero	self.contents.font.bold = false	self.contents.draw_text(@sinistra_col1+85,@altezza+60,50,50,$game_actors[$data_actors[id_pg].id].level.to_s,2)  endend  ########################## Inizializzazione Menù#########################class Cambia_Party  def initialize	#Inizializzo la variabile dei membri del party	@in_party=0	#Inizializzo il vettore contentente l'id del personaggio che è già nel party	@party=[nil,nil,nil,nil]	#Inizializzo la variabile di ok per l'aggiunta	@ok=0  end  def main	#Tolgo tutti i personaggi dal party	for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end   for i in 0...$game_party.actors.size	 $game_party.remove_actor($game_party.actors[i].id)   end 	#Creo le varie finestre e inizializzo la variabile di index	@pic = Sprite.new	@pic.bitmap = Bitmap.new("Graphics/Pictures/Ss_Party")	@win_nome=Nome_Finestra.new	@win_membri=Party_Attuale.new	@win_altri_pg=PG_Rimanenti.new	@win_status=Status_PG.new	@win_status.opacity = 0	@win_nome.opacity = 0	@win_membri.opacity = 0	@win_altri_pg.opacity = 0	@win_altri_pg.index = 0	@win_altri_pg.refresh 	#Effetto di transizione dalla schermata di scena alla schermata del menù	Graphics.transition	loop do	 Graphics.update	 Input.update	 update	 if $scene != self	   break	 end	end	#Cancellazione finestre	@pic.dispose	@win_nome.dispose	@win_membri.dispose	@win_altri_pg.dispose	@win_status.dispose  end  def update	#Aggiorno le finestre	@win_membri.update	@win_altri_pg.update	#Aggiorno la finestra di status del personaggio selezionato	#Se il tasto è il Cancel e il numero dei personaggi minimi è stato raggiunto	@win_status.refresh(@win_altri_pg.index+1)	#Se il tasto è il Cancel e il numero dei personaggi minimi è stato raggiunto	if Input.trigger?(Input::B) and @in_party>=Valori_Vari::NUM_PG_MIN	  $game_system.se_play($data_system.decision_se)	  #Cancella bitmap e...	  $scene = Scene_Map.new	elsif Input.trigger?(Input::B) and @in_party<=Valori_Vari::NUM_PG_MIN	  $game_system.se_play($data_system.buzzer_se)	#Altrimenti se è il tasto Ok e il numero dei personaggi aggunti è minore	#del massimo permesso	elsif Input.trigger?(Input::C) and @in_party<Valori_Vari::NUM_PG_MAX		$game_system.se_play($data_system.decision_se)	  #Controllo se è già presente nel party(per evitare i doppioni)	  for i in 0..4		if(@win_altri_pg.index == @party[i])		  @ok=0		  $game_system.se_play($data_system.buzzer_se)		  break		else		  @ok=1		end	  end	  #Quindi se è tutto ok aggiungo il personaggio alla schermata	  #sistemando le coordinate per lo sprite	  if @ok == 1		case @in_party		  when 0			@x = 0			@y = 80		  when 1			@x = 120			@y = 80		  when 2			@x = 240			@y = 80		  when 3			@x = 360			@y = 80		  end		  #Disegno il personaggio		  @win_membri.add_pg(@win_altri_pg.index+1,@x,@y)		  #Lo aggiungo nel party		  $game_party.add_actor(@win_altri_pg.index+1)		  #Lo aggiungo al vettore del party		  @party[@in_party] = @win_altri_pg.index		  #Aggiorno la variabile del numero dei personaggi nel party		  @in_party += 1	  end	end  endend

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

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