Limit Break

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
Good to know, but sadly even trying to find a compatible method for Yami's ATB is hard, I feel like I'm missing something obvious, it's there but just out of reach. Perhaps someone else would be able to come up with a solution, as for the moment I've run out of ideas.
 

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
I really was missing something obvious, it just didn't click until a little while ago. Try the following code. Looks tood to me so far.

Code:
module Selchar  module Max_Tp_Ani    Actors_Only = true    Default = 81  endendclass Game_Battler < Game_BattlerBase  def max_tp_animation(mirror = false)    animation = $data_animations[Selchar::Max_Tp_Ani::Default]    if animation      self.animation_id = Selchar::Max_Tp_Ani::Default      self.animation_mirror = mirror    end  end    alias :max_tp_animation_change :tp=  def tp=(tp)    @selchar_max_tp_ani = @tp    max_tp_animation_change(tp)    unless @tp == @selchar_max_tp_ani      if actor?        max_tp_animation if @tp == max_tp      else        unless Selchar::Max_Tp_Ani::Actors_Only          max_tp_animation if @tp == max_tp        end      end    end  endend
 

Nosleinad

Storyteller
Veteran
Joined
Dec 12, 2012
Messages
351
Reaction score
29
First Language
Portuguese
Primarily Uses
Thanks too Selchar, i am also using this new feature  :) .
 

SpacemanFive

Meteor Mage
Veteran
Joined
Jun 25, 2013
Messages
207
Reaction score
24
First Language
English
Primarily Uses
RMMZ
I've been wanting to use this script for a while, but I have a bit of a design issue with some of my games that would make it complicated.

These games will use TP for non-magic skills, yet I had intended the limit gauge (for applicable characters) to be separate from TP.

Is there any way that I can work around this, without having to merge the limit and skill cost functionalities?
 

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
So what you're asking is for another resource that works like TP(How it's gained), but is completely separate and tie that to this scripts functionality instead of TP? I suppose it's possible, the only issue I can think of would be having to make a new Limit gauge to display your Limit's %, which can be done several different ways depending on any scripts you may or may not have that modify the battle status window.  If you don't want a visible gauge then that would just make it easier to do.
 

Zoltor

Veteran
Veteran
Joined
Jan 18, 2014
Messages
1,550
Reaction score
211
First Language
English
Primarily Uses
So what you're asking is for another resource that works like TP(How it's gained), but is completely separate and tie that to this scripts functionality instead of TP? I suppose it's possible, the only issue I can think of would be having to make a new Limit gauge to display your Limit's %, which can be done several different ways depending on any scripts you may or may not have that modify the battle status window.  If you don't want a visible gauge then that would just make it easier to do.
 That would be great if another resource bar was added, and worked like TP, but Isn't TP, this way the TP bar can still be used for special abilities, while the Limit Break system, has its own gauge, just for the Limit Breaks.
 

SpacemanFive

Meteor Mage
Veteran
Joined
Jun 25, 2013
Messages
207
Reaction score
24
First Language
English
Primarily Uses
RMMZ
So what you're asking is for another resource that works like TP(How it's gained), but is completely separate and tie that to this scripts functionality instead of TP? I suppose it's possible, the only issue I can think of would be having to make a new Limit gauge to display your Limit's %, which can be done several different ways depending on any scripts you may or may not have that modify the battle status window.  If you don't want a visible gauge then that would just make it easier to do.
Yes, that's correct. Glad to know it's possible.

It would either be one or the other meter which would need to be new, as the functionalities I've been designing in my games for skills and limit breaks would conflict. Skill points would need to remain when a limit break is used, but the limit break would need something to use up, to prevent it from being used too often.

Now I need to figure out how to get the extra meter set up. I agree that making the new meter hidden would be easier, which puts me in a tricky situation due to the fact that I had intended the limit meter to show as well. Thankfully, the menu systems I'm using (non-battle and battle) should be adaptable enough to allow for the addition of the extra meter.
 
Last edited by a moderator:

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
Here's an unofficial version of the FF7 Limit Break script, still requires the Add Skill Exceptions script found in the 1st post.  It uses Limit Points instead of TP.
 

#===============================================================================#Script: Limit Break 7#Author: Selchar#-------------------------------------------------------------------------------=beginThis is a rather basic implementation of the Limit Break system from FF7.  Touse it, start with the settings below.  You create a skill category much likethe default Skill/Magic, and place it's number in TYPE_ID.  Then you createskills in said category and have your actors learn them.  They don't need tohave the "Limit" category under features as the command will appear on it's ownwhen the conditions have been met(Full Limit Points).  Any skills in the Limit category automatically reduce your Limit Points to 0 #-------------------------------------------------------------------------------# Actor/Class/Equip/State Notetag#-------------------------------------------------------------------------------<use_limit_break_7>Allows an actor to use your chosen Skill Type(Limit Command) when the conditionof full Limit Points is met. <lcr: x>Limit Point equivilant of tcr for TP.  x is a Float Number, a positive numberwill increase the amount of Limit Points actions and damage give you. By defaultyou have 1.0, if you have a state that has <lcr: 1.0>, then it becomes 2.0,while -0.5 would turn it to 0.5 #-------------------------------------------------------------------------------# Skill/Item Notetag#-------------------------------------------------------------------------------<lmt gain: x>Limit Point equivilant of an item/skill's Tp Gain.  x is a Float number, andby default for all skills is 0. =end#===============================================================================module Selchar  module Limit_Break_7    #Allows you to change Max Limit Point value    Max_Limit_Points = '100.0'        #Use this to designate a skill category to be used for Limit Breaks.    Type_ID = 3        #Choose whether your "Limit" command will either replace, or appear above    #the Attack command.    Replace_Attack = false  endend#===============================================================================#Don't edit below this line unless you know what you are doing.#===============================================================================$imported = {} if $imported.nil?$imported[:Limit_Break_7] = true unless $imported[:Selchar_ASCE]  msgbox("'Selchar's Add Skill Command Exceptions hasnot been detected, Exiting")  Exitend module Selchar::ASCE  Battle_ID << Selchar::Limit_Break_7::Type_IDend class Window_ActorCommand < Window_Command  #--------------------------------------------------------------------------  # * Alias: Add Attack Command to List  #--------------------------------------------------------------------------  alias :sel_limit_break_7_add_attack_command :add_attack_command  def add_attack_command    if @actor.lmt_p == @actor.max_lmt_p      limit_check = false      @actor.feature_objects.each do |obj|        limit_check = true if obj.use_limit_break_7      end      if limit_check        add_limit_7_command        return if Selchar::Limit_Break_7::Replace_Attack      end    end    sel_limit_break_7_add_attack_command  end    #--------------------------------------------------------------------------  # * New Method: Add Limit Command to List  #--------------------------------------------------------------------------  def add_limit_7_command    name = $data_system.skill_types[Selchar::Limit_Break_7::Type_ID]    add_command(name, :skill, true, Selchar::Limit_Break_7::Type_ID)  endend#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def use_limit_break_7    @note =~ /<use_limit_break_7>/i ? @use_limit_break_7 = true : @use_limit_break_7 = false if @limit_break_7.nil?    @use_limit_break_7  endend#===============================================================================# Add new Limit Points: lmt_p that works like TP when it's preserved.#===============================================================================class Game_Battler < Game_BattlerBase  #-----------------------------------------------------------------------------  # Add instance variable and initialize  #-----------------------------------------------------------------------------  attr_reader   :lmt_p  alias :sel_lb7x_init :initialize  def initialize    sel_lb7x_init    @lmt_p = 0.0  end  def lmt_p=(lmt_p)    @lmt_p = [[lmt_p, max_lmt_p].min, 0].max    refresh  end  #-----------------------------------------------------------------------------  # Limit Charge Rate similar to Tp Charge Rate  #-----------------------------------------------------------------------------  def lcr    base = 1.0    feature_objects.each do |i|      base += i.lcr    end    base = 0.0 if base < 0.0    return base  end  #-----------------------------------------------------------------------------  # Max Limit Points  #-----------------------------------------------------------------------------  def max_lmt_p    return eval(Selchar::Limit_Break_7::Max_Limit_Points)  end  #-----------------------------------------------------------------------------  # Current/Max  #-----------------------------------------------------------------------------  def lmt_p_rate    @lmt_p.to_f / self.max_lmt_p  end  #-----------------------------------------------------------------------------  # Set Limit Points to Zero when a Limit skill is used  #-----------------------------------------------------------------------------  alias :sel_lb7x_psc :pay_skill_cost  def pay_skill_cost(skill)    sel_lb7x_psc(skill)    self.lmt_p = 0.0 if skill.stype_id == Selchar::Limit_Break_7::Type_ID  end  #-----------------------------------------------------------------------------  # Increase lmt_p on skill use  #-----------------------------------------------------------------------------  alias :sel_lb7x_iue :item_user_effect  def item_user_effect(user, item)    sel_lb7x_iue(user, item)    user.lmt_p += item.lmt_gain * user.lcr  end  #-----------------------------------------------------------------------------  # Increase lmt_p when hit  #-----------------------------------------------------------------------------  alias :sel_lb7x_ctpbd :charge_tp_by_damage  def charge_tp_by_damage(damage_rate)    sel_lb7x_ctpbd(damage_rate)    self.lmt_p += (self.max_lmt_p/2) * damage_rate * lcr  end  #-----------------------------------------------------------------------------end#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def lcr    @note =~ /<lcr:\s*(.*)\s*>/i ? @lcr = $1.to_f : @lcr = 0.0 if @lcr.nil?    @lcr  endendclass RPG::UsableItem  def lmt_gain    @note =~ /<lmt[-_ ]?gain:\s*(.*)\s*>/i ? @lmt_gain = $1.to_f : @lmt_gain = 0.0 if @lmt_gain.nil?    @lmt_gain  endend#===============================================================================# End of File#===============================================================================
It doesn't have a gauge, so all the work is done in the background.  If you or anyone plans to make a Gauge add-on of some kind, just remember the following Actor methods that are built in.

Current Limit Points: lmt_p

Max Limit Points: max_lmt_p

Limit Point Rate: lmt_p_rate

I haven't thoroughly tested it yet, but so far everything seems to check out.
 

Zoltor

Veteran
Veteran
Joined
Jan 18, 2014
Messages
1,550
Reaction score
211
First Language
English
Primarily Uses
Here's an unofficial version of the FF7 Limit Break script, still requires the Add Skill Exceptions script found in the 1st post.  It uses Limit Points instead of TP.

#===============================================================================#Script: Limit Break 7#Author: Selchar#-------------------------------------------------------------------------------=beginThis is a rather basic implementation of the Limit Break system from FF7.  Touse it, start with the settings below.  You create a skill category much likethe default Skill/Magic, and place it's number in TYPE_ID.  Then you createskills in said category and have your actors learn them.  They don't need tohave the "Limit" category under features as the command will appear on it's ownwhen the conditions have been met(Full Limit Points).  Any skills in the Limit category automatically reduce your Limit Points to 0 #-------------------------------------------------------------------------------# Actor/Class/Equip/State Notetag#-------------------------------------------------------------------------------<use_limit_break_7>Allows an actor to use your chosen Skill Type(Limit Command) when the conditionof full Limit Points is met. <lcr: x>Limit Point equivilant of tcr for TP.  x is a Float Number, a positive numberwill increase the amount of Limit Points actions and damage give you. By defaultyou have 1.0, if you have a state that has <lcr: 1.0>, then it becomes 2.0,while -0.5 would turn it to 0.5 #-------------------------------------------------------------------------------# Skill/Item Notetag#-------------------------------------------------------------------------------<lmt gain: x>Limit Point equivilant of an item/skill's Tp Gain.  x is a Float number, andby default for all skills is 0. =end#===============================================================================module Selchar  module Limit_Break_7    #Allows you to change Max Limit Point value    Max_Limit_Points = '100.0'        #Use this to designate a skill category to be used for Limit Breaks.    Type_ID = 3        #Choose whether your "Limit" command will either replace, or appear above    #the Attack command.    Replace_Attack = false  endend#===============================================================================#Don't edit below this line unless you know what you are doing.#===============================================================================$imported = {} if $imported.nil?$imported[:Limit_Break_7] = true unless $imported[:Selchar_ASCE]  msgbox("'Selchar's Add Skill Command Exceptions hasnot been detected, Exiting")  Exitend module Selchar::ASCE  Battle_ID << Selchar::Limit_Break_7::Type_IDend class Window_ActorCommand < Window_Command  #--------------------------------------------------------------------------  # * Alias: Add Attack Command to List  #--------------------------------------------------------------------------  alias :sel_limit_break_7_add_attack_command :add_attack_command  def add_attack_command    if @actor.lmt_p == @actor.max_lmt_p      limit_check = false      @actor.feature_objects.each do |obj|        limit_check = true if obj.use_limit_break_7      end      if limit_check        add_limit_7_command        return if Selchar::Limit_Break_7::Replace_Attack      end    end    sel_limit_break_7_add_attack_command  end    #--------------------------------------------------------------------------  # * New Method: Add Limit Command to List  #--------------------------------------------------------------------------  def add_limit_7_command    name = $data_system.skill_types[Selchar::Limit_Break_7::Type_ID]    add_command(name, :skill, true, Selchar::Limit_Break_7::Type_ID)  endend#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def use_limit_break_7    @note =~ /<use_limit_break_7>/i ? @use_limit_break_7 = true : @use_limit_break_7 = false if @limit_break_7.nil?    @use_limit_break_7  endend#===============================================================================# Add new Limit Points: lmt_p that works like TP when it's preserved.#===============================================================================class Game_Battler < Game_BattlerBase  #-----------------------------------------------------------------------------  # Add instance variable and initialize  #-----------------------------------------------------------------------------  attr_reader   :lmt_p  alias :sel_lb7x_init :initialize  def initialize    sel_lb7x_init    @lmt_p = 0.0  end  def lmt_p=(lmt_p)    @lmt_p = [[lmt_p, max_lmt_p].min, 0].max    refresh  end  #-----------------------------------------------------------------------------  # Limit Charge Rate similar to Tp Charge Rate  #-----------------------------------------------------------------------------  def lcr    base = 1.0    feature_objects.each do |i|      base += i.lcr    end    base = 0.0 if base < 0.0    return base  end  #-----------------------------------------------------------------------------  # Max Limit Points  #-----------------------------------------------------------------------------  def max_lmt_p    return eval(Selchar::Limit_Break_7::Max_Limit_Points)  end  #-----------------------------------------------------------------------------  # Current/Max  #-----------------------------------------------------------------------------  def lmt_p_rate    @lmt_p.to_f / self.max_lmt_p  end  #-----------------------------------------------------------------------------  # Set Limit Points to Zero when a Limit skill is used  #-----------------------------------------------------------------------------  alias :sel_lb7x_psc :pay_skill_cost  def pay_skill_cost(skill)    sel_lb7x_psc(skill)    self.lmt_p = 0.0 if skill.stype_id == Selchar::Limit_Break_7::Type_ID  end  #-----------------------------------------------------------------------------  # Increase lmt_p on skill use  #-----------------------------------------------------------------------------  alias :sel_lb7x_iue :item_user_effect  def item_user_effect(user, item)    sel_lb7x_iue(user, item)    user.lmt_p += item.lmt_gain * user.lcr  end  #-----------------------------------------------------------------------------  # Increase lmt_p when hit  #-----------------------------------------------------------------------------  alias :sel_lb7x_ctpbd :charge_tp_by_damage  def charge_tp_by_damage(damage_rate)    sel_lb7x_ctpbd(damage_rate)    self.lmt_p += (self.max_lmt_p/2) * damage_rate * lcr  end  #-----------------------------------------------------------------------------end#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def lcr    @note =~ /<lcr:\s*(.*)\s*>/i ? @lcr = $1.to_f : @lcr = 0.0 if @lcr.nil?    @lcr  endendclass RPG::UsableItem  def lmt_gain    @note =~ /<lmt[-_ ]?gain:\s*(.*)\s*>/i ? @lmt_gain = $1.to_f : @lmt_gain = 0.0 if @lmt_gain.nil?    @lmt_gain  endend#===============================================================================# End of File#===============================================================================
It doesn't have a gauge, so all the work is done in the background.  If you or anyone plans to make a Gauge add-on of some kind, just remember the following Actor methods that are built in.

Current Limit Points: lmt_p

Max Limit Points: max_lmt_p

Limit Point Rate: lmt_p_rate

I haven't thoroughly tested it yet, but so far everything seems to check out.

Awesome, now it won't interfere with people's TP usage skills, I speaks for everyone when I say thanks for creating this add on/version..
 
Last edited by a moderator:

SpacemanFive

Meteor Mage
Veteran
Joined
Jun 25, 2013
Messages
207
Reaction score
24
First Language
English
Primarily Uses
RMMZ
Here's an unofficial version of the FF7 Limit Break script, still requires the Add Skill Exceptions script found in the 1st post.  It uses Limit Points instead of TP.

#===============================================================================#Script: Limit Break 7#Author: Selchar#-------------------------------------------------------------------------------=beginThis is a rather basic implementation of the Limit Break system from FF7.  Touse it, start with the settings below.  You create a skill category much likethe default Skill/Magic, and place it's number in TYPE_ID.  Then you createskills in said category and have your actors learn them.  They don't need tohave the "Limit" category under features as the command will appear on it's ownwhen the conditions have been met(Full Limit Points).  Any skills in the Limit category automatically reduce your Limit Points to 0 #-------------------------------------------------------------------------------# Actor/Class/Equip/State Notetag#-------------------------------------------------------------------------------<use_limit_break_7>Allows an actor to use your chosen Skill Type(Limit Command) when the conditionof full Limit Points is met. <lcr: x>Limit Point equivilant of tcr for TP.  x is a Float Number, a positive numberwill increase the amount of Limit Points actions and damage give you. By defaultyou have 1.0, if you have a state that has <lcr: 1.0>, then it becomes 2.0,while -0.5 would turn it to 0.5 #-------------------------------------------------------------------------------# Skill/Item Notetag#-------------------------------------------------------------------------------<lmt gain: x>Limit Point equivilant of an item/skill's Tp Gain.  x is a Float number, andby default for all skills is 0. =end#===============================================================================module Selchar  module Limit_Break_7    #Allows you to change Max Limit Point value    Max_Limit_Points = '100.0'        #Use this to designate a skill category to be used for Limit Breaks.    Type_ID = 3        #Choose whether your "Limit" command will either replace, or appear above    #the Attack command.    Replace_Attack = false  endend#===============================================================================#Don't edit below this line unless you know what you are doing.#===============================================================================$imported = {} if $imported.nil?$imported[:Limit_Break_7] = true unless $imported[:Selchar_ASCE]  msgbox("'Selchar's Add Skill Command Exceptions hasnot been detected, Exiting")  Exitend module Selchar::ASCE  Battle_ID << Selchar::Limit_Break_7::Type_IDend class Window_ActorCommand < Window_Command  #--------------------------------------------------------------------------  # * Alias: Add Attack Command to List  #--------------------------------------------------------------------------  alias :sel_limit_break_7_add_attack_command :add_attack_command  def add_attack_command    if @actor.lmt_p == @actor.max_lmt_p      limit_check = false      @actor.feature_objects.each do |obj|        limit_check = true if obj.use_limit_break_7      end      if limit_check        add_limit_7_command        return if Selchar::Limit_Break_7::Replace_Attack      end    end    sel_limit_break_7_add_attack_command  end    #--------------------------------------------------------------------------  # * New Method: Add Limit Command to List  #--------------------------------------------------------------------------  def add_limit_7_command    name = $data_system.skill_types[Selchar::Limit_Break_7::Type_ID]    add_command(name, :skill, true, Selchar::Limit_Break_7::Type_ID)  endend#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def use_limit_break_7    @note =~ /<use_limit_break_7>/i ? @use_limit_break_7 = true : @use_limit_break_7 = false if @limit_break_7.nil?    @use_limit_break_7  endend#===============================================================================# Add new Limit Points: lmt_p that works like TP when it's preserved.#===============================================================================class Game_Battler < Game_BattlerBase  #-----------------------------------------------------------------------------  # Add instance variable and initialize  #-----------------------------------------------------------------------------  attr_reader   :lmt_p  alias :sel_lb7x_init :initialize  def initialize    sel_lb7x_init    @lmt_p = 0.0  end  def lmt_p=(lmt_p)    @lmt_p = [[lmt_p, max_lmt_p].min, 0].max    refresh  end  #-----------------------------------------------------------------------------  # Limit Charge Rate similar to Tp Charge Rate  #-----------------------------------------------------------------------------  def lcr    base = 1.0    feature_objects.each do |i|      base += i.lcr    end    base = 0.0 if base < 0.0    return base  end  #-----------------------------------------------------------------------------  # Max Limit Points  #-----------------------------------------------------------------------------  def max_lmt_p    return eval(Selchar::Limit_Break_7::Max_Limit_Points)  end  #-----------------------------------------------------------------------------  # Current/Max  #-----------------------------------------------------------------------------  def lmt_p_rate    @lmt_p.to_f / self.max_lmt_p  end  #-----------------------------------------------------------------------------  # Set Limit Points to Zero when a Limit skill is used  #-----------------------------------------------------------------------------  alias :sel_lb7x_psc :pay_skill_cost  def pay_skill_cost(skill)    sel_lb7x_psc(skill)    self.lmt_p = 0.0 if skill.stype_id == Selchar::Limit_Break_7::Type_ID  end  #-----------------------------------------------------------------------------  # Increase lmt_p on skill use  #-----------------------------------------------------------------------------  alias :sel_lb7x_iue :item_user_effect  def item_user_effect(user, item)    sel_lb7x_iue(user, item)    user.lmt_p += item.lmt_gain * user.lcr  end  #-----------------------------------------------------------------------------  # Increase lmt_p when hit  #-----------------------------------------------------------------------------  alias :sel_lb7x_ctpbd :charge_tp_by_damage  def charge_tp_by_damage(damage_rate)    sel_lb7x_ctpbd(damage_rate)    self.lmt_p += (self.max_lmt_p/2) * damage_rate * lcr  end  #-----------------------------------------------------------------------------end#===============================================================================# Regex#===============================================================================class RPG::BaseItem  def lcr    @note =~ /<lcr:\s*(.*)\s*>/i ? @lcr = $1.to_f : @lcr = 0.0 if @lcr.nil?    @lcr  endendclass RPG::UsableItem  def lmt_gain    @note =~ /<lmt[-_ ]?gain:\s*(.*)\s*>/i ? @lmt_gain = $1.to_f : @lmt_gain = 0.0 if @lmt_gain.nil?    @lmt_gain  endend#===============================================================================# End of File#===============================================================================
It doesn't have a gauge, so all the work is done in the background.  If you or anyone plans to make a Gauge add-on of some kind, just remember the following Actor methods that are built in.

Current Limit Points: lmt_p

Max Limit Points: max_lmt_p

Limit Point Rate: lmt_p_rate

I haven't thoroughly tested it yet, but so far everything seems to check out.
Wow. I wasn't expecting you to actually do this. Thank you very much!

Now all I need to do is figure out how to get the meter to display.
 
Last edited by a moderator:

LazierBandit

Villager
Member
Joined
Oct 22, 2012
Messages
23
Reaction score
18
First Language
English
Primarily Uses
Apologies if this counts as a "necropost" - it seemed the most appropriate place to put this request.

Is there any chance you could add functionality to play a Sound Effect when the Limit skill is added to the command list? I've tried to work out how to script this myself, but with 0 knowledge of Ruby, I struggled...
 
Joined
Aug 2, 2014
Messages
1
Reaction score
0
First Language
Dutch
Primarily Uses
Hi all, 

first of all, awesome scripting! Works very well.  B)   :D  
However, is there also something I can do to exclude a skill from regular rules? 
So if the basic rules are the actor's HP needs to be below 25%,
and the chance of appearing is 33%, 
could I make it so that one overpowered skill only has .. I.E 20% chance of appearing?

I hope somebody can answer this even though the topic is quite aged ^^ 

Keep up the good work! 
 

Nanaki_Fan

Veteran
Veteran
Joined
Jul 15, 2014
Messages
501
Reaction score
159
First Language
English
Primarily Uses
Great  script!

One question though: Can you add an animation/effect for when the character gets a limit break?

for example: One character gets 100 TP - have character play an animation (maybe a light effect?) then have it flash up "Limit break ready"

I am using a script for visual animated battlers (old school final fantasy style)
 

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
Would the following work? It's found in post 23.  You'd make the animation yourself and put it's number where it says Default but that's not hard at all to do.
 

Code:
module Selchar  module Max_Tp_Ani    Actors_Only = true    Default = 81  endendclass Game_Battler < Game_BattlerBase  def max_tp_animation(mirror = false)    animation = $data_animations[Selchar::Max_Tp_Ani::Default]    if animation      self.animation_id = Selchar::Max_Tp_Ani::Default      self.animation_mirror = mirror    end  end    alias :max_tp_animation_change :tp=  def tp=(tp)    @selchar_max_tp_ani = @tp    max_tp_animation_change(tp)    unless @tp == @selchar_max_tp_ani      if actor?        max_tp_animation if @tp == max_tp      else        unless Selchar::Max_Tp_Ani::Actors_Only          max_tp_animation if @tp == max_tp        end      end    end  endend
 

Rusty20

Villager
Member
Joined
Jan 30, 2015
Messages
21
Reaction score
6
First Language
English
Primarily Uses
First off great Script. Second how would I make it so That the skills that pop up in the Limit Break Command are Unique to that Character, Like for example: Tom Gets Super Power Beam in his Limit Break and Mary gets Super Magic Beam in her Limit Break. Oh By The Way I'm using Limit Break 8. Edit: Never Mind I figured it out.
 
Last edited by a moderator:

Whovencroft

Warper
Member
Joined
Feb 28, 2014
Messages
3
Reaction score
0
First Language
English
Primarily Uses
I'm still pretty new at Ruby, but I'm doing my best to learn.  That being said, I cannot for the life of me figure out how to add multiple requirements to a limit break (or anything else for that matter).

I'm trying to get it to activate Limit once the TP gauge is full, but then have Limit be replaced by something like True Limit if your HP falls below 24% and the TP gauge is full.  Most of my tinkering has been with Victor's script, but I've about given up on getting it to work properly with his.  

This is my failed attempt at Victor's Command Replace for example.

<command replace: Attack>

name: Limit;

type: skill;

ext: 5;

condition: a.tp = a.mtp && a.hp > (a.mhp/4.16);

</command replace>

 

<command replace: Attack>

name: True Limit;

type: skill;

ext: 6;

condition: a.tp = a.mtp && a.hp <= (a.mhp/4.16);

</command replace>

 
 

It's looking like your FF7 Limit Break script is closest to what I'm looking for, but like I said I'm not nearly good enough yet to try rewriting code without knowing what half of it means.
 

Selchar

Veteran
Veteran
Joined
Dec 28, 2012
Messages
299
Reaction score
81
First Language
English
Primarily Uses
What you want sounds simple enough to do.  Basically it starts off the way FF7/X's limit break/overdrive works, but if your hp is below a certain point(FF8 style but without the random) you get something better?  The way I would go about it is to check for the 'true limit' conditions first, and only if that check fails would I check for the normal 'limit'.  That would insure only one would appear.  Unless you want both limit options to be available at the same time?

I don't know how exactly Victor's script works(a quick look says it should be able to do what you want and I can try and troubleshoot the conditions to make it work), or I can modify one of my scripts to add the effect you want.

Note: Your tags using Victor's script - a.mtp won't work because it is not defined.  Try changing it to a.max_tp.  Also for your 'true limit' tag, perhaps instead of replacing 'Attack' have it replace 'limit', and just do the hp check.  I haven't tested it's just an observation and a guess from my quick look.at how his script works and the tags you showed me.
 
Last edited by a moderator:

Nanaki_Fan

Veteran
Veteran
Joined
Jul 15, 2014
Messages
501
Reaction score
159
First Language
English
Primarily Uses
Would the following work? It's found in post 23.  You'd make the animation yourself and put it's number where it says Default but that's not hard at all to do.

module Selchar module Max_Tp_Ani Actors_Only = true Default = 81 endendclass Game_Battler < Game_BattlerBase def max_tp_animation(mirror = false) animation = $data_animations[Selchar::Max_Tp_Ani::Default] if animation self.animation_id = Selchar::Max_Tp_Ani::Default self.animation_mirror = mirror end end alias :max_tp_animation_change :tp= def tp=(tp) @selchar_max_tp_ani = @tp max_tp_animation_change(tp) unless @tp == @selchar_max_tp_ani if actor? max_tp_animation if @tp == max_tp else unless Selchar::Max_Tp_Ani::Actors_Only max_tp_animation if @tp == max_tp end end end endend
I shall give this a try!

While I am here, I saw a post in the thread about changing the colour of the "limit break" text but I couldnt get it too work. Any ideas?
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,865
Messages
1,017,059
Members
137,575
Latest member
akekaphol101
Top