#1 Inviato 08 November 2006 - 11:53 AM
Questa volta le risorse sono per il BS laterlae (Piu' di 30) che potrete usare nel vostro game, alcune immagini prima di scaricare il pacco completo ;)
Ed ecco il pachetto BATTLER ;)
Nota: Alcuni battler all'interno del pacchetto sono stati creati da Artia.
#2 Inviato 08 November 2006 - 19:43 PM
#3 Inviato 15 November 2006 - 19:39 PM
#4 Inviato 15 November 2006 - 19:53 PM
Ps. Poi, se vuoi, presentati nel topic delle presentazioni ^^
Progetto in corso:
"Hero Walking: Toward Another Life"
Video Old Intro su Youtube
Visite: 11.896!
*Posizioni raggiunte nei contest*
SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI
#6 Inviato 15 November 2006 - 22:10 PM
se qualcuno ha la soluzione ringraziero lui
ciao e grazie
#7 Inviato 16 November 2006 - 00:08 AM
creiamo una classe sopra main e la kaimiamo Animated_Sprite
e ci mettiamo dentro questo
#============================================================================== # * 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
poi creiamo un altra classe con il nome di Battle_animation sempre sopra main 8 sotto la classe Animated_Sprite
e ci mettimao dentro questo maloppone
#=============================================================================== # # Animación completa en sistema de batalla lateral (CBS) (v2.5) por cybersam # #=============================================================================== # bien... aquí... es desde dónde yo estoi usando el script de RPG... # hay muchos cambios... # # si miras detenidamente el script observarás una línea que pone "pose(n)" o "enemy_pose(n)" # eso pasa porque busqué la forma de que mis sprites fueran distintos... # por eso he añadido una opción más...a esto... # ahora si tu añades un número después de n (la n indica a que animación corresponde) # por ejemplo 8... ("pose(4, 8)") esto indicaría que corresponde a la 4ª animación # y que tiene 8 frames... # "pose" es usado por el jugador... y "enemy_pose" por el enemigo... # no es nada más que esto... # aquí va una breve explicación sobre la animación de los sprites... (los números) # # # 0 = moverse (durante la batalla) # 1 = quedarse quieto # 2 = defender # 3 = comenzar ataque # 4 = atacar # 5 = usar habilidad # 6 = muerto # 7 = pose de victoria..idea de RPG... # # # por supuesto esto es tan solo el principio del script... # eso quiere decir que se pueden añadir muchas más animaciónes... # pero ahora por ahora no es posible... # # muchas cosas han cambiado...y puede dar la sensación de que todo ya esta hecho... # pero por supuesto para que todo quede bien hecho y a tu gusto, debes ser tu # el que lo edite a su parecer... # el juego también... #=============================================================================== class Game_Actor < Game_Battler # no necesitas cambiar tu game_actor para ver al chara... # de lado... # esto a sido echo para ti... ^-^ 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 #Parte de RPG... attr_accessor :actor_sprites attr_accessor :enemy_sprites # acaba aqui... ^-^ 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) # esto sirve para reservarse un enemigo y que no ataque al que tu no has escojido... # esto ya fue hecho hace tiempo, ahora he añadido el comentario # eso ya lo sabíais... ^-^'' @enemy_sprites = [] for enemy in $game_troop.enemies#.reserva @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 alias original_update update def update original_update # esto hace que el personaje activo este presente... (por 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 @viewport0.tone = $game_screen.tone @viewport0.ox = $game_screen.shake @viewport0.update end end #============================================================================== # Sprite Battler for the Costum Battle System #============================================================================== 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 # # esto es para la animación del estado... # NO LO CAMBIES escepto que sepas lo que haces!... $noanimation = false @frame_width, @frame_height = 64, 64 # comienzo del 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 #============================================================================== # aquí puedes agregar más poses para el chara..si es que tienes... ^-^ #============================================================================== def pose(number, frames = 4) case number when 0 # correr change(frames, 5, 0, 0, 0) when 1 # esperando change(frames, 5, 0, @frame_height) when 2 # defendiendo change(frames, 5, 0, @frame_height * 2) when 3 # herido change(frames, 5, 0, @frame_height * 3) when 4 # atacar change(frames, 5, 0, @frame_height * 4, 0, true) when 5 # habilidad change(frames, 5, 0, @frame_height * 5) when 6 # muerto change(frames, 5, 0, @frame_height * 6) when 7 # victória 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 #-------------------------------------------------------------------------- # - Aquí van las poses de los enemigos # number : indica el número de la pose #-------------------------------------------------------------------------- def enemy_pose(number ,enemy_frames = 4) case number when 0 # correr change(enemy_frames, 5, 0, 0, 0) when 1 # esperar change(enemy_frames, 5, 0, @frame_height) when 2 # defender change(enemy_frames, 5, 0, @frame_height * 2) when 3 # Herido change(enemy_frames, 5, 0, @frame_height * 3) when 4 # Atacar change(enemy_frames, 5, 0, @frame_height * 4, 0, true) when 5 # habilidad change(enemy_frames, 5, 0, @frame_height * 5) when 6 # muerto change(enemy_frames, 5, 0, @frame_height * 6) when 7 # victória change(enemy_frames, 5, 0, @frame_height * 7) # ...etc. else change(enemy_frames, 5, 0, 0, 0) end end def default_pose pose(1) # aquí se cambian las poses según el estado del personaje # no lo pongas por encima de 75 % del maximo hp # si HP es muy bajo (- 25%) if (@battler.hp * 100) /@battler.maxhp < 25 pose(9) # si HP es muy bajo (- 50%) elsif (@battler.hp * 100) /@battler.maxhp < 50 pose(9) # si HP es muy bajo (- 75%) elsif (@battler.hp * 100) /@battler.maxhp < 75 pose(9) end # aquí se cambian las poses si el personaje es inflinjido por # venenos o otro tipo de cosas como dormido, paralizado, confuso,etc... # solo he añadido envenenado y dormido, puedes agregar más ^^... if @battler.state?(3) # envenenado # el (3) indica el número del estado, en la BD 3 es envenenado... # (no tengo muchos sprites por lo tanto he utilizado la pose 2, que es defender) # si tienes más sprites para estados, añadelos en poses y luego define a... #que estado pertenece..., pose (2) indíca que el sprite será el de defender pose(2) elsif @battler.state?(7) #dormido # cambiar pose por muerto pose(6) end end #============================================================================== # Fin de las poses... #============================================================================== def update super if @battler == nil self.bitmap = nil loop_animation(nil) return end if @battler.battler_name != @battler_name @battler.battler_hue != @battler_hue @battler_hue = @battler.battler_hue @battler_name = @battler.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 personalizado... #============================================================================== 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 # Cambia las poses del actor por las 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... #============================================================================ # #================================= Armas distintas con animaciones distintas # # si quieres utilizar más... remplaza el "@weapon_sprite_enemy = 4" # con estas líneas... (pero deberás editarlas) # # if @active_battler.weapon_id == 1 # <-- número ID del arma # @weapon_sprite_enemy = 4 # <-- animación de batalla # elsif @active_battler.weapon_id == 5 # <-- número ID del arma # @weapon_sprite_enemy = 2 # <-- animación de batalla # elsif @active_battler.weapon_id == 9 # <-- número ID del arma # @weapon_sprite_enemy = 0 # <-- animación de batalla # elsif @active_battler.weapon_id == 13 # <-- número ID del arma # @weapon_sprite_enemy = 6 # <-- animación de batalla # else # @weapon_sprite_enemy = 4 # end # #================================= FIN if @active_battler.is_a?(Game_Actor) if @active_battler.weapon_id == 1 # <-- número ID del arma @weapon_sprite = 4 # <-- animación de batalla elsif @active_battler.weapon_id == 5 # <-- número ID del arma @weapon_sprite = 2 # <-- animación de batalla elsif @active_battler.weapon_id == 9 # <-- número ID del arma @weapon_sprite = 0 # <-- animación de batalla elsif @active_battler.weapon_id == 13 # <-- número ID del arma @weapon_sprite = 6 # <-- animación de batalla else @weapon_sprite = 4 end # la sección de monstruos esta aquí... ^-^ else# @active_battler.is_a?(Game_Enemy) @weapon_sprite_enemy = 4 end # #============================================================================= # LAS ARMAS FINALIZAN.... #============================================================================= @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 #======== aquí están las propiedades del movimiento y la animación... 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) #========= el 10 indíca la velocidad de movimietno... 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 #======= lo mismo para el jugador... ^-^ 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("Escapar", 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 #-------------------------------------------------------------------------- # acciones de las habilidades... #-------------------------------------------------------------------------- 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) #============================================================================= # COMIENZAN LOS SPRITES DE LAS HABILIDADES #============================================================================= if @active_battler.is_a?(Game_Actor) if @skill.name == "Heal" # <-- nombre de la primera habilidad @spriteset.actor_sprites[@active_battler.index].pose(5) # <-- número de sprite elsif @skill.name == "Cross Cut" # <-- nombre de la segunda habilidad @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number elsif @skill.name == "Fire" # <-- nombre de la tercera habilidad @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number end else if @skill.name == "Heal" # <-- nombre de la primera habilidad @spriteset.enemy_sprites[@active_battler.index].enemy_pose(5) # <-- número de sprite elsif @skill.name == "Cross Cut" # <-- nombre de la segunda habilidad @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- número de sprite elsif @skill.name == "Fire" # <-- nombre de la tercera habilidad @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- número de sprite end end #============================================================================= # FINALIZAN LOS SPRITES DE LAS HABILIDADES #============================================================================= @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 #-------------------------------------------------------------------------- # aquícreamos el uso de las habilidades #-------------------------------------------------------------------------- def make_item_action_result 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 #============================================================================== 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 # =*****= #-------------------------------------------------------------------------- # actualizando el movimiento #-------------------------------------------------------------------------- def update_phase4_step3 if @active_battler.current_action.kind == 0 and @active_battler.current_action.basic == 0 # aquí tenemos todas las animaciones de armas del jugador y enemigo... 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 # esto es para la animación del golpe... 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 # aquí preguntamos si el personaje esta muerto, y si es jugador o enemigo... # estas líneas son para correr hacía detrás o quedarse en espera.... 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 # aquí preguntamos si el personaje esta muerto, y si es jugador o enemigo... # estas líneas son para correr hacía detrás o quedarse en espera.... 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 # esto ya es un extra... sin esta línea la animación no funcionará correctamente... 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 # esta parte bloquea las acciones cúando el personaje se mueve for actor in @spriteset.actor_sprites if actor.moving return end end # y esta es para el enemigo... 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 #============================================================================== # Creado por: RPG # Modificado por: Cybersam # Traducido por: Sandor # Web's de interés: [url=http://www.rmxp.net]http://www.rmxp.net[/url] # [url=http://www.rpgsystem.net]http://www.rpgsystem.net[/url] #============================================================================== end
manca un end nel 1° o nel 2° e poi da dei problemi , non faccio prima a darvi il sito del forum anche se pubblicità???
c'è un modo di non fare i mostri così complicati?
domandina come faccio a farlo funzionare senza problemi...
mi dareste una mano?
Allega File(s)
Modificato da Otaku, 16 November 2006 - 11:21 AM.
#8 Inviato 16 November 2006 - 00:15 AM
Poi sistema i 2 o + codici tra code, altrimenti non si capisce nulla^^
PS. Mi sa che è pure la sezione sbagliata ^^'
Modificato da Timisci, 17 November 2006 - 01:26 AM.
Progetto in corso:
"Hero Walking: Toward Another Life"
Video Old Intro su Youtube
Visite: 11.896!
*Posizioni raggiunte nei contest*
SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI
#10 Inviato 07 October 2007 - 02:36 AM
Ed ecco a voi un bel pacco di risorse :D
Questa volta le risorse sono per il BS laterlae (Piu' di 30) che potrete usare nel vostro game, alcune immagini prima di scaricare il pacco completo ;)
Ed ecco il pachetto BATTLER ;)
Nota: Alcuni battler all'interno del pacchetto sono stati creati da Artia.
scusate ma io non riesco a scaricare il pacchetto, il link non funziona, per cortesia potete ripostarlo??
grazie ancora....
#11 Inviato 07 October 2007 - 18:34 PM
Dovrebbe andare^^
Raxen - Scission of God
Cerchiamo collaboratori (Musicisti, Grafici e Scripter) per un nuovo progetto fantasy!
Rhaxen Scission of God
#12 Inviato 15 October 2007 - 09:00 AM
#13 Inviato 16 October 2007 - 15:21 PM
Targhette
#14 Inviato 12 November 2007 - 20:11 PM
[Li hai rippati, vero?]
#15 Inviato 12 November 2007 - 20:31 PM
"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."
Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna
#16 Inviato 12 November 2007 - 22:13 PM