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

[RGSS]Combo System

5 participantes

Ir para baixo

[RGSS]Combo System Empty [RGSS]Combo System

Mensagem por Crhonos Seg Dez 08, 2008 8:41 pm

Script permite adicionar o sistemas de Hits
cada acerto consecutivo é contado como hit, e a cada Hit o seu
dano aumenta


Código:
##################################################################
######################### ▼▲▼ XRXS▼▲▼#############################
##################################################################
#Script permite adicionar o sistemas de Hits
#cada acerto consecutivo é contado como hit, e a cada Hit o seu
#dano aumenta
##################################################################
class XRXS_BP19
#tempo de duração para que o sistema considere HIT
  COMBOHIT_DURATION = 100
end
class Game_Battler
#Definição do dano a cada Hit 
  DAMAGE_INCREASE_PER_HIT = 5
end
class Window_ComboHit < Window_Base
  COMBOHIT_FONTNAME  = "Georgia"
  COMBOHIT_FONTCOLOR = Color.new(255,255,255,255)
end

#==============================================================================
# □ Window_ComboHit
#------------------------------------------------------------------------------
#    戦闘中にコンボ数を表示する透明なウィンドウです。
#==============================================================================
class Window_ComboHit < Window_Base
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super(512, 64, 128, 80)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    self.visible = false
    @active = false
    @show_duration = 0
    @sliding_duration = 0
    self.contents.clear
  end
  #--------------------------------------------------------------------------
  # ○ クリア
  #--------------------------------------------------------------------------
  def clear
    self.contents.clear
    self.visible = false
  end
  #--------------------------------------------------------------------------
  # ○ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(hit_combo, duration)
    # 可視化
    self.contents_opacity = 255
    self.visible = true
    # 設定
    @show_duration    = duration
    @sliding_duration = 0
    # 描写(縁取り仕様)
    self.contents.clear
    self.contents.font.name = COMBOHIT_FONTNAME
    self.contents.font.bold = true
    text = hit_combo.to_s + " "
    self.contents.font.size = 36
    self.contents.font.color.set(  0,  0,  0, 192)
    self.contents.draw_text(-1, -1, 64, 44, text, 2)
    self.contents.draw_text(-1,  1, 64, 44, text, 2)
    self.contents.draw_text( 1, -1, 64, 44, text, 2)
    self.contents.draw_text( 1,  1, 64, 44, text, 2)
    self.contents.font.color = COMBOHIT_FONTCOLOR
    self.contents.draw_text( 0,  0, 64, 44, text, 2)
    text ="HITS"
    self.contents.font.size = 22
    self.contents.font.color.set(  0,  0,  0, 192)
    self.contents.draw_text(63, 13, 32, 32, text, 0)
    self.contents.draw_text(65, 13, 32, 32, text, 0)
    self.contents.draw_text(63, 15, 32, 32, text, 0)
    self.contents.draw_text(65, 15, 32, 32, text, 0)
    self.contents.font.color = COMBOHIT_FONTCOLOR
    self.contents.draw_text(64, 14, 32, 32, text, 0)
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新
  #--------------------------------------------------------------------------
  def update
    if @sliding_duration > 0
      @sliding_duration -= 1
      self.contents_opacity -= 32
      self.x += 1
      if @sliding_duration == 0
        self.visible = false
      end
    elsif @show_duration > 0
      @show_duration -= 1
      if @show_duration == 0
        @sliding_duration = 8
      end
    end
  end
end

#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  def combohit
    @combohit = 0 if @combohit.nil?
    return @combohit
  end
  def combohit_duration
    @combohit_duration = 0 if @combohit_duration.nil?
    return @combohit_duration
  end
  #--------------------------------------------------------------------------
  # ○ コンボヒットを更新
  #-------------------------------------------------------------------------- 
  def combohit_update
    @combohit_duration = 0 if @combohit_duration.nil?
    if @combohit_duration > 0
      @combohit_duration -= 1
      if @combohit_duration == 0
        @combohit = 0
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ コンボヒットをカウント
  #-------------------------------------------------------------------------- 
  def combohit_count
    @combohit = 0 if @combohit.nil?
    @combohit += 1
    if @motion.nil?
      @combohit_duration = XRXS_BP19::COMBOHIT_DURATION
    else
      # ちとFMBS仕様
      @combohit_duration = @motion.knock_back_duration
    end
  end
  #--------------------------------------------------------------------------
  # ○ コンボヒットをクリア
  #-------------------------------------------------------------------------- 
  def combohit_clear
    @combohit = nil
    @combohit_duration = nil
  end
  #--------------------------------------------------------------------------
  # ● 通常攻撃の効果適用
  #--------------------------------------------------------------------------
  alias xrxs_bp19_attack_effect attack_effect
  def attack_effect(attacker)
    # 呼び戻す
    bool = xrxs_bp19_attack_effect(attacker)
    # 攻撃成功時( 行動有効 & Missでない )
    if bool and self.damage != "Miss"
      # ヒット補正
      if self.damage.is_a?(Numeric)
        add_damage  = self.damage * ([self.combohit * DAMAGE_INCREASE_PER_HIT,-100].max)/100
        self.hp    -= add_damage
        self.damage += add_damage
      end
      # コンボヒット+1
      self.combohit_count
    end
    return bool
  end
  #--------------------------------------------------------------------------
  # ● スキルの効果適用
  #--------------------------------------------------------------------------
  alias xrxs_bp19_skill_effect skill_effect
  def skill_effect(user, skill)
    # ヒット補正( ダメージスキルのみ )
    if skill.power >= 1
      skill = skill.dup
      skill.power = skill.power * (100 + [self.combohit * DAMAGE_INCREASE_PER_HIT,-100].max)/100
    end
    # 呼び戻す
    bool = xrxs_bp19_skill_effect(user, skill)
    # 攻撃成功時( ダメージスキル & 行動有効 & Missでない )
    if skill.power >= 1 and bool and self.damage != "Miss"
      # コンボヒット+1
      self.combohit_count
    end
    return bool
  end
  #--------------------------------------------------------------------------
  # ● アイテムの効果適用
  #--------------------------------------------------------------------------
  alias xrxs_bp19_item_effect item_effect
  def item_effect(item)
    # ダメージアイテムではない場合
    unless (item.recover_hp < 0 or item.recover_hp_rate  < 0)
      # 呼び戻す
      return xrxs_bp19_item_effect(item)
    end
    # 複製
    item = item.dup
    # ヒット補正
    rate = (100 + [self.combohit * DAMAGE_INCREASE_PER_HIT,-100].max)
    item.recover_hp      = item.recover_hp      * rate / 100
    item.recover_hp_rate = item.recover_hp_rate * rate / 100
    # 呼び戻す
    bool = xrxs_bp19_item_effect(item)
    # 攻撃成功時( 行動有効 & Missでない )
    if (bool and self.damage != "Miss")
      # コンボヒット+1
      self.combohit_count
    end
    return bool
  end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias xrxs_bp19_main main
  def main
    # 呼び戻す
    xrxs_bp19_main
    # ウィンドウを解放
    @combohit_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias xrxs_bp19_update update
  def update
    # フレーム更新
    @combohit_window.update
    for actor in $game_party.actors
      actor.combohit_update
    end
    for enemy in $game_troop.enemies
      enemy.combohit_update
    end
    # 呼び戻す
    xrxs_bp19_update
  end
  #--------------------------------------------------------------------------
  # ● プレバトルフェーズ開始
  #--------------------------------------------------------------------------
  alias xrxs_bp19_start_phase1 start_phase1
  def start_phase1
    # 呼び戻す
    xrxs_bp19_start_phase1
    # コンボヒットウィンドウを作成
    @combohit_window = Window_ComboHit.new
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (メインフェーズ ステップ 5 : ダメージ表示)
  #--------------------------------------------------------------------------
  alias xrxs_bp19_update_phase4_step5 update_phase4_step5
  def update_phase4_step5
    # 呼び戻す
    xrxs_bp19_update_phase4_step5
    # コンボ数の最も高いターゲットを探す
    max = 0
    hit_target = nil
    for target in @target_battlers
      if target.combohit > max
        max = target.combohit
        hit_target = target
      end
    end
    if max >= 2 and !hit_target.nil?
      @combohit_window.x = hit_target.is_a?(Game_Enemy) ? 512 : 0
      @combohit_window.refresh(max, hit_target.combohit_duration)
    end
  end
end
Crhonos
Crhonos


Masculino Número de Mensagens : 118
Idade : 30
Especialidade : Eventos
Data de inscrição : 01/12/2008

RMB Games
Nível de Reputação: 2
Reputação:
[RGSS]Combo System Left_bar_bleue19/100[RGSS]Combo System Empty_bar_bleue  (19/100)
Gamescore:
[RGSS]Combo System Left_bar_bleue0/0[RGSS]Combo System Empty_bar_bleue  (0/0)

Ir para o topo Ir para baixo

[RGSS]Combo System Empty Re: [RGSS]Combo System

Mensagem por Dark Dudu Dom Dez 14, 2008 12:03 am

Só uma pergunta, para qual sistema de batalha é esse script?


+1 Reputação
Bônus de Natal: +1 Reputação
Total:
+2 Reputação!
Dark Dudu
Dark Dudu


Masculino Número de Mensagens : 385
Idade : 30
Localização : São Vicente - SP
Especialidade : Eventos
Data de inscrição : 01/12/2008

RMB Games
Nível de Reputação: 2
Reputação:
[RGSS]Combo System Left_bar_bleue61/100[RGSS]Combo System Empty_bar_bleue  (61/100)
Gamescore:
[RGSS]Combo System Left_bar_bleue0/0[RGSS]Combo System Empty_bar_bleue  (0/0)

https://rmbrasil.forumeiros.com

Ir para o topo Ir para baixo

[RGSS]Combo System Empty Re: [RGSS]Combo System

Mensagem por Alan Dom Dez 14, 2008 6:18 pm

Qualquer um compátivel U.U
Tbm já tinha este
Alan
Alan


Masculino Número de Mensagens : 224
Idade : 31
Especialidade : Eventos
Data de inscrição : 02/12/2008

RMB Games
Nível de Reputação: 1
Reputação:
[RGSS]Combo System Left_bar_bleue55/100[RGSS]Combo System Empty_bar_bleue  (55/100)
Gamescore:
[RGSS]Combo System Left_bar_bleue0/0[RGSS]Combo System Empty_bar_bleue  (0/0)

http://www.gomakers.com

Ir para o topo Ir para baixo

[RGSS]Combo System Empty Re: [RGSS]Combo System

Mensagem por Revin Seg Fev 09, 2009 8:15 pm

Já to utilizando. =P
É, eu voltei a mecher no programa.
Revin
Revin


Masculino Número de Mensagens : 235
Idade : 32
Localização : Aracaju
Especialidade : Pixel Artist
Data de inscrição : 21/12/2008

RMB Games
Nível de Reputação: 1
Reputação:
[RGSS]Combo System Left_bar_bleue13/100[RGSS]Combo System Empty_bar_bleue  (13/100)
Gamescore:
[RGSS]Combo System Left_bar_bleue0/0[RGSS]Combo System Empty_bar_bleue  (0/0)

http://www.gamer-a.blogspot.com

Ir para o topo Ir para baixo

[RGSS]Combo System Empty Re: [RGSS]Combo System

Mensagem por Borus Seg Fev 16, 2009 7:19 pm

Bem legal, parece bem interessante!!!

vlw mesmo cara Surprised
Borus
Borus


Masculino Número de Mensagens : 79
Idade : 30
Data de inscrição : 10/12/2008

RMB Games
Nível de Reputação: 1
Reputação:
[RGSS]Combo System Left_bar_bleue18/100[RGSS]Combo System Empty_bar_bleue  (18/100)
Gamescore:
[RGSS]Combo System Left_bar_bleue0/0[RGSS]Combo System Empty_bar_bleue  (0/0)

http://www.imperiomaker.com/

Ir para o topo Ir para baixo

[RGSS]Combo System Empty Re: [RGSS]Combo System

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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