[EDIT]
Apparently, Str33 Battle skins script is incompatible with Tankentai's Action Battle timer script. WHY???? That doesn't make sense at all, can I fix it??
Here's the ST33 Script:
The ATB scripts are too long to post here, so you would have to go to http://www.rpgmakervx.net/index.php?showtopic=3781
Anyway, This is really getting on my nerves. Why won't these two work together?
It just changes the HUD for battles right? Why should that affect my Action Battle Timer Script?
~I did it for you but use code tags next time. o:
Apparently, Str33 Battle skins script is incompatible with Tankentai's Action Battle timer script. WHY???? That doesn't make sense at all, can I fix it??
Here's the ST33 Script:
Code:
#==============================================================================
# �–� Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Selectable
# Skin File name
BTSKIN_00 = "Btskin_main" # Main Skin
BTSKIN_01 = "Btskin_hp" # HP(Gauge)
BTSKIN_02 = "Btskin_mp" # MP(Gauge)
BTSKIN_04 = "Btskin_n00" # HP(Numbers)
BTSKIN_05 = "Btskin_n00" # MP(Numbers)
BTSKIN_03 = "Btskin_state" # State
# Skin coordinates[ x, y]
BTSKIN_B_XY = [-155, -16] # �Ÿ��–座�™
BTSKIN_00XY = [ 0, 0] #Main Skin
BTSKIN_01XY = [ 1, 8] # HP(gauge)
BTSKIN_02XY = [ 4, 24] # MP(gauge)
BTSKIN_04XY = [ 22, -6] # HP(numbers)
BTSKIN_05XY = [ 22, 20] # MP(numbers)
BTSKIN_03XY = [3, 31] # �‚��ƒ†�ƒ��ƒˆ�‚��‚��ƒ�
BTSKIN_06XY = [85, 35] # �‚��ƒ†�ƒ��ƒˆ
# Various Settings
BTSKIN_01GS = 2 # HP Gauge Speed (Low values are fast)
BTSKIN_02GS = 4 # MP Gauge Speed(Low values are fast)
BTSKIN_04SS = 8 # HP Rolling Numbers Speed(Low values are fast)
BTSKIN_05SS = 2 # MP Rolling Numbers Speed(Low values are fast)
BTSKIN_04NS = 4 # HP Maximum Digits
BTSKIN_05NS = 4 # MP Maximum Digits
BTSKIN_06WH = [22,22] # [State Width, Height]
BTSKIN_06SC = 2 # State Icon Scroll Speed
# (Values close to 1 are fast)
# �ƒ��ƒˆ�ƒ��‚��ƒ†�ƒ��‚��‚�座�™
def set_xy
@x = []
@y = []
for i in 0...$game_party.members.size
x = (i * 135) + 40
y = 3
@x[i] = x + 176#+ STRRGSS2::ST_SX
@y[i] = y + 16#+ STRRGSS2::ST_SY
end
end
# 設�š�‡�‰€�“�“まで
@@f = false
#--------------------------------------------------------------------------
# �˜… �‚��‚��ƒ��‚��‚�
#--------------------------------------------------------------------------
alias initialize_str33 initialize
def initialize(f = false)
initialize_str33
unless @@f
@f = @@f = true
else
@f = false
end
set_xy
@s_sprite = []
@s_party = []
@s_lv = []
@opacity = 0
self.contents.dispose
self.create_contents
self.back_opacity = 0
self.opacity = 0
#@column_max = $game_party.actors.size
@viewport = Viewport.new(0, 480-128, 640, 128)
@hpgw = (Cache.system(BTSKIN_01)).width
@mpgw = (Cache.system(BTSKIN_02)).width
@viewport.z = self.z - 1
@state_opacity = []
@item_max = $game_party.members.size
return unless @f
for i in 0...@item_max
draw_item(i)
end
update
end
#--------------------------------------------------------------------------
# �—� �ƒ��ƒ•�ƒ��ƒƒ�‚��ƒ�潰�—
#--------------------------------------------------------------------------
def refresh
# :-)
end
#--------------------------------------------------------------------------
# �—� �‚��ƒ†�ƒ��ƒˆの描�”�
#--------------------------------------------------------------------------
def draw_actor_state(actor)
icon = Cache.system("Iconset")
w = actor.states.size * 24
w = 24 if w < 1
bitmap = Bitmap.new(w, BTSKIN_06WH[1])
count = 0
for state in actor.states
icon_index = state.icon_index
x = 24 * count
rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
bitmap.blt(x, 0, icon, rect)
count += 1
end
return bitmap
end
#--------------------------------------------------------------------------
# �—� 名�‰��œ�ˆ�
#--------------------------------------------------------------------------
def name_bitmap(actor)
bitmap = Bitmap.new(100, 24)
bitmap.font.size = 20
bitmap.draw_text_f(-4, 40, 100, 24, actor.name)
return bitmap
end
#--------------------------------------------------------------------------
# �—� �‚��ƒ†�ƒ��ƒˆ�•��–�—
#--------------------------------------------------------------------------
def state_size(actor)
return actor.states.size
end
#--------------------------------------------------------------------------
# �—� �‚��‚��ƒ†�ƒ��œ�ˆ�
#--------------------------------------------------------------------------
def draw_item(index)
return unless @f
actor = $game_party.members[index]
#
@s_sprite[index] = []
s = @s_sprite[index]
# �ƒ��‚��ƒ��‚��‚��ƒ�
s[0] = Sprite.new(@viewport)
s[0].bitmap = Cache.system(BTSKIN_00)
s[0].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_00XY[0]
s[0].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_00XY[1]
s[0].z = 0
# HP
s[1] = Sprite.new(@viewport)
s[1].bitmap = Cache.system(BTSKIN_01)
s[1].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
s[1].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
s[1].z = 4
w = s[1].bitmap.width
h = s[1].bitmap.height / 2
s[1].src_rect.set(0, 0, w, h)
s[2] = Sprite.new(@viewport)
s[2].bitmap = Cache.system(BTSKIN_01)
s[2].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
s[2].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
s[2].z = 3
s[2].src_rect.set(0, h, w, h)
s[11] = 96
s[6] = Sprite_strNumbers.new(@viewport, BTSKIN_04, BTSKIN_04NS)
s[6].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_04XY[0]
s[6].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_04XY[1]
s[6].z = 5
s[13] = actor.hp
s[6].update(s[13])
# MP
s[3] = Sprite.new(@viewport)
s[3].bitmap = Cache.system(BTSKIN_02)
s[3].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
s[3].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
s[3].z = 4
w = s[3].bitmap.width
h = s[3].bitmap.height / 2
s[3].src_rect.set(0, 0, w, h)
s[4] = Sprite.new(@viewport)
s[4].bitmap = Cache.system(BTSKIN_02)
s[4].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
s[4].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
s[4].z = 3
s[4].src_rect.set(0, h, w, h)
s[12] = 56
s[7] = Sprite_strNumbers.new(@viewport, BTSKIN_05, BTSKIN_05NS)
s[7].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_05XY[0]
s[7].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_05XY[1]
s[7].z = 5
s[14] = actor.mp
s[7].update(s[14])
# �‚��ƒ†�ƒ��ƒˆ
s[5] = Viewport.new(0, 0, BTSKIN_06WH[0], BTSKIN_06WH[1])
s[5].rect.x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_06XY[0] + @viewport.rect.x
s[5].rect.y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_06XY[1] + @viewport.rect.y
s[5].z = @viewport.z + 1
s[8] = Sprite.new(@viewport)
s[8].bitmap = Cache.system(BTSKIN_03)
s[8].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_03XY[0]
s[8].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_03XY[1]
s[8].z = -2
s[9] = Plane.new(s[5])
s[9].bitmap = draw_actor_state(actor)
s[10] = state_size(actor)
# 現�œ�の�‚��ƒ†�ƒ��‚��‚�に
s[11] = ((@hpgw * (actor.hp / (actor.maxhp * 1.0))) + 1).truncate
if actor.maxmp != 0
s[12] = ((@mpgw * (actor.mp / (actor.maxmp * 1.0))) + 1).truncate
else
s[12] = 0
end
s[15] = Sprite.new(@viewport)
s[15].bitmap = name_bitmap(actor)
s[15].x = @x[index] + 4
s[15].y = @y[index] + 2
s[15].z = 255
s[1].src_rect.width = s[11]
s[2].src_rect.width = s[11]
s[3].src_rect.width = s[12]
s[4].src_rect.width = s[12]
s[6].update(s[13])
s[7].update(s[14])
# 不可�–に
for l in [0,1,2,3,4,8,9,15]
s[l].opacity = 0
end
for l in [6,7]
s[l].o = 0
end
# �ƒ…報�˜�†�(actor, x, y, size = 151)
@s_lv[index] = actor.level
@s_party[index] = [actor.name, actor.hp, actor.maxhp,
actor.mp, actor.maxmp, actor.states]
#
x = index * 161 - 20
y = 90
s[16] = Sprite.new
s[16].bitmap = Cache.system("HUD_" + actor.name)
s[16].x = @x[index] + 25 - 210
s[16].y = @y[index] + -4 + 243
s[16].z = 0
end
#--------------------------------------------------------------------------
# �—� �‚��ƒ–�‚��‚��‚��ƒˆ�–‹�”�
#--------------------------------------------------------------------------
def dispose
super
return unless @f
for i in 0...@s_sprite.size
for l in [0,1,2,3,4,8,9,15,16]
@s_sprite[i][l].bitmap.dispose
@s_sprite[i][l].dispose
end
for l in [5,6,7]
@s_sprite[i][l].dispose
end
end
@@f = false
end
#--------------------------------------------------------------------------
# �—� �ƒ•�ƒ��ƒ��ƒ��›��–�
#--------------------------------------------------------------------------
def update
super
return unless @f
for i in 0...@s_sprite.size
s = @s_sprite[i]
a = $game_party.members[i]
m = @s_party[i]
@state_opacity[i] = 0 if @state_opacity[i] == nil
# 不�€��˜Ž度�‚��ƒƒ�ƒ—
@state_opacity[i] += 8
if @opacity < 272
@opacity += 8
for l in [0,1,2,3,4,15]
s[l].opacity = @opacity
end
for l in [6,7]
s[l].o = @opacity
end
end
# 名�‰��›��–�
if a.name != m[0]
s[15].bitmap.dispose
s[15].bitmap = name_bitmap(a)
m[0] = a.name
end
# HP/MP�›��–�
update_hp(s,a,m)
update_mp(s,a,m)
# �‚��ƒ†�ƒ��ƒˆ�›��–�
if s[10] > BTSKIN_06WH[0] / 24 and (Graphics.frame_count % BTSKIN_06SC) == 0
s[9].ox += 1
end
if s[10] > 0 and @state_opacity[i] < 272
for l in [8,9]
s[l].opacity = @state_opacity[i]
end
end
if a.states != m[5]
m[5] = a.states
s[9].ox = 0
s[9].bitmap.dispose
s[9].bitmap = draw_actor_state($game_party.members[i])
s[10] = state_size($game_party.members[i])
@state_opacity[i] = 0
for l in [8,9]
s[l].opacity = @state_opacity[i]
end
end
end
end
#--------------------------------------------------------------------------
# �—� �ƒ•�ƒ��ƒ��ƒ��›��–� (HP)
#--------------------------------------------------------------------------
def update_hp(s,a,m)
# HPく�‚‹く�‚‹
if a.hp != s[13]
c = 0; c = 1 if a.hp < a.maxhp / 4; c = 2 if a.hp == 0
if s[13] > a.hp
s[13] -= BTSKIN_04SS
s[13] = a.hp if s[13] < a.hp
else
s[13] += BTSKIN_04SS
s[13] = a.hp if s[13] > a.hp
end
s[6].update(s[13], c)
end
# HP
if a.hp != m[1]
s[11] = ((@hpgw * (a.hp / (a.maxhp * 1.0))) + 1).truncate
m[1] = a.hp
end
sr = s[1].src_rect
if sr.width != s[11]
sp = BTSKIN_01GS
sr.width = (s[11] + (s[1].src_rect.width * (sp - 1))) / sp
sr.width = 2 if sr.width <= 1 and a.hp > 0
end
sr = s[2].src_rect
sp = 2
if sr.width != s[1].src_rect.width and (Graphics.frame_count % sp) == 0
if sr.width < s[1].src_rect.width
sr.width += 1
else
sr.width -= 1
end
end
sr.width = 2 if sr.width <= 1 and a.hp > 0
end
#--------------------------------------------------------------------------
# �—� �ƒ•�ƒ��ƒ��ƒ��›��–� (MP)
#--------------------------------------------------------------------------
def update_mp(s,a,m)
# MPく�‚‹く�‚‹
if a.mp != s[14]
c = 0; c = 1 if a.mp < a.maxmp / 4
if s[14] > a.mp
s[14] -= BTSKIN_05SS
s[14] = a.mp if s[14] < a.mp
else
s[14] += BTSKIN_05SS
s[14] = a.mp if s[14] > a.mp
end
s[7].update(s[14], c)
end
# MP
if a.mp != m[3]
if a.maxmp != 0
s[12] = ((@mpgw * (a.mp / (a.maxmp * 1.0))) + 1).truncate
else
s[12] = 0
end
m[3] = a.mp
end
sr = s[3].src_rect
if sr.width != s[12]
sp = BTSKIN_02GS
sr.width = (s[12] + (s[3].src_rect.width * (sp - 1))) / sp
sr.width = 2 if sr.width <= 1 and a.mp > 0
end
sr = s[4].src_rect
sp = 2
if sr.width != s[3].src_rect.width and (Graphics.frame_count % sp) == 0
if sr.width < s[3].src_rect.width
sr.width += 1
else
sr.width -= 1
end
end
sr.width = 2 if sr.width <= 1 and a.mp > 0
end
end
#==============================================================================
# �–� Sprite_strNumber
#==============================================================================
class Sprite_strNumber < Sprite
#--------------------------------------------------------------------------
# �—� �‚��ƒ–�‚��‚��‚��ƒˆ�ˆ��œŸ�Œ–
#--------------------------------------------------------------------------
def initialize(v, gra, n = 0)
@n = n
super(v)
self.bitmap = Cache.system(gra)
@w = self.bitmap.width/10
@h = self.bitmap.height/3
self.src_rect = Rect.new(@n*@w, 0, @w, @h)
end
#--------------------------------------------------------------------------
# �—� �ƒ•�ƒ��ƒ��ƒ��›��–�
#--------------------------------------------------------------------------
def update(n = -1, c = 0)
@n = n
self.src_rect.x = @n*@w
self.src_rect.y = c*@h
end
end
#==============================================================================
# �–� Sprite_strNumbers
#==============================================================================
class Sprite_strNumbers
attr_accessor :x
attr_accessor :y
attr_accessor :z
attr_accessor :o
#--------------------------------------------------------------------------
# �—� �‚��ƒ–�‚��‚��‚��ƒˆ�ˆ��œŸ�Œ–
#--------------------------------------------------------------------------
def initialize(v, gra, n = 4, s = 0)
@n = n # 桁�•�
@x = 0
@y = 0
@z = 0
@o = 255
@sprite = []
# �—�–“設�š
b = Cache.system(gra)
@s = b.width / 10 - s
# �‚��ƒ—�ƒ��‚��ƒˆ�œ�ˆ�
for i in 0...n
@sprite[i] = Sprite_strNumber.new(v, gra)
end
update
end
#--------------------------------------------------------------------------
# �—� �ƒ•�ƒ��ƒ��ƒ��›��–�
#--------------------------------------------------------------------------
def update(v = 0, c = 0)
val = []
# �•��€��‚’�…��ˆ—に格納
for i in 0...@n
if (10 ** (i)) == 0
val[i] = v % 10
else
val[i] = v / (10 ** (i)) % 10
end
end
val = val.reverse
# �…ˆ頭の0�‚’�–�‚Š�™�く
for i in 0...@n
if val[i] == 0 and @n != i + 1
val[i] = -1
else
break
end
end
# �‚��ƒ—�ƒ��‚��ƒˆ�›��–�
for i in 0...@n
@sprite[i].update(val[i], c)
@sprite[i].x = @x + (i * @s)
@sprite[i].y = @y
@sprite[i].z = @z
@sprite[i].opacity = @o
end
end
#--------------------------------------------------------------------------
# �—� 不�€��˜Ž度の適�”�
#--------------------------------------------------------------------------
def o=(val)
@o = val
for i in 0...@n
@sprite[i].opacity = @o
end
end
#--------------------------------------------------------------------------
# �—� �‚��ƒ–�‚��‚��‚��ƒˆ�–‹�”�
#--------------------------------------------------------------------------
def dispose
for i in [email=0...@sprite.size]0...@sprite.size[/email]
@sprite[i].bitmap.dispose
@sprite[i].dispose
end
end
end
#==============================================================================
# �–� Bitmap
#==============================================================================
# This script controls the shadow behind actor names for *STR33g1_Battle Status.
class Bitmap
#--------------------------------------------------------------------------
# �—� �–‡�—縁�–�‚Š描�”�
#--------------------------------------------------------------------------
def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
shadow = self.font.shadow
b_color = self.font.color.dup
font.shadow = true
font.color = color
draw_text(x + 1, y, width, height, str, align)
draw_text(x - 1, y, width, height, str, align)
draw_text(x, y + 1, width, height, str, align)
draw_text(x, y - 1, width, height, str, align)
font.color = b_color
draw_text(x, y, width, height, str, align)
font.shadow = shadow
end
def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
end
end
The ATB scripts are too long to post here, so you would have to go to http://www.rpgmakervx.net/index.php?showtopic=3781
Anyway, This is really getting on my nerves. Why won't these two work together?
It just changes the HUD for battles right? Why should that affect my Action Battle Timer Script?
~I did it for you but use code tags next time. o: