Expiration States with Atoa acbs: error - Noctis -  01-30-2017
 
 
Yes, my dear friends. I need your wisdom again. 
I found a pretty nice little script called Expiration States here in this forum. It makes a doom state ike in the final fantasy series where there is a turn count to die for a character. I wanted to make use of it and implemented it in a blank project with just Atoa acbs in it (only his battle sytem). Whenever doom is ready to kill the infected hero I get a error message on Game battler 2 line 223. I've underlined the line. I really dont understand why I get a error message on that point, maybe because the def remove_states_auto is rewritten or because the script is SDK and contradicts everything non SDK. 
![[Image: bugmug2340gdi7qo19y_thumb.jpg]](http://img5.fotos-hochladen.net/thumbnail/bugmug2340gdi7qo19y_thumb.jpg)  
 
From Game_Battler 2    line 218-229 
#-------------------------------------------------------------------------- 
 # * Natural Removal of States (called up each turn) 
 #-------------------------------------------------------------------------- 
 def remove_states_auto 
   for i in @states_turn.keys.clone 
    if @states_turn[i] > 0 
       @states_turn[i] -= 1 
     elsif rand(100) < $data_states[i].auto_release_prob 
       remove_state(i) 
     end 
   end 
 end 
 
 
The script 
Code: #=============================================================================== 
 
# ** States : Expiration States 
#=============================================================================== 
 
#------------------------------------------------------------------------------- 
# * SDK Log 
#------------------------------------------------------------------------------- 
#if Object.const_defined?(:SDK) 
#  SDK.log('States.ExpirationStates', 'Kain Nobel ©', 4.0, '2013.01.02') 
#end 
 
#=============================================================================== 
# ** RPG::State 
#=============================================================================== 
 
class RPG::State 
  #----------------------------------------------------------------------------- 
  # * Expiration 
  #----------------------------------------------------------------------------- 
  Expiration = {} 
  Expiration[25] = 26 # Doom 3 to Doom 2 
  Expiration[26] = 27 # Doom 2 to Doom 1 
  Expiration[27] = 1  # Doom 1 to Death 
  #----------------------------------------------------------------------------- 
  # * Expiration Default (*Don't touch*) 
  #----------------------------------------------------------------------------- 
  Expiration.default = [] 
  #----------------------------------------------------------------------------- 
  # * Experation States 
  #----------------------------------------------------------------------------- 
  def expiration_states 
    # If expiration states nil 
    if @expiration_states.nil? 
      # Get expiration states setting 
      @expiration_states = Expiration[@id] 
      # Convert to value to array if integer 
      @expiration_states = [@expiration_states] if @expiration_states.is_a?(Integer) 
      # If value isn't set as array, return an empty array 
      @expiration_states = [] unless @expiration_states.is_a?(Array) 
    end 
    # Return expiration states 
    @expiration_states 
  end 
end 
 
#=============================================================================== 
# ** Game_Battler 
#=============================================================================== 
 
class Game_Battler 
  #----------------------------------------------------------------------------- 
  # * Alias Listings 
  #----------------------------------------------------------------------------- 
  alias_method :expirestates_gmbattler_removestate,       :remove_state 
  alias_method :expirestates_gmbattler_removestatesauto,  :remove_states_auto 
  #----------------------------------------------------------------------------- 
  # * Remove States Auto 
  #----------------------------------------------------------------------------- 
  def remove_states_auto 
    # Enable flag to check for expiration states 
    @check_expiration_states = true 
    # The usual 
    expirestates_gmbattler_removestatesauto 
    # Disable flag to check for expiration states 
    @check_expiration_states = nil 
  end 
  #----------------------------------------------------------------------------- 
  # * Remove State 
  #----------------------------------------------------------------------------- 
  def remove_state(state_id, force = false) 
    # Check if state already inflicted 
    state_inflicted = state?(state_id) 
    # The usual 
    expirestates_gmbattler_removestate(state_id, force) 
    # End method if state invalid 
    return unless state_id > 0 
    # End method if state still exists 
    return if state?(state_id) 
    # End method unless checking expiration states 
    return unless @check_expiration_states 
    # End method unless state was previously inflicted before removal 
    return unless state_inflicted 
    # Get state object 
    state = $data_states[state_id] 
    # End method if expiration states empty 
    return if state.expiration_states.empty? 
    # Force the addition of each expiration state 
    state.expiration_states.each {|i| self.add_state(i)} 
  end 
end
  
 
Any ideas?
 
 
 
RE: Expiration States with Atoa acbs: error - Noctis -  02-09-2017
 
 
Trump! 
I mean BUMP!
 
 
 
RE: Expiration States with Atoa acbs: error - Noctis -  02-17-2017
 
 
Bump
 
 
 
RE: Expiration States with Atoa acbs: error - DerVVulfman -  02-17-2017
 
 
Hrm.. Problem is the fact that it 'is' an SDK script.  There is that and the author just went on a vacation last month or so.  He does so for a while.  He is the expert on that script and I believe any changes to 'un-SDK' it woul d require some extra rewirtes you might not like.
 
 
 
RE: Expiration States with Atoa acbs: error - Noctis -  02-17-2017
 
 
Oh.. By rewrite do you mean a rewrite on the expiration state addon or the core script? 
Is there any other non-SDK doom script for the RPG XP that i could test? I did only find that.
 
 
 
RE: Expiration States with Atoa acbs: error - DerVVulfman -  02-18-2017
 
 
Non SDK?  Not that I know.  The feature requires a more modular version of Game Battler.  That is to say, a version where methods like 'attack_effect' are broken down into smaller parts. 
 
THAT BEING SAID........   You may find that within my RTAB with Extras demo (just look for RTAB in here), that I employ a system by Trickster entitled "Trickster's Bag Of Skill Effects".  While it is an SDK script, it uses SDK 1.5 with no problem.  In fact, I believe there is a rewrite within the RTAB demo of Trickter's script that has been Un-SDKed.
 
 
 
 |