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

Ir para baixo
Jhonn
Jhonn
Novo Membro
Novo Membro
Masculino Mensagens : 114
Reputação : 48

[RMVX] Anotações Empty [RMVX] Anotações

Qua Jul 14, 2010 5:54 pm
Anotações
por DarkChocobo

Introdução
Esse script cria uma janela em que o herói poderá ver certos textos editados por você. Você pode criar desde uma lista de objetivos no jogo para o jogador fazer, até uma simples e comum lista de compras.

Funções

  • Você pode fazer com que um ícone diferente apareça para cada texto da lista
  • Você pode mudar a cor de cada um dos textos para que o(s) mesmo(s) fique(m) em destaque.
  • Você pode configurar um texto para aparecer somente após a ativação de uma switch ou após uma variável ter um valor específico, ou até ambos switches e variáveis terem valores específicos.
  • Você pode alterar os textos e as cores dos mesmos ao decorrer do jogo, de acordo com a história de seu jogo.
  • Você pode colocar comandos para mostrar variáveis, switches, dinheiro, etc., com comandos semelhantes aos comandos utilizados pelos textos do maker.


Como usar
Crie um novo script na lista de scripts do editor e cole o código abaixo.

É importante configurar o script antes de usá-lo, para configurá-lo, siga as instruções contidas no próprio script. Ao apertar o botão "B", o jogador será redirecionado à Scene_Map, se você desejar mudar isto, vá até a linha 160. Você pode juntar esse script ao script 'A 4ª Opção', para isto edite o script 'A 4ª Opção' para redirecionar à este script, e edite a linha 160 deste script para redirecionar o jogador à Scene_Title.

Uma demo do script pode ser baixada aqui.

Script
Código:
=begin
[  ===================================================================  ]
[  ===================================================================  ]
[  =============  ]        script CRIADO POR:      [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]        >>> Dark Chocobo        [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]          > Anotações <          [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]        Agradecimento à:        [  =============  ]
[  =============  ]          > Jão Rafael          [  =============  ]
[  =============  ]                                [  =============  ]
[  =============  ]                                [  =============  ]
[  ===================================================================  ]
[  ============  ]  Mais scripts de Dark Chocobo em: [  ============  ]
[  ============  ]  DarkChocoboscripts.4shared.com  [  ============  ]
[  ===================================================================  ]
[  ===============  ] : Comunidade RPG Maker VX : [  ===============  ]
[  =====  ] http://www.orkut.com/Community.aspx?cmm=40232098 [  ====  ]
[  ===================================================================  ]
[  ===================================================================  ]

Resumo:
 - Esse script cria uma janela em que o herói poderá ver certos textos
    editados por você.
 - Use sua imaginação, você pode criar des de uma lista de objetivos no
    jogo para o jogador faser, até uma simples e comum lista de compras.
Funções:
 - Você pode faser com que um ícone diferente apareça para cada texto da
    lista
 - Você pode mudar a cor de cada um dos textos para que o(s) mesmo(s)
    fique(m) em destaque.
 - Você pode configurar um texto para aparecer somente após a ativação
    de uma switch ou após uma variável ter um valor específico, ou  té
    âmbos switch e variáeis terem valores específicos.
 - Você pode alterar os textos e as cores dos mesmos ao decorrer do jogo,
    de acordo com a história de seu jogo.
Instruções:
 - Você pode editar nas linhas 90 até 96 as configurações da janela.
 - Você pode utilizar alguns comandos especiais no seu texto:
    > Exibir Variável:
        \\v[ID]
    > Exibir sim/não se uma switch estiver ativada ou não:
        \\s[ID]
    > Exibir o nome de um herói:
        \\h[ID]
    > Exibir o nome da arma utilizada pelo herói:
        \\w[ID]
    > Exibir o nome da classe do herói:
        \\c[ID]
    > Exibir o dinheiro do grupo:
        \\g[ID]
    > Exibir o nome da música configurada para o mapa atual:
        \\b
    > Exibir o número de membros no grupo:
        \\p
 - Apartir da linha 111 estão arquivados as configurações de seus textos,
    para adicionar novos textos basta criar uma nova linha em baixo e
    seguir o exemplo acima.
    ATENÇÃO: certifique-se de que todos os colchetes( "[" e "]" ) e
    vírgulas( , ) estão colocadas de forma correta para que tudo funcione
    corretamente.
 - Para chamar este script use o comando abaixo:
    $scene = DC_Anotações.new
 - Para alterar as configurações dos textos ao decorrer do jogo chame um
    script e escreva:
 
        $DarkChocoboscripts["Anotações"]["Textos"][N] = [
 
    sendo 'N', o número do texto desejado.
    e logo abaixo reescreva as configurações do texto desejado:
 
        ["Texto 01"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]]
 
    Exemplo: 
    Chame um script nos eventos desta forma:
 
        $DarkChocoboscripts["Anotações"]["Textos"][2] = [
        ["Texto 02" , [ 0, 0, 255], 2, 0, [ 0, 0]]
 
Observação Final: (apenas para quem sabe mecher em script)
 - Ao apertar o botão "B", o jogador será redirecionado à Scene_Map, se você
    deseja mudar isto, vá até a linha 196 e edite isto.
=end

  # Cria as configurações iniciais do script.
  $DarkChocoboscripts = {} if $DarkChocoboscripts.nil?
  $DarkChocoboscripts["Anotações"] = {}
  $DarkChocoboscripts["Anotações"]["Título"] = "Banco de Dados"
  $DarkChocoboscripts["Anotações"]["Tamanho da Fonte"] = 32
  $DarkChocoboscripts["Anotações"]["Windowskin da Janela"] = "" # O Arquivo deve estar na pasta System
  $DarkChocoboscripts["Anotações"]["Imagem de Fundo"] = "" # O arquivo deve estar na pasta Pictures
  $DarkChocoboscripts["Anotações"]["Distância do Topo"] = 32
  $DarkChocoboscripts["Anotações"]["Distância Entre os Textos"] = 4
  $DarkChocoboscripts["Anotações"]["Transparência da Janela"] = 200 # 0~255
 
  # Não altere o valor abaixo:
  $DarkChocoboscripts["Anotações"]["Textos"] = [
 
  # Texto Aqui: Digite o texto desejado
  # icone x: posição x do icone desejado
  # icone y: posição y do icone desejado
  # opacity: opacidade do icone (transparência)
  # color: cor do texto (de acordo com o arquivo window da pasta system)
  # switch: switch necessária para a visualisação do texto
  # var_id: id da variável necessária para visualisação do texto
  # var_val: valor mínimo necessário da variável para visualisação do texto
  # ex:
  #["Texto Aqui" , [icone_x, icone_y, opacity], color, switch, [var_id, var_val]],
  ["Texto 00"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]],
  ["Texto 01"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]],
  ["Texto 02"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]],
  ["Texto 03"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]],
  ["Texto 04"  , [ 0    , 0      ,  255  ], 0    , 0    , [ 0    , 0      ]]
  ] # Observação importante: 'O último texto não deve apresentar uma vírgula no final.'
 
class Game_Party < Game_Unit
  def actors
    return @actors
  end
end
class DC_Window_Anotações < Window_Base
  def initialize
    super(0,0,544,416)
    windowskin_name = $DarkChocoboscripts["Anotações"]["Windowskin da Janela"] == "" ? "Window" : $DarkChocoboscripts["Anotações"]["Windowskin da Janela"]
    self.windowskin = Cache.system(windowskin_name)
    if $DarkChocoboscripts["Anotações"]["Imagem de Fundo"] != ""
      self.contents.dispose
      self.contents = Bitmap.new(Cache.picture($DarkChocoboscripts["Anotações"]["Imagem de Fundo"]))
    end
    refresh
  end
  def refresh
    backup = self.contents.font.size
    self.contents.font.size = $DarkChocoboscripts["Anotações"]["Tamanho da Fonte"] == 0 ? backup : $DarkChocoboscripts["Anotações"]["Tamanho da Fonte"]
    self.contents.font.color = system_color
    self.contents.draw_text(4, $DarkChocoboscripts["Anotações"]["Distância do Topo"],
    self.contents.width, $DarkChocoboscripts["Anotações"]["Tamanho da Fonte"], $DarkChocoboscripts["Anotações"]["Título"], 1)
    self.contents.font.color = normal_color
    self.contents.font.size = backup
    y = WLH + $DarkChocoboscripts["Anotações"]["Distância do Topo"] + $DarkChocoboscripts["Anotações"]["Tamanho da Fonte"]
    for i in 0 ... $DarkChocoboscripts["Anotações"]["Textos"].size
      y += WLH + $DarkChocoboscripts["Anotações"]["Distância Entre os Textos"]
      show = false
      if set_switch(i) and set_var(i) then show = true end
      unless show
        y -= WLH + $DarkChocoboscripts["Anotações"]["Distância Entre os Textos"]
        next
      end
      set_color(i)
      set_icon(i, y)
      text = $DarkChocoboscripts["Anotações"]["Textos"][i][0]
      text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
      text.gsub!(/\\S\[([0-9]+)\]/i) { $game_switches[$1.to_i] == true ? "Sim" : "Não" }
      text.gsub!(/\\H\[([0-9]+)\]/i) { $1.to_i != 0 ? $game_actors[$1.to_i].name : $game_actors[$game_party.actors[0]].name }
      text.gsub!(/\\W\[([0-9]+)\]/i) { $1.to_i != 0 ? $game_actors[$1.to_i].weapons[0].name : $game_actors[$game_party.actors[0]].weapons[0].name }
      text.gsub!(/\\C\[([0-9]+)\]/i) { $1.to_i != 0 ? $data_classes[$game_actors[$1.to_i].class_id].name : $data_classes[$game_actors[$game_party.actors[0]].class_id].name }
      text.gsub!(/\\G/i) { $game_party.gold }
      text.gsub!(/\\B/i) { load_data(sprintf("Data/Map%03d.rvdata", $game_map.map_id)).bgm.name }
      text.gsub!(/\\P/i) { $game_party.actors.size }
   
      self.contents.draw_text(32, y, self.contents.width, WLH, text)
    end
  end
  def set_color(i)
    self.contents.font.color = text_color($DarkChocoboscripts["Anotações"]["Textos"][i][2])
  end
  def set_icon(i, pos_y)
    x = $DarkChocoboscripts["Anotações"]["Textos"][i][1][0]
    y = $DarkChocoboscripts["Anotações"]["Textos"][i][1][1]
    o = $DarkChocoboscripts["Anotações"]["Textos"][i][1][2]
    bitmap = Cache.system("IconSet")
    rect = Rect.new(x*24, y*24, 24, 24)
    self.contents.blt(4, pos_y, bitmap, rect, o)
  end
  def set_switch(i)
    return true if $DarkChocoboscripts["Anotações"]["Textos"][i][3] == 0
    return $game_switches[$DarkChocoboscripts["Anotações"]["Textos"][i][3]]
  end
  def set_var(i)
    return true if $DarkChocoboscripts["Anotações"]["Textos"][i][4][0] == 0
    return $game_variables[$DarkChocoboscripts["Anotações"]["Textos"][i][4][0]] >= $DarkChocoboscripts["Anotações"]["Textos"][i][4][1]
  end
end
class DC_Anotações < Scene_Base
  def start
    @note = DC_Window_Anotações.new
    @note.opacity = $DarkChocoboscripts["Anotações"]["Transparência da Janela"]
    create_menu_background if $DarkChocoboscripts["Anotações"]["Transparência da Janela"] != 255
  end
  def update
    update_menu_background if $DarkChocoboscripts["Anotações"]["Transparência da Janela"] != 255
    @note.update
    if Input.trigger?(Input::B) then Sound.play_cancel
      $scene = Scene_Map.new # Edite esta linha
    end
  end
  def terminate
    @note.dispose
    dispose_menu_background if $DarkChocoboscripts["Anotações"]["Transparência da Janela"] != 255
  end
end

Créditos e Agradecimentos
  • Criado por DarkChocobo
  • Demo por Shikaku Tenshi
  • Backup da antiga RMB restaurado por Jhonn

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos