Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Sideview Battle System Tankentai XP - Version 2.2xp

Status
Not open for further replies.

Atoa

Member

Dargor":1ubpopaz said:
Atoa":1ubpopaz said:
@Krobelus
It because my version of RMXP is an different version.
i acidentally deleted the english version "Game.rxproj" i had in backup '-'

Why does your project needs RGSS103J.dll and not RGSS102E.dll?
I don't recall any legal english version using this DLL.
It because my version isn't english.
And thats the reason for the problem with Game.rxproj

@Yaxor
Sorry, this may be "cool" but isn't very "funciontional", all add-ons i've made was simple, or very "generic".
And now, i'm working on my own battle system, i will return to this system only to eventual bug fixes.
I will leave the add ons to the other scripters xD
 
Fredissd.jpg


Here is the problem I have:
(yes I know the sprites are facing the wrong direction)
1)stances
2) attack animations
3) Death animations.
4) Get hit animations
 

Atoa

Member

@Junk-Man
Well... you posted an image and i see no problem on it?

What exactly you want? Add animations to enemy?
If that's what you want, take a look on the "Animated Battlers" Add On.
But if you want a explanation on how make special animations, i already said that i will make an demo *later*
 

Ekho

Member

The 4 man tech didn't work if used with ATB system. And sometime if a character attack and at the same time another character inputting command, the sprite of the character that attack before stuck near enemy sprite.
 

Atoa

Member

@Ekho
4 Man Tech *does* work with ATB, but it kinda hard, since you have to use *all* 4 man assistances befor use the attack skill.

About this bug you noticed, i will check it.
 
so i am moding this for a freind to work with 8 players, i moded the x,y codinates and changed the max player thing. and this is what i get(seems like the shadows are right):
5mbhy0.jpg

think you could help me solve this?
here are the x,y cords i used if that helps
ACTOR_POSITION = [[460,180],[480,210],[500,240],[520,270],[500,180],[520,210],[540,240],[5480,270]]
 
I'm trying to add additional Action Conditions but apparently I'm not doing it correctly.

Under Action Conditions I have the following.

Code:
"FIRE"            => ["nece",   4,  4,  82,   2],

The skill "Fire" is number 82.

Under Target Modification I have the following.

Code:
"FIRE_TARGETS"          => ["target",   0,  1],

Under Skill Sequences I have the following.

Code:
"FIRE_ATTACK"      => ["FIRE","FIRE_TARGETS","ULRIKA_ATTACK",
                                "MOVING_TARGET_RIGHT","WAIT(FIXED)","START_MAGIC_ANIM","WPN_SWING_UNDER",
                                "WPN_RAISED","48","KILL_HIT_ANIM","LEFT_DASH_ATTACK","64","OBJ_ANIM",
                                "Can Collapse","FLEE_RESET","2_MAN_TECH_REVOKE"],

I based my code off the 2 Man Attack code.
 
Hey, i have a question on how to move the hp and sp bars to vertical mode, just like the time and the overdrive bars. A quick replie would be greatly apreiciated =)
 

Atoa

Member

@deathbethecost
You still needs an script that allows you to break the limit of party.
I will take a look on this. so it can be done automatically

@Martinez
Take a look on the opitional add-on "Battle Windows"
You you find an really deep configuration module for the battle status display.

@Elemental Crisis
Sorry but right now i'm not giving support in the actions configuration, you should look the Mr. Blubble's VX extra skills demo. Since the skills configuration are exactly the same in both makers.
 
oh, ok, so there is nothing i can about it for the moment?
here si the large party script i am using, no idea if that will help. if you sugest i use another i will(meaning its not a problem i dont switch around the order of my party members).
#==============================================================================
# ** Large Party
#------------------------------------------------------------------------------
# Author: Dargor
# Version 1.3
# 02/08/2007
#==============================================================================

#==============================================================================
# ** Large Party Customization Module
#==============================================================================

module Dargor
module Large_Party
# Maximum number of actors allowed in the party
Max_Size = 8
# Battle status window refresh rate (used in phase5)
Battle_Refresh_Rate = 32
end
end

#==============================================================================
# ** Game_Temp
#------------------------------------------------------------------------------
# This class handles temporary data that is not included with save data.
# Refer to "$game_temp" for the instance of this class.
#==============================================================================

class Game_Temp
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :battle_actor_index # @actor_index in battle scene
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_temp_initialize initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
large_party_temp_initialize
@battle_actor_index = 0
end
end

#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# This class handles the party. It includes information on amount of gold
# and items. Refer to "$game_party" for the instance of this class.
#==============================================================================

class Game_Party
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :max_size # Max number of actors allowed in the party
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_initialize initialize
alias large_party_add_actor add_actor
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
large_party_initialize
@max_size = Dargor::Large_Party::Max_Size
end
#--------------------------------------------------------------------------
# * Add an Actor
# actor_id : actor ID
#--------------------------------------------------------------------------
def add_actor(actor_id)
# Original method
large_party_add_actor(actor_id)
# Get actor
actor = $game_actors[actor_id]
# If the party has less than 4 members and this actor is not in the party
if @actors.size < @max_size and not @actors.include?(actor)
# Add actor
@actors.push(actor)
# Refresh player
$game_player.refresh
end
end
end

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display the battler.It observes the Game_Character
# class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_sprite_update update
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Original method
large_party_sprite_update
# Set sprite coordinates
if @battler.is_a?(Game_Actor)
self.x = @battler.screen_x - ($game_temp.battle_actor_index / 4) * 640
end
end
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
# This class brings together battle screen sprites. It's used within
# the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_spriteset_update update
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Cycle through all extra actors (4+)
# Create/update sprites
for i in 4...$game_party.actors.size
if @actor_sprites.nil?
@actor_sprites.push(Sprite_Battler.new(@viewport2))
end
@actor_sprites.battler = $game_party.actors
end
# Original method
large_party_spriteset_update
end
end

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
# This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_menu_status_initialize initialize
alias large_party_menu_status_refresh refresh
alias large_party_menu_status_update_cursor_rect update_cursor_rect
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Original method
large_party_menu_status_initialize
# Adjust contents height
@item_max = $game_party.actors.size
height = @item_max * 120
self.contents = Bitmap.new(width - 32, height - 32)
# Refresh
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh(*args)
# Original method
large_party_menu_status_refresh(*args)
# Adjust default height
self.height = 480
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
large_party_menu_status_update_cursor_rect
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = self.width / @column_max - 32
x = @index % @column_max * (cursor_width + 32)
y = @index / @column_max * 116 - self.oy
self.cursor_rect.set(x, y, cursor_width, 96)
end
#--------------------------------------------------------------------------
# * Top Row
#--------------------------------------------------------------------------
def top_row
return self.oy / 116
end
#--------------------------------------------------------------------------
# * Set Top Row
# row : new row
#--------------------------------------------------------------------------
def top_row=(row)
if row < 0
row = 0
end
if row > row_max - 1
row = row_max - 1
end
self.oy = row * 116
end
#--------------------------------------------------------------------------
# * Page Row Max
#--------------------------------------------------------------------------
def page_row_max
return 4
end
end

#==============================================================================
# ** Window_BattleStatus
#------------------------------------------------------------------------------
# This window displays the status of all party members on the battle screen.
#==============================================================================

class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_battle_status_initialize initialize
alias large_party_battle_status_refresh refresh
alias large_party_battle_status_update update
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@column_max = 4
large_party_battle_status_initialize
width = $game_party.actors.size * 160
self.contents = Bitmap.new(width - 32, height - 32)
self.width = 640
@level_up_flags = []
for i in 0...$game_party.actors.size
@level_up_flags << false
end
@item_max = $game_party.actors.size
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Refresh contents when actors are added/removed in-battle
if $game_party.actors.size != @item_max
@item_max = $game_party.actors.size
width = @item_max * 160
self.contents = Bitmap.new(width - 32, height - 32)
self.width = 640
end
large_party_battle_status_refresh
column = $game_temp.battle_actor_index / 4
self.ox = column * 640
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias large_party_phase3_setup_command_window phase3_setup_command_window
alias large_party_update_phase4_step2 update_phase4_step2
alias large_party_start_phase5 start_phase5
alias large_party_update_phase5 update_phase5
#--------------------------------------------------------------------------
# * Actor Command Window Setup
#--------------------------------------------------------------------------
def phase3_setup_command_window
$game_temp.battle_actor_index = @actor_index
@status_window.refresh
large_party_phase3_setup_command_window
@actor_command_window.x = (@actor_index%4) * 160
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 2 : start action)
#--------------------------------------------------------------------------
def update_phase4_step2
if @active_battler.is_a?(Game_Actor)
$game_temp.battle_actor_index = @active_battler.index
@status_window.refresh
end
large_party_update_phase4_step2
end
#--------------------------------------------------------------------------
# * Frame Update (main phase step 4 : animation for target)
#--------------------------------------------------------------------------
def update_phase4_step4
if @target_battlers[0] != nil
$game_temp.battle_actor_index = @target_battlers[0].index
@status_window.refresh
end
# Animation for target
for target in @target_battlers
target.animation_id = @animation2_id
target.animation_hit = (target.damage != "Miss")
end
# Animation has at least 8 frames, regardless of its length
@wait_count = 8
# Shift to step 5
@phase4_step = 5
end
#--------------------------------------------------------------------------
# * Start After Battle Phase
#--------------------------------------------------------------------------
def start_phase5
@actor_index = 0
@status_wait = Graphics.frame_count
large_party_start_phase5
end
#--------------------------------------------------------------------------
# * Frame Update (after battle phase)
#--------------------------------------------------------------------------
def update_phase5
refresh_rate = Dargor::Large_Party::Battle_Refresh_Rate
if Graphics.frame_count >= @status_wait + refresh_rate
$game_temp.battle_actor_index = @actor_index
@status_window.refresh
@status_wait = Graphics.frame_count
max = ($game_party.actors.size.to_f/4).ceil * 4
@actor_index = (@actor_index+1) % max
end
large_party_update_phase5
end
end
 
Hi there...
I am loving this Battle System, it is so customizable..!
However, I am currently using another Battle System, but love the way the "Bow & Arrow" are animated in the system. So this leaves me to two Questions:

Q1) Is there any way to make this Battle system compatible with: Real Time Active Battle (RTAB) Ver 1.16 by: Cogwheel?

Q2) If not able to make compatible with RTAB, is there away to export this way of animating the "Bow & Arrow" to be used in the RTAB System?

The only reason I ask this, is that I have been waiting for and looking for a way to animate the "Bow & Arrow", and it seems that this Battle System has done it..!

Any help in this is appreciated,

Thanks again in advance,

Fenwick
 

Atoa

Member

@Fenwick
Q1 - There's an Real time system Add-ON within the script.
And IMO, it's better than RTAB due to the high customization.

Q2 - no the characters animations was done to be used only on this system. It would be easier to create an whole new script than compatibilize it.

When you mean "RTAB" you talking abou rye.jp SBS with RTAB script right?

@deathbethecost
I improved the multi actor system, now all you need is an external way to add/remove actor from party.

You can even use the script you posted. just themove the flowing classes from it:
class Scene_Battle
class Spriteset_Battle
class Sprite_Battler < RPG::Sprite

Any party change/large party script is compatible with it as long it don't mess with the battle.

Script updated to V1.7
 
Love this!

One thing is bothering me though. The HP and MP bars, the text is in front of the bar. You ahve the bar, and over it, you have HP 134/204 (example)

How can I remove at least the HP and MP text and maybe resize the numbers? Thanks for that.///EDIT/////Nvm this, I just want this all removed. I only want the HP/MP bar. Is that a possiblity?

I also found a script crash. When you have all the add-ons scripts that are in 1.7, the Damage Limit crashes.

It says 'undefined method 'attack_effect_max_dmg' for #<Game_Enemy:0x601a528>'

and takes you to line 67 in the script Damage Limit ' effective = attack_effect_max_dmg(attacker)'
 
i made some other changes i like so i shall stick with 1.6. but i was wondering if i want the original battler images behind the hp and stuff, how do i get those back?

p.s.by the way its hard to see the batterler images in 1.7 you should move the hp and sp text down some.
 

Atoa

Member

@New2ya
To remove the name "HP/MP" text you must remove the names on the database.
About the font/size/position, it all can be configurated in the Add-On "Battle Window"

About the erron on Damage Limit, an small typo '-'

But already fixed.

To all people about the Battle Status Windos
People, this window is 100% customizable.
The configuration done is Just an Default. You all can (and must) edit it to you own style.

So, if you don't like the way it is, just re-configure it.

I'll take some SS to show the "power" of this feature.
 
Great thanks. My battle system is already looking sexier and sexier. :P Now just gonna have to figure out what I want to do with the command window...

Cheers!

EDIT: Any chance for a Kaduki battlers add-on eventually?
 

Atoa

Member

@New2Ya
it *already* compatible with Kaduki battlers.

Just replace the "SBS - Config" (but not the "SBS - Config XP") with the SBS-Config of kaduki battlers.
all you will need to do is to set the line " WALK_ANIME" in the config to false.

EDIT.:
Here is an image of what is possible with Battle Window Add-On (forget about the battlers position and fix on the status display)
Img16-10.png
 
That looks wicked, though I have no idea how to pull that off with the ATB and Overdrive bar, since they are all aligned horizontally, right?

Doesnt matter though, Im fine with the way it is.

i gotta tell ya, I love the action order system. It's beautiful! Great work.
 

Atoa

Member

@New2Ya
Both Overdrive and ATB have to an opition to total custom postion

for ATB looks in the lines 95 and 110

I recomend you to analize carefully the configuration module of each add-on.

EDIT: lol i forget to add 100% custom position for OD Metters...
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top