O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

[TSDA] Barrinha GOW

Iniciado por thiago_d_d, 18/12/2012 às 22:19

18/12/2012 às 22:19 Última edição: 20/01/2017 às 10:03 por King Gerar


Script de Barrinha GOW


[info float=left border=#6587E4]
Informações:
--------------------------------------------------
.
• Autor: thiago_d_d
• Versão: 1.0
• Incompatibilidade: Desprezível
• Lag gerado: Desprezível
• Customizável: Sim
• Requer Recursos Extras: Sim
[/info][box class=catbg2]
Resumo
[/box][box class=catbg4]Implementa um barrinha de rage of titans, parecido com o jogo God of War. Quando essa barrinha enche, uma habilidade é aprendida pelo personagem. Só tem verdadeira utilidade em ABS's.[/box]


[box class=catbg2]
Instalação e configuração
[/box]
Coloque as seguintes imagens na pasta Pictures do seu jogo, com o nome de barrage e rageiconback, respectivamente:


Depois, cole o script acima de Main. Não esqueça de ler as intruções contidas no script.
#==============================================================
# * MRM - Comunidade RPG Maker!
#   www.mundorpgmaker.com
# * GRM - Comunidade RPG Maker!
#   www.galaxiarpgmaker.com.br
#
# [TSDA] Barrinha de GOW
#   -->Versão 1.0
# Última atualização: 11/12/2010
# ----Créditos
#     thiago_d_d - por fazer o TSDA script.
#     Zero - por corrigir bugs e adicionar coisas.
#
#--------------------------------------------------------------
# * Características
#--------------------------------------------------------------
# Adiciona um sistema simples de raiva, semelhante ao
# do jogo God of War. Ao encher a barrinha de raiva,
# o personagem aprende uma habilidade. Pode ser útil
# quando se usa um ABS.
#--------------------------------------------------------------
# * Instalação
#--------------------------------------------------------------
# Cole o script acima de Main e delete os saves do seu game.
# Coloque as duas imagens fornecidas na pasta Pictures do seu
# projeto.
#--------------------------------------------------------------
# * Configuração
#--------------------------------------------------------------
# -> Antes do jogo
#   Edite as linhas 43 a 54
#
# -> Com eventos duarnte o jogo
#   Use comandos de script com os seguintes códigos:
#
#  $game_rage_data = valor
#     muda valor da raiva
#
#  $game_rage_data.rage -= valor ou $game_rage_data.rage += valor
#    subtrai/soma tal valor a raiva
#
#  $game_rage_data.rage_activated = true ou false
#    ativa/desativa sistema de raiva
#==============================================================
module TSDA
  #Módulo de raiva ativado no início?
  ACTIVATE_RAGE = true
  # Direção do contador, true ou false
  # True : Irá contar verticalmente
  # False: Irá contar horizontalmente
  TYPE_COUNT = false
  # Esquecer a habilidade quando o medidor de raiva estiver em 0?
  LOST_SKILL = true
  # Esvaziar automaticamente quando o medidor de raiva estiver
  # no máximo?
  EMPTY_AUTO = true
  #Aumentar raiva automaticamente
  AUTO_UP_RAGE = true
  #Se true logo acima, em quanto irá aumentar a cada frame?
  AUTO_UP_RAGE_N = 1
  #Raiva máxima
  MAX_RAGE = 500
  #Habilidade que será aprendida
  RAGE_SKILL = 1
  #Posições da HUD de raiva
  RAGE_HUD_X = 0
  RAGE_HUD_Y = 0
end

# Fim da configuração

# Game_System

class Game_System
 
  alias rage_update update
    def update
      rage_update
     for i in $game_party.actors[0].skills
      if i == TSDA::RAGE_SKILL
       @perf = TSDA::MAX_RAGE / 100
       $game_rage_data.rage -= @perf.to_i if TSDA::EMPTY_AUTO
      end
     end
    end
end   

# RageData

class RageData
 
  include TSDA
 
  attr_reader     :rage
  attr_accessor   :rage_activated
 
  def initialize
    @rage = 0
    @rage_activated = ACTIVATE_RAGE
  end
 
  def rage=(value)
    if value > MAX_RAGE
      @rage = MAX_RAGE
      return
    end
    if value < 0
      @rage = 0
      return
    end
    @rage = value
  end
end

class Scene_Title
 
  alias rou_menu_command_new_game command_new_game
  def command_new_game
    rou_menu_command_new_game
    $game_rage_data = RageData.new
  end
end

class Scene_Save
 
  alias rou_menu_write_save_data write_save_data
  def write_save_data(file)
    rou_menu_write_save_data(file)
    Marshal.dump($game_rage_data, file)
  end
end

class Scene_Load
 
  alias rou_menu_read_save_data read_save_data
  def read_save_data(file)
    rou_menu_read_save_data(file)
    $game_rage_data        = Marshal.load(file)
  end
end

class Scene_Map
  alias old_main main
  def main
    @rage_window = Window_RageOfTitans.new
    old_main
    @rage_window.dispose
  end
 
  alias old_update update
  def update
    @rage_window.update
    old_update
  end
end

class Window_RageOfTitans < Window_Base
  include TSDA
  def initialize
    super(RAGE_HUD_X, RAGE_HUD_Y, 100, 104)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.opacity = 0
    self.back_opacity = 0
    refresh
  end
 
  def update
    super
    self.visible = $game_rage_data.rage_activated
    if self.visible
      if AUTO_UP_RAGE
        $game_rage_data.rage += AUTO_UP_RAGE_N
      end
      if @rage != $game_rage_data.rage
        refresh
        if @rage == MAX_RAGE
         $game_party.actors[0].learn_skill(RAGE_SKILL)
        end
        if @rage < 2
         $game_party.actors[0].forget_skill(RAGE_SKILL) if TSDA::LOST_SKILL
        end
      end
    end
  end
 
  def refresh
    self.contents.clear
    @rage = $game_rage_data.rage
    bitmap = RPG::Cache.picture("barraged")
    bitmap2 = RPG::Cache.picture("rageiconback")
    if TYPE_COUNT
      src_rect = Rect.new(0, 0, 58, @rage * 36 / MAX_RAGE)
    else
      src_rect = Rect.new(0, 0, @rage * 70 / MAX_RAGE, 50)
    end
    src_rect2 = Rect.new(0, 0, 68, 72)
    self.contents.blt(0, 0, bitmap2, src_rect2)
    self.contents.blt(5, 10, bitmap, src_rect)
  end
end



[box class=catbg2]
Demo e Imagens
[/box]
Não há necessidade de Demo.Screens:


[box class=catbg2]
Créditos
[/box]

  • thiago_d_d por fazer o script
  • Zero(Cross) por corrigir o script e adicionar coisas

Boa Noite a todos!!

Bom, primeiramente, eu gostaria de agradecer o criador desse Script simplesmente fantástico...

Eu gostaria de saber se o criado deste código poderia deixar compativel com o Netplay Master 4.9.2.


Agradeço!!

Abraços!!!