iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

Keep an eye out for the upcoming 3rd Quarter Contest!
3 Pages V   1 2 3 >  
Reply to this topicStart new topic
> Targetting Extended v1.1, Unfortunately, tankentai only.
CrimsonSeas
post Dec 14 2009, 02:40 PM
Post #1



Group Icon


Type: Coder




Targetting Extended for Tankentai v1.0
by CrimsonSeas



Introduction
This skill extends how targetting works in your game. Ever want to slash your teammate away or heal your enemies? Or do you want to be able to shift single targetting skills/items to target all? You can do both with this script. There are other scripts that do things like this but I haven't found any that combines both functions, so I made own version.

Features
v1.1
-Bugfixes(thanks to Aranarther and deggy for pointing out the bugs)
-New feature: Can divide damage among all targets when switching from single to multiple targets (thanks to dorky106's post for the idea)
-Better cursor animation for the ATB version.

v1.0
-Blow away your teammate or heal up your enemies! Press L/R to switch targets between enemy members or party members.
-Pressing shift while targetting will shift single targetting skills to target all.
-Defines which skill/item IDs both feature apply or not apply to.
-Cursors!! Have a cursor over every target when targetting multiple targets.
-Automatically switches area animation in the anime hash if it is set to target enemy area or party area.


How to Use
Place all necessary script below the Tankentai and ATB(if used) core scripts.
Base Script (neeeded for both ATB and non ATB):
Spoiler:
CODE
=begin
================================================================================
Targetting Extended v 1.1
by CrimsonSeas
================================================================================
This is a script I made to extend targettting capabilities.

Features:
+Target any allies or enemies with any action. You can choose to blow your team
mate or heal your enemies by pressing L/R button at target selection.
+Press shift at target selection to change single target skills and items to
target all.
+Define which skills both feature apply or not apply to.
+Cursors!! Multiple cursors over all targets when targeting multiple targets
+Can also divide damage among all targets when switching from single to all target
================================================================================
Compatibility
================================================================================
I think there may be many issues around this. I'll list rewrites and aliases of
default and Tankentai scripts.
Rewrites:
+Game_Battler
-make_attack_targets
-make_obj_targets
+Sprite_Battler
-moving_anime

Aliases:
+Scene_Battle
-execute_action
+Game_Battler
-make_obj_damage_value
-calc_mp_cost

=================================================================================
CONFIG
================================================================================
=end
module TargetExt
#Defines whether you can attack ally or not.
  ATTACK_ANY = true
#Defines skill IDs that the 'Target Any' feature doesn't apply.
  NO_TARGET_ANY_S = []
#Defines item IDs that the 'Target Any' feature doesn't apply/
  NO_TARGET_ANY_I = [2]
#Defines skill IDs that the 'Target All' feature apply.
  TARGET_ALL_S = [59, 63]
#Defines item IDs that the 'Target All'feature apply.
  TARGET_ALL_I = [1]
#Defines damage percentage when changing target from single to all
  DAMAGE_PERCENT = 66
#Defines MP percentage when changing target from single to all
  MP_PERCENT = 150
#Defines vocabulary to be used when targetting multiple targets.
#Format is: [String1, [StringParty, StringEnemies]]
#Text shown on help window when targetting party:
#   String1 StringParty
#Text shown on help wondow when targetting enemies:
#   String1 StringEnemies
  TARGET_ALL_VOC = ["Target All", ["Allies", "Enemies"]]
#Show MP cost when 'Target All' feature is being used
  SHOW_MP_ALTER = true
#Divides damage among all targets when switching from single target to all target
  DAMAGE_DIVIDE = true
end

class Game_Battler
  def target_all
    if @target_all == nil
      @target_all = false
    end
    return @target_all
  end
  
  def inverse_target
    if @inverse_target == nil
      @inverse_target = false
    end
    return @inverse_target
  end
  
  def target_all=(target_all)
    @target_all = target_all
  end
  
  def inverse_target=(inverse_target)
    @inverse_target = inverse_target
  end
end



module RPG
  class Skill
    def all_available
      return TargetExt::TARGET_ALL_S.include?(@id)
    end
  end
  class Item
    def all_available
      return TargetExt::TARGET_ALL_I.include?(@id)
    end
  end
  class UsableItem    
    def need_selection?
      return !(@scope == 11 || @scope == 0)
    end
  end
end


class Scene_Battle
  alias crmsn_end_target end_target_selection
  def end_target_selection(*args)
    if @cursor2 != nil
      dispose_cursor_all
    end
    crmsn_end_target(*args)
  end
  
  def cursor_all_visible(value)
    for cursor in @cursor2
      cursor.visible = value
    end
  end
  
  
  def dispose_cursor_all
    return if @cursor2 == nil
    for cursor in @cursor2
      cursor.dispose
      cursor = nil
    end
    @cursor2 = nil
  end
  
  alias targetext_execute_action execute_action
  def execute_action
    targetext_execute_action
    @active_battler.target_all = false
    @active_battler.inverse_target = false
  end
end

class Game_BattleAction
  def make_attack_targets
    targets = []
    if battler.confusion?
      targets.push(friends_unit.random_target)
    elsif battler.berserker?
      targets.push(opponents_unit.random_target)
    else
      targets.push(opponents_unit.smooth_target(@target_index)) unless battler.inverse_target
      targets.push(friends_unit.smooth_target(@target_index)) if battler.inverse_target
    end
    if battler.dual_attack      # Chain attack
      targets += targets
    end
    return targets.compact
  end
  #--------------------------------------------------------------------------
  # * Create Skill or Item Targets
  #     obj : Skill or item
  #--------------------------------------------------------------------------
  def make_obj_targets(obj)
    targets = []
    if obj.for_opponent?
      if obj.for_random?
        if obj.for_one?         # One random enemy
          number_of_targets = 1
        elsif obj.for_two?      # Two random enemies
          number_of_targets = 2
        else                    # Three random enemies
          number_of_targets = 3
        end
        number_of_targets.times do
          targets.push(opponents_unit.random_target) unless battler.inverse_target
          targets.push(friends_unit.random_target) if battler.inverse_target
        end
      elsif obj.dual?           # One enemy, dual
        targets.push(opponents_unit.smooth_target(@target_index)) unless battler.inverse_target
        targets.push(friends_unit.smooth_target(@target_index)) if battler.inverse_target
        targets += targets
      elsif obj.for_one?  
        if obj.all_available && battler.target_all
          targets += opponents_unit.existing_members unless battler.inverse_target
          targets += friends_unit.existing_members if battler.inverse_target
        else
          targets.push(opponents_unit.smooth_target(@target_index)) unless battler.inverse_target
          targets.push(friends_unit.smooth_target(@target_index)) if battler.inverse_target
        end
      else                      # All enemies
        targets += opponents_unit.existing_members unless battler.inverse_target
        targets += friends_unit.existing_members if battler.inverse_target
      end
    elsif obj.for_user?         # User
      targets.push(battler)
    elsif obj.for_dead_friend?
      if obj.for_one?           # One ally (incapacitated)
        targets.push(friends_unit.smooth_dead_target(@target_index)) unless battler.inverse_target
        targets.push(opponents_unit.smooth_target(@target_index)) if battler.inverse_target
      else                      # All allies (incapacitated)
        targets += friends_unit.dead_members unless battler.inverse_target
        targets += opponents_unit.existing_members if battler.inverse_target
      end
    elsif obj.for_friend?
      if obj.for_one?           # One ally
        if obj.all_available && battler.target_all
          targets += friends_unit.existing_members unless battler.inverse_target
          targets += opponents_unit.existing_members if battler.inverse_target
        else
          targets.push(friends_unit.smooth_target(@target_index)) unless battler.inverse_target
          targets.push(opponents_unit.smooth_target(@target_index)) if battler.inverse_target
        end
      else                      # All allies
        targets += friends_unit.existing_members unless battler.inverse_target
        targets += opponents_unit.existing_members if battler.inverse_target
      end
    end
    return targets.compact
  end
end

class Sprite_Battler
  def moving_anime
    # まだ‰の‚ƒ‹ƒ›ば—Œ‹って„‚‹な‚‰ˆœŸŒ–
    @move_anime.action_reset if @anime_moving
    @anime_moving = true
    # ƒƒƒ‚‚‚ƒƒ‚中は‚ƒ‹ƒ€武™”ƒ反転
    mirror = false
    mirror = true if $back_attack
    # ‚ƒ‹ƒID
    id = @active_action[1]
    # 対象
    target = @active_action[2]
    x = y = mem = 0
    # 対象Œ˜“の場ˆ
    if target == 0
      # ‚ƒ‚ƒƒƒˆŒ決まってな„場ˆ€‡身に‰›
      if @target_battler == nil
        x = self.x
        y = self.y
      else
        # ‚ƒ‚ƒƒƒˆŒ空の場ˆ€‡身に‰›
        if @target_battler[0] == nil
          x = self.x
          y = self.y
        else  
          # œ€ˆに…って„‚‹‚ƒ‚ƒƒƒˆに対象決š
          x = @target_battler[0].position_x
          y = @target_battler[0].position_y
        end  
      end  
    # 対象Œ•の中ƒの場ˆ  
    elsif target == 1
      # ‡身Œ‚‚‚ƒの場ˆは‚ƒƒŸƒの中ƒ‚’ˆ—
      if (@battler.is_a?(Game_Actor) && !@battler.inverse_target)
        for target in $game_troop.members
          bitmap = Cache.battler(target.battler_name, target.battler_hue)
          ox = bitmap.width/2
          oy = bitmap.height/2
          x += target.position_x + ox
          y += target.position_y + oy
          mem += 1
        end
        x /= mem
        y /= mem
      # ‡身Œ‚ƒƒŸƒの場ˆは‚‚‚ƒの中ƒ‚’ˆ—
      else
        for target in $game_party.members
          ox = 16
          oy = 16
          x += target.position_x + ox
          y += target.position_y + oy
          mem += 1
        end
        x /= mem
        y /= mem
      end
    # 対象Œ‘–の中ƒの場ˆ  
    elsif target == 2
      # ‡身Œ‚‚‚ƒの場ˆは‚‚‚ƒの中ƒ‚’ˆ—
      if @battler.is_a?(Game_Actor)
        for target in $game_party.members
          x += target.position_x
          y += target.position_y
          mem += 1
        end
        x = x / mem
        y = y / mem
      # ‡身Œ‚ƒƒŸƒの場ˆは‚ƒƒŸƒの中ƒ‚’ˆ—
      else
        for target in $game_troop.members
          x += target.position_x
          y += target.position_y
          mem += 1
        end
        x = x / mem
        y = y / mem
      end
    # 対象Œ‡身の場ˆ  
    else
      x = self.x
      y = self.y
    end  
    # –‹‹位置の微調•
    plus_x = @active_action[6]
    plus_y = @active_action[7]
    # ‚ƒƒŸƒはX軸‚’€†に
    plus_x *= -1 if @battler.is_a?(Game_Enemy)
    # œ€‚š„な移‹•距›‚’—‡
    distanse_x = x - self.x - plus_x
    distanse_y = y - self.y - plus_y
    # ›ば—‚‚ƒ—
    type = @active_action[3]
    # €Ÿ度
    speed = @active_action[4]
    # Œ“
    orbit = @active_action[5]
    # ‡身Œ–‹‹位置な‚‰
    if @active_action[8] == 0
      @move_anime.base_x = self.x + plus_x
      @move_anime.base_y = self.y + plus_y
    # 対象Œ–‹‹位置な‚‰
    elsif @active_action[8] == 1
      @move_anime.base_x = x + plus_x
      @move_anime.base_y = y + plus_y
      # 距›‚’反対に
      distanse_y = distanse_y * -1
      distanse_x = distanse_x * -1
    # ‹•‹•な„な‚‰
    else
      @move_anime.base_x = x
      @move_anime.base_y = y
      distanse_x = distanse_y = 0
    end
    # 武™‚‚‚ƒƒな—は武™表示—な„
    if @active_action[10] == ""
      weapon = ""  
    # ‚ƒ‹ƒな—‚ƒƒŸƒは武™表示—な„
    elsif @anime_flug != true
      weapon = ""  
    # 武™‚‚‚ƒƒŒ‚‚‹場ˆ
    else
      # ›ば™武™‚ƒƒ•‚ƒƒ‚ŒŒ‡š•‚Œて„‚‹‹ƒ‚ƒƒ‚
      if @battler.is_a?(Game_Actor)
        battler = $game_party.members[@battler.index]
        weapon_id = battler.weapon_id
      else  
        battler = $game_troop.members[@battler.index]
        weapon_id = battler.weapon
      end  
      # ‚‚ƒ”ƒˆ”‹武™”ƒˆ”‹ˆˆ
      weapon_act = N01::ANIME[@active_action[10]].dup if @active_action[10] != ""
      # 武™”ƒˆ”で素‰‹でな‘‚Œば
      if weapon_id != 0 && weapon_act.size == 3
        weapon_file = $data_weapons[weapon_id].flying_graphic
        # ˆ”ƒŒŒ‡š•‚Œて„な‘‚Œば—˜の武™‚ƒƒ•‚ƒƒ‚‚’–—
        if weapon_file == ""
          weapon_name = $data_weapons[weapon_id].graphic
          icon_weapon = false
          # •‚‰にŒ‡šŒな‘‚Œば‚‚‚ƒ‚ƒƒ•‚ƒƒ‚‚’ˆ”
          if weapon_name == ""
            weapon_name = $data_weapons[weapon_id].icon_index
            icon_weapon = true
          end  
        # Œ‡š•‚Œて„‚Œばその‚ƒƒ•‚ƒƒ‚名‚’–—  
        else
          icon_weapon = false
          weapon_name = weapon_file
        end
        # 武™‚‚‚ƒƒƒ…報‚’–—
        weapon = @active_action[10]
      # 武™”ƒˆ”で素‰‹な‚‰表示—な„
      elsif weapon_act.size == 3
        weapon = ""
      # ‚‚ƒ”ƒˆ”
      elsif weapon_act != nil && @battler.action.skill != nil
        icon_weapon = false
        weapon_name = $data_skills[@battler.action.skill.id].flying_graphic
        weapon = @active_action[10]
      end
    end
    # Z座™‚’決š
    @move_anime.z = 1
    @move_anime.z = 1000 if @active_action[9]
    # 以Šのƒ…報‚’…て‚ƒ‹ƒ›ば—‚ƒ—ƒ‚ƒˆに€‚‹
    @move_anime.anime_action(id,mirror,distanse_x,distanse_y,type,speed,orbit,weapon,weapon_name,icon_weapon)
  end  
end

class Game_Battler
  alias targetext_make_obj_dmg make_obj_damage_value
  def make_obj_damage_value(user, obj)
    targetext_make_obj_dmg(user, obj)
    if user.target_all && obj.all_available
      if @hp_damage != 0
        @hp_damage *= TargetExt::DAMAGE_PERCENT
        @hp_damage /= 100
        @hp_damage /= user.action.make_targets.size if TargetExt::DAMAGE_DIVIDE && user.target_all
      end
      if @mp_damage != 0
        @mp_damage *= TargetExt::DAMAGE_PERCENT
        @mp_damage /= 100
        @mp_damage /= user.make_targets.size if TargetExt::DAMAGE_DIVIDE && user.target_all
      end
    end
  end
  
  alias targetext_calc_mp_cost calc_mp_cost
  def calc_mp_cost(skill)
    cost = targetext_calc_mp_cost(skill)
    if self.target_all && skill.all_available
      cost *= TargetExt::MP_PERCENT
      cost /= 100
    end
    return cost
  end
end


For Non ATB:
Spoiler:
CODE
=begin
################################################################################
Targetting Extended for Tankentai Non-ATB v1.1
by CrimsonSeas
################################################################################
Use with the base script to enable the targetting extended.

This script adds to the rewrites list of the base script

Rewrites:
+Scene_Battle
-start_target_selection
-select_member
################################################################################
=end
class Scene_Battle
  def start_target_selection(actor = false)
    members = $game_party.members if actor
    members = $game_troop.members unless actor
    if @active_battler.action.kind == 1
      obj = @active_battler.action.skill
    elsif @active_battler.action.kind == 2
      obj = @active_battler.action.item
    end
    case obj
    when nil
      @target_any = TargetExt::ATTACK_ANY
    when RPG::Skill
      @target_any = !TargetExt::NO_TARGET_ANY_S.include?(@active_battler.action.skill.id)
    when RPG::Item
      @target_any = !TargetExt::NO_TARGET_ANY_I.include?(@active_battler.action.item.id)
    end
    if obj != nil && obj.extension.include?("TARGETALL")
      members = $game_party.members + $game_troop.members
    end
    # ‚ƒ‚ƒ‚ƒ—ƒ‚ƒˆのœˆ
    @cursor = Sprite.new
    @cursor.bitmap = Cache.character("cursor")
    @cursor.src_rect.set(0, 0, 32, 32)
    @cursor_flame = 0
    @cursor.x = -200
    @cursor.y = -200
    @cursor.ox = @cursor.width
    @cursor.oy = @cursor.height
    @all = false
    @all  = [2, 4, 5, 6, 8, 10].include?(obj.scope) || obj.extension.include?("TARGETALL") if obj != nil
    @cursor.visible = !@all
    # ‚ƒ‚ƒƒƒˆ名‚’表示™‚‹ƒ˜ƒƒ—‚‚ƒƒ‰‚‚’œˆ
    @help_window.visible = false if @help_window != nil
    @help_window2 = Window_Help.new if @help_window2 == nil
    # 不要な‚‚ƒƒ‰‚‚’ˆ™
    @actor_command_window.active = false
    @skill_window.visible = false if @skill_window != nil
    @item_window.visible = false if @item_window != nil
    # ˜œ—て„‚‹‚ƒ‚ƒƒƒˆでœ€‚‚•号のŽ„対象‚’œ€ˆにŒ‡™‚ˆ†に
    @index = 0
    @max_index = members.size - 1
    # ‚‚‚ƒはˆ—˜不ƒ€…で‚‚‚ƒ‚ƒƒƒˆでき‚‹‚ˆ†に‚ƒƒŸƒとŒˆ
    unless actor
      members.size.times do
        break if members[@index].exist?
        @index += 1
      end
    end  
    @help_window2.set_text(members[@index].name, 1)
    if @all
      string1 = TargetExt::TARGET_ALL_VOC[0]
      string2 = actor ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
      string1 += " " + string2 unless obj.extension.include?("TARGETALL")
      @help_window2.set_text(string1, 1)
      make_cursor_all(members)
    end
    select_member(members, actor)
  end
  #--------------------------------------------------------------------------
  # — ‚ƒ‚ƒƒƒˆ選Šž
  #--------------------------------------------------------------------------
  def select_member(targets, actor = true)
    members = targets
    if @active_battler.action.kind == 1
      obj = @active_battler.action.skill
    elsif @active_battler.action.kind == 2
      obj = @active_battler.action.item
    end
    loop do
      update_basic
      @cursor_flame = 0 if @cursor_flame == 30
      @cursor.src_rect.set(0,  0, 32, 32) if @cursor_flame == 29
      @cursor.src_rect.set(0, 32, 32, 32) if @cursor_flame == 15
      point = @spriteset.set_cursor(actor, @index)
      @cursor.x = point[0]
      @cursor.y = point[1]
      @cursor_flame += 1
      if Input.trigger?(Input::B)
        Sound.play_cancel
        end_target_selection
        break
      elsif Input.trigger?(Input::C)
        Sound.play_decision
        @active_battler.action.target_index = @index
        end_target_selection
        end_skill_selection
        end_item_selection
        next_actor
        break
      end
      if Input.repeat?(Input::LEFT) && !(@all || @active_battler.target_all)
        if actor
          cursor_down(members, actor) if $back_attack
          cursor_up(members, actor) unless $back_attack
        else
          cursor_up(members, actor) if $back_attack
          cursor_down(members, actor) unless $back_attack
        end  
      end
      if Input.repeat?(Input::RIGHT) && !(@all || @active_battler.target_all)
        if actor
          cursor_up(members, actor) if $back_attack
          cursor_down(members, actor) unless $back_attack
        else
          cursor_down(members, actor) if $back_attack
          cursor_up(members, actor) unless $back_attack
        end
      end
      if (Input.trigger?(Input::L) || Input.trigger?(Input::R)) && @target_any
        if members == $game_party.members
          members = $game_troop.members
          actor = false
        elsif members == $game_troop.members
          members = $game_party.members
          actor = true
        end
        if @active_battler.inverse_target
          @active_battler.inverse_target = false
        else
          @active_battler.inverse_target = true
        end
        @index = 0 if @index >= members.size
        @max_index = members.size - 1
        # ‚‚‚ƒはˆ—˜不ƒ€…で‚‚‚ƒ‚ƒƒƒˆでき‚‹‚ˆ†に‚ƒƒŸƒとŒˆ
        unless actor
          members.size.times do
            break if members[@index].exist?
            @index += 1
          end
        end
        if @cursor != nil
          dispose_cursor_all
          make_cursor_all(members)
          cursor_all_visible(@active_battler.target_all || @all)
        end
        if @active_battler.target_all || @all
          string1 = TargetExt::TARGET_ALL_VOC[0]
          string2 = actor ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
          string1 += " " + string2 unless obj.extension.include?("TARGETALL")
          if TargetExt::SHOW_MP_ALTER && @active_battler.target_all && obj.is_a?(RPG::Skill)
          cost = @active_battler.calc_mp_cost(obj)
          string1 += ": " + cost.to_s + Vocab::mp
          end
          @help_window2.set_text(string1, 1)
        end
        @help_window2.set_text(members[@index].name, 1) if !@active_battler.target_all && !@all
        Sound.play_cursor
      end
      if Input.trigger?(Input::A) && !@all && obj != nil
        if obj.all_available
          Sound.play_cursor
          if @active_battler.target_all
            @active_battler.target_all = false
            @cursor.visible = true
            cursor_all_visible(false) if @cursor2 != nil
            @help_window2.set_text(members[@index].name, 1)
          else
            @active_battler.target_all = true
            @cursor.visible = false
            make_cursor_all(members) if @cursor2 == nil
            cursor_all_visible(true)
            string1 = TargetExt::TARGET_ALL_VOC[0]
            string2 = actor ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
            string1 += " " + string2 unless obj.extension.include?("TARGETALL")
            if TargetExt::SHOW_MP_ALTER && @active_battler.target_all &&  obj.is_a?(RPG::Skill)
              cost = @active_battler.calc_mp_cost(obj)
              string1 += ": " + cost.to_s + Vocab::mp
            end
            @help_window2.set_text(string1 , 1)
          end
        end
      end
      cursor_up(members, actor) if Input.repeat?(Input::UP) && !(@all || @active_battler.target_all)
      cursor_down(members, actor) if Input.repeat?(Input::DOWN) && !(@all || @active_battler.target_all)
    end
  end
  
  def make_cursor_all(members)
    @cursor2 = []
    for i in 0...members.size
      next if members == $game_troop.members && !members[i].exist?
      @cursor2[i] = Sprite.new
      @cursor2[i].bitmap = Cache.character("cursor")
      @cursor2[i].src_rect.set(0, 0, 32, 32)
      @cursor2[i].x = members[i].position_x - 48
      @cursor2[i].y = members[i].position_y - 48
    end
    @cursor2.compact!
  end
end


For ATB:
Spoiler:
CODE
=begin
################################################################################
Targetting Extended for Tankentai ATB v1.1
by CrimsonSeas
###############################################################################
Use this with the base script to enable Targetting Extended

This Tankentai ATB adds to the rewrites list of the base script
Rewrites:
+Scene_Battle
-start_target_actor_selection
-update_target
+Window_Help
-set_text_n02add
################################################################################
=end
class Scene_Battle
  def start_target_selection(actor = false)
    $in_target = true
    $in_command = $in_select = false
    if @commander.action.kind == 1
      obj = @commander.action.skill
    elsif @commander.action.kind == 2
      obj = @commander.action.item
    end
    case obj
    when nil
      @target_any = TargetExt::ATTACK_ANY
    when RPG::Skill
      @target_any = !TargetExt::NO_TARGET_ANY_S.include?(@commander.action.skill.id)
    when RPG::Item
      @target_any = !TargetExt::NO_TARGET_ANY_I.include?(@commander.action.item.id)
    end
    @all = false
    @all  = [2, 4, 5, 6, 8, 10].include?(obj.scope) || obj.extension.include?("TARGETALL") if obj != nil
    @target_actors = actor
    @target_members = $game_party.members if @target_actors && !obj.extension.include?("TARGETALL")
    @target_members = $game_troop.members unless @target_actors && ! obj.extension.include?("TARGETALL")
    @target_members = $game_troop.members + $game_party.members if obj != nil && obj.extension.include?("TARGETALL")
    # 不要な‚‚ƒƒ‰‚‚’ˆ™
    @actor_command_window.active = false
    @skill_window.visible = false if @skill_window != nil
    @item_window.visible = false if @item_window != nil
    # ˜œ—て„‚‹‚ƒ‚ƒƒƒˆでœ€‚‚•号のŽ„対象‚’œ€ˆにŒ‡™‚ˆ†に
    @index = 0
    @max_index = @target_members.size - 1
    # ‚‚‚ƒはˆ—˜不ƒ€…で‚‚‚ƒ‚ƒƒƒˆでき‚‹‚ˆ†に‚ƒƒŸƒとŒˆ
    unless @target_actors
      @target_members.size.times do
        break if @target_members[@index].exist?
        @index += 1
      end
    end  
    # ‚ƒ‚ƒ‚ƒƒƒˆ
    @cursor.visible = true unless @all
    @cursor.visible = false if @all
    if @all
      make_cursor_all
    end
    @cursor.set(@target_members[@index]) unless @all
    @help_window.visible = false if @help_window != nil
    @help_window2 = Window_Help.new if @help_window2 == nil
    @help_window2.set_text_n02add(@target_members[@index]) unless @all
    if @all
      string1 = TargetExt::TARGET_ALL_VOC[0]
      string2 = actor ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
      string1 += " " + string2 unless obj.extension.include?("TARGETALL")
      @help_window2.set_text(string1, 1)
    end
  end
  
  def update_target
    # ‚ƒžƒƒ‰…Š›でき‚‹Š…‹でなくな‚Œば‚ƒƒ‚ƒ
    if @cursor2 != nil
      if !@target_actors && (@all || @commander.target_all) && @cursor2.size != $game_troop.existing_members.size
        dispose_cursor_all
        make_cursor_all
      end
      for cursor in @cursor2
        cursor.update if cursor.visible
      end
    end
    return reset_command unless commanding?
    return end_target_selection(cansel = true) if $game_troop.all_dead?
    if @index >= @target_members.size
      @index = 0
    end
    cursor_down if !@target_members[@index].actor? && !@target_members[@index].exist? && !@commander.target_all && !@all
    if Input.trigger?(Input::B)
      Input.update
      @commander.target_all = false
      @commander.inverse_target = false
      Sound.play_cancel
      end_target_selection(cansel = true)
      dispose_cursor_all if @cursor2 != nil
    elsif Input.trigger?(Input::C)
      Input.update
      Sound.play_decision
      @commander.action.target_index = @index unless @commander.target_all || @all
      end_target_selection
      end_skill_selection
      end_item_selection
      @actor_command_window.active = false
      dispose_cursor_all if @cursor2 != nil
      next_actor
    end
    if Input.repeat?(Input::LEFT) && !@commander.target_all && !@all
      if @target_actors
        cursor_down if $back_attack
        cursor_up unless $back_attack
      else
        cursor_up if $back_attack
        cursor_down unless $back_attack
      end  
    end
    if Input.repeat?(Input::RIGHT) && !@commander.target_all && !@all
      if @target_actors
        cursor_up if $back_attack
        cursor_down unless $back_attack
      else
        cursor_down if $back_attack
        cursor_up unless $back_attack
      end
    end
    if @commander != nil && @commander.action.kind == 1
      obj = @commander.action.skill
    elsif @commader != nil && @commander.action.kind == 2
      obj = @commander.action.item
    end
    if Input.trigger?(Input::A) && !@all && obj != nil
      if obj.all_available
        Sound.play_cursor
        if @commander.target_all
          @commander.target_all = false
          @cursor.visible = true
          dispose_cursor_all if @cursor2 != nil
          @help_window2.set_text_n02add(@target_members[@index])
        else
          @commander.target_all = true
          @cursor.visible = false
          make_cursor_all if @cursor2 == nil
          cursor_all_visible(true)
          string1 = TargetExt::TARGET_ALL_VOC[0]
          string2 = @target_actors ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
          string1 += " " + string2 unless obj.extension.include?("TARGETALL")
          if TargetExt::SHOW_MP_ALTER && @commander.target_all && obj.is_a?(RPG::Skill)
            cost = @commander.calc_mp_cost(obj)
            string1 += ": " + cost.to_s + Vocab::mp
          end
          @help_window2.set_text(string1 , 1)
        end
      end
    end
    if (Input.trigger?(Input::L) || Input.trigger?(Input::R)) && @target_any
      if @target_actors
        @target_actors = false
        @target_members = $game_troop.members
      else
        @target_actors = true
        @target_members = $game_party.members
      end
      @index = 0 if @index >= @target_members.size
      unless @target_actors
        @target_members.size.times do
          break if @target_members[@index].exist?
          @index += 1
        end
      end
      if @commander.inverse_target
        @commander.inverse_target = false
      else
        @commander.inverse_target = true
      end
      if @cursor2 != nil
        dispose_cursor_all
        make_cursor_all
        cursor_all_visible(!@cursor.visible)
      end
      if @commander.target_all || @all
        string1 = TargetExt::TARGET_ALL_VOC[0]
        string2 = @target_actors ? TargetExt::TARGET_ALL_VOC[1][0] : TargetExt::TARGET_ALL_VOC[1][1]
        strings = string1 + " " + string2
        if TargetExt::SHOW_MP_ALTER && @commander.target_all && obj.is_a?(RPG::Skill)
          cost = @commander.calc_mp_cost(obj)
          strings += ": " + cost.to_s + Vocab::mp
        end
        @help_window2.set_text(strings , 1)
      end
      @cursor.set_battler_start(@target_members[@index]) if @cursor.visible
      @cursor.set(@target_members[@index])
      @cursor.visible = !@all && !@commander.target_all
      @help_window2.set_text_n02add(@target_members[@index]) if !@commander.target_all && !@all
    end
    cursor_up if Input.repeat?(Input::UP) && !@commander.target_all && !@all
    cursor_down if Input.repeat?(Input::DOWN) && !@commander.target_all && !@all
  end
  
  def make_cursor_all
    @cursor2 = []
    for i in 0...@target_members.size
      next if @target_members == $game_troop.members && !@target_members[i].exist?
      @cursor2[i] = Sprite_Cursor.new
      @cursor2[i].set_area(@target_members == $game_party.members)
      @cursor2[i].set(@target_members[i])
    end
    @cursor2.compact!
  end
end

class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # — ƒ†‚‚ƒˆ設š
  #--------------------------------------------------------------------------
  def set_text_n02add(member)
    return if member == nil
    self.contents.clear
    self.contents.font.color = normal_color
    if !member.actor? && N02::ENEMY_NON_DISPLAY.include?(member.enemy_id)
      return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
    elsif member.actor? && !N02::ACTOR_DISPLAY
      return self.contents.draw_text(4, 0, self.width - 40, WLH, member.name, 1)
    end
    if N02::WORD_STATE_DISPLAY && N02::HP_DISPLAY
      self.contents.draw_text(0, 0, 180, WLH, member.name, 1)
      draw_actor_hp(member, 182, 0, 120)
      text = "["
      for state in member.states
        next if N02::STATE_NON_DISPLAY.include?(state.id)
        text += " " if text != "["
        text += state.name
      end
      text += N02::WORD_NORMAL_STATE if text == "["
      text += "]"
      text = "" if text == "[]"
      self.contents.draw_text(315, 0, 195, WLH, text, 0)
    elsif N02::WORD_STATE_DISPLAY
      text = member.name + "  ["
      for state in member.states
        next if N02::STATE_NON_DISPLAY.include?(state.id)
        text += " " if text != member.name + "  ["
        text += state.name
      end
      text += N02::WORD_NORMAL_STATE if text == member.name + "  ["
      text += "]"
      text = "" if text == "[]"
      self.contents.draw_text(4, 0, self.width - 40, WLH, text, 1)
    elsif N02::HP_DISPLAY
      self.contents.draw_text(4, 0, 240, WLH, member.name, 1)
      draw_actor_hp(member, 262, 0, 120)
    end
    @text = text
  end
end

class Sprite_Cursor
  def set_area(actor = true)
    temp_x = 0
    temp_y = 0
    n = 0
    unit = $game_party.existing_members if actor
    unit = $game_troop.existing_members unless actor
    for battler in unit
      temp_x += battler.position_x
      temp_y += battler.position_y
      n += 1
    end
    self.x = temp_x / n
    self.y = temp_y /n
  end
  
  def set_battler_start(battler)
    self.x = battler.position_x
    self.y = battler.position_y
  end
end


Further instructions are in the base script's header


FAQ
Q: Can you make this for other battle systems?
A: No. It's too much of hassle, and I've wasted 2.5 hours only to make the non ATB version, so don't expect me to make this for other battle systems. For the default battle system I recommend yuuto's battle scope changer found on this forums also (don't ask me the link, use the search function), although it doesn't have 'Target Any' feature, it still has a good 'Target All' feature.

Q: I get error(s)
A: Post what error that you got here, and please look in the rewrite and alias lists in my scripts header to determine what other scripts might be conflicting. This will help a lot for me to make the fixes.

Q: Please give screenshots/demo!
A: Screenshots can't really show it very well, and I'm not in the mood to make demos, so you can just try it out firsthand,

Q: I saw other scripts like this already.
A: Then pick one that you like best.

Credit and Thanks
CrimsonSeas

This post has been edited by CrimsonSeas: Dec 15 2009, 06:32 AM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
eggrollninja
post Dec 14 2009, 03:54 PM
Post #2


You rang?
Group Icon


Type: Designer
Alignment: True Neutral




Holy taco man, people have been waiting for a script like this for SBS for a long time now, thanks CrimsonSeas ^^


--------------------
<Leads to my resource page now

I support:
Spoiler:







Go to the top of the page
 
+Quote Post
   
piejamas
post Dec 14 2009, 04:19 PM
Post #3


Pump up the pie, yo!
Group Icon


Type: Coder
Alignment: Neutral Good




Awesome, definitely a script that should be incorporated into the next version laugh.gif
Go to the top of the page
 
+Quote Post
   
Sasame Kiryu
post Dec 14 2009, 04:23 PM
Post #4


どのような
Group Icon


Type: Writer
Alignment: Chaotic Neutral




These scripts are godsends. All of your scripts breath life into the otherwise plain looking Sideview Battle System.

Thanks a million.
Go to the top of the page
 
+Quote Post
   
las Plagues
post Dec 14 2009, 06:56 PM
Post #5



Group Icon






whoa with out a doubt you make the best tankentai exclusive scripts!!!!
Go to the top of the page
 
+Quote Post
   
dorky106
post Dec 14 2009, 09:03 PM
Post #6



Group Icon


Type: Undisclosed




is the damage divided up among the enemies or is it same damage on all the enemies?
Go to the top of the page
 
+Quote Post
   
Aranarther
post Dec 14 2009, 09:09 PM
Post #7


Boredom ;_;
Group Icon


Type: Artist
Alignment: Chaotic Evil




Hmm I noticed a little bug, thats when u choose to target all and then go back to target one, the flashes don't stop on the rest.

EDIT: Oh dang just noticed another bug (I always seem to find the bugs as soon as I try them); when there are more enemies then allies in a battle like 6 enemies and 4 allies and u try to change the scope from enemy 5, you will get an error:

(sorry, too lazy for a screenshot)
CODE
Script '.....' line 83: NoMethodError occured.
undefined method `actor?' for nil:NillClass


I guess I understand why the error occurs but I'm really not in the mood too find out how to fix >_>.

EDIT2: :/ I seem to have found a new bug; I noticed that when you change the scope from one to all to one to all, it doesn't change to the name & MP cost anymore. Sorry >_> I think thats all of them.

This post has been edited by Aranarther: Dec 14 2009, 09:28 PM


--------------------
Current Game In Progress:


Spoiler:

Progress:
  • Storyline: 60%
  • Characters: 100%
  • Enemies: 70%
  • Mapping: 40%
  • Eventing: 10% (I don't like eventing, so I'll do it later/last)
  • Database: 60%
  • System: 95% (only some bugfixes and optimizing left)
Go to the top of the page
 
+Quote Post
   
piejamas
post Dec 14 2009, 09:12 PM
Post #8


Pump up the pie, yo!
Group Icon


Type: Coder
Alignment: Neutral Good




QUOTE (dorky106 @ Dec 14 2009, 09:03 PM) *
is the damage divided up among the enemies or is it same damage on all the enemies?

Same as with the default.
Go to the top of the page
 
+Quote Post
   
deggy888
post Dec 14 2009, 10:53 PM
Post #9



Group Icon


Type: Undisclosed




A small note I just want to point out.

It seems to override the default sound set by the Tankentai config for "Same as Normal attack" so instead of playing the default tankentai unarmed sound it plays the attack sound from the default battle system (the one that sounds nothing like an actual enemy attack tongue.gif).

It looks like a great script, but the bug above is a very big bug at the moment. I can also confirm that bug.

Keep up the good work though!


--------------------
Think you should make a RPG or not? Find out now!

Spoiler:
DISCLAIMER: These are just for fun and are not meant to be taken seriously. Do not get angry/flame me about these. You have been warned!

- The BIG Question of the Year.
~ Can you read? Dialogue, scripts, configurations, instructions, etc. All of these require extensive knowledge in the skill known as "reading". No one wants to see another topic made by you in which you complain about something not working because you are just such an awesome "special" person that you didn't read the instructions!
~ Oh my god, you can read? Move on to the next section please!

- Is it a fan game about a popular anime/video game?
~ Stop right now, flush your RPG dreams down the toilet. The last the world needs is another terrible Naruto fan game.
~ As much as people enjoyed FF, we wont enjoy your rendition of it on RPG Maker. No, sorry. We wont.
~ Pokemon doesn't work well on RPG Maker. Sorry, but you can join the other 500 half-baked/finished projects about pokemon that will never be.
~ Is your fan game about another anime/video game? It may work if it isn't one of those 3, so please continue down the list!

- What is the story about?
~ Do you start out poor, homeless, in a village, or any of those combined? Flush your RPG dreams down the toilet now. We've seen it all.
~ Do you have a love interest in your game? *Yawn*... next...
~ Do you fight against evil which may or may not be a large corporation/business/empire/kingdom? God, shoot me now.
~ Does one/more/all of your important characters join the army during your story? What are you? An army recruiter?
~ Does your main character have an extravagant hair style and carry a large sword/blade/retarded gun-blade? Die in a fire now.
~ Is your main character emo/overly sensitive? Have him/her cut him/herself forever in your head but don't make us be subjected to that.
~ Are you collecting some magical set of items/crystals/artifacts that cause something major? Hmm... Where have I heard that one before...
~ None of these? Let's move on!

- How do you want the RPG to be built structurally?
~ How long do you want your RPG to be anyways? 40 hours? 60 hours? Grandiose much?
~ Is this a team project or a single project? If you want it to be 40 hours, it better be a damn team or you have WAY too much free time...
~ IF SINGLE: Can you create/search for your own resources? If not, can you use generators to make your own resources? Yay Famitsu!
~ IF TEAM: Can you treat your team members as teammates instead of "tools you use for free resources"? "Go ahead and send me everything, but I won't let you see the unfinished project. You might steal it." Sadly, in most project recruitment threads, you do see this sense of distrust from the team leader. T-E-A-M, not I A-M A J-A-C-K-A-S-S please.
~ Are you good at dialogue? This is the meat and bones of an RPG as it reflects the story. If you are terrible at it, then please just stop now.
~ Are you good at eventing? Map transfers, doors, and treasure chests DO NOT count. If you don't know how to do it, you're in trouble.
~ Do you understand what scripts you are looking for? This requires some planning ahead on what exactly you want in your game. Too many times I see games get boggled down by having a bunch of unnecessary scripts that do more harm than good.
~ IF YES: Do you know how to modify/READ these scripts to edit what you need/don't need from them? User Configurations love you.
~ IF NO: If this isn't an RTP game, then please just stop now.
~ CAN YOU SPELL? Please stop if you can't be bothered to run a spell check. If you can't spend the time to do that, you shouldn't spend the time to make an RPG that will be discredited due to spelling/grammar.
~ You have an actual plan? Amazing! Let's continue then shall we?

- Do you know how to polish/fine-tune/test your game?
~ Can you safely say that your database setup leads to balanced game play? If the tutorial can wipe out my entire party... there's a problem.
~ Are you willing to go through the same scene you created MANY TIMES just to test? Better get used to it bud... If not, don't bother.
~ Are you willing to release demos? Demos are a good way to get some constructive feedback on your game and spark interest.
~ IF YES: Can you take criticism? If not, don't ever make an RPG.
~ IF NO: Do you feel that you can polish it enough by yourself/with your team and be impartial when testing before release? Sometimes, you may be blinded by your love of your work to see the shortcomings of your game. I highly recommend you let at least a few non-team members play a demo.
~ Are you willing to return to previous areas to upgrade/enhance areas that are lacking? How many times have you gone back to the first map now? For me, it's been about 500+ times. If you can't do that, then you will push out a mediocre game most likely.
~ Are you willing to take out features that are deemed unnecessary/harmful to the overall play experience? Sometimes, you don't need that picture of Naruto on the bottom right hand corner of the game... If you can't, then don't expect to finish your game with much fanfare from potential players.
~ So you think you can take on the rigors of polishing? Almost done then!

- Do you have proper forum etiquette when browsing the forums?
DISCLAIMER: This may be considered a bonus section, as its not required of RPGs to frequent forums; you're here though reading this so this probably falls on deaf ears anyways...
~ Do you necropost? Every time you necropost, an admin shoots a puppy wagging its tail.
~ Do you talk like a 14 year old or under? YA I NO RITE WH3rES MY NARUT0Z?! I <3 SASUK3!
~ IF YES: Are you 14 years old or under? If not, shame on you. If yes, then there might be better things to do at your age than try to make an RPG...
~ IF NO: Can you talk maturely? No one takes you seriously if you are just a bumbling idiot.
~ Do you constantly request for resources/scripts without offering any feedback/advice/suggestions/etc? You scratch my back and I... don't?
~ Do you expect something from anyone? No one who isn't on your team cares about your RPG most of the time, so you aren't entitled to anything. As much as that hurts, it's probably true.
~ Are you the perfect gentleman/lady on the forums? Move on then!

If you have gotten to the end without any of the questions telling you to quit making RPGs based on your response, then congratulations! You may have what it takes to actually make an RPG from start to finish! Better get started, I hear these "RPG"s take a while to make... :)
Go to the top of the page
 
+Quote Post
   
SuperMega
post Dec 15 2009, 12:23 AM
Post #10



Group Icon


Type: Writer




Very nice add-on. It's nice to see a Takentai version of a great script meant for the standard battle system! tongue.gif
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 15 2009, 03:40 AM
Post #11



Group Icon


Type: Coder




@dorky: You can set the percentage of damage done, so you can make it deal half damage when targetting all or 2/3 damage or whatever you want to set.

@Aranarther: Those 3 bugs fixed now, thanks so much for pointing the bugs as usual smile.gif Re-copy the part for ATB, I made the fixes there.

@deggy: I don't get that bug no matter how much I tried, can you explain more? Is it happen when the enemy attacks or when a player attack or when you select a skill that uses 'Same as Normal Attack'? What other scripts regarding attack execution that you might be using?

EDIT:@deggy, I seem to understand now why the bug occurs. It's due to my Animation Fix script, I forgot to rewrite one method. Bug is already fixed in the script's thread, please check it out.

This post has been edited by CrimsonSeas: Dec 15 2009, 04:13 AM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
deggy888
post Dec 15 2009, 05:20 AM
Post #12



Group Icon


Type: Undisclosed




Oops, guess I posted in the wrong topic o.o

But, after updating all 3 of the scripts (animation fix, targeting extended base, targeting extended ATB), I still run into the problem of switching scopes and erroring.

QUOTE
EDIT: Oh dang just noticed another bug (I always seem to find the bugs as soon as I try them); when there are more enemies then allies in a battle like 6 enemies and 4 allies and u try to change the scope from enemy 5, you will get an error:


This still occurs. This time it's:

Script 'Targeting Extended ATB v1.0' line 164: NoMethodError occurred.

undefined method 'exist?' for nil:NilClass


This happened when I had 5 actors (1 in reserve (KGC_LargeParty) so 4 active actors.) and 2 enemies. Switching from the allied scope from the 3rd character to the enemy gave me the error.


--------------------
Think you should make a RPG or not? Find out now!

Spoiler:
DISCLAIMER: These are just for fun and are not meant to be taken seriously. Do not get angry/flame me about these. You have been warned!

- The BIG Question of the Year.
~ Can you read? Dialogue, scripts, configurations, instructions, etc. All of these require extensive knowledge in the skill known as "reading". No one wants to see another topic made by you in which you complain about something not working because you are just such an awesome "special" person that you didn't read the instructions!
~ Oh my god, you can read? Move on to the next section please!

- Is it a fan game about a popular anime/video game?
~ Stop right now, flush your RPG dreams down the toilet. The last the world needs is another terrible Naruto fan game.
~ As much as people enjoyed FF, we wont enjoy your rendition of it on RPG Maker. No, sorry. We wont.
~ Pokemon doesn't work well on RPG Maker. Sorry, but you can join the other 500 half-baked/finished projects about pokemon that will never be.
~ Is your fan game about another anime/video game? It may work if it isn't one of those 3, so please continue down the list!

- What is the story about?
~ Do you start out poor, homeless, in a village, or any of those combined? Flush your RPG dreams down the toilet now. We've seen it all.
~ Do you have a love interest in your game? *Yawn*... next...
~ Do you fight against evil which may or may not be a large corporation/business/empire/kingdom? God, shoot me now.
~ Does one/more/all of your important characters join the army during your story? What are you? An army recruiter?
~ Does your main character have an extravagant hair style and carry a large sword/blade/retarded gun-blade? Die in a fire now.
~ Is your main character emo/overly sensitive? Have him/her cut him/herself forever in your head but don't make us be subjected to that.
~ Are you collecting some magical set of items/crystals/artifacts that cause something major? Hmm... Where have I heard that one before...
~ None of these? Let's move on!

- How do you want the RPG to be built structurally?
~ How long do you want your RPG to be anyways? 40 hours? 60 hours? Grandiose much?
~ Is this a team project or a single project? If you want it to be 40 hours, it better be a damn team or you have WAY too much free time...
~ IF SINGLE: Can you create/search for your own resources? If not, can you use generators to make your own resources? Yay Famitsu!
~ IF TEAM: Can you treat your team members as teammates instead of "tools you use for free resources"? "Go ahead and send me everything, but I won't let you see the unfinished project. You might steal it." Sadly, in most project recruitment threads, you do see this sense of distrust from the team leader. T-E-A-M, not I A-M A J-A-C-K-A-S-S please.
~ Are you good at dialogue? This is the meat and bones of an RPG as it reflects the story. If you are terrible at it, then please just stop now.
~ Are you good at eventing? Map transfers, doors, and treasure chests DO NOT count. If you don't know how to do it, you're in trouble.
~ Do you understand what scripts you are looking for? This requires some planning ahead on what exactly you want in your game. Too many times I see games get boggled down by having a bunch of unnecessary scripts that do more harm than good.
~ IF YES: Do you know how to modify/READ these scripts to edit what you need/don't need from them? User Configurations love you.
~ IF NO: If this isn't an RTP game, then please just stop now.
~ CAN YOU SPELL? Please stop if you can't be bothered to run a spell check. If you can't spend the time to do that, you shouldn't spend the time to make an RPG that will be discredited due to spelling/grammar.
~ You have an actual plan? Amazing! Let's continue then shall we?

- Do you know how to polish/fine-tune/test your game?
~ Can you safely say that your database setup leads to balanced game play? If the tutorial can wipe out my entire party... there's a problem.
~ Are you willing to go through the same scene you created MANY TIMES just to test? Better get used to it bud... If not, don't bother.
~ Are you willing to release demos? Demos are a good way to get some constructive feedback on your game and spark interest.
~ IF YES: Can you take criticism? If not, don't ever make an RPG.
~ IF NO: Do you feel that you can polish it enough by yourself/with your team and be impartial when testing before release? Sometimes, you may be blinded by your love of your work to see the shortcomings of your game. I highly recommend you let at least a few non-team members play a demo.
~ Are you willing to return to previous areas to upgrade/enhance areas that are lacking? How many times have you gone back to the first map now? For me, it's been about 500+ times. If you can't do that, then you will push out a mediocre game most likely.
~ Are you willing to take out features that are deemed unnecessary/harmful to the overall play experience? Sometimes, you don't need that picture of Naruto on the bottom right hand corner of the game... If you can't, then don't expect to finish your game with much fanfare from potential players.
~ So you think you can take on the rigors of polishing? Almost done then!

- Do you have proper forum etiquette when browsing the forums?
DISCLAIMER: This may be considered a bonus section, as its not required of RPGs to frequent forums; you're here though reading this so this probably falls on deaf ears anyways...
~ Do you necropost? Every time you necropost, an admin shoots a puppy wagging its tail.
~ Do you talk like a 14 year old or under? YA I NO RITE WH3rES MY NARUT0Z?! I <3 SASUK3!
~ IF YES: Are you 14 years old or under? If not, shame on you. If yes, then there might be better things to do at your age than try to make an RPG...
~ IF NO: Can you talk maturely? No one takes you seriously if you are just a bumbling idiot.
~ Do you constantly request for resources/scripts without offering any feedback/advice/suggestions/etc? You scratch my back and I... don't?
~ Do you expect something from anyone? No one who isn't on your team cares about your RPG most of the time, so you aren't entitled to anything. As much as that hurts, it's probably true.
~ Are you the perfect gentleman/lady on the forums? Move on then!

If you have gotten to the end without any of the questions telling you to quit making RPGs based on your response, then congratulations! You may have what it takes to actually make an RPG from start to finish! Better get started, I hear these "RPG"s take a while to make... :)
Go to the top of the page
 
+Quote Post
   
Sofresh85
post Dec 15 2009, 06:10 AM
Post #13



Group Icon


Type: Designer




This is a pretty awesome script, brings back to the days of playing Final Fantasy 8 where you have to use a potion on that president guy, (who became undead so the potion was the best option lol) kudos to CrimsonSeas!


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 15 2009, 06:12 AM
Post #14



Group Icon


Type: Coder




Okay thanks to Aranarther and deggy888 for poitning out the bugs, I updated it with bugfixes, hopefully there will no more bugs here.

Also thanks to dorky 106's post I added an option to divide damage among all targets when switching from single to all targets.

And mostly, thanks to everyone who replied here, I'm glad you liked this smile.gif

This post has been edited by CrimsonSeas: Dec 15 2009, 06:14 AM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
deggy888
post Dec 15 2009, 07:23 AM
Post #15



Group Icon


Type: Undisclosed




not really a game breaking bug but some interesting glitches with targeting scope. You probably can't fix these but still found it funny enough to share smile.gif

Most custom skill animations that flip the actor (aka from facing left to right) as part of the animation will bug out if you attack yourself with the skill. The result will be that you will return to the line facing right instead of left. You will remain facing right for the remainder of the battle smile.gif (unless you use a skill that specifically changes face to left during the animation).

In addition, custom skill animations that hit multiple times and also hit random targets will bug out.
EDIT2: I'm stupid. Only if the random target hits/misses the actor casting the skill will the skill be interrupted midway through. Serious playtesting FTW before I post these... sorry for the inconvienience.

Note that both of these glitches are only when you attack YOUR PARTY. Normally attacking enemies works perfectly smile.gif.

This post has been edited by deggy888: Dec 15 2009, 07:35 AM


--------------------
Think you should make a RPG or not? Find out now!

Spoiler:
DISCLAIMER: These are just for fun and are not meant to be taken seriously. Do not get angry/flame me about these. You have been warned!

- The BIG Question of the Year.
~ Can you read? Dialogue, scripts, configurations, instructions, etc. All of these require extensive knowledge in the skill known as "reading". No one wants to see another topic made by you in which you complain about something not working because you are just such an awesome "special" person that you didn't read the instructions!
~ Oh my god, you can read? Move on to the next section please!

- Is it a fan game about a popular anime/video game?
~ Stop right now, flush your RPG dreams down the toilet. The last the world needs is another terrible Naruto fan game.
~ As much as people enjoyed FF, we wont enjoy your rendition of it on RPG Maker. No, sorry. We wont.
~ Pokemon doesn't work well on RPG Maker. Sorry, but you can join the other 500 half-baked/finished projects about pokemon that will never be.
~ Is your fan game about another anime/video game? It may work if it isn't one of those 3, so please continue down the list!

- What is the story about?
~ Do you start out poor, homeless, in a village, or any of those combined? Flush your RPG dreams down the toilet now. We've seen it all.
~ Do you have a love interest in your game? *Yawn*... next...
~ Do you fight against evil which may or may not be a large corporation/business/empire/kingdom? God, shoot me now.
~ Does one/more/all of your important characters join the army during your story? What are you? An army recruiter?
~ Does your main character have an extravagant hair style and carry a large sword/blade/retarded gun-blade? Die in a fire now.
~ Is your main character emo/overly sensitive? Have him/her cut him/herself forever in your head but don't make us be subjected to that.
~ Are you collecting some magical set of items/crystals/artifacts that cause something major? Hmm... Where have I heard that one before...
~ None of these? Let's move on!

- How do you want the RPG to be built structurally?
~ How long do you want your RPG to be anyways? 40 hours? 60 hours? Grandiose much?
~ Is this a team project or a single project? If you want it to be 40 hours, it better be a damn team or you have WAY too much free time...
~ IF SINGLE: Can you create/search for your own resources? If not, can you use generators to make your own resources? Yay Famitsu!
~ IF TEAM: Can you treat your team members as teammates instead of "tools you use for free resources"? "Go ahead and send me everything, but I won't let you see the unfinished project. You might steal it." Sadly, in most project recruitment threads, you do see this sense of distrust from the team leader. T-E-A-M, not I A-M A J-A-C-K-A-S-S please.
~ Are you good at dialogue? This is the meat and bones of an RPG as it reflects the story. If you are terrible at it, then please just stop now.
~ Are you good at eventing? Map transfers, doors, and treasure chests DO NOT count. If you don't know how to do it, you're in trouble.
~ Do you understand what scripts you are looking for? This requires some planning ahead on what exactly you want in your game. Too many times I see games get boggled down by having a bunch of unnecessary scripts that do more harm than good.
~ IF YES: Do you know how to modify/READ these scripts to edit what you need/don't need from them? User Configurations love you.
~ IF NO: If this isn't an RTP game, then please just stop now.
~ CAN YOU SPELL? Please stop if you can't be bothered to run a spell check. If you can't spend the time to do that, you shouldn't spend the time to make an RPG that will be discredited due to spelling/grammar.
~ You have an actual plan? Amazing! Let's continue then shall we?

- Do you know how to polish/fine-tune/test your game?
~ Can you safely say that your database setup leads to balanced game play? If the tutorial can wipe out my entire party... there's a problem.
~ Are you willing to go through the same scene you created MANY TIMES just to test? Better get used to it bud... If not, don't bother.
~ Are you willing to release demos? Demos are a good way to get some constructive feedback on your game and spark interest.
~ IF YES: Can you take criticism? If not, don't ever make an RPG.
~ IF NO: Do you feel that you can polish it enough by yourself/with your team and be impartial when testing before release? Sometimes, you may be blinded by your love of your work to see the shortcomings of your game. I highly recommend you let at least a few non-team members play a demo.
~ Are you willing to return to previous areas to upgrade/enhance areas that are lacking? How many times have you gone back to the first map now? For me, it's been about 500+ times. If you can't do that, then you will push out a mediocre game most likely.
~ Are you willing to take out features that are deemed unnecessary/harmful to the overall play experience? Sometimes, you don't need that picture of Naruto on the bottom right hand corner of the game... If you can't, then don't expect to finish your game with much fanfare from potential players.
~ So you think you can take on the rigors of polishing? Almost done then!

- Do you have proper forum etiquette when browsing the forums?
DISCLAIMER: This may be considered a bonus section, as its not required of RPGs to frequent forums; you're here though reading this so this probably falls on deaf ears anyways...
~ Do you necropost? Every time you necropost, an admin shoots a puppy wagging its tail.
~ Do you talk like a 14 year old or under? YA I NO RITE WH3rES MY NARUT0Z?! I <3 SASUK3!
~ IF YES: Are you 14 years old or under? If not, shame on you. If yes, then there might be better things to do at your age than try to make an RPG...
~ IF NO: Can you talk maturely? No one takes you seriously if you are just a bumbling idiot.
~ Do you constantly request for resources/scripts without offering any feedback/advice/suggestions/etc? You scratch my back and I... don't?
~ Do you expect something from anyone? No one who isn't on your team cares about your RPG most of the time, so you aren't entitled to anything. As much as that hurts, it's probably true.
~ Are you the perfect gentleman/lady on the forums? Move on then!

If you have gotten to the end without any of the questions telling you to quit making RPGs based on your response, then congratulations! You may have what it takes to actually make an RPG from start to finish! Better get started, I hear these "RPG"s take a while to make... :)
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 15 2009, 08:04 AM
Post #16



Group Icon


Type: Coder




Of course it would be, technically everytime you are being hit, Tankentai forces the character to do 'take damage' action sequence. This of course would interrupt the original skill sequence. In this case, you can make sure not to hit yourself with those skills, such by defining that the skill can't be used on the user's party. That's the only solution I could think of. This might be able to be fixed, but would require someone who knows every bit of Tankentai scripting (in other words, the creator of Tankentai).


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Aranarther
post Dec 15 2009, 01:04 PM
Post #17


Boredom ;_;
Group Icon


Type: Artist
Alignment: Chaotic Evil




Just tested it all out again and all seem fine now :D, nice quick fixes like always xD


--------------------
Current Game In Progress:


Spoiler:

Progress:
  • Storyline: 60%
  • Characters: 100%
  • Enemies: 70%
  • Mapping: 40%
  • Eventing: 10% (I don't like eventing, so I'll do it later/last)
  • Database: 60%
  • System: 95% (only some bugfixes and optimizing left)
Go to the top of the page
 
+Quote Post
   
flipsomel
post Dec 15 2009, 03:52 PM
Post #18


L. Khaos
Group Icon


Type: Undisclosed




Man, you rule xD

Keep it up!

PS: do you ever thought about doing a "counter" for SBS? Like the a physicalreflect state ( i don't have the sbs script in front of me but i think there is that option) but instead of an animation you could select an ANIME sequence instead and deal. That would be awesome aswell.


--------------------
Go to the top of the page
 
+Quote Post
   
Tofuman
post Jan 17 2010, 10:32 PM
Post #19



Group Icon


Type: Undisclosed




Hello there. I was using this script for game, and had no problem til today.

Im using ATB Tankentai and made link skill.

And when link skill successfully link together and finish the skill, an error occurred that says

Script "Targetting Extended v 1.1" line 141: NoMethodError occurred. undefined method 'target_all=' for nil:NilClass"

Can you fix this problem?
Go to the top of the page
 
+Quote Post
   
rainbow_stalin
post Feb 23 2010, 11:23 PM
Post #20



Group Icon


Type: Undisclosed




Is there anything like this for the default system, that allows me to target enemies with skills intended for allies (such as healing) and vice-versa.
Go to the top of the page
 
+Quote Post
   

3 Pages V   1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 30th July 2014 - 08:12 AM

RPGMakerVX.net is an Privacy Policy, Legal.