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:)
Question
Squall_Leonheart
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 endendCi sono ancora dei commenti che leverò una volta finito^^
Edited by Squall_LeonheartIscriviti 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
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