Dash Mode No RPG Maker XP

14 de janeiro de 2014

Dash Mode é um script criado por Near Fantastica que insere um sistema de Dashing (traduzindo mais ou menos seria tiro, em corrida) no seu jogo/projeto do RPG Maker XP.

Ele permite o jogador a fazer o dash quando a tecla A (maiúscula, tem que apertar SHIFT+A, ou então editar o script, se souber) é pressionada até que o contador (a esquerda embaixo) fique zerado.

Quando a tecla é solta, o contador começa a carregar de novo até se restaurar. Se você quiser altera também o tempo da barra carregar ou esvaziar, você pode editar os valores no script também, procurando as linhas comentadas com Initial time off set e Timer Count abaixo de # reduce dash level e # restore dash level no código.

Instruções

Copie as figuras abaixo na pasta Graphics/Pictures do seu projeto:

bar 0

bar 1

bar 2

bar 3

bar 4

bar 5

Crie um novo script acima do Main, renomeie para Dash Mode, e insira o código abaixo nele:

#==============================================================================
#  ■  Dash Mode
#------------------------------------------------------------------------------
#    Near Fantastica
#    09/12/04
#=============================================================================

class Game_Player
#--------------------------------------------------------------------------
# ● Refer Update to Game Player
#--------------------------------------------------------------------------
alias game_player_update update
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
  if Input.press?(Input::A)
    if moving?
      # If A Key press enter dash mode
      # reduce dash level
      @move_speed=5
      @restore = false
      if @reduce == false
        @timer = 50 # Initial time off set
        @reduce = true
      else
        @timer-= 1
      end
      @sec = (@timer / Graphics.frame_rate)%60
      if @sec == 0
        if @dash_level != 0
          @dash_level -= 1
          @timer = 45 # Timer Count
        end
      end
      if @dash_level == 0
        @move_speed=4
      end
      $dash_bar.update(@dash_level)
    end
  else
    # restore dash level
    @move_speed=4
    @reduce = false
    if @restore == false
      @timer = 80 # Initial time off set
      @restore = true
    else
      @timer-= 1
    end
    @sec = (@timer / Graphics.frame_rate)%60
    if @sec == 0
      if @dash_level != 5
        @dash_level+= 1
        @timer = 60 # Timer Count
      end
    end
    $dash_bar.update(@dash_level)
  end
  game_player_update
end
end

#==============================================================================
#  ■  Bar Sprite
#------------------------------------------------------------------------------
#    Used for Dash Mode displays bar pictures to screen
#=============================================================================

class Bar_Sprite < Sprite
#--------------------------------------------------------------------------
# &#9679; Initialization
#--------------------------------------------------------------------------
def initialize
  super
  self.x = 10
  self.y = 460
  self.z = 500
end
#--------------------------------------------------------------------------
# &#9679; Update Dash Bar Level
#--------------------------------------------------------------------------
def update(number)
  @number = number
  case number
  when 0
    self.bitmap = RPG::Cache.picture("bar 0")
  when 1
    self.bitmap = RPG::Cache.picture("bar 1")
  when 2
    self.bitmap = RPG::Cache.picture("bar 2")
  when 3
    self.bitmap = RPG::Cache.picture("bar 3")
  when 4
    self.bitmap = RPG::Cache.picture("bar 4")
  when 5
    self.bitmap = RPG::Cache.picture("bar 5")
  end
end
#--------------------------------------------------------------------------
# &#9679; Dispose
#--------------------------------------------------------------------------
def dispose
  self.bitmap.dispose
end
end

#==============================================================================
#  &#9632;  Game Character
#------------------------------------------------------------------------------
#    Add Initialization of Dash Mode Varibles
#=============================================================================

class Game_Character
#--------------------------------------------------------------------------
# &#9679; Refer Initialization to Game Character
#--------------------------------------------------------------------------
alias dash_mode_initialize initialize
#--------------------------------------------------------------------------
# &#9679; Initialization
#--------------------------------------------------------------------------
def initialize
  @restore = false
  @reduce= false
  @timer = 0
  @dash_level = 5
  @sec = 0
  $dash_bar = Bar_Sprite.new
  dash_mode_initialize
end
end

#==============================================================================
#  &#9632;  Scene_Map
#------------------------------------------------------------------------------
#    Check for $dash_bar.dispose condition
#=============================================================================

class Scene_Map
#--------------------------------------------------------------------------
# &#9679; Refer Update to Scene Map
#--------------------------------------------------------------------------
alias scene_map_call_battle call_battle
alias scene_map_call_shop call_shop
alias scene_map_call_name call_name
alias scene_map_call_menu call_menu
alias scene_map_call_save call_save
alias scene_map_call_debug call_debug
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is Battle called
#--------------------------------------------------------------------------
def call_battle
  $dash_bar.dispose
  scene_map_call_battle
end
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is  called
#--------------------------------------------------------------------------
def call_shop
  $dash_bar.dispose
  scene_map_call_shop
end
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is Name called
#--------------------------------------------------------------------------
def call_name
  $dash_bar.dispose
  scene_map_call_name
end
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is Menu called
#--------------------------------------------------------------------------
def call_menu
  $dash_bar.dispose
  scene_map_call_menu
end
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is Save called
#--------------------------------------------------------------------------
def call_save
  $dash_bar.dispose
  scene_map_call_save
end
#--------------------------------------------------------------------------
# &#9679; Dispose of $dash_bar is Debug called
#--------------------------------------------------------------------------
def call_debug
  $dash_bar.dispose
  scene_map_call_debug
end
end

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Clique aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!