.::Fantasy RPG::.
Melhor que jogar um jogo, é fazer um!
FAQPortalInícioÁlbumBuscarRegistrar-seLoginCalendário
 

[Script] AMS - Face nos Dialogos.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Maikon
Admin Senior
Admin Senior


Sexo:Masculino
Registrado dia : 28 Out 2007
Mensagens : 265
Maker Usado : Rpg Maker XP
Classe de Batalha : 
Cidadão
Warn: : http://i162.photobucket.com/albums/t249/felipemasterx/barra1.png

 
Fg$ Fg$: 1000

MensagemAssunto: [Script] AMS - Face nos Dialogos.   Dom Dez 30, 2007 4:20 pm

1- coloque a imagem com a face do Personagem na pasta Pictures.
2- coloque o script.
3- o escrever uma mensagem coloque \f[face]. onde [face] seria (o nome da face que esta na pasta pictures).

Exemplo, a imagem se chama Maicon, voce colocaria \f[Maicon], e o Dialogo.


Código:
#====================================================
# AMS - Advanced Message Script - R4 [Atualização #2]
#====================================================
# Para maiores informações e atualizações, visite:
# [url=http://www.dubealex.com/]www.dubealex.com[/url] (Creation Asylum - Site Oficial)
# [url=http://www.castelorpg.net/]www.castelorpg.net[/url] (Castelo RPG - Tradução Oficial)
#
# Editado, Corrigido e Melhorado por: Dubealex
# Script Original por: XRXS Scripter (Um cara japa ^^)
# Códigos de Cor Hexadecimal (HTML) por: Phylomorphis
# Traduzido por: Desert Eagle
#
# Agradecimentos:
# Rabu: Por ativar a função de exibição de face num
#      projeto encriptado
#
# Para ver as novas funções, procure por:  #NOVO
# Para definir qual botão pula a caixa de texto,
# procure por:  #PULAR_TEXTO
#
# 18 de Maio de 2005
#====================================================

# Aqui você pode ativar ou desativar o modo de escrita
# letra por letra. Defina-o como true para ativar o modo
# Defina-o como false para desativar o modo.

LETTER_BY_LETTER_MODE = true

#===================================================
# Início da 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      # Definição da coordenada X da caixa de nome > Padrão = 0
@name_box_y_offset = -10    # Definição da coordenada Y da caixa de nome > Padrão = -10
@name_box_width = 8          # Definição da largura da caixa de nome > Padrão = 8 
@name_box_height = 26        # Definição da altura da caixa de nome > Padrão = 26

@font_type = "Tahoma"          # Definição da fonte da caixa de mensagens (Case-Sensitive)
@name_font_type = "Tahoma" # Definição da fonte da caixa de nome (Case-Sensitive)
@font_size = 22                      # Definição do tamanho da fonte da caixa de mensagens
@name_font_size = 22            # Definição do tamanho da fonte da caixa de nome
@name_box_text_color=0        # Definição da cor do texto da caixa de nome
@message_box_text_color=0  # Definição da cor do texto da caixa de mensagens

@message_box_opacity = 160            # Definição da opacidade da caixa de mensagens > Padrão = 160
@message_box_skin = "001-Blue01"  # Definição da WindowSkin da caixa de mensagens
@name_box_skin = "001-Blue01"      # Definição da WindowSkin da caixa de nome

@message_width = 480          # Definição da largura da caixa de mensagens > Padrão = 480
@message_height = 160        # Definição da altura da caixa de mensagens > Padrão = 160
@message_x = 80                  # Definição da posição X da caixa de mensagens > Padrão = 80
@message_y_bottom = 304    # Definição da posição inferior Y da caixa de mensagens > Padrão = 304
@message_y_middle = 160    # Definição da posição central Y da caixa de mensagens > Padrão = 160
@message_y_top = 16          # Definição da posição superior Y da caixa de mensagens > Padrão = 16

@event_message_x_ofset = 0  # Definição da coordenada X da caixa de eventos > Padrão = 0
@event_message_y_ofset = 48  # Definição da coordenada Y da caixa de eventos > Padrão = 48

end
end

#===================================================
# Fim da Classe AMS
#===================================================


#===================================================
# Início da 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

# NOVO
# Parar Pulo de Texto (Ligar-Desligar)

@now_text.gsub!(/\\[%]/) { "\100" }

# Fim do novo comando

# NOVO
# Mostrar Nome do Inimigo

 @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
 $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
 end

# Fim do novo comando

# NOVO
# Mostrar Preço do Item

 @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
 $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
 end

# Fim do novo comando

# NOVO
# Mostrar Nome da Classe do Herói

 @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

# Fim do novo comando

# NOVO
# Mostrar Nome do Mapa Atual

 @now_text.gsub!(/\\[Mm]ap/) do
 $game_map.name    != nil ? $game_map.name    : ""
 end

# Fim do novo comando

# NOVO
# Escolher Cor da Caixa de Nome

 @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
 $ams.name_box_text_color=$1.to_i
 @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
 end

 # Fim do novo 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}]" }

 # NOVO
 # Mudança da Cor Permanente
 
 @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
  $ams.message_box_text_color= $1.to_i
  @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
 end

 # Fim do novo comando

 # NOVO
 # Mudar Fonte
 
  @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
  buftxt = $1.to_s
  $ams.font_type = buftxt
  @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
  end
 
 # Fim do novo 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
Voltar ao Topo Ir em baixo
Ap0calipse
Valete
Valete


Sexo:Masculino
Registrado dia : 15 Jun 2008
Mensagens : 1
Classe de Batalha : 
Cidadão
Warn: : http://i162.photobucket.com/albums/t249/felipemasterx/barra1.png

 
Fg$ Fg$: 0

MensagemAssunto: Re: [Script] AMS - Face nos Dialogos.   Dom Jun 15, 2008 12:40 pm

o script ta dando erro
Voltar ao Topo Ir em baixo
YuYu
Moderador Global
Moderador Global


Sexo:MasculinoSagitárioCachorro
Idade : 13
Registrado dia : 18 Mar 2008
Mensagens : 106
Estado: : Lisboa
Maker Usado : Rpg Maker XP
Classe de Batalha : 
Cidadão
Warn: : http://i162.photobucket.com/albums/t249/felipemasterx/barra1.png

 
Fg$ Fg$: 212

MensagemAssunto: Re: [Script] AMS - Face nos Dialogos.   Qua Jun 18, 2008 5:45 pm

Olha, se vc está usando a versão do Desert Eagle, vá no editor de scripts, e lá enbaixo clica em "Ajuda" depois procura e encontra alguns scripts como por exemplo:

Ring Menu
AMS
Loja Nova

Boa sorte
Atenciosamente YuYu
_________________
Yo, Ya, Man, Ya Ya, Pois Pois, Certo, AiAi, Lol, loooool, LolLol
Se não me entenderem digam, sou de Portugal!!!
Voltar ao Topo Ir em baixo

[Script] AMS - Face nos Dialogos.

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
.::Fantasy RPG::. :: RPG Maker :: RPG Maker XP :: Scripts RGSS-