Batalla Lateral

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Batalla Lateral as PDF for free.

More details

  • Words: 4,800
  • Pages: 23
estube mucho tiempo buscando el scrip de lucha lateral y encontre en muchos topics q el mas conocido era el de cybersam pero debido a q ubo varios problemas en varios links el scrip no funcionaba y en otro el personaje tenia como un tilde y corria constantemente en el mismo lugar luego de aver probado millones de cosas (aclaro q no se mucho de scripts) me di cuenta q uno estaba incompleto que es el del link en un topic de recopilaciones de links q esta un poco mas abajo.... como dije antes probe millones de cosas y no se como llegue a esto pero poniendo una parte del script de un lado con la parte del scrip de otro lado funciona perfecto... y como vi q muchos andan buscando este scrip de sitema de batalla lateral lo posteo ak 1ra ventana (llamenta como quieran) x encima del main pongan esto: CODE #============================================================================== # * Animated_Sprite Scripted por: RPG # Editado por: cybersam # Traducido por: Sandor # he quitado los complemento que no necesitaba para mi juego (cybersam)... # todo lo demás es de RPG... (aquí) # #-----------------------------------------------------------------------------# Esta es la classe para los sprites animados. #============================================================================== class Animated_Sprite < RPG::Sprite #-------------------------------------------------------------------------# - Definiendo las variables accesibles. #-------------------------------------------------------------------------attr_accessor :frames # Número de frames para la animación attr_accessor :delay # Tiempo de espera entre frames (velocidad) attr_accessor :frame_width # Anchura de cada frame attr_accessor :frame_height # Altura de cada frame attr_accessor :offset_x # Cordenada X del 1er frame attr_accessor :offset_y # Cordenada Y para todos los frames attr_accessor :current_frame # Frame por defecto attr_accessor :moving # Se esta moviendo el sprite? #-------------------------------------------------------------------------# - Iniciando la animación del sprite # ver puerto : Sprite viewport #-------------------------------------------------------------------------def initialize(viewport = nil) super(viewport) @frame_width, @frame_height = 0, 0 change # Cambio básico para marcar las variables iniciales @old = Graphics.frame_count # Para el método de espera @goingup = true # Incrementar animación? (si el @rm2k_mode es true) @once = false # Si solo la animación está siendo utilizada? @animated = true # Usado para parar la animación si @once está en true end #-------------------------------------------------------------------------# Comentario por RPG # - Cambios en la animación... # frames : Número de frames que contiene la animación # delay : Tiempo de espera entre frames, es la velocidad de animación # offx : Cordenada X del frame 1 # offy : Cordenada Y de todos los frames # startf : Comenzando frame para la animación

# once : Solo se está utilizando la animación? # rm2k_mode : Patrón de la animación: 1-2-3-2 si es true, 1-2-3-1 si es false # # Comentario por Cybersam # # el rm2k_mode no se volverá a utilizar... # si quieres esta opcion usa el script de 2k o el script original de RPG... #-------------------------------------------------------------------------def change(frames = 0, delay = 0, offx = 0, offy = 0, startf = 0, once = false) @frames = frames @delay = delay @offset_x, @offset_y = offx, offy @current_frame = startf @once = once x = @current_frame * @frame_width + @offset_x self.src_rect = Rect.new(x, @offset_y, @frame_width, @frame_height) @goingup = true @animated = true end #-------------------------------------------------------------------------# - Actualizando animación y movimiento #-------------------------------------------------------------------------def update super if self.bitmap != nil and delay(@delay) and @animated x = @current_frame * @frame_width + @offset_x self.src_rect = Rect.new(x, @offset_y, @frame_width, @frame_height) @current_frame = (@current_frame + 1) unless @frames == 0 @animated = false if @current_frame == @frames and @once @current_frame %= @frames end end #-------------------------------------------------------------------------# - Mover el sprite # x : Cordenada X para el punto de destino # y : Cordenada Y para el punto de destino # speed : Velocidad de movimiento (0 = pausado, 1+ = más rápido) # delay : El movimietno decrece si está en 0 #-------------------------------------------------------------------------def move(x, y, speed = 1, delay = 0) @destx = x @desty = y @move_speed = speed @move_delay = delay @move_old = Graphics.frame_count @moving = true end #-------------------------------------------------------------------------# - Mover el sprite al destx y al desty #-------------------------------------------------------------------------def update_move return unless @moving movinc = @move_speed == 0 ? 1 : @move_speed if Graphics.frame_count - @move_old > @move_delay or @move_speed != 0 self.x += movinc if self.x < @destx self.x -= movinc if self.x > @destx

self.y += movinc if self.y < @desty self.y -= movinc if self.y > @desty @move_old = Graphics.frame_count end if @move_speed > 1 # Check if sprite can't reach that point self.x = @destx if (@destx - self.x).abs % @move_speed != 0 and (@destx - self.x).abs <= @move_speed self.y = @desty if (@desty - self.y).abs % @move_speed != 0 and (@desty - self.y).abs <= @move_speed end if self.x == @destx and self.y == @desty @moving = false end end #-------------------------------------------------------------------------# - Pausar la animación, pero sigue actualizandose # frames : Número de frames #-------------------------------------------------------------------------def delay(frames) update_move if (Graphics.frame_count - @old >= frames) @old = Graphics.frame_count return true end return false end end

Luego abajo de esta (entre medio de esta y el main) pongan una segunda vntana (llamenla como quieran) pongan esto: CODE #=============================================================================== # # Full Animated Side View Battle System (CBS) (v2.5) by cybersam # #=============================================================================== # # here we go... # this makes the script very easy to implement # just add a new script above the "Main" script # and insert this whole thing in there # # as you can see the sprite changing code is from the japanese script # so the credits for the sprite changin goes to them.... # i edit it a little so it can show more sprites and sprite animations # and added some other stuff... the next things are player movement... # # # # i got the battler changing script in this script...

# the credits for this goes to the guy who made this... # # ▼▲▼ XRXS11. 戦闘・ãƒ?トラーモーション ver.0 ▼▲▼ # # since this isnt used anymore... it isnt need for credit anymore... # but i'll let it here since it helped me a lot... # # # as for the ideas... missy provided me with realy good ideas # that helped me alot when i didnt find a way to some of these features... # # here one more Credit to place... # its RPG's script... # not the whole thing here... # but some snipplet you'll know witch one when read the comments # # # if you want some more explaines about this script... # the most stuff are commented... but if you still have questions or # sugestions then you can contact me # #------------------------------------------------------------------------------# # how or where you can contact me... # at the http://www.rmxp.net forum via pm, email: [email protected] # or via AIM: cych4n or ICQ: 73130840 # # remember this is still in testing phase... # and i'm trying to work on some other additions... like character movements... # but that wont be added now... couse i need to figure it out first... # # # # oh hehe.... before i forget... # sorry for the bad english... ^-^'''' # # #------------------------------------------------------------------------------# # ok... here... since i'm using RPG's movement script... # there are a lot of changes... # # when you look at the script you'll find line with "pose(n)" or "enemy_pose(n)" # since i want my sprites have different sprites... i added one more option # to these... # so now if you add a number after the n (the n stands for witch sprite is used) # fo example 8... ("pose(4, 8)") this will tell the script that the 4th animation # have 8 frames... # pose is used for the player... and enemy_pose for the enemy... # there is nothing more to this... # i used my old sprite numbers... (this time in only one sprite...) # # explains about the animation sprites... (the digits) # # # 0 = move (during battle) # 1 = standby # 2 = defend # 3 = hit (being attacked) # 4 = attack

# 5 = skill use # 6 = dead # 7 = winning pose... this idea is from RPG.... # # # of course this is just the begining of the code... # so more animations can be implemented... # but for now this should be enough... # # alot has changed here... and now it looks like it is done... # of course the fine edit needs to be done so it looks and works great with your # game too... # # # # 1st character movement... done # 2rd character apears at the enemy while attacking... done / replaced with movement animation # 3nd character movement during attack... done # # 4th enemies movement... done # 5th enemy apears at the enemy while attacking... done / replaced with movement animation # 6th enemy movement during attack... done # # 7th each weapon has its own animation... done # 8th each skill has its own animation... done # 9th different poses for sickness or low hp done # # 10th automaticly select the sprite... done # 11th Fullbackground implemented (done) # # # bugfixes and code cleaning/improvements.... ---# # # # for some customfixes look in the rmxp.net forum... #===============================================================================

class Game_Actor < Game_Battler # you dont have to change your game actor to let the characters schows # from the side... # this will do it for you... ^-^ def screen_x if self.index != nil return self.index * 40 + 460 else return 0 end end def screen_y return self.index * 20 + 220 end

def screen_z if self.index != nil return self.index else return 0 end end end class Spriteset_Battle #RPG's stuff... attr_accessor :actor_sprites attr_accessor :enemy_sprites # ends here... ^-^ def initialize @viewport0 = Viewport.new(0, 0, 640, 480) @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport4 = Viewport.new(0, 0, 640, 480) @viewport2.z = 101 @viewport3.z = 200 @viewport4.z = 5000 @battleback_sprite = Sprite.new(@viewport0) # fix for reversed enemies... so it wont attack the wrong enemy... # this one was fixed long time ago but i added this comment # so you guys know about it... ^-^'' @enemy_sprites = [] for enemy in $game_troop.enemies#.reverse @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy)) end @actor_sprites = [] @actor_sprites.push(Sprite_Battler.new(@viewport2)) @actor_sprites.push(Sprite_Battler.new(@viewport2)) @actor_sprites.push(Sprite_Battler.new(@viewport2)) @actor_sprites.push(Sprite_Battler.new(@viewport2)) @weather = RPG::Weather.new(@viewport0) @picture_sprites = [] for i in 51..100 @picture_sprites.push(Sprite_Picture.new(@viewport3, $game_screen.pictures[i])) end @timer_sprite = Sprite_Timer.new update end def dispose if @battleback_sprite.bitmap != nil @battleback_sprite.bitmap.dispose end @battleback_sprite.dispose for sprite in @enemy_sprites + @actor_sprites sprite.dispose end

@weather.dispose for sprite in @picture_sprites sprite.dispose end @timer_sprite.dispose @viewport0.dispose @viewport1.dispose @viewport2.dispose @viewport3.dispose @viewport4.dispose end def update # this fix let the active character be on top... (by Missy) @viewport1.z = 50 and @viewport2.z = 51 if $actor_on_top == true @viewport1.z = 51 and @viewport2.z = 50 if $actor_on_top == false @actor_sprites[0].battler = $game_party.actors[0] @actor_sprites[1].battler = $game_party.actors[1] @actor_sprites[2].battler = $game_party.actors[2] @actor_sprites[3].battler = $game_party.actors[3] if @battleback_name != $game_temp.battleback_name @battleback_name = $game_temp.battleback_name if @battleback_sprite.bitmap != nil @battleback_sprite.bitmap.dispose end @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name) @battleback_sprite.src_rect.set(0, 0, 640, 480) if @battleback_sprite.bitmap.height == 320 @battleback_sprite.zoom_x = 1.5 @battleback_sprite.zoom_y = 1.5 @battleback_sprite.x = 320 @battleback_sprite.y = 480 @battleback_sprite.ox = @battleback_sprite.bitmap.width / 2 @battleback_sprite.oy = @battleback_sprite.bitmap.height else @battleback_sprite.x = 0 @battleback_sprite.y = 0 @battleback_sprite.ox = 0 @battleback_sprite.oy = 0 @battleback_sprite.zoom_x = 1 @battleback_sprite.zoom_y = 1 end end for sprite in @enemy_sprites + @actor_sprites sprite.update end @weather.type = $game_screen.weather_type @weather.max = $game_screen.weather_max @weather.update for sprite in @picture_sprites sprite.update end @timer_sprite.update

@viewport0.tone = $game_screen.tone @viewport0.ox = $game_screen.shake @viewport4.color = $game_screen.flash_color @viewport0.update @viewport1.update @viewport2.update @viewport4.update end end #============================================================================== # Sprite Battler for the Costum Battle System #============================================================================== # here we are making some animations and stuff... # i know its not the best way... # but this is the first working way that i found.... # this needs propper understanding how the animation works... # if you want to change some stuff... # in this i'll not explain much couse its realy easy if you know what you do # otherwise it will take you time to understand it, but i think the one who # is trying to edit this will know what he/she do... ^-^ # # # # here i'll completely replace the "Sprite_Battler" class... # so if you've changed something in there you need to change it here as well # (i think... i didnt tested it... so its up to you) # i'll mark the stuff i added just with --> # # something that need to be explained have a comment... # but its not all commented... # so if you dont know what it means or you just want to know why it is there and # what it does then you need to contact me or anyone who understand this... ^-^ # how you can contact me see above... at the top of this script... class Sprite_Battler < Animated_Sprite attr_accessor :battler attr_reader :index attr_accessor :target_index attr_accessor :frame_width def initialize(viewport, battler = nil) super(viewport) @battler = battler @pattern_b = 0 # @counter_b = 0 # @index = 0 # # this is for the state animation... # dont change unless you know what this do... # you can find further infomation on the rmxp.net forum $noanimation = false @frame_width, @frame_height = 64, 64 # start sprite @battler.is_a?(Game_Enemy) ? enemy_pose(1) : pose(1)

@battler_visible = false if $target_index == nil $target_index = 0 end end def index=(index) # @index = index # update # end # def dispose if self.bitmap != nil self.bitmap.dispose end super end def enemy # $target_index += $game_troop.enemies.size $target_index %= $game_troop.enemies.size return $game_troop.enemies[$target_index] end # def actor # $target_index += $game_party.actors.size $target_index %= $game_party.actors.size return $game_party.actors[$target_index] end

#

#

#============================================================================== # here is a snipplet from RPG's script... # i changed only to lines from this... # # here you can add more sprite poses... if you have more... ^-^ #============================================================================== def pose(number, frames = 4) case number when 0 # run change(frames, 5, 0, 0, 0) when 1 # standby change(frames, 5, 0, @frame_height) when 2 # defend change(frames, 5, 0, @frame_height * 2) when 3 # Hurt, loops change(frames, 5, 0, @frame_height * 3) when 4 # attack no loop change(frames, 5, 0, @frame_height * 4, 0, true) when 5 # skill change(frames, 5, 0, @frame_height * 5) when 6 # death change(frames, 5, 0, @frame_height * 6) when 7 # no sprite change(frames, 5, 0, @frame_height * 7) #when 8 # change(frames, 5, 0, @frame_height * 9) # ...etc. else change(frames, 5, 0, 0, 0)

end end #-------------------------------------------------------------------------# - Change the battle pose for an enemy # number : pose' number #-------------------------------------------------------------------------def enemy_pose(number ,enemy_frames = 4) case number when 0 # run change(enemy_frames, 5, 0, 0, 0) when 1 # standby change(enemy_frames, 5, 0, @frame_height) when 2 # defend change(enemy_frames, 5, 0, @frame_height * 2) when 3 # Hurt, loops change(enemy_frames, 5, 0, @frame_height * 3) when 4 # attack change(enemy_frames, 5, 0, @frame_height * 4, 0, true) when 5 # skill change(enemy_frames, 5, 0, @frame_height * 5) when 6 # death change(enemy_frames, 5, 0, @frame_height * 6) when 7 # no sprite change(enemy_frames, 5, 0, @frame_height * 7) # ...etc. else change(enemy_frames, 5, 0, 0, 0) end end def default_pose pose(1) # here we change the default pose when the character # dont have over 75 % percent of the max hp # if HP is too low (- 25%) if (@battler.hp * 100) /@battler.maxhp < 25 pose(9) # if HP is too low (- 50%) elsif (@battler.hp * 100) /@battler.maxhp < 50 pose(9) # if HP is too low (- 75%) elsif (@battler.hp * 100) /@battler.maxhp < 75 pose(9) end # and here we change the pose if the character is inflicted with # poison or other stuff like sleep, paralyzed, confused or other stuff... # i only added the poison and sleep for test... if @battler.state?(3) # poison # change pose to sleep pose... # (i dont have so much sprites... so im the defend pose) # you can set more status effects so each effect has its own sprite... pose(2) elsif @battler.state?(7) #sleep # change pose to poisoned pose(6)

end end #============================================================================== # sniplet end... #============================================================================== def update super if @battler == nil self.bitmap = nil loop_animation(nil) return end if @battler.name != @battler_name @battler.battler_hue != @battler_hue @battler_hue = @battler.battler_hue @battler_name = @battler.name self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue) @width = bitmap.width @height = bitmap.height self.ox = @frame_width / 2 self.oy = @frame_height if @battler.dead? or @battler.hidden self.opacity = 0 end self.x = @battler.screen_x self.y = @battler.screen_y self.z = @battler.screen_z end if $noanimation == false if @battler.damage == nil and @battler.state_animation_id != @state_animation_id @state_animation_id = @battler.state_animation_id loop_animation($data_animations[@state_animation_id]) end else dispose_loop_animation end if @battler.is_a?(Game_Actor) and @battler_visible if $game_temp.battle_main_phase self.opacity += 3 if self.opacity < 255 else self.opacity -= 3 if self.opacity > 207 end end if @battler.blink blink_on else blink_off end

unless @battler_visible if not @battler.hidden and not @battler.dead? and (@battler.damage == nil or @battler.damage_pop) appear @battler_visible = true end if not @battler.hidden and (@battler.damage == nil or @battler.damage_pop) and @battler.is_a?(Game_Actor) appear @battler_visible = true end end if @battler_visible if @battler.hidden $game_system.se_play($data_system.escape_se) escape @battler_visible = false end if @battler.white_flash whiten @battler.white_flash = false end if @battler.animation_id != 0 animation = $data_animations[@battler.animation_id] animation(animation, @battler.animation_hit) @battler.animation_id = 0 end if @battler.damage_pop damage(@battler.damage, @battler.critical) @battler.damage = nil @battler.critical = false @battler.damage_pop = false end if @battler.damage == nil and @battler.dead? if @battler.is_a?(Game_Enemy) $game_system.se_play($data_system.enemy_collapse_se) collapse @battler_visible = false else $game_system.se_play($data_system.actor_collapse_se) unless @dead @dead = true pose(6) end else @dead = false end end # end end #============================================================================== # Scene_Battle Costum Battle System #============================================================================== class Scene_Battle def update_phase4

case @phase4_step when 1 update_phase4_step1 when 2 update_phase4_step2 when 3 update_phase4_step3 when 4 update_phase4_step4 when 5 update_phase4_step5 when 6 update_phase4_step6 when 7 update_phase4_step7 end end def update_phase4_step1 # Change actor poses to default #if @active_battler.is_a?(Game_Actor) # @spriteset.actor_sprites[@active_battler.index].default_pose #end for i in 0...$game_party.actors.size actor = $game_party.actors[i] @spriteset.actor_sprites[i].default_pose unless actor.dead? end @help_window.visible = false if judge return end if $game_temp.forcing_battler == nil setup_battle_event if $game_system.battle_interpreter.running? return end end if $game_temp.forcing_battler != nil @action_battlers.delete($game_temp.forcing_battler) @action_battlers.unshift($game_temp.forcing_battler) end if @action_battlers.size == 0 start_phase2 return end @animation1_id = 0 @animation2_id = 0 @common_event_id = 0 @active_battler = @action_battlers.shift if @active_battler.index == nil return end if @active_battler.hp > 0 and @active_battler.slip_damage? @active_battler.slip_damage_effect @active_battler.damage_pop = true end @active_battler.remove_states_auto

@status_window.refresh @phase4_step = 2 end def make_basic_action_result if @active_battler.is_a?(Game_Actor) $actor_on_top = true elsif @active_battler.is_a?(Game_Enemy) $actor_on_top = false end if @active_battler.current_action.basic == 0 #============================================================================ # WEAPONS START... #============================================================================ # #================================= Different Weapons with different animations # # this is quite simple as you can see... # if you want to add a weapon to the animation list then look at the script below... # and i hope you'll find out how this works... # # # if not... # here is the way... # first thing... # just copy and paste "elseif @active_battler_enemy.weapon_id == ID..." # just after the last @weapon_sprite.... # # here the ID is you need to look in you game databse the number that stands before # your weapon name is the ID you need to input here... # # same thing goes for the monster party... ^-^ # monster normaly dont need more sprites for weapons.... # # if you want to use more... then replace the "@weapon_sprite_enemy = 4" # with these lines... (but you need to edit them) # # if @active_battler.weapon_id == 1 # <-- weapon ID number # @weapon_sprite_enemy = 4 # <-- battle animation # elsif @active_battler.weapon_id == 5 # <-- weapon ID number # @weapon_sprite_enemy = 2 # <-- battle animation # elsif @active_battler.weapon_id == 9 # <-- weapon ID number # @weapon_sprite_enemy = 0 # <-- battle animation # elsif @active_battler.weapon_id == 13 # <-- weapon ID number # @weapon_sprite_enemy = 6 # <-- battle animation # else # @weapon_sprite_enemy = 4 # end # #================================= END if @active_battler.is_a?(Game_Actor) if @active_battler.weapon_id == 1 # <-- weapon ID number @weapon_sprite = 4 # <-- battle animation elsif @active_battler.weapon_id == 5 # <-- weapon ID number @weapon_sprite = 2 # <-- battle animation elsif @active_battler.weapon_id == 9 # <-- weapon ID number

@weapon_sprite = 0 # <-- battle animation elsif @active_battler.weapon_id == 13 # <-- weapon ID number @weapon_sprite = 6 # <-- battle animation else @weapon_sprite = 4 end # monster section is here... ^-^ else# @active_battler.is_a?(Game_Enemy) @weapon_sprite_enemy = 4 end # #============================================================================= # WEAPONS END.... #============================================================================= @animation1_id = @active_battler.animation1_id @animation2_id = @active_battler.animation2_id if @active_battler.is_a?(Game_Enemy) if @active_battler.restriction == 3 target = $game_troop.random_target_enemy elsif @active_battler.restriction == 2 target = $game_party.random_target_actor else index = @active_battler.current_action.target_index target = $game_party.smooth_target_actor(index) end #======== here is the setting for the movement & animation... x = target.screen_x - 32 @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0) @spriteset.enemy_sprites[@active_battler.index]\ .move(x, target.screen_y, 10) #========= here if you look at the RPG's movement settings you'll see #========= that he takes the number 40 for the speed of the animation... #========= i thing thats too fast so i settet it down to 10 so looks smoother... end if @active_battler.is_a?(Game_Actor) if @active_battler.restriction == 3 target = $game_party.random_target_actor elsif @active_battler.restriction == 2 target = $game_troop.random_target_enemy else index = @active_battler.current_action.target_index target = $game_troop.smooth_target_enemy(index) end #======= the same thing for the player... ^-^ x = target.screen_x + 32 @spriteset.actor_sprites[@active_battler.index].pose(0) @spriteset.actor_sprites[@active_battler.index]\ .move(x, target.screen_y, 10) end @target_battlers = [target] for target in @target_battlers target.attack_effect(@active_battler) end return end

if @active_battler.current_action.basic == 1 if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(2) #defence else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(2) #defence end @help_window.set_text($data_system.words.guard, 1) return end if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2 @help_window.set_text("Escape", 1) @active_battler.escape return end if @active_battler.current_action.basic == 3 $game_temp.forcing_battler = nil @phase4_step = 1 return end if @active_battler.current_action.basic == 4 if $game_temp.battle_can_escape == false $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) update_phase2_escape return end end #-------------------------------------------------------------------------# skill aktion... #-------------------------------------------------------------------------def make_skill_action_result @skill = $data_skills[@active_battler.current_action.skill_id] unless @active_battler.current_action.forcing unless @active_battler.skill_can_use?(@skill.id) $game_temp.forcing_battler = nil @phase4_step = 1 return end end @active_battler.sp -= @skill.sp_cost @status_window.refresh @help_window.set_text(@skill.name, 1) #============================================================================= # SKILL SPRITES START #============================================================================= # this one is the same as the one for the weapons... # for the one who have this for the first time # look at the script i hope it is easy to understand... # # the other one that have the earlier versions of this script they dont need explenation # ... i think.... # the think that changed is the line where the animation ID is given to the sprite... # the number after the "pose" is the animation ID... it goes for every other animation as well.. # if you have an animation for a skill that have more frames...

# then just insert the number of frames after the first number... # so it looks like this.... "pose(5, 8)" <-- 5 is the animation... # 8 is the max frame (that means your animation have 8 frames...) ^-^ if @active_battler.is_a?(Game_Actor) if @skill.name == "Heal" # <-- first skill name @spriteset.actor_sprites[@active_battler.index].pose(5) # <-- sprite number elsif @skill.name == "Cross Cut" # <-- secound skill name @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number elsif @skill.name == "Fire" # <-- third skill name @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number end else if @skill.name == "Heal" # <-- first skill name @spriteset.enemy_sprites[@active_battler.index].enemy_pose(5) # <-- sprite number elsif @skill.name == "Cross Cut" # <-- secound skill name @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- sprite number elsif @skill.name == "Fire" # <-- third skill name @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- sprite number end end #============================================================================= # SKILL SPRITES END #============================================================================= @animation1_id = @skill.animation1_id @animation2_id = @skill.animation2_id @common_event_id = @skill.common_event_id set_target_battlers(@skill.scope) for target in @target_battlers target.skill_effect(@active_battler, @skill) end end #-------------------------------------------------------------------------# how here we make the item use aktions #-------------------------------------------------------------------------def make_item_action_result # sorry i didnt work on this... # couse i dont have a sprite that uses items.... # so i just added the standby sprite here... # when i get more time for this i'll try what i can do for this one... ^-^ # its the same as the ones above... if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1) end @item = $data_items[@active_battler.current_action.item_id] unless $game_party.item_can_use?(@item.id) @phase4_step = 1 return end if @item.consumable $game_party.lose_item(@item.id, 1) end @help_window.set_text(@item.name, 1) @animation1_id = @item.animation1_id @animation2_id = @item.animation2_id

@common_event_id = @item.common_event_id index = @active_battler.current_action.target_index target = $game_party.smooth_target_actor(index) set_target_battlers(@item.scope) for target in @target_battlers target.item_effect(@item) end end #============================================================================== # here again.... snipplet from RPG's script #============================================================================== # this one here is for the winning pose... # if you happen to use my old costum level script then you need to add the # marked line to you "def start_phase5" in "Scene_Battle 2" and delete this one... # the -> =*****= # marks the end where you need to delete... # and -> {=====} # marks the line you need to copy and paste in the other one... # you need to add it at the same position... def start_phase5 @phase = 5 $game_system.me_play($game_system.battle_end_me) $game_system.bgm_play($game_temp.map_bgm) exp = 0 gold = 0 treasures = [] for enemy in $game_troop.enemies unless enemy.hidden exp += enemy.exp gold += enemy.gold if rand(100) < enemy.treasure_prob if enemy.item_id > 0 treasures.push($data_items[enemy.item_id]) end if enemy.weapon_id > 0 treasures.push($data_weapons[enemy.weapon_id]) end if enemy.armor_id > 0 treasures.push($data_armors[enemy.armor_id]) end end end end treasures = treasures[0..5] for i in 0...$game_party.actors.size actor = $game_party.actors[i] $noanimation = true @spriteset.actor_sprites[i].pose(7) unless actor.dead? # {=====} if actor.cant_get_exp? == false last_level = actor.level actor.exp += exp if actor.level > last_level @status_window.level_up(i) end end end

$game_party.gain_gold(gold) for item in treasures case item when RPG::Item $game_party.gain_item(item.id, 1) when RPG::Weapon $game_party.gain_weapon(item.id, 1) when RPG::Armor $game_party.gain_armor(item.id, 1) end end @result_window = Window_BattleResult.new(exp, gold, treasures) @phase5_wait_count = 100 end # =*****= #-------------------------------------------------------------------------# updating the movement # since RPG isnt used to comments... i'll comment it again... #-------------------------------------------------------------------------def update_phase4_step3 if @active_battler.current_action.kind == 0 and @active_battler.current_action.basic == 0 # in this one... we have our weapon animations... for player and monster if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(@weapon_sprite) elsif @active_battler.is_a?(Game_Enemy) @spriteset.enemy_sprites[@active_battler.index].enemy_pose(@weapon_sprite_enemy) end end if @animation1_id == 0 @active_battler.white_flash = true else @active_battler.animation_id = @animation1_id @active_battler.animation_hit = true end @phase4_step = 4 end def update_phase4_step4 # this here is for the hit animation... for target in @target_battlers if target.is_a?(Game_Actor) and !@active_battler.is_a?(Game_Actor) if target.guarding? @spriteset.actor_sprites[target.index].pose(2) else @spriteset.actor_sprites[target.index].pose(3) end elsif target.is_a?(Game_Enemy) and !@active_battler.is_a?(Game_Enemy) if target.guarding? @spriteset.enemy_sprites[target.index].enemy_pose(2) else @spriteset.enemy_sprites[target.index].enemy_pose(3) end end target.animation_id = @animation2_id target.animation_hit = (target.damage != "Miss") end @wait_count = 8 @phase4_step = 5

end def update_phase4_step5 if @active_battler.hp > 0 and @active_battler.slip_damage? @active_battler.slip_damage_effect @active_battler.damage_pop = true end @help_window.visible = false @status_window.refresh if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1) end for target in @target_battlers if target.damage != nil target.damage_pop = true if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1) end end end @phase4_step = 6 end #-------------------------------------------------------------------------# � フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ) #-------------------------------------------------------------------------def update_phase4_step6 # here we are asking if the player is dead and is a player or an enemy... # these lines are for the running back and standby animation.... if @active_battler.is_a?(Game_Actor) and !@active_battler.dead? @spriteset.actor_sprites[@active_battler.index]\ .move(@active_battler.screen_x, @active_battler.screen_y, 20) @spriteset.actor_sprites[@active_battler.index].pose(0) elsif !@active_battler.dead? @spriteset.enemy_sprites[@active_battler.index]\ .move(@active_battler.screen_x, @active_battler.screen_y, 20) @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0) end for target in @target_battlers if target.is_a?(Game_Actor) and !target.dead? @spriteset.actor_sprites[target.index].pose(1) elsif !target.dead? @spriteset.enemy_sprites[target.index].enemy_pose(1) end end $game_temp.forcing_battler = nil if @common_event_id > 0 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end @phase4_step = 7 end def update_phase4_step7

# here we are asking if the player is dead and is a player or an enemy... # these lines are for the running back and standby animation.... if @active_battler.is_a?(Game_Actor) and !@active_battler.dead? @spriteset.actor_sprites[@active_battler.index].pose(1) elsif !@active_battler.dead? @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1) end $game_temp.forcing_battler = nil if @common_event_id > 0 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end @phase4_step = 1 end # this one is an extra... without this the animation whill not work correctly... def update if $game_system.battle_interpreter.running? $game_system.battle_interpreter.update if $game_temp.forcing_battler == nil unless $game_system.battle_interpreter.running? unless judge setup_battle_event end end if @phase != 5 @status_window.refresh end end end $game_system.update $game_screen.update if $game_system.timer_working and $game_system.timer == 0 $game_temp.battle_abort = true end @help_window.update @party_command_window.update @actor_command_window.update @status_window.update @message_window.update @spriteset.update if $game_temp.transition_processing $game_temp.transition_processing = false if $game_temp.transition_name == "" Graphics.transition(20) else Graphics.transition(40, "Graphics/Transitions/" + $game_temp.transition_name) end end if $game_temp.message_window_showing return end if @spriteset.effect? return end if $game_temp.gameover

$scene = Scene_Gameover.new return end if $game_temp.to_title $scene = Scene_Title.new return end if $game_temp.battle_abort $game_system.bgm_play($game_temp.map_bgm) battle_end(1) return end if @wait_count > 0 @wait_count -= 1 return end # this one holds the battle while the player moves for actor in @spriteset.actor_sprites if actor.moving return end end # and this one is for the enemy... for enemy in @spriteset.enemy_sprites if enemy.moving# and $game_system.animated_enemy return end end if $game_temp.forcing_battler == nil and $game_system.battle_interpreter.running? return end case @phase when 1 update_phase1 when 2 update_phase2 when 3 update_phase3 when 4 update_phase4 when 5 update_phase5 end end #============================================================================== # end of the snipplet # if you want the comments that where here just look at the scene_battle 4... # i added some comments since RPG hasnt add any.... #============================================================================== end espero q le aya sido de ayuda PD: como veran una de las partes "esta en castellano" y la otra "esta en ingles" x q son de dos lados diferentes como dije y la cuestion es q andan perfectamente acuerdense de conseguirse battlers para este sistema de bartalla y ademas de eso

de nombralos con el nombre del personaje en cuestion x ej si su personaje se llama pepe ponganle pepe a la imagen del battler y si el monstruo se llama fantasma ponganle fantasma PD2: no hace falta q agradezcan XDD, agradescanle al genio q hizo este excelente sitema de batallas muy bueno y x lo visto muy complejo espero poder alguna ves llegar a hacer un scrip por lo menos la mitad de complejo q este XD adios

Related Documents

Batalla Lateral
November 2019 21
Hro Lateral
May 2020 15
Lateral Epicondylitis
May 2020 18
Batalla Ingavi.docx
June 2020 14
Batalla Espiritual
May 2020 17
Batalla Boyaca.docx
June 2020 21