¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conéctate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1Script de batalla para ACE!!! Empty Script de batalla para ACE!!! el Miér Mayo 15, 2013 7:31 am

MaritoTony

MaritoTony
hola...Existe algún script de batalla lateral como el cbs de behemoth??? ocea así con animaciones y eso...
si lo hay por favor me lo podrían decir es que hace mucho que busco uno así y no encuentro!
desde ya muchas gracias

#2Script de batalla para ACE!!! Empty Re: Script de batalla para ACE!!! el Miér Mayo 15, 2013 4:58 pm

Killer690

Killer690
http://grimoirecastle.wordpress.com/rgss3-scripts/graphics-enhancements/animated-battlers/
Creo que este podría hacer parte del trabajo, crea battlers con animaciones, la diferencia con el de behemoth, es que aquí tienes que buscar a parte un ATB(Tiempo activo) y un script de comandos(El de yanfly serviría) Y si la memoria no me falla; esa era toda la gracia del script de behemoth...

#3Script de batalla para ACE!!! Empty Re: Script de batalla para ACE!!! el Mar Abr 29, 2014 5:07 am

Bleur

Bleur
Te puedo pasar este nada mas un detallito en las lineas 147 y 148 creo
Side-View Battle System:
Llamar al script Side-View Battle System
#===============================================================================
# Side-View Battle System
# By Jet10985 (Jet)
#===============================================================================
# This script will allow you to have battle where all the actor's sprites are
# display on the right side of the screen.
# This script has: 10 customization options.
#===============================================================================
# Overwritten Methods:
# Scene_Battle: show_attack_animation
# Spriteset_Battle: update_actors
#-------------------------------------------------------------------------------
# Aliased methods:
# Spriteset_Battle: create_actors, create_enemies
# Sprite_Character: initialize, update, dispose, start_new_effect
# Scene_Battle: use_item, next_command, prior_command
# Game_Character: screen_x, screen_y
#===============================================================================

module Jet
 module Sideview
 
   #===========================================================================
   # ENEMY OPTIONS
   #===========================================================================
 
   # These are the attack animations for enemies when they use a regular attack.
   # It follows this format: enemy_id => animation_id
   ENEMY_ATK_ANIMS = {
 
   1 => 4,
   6 => 2,
   5 => 27
 
   }
 
   # This is the default enemy attack animation, used when they do not have a
   # specific attack animation above.
   ENEMY_ATK_ANIMS.default = 1
 
   # This is a list of enemies whose portraits should be flipped in battle.
   FLIPPED_ENEMIES = [2, 3, 4, 5, 8, 10, 12, 13, 14, 16, 17, 18, 19]
 
   #===========================================================================
   # ACTOR OPTIONS
   #===========================================================================
 
   # Should the player sprite have a shadow beneath them?
   PLAYER_SHADOW = true
 
   # These are sprite changes depending on state infliction.
   # It follows this format: state_id => "sprite_appention"
   # This means if the state is inflicted, the sprite will look for a graphic
   # that is the same name as the character's sprite, plus the appended option.
   # EX: Ralph's sprite's name is $ralph. Ralph gets knocked-out. This means
   # state 1 was inflicted, and my below config for 1 was: 1 => "_dead"
   # Now, his shown sprite will be $ralph_dead. If the sprite does not exist,
   # no change will be made.
   # The sprite index will be the same as the actor's.
   STATE_SPRITES = {
 
   1 => "_dead",
   2 => "_poison",
   3 => "_blind"
 
   }
 
   #===========================================================================
   # GENERAL_OPTIONS
   #===========================================================================
 
   # This is the animation displayed when a skill is about to be used.
   SKILL_ANIMATION = 43
 
   # This is the animation displayed when an item is about to be used.
   ITEM_ANIMATION = 43
 
   # These are the animations played when a state is inflicted.
   # It follows this format: state_id => animation_id
   STATE_ANIMATIONS = {
 
   1 => 56,
   2 => 50,
   3 => 51
 
   }
 
   #===========================================================================
   # FIELD OPTIONS
   #===========================================================================
 
   # This is where the line-up begins. [x, y]. The higher the x, the further
   # right and the higher the y the further down.
   FIELD_POS = [400, 230]
 
   # This is how far down, and to the right each player is from the previous
   # actor. [x, y]. Same rules as above.
   FIELD_SPACING = [12, 50]
 
 end
end

#===============================================================================
# DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO.
#===============================================================================

($imported ||= {})[:jet] ||= {}
$imported[:jet][:Sideview] = true

class Game_Character

 attr_accessor :step_anime

 %w[screen_x screen_y].each {|a|
   aStr = %Q{
     alias jet6372_#{a} #{a}
     def #{a}(*args, &block)
       $BTEST ? 0 : jet6372_#{a}(*args, &block)
     end
   }
   module_eval(aStr)
 }
end

class Game_Actor

 def animation_id=(t)
   self.battle_sprite.start_animation($data_animations[t]) rescue nil
 end
end

class Game_Battler

 def battle_sprite
   return nil unless SceneManager.scene_is?(Scene_Battle)
   SceneManager.scene.spriteset.battler_sprites.each {|a|
     return a if a.battler == self
   }
   return nil
 end
end

class Spriteset_Battle

 alias jet2847_create_enemies create_enemies
 def create_enemies(*args, &block)
   jet2847_create_enemies(*args, &block)
   @enemy_sprites.each {|a|
     a.mirror = Jet::Sideview::FLIPPED_ENEMIES.include?(a.battler.enemy.id)
   }
 end

 alias jet3835_create_actors create_actors
 def create_actors(*args, &block)
   jet3835_create_actors(*args, &block)
   @jet_party = $game_party.members
   @actor_sprites.each {|a|
     a.dispose
   }
   @actor_sprites = []
   $game_party.members.each {|a|
     f = Game_Character.new
     f.set_graphic(a.character_name, a.character_index)
     f.step_anime = true
     f.set_direction(4)
     n = Sprite_Character.new(@viewport1, f)
     n.jet_x = Jet::Sideview::FIELD_POS[0] + a.index * Jet::Sideview::FIELD_SPACING[0]
     n.jet_y = Jet::Sideview::FIELD_POS[1] + a.index * Jet::Sideview::FIELD_SPACING[1]
     n.battler = a
     n.battle_sprite = true
     if Jet::Sideview::PLAYER_SHADOW
       v = Sprite.new(nil)
       v.bitmap = Cache.system("Shadow")
       n.shadow_sprite = v
     end
     @actor_sprites.push(n)
   }
 end

 def update_actors
   if @jet_party != $game_party.members
     @actor_sprites.each {|a|
       a.dispose
     }
     @actor_sprites = []
     create_actors
   end
   @actor_sprites.each {|a| a.update }
 end
end

class Sprite_Character

 attr_accessor :battle_sprite, :jet_x, :jet_y, :shadow_sprite, :battler

 alias jet4646_initialize initialize
 def initialize(*args, &block)
   @battle_sprite = false
   jet4646_initialize(*args, &block)
 end

 alias jet3645_update update
 def update(*args, &block)
   jet3645_update(*args, &block)
   if @battle_sprite
     @character.step_anime = !@battler.dead?
     @character.update
     self.x = @jet_x
     self.y = @jet_y
     if !@battler.nil?
       f = @battler.states.dup
       f.sort! {|a, b|
         a.priority <=> b.priority
       }.reverse!
       for i in 0...f.size
         a = Jet::Sideview::STATE_SPRITES[f[i].id]
         next if a.nil?
         b = (Cache.character(@character.character_name + a) rescue false)
         next unless b
         index = @character.character_index
         @character.set_graphic(@character.character_name + a, index)
         break
       end
     end
     if !@shadow_sprite.nil?
       @shadow_sprite.x = self.x - @shadow_sprite.width / 2
       @shadow_sprite.y = self.y - 28
       @shadow_sprite.visible = self.visible
       @shadow_sprite.viewport = self.viewport
       @shadow_sprite.z = self.z - 1
     end
   end
 end

 alias jet5484_dispose dispose
 def dispose(*args, &block)
   @shadow_sprite.dispose if !@shadow_sprite.nil?
   jet5484_dispose(*args, &block)
 end

 def move_x(times, amount)
   i = 0
   until i == times
     self.jet_x += amount
     i += 1
     [Graphics, SceneManager.scene.spriteset].each {|a| a.update }
   end
 end

 def effect?
   false
 end
end

class Game_Enemy

 def atk_animation_id1
   return Jet::Sideview::ENEMY_ATK_ANIMS[@enemy_id]
 end

 def atk_animation_id2
   return 0
 end
end

class Scene_Battle

 attr_reader :spriteset

 alias jet2711_use_item use_item
 def use_item(*args, &block)
   if @subject.is_a?(Game_Actor)
     if !@subject.current_action.guard?
       @subject.battle_sprite.move_x(11, -6)
     end
   end
   if !@subject.current_action.guard? && !@subject.current_action.attack?
     if @subject.current_action.item.is_a?(RPG::Item)
       n = $data_animations[Jet::Sideview::ITEM_ANIMATION]
     else
       n = $data_animations[Jet::Sideview::SKILL_ANIMATION]
     end
     @subject.battle_sprite.start_animation(n)
     wait_for_animation
   end
   jet2711_use_item(*args, &block)
   if @subject.is_a?(Game_Actor)
     if !@subject.current_action.guard?
       @subject.battle_sprite.move_x(11, 6)
     end
   end
 end

 def show_attack_animation(targets)
   aid1 = @subject.atk_animation_id1
   aid2 = @subject.atk_animation_id2
   show_normal_animation(targets, aid1, false)
   show_normal_animation(targets, aid2, true)
 end

 %w[next prior].each {|a|
   aStr = %Q{
     alias jet3734_#{a}_command #{a}_command
     def #{a}_command(*args, &block)
       f = BattleManager.actor
       f.battle_sprite.move_x(6, 6) if f.is_a?(Game_Actor)
       jet3734_#{a}_command(*args, &block)
       f = BattleManager.actor
       f.battle_sprite.move_x(6, -6) if f.is_a?(Game_Actor)
     end
   }
   module_eval(aStr)
 }
end

class Game_Action

 def guard?
   item == $data_skills[subject.guard_skill_id]
 end
end

if $imported[:jet][:BattlePopUps]
 class Sprite_Character
 
   attr_accessor :popups
     
   alias jet4758_initialize initialize
   def initialize(*args, &block)
     @popups = []
     @updating_sprites = []
     @popup_wait = 0
     jet4758_initialize(*args, &block)
   end
     
   alias jet7467_update update
   def update(*args, &block)
     jet7467_update(*args, &block)
     if @popup_wait == 0
       if !@popups.empty?
         @updating_sprites.push(@popups.pop)
         @popup_wait = 30
       end
     else
       @popup_wait -= 1
     end
     @updating_sprites.each {|a|
       a.visible = true if !a.visible
       a.update
       @updating_sprites.delete(a) if a.disposed?
     }
   end
 
   alias jet5483_dispose dispose
   def dispose(*args, &block)
     (@updating_sprites + @popups).each {|a| a.dispose }
     jet5483_dispose(*args, &block)
   end
 
   alias jet3745_setup_new_effect setup_new_effect
   def setup_new_effect(*args, &block)
     jet3745_setup_new_effect(*args, &block)
     do_sprite_popups
   end
 
   def make_popup(text, color)
     @popups.unshift(Sprite_JetPopup.new(text.to_s, color, self))
   end
 
   def do_sprite_popups
     return if @battler.nil?
     if @battler_struct.nil?
       @battler_struct = Struct.new(:hp, :mp, :tp).new(0, 0, 0)
       @battler_struct.hp = @battler.hp
       @battler_struct.mp = @battler.mp
       @battler_struct.tp = @battler.tp
     end
     check_success_popup
     check_hp_popup
     check_mp_popup
     check_tp_popup
   end
 
   def check_success_popup
     if @battler.result.success
       if @battler.result.critical
         make_popup(Jet::BattlePopUps::CRITICAL_TEXT, Jet::BattlePopUps::CRITICAL_COLOR)
       elsif @battler.result.missed
         make_popup(Jet::BattlePopUps::MISSED_TEXT, Jet::BattlePopUps::MISS_COLOR)
       elsif @battler.result.evaded
         make_popup(Jet::BattlePopUps::EVADED_TEXT, Jet::BattlePopUps::EVADE_COLOR)
       end
       @battler.result.clear_hit_flags
     end
   end
 
   def check_hp_popup
     if @battler_struct.hp != @battler.hp
       f = @battler_struct.hp - @battler.hp
       if f > 0
         make_popup(Jet::BattlePopUps::HURT_TEXT + f.to_s, Jet::BattlePopUps::HURT_COLOR)
       elsif f < 0
         make_popup(Jet::BattlePopUps::HEAL_TEXT + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR)
       end
       @battler_struct.hp = @battler.hp
     end
   end
 
   def check_mp_popup
     if @battler_struct.mp != @battler.mp
       f = @battler_struct.mp - @battler.mp
       if f > 0
         make_popup(Jet::BattlePopUps::HURT_TEXT_MP + f.to_s, Jet::BattlePopUps::HURT_COLOR_MP)
       elsif f < 0
         make_popup(Jet::BattlePopUps::HEAL_TEXT_MP + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR_MP)
       end
       @battler_struct.mp = @battler.mp
     end
   end
 
   def check_tp_popup
     if @battler_struct.tp != @battler.tp
       f = (@battler_struct.tp - @battler.tp).round
       if f > 0
         make_popup(Jet::BattlePopUps::HURT_TEXT_TP + f.to_s, Jet::BattlePopUps::HURT_COLOR_TP)
       elsif f < 0
         make_popup(Jet::BattlePopUps::HEAL_TEXT_TP + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR_TP)
       end
       @battler_struct.tp = @battler.tp
     end
   end
 end
end

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.