Jump to content
Rpg²S Forum

Luca

Utenti
  • Posts

    13
  • Joined

  • Last visited

Posts posted by Luca

  1. grazie, poi quando mi arriva il compy nuovo inizio a lavorarci su, se altri mi possono mandare qualcosa io sono solo felice + materiale ho più non so dove guardare ahahaha

     

    grazie .Xinos.

     

    Tinisci a te ti ringrazio dopo XD

     

    ps. mi piaciono molto gli stili zelda e golden sun hihihihi

    post-192-1165861864.png

  2. ciao ragazzi volevo fare una mappa con un tileset e autotile, per ora ho trovato solo le montagne e le foreste, ma mi servirebbero esempi di città, laghi e tutto quello che vi viene in mente.

     

    non so dirvi di preciso il progetto è dentro la mia testa ma non è facile tirarlo fuori

     

    datemi qualcosa e poi io lo modifico come mi pare mi servono dei begli esempi

     

    grazie in anticipo, ci sentiamo presto.

  3. in alto a destra nella pgina di megaupload, vicino alla scritta MEGAUPLOAD, c'è scritto: immetti [tre lettere e/o numeri] qui: e poi c'è uno spazio. inserisci le lettere e poi fai download. aspetti 50 secondi. siccome quelli di megaupload sono un po' infami, ti fanno comparire una piccola finestra di pubblicità proprio sopra il pulsante di download. chiudi la finestra, e poi scarica. Capito?

     

    si grazie o capito

  4. rieccomi questo lo preso a Chimical su (se poi devo metterlo ditemelo), il codice è questo ditemi se può andare bene

    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?

    mostro_eroe.rar

×
×
  • Create New...