Save-Point
CTB - A Final Fantasy X-like Battle System, Version 3.2 - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Material Development (https://www.save-point.org/forum-8.html)
+--- Forum: Scripts Database (https://www.save-point.org/forum-39.html)
+---- Forum: RPGMaker XP (RGSS) Engine (https://www.save-point.org/forum-116.html)
+---- Thread: CTB - A Final Fantasy X-like Battle System, Version 3.2 (/thread-2298.html)



CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - lndignation - 07-24-2009

OH I totally missed the option for setting a default one
Thanks again Charlie, you're CBS is definitely one of the best out there

I'll lurk and keep looking out for stuff from you!


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - Charlie Fleed - 07-24-2009

You're welcome.
I would like to remember that a very fundamental piece of this battle system is the animation system by DerVVulfman.
Give to Caesar what is Caesar's.


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - DerVVulfman - 07-24-2009

:) Dude, have you seen my credits list for AnimBat? :P Give unto Caesar, and all of Rome there. Still, you have plenty of features and add-ons in that system of yours. :D


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - Charlie Fleed - 07-25-2009

DerVVulfman Wrote::) Dude, have you seen my credits list for AnimBat? :P Give unto Caesar, and all of Rome there.

Yeah, right :) .

DerVVulfman Wrote:Still, you have plenty of features and add-ons in that system of yours. :D

err... preview of a new feature: the "Grandia Bar".

[Image: grandiabar.jpg]


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - lndignation - 07-27-2009

Hey Charlie I got another question.
Is there any way to use a script call to change the rate for filling the Super Arts Gauge in-game?


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - Charlie Fleed - 07-27-2009

Nope, it's an easy mod though. Even easier if that damn program had a decent IDE...
Anyway... it's in the request list for the next version.


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - Charlie Fleed - 07-31-2009

Updated to version 2.14

v2.14 New feature Unleash Skill.
v2.14 Improved animated bars.
v2.14 Fixed actors (actors that cannot be switched, not even when transformed).
v2.14 Added a new element tag for Drain-like skills.
v2.14 Configurable opacity for the HP/SP bars (this lets you can make them invisible if you want).
v2.14 Simplified installation: "switch" and "retire" common events not needed anymore.
v2.14 Adjustable vertical spacing in status window style 1.
v2.14 ATB bars.
v2.14 Grandia bar.
v2.14 Configurable BGM for each Summon.
v2.14 Configurable Animation for each Summon.
v2.14 Allies with HP>0 cannot be targeted for the usage of items or skills with "One Ally (HP 0)" scope.
v2.14 Allies with HP=0 cannot be targeted for the usage of items or skills with "One Ally" scope.

I might update the demo in the next few days as I'm trying to update the instructions, anyway in terms of new features this version is final. I'm sorry I couldn't include the latest release of Animated Battlers and I didn't script a Spot skill, next time... (I know I always say that...).


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - archerrin - 07-31-2009

very awesome script.

One question - is there a way to make the HP bars permanently active instead of showing up only after you have killed the type of enemy? Thanks.

Also I get this error when I get to battlescreen after my hero had transformed into Adel+

[Image: 1583z45.jpg]


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - Charlie Fleed - 07-31-2009

archerrin Wrote:One question - is there a way to make the HP bars permanently active instead of showing up only after you have killed the type of enemy? Thanks.

Have an event executed at the beginning of the game with a Call Script command and the following code:
Code:
for i in 0..$data_enemies.size
  $game_system.
    killed_enemies_ids[i]=i
end

archerrin Wrote:Also I get this error when I get to battlescreen after my hero had transformed into Adel+

Wait a minute, Adel+ is a (type-2) summon, not a transformation, it summons Adel with the superart bar already filled (that's what the "+" stands for). Please describe exactly what you do before you get the error message.


CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - archerrin - 08-01-2009

edit: Thanks a lot , everything works now. I re-downloaded your file and pasted my map onto it. My map was needing a summon system or a transformation system and this is really perfect. Much respect.

I have a few more questions and hope you can answer :)

1. When my hero kills the enemy when summoned as Adel+, he gains I think 80% exp from the battle. May I ask where is the integer to control that exp factor? Just so I can change it back to 100%.

2. would you know how to implement HP refresh support for damage graphic remodding? when i add this it won't refresh the HP bars.
It would be great if it's possible to merge this with the Bouncing damage Mod .. but I can't script :S

(looks like this
[Image: 2chx3wk.png] )

Code:
# Remodeled Damage Display (Normal Variant) ver 1.02b
# Distribution original support URL
# http://members.jcom.home.ne.jp/cogwheel/

=begin

Usually,  the damage is displayed on the screen using the default font in white
lettering.   This system is different in that  it applies images on screen,  in
place of the generic text.

To install this system,  the graphics MUST  be placed in the "pictures" folder,
instead of the  "String"  folder as originally designed by the original author.
This is so a fully encrypted version will work (wouldn't the other way...).

With line 32 and 33, you can change or set the height & width of the numbers in
the .png file holding the individual numbers displayed during battle.

NOTE BY DERVVULFMAN:
Besides changing the directory where the .png files are kept,  I added a condi-
tional branch for displaying damage.  This fix (required for effects that don't
display damage)  only activates the damage display  if there IS a damage bitmap
to show.  

=end


class Scene_Battle
  alias :main_damage :main
  def main
    for path in ["num", "critical", "miss"]
      RPG::Cache.numeric(path)
    end
    main_damage
  end
end

module RPG
  class Sprite < ::Sprite
    WIDTH = 18                  # Width of individual number in number image.
    HEIGHT = 12                 # Height of individual number in number image.
    
    def damage(value, critical)
      dispose_damage
      if value.is_a?(Numeric)
        damage_string = value.abs.to_s
      else
        damage_string = value.to_s
      end
      if value.is_a?(Numeric)
        damage_string = value.abs.to_s
      else
        damage_string = value.to_s
      end
      if value.is_a?(Numeric)
        if value >= 0
          if critical
            d_bitmap = draw_damage(value, 1)
          else
            d_bitmap = draw_damage(value, 0)
          end
        else
          d_bitmap = draw_damage(value, 2)
        end
      else
        d_bitmap = draw_damage(value, 3)
      end
      # Added Fix (Only show damage if there IS a damage value to show.)
      if d_bitmap != nil
        @_damage_sprite = ::Sprite.new
        @_damage_sprite.bitmap = d_bitmap
        @_damage_sprite.ox = d_bitmap.width / 2
        @_damage_sprite.oy = d_bitmap.height / 2
        @_damage_sprite.x = self.x + self.viewport.rect.x
        @_damage_sprite.y = self.y - self.oy / 2 + self.viewport.rect.y
        @_damage_sprite.z = 3000
        @_damage_duration = 40
      end
    end
    
    def draw_damage(value, element)
      width = 0
      if value.is_a?(Numeric)
        value = value.abs
        fig = value.to_s.size - 1
        file = RPG::Cache.numeric("num")
        d_width = WIDTH * fig + file.rect.width / 10
        if element == 1
          critical = RPG::Cache.numeric("critical")
          d_width = [d_width, critical.rect.width].max
          d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 3)
          d_x = (width - critical.rect.width / 10) / 2
          d_bitmap.blt(d_x, 0, critical, critical.rect)
        else
          d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 3)
        end
        d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
        while fig >= 0
          d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
            file.rect.width / 10, element * file.rect.height / 3,
            file.rect.width / 10, file.rect.height / 3))
          d_x += WIDTH
          value %= 10 ** fig
          fig -= 1
        end
      else
        case value
        when ""
          return
        when "Miss"
          file = RPG::Cache.numeric("miss")
        else
          file = RPG::Cache.numeric(value)
        end
        d_bitmap = file
      end
      return d_bitmap
    end
  end
  
  module Cache
    def self.numeric(filename)
      self.load_bitmap("Graphics/Pictures/", filename)
    end
  end
end