|
| [VX] Chaos Ring's Break Gauge | |
|
+4Alucard666 marjoni01 Nefusa 7 DrDhoom 8 posters | Pengirim | Message |
---|
DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: [VX] Chaos Ring's Break Gauge 2012-04-10, 18:41 | |
| Break Gauge Versi: 1.1 Tipe: Battle Add-on PengenalanWell ini system dari Chaos Ring, game yg ada di iPhone. Dengan script ini, battle akan memiliki 3 kondisi, yaitu kondisi dimana battle imbang, kondisi dimana player lebih unggul, dan kondisi dimana musuh lebih unggul. Apabila Player/Musuh yang lebih unggul maka Status dari Party/Troop akan bertambah dan sebaliknya bagi yang tidak unggul. Kondisi digambarkan pada HUD dengan jumlah bar dan tulisan pihak yang unggul. Untuk menambah atau mengurangi bar dapat dilakukan dengan berbagai cara, misal: musuh mati maka bar akan bertambah ke pihak player. Fitur
- HUD yang dapat divariasikan
- Dapat mengatur besar status yang berkurang/bertambah
- Dapat mengatur berapa besar bar akan berubah ketika kondisi terpenuhi
- Ada Tankentai Version nya
Screenshots- Screenshot:
Demohttp://www.media*fire.com/?covivnw0850t1lz Note: Hilangkan tanda * untuk men-download Scripts- Script:
- Code:
-
#=============================================================================== #-----------------------=�€� Break Gauge Chaos Ring �€�=---------------------------- #---------------------------=�€� by: DrDhoom �€�=----------------------------------- # Version: 1.1 # Date Published: 04 - 03 - 2012 # Battle Addon # RRR Community (Requested by Raisuki) #------------------------------------------------------------------------------- # Changelog: # v1.1 04/03/2012 # �€� Player Party or Enemy Troop not taking damage doesn't added bar, FIXED #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #===============================================================================
module Dhoom module BreakGaugeChaos #Calculation Setting #-Player- #1. The player attacks first at the start of the battle, gauge changes from "Even" to "Player" #2. The player's first strike is a critical hit, gauge changes from "Even" to "Player" #3. Player's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Player" #4. Player defeats an enemy on any other turn #5. Player makes it through the enemy's turn without taking damage #6. Player is attacked by an enemy while the gauge is at "Player" #7. A party member is defeated by an enemy while the gauge is at "Player"
#~Enemy- #1. The enemy attacks first at the start of the battle, gauge changes from "Even" to "Enemy" #2. The enemy's first strike is a critical hit, gauge changes from "Even" to "Enemy" #3. Enemy's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Enemy" #4. Enemy defeats an party member on any other turn #5. Enemies makes it through the player's turn without taking damage #6. Enemy is attacked by an party member while the gauge is at "Enemy" #7. An enemy is defeated by an party member while the gauge is at "Enemy"
#-Other- #1. All bars are depleted from either "Player" or "Enemy", added to the opposing side #2. A skill is used that specifically drains bars from the opposing favor but normal damage otherwise (E.G. Player uses skill during a time when the gauge is displayed as "Enemy"), added to the opposing favor #How much amount added to bar based on specified actions CALC_BAR_PLAYER = [4,5,7,1,1,-1,-4] CALC_BAR_ENEMY = [4,5,7,1,1,-1,-4] CALC_BAR_OTHER = [4,-2] #State ID to added to Player or Enemy states based on Gauge Side STAT_ID = 17 #Display Setting CIRCLE_COOR = [6, 6] BREAK_COOR = [0,0] BREAK_ME = "Victory1" end end
class Sprite_BreakGauge include Dhoom::BreakGaugeChaos attr_accessor :x attr_accessor :y attr_accessor :bar attr_accessor :way def initialize(x, y) @x = x @y = y @bar = 0 @way = 0 @tmp_x = x @tmp_y = y @tmp_bar = 0 @tmp_way = 0 @next = 0 create_graphics end def create_graphics @barspr = Sprite.new @circle = Sprite.new @circle.bitmap = Cache.system("chaos_circle") @text = Sprite.new @text.bitmap = Cache.system("chaos_even") @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @break = Sprite.new @break.bitmap = Cache.system("chaos_break") @break.opacity = 0 @break.ox = @break.width/2 @break.oy = @break.height/2 @break.x = BREAK_COOR[0]+@break.ox @break.y = BREAK_COOR[1]+@break.oy end def update return if break? if @bar > 8 @bar = 8 elsif @bar < -8 @bar = -8 end if (@bar > 0 and @way == 2) @next = 1 elsif (@bar < 0 and @way == 1) @next = 2 end if @bar == 0 if @way == 1 @next = 2 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play elsif @way == 2 @next = 1 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play end @way = 0 @time1 = 240 @time2 = 120 end update_graphics if something_changed? end def update_break if @time1 > 0 @break.opacity += 2 @break.angle += 6 if @time1 > 120 @time1 -= 1 elsif @time2 > 0 @break.opacity -= 3 @time2 -= 1 else if @next == 1 @text.bitmap = Cache.system("chaos_even") @bar = CALC_BAR_OTHER[0] @way = 1 @next = 0 elsif @next == 2 @text.bitmap = Cache.system("chaos_even") @bar = -(CALC_BAR_OTHER[0]) @way = 2 @next = 0 end update end end def break? return true if @next != 0 return false end def dispose @barspr.dispose @text.dispose @circle.dispose end def something_changed? return true if @x != @tmp_x || @y != @tmp_y || @bar != @tmp_bar || @way != @tmp_way return false end def update_graphics if @bar != 0 @barspr.bitmap = Cache.system("chaos_"+@bar.to_s) else @barspr.bitmap = Bitmap.new(74,74) end case @way when 0 @text.bitmap = Cache.system("chaos_even") when 1 @text.bitmap = Cache.system("chaos_player") when 2 @text.bitmap = Cache.system("chaos_enemy") end @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @tmp_x = @x @tmp_y = @y @tmp_bar = @bar @tmp_way = @way end end
class Scene_Battle < Scene_Base include Dhoom::BreakGaugeChaos alias dhoom_battle_update_break update alias dhoom_battle_crt_inf_viewport create_info_viewport alias dhoom_battle_disp_inf_viewport dispose_info_viewport alias dhoom_battle_turn_end turn_end def update super if @break_gauge.break? @break_gauge.update_break update_basic(true) update_info_viewport return else @break_gauge.update end for actor in $game_party.members if @break_gauge.way == 1 actor.add_state(STAT_ID) else actor.remove_state(STAT_ID) end end for enemy in $game_troop.members if @break_gauge.way == 2 enemy.add_state(STAT_ID) else enemy.remove_state(STAT_ID) end end dhoom_battle_update_break end def create_info_viewport dhoom_battle_crt_inf_viewport @break_gauge = Sprite_BreakGauge.new(CIRCLE_COOR[0], CIRCLE_COOR[1]) @turn = 1 @no_dmg_player = 0 @no_dmg_enemy = 0 @first_strike = true end def dispose_info_viewport dhoom_battle_disp_inf_viewport @break_gauge.dispose end def turn_end @turn += 1 check_battler if @no_dmg_player >= @troop_size @break_gauge.bar += CALC_BAR_PLAYER[4] end if @no_dmg_enemy >= @party_size @break_gauge.bar -= CALC_BAR_ENEMY[4] end @no_dmg_player = 0 @no_dmg_enemy = 0 dhoom_battle_turn_end end def check_battler @troop_size = 0 @party_size = 0 for actor in $game_party.members if !actor.dead? @party_size += 1 end end for enemy in $game_troop.members if !enemy.dead? @troop_size += 1 end end end def execute_action_attack text = sprintf(Vocab::DoAttack, @active_battler.name) @message_window.add_instant_text(text) targets = @active_battler.action.make_targets display_attack_animation(targets) wait(20) for target in targets target.attack_effect(@active_battler) display_action_effects(target) end for target in targets if target.actor? if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_player += 1 end else if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_enemy += 1 end end return if target.missed return if target.evaded return if target.hp_damage == 0 if @first_strike if @active_battler.actor? @break_gauge.way = 1 @first_strike = false if target.critical and target.dead? @break_gauge.bar += CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar += CALC_BAR_PLAYER[1] else @break_gauge.bar += CALC_BAR_PLAYER[0] end else @break_gauge.way = 2 @first_strike = false if target.critical and target.dead? @break_gauge.bar -= CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar -= CALC_BAR_PLAYER[1] else @break_gauge.bar -= CALC_BAR_PLAYER[0] end end else if @active_battler.actor? if target.dead? if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[3] elsif @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[6] end else if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_PLAYER[5] end end else if target.dead? if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[3] elsif @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[6] end else if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_ENEMY[5] end end end end end end def execute_action_skill skill = @active_battler.action.skill text = @active_battler.name + skill.message1 @message_window.add_instant_text(text) unless skill.message2.empty? wait(10) @message_window.add_instant_text(skill.message2) end targets = @active_battler.action.make_targets display_animation(targets, skill.animation_id) @active_battler.mp -= @active_battler.calc_mp_cost(skill) $game_temp.common_event_id = skill.common_event_id for target in targets target.skill_effect(@active_battler, skill) display_action_effects(target, skill) end targets = @active_battler.action.make_targets for target in targets return if target.missed return if target.evaded end if @active_battler.actor? and @break_gauge.way == 2 @break_gauge.bar += CALC_BAR_OTHER[1] elsif @break_gauge.way == 1 @break_gauge.bar -= CALC_BAR_OTHER[1] end end end
Tankentai Version - Script:
- Code:
-
#=============================================================================== #-----------------------=�€� Break Gauge Chaos Ring �€�=---------------------------- #---------------------------=�€� by: DrDhoom �€�=----------------------------------- # Version: 1.1a (Tankentai Ver.) # Date Published: 04 - 03 - 2012 # Battle Addon # RRR Community (Requested by Raisuki) #------------------------------------------------------------------------------- # Changelog: # v1.1 04/03/2012 # �€� Player Party or Enemy Troop not taking damage doesn't added bar, FIXED # v1.1a 11/04/2012 # �€� Fixed bug when using skill #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #===============================================================================
module Dhoom module BreakGaugeChaos #Calculation Setting #-Player- #1. The player attacks first at the start of the battle, gauge changes from "Even" to "Player" #2. The player's first strike is a critical hit, gauge changes from "Even" to "Player" #3. Player's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Player" #4. Player defeats an enemy on any other turn #5. Player makes it through the enemy's turn without taking damage #6. Player is attacked by an enemy while the gauge is at "Player" #7. A party member is defeated by an enemy while the gauge is at "Player"
#~Enemy- #1. The enemy attacks first at the start of the battle, gauge changes from "Even" to "Enemy" #2. The enemy's first strike is a critical hit, gauge changes from "Even" to "Enemy" #3. Enemy's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Enemy" #4. Enemy defeats an party member on any other turn #5. Enemies makes it through the player's turn without taking damage #6. Enemy is attacked by an party member while the gauge is at "Enemy" #7. An enemy is defeated by an party member while the gauge is at "Enemy"
#-Other- #1. All bars are depleted from either "Player" or "Enemy", added to the opposing side #2. A skill is used that specifically drains bars from the opposing favor but normal damage otherwise (E.G. Player uses skill during a time when the gauge is displayed as "Enemy"), added to the opposing favor #How much amount added to bar based on specified actions CALC_BAR_PLAYER = [4,5,7,1,1,-1,-4] CALC_BAR_ENEMY = [4,5,7,1,1,-1,-4] CALC_BAR_OTHER = [4,-2] #State ID to added to Player or Enemy states based on Gauge Side STAT_ID = 17 #Display Setting CIRCLE_COOR = [6, 6] BREAK_COOR = [0,0] BREAK_ME = "Victory1" end end
class Sprite_BreakGauge include Dhoom::BreakGaugeChaos attr_accessor :x attr_accessor :y attr_accessor :bar attr_accessor :way def initialize(x, y) @x = x @y = y @bar = 0 @way = 0 @tmp_x = x @tmp_y = y @tmp_bar = 0 @tmp_way = 0 @next = 0 create_graphics end def create_graphics @barspr = Sprite.new @circle = Sprite.new @circle.bitmap = Cache.system("chaos_circle") @text = Sprite.new @text.bitmap = Cache.system("chaos_even") @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @break = Sprite.new @break.bitmap = Cache.system("chaos_break") @break.opacity = 0 @break.ox = @break.width/2 @break.oy = @break.height/2 @break.x = BREAK_COOR[0]+@break.ox @break.y = BREAK_COOR[1]+@break.oy end def update return if break? if @bar > 8 @bar = 8 elsif @bar < -8 @bar = -8 end if (@bar > 0 and @way == 2) @next = 1 elsif (@bar < 0 and @way == 1) @next = 2 end if @bar == 0 if @way == 1 @next = 2 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play elsif @way == 2 @next = 1 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play end @way = 0 @time1 = 240 @time2 = 120 end update_graphics if something_changed? end def update_break if @time1 > 0 @break.opacity += 2 @break.angle += 6 if @time1 > 120 @time1 -= 1 elsif @time2 > 0 @break.opacity -= 3 @time2 -= 1 else if @next == 1 @text.bitmap = Cache.system("chaos_even") @bar = CALC_BAR_OTHER[0] @way = 1 @next = 0 elsif @next == 2 @text.bitmap = Cache.system("chaos_even") @bar = -(CALC_BAR_OTHER[0]) @way = 2 @next = 0 end update end end def break? return true if @next != 0 return false end def dispose @barspr.dispose @text.dispose @circle.dispose end def something_changed? return true if @x != @tmp_x || @y != @tmp_y || @bar != @tmp_bar || @way != @tmp_way return false end def update_graphics if @bar != 0 @barspr.bitmap = Cache.system("chaos_"+@bar.to_s) else @barspr.bitmap = Bitmap.new(74,74) end case @way when 0 @text.bitmap = Cache.system("chaos_even") when 1 @text.bitmap = Cache.system("chaos_player") when 2 @text.bitmap = Cache.system("chaos_enemy") end @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @tmp_x = @x @tmp_y = @y @tmp_bar = @bar @tmp_way = @way end end
class Scene_Battle < Scene_Base include Dhoom::BreakGaugeChaos alias dhoom_battle_update_break update alias dhoom_battle_crt_inf_viewport create_info_viewport alias dhoom_battle_disp_inf_viewport dispose_info_viewport alias dhoom_battle_turn_end turn_end def update super if @break_gauge.break? @break_gauge.update_break update_basic(true) update_info_viewport return else @break_gauge.update end for actor in $game_party.members if @break_gauge.way == 1 actor.add_state(STAT_ID) else actor.remove_state(STAT_ID) end end for enemy in $game_troop.members if @break_gauge.way == 2 enemy.add_state(STAT_ID) else enemy.remove_state(STAT_ID) end end dhoom_battle_update_break end def create_info_viewport dhoom_battle_crt_inf_viewport @break_gauge = Sprite_BreakGauge.new(CIRCLE_COOR[0], CIRCLE_COOR[1]) @turn = 1 @no_dmg_player = 0 @no_dmg_enemy = 0 @first_strike = true end def dispose_info_viewport dhoom_battle_disp_inf_viewport @break_gauge.dispose end def turn_end @turn += 1 check_battler if @no_dmg_player >= @troop_size @break_gauge.bar += CALC_BAR_PLAYER[4] end if @no_dmg_enemy >= @party_size @break_gauge.bar -= CALC_BAR_ENEMY[4] end @no_dmg_player = 0 @no_dmg_enemy = 0 dhoom_battle_turn_end end def check_battler @troop_size = 0 @party_size = 0 for actor in $game_party.members if !actor.dead? @party_size += 1 end end for enemy in $game_troop.members if !enemy.dead? @troop_size += 1 end end end
def execute_action_attack targets = @active_battler.action.make_targets if @active_battler.actor? if @active_battler.weapon_id == 0 action = @active_battler.non_weapon immortaling else action = $data_weapons[@active_battler.weapon_id].base_action if $data_weapons[@active_battler.weapon_id].state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end end else if @active_battler.weapon == 0 action = @active_battler.base_action immortaling else action = $data_weapons[@active_battler.weapon].base_action if $data_weapons[@active_battler.weapon].state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end end end target_decision @spriteset.set_action(@active_battler.actor?, @active_battler.index, action) playing_action for target in targets if target.actor? if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_player += 1 end else if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_enemy += 1 end end return if target.missed return if target.evaded return if target.hp_damage == 0 if @first_strike if @active_battler.actor? @break_gauge.way = 1 @first_strike = false if target.critical and target.dead? @break_gauge.bar += CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar += CALC_BAR_PLAYER[1] else @break_gauge.bar += CALC_BAR_PLAYER[0] end else @break_gauge.way = 2 @first_strike = false if target.critical and target.dead? @break_gauge.bar -= CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar -= CALC_BAR_PLAYER[1] else @break_gauge.bar -= CALC_BAR_PLAYER[0] end end else if @active_battler.actor? if target.dead? if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[3] elsif @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[6] end else if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_PLAYER[5] end end else if target.dead? if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[3] elsif @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[6] end else if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_ENEMY[5] end end end end end end def execute_action_skill skill = @active_battler.action.skill return unless @active_battler.action.valid? # 3.3d, Force action bug fix if skill.plus_state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end target_decision(skill) @spriteset.set_action(@active_battler.actor?, @active_battler.index, skill.base_action) pop_help(skill) playing_action @active_battler.mp -= @active_battler.calc_mp_cost(skill) @status_window.refresh $game_temp.common_event_id = skill.common_event_id targets = @active_battler.action.make_targets for target in targets return if target.missed return if target.evaded end if @active_battler.actor? and @break_gauge.way == 2 @break_gauge.bar += CALC_BAR_OTHER[1] elsif @break_gauge.way == 1 @break_gauge.bar -= CALC_BAR_OTHER[1] end end end
Tankentai ATB Ver. - Spoiler:
- Code:
-
#=============================================================================== #-----------------------=�€� Break Gauge Chaos Ring �€�=---------------------------- #---------------------------=�€� by: DrDhoom �€�=----------------------------------- # Version: 1.1a (Tankentai ATB Ver.) # Date Published: 04 - 03 - 2012 # Battle Addon # RRR Community (Requested by Raisuki) #------------------------------------------------------------------------------- # Changelog: # v1.1 04/03/2012 # �€� Player Party or Enemy Troop not taking damage doesn't added bar, FIXED # v1.1a 11/04/2012 # �€� Fixed bug when using skill #------------------------------------------------------------------------------- # How to use: # - Insert this script above Main #===============================================================================
module Dhoom module BreakGaugeChaos #Calculation Setting #-Player- #1. The player attacks first at the start of the battle, gauge changes from "Even" to "Player" #2. The player's first strike is a critical hit, gauge changes from "Even" to "Player" #3. Player's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Player" #4. Player defeats an enemy on any other turn #5. Player makes it through the enemy's turn without taking damage #6. Player is attacked by an enemy while the gauge is at "Player" #7. A party member is defeated by an enemy while the gauge is at "Player"
#~Enemy- #1. The enemy attacks first at the start of the battle, gauge changes from "Even" to "Enemy" #2. The enemy's first strike is a critical hit, gauge changes from "Even" to "Enemy" #3. Enemy's first strike is a critical hit and defeats the enemy, gauge changes from "Even" to "Enemy" #4. Enemy defeats an party member on any other turn #5. Enemies makes it through the player's turn without taking damage #6. Enemy is attacked by an party member while the gauge is at "Enemy" #7. An enemy is defeated by an party member while the gauge is at "Enemy"
#-Other- #1. All bars are depleted from either "Player" or "Enemy", added to the opposing side #2. A skill is used that specifically drains bars from the opposing favor but normal damage otherwise (E.G. Player uses skill during a time when the gauge is displayed as "Enemy"), added to the opposing favor #How much amount added to bar based on specified actions CALC_BAR_PLAYER = [4,5,7,1,1,-1,-4] CALC_BAR_ENEMY = [4,5,7,1,1,-1,-4] CALC_BAR_OTHER = [4,-2] #State ID to added to Player or Enemy states based on Gauge Side STAT_ID = 17 #Display Setting CIRCLE_COOR = [6, 6] BREAK_COOR = [0,0] BREAK_ME = "Victory1" end end
class Sprite_BreakGauge include Dhoom::BreakGaugeChaos attr_accessor :x attr_accessor :y attr_accessor :bar attr_accessor :way def initialize(x, y) @x = x @y = y @bar = 0 @way = 0 @tmp_x = x @tmp_y = y @tmp_bar = 0 @tmp_way = 0 @next = 0 create_graphics end def create_graphics @barspr = Sprite.new @circle = Sprite.new @circle.bitmap = Cache.system("chaos_circle") @text = Sprite.new @text.bitmap = Cache.system("chaos_even") @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @break = Sprite.new @break.bitmap = Cache.system("chaos_break") @break.opacity = 0 @break.ox = @break.width/2 @break.oy = @break.height/2 @break.x = BREAK_COOR[0]+@break.ox @break.y = BREAK_COOR[1]+@break.oy end def update return if break? if @bar > 8 @bar = 8 elsif @bar < -8 @bar = -8 end if (@bar > 0 and @way == 2) @next = 1 elsif (@bar < 0 and @way == 1) @next = 2 end if @bar == 0 if @way == 1 @next = 2 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play elsif @way == 2 @next = 1 @me = RPG::ME.new(BREAK_ME, 100, 100) @me.play end @way = 0 @time1 = 240 @time2 = 120 end update_graphics if something_changed? end def update_break if @time1 > 0 @break.opacity += 2 @break.angle += 6 if @time1 > 120 @time1 -= 1 elsif @time2 > 0 @break.opacity -= 3 @time2 -= 1 else if @next == 1 @text.bitmap = Cache.system("chaos_even") @bar = CALC_BAR_OTHER[0] @way = 1 @next = 0 elsif @next == 2 @text.bitmap = Cache.system("chaos_even") @bar = -(CALC_BAR_OTHER[0]) @way = 2 @next = 0 end update end end def break? return true if @next != 0 return false end def dispose @barspr.dispose @text.dispose @circle.dispose end def something_changed? return true if @x != @tmp_x || @y != @tmp_y || @bar != @tmp_bar || @way != @tmp_way return false end def update_graphics if @bar != 0 @barspr.bitmap = Cache.system("chaos_"+@bar.to_s) else @barspr.bitmap = Bitmap.new(74,74) end case @way when 0 @text.bitmap = Cache.system("chaos_even") when 1 @text.bitmap = Cache.system("chaos_player") when 2 @text.bitmap = Cache.system("chaos_enemy") end @barspr.x = @x @barspr.y = @y @circle.x = @x @circle.y = @y @text.x = @x @text.y = @y @tmp_x = @x @tmp_y = @y @tmp_bar = @bar @tmp_way = @way end end
class Scene_Battle < Scene_Base include Dhoom::BreakGaugeChaos alias dhoom_battle_update_break update alias dhoom_battle_crt_inf_viewport create_info_viewport alias dhoom_battle_disp_inf_viewport dispose_info_viewport alias dhoom_battle_turn_end turn_end def update super if @break_gauge.break? @break_gauge.update_break update_basic(true) update_info_viewport return else @break_gauge.update end for actor in $game_party.members if @break_gauge.way == 1 actor.add_state(STAT_ID) else actor.remove_state(STAT_ID) end end for enemy in $game_troop.members if @break_gauge.way == 2 enemy.add_state(STAT_ID) else enemy.remove_state(STAT_ID) end end dhoom_battle_update_break end def create_info_viewport dhoom_battle_crt_inf_viewport @break_gauge = Sprite_BreakGauge.new(CIRCLE_COOR[0], CIRCLE_COOR[1]) @turn = 1 @no_dmg_player = 0 @no_dmg_enemy = 0 @first_strike = true end def dispose_info_viewport dhoom_battle_disp_inf_viewport @break_gauge.dispose end def turn_end(member) @turn += 1 check_battler if @no_dmg_player >= @troop_size @break_gauge.bar += CALC_BAR_PLAYER[4] end if @no_dmg_enemy >= @party_size @break_gauge.bar -= CALC_BAR_ENEMY[4] end @no_dmg_player = 0 @no_dmg_enemy = 0 dhoom_battle_turn_end(member) end def check_battler @troop_size = 0 @party_size = 0 for actor in $game_party.members if !actor.dead? @party_size += 1 end end for enemy in $game_troop.members if !enemy.dead? @troop_size += 1 end end end
def execute_action_attack targets = @active_battler.action.make_targets if @active_battler.actor? if @active_battler.weapon_id == 0 action = @active_battler.non_weapon immortaling else action = $data_weapons[@active_battler.weapon_id].base_action if $data_weapons[@active_battler.weapon_id].state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end end else if @active_battler.weapon == 0 action = @active_battler.base_action immortaling else action = $data_weapons[@active_battler.weapon].base_action if $data_weapons[@active_battler.weapon].state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end end end target_decision @spriteset.set_action(@active_battler.actor?, @active_battler.index, action) playing_action for target in targets if target.actor? if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_player += 1 end else if target.hp_damage == 0 || target.missed || target.evaded @no_dmg_enemy += 1 end end return if target.missed return if target.evaded return if target.hp_damage == 0 if @first_strike if @active_battler.actor? @break_gauge.way = 1 @first_strike = false if target.critical and target.dead? @break_gauge.bar += CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar += CALC_BAR_PLAYER[1] else @break_gauge.bar += CALC_BAR_PLAYER[0] end else @break_gauge.way = 2 @first_strike = false if target.critical and target.dead? @break_gauge.bar -= CALC_BAR_PLAYER[2] elsif target.critical @break_gauge.bar -= CALC_BAR_PLAYER[1] else @break_gauge.bar -= CALC_BAR_PLAYER[0] end end else if @active_battler.actor? if target.dead? if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[3] elsif @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[6] end else if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_PLAYER[5] end end else if target.dead? if @break_gauge.way == 2 @break_gauge.bar -= CALC_BAR_ENEMY[3] elsif @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_PLAYER[6] end else if @break_gauge.way == 1 @break_gauge.bar += CALC_BAR_ENEMY[5] end end end end end end def execute_action_skill skill = @active_battler.action.skill return unless @active_battler.action.valid? # 3.3d, Force action bug fix if skill.plus_state_set.include?(1) for member in $game_party.members + $game_troop.members next if member.immortal next if member.dead? member.dying = true end else immortaling end target_decision(skill) @spriteset.set_action(@active_battler.actor?, @active_battler.index, skill.base_action) pop_help(skill) playing_action @active_battler.mp -= @active_battler.calc_mp_cost(skill) @status_window.refresh $game_temp.common_event_id = skill.common_event_id targets = @active_battler.action.make_targets for target in targets return if target.missed return if target.evaded end if @active_battler.actor? and @break_gauge.way == 2 @break_gauge.bar += CALC_BAR_OTHER[1] elsif @break_gauge.way == 1 @break_gauge.bar -= CALC_BAR_OTHER[1] end end end
Credits
Terakhir diubah oleh WhiteHopper tanggal 2012-04-11, 19:27, total 4 kali diubah | |
| | | Nefusa 7 Senior
Posts : 954 Thanked : 6 Engine : RMXP Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 19:15 | |
| wew scriptnya unik pengen nyoba dulu | |
| | | marjoni01 Senior
Posts : 971 Thanked : 5 Engine : RMVX Ace Skill : Intermediate Type : Developer
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 19:28 | |
| oh blm dipost disini toh? Anyway, Saya coba dulu ya | |
| | | Alucard666 Advance
Posts : 450 Thanked : 4 Engine : RMVX Skill : Very Beginner Type : Writer
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 19:32 | |
| Wah mantap bner deh Ini script Ini yg gw btuhin untuk nambahin fitur battle d Game gw Thx bgt ya Oh ya ngmng2 Cara Mindahin Lingkarannya ke Pojok Kanan Atas gmna?? Gw ngrti sih Atur koordinat X,y nya tp brapaan ya yg pas..?? Thx bntuannya maklum buta script tq | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 19:36 | |
| @nefusa: silahkan @marjon: udah liat di RRR kan @alucard: tergantung besar graphicnya, gini aja rumusnya x = 544 - Besar width y = udah jelas 0 kalo atas mah | |
| | | Adhe45 Senior
Posts : 665 Thanked : 4 Engine : RMXP Skill : Beginner Type : Spriter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 20:03 | |
| scrptnya bener" unik kak wite. . . . n kalo bisa buat yang XP nya juga ya. . . . | |
| | | ashm Veteran
Posts : 1131 Thanked : 8 Engine : RMVX Ace Skill : Intermediate Type : Event Designer
Trophies
Awards:
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 20:35 | |
| Jadi kayak lost saga. team yang dikit, jadi lebih kuat biar balance. Tapi jujur aja, ane gak ngerti kegunaan nya dalam plot. Masa ia kesulitan battle naek turun setiap random encounter...
Mungkin om Dhoom mau memberikan ide dalam kondisi apa script ini cocok digunakan.
Oot : ke 500 #fanfare# | |
| | | yerry_great @> Moderator
Posts : 1251 Thanked : 15 Engine : Multi-Engine User Skill : Very Beginner Type : Jack of All Trades
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 20:54 | |
| @^ Gak kebalik ya ini. Gw sih nangkepnya kalo musuhnya kalah, kita mala tambah kuat | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 21:08 | |
| @adhe: ntah, belum ada pikiran kesitu @ashm: biar setiap battle ga monoton bang, jadi ada saatnya dimana player menang telak (kritikal terus atau musuhnya gampang mati) atau sangat terdesak (party nya miss mulu (walaupun mungkin monsternya lemah ya bisa kalah kalo gini) atau salah satu anggota party K.O (untuk defaultnya ku set tinggi sih minus barnya, ini tergantung orang yang make jg)) tapi nanti aku ada rencana sih buat bikin skill yang efeknya naikin bar break gauge nya... @yerry: liat komen buat ashm deh edit: nambah penjelasan | |
| | | Alucard666 Advance
Posts : 450 Thanked : 4 Engine : RMVX Skill : Very Beginner Type : Writer
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 21:27 | |
| Umm Mngkin ada Error nih d Script nya Gw mke SBS ATB tankentai.. Ps m nyerang muncul kya gni nih... itu ada script yg g kompatible ato gmna?? soalnya saya jga mke Script Crono Cross Color Field nih.. Thx d reply yah, Gw mau pke script nya soalnya Tq | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 21:33 | |
| bagh, seharusnya itu comment sih... udah kubersihin, copast lagi script nya | |
| | | Alucard666 Advance
Posts : 450 Thanked : 4 Engine : RMVX Skill : Very Beginner Type : Writer
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 21:40 | |
| Oh ya ada Msalah lagi nih, Td uda mau lancar tp ps slese nyerang ada ini nih d Atb script nya kya nya Check | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 22:48 | |
| udah di benerin, tolong copast yang baru | |
| | | Roronoa_Zojo Senior
Posts : 833 Thanked : 3 Engine : Multi-Engine User Skill : Skilled Type : Mapper
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 23:06 | |
| masih agak bingung... Bsa minta link Screenshot? Tp jgn di spoiler.. Mobmod soalnya.. btw ini work sama YEZ BEZ gk? | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-10, 23:10 | |
| https://2img.net/h/i963.photobucket.com/albums/ae115/DrDhoom/1ss.jpg https://2img.net/h/i963.photobucket.com/albums/ae115/DrDhoom/2ss.jpg https://2img.net/h/i963.photobucket.com/albums/ae115/DrDhoom/3ss.jpg untuk YEZ BEZ belum pernah dicoba, jadi ga tau aku (script nya aja ga ada ) | |
| | | Alucard666 Advance
Posts : 450 Thanked : 4 Engine : RMVX Skill : Very Beginner Type : Writer
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-11, 10:51 | |
| Wah bro Sori banget Ngerepotin nih ya ada Eror lg nih Awal nya mau cmn ada lg satu nih ps slese ngluarin Skill Muncul ini nih | |
| | | DrDhoom Doomed Zombie
Posts : 629 Thanked : 22 Engine : Multi-Engine User Skill : Intermediate Type : Scripter
| Subyek: Re: [VX] Chaos Ring's Break Gauge 2012-04-11, 19:16 | |
| dafuq, keknya dibenci tankentai ini bentar aku urus dulu Edit: Tankentai dan ATB version bug FIXED | |
| | | Sponsored content
| Subyek: Re: [VX] Chaos Ring's Break Gauge | |
| |
| | | | [VX] Chaos Ring's Break Gauge | |
|
Similar topics | |
|
| Permissions in this forum: | Anda tidak dapat menjawab topik
| |
| |
| Latest topics | » [Web Novel] Gloria Infidelis by LightNightKnight 2016-11-17, 21:27
» [Announcement] Forum baru untuk RMID by TheoAllen 2016-08-25, 16:39
» Where I'm Wrong ? by ReydVires 2016-07-24, 16:10
» flakeheartnet's Resources part III by flakeheartnet 2016-07-08, 14:30
» Keira's Art Warehouse by KeiraBlaze 2016-06-28, 19:27
» Theo Core Time System + Bingung by Lockin 2016-06-27, 16:24
» Error Script, Maybe ? by Lockin 2016-06-27, 16:20
» Nusaimoe @ RMID Lounge by Jihad Bagas 2016-06-21, 05:02
» Call Random Battle by Lockin 2016-06-15, 17:04
» Flakeheartnet Resources Part II [come back gift] by flakeheartnet 2016-06-07, 15:51
|
Statistics
|
Members: [ 4947 ]
Topics: [ 8258 ]
Posts: [ 112606 ]
Newest member: [ https://rmid.forumotion.net/u4968 ]
|
|
|
|