enemigos animados [SCRIPT¡¡ RGSS3]
Página 1 de 1.
enemigos animados [SCRIPT¡¡ RGSS3]
IMPORTANTE: antes que nada seguro dicen.. como mierda uso este script, bueno hayun truco q no les revelare aun ya que no me sirvio ._. y nimodo explicarselos mal.. bueno cuando lo tenga se los paso. de igual manera queria un script en el foro.. asi que bueno.. XD ai esta para que se vayan dando una idea como son los scripts.
Este script lo que hace es animar los graficos del enemigo.. es un script sencillo pero funcional para una batalla mas real que podran utilizar cuando salga el rpg maker vx ace full
instrucciones:
Los archivos deben ser colocados dentro de / Battlers / carpeta. Cada sprite requiere dos archivos - un "editor" o la colocación de gráficos, y el propio spritesheet. El editor gráfico no va a utilizar: sólo se utiliza cuando la colocación de los enemigos en la pestaña de tropas, y posiblemente otros scripts pueden recuperar el editor de imágenes en lugar de la spritesheet completo a la vista. Utiliza el editor gráfico al momento de decidir un archivo gráfico de los enemigos. El nombre del archivo del spritesheet tiene que ser el mismo que el nombre del fichero de vista previa. Ejemplo: "bat.png" es el nombre del archivo normal, "bat-spritesheet.png" es el nombre del archivo spritesheet completo.
Este script lo que hace es animar los graficos del enemigo.. es un script sencillo pero funcional para una batalla mas real que podran utilizar cuando salga el rpg maker vx ace full
instrucciones:
Los archivos deben ser colocados dentro de / Battlers / carpeta. Cada sprite requiere dos archivos - un "editor" o la colocación de gráficos, y el propio spritesheet. El editor gráfico no va a utilizar: sólo se utiliza cuando la colocación de los enemigos en la pestaña de tropas, y posiblemente otros scripts pueden recuperar el editor de imágenes en lugar de la spritesheet completo a la vista. Utiliza el editor gráfico al momento de decidir un archivo gráfico de los enemigos. El nombre del archivo del spritesheet tiene que ser el mismo que el nombre del fichero de vista previa. Ejemplo: "bat.png" es el nombre del archivo normal, "bat-spritesheet.png" es el nombre del archivo spritesheet completo.
- Spoiler:
- #==============================================================================
# ■ Animated Enemy Sprites
# Merry Christmas and happy holidays!
#==============================================================================
# Notebox Tag:
# Enemy: !Flip
#==============================================================================
# Spritesheet Data for referencing
#
# 0. Idle
# 1. Defend
# 2. Weak
# 3. Damaged
# 4. Attack
# 5. Item
# 6. Skill
# 7. Magic
# 8. Advance (n/a)
# 9. Retreat (n/a)
# 10. Victory (n/a)
# 11. Enter
# 12. Dead
# 13. Credits and/or etc (n/a)
#==============================================================================
# ~rhyme
#==============================================================================
module Animated_Enemy_Sprites
Delay = 8
FrameSize = [4, 14]
DefaultBlink = false
end
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
attr_accessor :pose
#--------------------------------------------------------------------------
# ● Flip
#--------------------------------------------------------------------------
def flip_sprite
return false
end
#--------------------------------------------------------------------------
# ● Reset Pose
#--------------------------------------------------------------------------
def reset_pose
@pose = 0
@pose = 2 if @hp < mhp / 4
if @states != nil
@pose = 2 if @states.size > 0
end
@pose = 1 if guard?
@pose = 12 if dead?
end
#--------------------------------------------------------------------------
# ● Use Item
#--------------------------------------------------------------------------
alias use_item_ani use_item
def use_item(item)
if item.is_a?(RPG::Item)
@pose = 4
else
if item.is_a?(RPG::Skill)
if item.id == attack_skill_id
@pose = 4
elsif item.physical?
@pose = 6
elsif item.magical?
@pose = 7
end
end
end
use_item_ani(item)
end
#--------------------------------------------------------------------------
# ● Perform Damage
#--------------------------------------------------------------------------
alias perform_map_damage_effect_ani perform_map_damage_effect
def perform_map_damage_effect
perform_map_damage_effect_ani
@pose = 3 unless @guarding
end
#--------------------------------------------------------------------------
# ● Upon Damage
#--------------------------------------------------------------------------
alias on_damage_ani on_damage
def on_damage(value)
@pose = 3 unless @guarding
on_damage_ani(value)
end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● Flip
#--------------------------------------------------------------------------
def flip_sprite
return true if Scan::string($data_enemies[@enemy_id].note, "!Flip")
return super
end
end
#==============================================================================
# ■ Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
attr_accessor :battler
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
super(viewport)
@battler = battler
@battler_visible = false
@effect_type = nil
@effect_duration = 0
@spritesheet = true
@pose = 11
@counter = 0
@delay = Animated_Enemy_Sprites::Delay
@frame_size = Animated_Enemy_Sprites::FrameSize
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
if @battler
@battler.reset_pose if @battler.pose == nil
self.mirror = @battler.flip_sprite
@use_sprite = @battler.use_sprite?
if @spritesheet
update_pose if @pose != 11
end
if Graphics.frame_count % @delay == 0
@counter += 1
if @counter >= @frame_size[0]
@counter = 0
if @pose == 11
update_pose
else
@battler.reset_pose
end
end
end
if @use_sprite
update_bitmap
update_origin
update_position
end
setup_new_effect
setup_new_animation
update_effect
else
@effect_type = nil
end
self.opacity = 255
self.visible = true
end
#--------------------------------------------------------------------------
# ● Update bitmap
#--------------------------------------------------------------------------
def update_bitmap
if @spritesheet
@spritesheet_bitmap = Cache.battler(@battler.battler_name + "-spritesheet", @battler.battler_hue)
ss_size = [@spritesheet_bitmap.width, @spritesheet_bitmap.height]
new_bitmap = Bitmap.new(ss_size[0] / @frame_size[0], ss_size[1] / @frame_size[1])
cx = @counter * (ss_size[0] / @frame_size[0])
cy = @pose * (ss_size[1] / @frame_size[1])
crop_rect = Rect.new(cx, cy, ss_size[0], ss_size[1])
new_bitmap.blt(0, 0, @spritesheet_bitmap, crop_rect)
else
new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
end
if bitmap != new_bitmap
self.bitmap = new_bitmap
init_visibility
end
end
#--------------------------------------------------------------------------
# ● Update Pose
#--------------------------------------------------------------------------
def update_pose
oldpose = @pose
newpose = @battler.pose
if newpose != oldpose
@counter = 0
@pose = newpose
end
end
#--------------------------------------------------------------------------
# ● Blink
#--------------------------------------------------------------------------
def update_blink
self.opacity = (@effect_duration % 10 < 5) ? 255 : 0 if Animated_Enemy_Sprites::DefaultBlink
end
end
#============================================================================
# ▼ Scan
#============================================================================
module Scan
#--------------------------------------------------------------------------
# ● Scan.string(object, string)
#--------------------------------------------------------------------------
def self.string(object, string)
if object[/#{Regexp.quote string}/]
return true
end
return false
end
end
mekrod- Fundador
- Mensajes : 18
Fecha de inscripción : 07/11/2011
Temas similares
» (Script) Script de Alquimia
» (Scripts) Battlers Animados
» (Script)Copyright
» (Script) DVD System
» [Script] H-MODE 7
» (Scripts) Battlers Animados
» (Script)Copyright
» (Script) DVD System
» [Script] H-MODE 7
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.