Chaos Project

RPG Maker => RPG Maker Scripts => Script Troubleshooting => Topic started by: vvalkingman on December 14, 2011, 03:47:22 am

Title: [Resolved] Help w/ Lanzer's Counter Script
Post by: vvalkingman on December 14, 2011, 03:47:22 am
Hey! So I'm using Lanzer's Counter script in rpg maker xp:


#==========================================================================
# ** UL Counter Attack
#==========================================================================
# Uncle Lanzer
# Version 1
# 21.09.10
#==========================================================================
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  
#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# #  
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #  
# #  You are free:
# #  
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# #  
# #  Under the following conditions:
# #  
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# #  
# #  Noncommercial. You may not use this work for commercial purposes.
# #  
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# #  
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# #  
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# #  
# #  - Nothing in this license impairs or restricts the author's moral rights.
# #  
# #----------------------------------------------------------------------------

#################
#               #  
# CONFIGURATION #
#               #
#################
# IT`S PRETTY SIMPLE........ JUST KILL THE BATMAN! <-- FORGET THAT -.-U
# MAKE A "(YOUR COUNTER NAME)" STATE
# UL_COUNTER_STATES = { A => [ B,C]}
# A = THE COUNTER STATE
# B = RATE OF SUCCESS
# C = STRENGHT OF COUNTER ( % OF A NORMAL ATTACK)
Scene_Battle::UL_Counter_States = { 20 => [100,100]} #ADD MORE BY THE SAME SYNTAX


# MESSAGGE WHEN COUNTER
Scene_Battle::UL_Counter_Messages = ['\m Counter!']

# CHECKING SCRIPT
if !@ul_counterattack_disabled

# START
class Game_Battler
 alias lanzer_counter_battler_atkeff attack_effect
 def attack_effect(attacker)
   lanzer_counter_battler_atkeff(attacker)
   if $scene.active_battler == attacker
     $scene.ul_atkcounter_test(self)
   end
 end
end

class Scene_Battle
 attr_accessor :active_battler
 
 def ul_atkcounter_test(battler)
   ul_temp = UL_Counter_States.keys
   for i in 0...ul_temp.size
     if battler.state?(ul_temp[i])
       if UL_Counter_States[ul_temp[i]][0] > rand(99)
         @ul_counter = UL_Counter_States[ul_temp[i]][1]
         @ul_countertarget = battler
         return
       end
     end
   end
 end
 
 alias lanzer_counter_battle_up4s5 update_phase4_step5
 def update_phase4_step5
   lanzer_counter_battle_up4s5
   if @ul_countertarget != nil
     @phase4_step = 1337  # LEET
     @ul_atkcounter = 28
   end
 end
 
 def ul_counter_update
   if @ul_countertarget.dead? or @ul_atkcounter == 0
     @ul_atkcounter = nil
     @ul_counter = nil
     @ul_countertarget = nil
     @phase4_step = 6
     return
   end
   @ul_atkcounter -= 1
   if @ul_atkcounter == 10
     @ul_countertarget.animation_id = @ul_countertarget.animation1_id
     @active_battler.animation_id = @ul_countertarget.animation2_id
     ul_temp = rand(UL_Counter_Messages.size)
     ul_temp = UL_Counter_Messages[ul_temp].clone
     ul_temp.gsub!(/\\[Mm]/) { @ul_countertarget.name }
     @help_window.set_text(ul_temp, 1)
     @active_battler.attack_effect(@ul_countertarget)
     if !@active_battler.damage.is_a?(String)
       @active_battler.hp += @active_battler.damage
       @active_battler.damage = @active_battler.damage * @ul_counter / 100
       @active_battler.hp -= @active_battler.damage
       @status_window.refresh
     end
     @active_battler.damage_pop = true
   end
 end
 
 alias lanzer_counter_battle_update update
 def update
   if @ul_atkcounter != nil
     ul_counter_update
   end
   lanzer_counter_battle_update
 end
end

#--------------------------------------------------------------------------#
end


And I'd like to be able to tie the success rate of the counter to a variable in-game. That way as the player progresses through the game they can "level up" counter. Any ideas on how I can make this happen? Thanks in advance! :D
Title: Re: Help w/ Lanzer's Counter Script
Post by: vvalkingman on December 14, 2011, 04:46:23 pm
And I'm an idiot...didn't notice that I could just add more states and add to the syntax... :facepalm: thanks for your patience.
Title: Re: Help w/ Lanzer's Counter Script
Post by: Blizzard on December 14, 2011, 09:00:25 pm
Lol! Yeah, reading instructions can save you a lot of time and headache. xD
Please edit your first post and add [Resolved] to the topic title so it's visible that the problem was resolved.