Jump to content
Rpg²S Forum

GTOnizuka

Utenti
  • Posts

    3
  • Joined

  • Last visited

Posts posted by GTOnizuka

  1. Salve a tutti e mi scuso per la mia assenza in tutto questo periodo, dovuto un po' per inerzia personale, un po' per la scuola e un po' per la mia dedizione ad altre cose(come la creazione di una mia distribuzione di linux dove presto metterò su un sito web e se volete vi posterò tutti i link..se siete interessati vi posso creare una distribuzione orientata solo al RPGXP o VX, basta che mi forniate il materiale ecco ^^).

    Ad modo mi congratulo con "Sylaer" per aver modificato il mio script in quel modo, e (non so nemmeno se è il caso di dirlo...) vi autorizzo a modificare il mio scirpt in testa a questo topic(possibilmente lasciando il nome del suo creatore ed aggiungendo il nome di chi ci ha anche lavorato su come l'utente che ho nominato prima...) in modo tale da renderlo ufficiale, come risorsa veloce senza scrollare i vari reply =)

     

    Mi congratulo ancora con voi, se avrò tempo ad ogni modo riprendo il mio scirpt originale e provvederò ad aggiungerci tutte le modifiche che ho letto nei vari reply.

    A presto e grazie ancora per i complimenti(a chi me li ha fatti).

  2. A me piace assai come iniziativa e se c'è da me lo faccio più che volentieri :wink: andiamo a spakkare il culo agli anziani che stanno in parlamento, voglio gente nuova :dry: :tongue:
  3. Nome: Cambio Personaggi del Party
    Autore: GTOnizuka

    Codice:


    Spoiler

     

    ###############################################################################
    # 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_Vari
    HP = "HP:" #HP
    MP = "MP:" #MP
    NOME = "Nome:" #Nome
    LIVELLO = "Livello:" #Livello
    EXP_LVL_UP = "Exp Lvl Up:" #Esperienza al prossimo livello
    STR = "STR:" #Forza
    DEX = "DEX:" #Destrezza
    AGI = "AGI:" #Agilità
    INT = "INT:" #Intelligenza
    ATK = "ATK:" #Attacco
    PDEF = "PDEF:" #Difesa Fisica
    MDEF = "MDEF:" #Difesa Magica
    EVA = "EVA:" #Evasione
    TITOLO = "Cambio Party" #Titolo schermata
    FONT_TYPE = "Arial" #Font della schermata
    NUMERO_PG = 8 #Numero dei personaggi totali
    NUM_PG_MIN = 1 #Numero dei personaggi del party minimo...
    #...per uscire dalla schermata
    NUM_PG_MAX = 4 #Numero dei personaggi che si possono...
    #...inserire nella schermata
    end
    
    #################################
    # Ottengo lo sprite del battler
    #################################
    class Fig_PG < RPG::Sprite
    def initialize
    super()
    end
    def mostra_fig(id_pg,x,y)
    #Ottengo l'immagine
    @nome = $data_actors[id_pg].battler_name
    @tonalita = $data_actors[id_pg].battler_hue
    self.bitmap = RPG::Cache.battler(@nome, @tonalita)
    @width = bitmap.width
    @height = bitmap.height
    self.ox = @width / 2
    self.oy = @height
    #Setto l'opacità
    self.opacity = 255
    #Coordinate
    # Set sprite coordinates
    self.x = x
    self.y = y
    self.z = 100
    end
    def del_fig
    self.bitmap.dispose
    end
    end
    
    ###############################################
    # Creo il riquadro con scritto "Cambio Party"
    ###############################################
    class Nome_Finestra < Window_Base
    def 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)
    end
    end
    
    ################################################
    # Creo la schermata con i personaggi del party
    ################################################
    class Party_Attuale < Window_Base
    def initialize
    #Creo il riquadro
    super(0,71,160,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
    end
    def add_pg(id_pg,x,y)
    draw_actor_graphic($game_actors[id_pg],x,y)
    end
    end
    
    ##############################################
    # Creo la schermata con tutti i pg rimanenti
    ##############################################
    class PG_Rimanenti < Window_Selectable
    def initialize
    #Creo il riquadro
    super(161,71,476,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=20
    @y=55
    for i in 1..Valori_Vari::NUMERO_PG
    if (i==1)
    draw_actor_graphic($game_actors[i],@x,@y)
    elsif(i>=2 and i<=9)
    @x += 50
    draw_actor_graphic($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 * 50, 0, 40, 56)
    end
    end
    end
    
    #########################################################
    # Crea la schermata con tutti i dati del pg selezionato
    #########################################################
    class Status_PG < Window_Base
    def initialize
    #Creo il riquadro
    super(0,251,636,226)
    #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
    @pg_sprite=Fig_PG.new
    end
    def refresh(id_pg)
    self.contents.clear
    @altezza=0
    @sinistra_col1=200
    @sinistra_col2=400
    #Mostro la figura del pg
    @pg_sprite.mostra_fig($data_actors[id_pg].id,80,460)
    #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)
    #EXP Rimanente
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col1,@altezza+80,150,50,Valori_Vari::EXP_LVL_UP)
    #EXP Rimanente - Valore
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col1+50,@altezza+80,100,50,$data_actors[$data_actors[id_pg].id].exp_basis.to_s,2)
    ######################### COLONNA 2 ################################
    #Forza
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza,50,50,Valori_Vari::STR)
    #Forza - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza,100,50,$game_actors[$data_actors[id_pg].id].str.to_s,2)
    #Destrezza
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+20,50,50,Valori_Vari::DEX)
    #Destrezza - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+20,100,50,$game_actors[$data_actors[id_pg].id].dex.to_s,2)
    #Agilità
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+40,50,50,Valori_Vari::AGI)
    #Agilità - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+40,100,50,$game_actors[$data_actors[id_pg].id].agi.to_s,2)
    #Intelligenza
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+60,50,50,Valori_Vari::INT)
    #Intelligenza - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+60,100,50,$game_actors[$data_actors[id_pg].id].int.to_s,2)
    #Attacco
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+80,50,50,Valori_Vari::ATK)
    #Attacco - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+80,100,50,$game_actors[$data_actors[id_pg].id].atk.to_s,2)
    #Difesa Fisica
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+100,70,50,Valori_Vari::PDEF)
    #Difesa Fisica - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+100,100,50,$game_actors[$data_actors[id_pg].id].pdef.to_s,2)
    #Difesa Magica
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+120,70,50,Valori_Vari::MDEF)
    #Difesa Magica - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+120,100,50,$game_actors[$data_actors[id_pg].id].mdef.to_s,2)
    #Evasione
    self.contents.font.bold = true
    self.contents.draw_text(@sinistra_col2,@altezza+140,50,50,Valori_Vari::EVA)
    #Evasione - Numero
    self.contents.font.bold = false
    self.contents.draw_text(@sinistra_col2+15,@altezza+140,100,50,$game_actors[$data_actors[id_pg].id].eva.to_s,2)
    end
    def del_fig
    @pg_sprite.del_fig
    end
    end
    
    #########################
    # 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
    @win_nome=Nome_Finestra.new
    @win_membri=Party_Attuale.new
    @win_altri_pg=PG_Rimanenti.new
    @win_altri_pg.index = 0
    @win_altri_pg.refresh
    @win_status=Status_PG.new
    
    #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
    @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
    @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...
    @win_status.del_fig
    #..torna alla scena che ha chiamato questo menu
    $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 = 20
    @y = 55
    when 1
    @x = 100
    @y = 55
    when 2
    @x = 20
    @y = 130
    when 3
    @x = 100
    @y = 130
    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
    end
    end
    

     

     

     


    Screenshot:
    http://img522.imageshack.us/img522/2662/capturevn2.th.jpg

    Spero vi piaccia :)

×
×
  • Create New...