Jump to content
Rpg²S Forum

Alcadeias

Utenti
  • Posts

    22
  • Joined

  • Last visited

Posts posted by Alcadeias

  1. Mmmh semplice semplice...

    - mostra scelta

    -- caso pari

    ---- variabile casuale da 1 a 6

    ---- varie condizioni se con ognuna un numero e l'animazione del dado relativa!

    ---- variabile mod 2

    ---- condizione se variabile = 0

    ------ vinci tutto :D

    ---- else

    ------ perdi tutto D:

    ---- fine condizione

    -- caso dipari

    ---- variabile casuale da 1 a 6

    ---- varie condizioni se con ognuna un numero e l'animazione del dado relativa!

    ---- variabile mod 2

    ---- condizione se variabile = 1

    ------ vinci tutto :D

    ---- else

    ------ perdi tutto D:

    ---- fine condizione

    ^ ^

    "

    A che serve variabile mod 2???

  2. Allora raga. COme faccio a far si che quando l'eroe entri in una nuova mappa appaia il nome della mappa in alto a sinistra per qualche secondo e poi scompaia?? ho rpovato con un message ma l'eroe poi non si può muovere.
  3. Raga ora vi posto uno script grazie al quale posso mettere i faceset nei messaggi. PErò quando ad esempio appare un messaggio non è presente la scritta. Nache se scrivo un poema non appare nulla. Questo script l'ho messo una posizione sopra main e l'ho nominato "A caso" eheh. Cmq dov'è l'errore???
    #===================================================
    # ■ AMS - Advanced Message Script - R4 [Update #2]
    #===================================================
    # Per informazioni e aggiornamenti sullo script visitate:
    # www.dubealex.com (Creation Asylum)
    #
    # Modificato, aggiustato e migliorato da: Dubealex
    # Original Script Core by: XRXS Scripter (Jap Dudes)
    # HTML Hexadecimal color feature from: Phylomorphis
    #
    # Ringraziamenti:
    # Rabu: Per aver aggiunto l'opzione Mostra face
    #
    # Traduzione in italiano by Tio
    # Per più informazioni visitate www.rpgshrine.altervista.org
    # Per trovare gli ultimi aggiornamenti nello script cercate:  #NEW
    # Per configurare il bottone che fa saltare il dialogo cercare:  #SKIP_TEXT_CODE
    #
    # May 18, 2005
    #Cambiare temporaneamente il colore del testo(Default):
    #\c[IDcolore]
    #Inserite l'id del colore. Potete trovare tutti i colori disponibili nella classe Window_Base a partire dalla stringa 39. 0 sarebbe il bianco.
    #Cambia il colore del testo temporaneamente (con i colore dell'HTML):
    #\c[#000000]
    #Inserite un codice HTML all'interno della parentesi. Per esempio:
    #000000 = nero
    #FFFFFF = biaco
    #Mostra la finestra delle monete
    #\G
    #Mostra quante monete ha in possesso il giocatore in una finestra a parte.
    #Mostra il nome eroe
    #\n[HeroID]
    #Usate l'ID dell'eroe (lo trovate nel database da dove create i vostri personaggi) per far mostrare il nome dell'eroe nella finestra.
    #Mostra il nome del mostro
    #\m[MonsterID]
    #Inserite l'ID del mostro per mostrare il nome del mostro nel messaggi. Funzione aggiunta da DubeAlex.
    #Mostra il prezzo di un oggetto
    #\Price[ItemID]
    #Inserire l'ID dell'oggetto per mostrarne il prezzo nella finestra. Funzione aggiunta da DubeAlex.
    #Mostra il nome della mappa attuale:
    #\Map
    #Mostrerà il nome della mappa in cui vi trovate. Funzione aggiunta da DubeAlex.
    #Mostrare la faccia nella finestra dei messaggi
    #\f[NOMEFACCIA]
    #Sostituite NOMEFACCIA con il nome del file grafico che si deve trovare importato nella directory Graphics/Pictures del vostro progetto. Dev'essere un file .PNG di 96x96 pixel. Non è necessario scrivere l'estensione del file.
    #Mostra la classe di un personaggio
    #\Class[ClassID]
    #Usate ID del nome della classe dell'eroe per mostrare la classe dell'eroe nella finestra. Funzione aggiunta da DubeAlex.
    #Mostrare nomi di Variabili, oggetti, armi, armature e poteri
    #\v[xID]
    #Sostituite la X con una di queste opzioni:
    #Variable = Non scrivete niente, basta questo: \v[VariableID]
    #Items = i + itemID --> \v[iID]
    #Armors = a + armorID --> \v[aID]
    #Weapons = w + weaponID --> \v[wID]
    #Skills = s + skillID --> \v[sID]
    #Aggiungere finestra col nome
    #\Name[text]
    #Usate questo codice per mostrare una finestra sopra la finestra del messaggio contenente il nome di chi parla. Potete usare una variabile o altri comandi ocme "Mostra nome eroe" in questa finestra. Esempi:
    #\Name[\v[12]] --> Mostrerà il nome della variabile ID# 12 nella finestra del nome.
    #\Name[Dubealex] --> Mostrerà "Dubealex" nella finestra del nome.
    #\Name[\n[1]] --> Mostrerà il nome dell'eroe 1 nella finestra del nome.
    #Modificare l'opacità del testo:
    #\o[Opacity]
    #Inserite un numero fra 0 e 255 per cambiare l'opacità. 255 è completamente opaco e 0 è invisibile.
    #Modificare la velocità del testo
    #\s[Speed]
    #Per modificare la velocità dl testo scorrevole, inserite un numero fra 1 e 19 (1 + veloce, 19 + lento).
    #Modificare la grandezza del testo
    #\h[Size]
    #Inserite un numero fra 6 e 32 per cambiare la grandezza del testo. 6 è più piccolo e 32 più grande.
    #Mostra la finestra del messaggio sopra l'eroe o un evento
    #\p[Option]
    #Fa apparire la finestra del messaggio sopra un evento o l'eroe. Opzioni disponibili:
    #\p[Event ID]
    #\P[0]
    #\p[-1]
    #Using "\p[Event ID]" la finestra sarà sopra l'evento di cui scrivere l'ID.
    #Using "\p[0]" la finestra apparirà sopra l'eroe.
    #Using "\p[-1]" farà una finestra senza bordi e senza sfondo.
    #Pause nei messaggi
    #\| --> Pausa di un secondo
    #\. --> Pausa di 0,25 secondi
    #\~ --> Chiude la finestra appena appare questo comando (va inserito alla fine quindi)
    #\! --> Aspetta che il giocatore prema il tasto per andare avanti
    #\\ --> Mostra il carattere \
    #Settare ON-OFF il testo lettera per lettera:
    #\< --> Setta ON
    #\> --> Setta OFF
    #Cambiare il carattere nel messaggio:
    #\t[FontName]
    #FontName deve essere un .TTf nella cartella Windows/Fonts e deve essere caso sensitivo. Funzione aggiunta da DubeAlex.
    #Far iniziare un SE durante il messaggio(permanente):
    #\a[FileName]
    #Il file dev'essere importato in Sounds/SE
    #Per fermarlo usate il comando \a[]. Lasciate l'interno delle parentesi vuoto o la canzone suonerà all'infinito.
    #Attiva/Disattiva il tasto per saltare i dialoghi
    #\%
    #Comando che permette di non far saltare i dialoghi al giocatore (utile se si fanno dei testi a tempo con la musica). Per eliminare l'opzione dal gioco reinserire il comando. Funzione aggiunta da DubeAlex.
    #Modificare il colore del nome nella finestra del nome(permanente)
    #\z[ColorID]
    #Come l'altro comando per i colori, solo che cambia il nome nella finestra nel nome. Funzione aggiunta da DubeAlex.
    #Cambia il colore del testo nella finestra dei messaggi (permanente):
    #\Color[ColorID]
    #Come l'altro comando per i colori, solo che lo cambia permanentemente. Funzione aggiunta da DubeAlex.
    #===================================================
    
    LETTER_BY_LETTER_MODE = false #Setta la modalità di lettura lettera per lettera
    #(per toglierla modificare true in false)
    
    #===================================================
    # ▼ Inizio CLASSE AMS
    #===================================================
    class AMS
    
    attr_accessor :name_box_x_offset
    attr_accessor :name_box_y_offset
    attr_accessor :font_type
    attr_accessor :name_font_type
    attr_accessor :font_size
    attr_accessor :name_font_size
    attr_accessor :message_box_opacity
    attr_accessor :name_box_skin
    attr_accessor :name_box_text_color
    attr_accessor :message_box_text_color
    attr_accessor :message_box_skin
    attr_accessor :name_box_width
    attr_accessor :name_box_height
    attr_accessor :message_width
    attr_accessor :message_height
    attr_accessor :message_x
    attr_accessor :message_y_bottom
    attr_accessor :message_y_middle
    attr_accessor :message_y_top
    attr_accessor :event_message_x_ofset
    attr_accessor :event_message_y_ofset
    
    def initialize
    
    @name_box_x_offset = 0	   #Sceglie la posizione X della finestra col nome. Iniziale= 0
    @name_box_y_offset = -10	#Sceglie la posizione Y della finestra col nome. Iniziale= -10
    @name_box_width = 8		   #Sceglie la larghezza della finestra col nome. Iniziale= 8  
    @name_box_height = 26		#Sceglie l'altezza della finestra col nome. Iniziale= 26
    
    @font_type = "EPISODE I"		   #Sceglie il font per la finestra dei messaggi
    @name_font_type = "EPISODE I" #Sceglie il font per la finestra col nome
    @font_size = 26					  #Sceglie la grandezza del font nella finestra dei messaggi
    @name_font_size = 26			#Sceglie la grandezza del font per la finestra col nome
    @name_box_text_color=0		#Sceglie il colore del font per la finestra dei messaggi
    @message_box_text_color=0   #Sceglie il colore del font per la finestra col nome
    
    @message_box_opacity = 160			#Sceglie l'opacità della finestra dei messaggi.Iniziale=160
    @message_box_skin = "001-Blue01"   #Nome della Windowskin della finestra dei messaggi.
    @name_box_skin = "001-Blue01"	   #Nome della Windowskin della finestra col nome.
    
    @message_width = 480		  #Sceglie la larghezza della finestra dei messaggi. Iniziale=480
    @message_height = 160		 #Sceglie l'altezza della finestra dei messaggi. Iniziale=160
    @message_x = 80				  #Sceglie la posizione X della finestra dei messaggi. Iniziale=80
    @message_y_bottom = 304	#Sceglie la posizione Y della finestra a partire dal basso. Iniziale=304
    @message_y_middle = 160	#Sceglie la posizione Y della finestra a partire dall'alto. Iniziale=160
    @message_y_top = 16		   #Sceglie la posizione della finestra del nome in alto. Iniziale=16
    
    @event_message_x_ofset = 0   #Sceglie la posizione X della finestra orientata agli eventi. Iniziale=0
    @event_message_y_ofset = 48   #Sceglie la posizione Y della finestra orientata agli eventi. Iniziale=48
    
    end
    end
    #===================================================
    # ▲ Finisce CLASSE AMS
    #===================================================
    
    
    #===================================================
    # ▼ Inizia Classe Window_Message
    #===================================================
    class Window_Message < Window_Selectable  
    
    alias xrxs9_initialize initialize
    
    def initialize
    
    @alex_skip = false
    
    xrxs9_initialize
    
    if $soundname_on_speak == nil then
    $soundname_on_speak = ""
    end
    
    $gaiji_file = "./Graphics/Gaiji/sample.png"
    
    if FileTest.exist?($gaiji_file)
    @gaiji_cache = Bitmap.new($gaiji_file)
    else
    @gaigi_cache = nil
    end
    @opacity_text_buf = Bitmap.new(32, 32)
    end
    
    
    #--------------------------------------------------------------------------
    
    alias xrxs9_terminate_message terminate_message
    
    def terminate_message
    
    if @name_window_frame != nil
    @name_window_frame.dispose
    @name_window_frame = nil
    end
    
    if @name_window_text  != nil
    @name_window_text.dispose
    @name_window_text  = nil
    end
    xrxs9_terminate_message
    end
    
    #--------------------------------------------------------------------------
    
    def refresh
    
    self.contents.clear
    self.contents.font.color = text_color($ams.message_box_text_color)
    self.contents.font.name = $ams.font_type
    self.contents.font.size = $ams.font_size
    self.windowskin = RPG::Cache.windowskin($ams.message_box_skin)
    @x = @y = @max_x = @max_y = @indent = @lines = 0
    @face_indent = 0
    @opacity = 255
    @cursor_width = 0
    @write_speed = 0
    @write_wait = 0
    @mid_stop = false
    @face_file = nil
    @popchar = -2
    
    if $game_temp.choice_start == 0
    @x = 8
    end
    
    if $game_temp.message_text != nil
    @now_text = $game_temp.message_text
    if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
      @face_file = $1 + ".png"
      @x = @face_indent = 128
     if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
     end
     @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
    end
    
    begin
    last_text = @now_text.clone
    @now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
    end until @now_text == last_text
    @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
     $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    
    #NEW
    #Dubealex's Stop Skip Text ON-OFF
    @now_text.gsub!(/\\[%]/) { "\100" }
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Show Monster Name Feature
    @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
    $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
    end
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Show Item Price Feature
    @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
    $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
    end
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Show Hero Class Name Feature
    @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
    $data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : ""
    end
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Show Current Map Name Feature
    @now_text.gsub!(/\\[Mm]ap/) do
    $game_map.name	!= nil ? $game_map.name	: ""
    end
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Choose Name Box Text Color
    @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
    $ams.name_box_text_color=$1.to_i
    @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
    end
    #FIne nuovo comando
    
    name_window_set = false
    if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
     name_window_set = true
     name_text = $1
     @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
    end
    
    if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
     @popchar = $1.to_i
     if @popchar == -1
    @x = @indent = 48
    @y = 4
     end
     @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
    end
    
    @max_choice_x = 0
    if @popchar >= 0
     @text_save = @now_text.clone
     @max_x = 0
     @max_y = 4
     for i in 0..3
    line = @now_text.split(/\n/)[3-i]
    @max_y -= 1 if line == nil and @max_y <= 4-i
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    @max_x = cx if cx > @max_x
    if i >= $game_temp.choice_start
      @max_choice_x = cx if cx > @max_choice_x
    end
     end
     self.width = @max_x + 32 + @face_indent
     self.height = (@max_y - 1) * 32 + 64
     @max_choice_x -= 68
     @max_choice_x -= @face_indent*216/128
    else
     @max_x = self.width - 32 - @face_indent
     for i in 0..3
    line = @now_text.split(/\n/)[i]
    next if line == nil
    line.gsub!(/\\\w\[(\w+)\]/) { "" }
    cx = contents.text_size(line).width
    if i >= $game_temp.choice_start
      @max_choice_x = cx if cx > @max_choice_x
    end
     end
     @max_choice_x += 8
    end
    @cursor_width = 0
    @now_text.gsub!(/\\\\/) { "\000" }
    @now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
    @now_text.gsub!(/\\[Gg]/) { "\002" }
    @now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
    @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
    
    #NEW
    #Dubealex's Permanent Color Change
    @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
      $ams.message_box_text_color= $1.to_i
     @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
      end
    #Fine nuovo comando
    
    #NEW
    #Dubealex's Font Change Feature
     @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
      buftxt = $1.to_s
      $ams.font_type = buftxt
      @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
      end
    #Fine nuovo comando
    
    @now_text.gsub!(/\\[.]/) { "\005" }
    @now_text.gsub!(/\\[|]/) { "\006" }
    @now_text.gsub!(/\\[>]/) { "\016" }
    @now_text.gsub!(/\\[<]/) { "\017" }
    @now_text.gsub!(/\\[!]/) { "\020" }
    @now_text.gsub!(/\\[~]/) { "\021" }
    @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
    @now_text.gsub!(/\\[Ii]/) { "\023" }
    @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
    @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
    @now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
    @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
    
    reset_window
    
    if name_window_set
     color=$ams.name_box_text_color
     off_x =  $ams.name_box_x_offset
     off_y =  $ams.name_box_y_offset
     space = 2
     x = self.x + off_x - space / 2
     y = self.y + off_y - space / 2
     w = self.contents.text_size(name_text).width + $ams.name_box_width + space
     h = $ams.name_box_height + space
     @name_window_frame = Window_Frame.new(x, y, w, h)
     @name_window_frame.z = self.z + 1
     x = self.x + off_x + 4
     y = self.y + off_y
     @name_window_text  = Air_Text.new(x, y, name_text, color)
     @name_window_text.z = self.z + 2
    end
    end
    
    reset_window
    
    if $game_temp.choice_max > 0
    @item_max = $game_temp.choice_max
    self.active = true
    self.index = 0
    end
    
    if $game_temp.num_input_variable_id > 0
    digits_max = $game_temp.num_input_digits_max
    number = $game_variables[$game_temp.num_input_variable_id]
    @input_number_window = Window_InputNumber.new(digits_max)
    @input_number_window.number = number
    @input_number_window.x = self.x + 8
    @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    end
    
    #--------------------------------------------------------------------------
    
    def update
    
    super
    
    if @fade_in
    self.contents_opacity += 24
    if @input_number_window != nil
     @input_number_window.contents_opacity += 24
    end
    if self.contents_opacity == 255
     @fade_in = false
    end
    return
    end
    @now_text = nil if @now_text == ""
    
    if @now_text != nil and @mid_stop == false
    if @write_wait > 0
     @write_wait -= 1
     return
    end
    text_not_skip = LETTER_BY_LETTER_MODE
    while true
     @max_x = @x if @max_x < @x
     @max_y = @y if @max_y < @y
     if (c = @now_text.slice!(/./m)) != nil
    if c == "\000"
      c = "\\"
    end
      
    if c == "\001"
      @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
      temp_color = $1
      color = temp_color.to_i
      leading_x = temp_color.to_s.slice!(/./m)
      if leading_x == "#"
    	self.contents.font.color = hex_color(temp_color)
    	next
      end
      if color >= 0 and color <= 7
    	self.contents.font.color = text_color(color)
      end
      next
    end
    
    if c == "\002"
      if @gold_window == nil and @popchar <= 0
    	@gold_window = Window_Gold.new
    	@gold_window.x = 560 - @gold_window.width
    	if $game_temp.in_battle
    	  @gold_window.y = 192
    	else
    	  @gold_window.y = self.y >= 128 ? 32 : 384
    	end
    	@gold_window.opacity = self.opacity
    	@gold_window.back_opacity = self.back_opacity
      end
      c = ""
    end
    
    if c == "\003"
      @now_text.sub!(/\[([0-9]+)\]/, "")
      speed = $1.to_i
      if speed >= 0 and speed <= 19
    	@write_speed = speed
      end
      c = ""
    end
    
    if c == "\004"
      @now_text.sub!(/\[(.*?)\]/, "")
      buftxt = $1.dup.to_s
      if buftxt.match(/\//) == nil and buftxt != "" then
    	$soundname_on_speak = "Audio/SE/" + buftxt
      else
    	$soundname_on_speak = buftxt.dup
      end
      c = ""
    elsif c == "\004"
      c = ""
    end
      
    if c == "\005"
      @write_wait += 5
      c = ""
    end
      
    if c == "\006"
      @write_wait += 20
      c = ""
    end
      
    if c == "\016"
      text_not_skip = false
      c = ""
    end
      
    if c == "\017"
      text_not_skip = true
      c = ""
    end
      
    if c == "\020"
      @mid_stop = true
      c = ""
    end
      
    if c == "\021"
      terminate_message
      return
    end
      
    if c == "\023"
      @indent = @x
      c = ""
    end
    
    if c == "\024"
      @now_text.sub!(/\[([0-9]+)\]/, "")
      @opacity = $1.to_i
      color = self.contents.font.color
      self.contents.font.name = $ams.font_type
      self.contents.font.size = $ams.font_size
      self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
      c = ""
    end
    
    if c == "\025"
      @now_text.sub!(/\[([0-9]+)\]/, "")
      self.contents.font.size = [[$1.to_i, 6].max, 32].min
      c = ""
    end
    
    if c == "\026"
      @now_text.sub!(/\[([0-9]+)\]/, "")
      @x += $1.to_i
      c = ""
    end
      
    if c == "\027"
      @now_text.sub!(/\[(.*?)\]/, "")
      @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
      if $soundname_on_speak != ""
    	Audio.se_play($soundname_on_speak)
      end
    c = ""
    end
    
    if c == "\030"
      @now_text.sub!(/\[(.*?)\]/, "")
      self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
      if $soundname_on_speak != ""
    	Audio.se_play($soundname_on_speak)
      end
      @x += 24
      c = ""
    end
    
    if c == "\n"
      @lines += 1
      @y += 1
      @x = 0 + @indent + @face_indent
      if @lines >= $game_temp.choice_start
    	@x = 8 + @indent + @face_indent
    	@cursor_width = @max_choice_x
      end
      c = ""
    end
      
    if c == "\022"
      @now_text.sub!(/\[([0-9]+)\]/, "")
      @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
      c = ""
    end
      
    #NEW
    #Dubealex's Text Skip On/OFF Command
     if c == "\100"
    	if @alex_skip==false
    	   @alex_skip=true
    	else
    	  @alex_skip=false
    	end
       c = ""
     end  
     #Fine nuovo comando
    							 
    if c != ""
      self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
      @x += self.contents.text_size©.width
      if $soundname_on_speak != "" then
    	Audio.se_play($soundname_on_speak)
      end
    end
      
    #SKIP_TEXT_CODE
    
    # B = Esc, 0 (tastiera numerica), X
    # C = Invio, Barra spaziatrice e C
    # A = Shift, Z
    
    if Input.press?(Input::C) # <-- Cambia il valore in quella linea
     if @alex_skip==false	  
     text_not_skip = false
     end
    end
     else
    text_not_skip = true
    break
     end
    
     if text_not_skip
    break
     end
    end
    @write_wait += @write_speed
    return
    end
    
    if @input_number_window != nil
    @input_number_window.update
    if Input.trigger?(Input::C)
     $game_system.se_play($data_system.decision_se)
     $game_variables[$game_temp.num_input_variable_id] =
    @input_number_window.number
     $game_map.need_refresh = true
     @input_number_window.dispose
     @input_number_window = nil
     terminate_message
    end
    return
    end
    
    if @contents_showing
    if $game_temp.choice_max == 0
     self.pause = true
    end
    
    if Input.trigger?(Input::B)
     if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
    $game_system.se_play($data_system.cancel_se)
    $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
    terminate_message
     end
    end
    
    if Input.trigger?(Input::C)
     if $game_temp.choice_max > 0
    $game_system.se_play($data_system.decision_se)
    $game_temp.choice_proc.call(self.index)
     end
     if @mid_stop
    @mid_stop = false
    return
     else
    terminate_message
     end
    end
    return
    end
    
    if @fade_out == false and $game_temp.message_text != nil
    @contents_showing = true
    $game_temp.message_window_showing = true
    refresh
    Graphics.frame_reset
    self.visible = true
    self.contents_opacity = 0
    if @input_number_window != nil
     @input_number_window.contents_opacity = 0
    end
    @fade_in = true
    return
    end
    
    if self.visible
    @fade_out = true
    self.opacity -= 48
    if self.opacity == 0
     self.visible = false
     @fade_out = false
     $game_temp.message_window_showing = false
    end
    return
    end
    end
    
    #--------------------------------------------------------------------------
    
    def get_character(parameter)
    
    case parameter
    when 0  
    return $game_player
    else
    events = $game_map.events
    return events == nil ? nil : events[parameter]
    end
    end
    
    #--------------------------------------------------------------------------
    
    def reset_window
    
    #GRANDEZZA_MESSAGGIO
    #POSIZIONE_MESSAGGIO
    
    if @popchar >= 0
    events = $game_map.events
    if events != nil
     character = get_character(@popchar)
     x = [[character.screen_x -  $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min
     y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min
     self.x = x
     self.y = y
    end
    elsif @popchar == -1
    self.x = -4
    self.y = -4
    self.width = 648
    self.height = 488
    else
    if $game_temp.in_battle
     self.y = 16
    else
     case $game_system.message_position
     when 0  
    self.y = $ams.message_y_top
     when 1  
    self.y = $ams.message_y_middle
     when 2  
    self.y = $ams.message_y_bottom
     end
     self.x = $ams.message_x
     if @face_file == nil
    self.width = $ams.message_width
    self.x = $ams.message_x
     else
    if self.width <= 600
      self.width = 600
      self.x -=60
     end
     end
     self.height = $ams.message_height
    end
    end
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    self.contents.font.color = text_color($ams.message_box_text_color)
    self.contents.font.name = $ams.font_type
    self.contents.font.size = $ams.font_size
    if @face_file != nil
    self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    if @popchar == -1
    self.opacity = 255
    self.back_opacity = 0
    elsif $game_system.message_frame == 0
    self.opacity = 255
    self.back_opacity = $ams.message_box_opacity
    else
    self.opacity = 0
    self.back_opacity = $ams.message_box_opacity
    end
    end
    
    #--------------------------------------------------------------------------
    
    def gaiji_draw(x, y, num)
    
    if @gaiji_cache == nil
    return 0
    else
    if @gaiji_cache.width < num * 24
     return 0
    end
    
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
     size = 24
    else
     size = self.contents.font.size * 100 * 24 / 2200
    end
    
    self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))
    
    if $soundname_on_speak != "" then
     Audio.se_play($soundname_on_speak)
    end
    return size
    end
    end
    
    #--------------------------------------------------------------------------
    
    def line_height
    return 32
    
    if self.contents.font.size >= 20 and self.contents.font.size <= 24
    return 32
    else
    return self.contents.font.size * 15 / 10
    end
    end
    
    #--------------------------------------------------------------------------
    
    def ruby_draw_text(target, x, y, str,opacity)
    
    sizeback = target.font.size
    target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
    rubysize = [rubysize, 6].max
    opacity = [[opacity, 0].max, 255].min
    split_s = str.split(/,/)
    split_s[0] == nil ? split_s[0] = "" : nil
    split_s[1] == nil ? split_s[1] = "" : nil
    
    height = sizeback + rubysize
    width  = target.text_size(split_s[0]).width
    
    target.font.size = rubysize
    ruby_width = target.text_size(split_s[1]).width
    target.font.size = sizeback
    
    buf_width = [target.text_size(split_s[0]).width, ruby_width].max
    
    width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0
    
    if opacity == 255
    target.font.size = rubysize
    target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
    target.font.size = sizeback
    target.draw_text(x, y, width, target.font.size, split_s[0])
    return width
    else
    if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
     @opacity_text_buf.dispose
     @opacity_text_buf = Bitmap.new(buf_width, height)
    else
     @opacity_text_buf.clear
    end
    @opacity_text_buf.font.size = rubysize
    @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
    @opacity_text_buf.font.size = sizeback
    @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
    if sub_x >= 0
     target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    else
     target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
    end
    return width
    end
    end
    
    #--------------------------------------------------------------------------
    
    def convart_value(option, index)
    option == nil ? option = "" : nil
    option.downcase!
    
    case option
    when "i"
    unless $data_items[index].name == nil
     r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
    end
    when "w"
    unless $data_weapons[index].name == nil
     r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
    end
    when "a"
    unless $data_armors[index].name == nil
     r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
    end
    when "s"
    unless $data_skills[index].name == nil
     r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
    end
    else
    r = $game_variables[index]
    end
    
    r == nil ? r = "" : nil
    return r
    end
    
    #--------------------------------------------------------------------------
    
    def dispose
    terminate_message
    
    if @gaiji_cache != nil
    unless @gaiji_cache.disposed?
     @gaiji_cache.dispose
    end
    end
    
    unless @opacity_text_buf.disposed?
    @opacity_text_buf.dispose
    end
    
    $game_temp.message_window_showing = false
    if @input_number_window != nil
    @input_number_window.dispose
    end
    super
    end
    
    #--------------------------------------------------------------------------
    
    def update_cursor_rect
    if @index >= 0
    n = $game_temp.choice_start + @index
    self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
    else
    self.cursor_rect.empty
    end
    end
    end
    #=========================================
    # ▲ Finisce CLASSE Window_Message
    #=========================================
    
    
    #=========================================
    # ▼ Inizia Classe Window_Frame
    #=========================================
    class Window_Frame < Window_Base
    
    def initialize(x, y, width, height)
    super(x, y, width, height)
    self.windowskin = RPG::Cache.windowskin($ams.name_box_skin)
    self.contents = nil
    end
    
    #--------------------------------------------------------------------------
    
    def dispose
    super
    end
    end
    #=========================================
    # ▲ Esci CLASSE Window_Frame
    #=========================================
    
    
    #=========================================
    # ▼ Inizia aggiunte classe Game_Map
    #=========================================
    class Game_Map
    
    #Dubealex's Addition (from XRXS), mostra nome della mappa nel gioco
    def name
    $map_infos[@map_id]
    end
    end
    #=========================================
    # ▲ Finisce aggiunte classe Game_Map
    #=========================================
    
    
    #=========================================
    # ▼ Inizia aggiunte classe Scene_Title
    #=========================================
    class Scene_Title
    
    #Dubealex's Addition (from XRXS)  mostra nome della mappa nel gioco
    $map_infos = load_data("Data/MapInfos.rxdata")
    for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
    end
    
    #Dubealex's addition, salva i dati dei messaggi quando salvi il gioco
    $ams = AMS.new
    
    end
    #=========================================
    # ▲ Finisce aggiunte classe Scene_Title
    #=========================================
    
    
    #=========================================
    # ▼ Inizia aggiunte classe Window_Base
    #=========================================
    class Window_Base < Window
    
    #Dubealex Addition (from Phylomorphis) per usare i codici dei colori HTML
    def hex_color(string)
    red = 0
    green = 0
    blue = 0
    if string.size != 6
     print("Vengono usati sei carrateri.")
     print("Sarà usato il colore bianco per il testo.")
     return Color.new(255, 255, 255, 255)
    end
    for i in 1..6
     s = string.slice!(/./m)
     if s == "#"
    print("Potrebbe non essere prensete il carattere \"#\".")
    print("Sarà usato il colore bianco per il testo.")
    return Color.new(255, 255, 255, 255)
     end
     value = hex_convert(s)
     if value == -1
    print("Errore nel convertire il valore.")
    print("Sarà usato il colore bianco per il testo.")
    return Color.new(255, 255, 255, 255)
     end
     case i
     when 1
    red += value * 16
     when 2
    red += value
     when 3
    green += value * 16
     when 4
    green += value
     when 5
    blue += value * 16
     when 6
    blue += value
     end
    end
    return Color.new(red, green, blue, 255)
    end
    
    #--------------------------------------------------------------------------
    
    def hex_convert(character)
    case character
    when "0"
      return 0
    when "1"
      return 1
    when "2"
      return 2
    when "3"
      return 3
    when "4"
      return 4
    when "5"
      return 5
    when "6"
      return 6
    when "7"
      return 7
    when "8"
      return 8
    when "9"
      return 9
    when "A"
      return 10
    when "B"
      return 11
    when "C"
      return 12
    when "D"
      return 13
    when "E"
      return 14
    when "F"
      return 15
    end
    return -1
    end
    end
    #=========================================
    # ▲ Finisce aggiunte classe Window_Base
    #=========================================
    
    
    #=========================================
    # ▼ Inizia classe Air_Text
    #=========================================
    class Air_Text < Window_Base
    
    def initialize(x, y, designate_text, color=0)
    
    super(x-16, y-16, 32 + designate_text.size * 12, 56)
    self.opacity	  = 0
    self.back_opacity = 0
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    w = self.contents.width
    h = self.contents.height
    self.contents.font.name = $ams.name_font_type
    self.contents.font.size = $ams.name_font_size
    self.contents.font.color = text_color(color)
    self.contents.draw_text(0, 0, w, h, designate_text)
    end
    
    #--------------------------------------------------------------------------
    
    def dispose
    self.contents.clear
    super
    end
    end
    #==========================================
    # ▲ Finisce classe Air_Text
    #==========================================
    
    
    #===================================================
    # ▼ Inizia aggiunte classe Scene_Save
    #===================================================
    class Scene_Save < Scene_File
    
    alias ams_original_write_save_data write_save_data
    
    def write_save_data(file)
    ams_original_write_save_data(file)
    Marshal.dump($ams, file)
    end
    
    end
    #===================================================
    # ▲ Finisce aggiunte classe Scene_Save
    #===================================================
    
    
    #===================================================
    # ▼ Inizia aggiunte classe Scene_Load
    #===================================================
    class Scene_Load < Scene_File
    
    alias ams_original_read_save_data read_save_data
    
    def read_save_data(file)
    ams_original_read_save_data(file)
    $ams	  = Marshal.load(file)
    end
    
    end
    #===================================================
    # ▲ Finisce aggiunte classe Scene_Load
    #===================================================

  4. Allora raga io ho sto problema: non riesco a far in modo che ogni volta che uccido un gruppo di nemici mi vengano rilasciate un certo tot di anime pari al numro di nemici presenti al gruppo. Le anime xò non sono oggetti quindi non utilizzerò la funzione drop item(che tatno non funzionerebbe cmq). Praticamente ho creato una variabile chiamata anime assorbite e un oggetto che ogni volta che lo utilizzo mi avvisa di quante anime ho assorbito. Io vorrei appunto che ogni volta che uccido un gruppo di nemici mi aumentasse la variaible anime assorbite. Spero di essere stato chiaro XD.
  5. Allora raga mi servirebbe uno script che aggiunge altri menù in battaglia oltre ad attacca,difendi ecc.

    Ho già provato a cercare ma niente. MI sapreste aiutare voi????? Ne dovrei creare solo 3 (tecniche dell'anima,di spada e della magia.) E poi come si fa a mettere una determinata skill sotto in un determinato menù???? Grazie raga.

    P.S. con gli script sono una frana EHEHEH

  6. Nessun problema perchè proprio ora sono riuscito a risolvere. Allora sono risucito ad aggiunere una quarta posa.

    Poi il problema era che quando cliccavo con la freccetta su andava su ma era rivolto in un altro senso. Mi è bastato invertire le file e sono riuscito a risolvere. Scusate il disturbo XD

  7. Allora raga mi servirebbe una battle graphic di un personaggio che abbia in mano questa spada:http://www.wowtcgdb.com/carddetail.aspx?id=2065. Dato che io e la grafica siamo due cose diverse(infatti sono più portato per lo sviluppo della trama o cavolate varie che non hanno a che fare con la grafica XD) c'è qualche buon anima che voglia ritagliare questa spada e assegnara a una battlegraphic di un personaggio???? Se si può cambiare la posizione della spada sarebbe perfetto sennò mi accontento. Grazie raga :D :sisi:

    P.S. Forse ho sbagliato l'icona del messaggio. Se è cosi chiedo umilmente perdono :rovatfl:

  8. Benvenuto! ^ ^

     

    Curioso... Soul Eater l'anime/manga? ^ ^

    Qui abbiamo un mod di nick Soul Eater! XD

    ^ ^

    NO non riguarda l'anime/manga :D. Praticamente parla di un ragazzo che possiede un arma capace di assorbire le anime. Dopo un certo tot di anime raccolte l'arma si potenzia. Questa idea l'ho presa dal manga. Infatti l'arma è anche capace di parlare ma non assume sembianze umane.

    Benvenuto! ^^

    Hai già iniziato a sviluppare le tue abilità in qualcosa di particolare (mapping, eventing, scripting, storyboarding ecc...)?

    Purtroppo nella mia città sono quasi assenti ragazzi che vogliono sviluppare un videogame. Quindi il team sarà composto solo da me. E non conoscendo lo scripting(anche se sto cercando di imparare) ed essendo da solo il gioco non sarà ai livelli di oromis'tale.
  9. Ciao a tutti sono Alcadeias e mi sono avventurato nel mondo di rpg maker xp gia da 3 settimane. HO un progetto in corso chiamato soul eater. Spero di aggregarmi bene nella vostra comunità e di dare e/o ricevere aiuti. :rovatfl:
×
×
  • Create New...