Sign in to follow this  
Followers 0
xXDarkDragonXx

Double Weapons

17 posts in this topic

Double Weapons
Por: makeamidget

Este script, como dice el título, es para poder equipar dos armas y atacar así mismo dos veces. Es sencillo y eficaz ya que solo tienen que poner el script y todo listo.

Creen clase nueva arriba de Main, llamenla como quieran, y peguen dentro esto:

[spoiler]
CODE
#=================================
# class Game_Actor mod's... -Midge-
#=================================
# This is where the meat of the script takes place...
# there is alot to be accounted for here too..
# i had to make sure that all the stat stuff was being
# from all the right things... in fact i think most of the
# original class has been modded here... not sure on that
# and too lazy to check and see... let's hope that you haven't
# made any forgetable changes to this before...
#=================================
class Game_Actor < Game_Battler

attr_accessor :weapon_type
attr_accessor :armor_type
attr_accessor :sec_attack

alias double_weapons_initialize initialize

def initialize(actor_id)
  double_weapons_initialize(actor_id)
  @weapon_type = $data_weapons[@weapon_id]
  @armor_type = $data_armors[@armor1_id]
  @sec_attack = nil
end

def animation3_id
 weapon = $data_weapons[@armor1_id]
 return (weapon != nil ? weapon.animation1_id : 0)
end

def animation4_id
 weapon = $data_weapons[@armor1_id]
 return (weapon != nil ? weapon.animation2_id : 0)
end

def two_shields
  if (self.weapon_type.is_a?(RPG::Armor) and self.armor_type.is_a?(RPG::Armor)) and
    (self.weapon_id != 0 and self.armor1_id != 0)
    return true
  else
    return false
  end
end

def two_weapons
  if (self.weapon_type.is_a?(RPG::Weapon) and self.armor_type.is_a?(RPG::Weapon)) and
    (self.weapon_id != 0 and self.armor1_id != 0)
    return true
  else
    return false
  end
end
 
def equip(equip_type, id, item = RPG::Armor)
  case equip_type
 
  when 0
   
    if @weapon_id == 0
      if item.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          self.weapon_type = $data_weapons[id]
          @weapon_id = id
          $game_party.lose_weapon(id, 1)
        end
      elsif item.is_a?(RPG::Armor)
        if id == 0 or $game_party.weapon_number(id) > 0
          self.weapon_type = $data_armors[id]
          @weapon_id = id
          $game_party.lose_armor(id, 1)
        end
      end
    end
   
    if item == nil
      if self.weapon_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_weapon(@weapon_id, 1)
          @weapon_id = id
        end
      elsif self.weapon_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_armor(@weapon_id, 1)
          @weapon_id = id
        end
      end
    end
   
    if item.is_a?(RPG::Weapon)
      if self.weapon_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_weapon(@weapon_id, 1)
          self.weapon_type = $data_weapons[id]
          @weapon_id = id
          $game_party.lose_weapon(id, 1)
        end
      elsif self.weapon_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_armor(@weapon_id, 1)
          self.weapon_type = $data_weapons[id]
          @weapon_id = id
          $game_party.lose_weapon(id, 1)
        end
      end
     
     elsif item.is_a?(RPG::Armor)
      if self.weapon_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_armor(@weapon_id, 1)
          self.weapon_type = $data_armors[id]
          @weapon_id = id
          $game_party.lose_armor(id, 1)
        end
      elsif self.weapon_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_weapon(@weapon_id, 1)
          self.weapon_type = $data_armors[id]
          @weapon_id = id
          $game_party.lose_armor(id, 1)
        end
      end    
    end

  when 1  

    if @armor1_id == 0
      if item.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          self.armor_type = $data_weapons[id]
          @armor1_id = id
          $game_party.lose_weapon(id, 1)
        end
      elsif item.is_a?(RPG::Armor)
        if id == 0 or $game_party.armor_number(id) > 0
          self.armor_type = $data_armors[id]
          @armor1_id = id
          $game_party.lose_armor(id, 1)
        end
      end
    end
   
    if item == nil
      if self.armor_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_weapon(@armor1_id, 1)
          @armor1_id = id
        end
      elsif self.armor_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_armor(@armor1_id, 1)
          @armor1_id = id
        end
      end
    end
   
    if item.is_a?(RPG::Weapon)
      if self.armor_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_weapon(@armor1_id, 1)
          self.armor_type = $data_weapons[id]
          @armor1_id = id
          $game_party.lose_weapon(id, 1)
        end
      elsif self.armor_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.weapon_number(id) > 0
          $game_party.gain_armor(@armor1_id, 1)
          self.armor_type = $data_weapons[id]
          @armor1_id = id
          $game_party.lose_weapon(id, 1)
        end
      end
     
     elsif item.is_a?(RPG::Armor)
      if self.armor_type.is_a?(RPG::Armor)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_armor(@armor1_id, 1)
          self.armor_type = $data_armors[id]
          @armor1_id = id
          $game_party.lose_armor(id, 1)
        end
      elsif self.armor_type.is_a?(RPG::Weapon)
        if id == 0 or $game_party.armor_number(id) > 0
          $game_party.gain_weapon(@armor1_id, 1)
          self.armor_type = $data_armors[id]
          @armor1_id = id
          $game_party.lose_armor(id, 1)
        end
      end    
    end
   
  when 2  
    if id == 0 or $game_party.armor_number(id) > 0
      update_auto_state($data_armors[@armor2_id], $data_armors[id])
      $game_party.gain_armor(@armor2_id, 1)
      @armor2_id = id
      $game_party.lose_armor(id, 1)
    end
  when 3
    if id == 0 or $game_party.armor_number(id) > 0
      update_auto_state($data_armors[@armor3_id], $data_armors[id])
      $game_party.gain_armor(@armor3_id, 1)
      @armor3_id = id
      $game_party.lose_armor(id, 1)
    end
  when 4
    if id == 0 or $game_party.armor_number(id) > 0
      update_auto_state($data_armors[@armor4_id], $data_armors[id])
      $game_party.gain_armor(@armor4_id, 1)
      @armor4_id = id
      $game_party.lose_armor(id, 1)
    end
  end
end

def element_rate(element_id)
  table = [0,200,150,100,50,0,-100]
  result = table[$data_classes[@class_id].element_ranks[element_id]]
  if self.armor_type.is_a?(RPG::Weapon)
    for i in [@armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil and armor.guard_element_set.include?(element_id)
        result /= 2
      end
    end
  else  
    for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil and armor.guard_element_set.include?(element_id)
        result /= 2
      end
    end
  end
  for i in @states
    if $data_states[i].guard_element_set.include?(element_id)
      result /= 2
    end
  end
  return result
end

def state_guard?(state_id)
  if self.armor_type.is_a?(RPG::Weapon)
    for i in [@armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil
        if armor.guard_state_set.include?(state_id)
          return true
        end
      end
    end
  else  
    return false
    for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
      armor = $data_armors[i]
      if armor != nil
        if armor.guard_state_set.include?(state_id)
          return true
        end
      end
    end
    return false
  end
end

def element_set
  n = []
  unless self.weapon_type.is_a?(RPG::Armor)
  weapon = $data_weapons[@weapon_id]
  n += weapon != nil ? weapon.element_set : []
  end
  unless self.armor_type.is_a?(RPG::Armor)
  weapon2 = $data_weapons[@armor1_id]
  n += weapon2 != nil ? weapon2.element_set : []
  end
  n.flatten!
  n.uniq!
  return n
end


def plus_state_set
  n = []
  unless self.weapon_type.is_a?(RPG::Armor)
  weapon = $data_weapons[@weapon_id]
  n += weapon != nil ? weapon.plus_state_set : []
  end
  unless self.armor_type.is_a?(RPG::Armor)
  weapon2 = $data_weapons[@armor1_id]
  n += weapon2 != nil ? weapon2.plus_state_set : []
  end
  n.flatten!
  n.uniq!
  return n
end

def minus_state_set
  n = []
  unless self.weapon_type.is_a?(RPG::Armor)
  weapon = $data_weapons[@weapon_id]
  n += weapon != nil ? weapon.minus_state_set : []
  end
  unless self.armor_type.is_a?(RPG::Armor)
  weapon2 = $data_weapons[@armor1_id]
  n += weapon2 != nil ? weapon2.minus_state_set : []
  end
  n.flatten!
  n.uniq!
  return n
end

def base_str
  n = $data_actors[@actor_id].parameters[2, @level]
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.str_plus : 0
  n += armor1 != nil ? armor1.str_plus : 0
  n += armor2 != nil ? armor2.str_plus : 0
  n += armor3 != nil ? armor3.str_plus : 0
  n += armor4 != nil ? armor4.str_plus : 0
  return [[n, 1].max, 999].min
end

def base_dex
  n = $data_actors[@actor_id].parameters[3, @level]
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.dex_plus : 0
  n += armor1 != nil ? armor1.dex_plus : 0
  n += armor2 != nil ? armor2.dex_plus : 0
  n += armor3 != nil ? armor3.dex_plus : 0
  n += armor4 != nil ? armor4.dex_plus : 0
  return [[n, 1].max, 999].min
end

def base_agi
  n = $data_actors[@actor_id].parameters[4, @level]
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.agi_plus : 0
  n += armor1 != nil ? armor1.agi_plus : 0
  n += armor2 != nil ? armor2.agi_plus : 0
  n += armor3 != nil ? armor3.agi_plus : 0
  n += armor4 != nil ? armor4.agi_plus : 0
  return [[n, 1].max, 999].min
end

def base_int
  n = $data_actors[@actor_id].parameters[5, @level]
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  n += weapon != nil ? weapon.int_plus : 0
  n += armor1 != nil ? armor1.int_plus : 0
  n += armor2 != nil ? armor2.int_plus : 0
  n += armor3 != nil ? armor3.int_plus : 0
  n += armor4 != nil ? armor4.int_plus : 0
  return [[n, 1].max, 999].min
end

def base_atk
  n = 0
  unless self.weapon_type.is_a?(RPG::Armor)
  weapon = $data_weapons[@weapon_id]
  n += weapon != nil ? weapon.atk : 0
  end
  unless self.armor_type.is_a?(RPG::Armor)
  weapon2 = $data_weapons[@armor1_id]
  n += weapon2 != nil ? weapon2.atk : 0
  end
  return n
end

def base_pdef
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  pdef1 = weapon != nil ? weapon.pdef : 0
  pdef2 = armor1 != nil ? armor1.pdef : 0
  pdef3 = armor2 != nil ? armor2.pdef : 0
  pdef4 = armor3 != nil ? armor3.pdef : 0
  pdef5 = armor4 != nil ? armor4.pdef : 0
  return pdef1 + pdef2 + pdef3 + pdef4 + pdef5
end

def base_mdef
  if self.weapon_type.is_a?(RPG::Weapon)
    weapon = $data_weapons[@weapon_id]
  elsif self.weapon_type.is_a?(RPG::Armor)
    weapon = $data_armors[@armor1_id]
  end
  if self.armor_type.is_a?(RPG::Armor)
    armor1 = $data_armors[@armor1_id]
  elsif self.armor_type.is_a?(RPG::Weapon)
    armor1 = $data_weapons[@armor1_id]
  end
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  mdef1 = weapon != nil ? weapon.mdef : 0
  mdef2 = armor1 != nil ? armor1.mdef : 0
  mdef3 = armor2 != nil ? armor2.mdef : 0
  mdef4 = armor3 != nil ? armor3.mdef : 0
  mdef5 = armor4 != nil ? armor4.mdef : 0
  return mdef1 + mdef2 + mdef3 + mdef4 + mdef5
end

def base_eva
  armor1 = $data_armors[@armor1_id]
  armor2 = $data_armors[@armor2_id]
  armor3 = $data_armors[@armor3_id]
  armor4 = $data_armors[@armor4_id]
  eva1 = armor1 != nil ? armor1.eva : 0
  eva2 = armor2 != nil ? armor2.eva : 0
  eva3 = armor3 != nil ? armor3.eva : 0
  eva4 = armor4 != nil ? armor4.eva : 0
  return eva1 + eva2 + eva3 + eva4
end

end
#=================================
# end -O- Game_Actor changes -Midge-
#=================================


#=================================
# class Window_EquipRight mods... -Midge-
#=================================
# this is just so that it will display the right stuff that
# you have equipped in the two hands...
#=================================

class Window_EquipRight < Window_Selectable
def refresh
  self.contents.clear
  @data = []
  @data.push($data_weapons[@actor.weapon_id])
  @data.push($data_armors[@actor.armor1_id])
  if @actor.weapon_type.is_a?(RPG::Weapon)
    @data[0] = $data_weapons[@actor.weapon_id]
  elsif @actor.weapon_type.is_a?(RPG::Armor)
    @data[0] = $data_armors[@actor.weapon_id]
  end
  if @actor.armor_type.is_a?(RPG::Weapon)
    @data[1] = $data_weapons[@actor.armor1_id]
  elsif @actor.armor_type.is_a?(RPG::Armor)
    @data[1] = $data_armors[@actor.armor1_id]
  end
  @data.push($data_armors[@actor.armor2_id])
  @data.push($data_armors[@actor.armor3_id])
  @data.push($data_armors[@actor.armor4_id])
  @item_max = @data.size
  self.contents.font.color = system_color
  self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
  self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
  self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
  self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
  self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
  draw_item_name(@data[0], 92, 32 * 0)
  draw_item_name(@data[1], 92, 32 * 1)
  draw_item_name(@data[2], 92, 32 * 2)
  draw_item_name(@data[3], 92, 32 * 3)
  draw_item_name(@data[4], 92, 32 * 4)
end
end
#=================================
# End -O- Window_EquipRight Mods... -Midge-
#=================================


#=================================
# class Window_EquipItem mods... -Midge-
#=================================
# basically i just made it so that both the weapons and
# sheilds would be displayed in the weapon and shield
# hands... both of them... so you can equip either in
# either hand... anyway.. its all cool and stuff...
#=================================

class Window_EquipItem < Window_Selectable

def refresh
  if self.contents != nil
    self.contents.dispose
    self.contents = nil
  end
  @data = []
  if @equip_type == 0
    weapon_set = $data_classes[@actor.class_id].weapon_set
    for i in 1...$data_weapons.size
      if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
        @data.push($data_weapons[i])
      end
    end
    armor_set = $data_classes[@actor.class_id].armor_set
    for i in 1...$data_armors.size
      if $game_party.armor_number(i) > 0 and armor_set.include?(i)
        if $data_armors[i].kind == 0
          @data.push($data_armors[i])
        end
      end
    end
  end
  if @equip_type != 0
    if @equip_type == 1
      weapon_set = $data_classes[@actor.class_id].weapon_set
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
          @data.push($data_weapons[i])
        end
      end
    end
    armor_set = $data_classes[@actor.class_id].armor_set
    for i in 1...$data_armors.size
      if $game_party.armor_number(i) > 0 and armor_set.include?(i)
        if $data_armors[i].kind == @equip_type-1
          @data.push($data_armors[i])
        end
      end
    end
  end
 
  @data.push(nil)
  @item_max = @data.size
  self.contents = Bitmap.new(width - 32, row_max * 32)
  self.contents.font.name = "Arial"
  self.contents.font.size = 22
  for i in 0...@item_max-1
    draw_item(i)
  end
end

end
#=================================
# End -O- Window_EquipItem mod's... -Midge-
#=================================


class Scene_Equip

def refresh
  @item_window1.visible = (@right_window.index == 0)
  @item_window2.visible = (@right_window.index == 1)
  @item_window3.visible = (@right_window.index == 2)
  @item_window4.visible = (@right_window.index == 3)
  @item_window5.visible = (@right_window.index == 4)
  item1 = @right_window.item
  case @right_window.index
  when 0
    @item_window = @item_window1
  when 1
    @item_window = @item_window2
  when 2
    @item_window = @item_window3
  when 3
    @item_window = @item_window4
  when 4
    @item_window = @item_window5
  end
  if @right_window.active
    @left_window.set_new_parameters(nil, nil, nil)
  end
  if @item_window.active
    item2 = @item_window.item
    last_hp = @actor.hp
    last_sp = @actor.sp
    @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id, item2)
    new_atk = @actor.atk
    new_pdef = @actor.pdef
    new_mdef = @actor.mdef
    @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id, item1)
    @actor.hp = last_hp
    @actor.sp = last_sp
    @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
  end
end

def update_item
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @right_window.active = true
    @item_window.active = false
    @item_window.index = -1
    return
  end
  if Input.trigger?(Input::C)
    $game_system.se_play($data_system.equip_se)
    item = @item_window.item
    @actor.equip(@right_window.index, item == nil ? 0 : item.id, item)
    @right_window.active = true
    @item_window.active = false
    @item_window.index = -1
    @right_window.refresh
    @item_window.refresh
    return
  end
end

def update
  @left_window.update
  @right_window.update
  @item_window.update
  @item_window1.refresh
  @item_window2.refresh
  refresh
  if @right_window.active
    update_right
    return
  end
  if @item_window.active
    update_item
    return
  end
end
end

class Scene_Battle


def update_phase3_basic_command
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    phase3_prior_actor
    return
  end
  if @active_battler.two_shields
    @actor_command_window.disable_item(0)
  else
    @actor_command_window.enable_item(0)
  end

 
  if Input.trigger?(Input::C)
    case @actor_command_window.index
    when 0
      if @active_battler.two_shields
        $game_system.se_play($data_system.buzzer_se)
        return          
      end
      if @active_battler.two_weapons == true
        @active_battler.current_action.kind = 0
        @active_battler.current_action.basic = 4
      else
        @active_battler.current_action.kind = 0
        @active_battler.current_action.basic = 0
      end      
      $game_system.se_play($data_system.decision_se)
      start_enemy_select
    when 1
      $game_system.se_play($data_system.decision_se)
      @active_battler.current_action.kind = 1
      start_skill_select
    when 2
      $game_system.se_play($data_system.decision_se)
      @active_battler.current_action.kind = 0
      @active_battler.current_action.basic = 1
      phase3_next_actor
    when 3
      $game_system.se_play($data_system.decision_se)
      @active_battler.current_action.kind = 2
      start_item_select
    end
    return
  end
end  
 
def make_basic_action_result
  if @active_battler.current_action.basic == 0
    @animation1_id = @active_battler.animation1_id
    @animation2_id = @active_battler.animation2_id
    if @active_battler.is_a?(Game_Enemy)
      if @active_battler.restriction == 3
        target = $game_troop.random_target_enemy
      elsif @active_battler.restriction == 2
        target = $game_party.random_target_actor
      else
        index = @active_battler.current_action.target_index
        target = $game_party.smooth_target_actor(index)
      end
    end
    if @active_battler.is_a?(Game_Actor)
      if @active_battler.armor_type.is_a?(RPG::Weapon)
        @animation1_id = @active_battler.animation3_id
        @animation2_id = @active_battler.animation4_id
      end
      if @active_battler.restriction == 3
        target = $game_party.random_target_actor
      elsif @active_battler.restriction == 2
        target = $game_troop.random_target_enemy
      else
        index = @active_battler.current_action.target_index
        target = $game_troop.smooth_target_enemy(index)
      end
    end
    @target_battlers = [target]
    for target in @target_battlers
      target.attack_effect(@active_battler)
    end
    return
  end

  if @active_battler.current_action.basic == 1
    @help_window.set_text($data_system.words.guard, 1)
    return
  end
 
  if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2
    @help_window.set_text("逃げる", 1)
    @active_battler.escape
    return
  end
 
  if @active_battler.current_action.basic == 3
    $game_temp.forcing_battler = nil
    @phase4_step = 1
    return
  end
 
  if @active_battler.current_action.basic == 4
    @animation1_id = @active_battler.animation1_id
    @animation2_id = @active_battler.animation2_id
    @animation3_id = @active_battler.animation3_id
    @animation4_id = @active_battler.animation4_id
    if @active_battler.is_a?(Game_Actor)
      if @active_battler.restriction == 3
        target = $game_party.random_target_actor
      elsif @active_battler.restriction == 2
        target = $game_troop.random_target_enemy
      else
        index = @active_battler.current_action.target_index
        target = $game_troop.smooth_target_enemy(index)
      end
    end
    @target_battlers = [target]
    for target in @target_battlers
      target.attack_effect(@active_battler)
    end    
    return
  end
end



def update_phase4_step4
 if @active_battler.is_a?(Game_Actor)    
   if @active_battler.two_weapons == true && @active_battler.sec_attack == 0
     for target in @target_battlers
       target.animation_id = @animation4_id
       target.animation_hit = (target.damage != "Miss")
       @phase4_step = 5
       return
     end
   end
 end
 for target in @target_battlers
   target.animation_id = @animation2_id
   target.animation_hit = (target.damage != "Miss")
 end
 @wait_count = 8
 @phase4_step = 5
end  

def update_phase4_step5
 @help_window.visible = false
 @status_window.refresh
 if @active_battler.is_a?(Game_Actor)    
   if @active_battler.current_action.basic == 4    
     if @active_battler.two_weapons == true && @active_battler.sec_attack == nil
       @active_battler.sec_attack = 0
       @phase4_step = 3
       return
     else
       @active_battler.sec_attack = nil
     end
   end
 end
 for target in @target_battlers
   if target.damage != nil
     target.damage_pop = true
   end
 end
 @phase4_step = 6
end
end


class Window_Command

def enable_item(index)
  draw_item(index, normal_color)
end
end
[/spoiler]

Y... todo listo. Pruebenlo para que vean. Para vagos, aquí tienen demo con demostración:

Double Weapons

Que disfruten. smile.gif
0

Share this post


Link to post
Share on other sites
como?atacas dos veces en el mismo turno?o atacas dos ala vez? blink.gif blink.gif podrias aclararrmelo?
0

Share this post


Link to post
Share on other sites
El personaje que tenga dos armas ataca dos veces en el mismo turno. Si sólo tiene equipada una arma, ataca una vez. No está nada mal. cool.gif
0

Share this post


Link to post
Share on other sites
a vale ya lo entiendo laugh.gif weeeee gracias fegarur je.gif laugh.gif
0

Share this post


Link to post
Share on other sites
Ya sabes, a mandar. xD.png
Espero verte aportar cosas. ^_^
0

Share this post


Link to post
Share on other sites
mm interesante buen script
0

Share this post


Link to post
Share on other sites
Si, y lo bueno es que es sencillo de poner. Es más sencillo que el otro.
0

Share this post


Link to post
Share on other sites
lo q abria q poners es q ataque dos vees pero haga menos daño para q no sea tan disparejo esto xD.png
0

Share this post


Link to post
Share on other sites
Hum... es cierto... pero no se exactamente cómo hacerlo... necesitamos a Xjapan. xD.png
0

Share this post


Link to post
Share on other sites
tambien el limitar ciertas armas dobles no se vallan a poner un arco y una espada por ejemplo xD.png
0

Share this post


Link to post
Share on other sites
Bueno eso hay que decircelo a makeamidget aver si lo hace. Además espcifico que no era versión final. auxilio.gif
0

Share this post


Link to post
Share on other sites
El demo ya no esta en rapid share, fue borrado por inactividad, algo asi, podrian volverlo a subir por favor?, gracias de antemano laugh.gif

Saludos laugh.gif
0

Share this post


Link to post
Share on other sites
oigan beno
ami no me funciono necesito algo????? muerte.gif
0

Share this post


Link to post
Share on other sites
Si realmente un muy buen script, buen aporte Drako, saludos
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0