RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[VX] Custom Side Battle System

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 58
RMRK Junior
Hello, I'm looking for a side battle system script that wich could remplace ennemies' and player's battlers by characters. Also, when characters or ennemies attacks, they walk to the target's position. (For players, there's a script above, who do all that I need. The only problem is that ennemies have battlers.)
I will like the characters on battle to be on stepping animation.
Finally, if ennemy characters could be decided with the notes area I would be really grateful.

Here's a picture I made on photoshop (Yeah, I know that my english is really bad, that's why I put a picture.)




Code: [Select]
#==============================================================================
# ? VX-RGSS2-6 Side-View Battle System [Formation] [Ver.1.0.0] by Claimh
#------------------------------------------------------------------------------
# English Translation By: Elemental Crisis [http://www.rpgcrisis.net]
#------------------------------------------------------------------------------
# Actor location [Formation]
# The same amount of damage will be given regardless of formation setup.
#==============================================================================

module Battle_Formation
   #------------------------------------------------------------------------------
   # [Formation Setup]
   # $game_system.battle_formation = Formation ID
   # It’s possible to change the formation (Even an event script is possible).
   FORM = {
   # Formation ID => [[Member 1 x?y], [Member2 x, y],
   # [Member 3 x, y], [Member 4 x, y]]
   0 => [[380,150], [400, 230], [460, 170], [480, 250]]
   }
   #------------------------------------------------------------------------------
end

#==============================================================================
# ? Game_System
#==============================================================================
class Game_System
   attr_accessor :battle_formation # Formation ID
   #--------------------------------------------------------------------------
   # ? Object initialization
   #--------------------------------------------------------------------------
   alias init_game_system initialize
   def initialize
     init_game_system
     @battle_formation = 0 # Initial formation
   end
end

#==============================================================================
# ? Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
   #--------------------------------------------------------------------------
   # ? Are sprites used? [Redefinition]
   #--------------------------------------------------------------------------
   def use_sprite?
     return true
   end
   #--------------------------------------------------------------------------
   # ? Battle screen Acquiring X Coordinate
   #--------------------------------------------------------------------------
   def screen_x
     return Battle_Formation::FORM[$game_system.battle_formation][self.index][0]
   end
   #--------------------------------------------------------------------------
   # ? Battle screen Acquiring Y Coordinate
   #--------------------------------------------------------------------------
   def screen_y
     return Battle_Formation::FORM[$game_system.battle_formation][self.index][1]
   end
   #--------------------------------------------------------------------------
   # ? Battle screen Acquiring Z Coordinate
   #--------------------------------------------------------------------------
   def screen_z
     bitmap = Cache.character(self.character_name)
     # Height +Y Coordinates
     return screen_y + bitmap.height / 4
   end
end



#==============================================================================
# ? Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
   #--------------------------------------------------------------------------
   # ? Battle screen Acquiring Z Coordinate [Redefinition]
   #--------------------------------------------------------------------------
   def screen_z
     bitmap = Cache.battler(self.battler_name, self.battler_hue)
     # Height +Y Coordinates
     return screen_y + bitmap.height
   end
end


#==============================================================================
# ? VX-RGSS2-6 Side-View Battle System [MotionCtrl] [Ver.1.0.0] by Claimh
#------------------------------------------------------------------------------
# English Translation By: Elemental Crisis [http://www.rpgcrisis.net]
#------------------------------------------------------------------------------
# This script carries out the movement controls of the actors.
#==============================================================================

#==============================================================================
# ? Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
   #--------------------------------------------------------------------------
   # ? Battle Start Process
   #--------------------------------------------------------------------------
   alias process_battle_start_sideview process_battle_start
   def process_battle_start
     for battler in $game_party.members + $game_troop.members
       battler.move_mode = SideView::M_MODE_WAIT
     end
     process_battle_start_sideview
   end
   #--------------------------------------------------------------------------
   # ? Victory Process
   #--------------------------------------------------------------------------
   alias process_victory_sideview process_victory
   def process_victory
     for actor in $game_party.members
       actor.move_mode = SideView::M_MODE_WIN
     end
     process_victory_sideview
   end
   #--------------------------------------------------------------------------
   # ? Wait Until Motion Control Is Finished
   #--------------------------------------------------------------------------
   def wait_for_motion
     while @active_battler.motion_stop
       update_basic
     end
   end
   #--------------------------------------------------------------------------
   # ? Execute Combat Operations: Attack [Redefinition]
   #--------------------------------------------------------------------------
   def execute_action_attack
     text = sprintf(Vocab::DoAttack, @active_battler.name)
     @message_window.add_instant_text(text)
     targets = @active_battler.action.make_targets
     #---Enemy attack sound reproduced.
     if @active_battler.is_a?(Game_Enemy)
       Sound.play_enemy_attack
       wait(15, true)
     end
     #--- Proximity (Going)
     SideView.set_target_point(@active_battler, targets[0])
     @active_battler.move_mode = SideView::M_MODE_ATK1
     @active_battler.motion_stop = true
     wait_for_motion
     #--- Attack
     wait(5)
     @active_battler.move_mode = SideView::M_MODE_ATK2
     #---
     display_attack_animation(targets)
     wait(20)
     for target in targets
       target.attack_effect(@active_battler)
       display_action_effects(target)
     end
     #--- Proximity (Return)
     @active_battler.move_mode = SideView::M_MODE_ATK3
     @active_battler.motion_stop = true
     wait_for_motion
     #---Wait
     for target in targets
       target.move_mode = SideView::M_MODE_WAIT
     end
     @active_battler.move_mode = SideView::M_MODE_WAIT
     #---
   end
   #--------------------------------------------------------------------------
   # ? Execute Combat Operations: Skill [Redefinition]
   #--------------------------------------------------------------------------
   def execute_action_skill
     skill = @active_battler.action.skill
     text = @active_battler.name + skill.message1
     @message_window.add_instant_text(text)
     unless skill.message2.empty?
       wait(10)
       @message_window.add_instant_text(skill.message2)
     end
     #--- Enemy attack sound reproduced.
     if @active_battler.is_a?(Game_Enemy)
       Sound.play_enemy_attack
       wait(15, true)
     end
     #--- Long distance attack
     @active_battler.move_mode = SideView::M_MODE_MAGI
     #---
     targets = @active_battler.action.make_targets
     display_animation(targets, skill.animation_id)
     @active_battler.mp -= @active_battler.calc_mp_cost(skill)
     $game_temp.common_event_id = skill.common_event_id
     for target in targets
       target.skill_effect(@active_battler, skill)
       display_action_effects(target, skill)
     end
     #---Wait
     for target in targets
       target.move_mode = SideView::M_MODE_WAIT
     end
     @active_battler.move_mode = SideView::M_MODE_WAIT
     #---
   end
   #--------------------------------------------------------------------------
   # ? Execute Combat Operations: Item [Redefinition]
   #--------------------------------------------------------------------------
   def execute_action_item
     item = @active_battler.action.item
     text = sprintf(Vocab::UseItem, @active_battler.name, item.name)
     @message_window.add_instant_text(text)
     #--- Enemy attack sound reproduced.
     if @active_battler.is_a?(Game_Enemy)
       Sound.play_enemy_attack
       wait(15, true)
     end
     #--- Long distance attack
     @active_battler.move_mode = SideView::M_MODE_MAGI
     #---
     targets = @active_battler.action.make_targets
     display_animation(targets, item.animation_id)
     $game_party.consume_item(item)
     $game_temp.common_event_id = item.common_event_id
     for target in targets
       target.item_effect(@active_battler, item)
       display_action_effects(target, item)
     end
     #---Wait
     for target in targets
       target.move_mode = SideView::M_MODE_WAIT
     end
     @active_battler.move_mode = SideView::M_MODE_WAIT
     #---
   end
   #--------------------------------------------------------------------------
   # ? Attack Animation Display [Redefinition]
   # Targets : Object's Arrangement
   #--------------------------------------------------------------------------
   # ?Changed part?
   # Enemy sound effect is changed so it can be used in each phase of operation.
   # However, it changes so that the attack animation of an enemy can be displayed.
   #--------------------------------------------------------------------------
   def display_attack_animation(targets)
     display_normal_animation(targets, @active_battler.atk_animation_id, false)
     display_normal_animation(targets, @active_battler.atk_animation_id2, true)
     wait_for_animation
   end
   #--------------------------------------------------------------------------
   # ? HP Damage display [Redefinition]
   # target : Candidate
   # obj : Skill or item
   #--------------------------------------------------------------------------
   def display_hp_damage(target, obj = nil)
     if target.hp_damage == 0 # No damage
       return if obj != nil and obj.damage_to_mp
       return if obj != nil and obj.base_damage == 0
       fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
       text = sprintf(fmt, target.name)
     elsif target.absorbed # Absorption
       fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
       text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
     elsif target.hp_damage > 0 # Damage
       if target.actor?
         text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
         Sound.play_actor_damage
         $game_troop.screen.start_shake(5, 5, 10)
         target.blink = true # Only adds here
       else
         text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
         Sound.play_enemy_damage
         target.blink = true
       end
     else # Recovery
       fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
       text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
       Sound.play_recovery
     end
     @message_window.add_instant_text(text)
     wait(30)
   end
end

#==============================================================================
# ? VX-RGSS2-6 Side-View Battle System[MotionExe] [Ver.1.0.0] by Claimh
#------------------------------------------------------------------------------
# English Translation By: Elemental Crisis [http://www.rpgcrisis.net]
#------------------------------------------------------------------------------
# This script executes movement controls of the actors.
#==============================================================================

module SideView
   #----------------------------------------------------------------------------
   #-----[Operation Setup]-----
   # Operation Speed
   MOTION_SPEED = 20
   
   #-----[Animation Setup]-----
   # Usual enemy attack animation setup.
   E_ANIME = {
   # EnemyID => [Usually atttack and additional attack animations.]
   1 => [1, 0]
   }
   
   #----------------------------------------------------------------------------
   #----------------------------------------------------------------------------
   # Motion Control Mode
   M_MODE_WAIT = 0 # Standby
   M_MODE_MAGI = 1 # Attack
   M_MODE_DAMG = 2 # Non-Damage Attack
   M_MODE_WIN = 3 # Victory
   M_MODE_ATK1 = 4 # Direct Attack (Approaching)
   M_MODE_ATK2 = 5 # Direct Attack (Attacking)
   M_MODE_ATK3 = 6 # Direct Attack (Returning)
   
   module_function
     #--------------------------------------------------------------------------
     # ? Movement-Zone Calculation
     #--------------------------------------------------------------------------
     def set_target_point(attacker, target)
       case target
       when Game_Actor
         bits = Cache.character(target.character_name)
         attacker.target_x = target.screen_x + (bits.width / 8)
         attacker.target_y = target.screen_y
       when Game_Enemy
         bits = Cache.battler(target.battler_name, target.battler_hue)
         attacker.target_x = target.screen_x + (bits.width / 2)
         attacker.target_y = target.screen_y
       end
     end
   end
   
   class Game_Battler
     attr_accessor :move_mode # Operation Mode
     # 0:Standby 1:Attack 2: Un-useless 3:Victory
     attr_accessor :motion_stop # Operation Stop Flag (Under Movement Flag)
     attr_accessor :target_x # Move Position(x)
     attr_accessor :target_y # Move Position(y)
     #--------------------------------------------------------------------------
     # ? Object Initialization
     #--------------------------------------------------------------------------
     alias initialize_sdva_corpse initialize
     def initialize
       initialize_sdva_corpse
       @move_mode = 0
       @motion_stop = false
       @target_x = 0
       @target_y = 0
     end
   end
   
   #==============================================================================
   # ? Game_Enemy
   #==============================================================================
   class Game_Enemy < Game_Battler
     #--------------------------------------------------------------------------
     # ? Attack Animation ID Acquisition
     #--------------------------------------------------------------------------
     def atk_animation_id
       return 0 if SideView::E_ANIME[@enemy_id].nil?
       return SideView::E_ANIME[@enemy_id][0]
     end
     #--------------------------------------------------------------------------
     # ? Attack Animation ID Acquisition (2 Sword Style:2 Weapons )
     #--------------------------------------------------------------------------
     def atk_animation_id2
       return 0 if SideView::E_ANIME[@enemy_id].nil?
       return SideView::E_ANIME[@enemy_id][1]
     end
   end
   
   
   
   #==============================================================================
   # ? Sprite_Battler
   #==============================================================================
   class Sprite_Battler < Sprite_Base
     #--------------------------------------------------------------------------
     # ? Object Initialization
     # viewport : View Port
     # battler : Battler (Game_Battler)
     #--------------------------------------------------------------------------
     alias initialize_sideview initialize
     def initialize(viewport, battler = nil)
       initialize_sideview(viewport, battler)
       init_direct_attack
     end
     #--------------------------------------------------------------------------
     # ? Set Proximity Value For Attack
     #--------------------------------------------------------------------------
     def init_direct_attack
       @direct_attack_cnt = 0
       @direct_attack_phase = 0
       @direct_move_cnt = 0
       @battler_x_plus = 0
       @battler_y_plus = 0
       @moving_mode = 0
       @pattern = 0
       @direction = 0
     end
     #--------------------------------------------------------------------------
     # ? Frame Renewal [Redefinition]
     #--------------------------------------------------------------------------
     def update
       super
       if @battler == nil
         self.bitmap = nil
       else
         @use_sprite = @battler.use_sprite?
         if @use_sprite
           self.x = @battler.screen_x + @battler_x_plus
           self.y = @battler.screen_y + @battler_y_plus
           self.z = @battler.screen_z
           update_battler_bitmap
         end
         setup_new_effect
         update_effect
       end
     end
     #--------------------------------------------------------------------------
     # ? Bitmap Transfer Source Renewal
     #--------------------------------------------------------------------------
     alias update_battler_bitmap_sideview update_battler_bitmap
     def update_battler_bitmap
       case @battler
       when Game_Actor
         if @battler.character_name != @battler_name or
           @battler.character_index != @battler_hue
           @battler_name = @battler.character_name
           @battler_hue = @battler.character_index
           draw_pre_character
           draw_character
           if (@battler.dead? or @battler.hidden) and !@battler.dead_delay
             self.opacity = 0
           end
         end
       when Game_Enemy
         if @battler.battler_name != @battler_name or
           @battler.battler_hue != @battler_hue
           @battler_name = @battler.battler_name
           @battler_hue = @battler.battler_hue
           draw_battler
           if (@battler.dead? or @battler.hidden) and !@battler.dead_delay
             self.opacity = 0
           end
         end
       end
       motion_control
     end
     #--------------------------------------------------------------------------
     # ? Battler Drawing
     #--------------------------------------------------------------------------
     def draw_battler
       self.bitmap = Cache.battler(@battler_name, @battler_hue)
       @width = bitmap.width
       @height = bitmap.height
       self.ox = @width / 2
       self.oy = @height
     end
     #--------------------------------------------------------------------------
     # ? Pre-Character Drawing [Common]
     #--------------------------------------------------------------------------
     def draw_pre_character
       self.bitmap = Cache.character(@battler_name)
       sign = @battler_name[/^[!$]./]
       if sign != nil and sign.include?('$')
         @width = bitmap.width / 3
         @height = bitmap.height / 4
       else
         @width = bitmap.width / 12
         @height = bitmap.height / 8
       end
       self.ox = @width / 2
       self.oy = @height
     end
     #--------------------------------------------------------------------------
     # ? Character Drawing [Common]
     #--------------------------------------------------------------------------
     def draw_character
       index = @battler_hue
       pattern = @pattern < 3 ? @pattern : 1
       sx = (index % 4 * 3 + pattern) * @width
       sy = (index / 4 * 4 + (@direction - 2) / 2) * @height
       self.src_rect.set(sx, sy, @width, @height)
     end
     #--------------------------------------------------------------------------
     # ? Motion Control
     #--------------------------------------------------------------------------
     def motion_control
       # Memory Operation Mode
       @moving_mode = @battler.move_mode
       # Battler Drawing
       case @battler
       when Game_Actor # Actor
         actor_motion_control
       when Game_Enemy # Enemy
         enemy_motion_control
       end
     end
     #--------------------------------------------------------------------------
     # ? Motion Control (Actor)
     #--------------------------------------------------------------------------
     def actor_motion_control
       # Operation Change
       case @moving_mode
       when SideView::M_MODE_WAIT # Standby
         init_direct_attack
         @battler_x_plus = 0
         @direction = 4
         @pattern = 1
       when SideView::M_MODE_MAGI # Attack
         @battler_x_plus = -10
         @direction = 4
         @pattern = 3
       when SideView::M_MODE_DAMG # Non-Damage Attack
         @battler_x_plus = 10
         @direction = 4
         @pattern = 3
       when SideView::M_MODE_WIN # Victory
         @direction = 2
         @pattern = 1
       when SideView::M_MODE_ATK1 # Direct Attack (Approaching)
         exe_moving_attack_start
       @end_pos_x = @battler_x_plus
     when SideView::M_MODE_ATK2 # Direct Attack (Attacking)
       @battler_x_plus = @end_pos_x - 10
     when SideView::M_MODE_ATK3 # Direct Attack (Returning)
       exe_moving_attack_end
     else
       p "error:Sprite_Battler>> @moving_mode"
     end
     draw_character
   end
   #--------------------------------------------------------------------------
   # ? Motion Control (Enemy)
   #--------------------------------------------------------------------------
   def enemy_motion_control
     # ??????
     case @moving_mode
     when SideView::M_MODE_WAIT # Standby
       init_direct_attack
     when SideView::M_MODE_MAGI # Attack
       @battler_x_plus = 10
     when SideView::M_MODE_DAMG # Non-Damage Attack
       @battler_x_plus = -10
       @shake_flg = true
     when SideView::M_MODE_ATK1 # Direct Attack (Approaching)
       exe_moving_attack_start
     @end_pos_x = @battler_x_plus
   when SideView::M_MODE_ATK2 # Direct Attack (Attacking)
     @battler_x_plus = @end_pos_x + 10
   when SideView::M_MODE_ATK3 # Direct Attack (Returning)
     exe_moving_attack_end
   else
     p "error:Sprite_Battler>> @moving_mode", @moving_mode
   end
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution Method
#--------------------------------------------------------------------------
def exe_moving_attack_start
   return unless @battler.motion_stop
   case @direct_attack_phase
   when 0 # Start Operation Preparation
     diratk_start
   when 1 # Move Operation (Going)
     diratk_move
   when 2 # After-Movement Wait
     diratk_wait
   end
end
def exe_moving_attack_end
   case @direct_attack_phase
   when 0 # Attack Operation
     diratk_attack
   when 1 # Move Operation (Return)
     diratk_back
   when 2 # Operation End
     diratk_end
   end
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution [Start Operation Preparation]
#--------------------------------------------------------------------------
def diratk_start
   # Pose Change
   @pattern = 1
   # The number of frames needed is the distance between current position
   # and target position.
   pos_x = @battler.target_x - self.x
   pos_y = @battler.target_y - self.y
   # Caculation for ammount of frames needed.
   @direct_move_cnt = @direct_attack_cnt = (pos_x.abs / SideView::MOTION_SPEED).round
   # NEXT Phase
   @direct_attack_phase += 1
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution [Move Operation (Going)]
#--------------------------------------------------------------------------
def diratk_move
   case @battler
   when Game_Actor
     x_plus = @width
     y_plus = -@height / 4
   when Game_Enemy
     x_plus = -@width - 10
     y_plus = @height / 4
   end
   # The next movement location is figured out by the distance between
   # current position and target position.
   pos_x = @battler.target_x - self.x + x_plus
   pos_y = @battler.target_y - self.y + y_plus
   @battler_x_plus += pos_x / @direct_attack_cnt if @direct_attack_cnt != 0
   @battler_y_plus += pos_y / @direct_attack_cnt if @direct_attack_cnt != 0
   # End count
   @direct_attack_cnt -= 1
   # Last movement (Insurance: Last correction)
   if @direct_attack_cnt <= 0
     @battler_x_plus = @battler.target_x - @battler.screen_x + x_plus
     @battler_y_plus = @battler.target_y - @battler.screen_y + y_plus
     # NEXT Phase
     @direct_attack_cnt = 5
     @direct_attack_phase += 1
   end
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution [Attack Operation Return]
#--------------------------------------------------------------------------
def diratk_wait
   # End Count
   @direct_attack_cnt -= 1
   # Last Movement
   if @direct_attack_cnt <= 0
     # Pose Change
     @pattern = 3
     # END Phase
     @direct_attack_phase = 0
     @battler.motion_stop = false
   end
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution [Attack Operation Return]
#--------------------------------------------------------------------------
def diratk_attack
   # Pose Change
   @pattern = 1
   # End Wait Count
   @direct_attack_cnt = @direct_move_cnt
   # NEXT Phase
   @direct_attack_phase += 1
end
#--------------------------------------------------------------------------
# ? Proximity Attack Execution [Move Operation (Return)]
#--------------------------------------------------------------------------
def diratk_back
   # The next movement location is figured out by the distance between
   # current position and target position.
   pos_x = @battler.screen_x - self.x
   pos_y = @battler.screen_y - self.y
   @battler_x_plus += pos_x / @direct_attack_cnt if @direct_attack_cnt != 0
   @battler_y_plus += pos_y / @direct_attack_cnt if @direct_attack_cnt != 0
   # End Count
   @direct_attack_cnt -= 1
   # Last Movement
   if @direct_attack_cnt == 0
     @battler_x_plus = 0
     @battler_y_plus = 0
     # NEXT Phase
     @direct_attack_phase += 1
   end
end
#--------------------------------------------------------------------------
# ? Proximity attack execution [Operation End]
#--------------------------------------------------------------------------
def diratk_end
   init_direct_attack
   @battler.motion_stop = false
   # END Phase
   @direct_attack_phase = 0
end
end
« Last Edit: March 15, 2012, 01:49:46 AM by luxer19 »

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
I'm pretty sure Tankentai or one of Yanfly's scripts would do that for you. Have you looked into those?
:tinysmile:

****
Rep:
Level 71
Tankentia 3.4, which can be found here. Has an add-on should be there lets you, if not I can find it for you.


**
Rep: +0/-0Level 58
RMRK Junior
EvilM00s:
Yes, but they are too much for me. I'm asking for something more simple, that I could just copy and past on the scripts area and after choose a character for each ennemy and use player's characters as battlers.

DoctorTodd:
I doesn't do what I need. Ennemies have battlers, I need all battlers remplaced by characters.

(I know, it's not very clear :P)
« Last Edit: March 15, 2012, 02:01:39 AM by luxer19 »

****
Rep:
Level 71
I personally I have never found it to difficult to customize, I'm using it in my current project and I only had to do a few things because of a one my scripts I was using. Any way I would at least attempt to use it, I've never heard of that SBS before.

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
I think you'll find that SVBS scripts are never plug and play. It's been my experience that any script that says so is stretching the truth.

I agree with DT, though. It's a bit complex, but it's not THAT tough to play with. It's all there in the instructions. Of course, if your problem is the language it's in, that we might be able to help with.
:tinysmile:

**
Rep: +0/-0Level 58
RMRK Junior
The language is not my problem, because I understand everything you say, the thing is that it doesn't do what I want. And I don't really mind if it's not plug & play, but I only need what I asked, no more.

*
RMRK's dad
Rep:
Level 86
You know, I think its all gonna be okay.
For going the distance for a balanced breakfast.Project of the Month winner for June 2009For being a noted contributor to the RMRK Wiki2013 Best WriterSilver Writing ReviewerSecret Santa 2013 Participant
Well then, Tankentai 3.4 will work for you. If you're intent on using the script you posted, I cannot help; I do not script well.
:tinysmile:

****
Rep:
Level 71
I might have some time tomorrow to configure it for you if you want, you just need to tell me how you want it.

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Zero to Hero2014 Best IRC Quote2014 Most Missed Member2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
Why not just use small right-facing characters as the enemies' battler graphics?
it's like a metaphor or something i don't know

*
Rep:
Level 82
Yanfly's BEM is probably my favourite, but is quite heavy on customisation, especially for having all characters - both friendly and enemy - animated. You're best bet is to have someone willing to customise such an engine to your liking rather than make a battle engine from scratch that does what you want.

The existing engines do everything you want, and then more, which means you just need to remove the "and then more" part by changing the settings. I'm currently writing my own battle engine, and it's taking a lot of time and work to do, so unless you can get a scripter who has already done a battle engine and knows their way around it's unlikely that you will find someone willing to writing one just for your needs.

If you really want a side view system, I'd take the time to use one that exists and deal with the customising. Or if someone else is willing to discuss with you how you want it to work, they may be able to do the set up for you. That's your best bet.
(Why do I always feel like it's the end of the world and I'm the last man standing?)