Battle Maker

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte para criação de Jogos


2 participantes

    __[Pedido]___

    jiraya
    jiraya
    Administrador
    Administrador


    Mensagens : 1299
    Credibilidade : 54

    __[Pedido]___  Empty __[Pedido]___

    Mensagem por jiraya Qui Jul 14, 2011 11:04 pm

    Olá membros eu to com um pequeno problema vai parecer simples mais faz tempo que eu não mecho que até esqueci como faz isso que vou pedir .


    Estou com um projeto e nele eu preciso que aconteça um dialogo sem que tenha que clicar em enter pra continuar ...

    Exemplo : se inicia o Texto: n]lkjahguigrgjkngruitbknbbitbtibknib ] ai é nescessario clicar enter pra ir pra proximo texto.

    eu eu precisava que fosse automatico a passagem de um texto pro outro entenderam ...

    Alguém pode me ajudar?...
    Madara
    Madara
    Programador
    Programador


    Mensagens : 285
    Credibilidade : 17

    __[Pedido]___  Empty Re: __[Pedido]___

    Mensagem por Madara Sex Jul 15, 2011 12:14 am

    Ai Jiraya é até facil, axei esse Script de AMS = Advanced Message Script na net.

    Ele tem varias outras funcões, no seu caso é só vc colocar "\~" antes ou depois da ultima palavra da mensagem que ela vai pular automaticamente para a proxima.
    Outras Instruções Aqui:




    Script:
    Código:
    #====================================================
    # AMS - Advanced Message Script - R4 [Atualização #2]
    #====================================================
    # Para maiores informações e atualizações, visite:
    # [url=http://www.dubealex.com][Tens de ter uma conta e sessão iniciada para poderes visualizar este link] (Creation Asylum - Site Oficial)
    # [url=http://www.castelorpg.net][Tens de ter uma conta e sessão iniciada para poderes visualizar este link] (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
    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

    # NOVO
    # Pular Texto (Ligar-Desligar)

    if c == "\100"
    if @alex_skip==false
    @alex_skip=true
    else
    @alex_skip=false
    end
    c = ""
    end

    # Fim do Novo Comando

    if c != ""
    self.contents.draw_text([email=0 @x]0 @x[/email], 32 * @y, 40, 32, c)
    @x = self.contents.text_size(c).width
    if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
    end
    end

    # PULAR_TEXTO
    # -----------
    #
    # Aqui você configura qual tecla pulará a caixa de mensagens
    # Mude o valor da linha 572, como indicado
    #
    # B = Esc, 0 (Teclado Numérico), X
    # C = Enter, Barra de Espaço e C
    # A = Shift, Z
    if Input.press?(Input::C) # <-- Mude o valor desta linha
    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
    #MESSAGE_SIZE
    #MESSAGE_POSITION
    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
    #=========================================
    # Fim da Classe Window_Message
    #=========================================

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

    #===============================================
    # Início do Código Adicional da Classe Game_Map
    #===============================================
    class Game_Map
    # Modificação por Dubealex (do original XRXS) para
    # mostrar o nome do mapa atual na tela
    def name
    $map_infos[@map_id]
    end
    end
    #============================================
    # Fim do Código Adicional da Classe Game_Map
    #============================================

    #==================================================
    # Início do Código Adicional da Classe Scene_Title
    #==================================================
    class Scene_Title
    # Modificação por Dubealex (do original XRXS) para
    # mostrar o nome do mapa atual na tela
    $map_infos = load_data("Data/MapInfos.rxdata")
    for key in $map_infos.keys
    $map_infos[key] = $map_infos[key].name
    end
    # Modificação por Dubealex para salvar as informações
    # do AMS nos arquivos de save
    $ams = AMS.new
    end
    #===============================================
    # Fim do Código Adicional da Classe Scene_Title
    #===============================================

    #==================================================
    # Início do Código Adicional da Classe Window_Base
    #==================================================
    class Window_Base < Window
    # Modificação por Dubealex (do original Phylomorphis)
    # para usar códigos hexadecimais de cor (HTML)
    def hex_color(string)
    red = 0
    green = 0
    blue = 0
    if string.size != 6
    print("Strings hexadecimais devem ter no máximo 6 caracteres.")
    print("A cor branca será utilizada.")
    return Color.new(255, 255, 255, 255)
    end
    for i in 1..6
    s = string.slice!(/./m)
    if s == "#"
    print("trings hexadecimais devem conter o caractere "#".")
    print("A cor branca será utilizada.")
    return Color.new(255, 255, 255, 255)
    end
    value = hex_convert(s)
    if value == -1
    print("Erro convertendo valor hexadecimal.")
    print("A cor branca será utilizada.")
    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
    #===============================================
    # Fim do Código Adicional da Classe Window_Base
    #===============================================

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

    #===================================================
    # Início do Código Adicional da 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
    #===================================================
    # Fim do Código Adicional da Classe Scene_Save
    #===================================================

    #===================================================
    # Início do Código Adicional da 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
    #===================================================
    # Fim do Código Adicional da Classe Scene_Load
    #===================================================







    Créditos no Script.
    jiraya
    jiraya
    Administrador
    Administrador


    Mensagens : 1299
    Credibilidade : 54

    __[Pedido]___  Empty Re: __[Pedido]___

    Mensagem por jiraya Sex Jul 15, 2011 5:17 pm

    Muito obrigado ! Mais não deu certo não da erro na linha 135 setivesse uma demo seria mais facil...

    Conteúdo patrocinado


    __[Pedido]___  Empty Re: __[Pedido]___

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Nov 28, 2024 2:26 am