Jump to content
Rpg²S Forum

*Animation System + RTAB


DaD
 Share

Recommended Posts

Animation System + RTAB

.Descrizione

Questo è il famigerato BS laterale creato da Mnkoff, in pratica avremo un BS alla FFVI all'interno del nostro progetto!

.Autore

Minkoff

.Allegati

A presto una demo.

.Istruzioni per l'uso

Bene per prima cosa dovete creare la classe
Animation System
ed incollarci questo al suo interno.

 

 

#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
#  Animated Battlers by Minkoff, Updated by DerVVulfman
#==============================================================================

class Sprite_Battler < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Initialize
 #--------------------------------------------------------------------------
 alias cbs_initialize initialize
 def initialize(viewport, battler = nil)

# Configuration
@speed			  = 7	  # Framerate speed of the battlers
@frames			 = 4	  # Number of frames in each pose
@poses			  = 11	 # Number of poses (stances) in the template
@mirror_enemies	 = true   # Enemy battlers use reversed image
@stationary_enemies = false  # If the enemies don't move while attacking
@stationary_actors  = false  # If the actors don't move while attacking
@calculate_speed	= true   # System calculates a mean/average speed
@phasing			= true   # Characters fade in/out while attacking
@default_collapse   = false  # Restores the old 'red fade' effect to enemies
# Array that holds the id # of weapons that forces the hero to be stationary
@stationary_weapons = [17,18,19,20,21,22,23,24] # (examples are bows & guns)

# DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING
@frame, @pose = 0, 0
@last_time = 0
@last_move_time = 0
cbs_initialize(viewport, battler)
self.mirror = !!battler and @mirror_enemies
viewport.z = 99
 end
 #--------------------------------------------------------------------------
 # * Update
 #--------------------------------------------------------------------------
 alias cbs_update update
 def update
return unless @battler

# Regular Update
cbs_update

# Start Routine
unless @started
  @pose = state
  @width = @width / @frames
  @height = @height / @poses
  @display_x = @battler.screen_x
  @display_y = @battler.screen_y
  @destination_x = @display_x
  @destination_y = @display_y
  @started = true
end

# Cut Out Frame
self.src_rect.set(@width * @frame, @height * @pose, @width, @height)

# Position Sprite
self.x = @display_x
self.y = @display_y
self.z = @display_y
self.ox = @width / 2
self.oy = @height

# Setup Animation
time = Graphics.frame_count / (Graphics.frame_rate / @speed)
if @last_time < time
  @frame = (@frame + 1) % @frames
  if @frame == 0
	if @freeze
	  @frame = @frames - 1
	  return
	end
	@pose = state
  end
end
@last_time = time

# Move It
move if moving
 end
 #--------------------------------------------------------------------------
 # * Current State
 #--------------------------------------------------------------------------
 def state
# Damage State
if [nil,{}].include?(@battler.damage)
  # Battler Fine
  @state = 0
  # Battler Wounded
  @state = 2 if @battler.hp < @battler.maxhp / 4

  if @default_collapse
	# Battler Dead (Red-Out Collapse)
	if @battler.dead? and @battler.is_a?(Game_Actor)
	  @state = 10
	  # Fix Opacity
	  self.opacity = 255
	end
  else
	# Battler Dead (Pose-Type Collapse)
	if @battler.dead?
	  @state = 10
	  # Fix Opacity
	  self.opacity = 255
	end
  end
end
# Guarding State
@state = 3 if @battler.guarding?
# Moving State
if moving
  # If enemy battler moving
  if @battler.is_a?(Game_Enemy) 
	# Battler Moving Left
	@state = 5 if moving.eql?(0)
	# Battler Moving Right
	@state = 4 if moving.eql?(1)
  # Else actor battler moving
  else
	# Battler Moving Left
	@state = 4 if moving.eql?(0)
	# Battler Moving Right
	@state = 5 if moving.eql?(1)
  end
end
# Return State
return @state
 end
 #--------------------------------------------------------------------------
 # * Move
 #--------------------------------------------------------------------------
 def move
time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
if @last_move_time < time

  # Pause for Animation
  return if @pose != state

  # Phasing
  if @phasing
	d1 = (@display_x - @original_x).abs
	d2 = (@display_y - @original_y).abs
	d3 = (@display_x - @destination_x).abs
	d4 = (@display_y - @destination_y).abs
	self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
  end

  # Calculate Difference
  difference_x = (@display_x - @destination_x).abs
  difference_y = (@display_y - @destination_y).abs

  # Done? Reset, Stop
  if [difference_x, difference_y].max.between?(0, 8)
	@display_x = @destination_x
	@display_y = @destination_y
	@pose = state
	return
  end

  # Calculate Movement Increments
  increment_x = increment_y = 1
  if difference_x < difference_y
	increment_x = 1.0 / (difference_y.to_f / difference_x)
  elsif difference_y < difference_x
	increment_y = 1.0 / (difference_x.to_f / difference_y)
  end
  
  # Calculate Movement Speed
  if @calculate_speed
	total = 0; $game_party.actors.each{ |actor| total += actor.agi }
	speed = @battler.agi.to_f / (total / $game_party.actors.size)
	increment_x *= speed
	increment_y *= speed
  end
  
  # Multiply and Move
  multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)
  multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)
  @display_x += (increment_x * multiplier_x).to_i
  @display_y += (increment_y * multiplier_y).to_i
end
@last_move_time = time
 end
 #--------------------------------------------------------------------------
 # * Set Movement
 #--------------------------------------------------------------------------
 def setmove(destination_x, destination_y)
unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or
	   (@battler.is_a?(Game_Actor) and @stationary_actors)
  unless @stationary_weapons.include?(@battler.weapon_id)
	@original_x = @display_x
	@original_y = @display_y
	@destination_x = destination_x
	@destination_y = destination_y
  end
end
 end
 #--------------------------------------------------------------------------
 # * Movement Check
 #--------------------------------------------------------------------------
 def moving
if (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?)
  return (@display_x > @destination_x ? 0 : 1)
end
 end
 #--------------------------------------------------------------------------
 # * Set Pose
 #--------------------------------------------------------------------------
 def pose=(pose)
@pose = pose
@frame = 0
 end
 #--------------------------------------------------------------------------
 # * Freeze
 #--------------------------------------------------------------------------
 def freeze
@freeze = true
 end
 #--------------------------------------------------------------------------
 # * Fallen Pose
 #--------------------------------------------------------------------------
 alias cbs_collapse collapse
 def collapse
if @default_collapse
  cbs_collapse if @battler.is_a?(Game_Enemy)
  end
end
 end

#==============================================================================
# ** Game_Actor
#==============================================================================

class Game_Actor
 #--------------------------------------------------------------------------
 # * Actor X Coordinate
 #--------------------------------------------------------------------------
 def screen_x
if self.index != nil
  return self.index * 45 + 450
else
  return 0
end
 end
 #--------------------------------------------------------------------------
 # * Actor Y Coordinate
 #--------------------------------------------------------------------------
 def screen_y
return self.index * 35 + 200
 end
 #--------------------------------------------------------------------------
 # * Actor Z Coordinate
 #--------------------------------------------------------------------------
 def screen_z
return screen_y
 end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================

class Scene_Battle
 #--------------------------------------------------------------------------
 # * Action Animation, Movement
 #--------------------------------------------------------------------------
 alias cbs_update_phase4_step3 update_phase4_step3
 def update_phase4_step3(battler = @active_battler)
@rtab = !@target_battlers
target = (@rtab ? battler.target : @target_battlers)[0]
@moved = {} unless @moved
return if @spriteset.battler(battler).moving
case battler.current_action.kind
when 0 # Attack
  if not (@moved[battler] or battler.guarding?)
	offset = (battler.is_a?(Game_Actor) ? 40 : -40)
	@spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y)
	@moved[battler] = true
	return
  elsif not battler.guarding?
	@spriteset.battler(battler).pose = 6 + rand(2)
	@spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y)
  end
when 1 # Skill
  @spriteset.battler(battler).pose = 8
when 2 # Item
  @spriteset.battler(battler).pose = 8
end
@moved[battler] = false
@rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3
 end
 #--------------------------------------------------------------------------
 # * Hit Animation
 #--------------------------------------------------------------------------
 alias cbs_update_phase4_step4 update_phase4_step4
 def update_phase4_step4(battler = @active_battler)
for target in (@rtab ? battler.target : @target_battlers)
  damage = (@rtab ? target.damage[battler] : target.damage)
  if damage.is_a?(Numeric) and damage > 0
	@spriteset.battler(target).pose = 1
  end
end
@rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4
 end
 #--------------------------------------------------------------------------
 # * Victory Animation
 #--------------------------------------------------------------------------
 alias cbs_start_phase5 start_phase5
 def start_phase5
for actor in $game_party.actors
  return if @spriteset.battler(actor).moving
end
for actor in $game_party.actors
  unless actor.dead?
	@spriteset.battler(actor).pose = 9
	@spriteset.battler(actor).freeze
  end
end
cbs_start_phase5
 end
 #--------------------------------------------------------------------------
 # * Change Arrow Viewport
 #--------------------------------------------------------------------------
 alias cbs_start_enemy_select start_enemy_select
 def start_enemy_select
cbs_start_enemy_select
@enemy_arrow.dispose
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
@enemy_arrow.help_window = @help_window
 end
end

#==============================================================================
# ** Spriteset_Battle
#==============================================================================

class Spriteset_Battle
 #--------------------------------------------------------------------------
 # * Change Enemy Viewport
 #--------------------------------------------------------------------------
 alias cbs_initialize initialize
 def initialize
cbs_initialize
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
  @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
end
 end
 #--------------------------------------------------------------------------
 # * Find Sprite From Battler Handle
 #--------------------------------------------------------------------------
 def battler(handle)
for sprite in @actor_sprites + @enemy_sprites
  return sprite if sprite.battler == handle
end
 end
end

#==============================================================================
# ** Arrow_Base
#==============================================================================

class Arrow_Base < Sprite
 #--------------------------------------------------------------------------
 # * Reposition Arrows
 #--------------------------------------------------------------------------
 alias cbs_initialize initialize
 def initialize(viewport)
cbs_initialize(viewport)
self.ox = 14
self.oy = 10
 end
end[/codebox]
Dopodichè create la classe [b]RTAB[/b] ed incollate questo al suo interno.

[attachment=532:RTAB.txt]

Fatto questo inserite anche questo in una nuova classe di nome [b]RTAB/CTB Changes[/b].

[codebox]#===========================================================================
===
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  Stretched Background, Removed Camera
#==============================================================================

class Spriteset_Battle
 #--------------------------------------------------------------------------
 # * Stretch Background
 #--------------------------------------------------------------------------
 def make_battleback
@battleback_name = $game_temp.battleback_name
if @battleback_sprite.bitmap != nil
  @battleback_sprite.bitmap.dispose
end
@battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
@battleback_sprite.zoom_x = 640.0 / @battleback_sprite.bitmap.width
@battleback_sprite.zoom_y = 480.0 / @battleback_sprite.bitmap.height
 end
 #--------------------------------------------------------------------------
 # * Remove Camera
 #--------------------------------------------------------------------------
 def screen_target(x, y, zoom)
return
 end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================

class Scene_Battle
 #--------------------------------------------------------------------------
 # * Remove Zoom
 #--------------------------------------------------------------------------
 alias cbs_atb_setup atb_setup
 def atb_setup
cbs_atb_setup
@zoom_rate = [1, 1]
 end
end[/codebox]
Infine create quest'ultima classe con il nome di [b]HP/SP/EXP Bars[/b].

[codebox]# HP/SP/EXPゲージ表示スクリプト Ver 1.00
# 配布元・サポートURL
# [url=http://members.jcom.home.ne.jp/cogwheel/]http://members.jcom.home.ne.jp/cogwheel/[/url]

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  アクターを扱うクラスです。このクラスは Game_Actors クラス ($game_actors)
# の内部で使用され、Game_Party クラス ($game_party) からも参照されます。
#==============================================================================

class Game_Actor < Game_Battler
 def now_exp
return @exp - @exp_list[@level]
 end
 def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
 end
end

#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#  ゲーム中のすべてのウィンドウのスーパークラスです。
#==============================================================================

class Window_Base < Window
 #--------------------------------------------------------------------------
 # ● HP ゲージの描画
 #--------------------------------------------------------------------------
 # オリジナルのHP描画を draw_actor_hp_hpsp と名前変更
 alias :draw_actor_hp_hpsp :draw_actor_hp
 def draw_actor_hp(actor, x, y, width = 144)
# 変数rateに 現在のHP/MHPを代入
if actor.maxhp != 0
  rate = actor.hp.to_f / actor.maxhp
else
  rate = 0
end
# plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
# plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
# align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
# align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
# align3:ゲージタイプ 0:左詰め 1:右詰め
plus_x = 0
rate_x = 0
plus_y = 25
plus_width = 0
rate_width = 100
height = 10
align1 = 1
align2 = 2
align3 = 0
# グラデーション設定 grade1:空ゲージ grade2:実ゲージ
# (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
grade1 = 1
grade2 = 0
# 色設定。color1:外枠,color2:中枠
# color3:空ゲージダークカラー,color4:空ゲージライトカラー
# color5:実ゲージダークカラー,color6:実ゲージライトカラー
color1 = Color.new(0, 0, 0, 192)
color2 = Color.new(255, 255, 192, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(64, 0, 0, 192)
color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
# 変数spに描画するゲージの幅を代入
if actor.maxhp != 0
  hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
else
  hp = 0
end
# ゲージの描画
gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
			width, plus_width + width * rate_width / 100,
			height, hp, align1, align2, align3,
			color1, color2, color3, color4, color5, color6, grade1, grade2)
# オリジナルのHP描画処理を呼び出し
draw_actor_hp_hpsp(actor, x, y, width)
 end
 #--------------------------------------------------------------------------
 # ● SP ゲージの描画
 #--------------------------------------------------------------------------
 # オリジナルのSP描画を draw_actor_sp_hpsp と名前変更
 alias :draw_actor_sp_hpsp :draw_actor_sp
 def draw_actor_sp(actor, x, y, width = 144)
# 変数rateに 現在のSP/MSPを代入
if actor.maxsp != 0
  rate = actor.sp.to_f / actor.maxsp
else
  rate = 1
end
# plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
# plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
# align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
# align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
# align3:ゲージタイプ 0:左詰め 1:右詰め
plus_x = 0
rate_x = 0
plus_y = 25
plus_width = 0
rate_width = 100
height = 10
align1 = 1
align2 = 2
align3 = 0
# グラデーション設定 grade1:空ゲージ grade2:実ゲージ
# (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
grade1 = 1
grade2 = 0
# 色設定。color1:外枠,color2:中枠
# color3:空ゲージダークカラー,color4:空ゲージライトカラー
# color5:実ゲージダークカラー,color6:実ゲージライトカラー
color1 = Color.new(0, 0, 0, 192)
color2 = Color.new(255, 255, 192, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(0, 64, 0, 192)
color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
# 変数spに描画するゲージの幅を代入
if actor.maxsp != 0
  sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
else
  sp = (width + plus_width) * rate_width / 100
end
# ゲージの描画
gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
			width, plus_width + width * rate_width / 100,
			height, sp, align1, align2, align3,
			color1, color2, color3, color4, color5, color6, grade1, grade2)
# オリジナルのSP描画処理を呼び出し
draw_actor_sp_hpsp(actor, x, y, width)
 end
 #--------------------------------------------------------------------------
 # ● EXP ゲージの描画
 #--------------------------------------------------------------------------
 # オリジナルのEXP描画を draw_actor_sp_hpsp と名前変更
 alias :draw_actor_exp_hpsp :draw_actor_exp
 def draw_actor_exp(actor, x, y, width = 204)
# 変数rateに 現在のexp/nextexpを代入
if actor.next_exp != 0
  rate = actor.now_exp.to_f / actor.next_exp
else
  rate = 1
end
# plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
# plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
# align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
# align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
# align3:ゲージタイプ 0:左詰め 1:右詰め
plus_x = 0
rate_x = 0
plus_y = 25
plus_width = 0
rate_width = 100
height = 10
align1 = 1
align2 = 2
align3 = 0
# グラデーション設定 grade1:空ゲージ grade2:実ゲージ
# (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
grade1 = 1
grade2 = 0
# 色設定。color1:外枠,color2:中枠
# color3:空ゲージダークカラー,color4:空ゲージライトカラー
# color5:実ゲージダークカラー,color6:実ゲージライトカラー
color1 = Color.new(0, 0, 0, 192)
color2 = Color.new(255, 255, 192, 192)
color3 = Color.new(0, 0, 0, 192)
color4 = Color.new(64, 0, 0, 192)
color5 = Color.new(80 * rate, 80 - 80 * rate ** 2, 80 - 80 * rate, 192)
color6 = Color.new(240 * rate, 240 - 240 * rate ** 2, 240 - 240 * rate, 192)
# 変数expに描画するゲージの幅を代入
if actor.next_exp != 0
  exp = (width + plus_width) * actor.now_exp * rate_width /
													  100 / actor.next_exp
else
  exp = (width + plus_width) * rate_width / 100
end
# ゲージの描画
gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
			width, plus_width + width * rate_width / 100,
			height, exp, align1, align2, align3,
			color1, color2, color3, color4, color5, color6, grade1, grade2)
# オリジナルのEXP描画処理を呼び出し
draw_actor_exp_hpsp(actor, x, y)
 end
 #--------------------------------------------------------------------------
 # ● ゲージの描画
 #--------------------------------------------------------------------------
 def gauge_rect(x, y, rect_width, width, height, gauge, align1, align2, align3,
			color1, color2, color3, color4, color5, color6, grade1, grade2)
case align1
when 1
  x += (rect_width - width) / 2
when 2
  x += rect_width - width
end
case align2
when 1
  y -= height / 2
when 2
  y -= height
end
# 枠描画
self.contents.fill_rect(x, y, width, height, color1)
self.contents.fill_rect(x + 1, y + 1, width - 2, height - 2, color2)
if align3 == 0
  if grade1 == 2
	grade1 = 3
  end
  if grade2 == 2
	grade2 = 3
  end
end
if (align3 == 1 and grade1 == 0) or grade1 > 0
  color = color3
  color3 = color4
  color4 = color
end
if (align3 == 1 and grade2 == 0) or grade2 > 0
  color = color5
  color5 = color6
  color6 = color
end
# 空ゲージの描画
self.contents.gradation_rect(x + 2, y + 2, width - 4, height - 4,
							  color3, color4, grade1)
if align3 == 1
  x += width - gauge
end
# 実ゲージの描画
self.contents.gradation_rect(x + 2, y + 2, gauge - 4, height - 4,
							  color5, color6, grade2)
 end
end

#------------------------------------------------------------------------------
#  Bitmapクラスに新たな機能を追加します。
#==============================================================================

class Bitmap
 #--------------------------------------------------------------------------
 # ● 矩形をグラデーション表示
 #	 color1 : スタートカラー
 #	 color2 : エンドカラー
 #	 align  :  0:横にグラデーション
 #			   1:縦にグラデーション
 #			   2:斜めにグラデーション(激重につき注意)
 #--------------------------------------------------------------------------
 def gradation_rect(x, y, width, height, color1, color2, align = 0)
if align == 0
  for i in x...x + width
	red   = color1.red + (color2.red - color1.red) * (i - x) / (width - 1)
	green = color1.green +
			(color2.green - color1.green) * (i - x) / (width - 1)
	blue  = color1.blue +
			(color2.blue - color1.blue) * (i - x) / (width - 1)
	alpha = color1.alpha +
			(color2.alpha - color1.alpha) * (i - x) / (width - 1)
	color = Color.new(red, green, blue, alpha)
	fill_rect(i, y, 1, height, color)
  end
elsif align == 1
  for i in y...y + height
	red   = color1.red +
			(color2.red - color1.red) * (i - y) / (height - 1)
	green = color1.green +
			(color2.green - color1.green) * (i - y) / (height - 1)
	blue  = color1.blue +
			(color2.blue - color1.blue) * (i - y) / (height - 1)
	alpha = color1.alpha +
			(color2.alpha - color1.alpha) * (i - y) / (height - 1)
	color = Color.new(red, green, blue, alpha)
	fill_rect(x, i, width, 1, color)
  end
elsif align == 2
  for i in x...x + width
	for j in y...y + height
	  red   = color1.red + (color2.red - color1.red) *
			  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  green = color1.green + (color2.green - color1.green) *
			  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  blue  = color1.blue + (color2.blue - color1.blue) *
			  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  alpha = color1.alpha + (color2.alpha - color1.alpha) *
			  ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  color = Color.new(red, green, blue, alpha)
	  set_pixel(i, j, color)
	end
  end
elsif align == 3
  for i in x...x + width
	for j in y...y + height
	  red   = color1.red + (color2.red - color1.red) *
			((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  green = color1.green + (color2.green - color1.green) *
			((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  blue  = color1.blue + (color2.blue - color1.blue) *
			((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  alpha = color1.alpha + (color2.alpha - color1.alpha) *
			((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2
	  color = Color.new(red, green, blue, alpha)
	  set_pixel(i, j, color)
	end
  end
end
 end
end

 

 

Bene adesso per far funzionare come si deve il BS avrete bisogno dei battler adatti, un esempio di battler per questo BS può essere questo

 
http://img118.imageshack.us/img118/6253/kurea1yn.png

 

Nel forum ci sono parecchie risorse per questo particolare tipo di CBS, ma anche in rete se ne trovano parecchi.

.Bug Fixati

Per adesso riporto gli unici due Bug riscontrati dagli utenti di rmxp.org

 
Remove this:

#--------------------------------------------------------------------------
 # * Fallen Pose
 #--------------------------------------------------------------------------
 def collapse
 end

 

And this:

# Battler Dead
  if @battler.dead?
	@state = 10
	# Fix Opacity
	self.opacity = 255
  end

 

RTAB.txt

TPC Radio Site | Blog | Big-Bug

http://img102.imageshack.us/img102/4332/slackware2userbarok0.gif

http://img141.imageshack.us/img141/1571/nokappams1cf8.png

 

http://i29.tinypic.com/2vijdlh.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Lo provato e a me non funziona.

Ho la 1.02a di versione

mi da errore in questo: RTAB linea 15 sintax error:

 

1の状態に加え、コマンド入力時にもウェイトが掛かる # @action : 他人が行動中に自分も行動を起こすことを許すか # 3 :

 

e poi anke negli altri.

Come posso fare? non ci ho capito ankora un'H di sti script

Edited by PinnaWarner

Progetti:

Cronache del Mondo Emerso RPGVX -in progettazione-

Captain Tsubasa RPG 1 (Holly e Benji) RPG2k -ultimato-

Captain Tsubasa RPG 2 (Holly e Benji) RPGXP -in lavorazione 10%-

One Piece (All'arrembaggio) RPG2k -interrotto-

The Leggend Of Dragons RPG2k -demo rilasciata-

Arcadia Tactics RPGXP -demo rilasciata-

 

---> Visita il Mio Sito <---

 

Contest: http://rpg2s.net/gif/SCContest3Oct.gif - http://www.rpg2s.net/gif/GC_programmazione3.gif - http://www.rpg2s.net/gif/GC_premio2.gif - http://www.rpg2s.net/awards/bestpixel2.jpg

Link to comment
Share on other sites

Lo provato e a me non funziona.

Ho la 1.02a di versione

mi da errore in questo: RTAB linea 15 sintax error:

 

1の状態に加え、コマンド入力時にもウェイトが掛かる # @action : 他人が行動中に自分も行動を起こすことを許すか # 3 :

 

e poi anke negli altri.

Come posso fare? non ci ho capito ankora un'H di sti script

Purtroppo lo script viene ridimensionato, quindi alcuni commenti sfasano e potrebbero dare errore una volta applicati.

Se ad esempio ti trovi davanti a una cosa del genere:

# Commento =======================

==

La parte in rosso va cancellata perchè non è stata commentata adeguatamente dal simbolo "#".

Al piu' presto creo una demo e la uppo così da evitare questi spiacevoli inconvenienti :\

TPC Radio Site | Blog | Big-Bug

http://img102.imageshack.us/img102/4332/slackware2userbarok0.gif

http://img141.imageshack.us/img141/1571/nokappams1cf8.png

 

http://i29.tinypic.com/2vijdlh.jpg

Link to comment
Share on other sites

  • 4 weeks later...
  • 3 months later...
Ehm...dad potresti postare quella demo promessa secoli fa!?!?!? Quando copio il code normelamente mi salta tutti gli "a capo" e lo script nn funge!!!!! Puoi anche ripostare quella di D&R visto che andava, se provo a scaricarla ora mi da errore!!!!!
http://www.narutogen.com/sign/naruto.jpgI will become the best Hogake in the world!
Link to comment
Share on other sites

Quando copio il code normalmente mi salta tutti gli "a capo"

Incollalo prima su word, in modo che ti venga sistemato per bene, e poi lo porti sul maker :wink:

Progetto in corso:

"Hero Walking: Toward Another Life"

Video Old Intro su Youtube

Visite: 11.896!

http://img212.imageshack.us/img212/1060/logheryb0.jpg

 

 

*Posizioni raggiunte nei contest*

 

 

http://www.rpg2s.net/awards/bestuser1.jpghttp://www.rpg2s.net/awards/beststaff1.jpg

http://www.rpg2s.net/awards/bestmaker3.jpghttp://www.rpg2s.net/awards/bestcritical1.jpghttp://www.rpg2s.net/awards/mostcharismatic2.jpg

http://www.rpg2s.net/awards/mosthelpful1.jpghttp://www.rpg2s.net/awards/mostpolite1.jpghttp://www.rpg2s.net/awards/mostpresent1.jpg

 

http://img204.imageshack.us/img204/8039/sccontest3octpl3.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif http://img230.imageshack.us/img230/1273/sccontest1batio5.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img103.imageshack.us/img103/1496/sccontest2octou1.gif http://img143.imageshack.us/img143/3755/destroyae4.png

http://img141.imageshack.us/img141/3081/comics3od3.gif http://img118.imageshack.us/img118/181/sccontest1octdt9.gif

 

 

SE VUOI AVERE RENS PER RISORSE, TUTORIAL, DEMO, ECC... LEGGI QUI

Link to comment
Share on other sites

Quanto mmmme piace!

Questo ci sarà nella prossima release di DT XD (è tutto già pronto a parte qualche grafica)

http://img58.imageshack.us/img58/4264/newheavenhd2.jpg

 

Iscrivetevi alla nostra accademia di Rpgmaking, presto sarà piena di contenuti e lezioni su Mapping, Eventing, Pixel Art e Scrittura, a livelli bassi, medi e avanzati!

http://img185.imageshack.us/img185/4599/bannerua7.gif

Link to comment
Share on other sites

Incollalo prima su word, in modo che ti venga sistemato per bene, e poi lo porti sul maker :rox:

 

L'ho già provato Timi, ma sarà che il mio computer è vecchio catorcio del ca**o :sisi: oppure gli ho combinato qualcosa io!!!

Cmq grazie lo stesso! :wink:

http://www.narutogen.com/sign/naruto.jpgI will become the best Hogake in the world!
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 4 weeks later...

Quando faccio il test paly mi dice :

????? 'RTAB Changes' ? 37 ??? Name Error ????????

undefined method 'atb_setup' for class 'scene_battle'

 

EDIT : Problema risolto ^^"

xD

Edited by Ommy
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 years later...

E' successo qualcosa che ha unito più script assieme. In realtà, infatti, dovrebbero essere almeno due e non uno solo come appare nel post . . .

 

Comunque, se guardi la data, è una versione piuttosto vecchia, risalente al 2007.

 

Ti fornirei un link alla versione più recente, la 12.3, ma non vorrei spammare . . .

 

Ti conviene cercare in rete Animated Battlers Enhanced DerWulfman . . .

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...