¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 [RPG Maker Ace] Lune Add-on para Mensajes el Jue Ago 23, 2012 5:09 pm

Razor

avatar
Autor: Raizen
Versión: 1.0
Descripción: Este script adiciona comandos al sistema de mensajes default del RPG Maker Ace.


Características



  • Plug 'n' Play
  • Fácil uso


Instrucciones



  • Coloque el script arriba de Main y abajo de cualquier otro script de mensajes.
  • El script esta en portugués pero traduje lo esencial [configuraciones en el modulo].


Script



Código:

module Lune_Message_Add
#=======================================================
#        Lune Message Add-ons
# Autor: Raizen
# Compativel com: RMVXAce
# El script permite caracteres especiales y adiciona nuevas
# funciones a los scripts de mensajes, compatible con la mayoría
# de los scripts de mensajes que alteran solo la apariencia y no sus
# caracteres.
# Mantén este script abajo del script de mensajes que este utilizando
# y arriba de main
#========================================================
#========================================================
# Configuraciones iniciales.
# Aquí será configurado lo que sera el patrón en todas las ventanas.
# Recuerda que (sí = true, no = false)

# Font default
Lune_Default_Font = "Comic Sans MS"
# Si la font tendrá un contorno
Lune_Default_Outline = true
# Si la font tendrá sombra
Lune_Default_Shadow = false
# Si la font sera cursiva por defecto.
Lune_Default_Italic = false
# Si la font sera gruesa por defecto.
Lune_Default_Bold = false
# Tamaño de la font por defecto.
Font.default_size = 24

#==========================================================
# Configuraciones de mensajes, ¡Solo afectara los mensajes!

Windowskin = "Window"
=begin
#==========================================================
 Códigos de mensaje.

 Estos códigos están presentes incluso en la ausencia de este script.
 X es la variable

\v[x]      =>  Escribe el valor de la variable x
\i[x]      => Muestra el icono con nombre x
\n[x]      =>  Escribe el nombre del personaje en la base de datos con ID x
\p[x]      =>  Escribe el nombre del personaje en el equipo con ID x
\c[x]      =>  Cambia el color de la fuente en los mensajes
\{          =>  Aumenta el tamaño de la fuente
\}          =>  Disminuye el tamaño de la fuente
\.          =>  Esperar 15 frames
\|          =>  Esperar 60 frames
\!          =>  Esperar la tecla.
\^          =>  Mensaje automático, no espera la tecla.
#==========================================================
#==========================================================
# Códigos adicionados por el script.
 
\fb        =>  gruesa = true
\nob        =>  gruesa = false
\fi        =>  cursiva = true
\noi        =>  cursiva = false
\fo        =>  contorno = true
\noo        =>  contorno = false
\fhs        =>  sombra = true
\nos        =>  sombra = false
\fs[x]      =>  tamaño de la font = x
\fn[x]      =>  nombre de la font = x
\hc[x][y][z]=>  Cambia el color de la font (R,G,B) R = x, G = y, B = z
\w[x]      =>  Espera x frames
 
\ne[x]      =>  Nombre de la clase con ID x
\ie[x]      =>  Icono más el nombre de la clase con ID x
\ns[x]      =>  Nombre de la habilidad con ID x
\is[x]      =>  Icono más el nombre de la habilidad con ID x
\ni[x]      =>  Nombre del objeto con ID x
\ii[x]      =>  Icono más el nombre del objeto con ID x
\nw[x]      =>  Nombre del arma con ID x
\iw[x]      => Icono más el nombre del arma con ID x
\na[x]      =>  Nombre de la armadura con ID x
\ia[x]      =>  Icono más el nombre de la armadura con ID x

=end
end

#==========================================================
# Inicio do script.
#==========================================================
# Reescreve os métodos.
# convert_escape_characters    =>  Window_Message
#==========================================================
# Alias dos métodos
# draw_text                    =>  Window_Base
# initialize                  =>  Window_Message
# open_and_wait                =>  Window_Message
# close_and_wait              =>  Window_Message
# process_escape_character    =>  Window_Base
#==========================================================
# Novos métodos
# actor_info                  =>  Window_Base
# lune_basic_configs          =>  Window_Message
# open_and_wait                =>  Window_Message
# close_and_wait              =>  Window_Message
# process_escape_character    =>  Window_Base
#==========================================================



class Lune_Window_Message < Window_Base
  alias lune_initialize_mes initialize
  def initialize(x, y, width, height)
    lune_initialize_mes(x, y, width, height)
    self.windowskin = Cache.system(Lune_Message_Add::Windowskin)
  end
end

class Window_Message < Window_Base
alias lune_initialize_mes initialize
alias lune_process_allt open_and_wait
alias lune_process_allc close_and_wait
  def initialize
    lune_initialize_mes
    self.windowskin = Cache.system(Lune_Message_Add::Windowskin)
  end
  def open_and_wait   
    @lune_face.windowskin = Cache.system(Lune_Message_Add::Windowskin) unless @lune_face.nil?
    lune_process_allt
  end
  def close_and_wait
    lune_process_allc
    @lune_face = nil
  end
end



class Window_Base < Window
alias lune_process_escape_character process_escape_character
alias lune_mes_initialize draw_text
  def process_escape_character(code, text, pos)
    lune_process_escape_character(code, text, pos)
    case code.upcase
      when 'FB'
        contents.font.bold = true
      when 'FI'
        contents.font.italic = true     
      when 'FO'
        contents.font.outline = true
      when 'FHS'
        contents.font.shadow = true 
      when 'NOB'
        contents.font.bold = false
      when 'NOO'
        contents.font.outline = false
      when 'NOI'
        contents.font.italic = false
      when 'NOS'
        contents.font.shadow = false
      when 'FS'
        contents.font.size = obtain_escape_param(text)
      when 'HC'
        change_color(Color.new(obtain_escape_param(text),obtain_escape_param(text),obtain_escape_param(text)))
      when 'W'
        wait(obtain_escape_param(text))
      when 'FN'
        text.sub!(/\[(.*?)\]/, "")
        contents.font.name = $1.to_s
      end
    end

  def convert_escape_characters(text)
    result = text.to_s.clone
    result.gsub!(/\\/)            { "\e" }
    result.gsub!(/\e\e/)          { "\\" }
    result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
    result.gsub!(/\eV\[(\d+)\]/i) { $game_variables[$1.to_i] }
    result.gsub!(/\eN\[(\d+)\]/i) { actor_name($1.to_i) }
    result.gsub!(/\eP\[(\d+)\]/i) { party_member_name($1.to_i) }
    result.gsub!(/\eG/i)          { Vocab::currency_unit }
   
    result.gsub!(/\eIE\[(\d+)\]/i) { actor_info($1.to_i, 1) }
    result.gsub!(/\eIS\[(\d+)\]/i) { actor_info($1.to_i, 2) }
    result.gsub!(/\eII\[(\d+)\]/i) { actor_info($1.to_i, 3) }
    result.gsub!(/\eIW\[(\d+)\]/i) { actor_info($1.to_i, 4) }
    result.gsub!(/\eIA\[(\d+)\]/i) { actor_info($1.to_i, 5) }   

   
    result.gsub!(/\eNE\[(\d+)\]/i) { $data_states[$1.to_i] }
    result.gsub!(/\eNS\[(\d+)\]/i) { $data_skills[$1.to_i] }
    result.gsub!(/\eNI\[(\d+)\]/i) { $data_items[$1.to_i] }
    result.gsub!(/\eNW\[(\d+)\]/i) { $data_weapons[$1.to_i] }
    result.gsub!(/\eNA\[(\d+)\]/i) { $data_armors[$1.to_i] }   
    result
  end
  def actor_info(n, z)
    case z
    when 1
      name = $data_states[n].name
      icon = $data_states[n].icon_index
    when 2
      name = $data_skills[n].name
      icon = $data_skills[n].icon_index
    when 3
      name = $data_items[n].name
      icon = $data_items[n].icon_index
    when 4
      name = $data_weapons[n].name
      icon = $data_weapons[n].icon_index
    when 5
      name = $data_armors[n].name
      icon = $data_armors[n].icon_index
    end
    text = "\eI[#{icon}]" + name
  end
  def draw_text(*args)
    lune_basic_configs
    lune_mes_initialize(*args)
  end
  def lune_basic_configs
    return if @get_lune_configs
    @get_lune_configs = true
    self.contents.font.name = Lune_Message_Add::Lune_Default_Font
    self.contents.font.outline = Lune_Message_Add::Lune_Default_Font
    self.contents.font.shadow = Lune_Message_Add::Lune_Default_Shadow 
    self.contents.font.italic = Lune_Message_Add::Lune_Default_Italic
    self.contents.font.bold = Lune_Message_Add::Lune_Default_Bold
  end
end

Un Saludo
Out.-





Todos mis aportes por Mediafire tienen contraseña, esa es: www.universomaker.net
Esto es para evitar plagio, asegúrense de copiar y pegar la contraseña.

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.