Jump to content
Rpg²S Forum

Belxebu

Utenti
  • Posts

    186
  • Joined

  • Last visited

Posts posted by Belxebu

  1. Mi servirebbe un altro lavoretto Pinna,un faceset fatto a regola d'arte del Fighter004 dell'RTP(che non lo faccia sembrare pero un guerriero ma un Imperatore[in stile FF ovvero imperatore malvagio semiguerriero semimago semidemone]).Che ne dici?
  2. i crediti li ho aggiustati(anche il bestiario nn funge)poi questa è una demo,ovviamente dopo migliorerò e raffinerò il tutto...comunque grazie dei tuoi commenti,mi saranno utilissimi ;)

    hai provato a trasformarti??Funziona???

  3. Alcuni minigiochi li puoi chiedere alla mia bottega(ma elementari e fattibbili a eventi).Poi se vuoi sempre nella bottega ci sono I miei lavori con un link che porta ad un topic dove spiego come installare il minigioco della monetina.Se per te va bene,puoi usarlo...
  4. Beh,questo è vero pero siccome lo script esiste...se si vuole fare un gioco in 1 persona si usa C++ al massimo combianto con altri programmi come Blender,Nif Skope e roba del genere(se si applica un buon motore e script giusti si puo arrivare a creare un editor come il CS di Oblivion...o se sembra esagerato il motore di Morrowind)
  5. Face Menu V.1.1

    Descrizione

    Permette di avere un menu con i face al posto dei chara(questa è una versione molto fixxata del precedente)

     

    Autore

    Io(Se mi creditate mettete Rinnegatamante[Nel Web mi chiamano così])

     

    Script

    #===========================================================================
    # - Face Menu V.1.1 By Rinnegatamante
    #-----------------------------------------------------------------------------
    #  Permette di avere nel menu Face al posto di Chara
    #===========================================================================
    
    class Window_Base < Window
     #--------------------------------------------------------------------------
     # - Inizializzazione dell'oggetto
     #	 x	  : Coordinate X della finestra
     #	 y	  : Coordinate Y della finestra
     #	 width  : Larhezza della finestra
     #	 height : Altezza della finestra
     #--------------------------------------------------------------------------
     def initialize(x, y, width, height)
    super()
    @windowskin_name = $game_system.windowskin_name
    self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    self.x = x
    self.y = y
    self.width = width
    self.height = height
    self.z = 100
     end
     #--------------------------------------------------------------------------
     # - Rilascia
     #--------------------------------------------------------------------------
     def dispose
    # Verrà rilasciato se il bitmap dei contenuti di una finestra
    # viene sistemato
    if self.contents != nil
      self.contents.dispose
    end
    super
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere
     #	 n : Numero del colore del carattere (0~7)
     #--------------------------------------------------------------------------
     def text_color(n)
    case n
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    else
      normal_color
    end
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere: Generale
     #--------------------------------------------------------------------------
     def normal_color
    return Color.new(255, 255, 255, 255)
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere: Invalidità
     #--------------------------------------------------------------------------
     def disabled_color
    return Color.new(255, 255, 255, 128)
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere: Sistema
     #--------------------------------------------------------------------------
     def system_color
    return Color.new(192, 224, 255, 255)
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere: Criticità
     #--------------------------------------------------------------------------
     def crisis_color
    return Color.new(255, 255, 64, 255)
     end
     #--------------------------------------------------------------------------
     # - Acquisizione del colore del carattere: Impossibilità
     #--------------------------------------------------------------------------
     def knockout_color
    return Color.new(255, 64, 0)
     end
     #--------------------------------------------------------------------------
     # - Aggiornamento frame
     #--------------------------------------------------------------------------
     def update
    super
    # Viene risistemato quando l'interfaccia grafica(skin) di una finestra
    # viene cambiato
    if $game_system.windowskin_name != @windowskin_name
      @windowskin_name = $game_system.windowskin_name
      self.contents.font.name = "Arial"
      self.contents.font.size = 24
      self.windowskin = RPG::Cache.windowskin(@windowskin_name)
    end
     end
     #--------------------------------------------------------------------------
     # - Disegna la grafica
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
    def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    cw = bitmap.width / 4
    ch = bitmap.height / 4
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
     end
     #--------------------------------------------------------------------------
     # - Disegna il face
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
    def draw_actor_face(actor, x, y)
    face = RPG::Cache.picture(actor.character_name + "_face")
    cw = face.width
    ch = face.height
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x , y - ch, face, src_rect)	
    end   
    
     #--------------------------------------------------------------------------
     # - Disegna il nome
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
     def draw_actor_name(actor, x, y)
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 120, 32, actor.name)
     end
     #--------------------------------------------------------------------------
     # - Disegna la classe
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
     def draw_actor_class(actor, x, y)
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 236, 32, actor.class_name)
     end
     #--------------------------------------------------------------------------
     # - Disegna il livello
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
     def draw_actor_level(actor, x, y)
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, "Lv")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
     end
     #--------------------------------------------------------------------------
     # - Creazione della sequenza dello stato del personaggio per il disegno
     #	 actor	   : Personaggio
     #	 width	   : Ampiezza del disegno
     #--------------------------------------------------------------------------
     def make_battler_state_text(battler, width, need_normal)
    # Viene acquisita l'ampiezza di una parentesi
    brackets_width = self.contents.text_size("[]").width
    # Viene creata la sequanza del carattere del nome dello stato
    text = ""
    for i in battler.states
      if $data_states[i].rating >= 1
    	if text == ""
    	  text = $data_states[i].name
    	else
    	  new_text = text + "/" + $data_states[i].name
    	  text_width = self.contents.text_size(new_text).width
    	  if text_width > width - brackets_width
    		break
    	  end
    	  text = new_text
    	end
      end
    end
    # Quando la sequanza del carattere del nome dello stato è vuota,
    # allora diviene "[Normale]"
    if text == ""
      if need_normal
    	text = "Normale"
      end
    else
      # Viene allegata una parentesi
      text = "[" + text + "]"
    end
    # Torna alla sequenza completata dei caratteri
    return text
     end
     #--------------------------------------------------------------------------
     # - Disegna lo stato
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #	 width : Ampiezza del disegno
     #--------------------------------------------------------------------------
     def draw_actor_state(actor, x, y)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    self.contents.draw_text(x , y, width, 32, text)
     end
     #--------------------------------------------------------------------------
     # - Disegna i punti EXP
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
     def draw_actor_exp(actor, x, y)
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 40, 32, "EXP")
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 40, y, 84, 32, actor.exp_s, 2)
    self.contents.draw_text(x + 124, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 136, y, 84, 32, actor.next_exp_s)
     end
     #--------------------------------------------------------------------------
     # - Disegna i punti HP
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #	 width : Ampiezza del disegno
     #--------------------------------------------------------------------------
     def draw_actor_hp(actor, x, y, width = 144)
    # Disegna la sequenza dei caratteri: "HP"
    self.contents.font.color = system_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    # Calcola se c'è qualche spazio che disegna i punti MaxHp
    if width - 32 >= 108
      hp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      hp_x = x + width - 48
      flag = false
    end
    # Disegna i punti HP
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
      self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    # Disegna i punti MaxHP
    if flag
      self.contents.font.color = normal_color
      self.contents.font.name = "Arial"
      self.contents.font.size = 24
      self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    end
     end
     #--------------------------------------------------------------------------
     # - Disegna i punti MP
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #	 width : Ampiezza del disegno
     #--------------------------------------------------------------------------
     def draw_actor_sp(actor, x, y, width = 144)
    # Disegna la sequenza dei caratteri: "MP"
    self.contents.font.color = system_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
    # Calcola se c'è qualche spazio che disegna i punti MaxMp
    if width - 32 >= 108
      sp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      sp_x = x + width - 48
      flag = false
    end
    # Disegna i punti MP
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
      self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    # Disegna i punti MaxMP
    if flag
      self.contents.font.color = normal_color
      self.contents.font.name = "Arial"
      self.contents.font.size = 24
      self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    end
     end
     #--------------------------------------------------------------------------
     # - Disegna un parametro
     #	 actor : Personaggio
     #	 x	 : Posizione del disegno: Coordinate X
     #	 y	 : Posizione del disegno: Coordinate Y
     #	 type  : Tipo di parametro (0~6)
     #--------------------------------------------------------------------------
     def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = $data_system.words.atk
      parameter_value = actor.atk
    when 1
      parameter_name = $data_system.words.pdef
      parameter_value = actor.pdef
    when 2
      parameter_name = $data_system.words.mdef
      parameter_value = actor.mdef
    when 3
      parameter_name = $data_system.words.str
      parameter_value = actor.str
    when 4
      parameter_name = $data_system.words.dex
      parameter_value = actor.dex
    when 5
      parameter_name = $data_system.words.agi
      parameter_value = actor.agi
    when 6
      parameter_name = $data_system.words.int
      parameter_value = actor.int
    end
    self.contents.font.color = system_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(x, y, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)
     end
     #--------------------------------------------------------------------------
     # - Disegna il nome di un oggetto
     #	 item : Oggetto
     #	 x	: Posizione del disegno: Coordinate X
     #	 y	: Posizione del disegno: Coordinate Y
     #--------------------------------------------------------------------------
     def draw_item_name(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = normal_color
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    self.contents.draw_text(x + 28, y, 212, 32, item.name)
     end
    end
    
    #==============================================================================
    # PARTE 2
    #==============================================================================
    
    class Window_MenuStatus < Window_Selectable
     #--------------------------------------------------------------------------
     # - Inizializzazione dell'oggetto
     #--------------------------------------------------------------------------
     def initialize
    super(0, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
     end
     #--------------------------------------------------------------------------
     # - Aggiornamento
     #--------------------------------------------------------------------------
     def refresh
    self.contents.clear
    self.contents.font.name = "Arial"
    self.contents.font.size = 24
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_face(actor, x - 60, y + 90)
      draw_actor_name(actor, x + 90, y)
      draw_actor_class(actor, x + 280, y)
      draw_actor_level(actor, x + 30, y + 32)
      draw_actor_state(actor, x + 120, y + 32)
      draw_actor_exp(actor, x + 30, y + 64)
      draw_actor_hp(actor, x + 236, y + 32)
      draw_actor_sp(actor, x + 236, y + 64)
    end
     end
     #--------------------------------------------------------------------------
     # - Aggiornamento del rettangolo del cursore
     #--------------------------------------------------------------------------
     def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
     end
    end

     

    Istruzioni per l'uso

    Create una nuova classe sopra main e chiamatela FaceMenu e metteteci lo script di qui sopra.In questa nuova versione si dovrà mettere delle immagini consigliate non di piu di 100x100 pixel(come potete vedere è aumentato,infatti ora non sovrascrive le lettere)chiamte con il nome del chara piu alla fine il suffisso "_face" quindi se avete un chara di nome Garland,il suo face si chiamerà Garland_face.I face vanno nella cartella Pictures.Buon divertimento!!!

     

    Screenshot

    http://img147.imageshack.us/img147/2728/facemenuao7.png

  6. Ho fixxato il problema per cui non potevi tornare indietro perche era un evento,basterà premere Q e si potrà tornare indietro(ovvero l'evento si unirà a voi e voi potrete tornare indietro senza che l'evento diventi un Fantasma e quindi trapassi gli oggetti).Postate commenti(E vi ricordo che è ad eventi e non uno script.Cerco di fare tutto quel che posso).

     

    Download Nuova Demo:

    http://rapidshare.com/files/87875999/Project5NEW.rar.html

  7. Alla N*1 per gli script clicca su Tools poi Scripts clicchi col destro su Main(la maggior parte delle volte) e fai Inserisci.Poi copi e incolli nel grande spiazzo bianco affianco,fai applica e Ok.Hai fatto!
  8. Tanto cercavano un Caterpillar System che non sia l'NPC che fa gli stessi passi dell'Eroe.Beh se avete pazienza potete usare il mio Caterpillar System completamente ad eventi!!!!

    Per chi non sapesse cos'è il Caterpilla System.E' quel sistema che permette ai tuoi NPC del gruppo di seguire l'eroe principale.

    GUIDA ALL'INSTALLAZIONE:

    Dovete copiare l'evento che ho messo nella Demo e poi ad ogni cambio mappa rifare quello della grafica del personaggio che segue con...INSOMMA copiate la seconda pagina dell'evento nella prima mappa XD.

     

    GUIDA ALL'UTILIZZO DELLA DEMO

    Parlate con il guerriero che c'è sulla mappa e lui si unirà al gruppo

    e ti inizierà a seguire,se entrerai nella tenda l'NPC ti continuerà a seguire.Ditemi che ne pensate(E considerate che è fatto ad eventi!)

     

    Download Demo:

     

    http://rapidshare.com/files/87645523/Project5.rar.html

  9. Beh,eccomi con un altro tutorial per fare una gran cosa con pochi eventi.Questa volta potremo trasformare il nostro Vampiro in un Pipistrello che avrà anche bonus e malus.

     

    Bonus Pipistrello:

    Venom e Veleno:Nuove Magie Disponibili

    500 MP +

     

    Malus Pipistrello

    Non può usare armi e armature(Beh è ovvio XD)

    50 HP -

     

    I Malus e Bonus li potete mettere voi tramite l'Evento Comune,quelli base per il resto Logica e basta ;)

     

    Per mettere questa cosa in un vostro progetto copiate l'evento comune e configuratelo secondo le vostre esigenze poi fate un evento che attivi la switch 1 e che renda la variabile che utilizzerete a 1 e poi basta.Avrete finito.Le trasformazioni saranno possibili

     

    Download Demo:

    http://rapidshare.com/files/87372981/Project4.rar.html

×
×
  • Create New...