lol, gone
Graphics Link
The page you are looking for is temporarily unavailable.
Please try again later.
Can you please upload another one?
-Keanu
OK buddy, there you go. *points to first post under "Demo"*
Yay thanks :D
Hey, I should name myself teh problem finder.
I went into menu, then options. then went to change my skin. And basicly, I got this error?
What do I do?
Quote
@options_window.current_skin = (@options_window.current_skin + 1) % 8
-Keanu
What does the error do? How does the error message look like?
Err.. Completly closes the test of the game. And the error message looks like a Windows one (In the box)
-Keanu
Post the message text.
oooo oooo I get to solve a problem
I got the same problem then I realized something
you need to import the stuff into the games resources and after that it works
oh and set window skin to one of blizzard's
also I dunno where we would be without blizzard
Edit: now I gotta go and make faces for all my characters
blizzard can you repost the link cause when i go to file save it says HTTP not alive, cheers.
just redownloaded it and it works fine for me...
use the StormTronics CMS v4.0b - Nemesis Edition link, you can get the script from its script editor and the graphics are in the folders that it comes with
Savefile is a little bit unstabile the last days. It´s fine right now, try to download it again.
hello again blizzard :),
i got a problem which i need the front for this script. and i dont know how to add and get this front plz repliy.
i know im a noob...
thanks
Do you actually want to ADD a font or do you want to REPLACE one? Or do you need the font to install it in Windows?
i need the front because i get this error which has to do with the front i dont have, like you said on your insturtion.
(Don´t forget to include the font files used by the game in your game folder)
I´ll upload the font files for you later.
i didnt say this but this
GREAT DAMN SCRIPT!
just tell me where to place it cuz. the data thing (the maker thing)wont open due to compatibilaty of version
Make a new project and raplace the Game.rxproj with the one from the new project. Most likely you will also need to Change RGSS102E.dll to RGSS100J.dll in the Game.ini. That´s it.
thank you blizzard, i will be waiting:).
(can u give me an estimate time when you will upload it?)
Omg...OMG OMG OMG OMG!!!!!! :o THIS IS AWESOME!!! *uses for game*
can you upload it today? :) ;) :D ;D :( :o 8) ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ???
sorry if i made it sound like im pushing you..
never mind everybody i made it.
#--------------------------------------------------------------------------
# * Draws Shaded Text
#--------------------------------------------------------------------------
def shade_text(x,y,sx,sy,text,align=0)
skip = 2 #decrease to smoothen the shade transition
src_bitmap = Bitmap.new(sx,sy)
src_bitmap.font = self.contents.font
h = (sy/skip)
cs = 40
for i in 0..h
src_bitmap.font.color.red += src_bitmap.font.color.red==0 ? 0 : i<=(h/2) ? cs : -cs
src_bitmap.font.color.green += src_bitmap.font.color.green==0 ? 0 : i<=(h/2) ? cs : -cs
src_bitmap.font.color.blue += src_bitmap.font.color.blue==0 ? 0 : i<=(h/2) ? cs : -cs
src_bitmap.draw_text(0, 0, sx, sy, text, align)
src_rect = Rect.new(0,i*skip,sx,skip)
self.contents.blt(x, y+i*skip, src_bitmap, src_rect)
src_bitmap.clear
end
end
Sorry, I wasn´t able to do it yesterday. You still need it or did you solve your problem?
EDIT: Here are the font files. Copy them into your WINDOWS\Fonts folder and confirm thew installation.
http://www.megaupload.com/?d=9QP25CDL
i sloved the problem thanks,
anyway can you tell me how come my music on rpg maker doesnt work only system ones work, i checked already that it works not with rpg maker but with window midia player, it was working yesterday..... it isnt because of the script, i know because i tried a game without a script.
plz answer
System BGMs override yours. You need to change the common event that changes the Battle BGM. I was asked a few times, why didn´t I put it into the script, but in a common event. 2 reasons:
1. A lot harder to make.
2. When you change during an event to a boss battle BGM, you just call the event and it automatically resets the BGM to the user´s most recent setting.
can you tell me at more detial so i can change so i can hear sounds !!?:) cheers maeet
Can you tell me, what exactly does not work? BGM, BGS, ME and/or SE? And when (Map, Battle, Menu etc.)? Does other music play instead or none at all?
Blizzard, I just want you to know...that this Menu System rules. Dunno what would we would do without you. I've been looking round these forums for aaaaaaaages now and I've only just decided to join, but I've seen you do loads of great things. Keep up the good work ;)
hello egain blizzard :),
well yay the bmg files, on rpg maker when you test sound it doesnt work... i turned on all of the things in volum control and it still doesnt work but whe ni use window media player it works, i tried it on my other pc and it worked on rpg maker also, the time it didnt play bgm( midi) files was when i just entered the script, im not blaming the script because i tried on another computer im just saying how did it turned off? (this computer did played bmg files before)
cheers!!!
by the way: your the best script writer in the world as i knw your cool!!!
edit:And also i found a bug ( well not quite a bug its like unknow to you so its not quite a bug) on soul range thing, i posted it here ause you maybe will not look at the form post again, well anyway here it is, i got a script which will not mix up with soul range, if mixed up it will not use the other script feature and you get turns everytime where the other oppment doesnt get any go. here's the script.
#==============================================================================
# ¦ New_Battle
#------------------------------------------------------------------------------
# Compiled By : MakirouAru
#==============================================================================
# ¥£¥ XRXS_BP 3. Ÿ—˜ŽžHP‰ñ•œ ver.1.01 ¥£¥
# by fukuyama, ÷‰ë Ý"y
# Battle_End_Recovery
#
# í"¬Œã,̉ñ•œˆ—ƒ,ƒWƒ...[ƒ‹
#
# Request: stay
# Script: fukuyama
# Test: ƒmƒRƒmŽq
#
# URL: http://www4.big.or.jp/~fukuyama/rgss/Battle_End_Recovery.txt
#
module Battle_End_Recovery
module Scene_Battle_Module
# ‰ñ•œ—¦•Ï",ÌID
@@recovery_rate_variable_id = nil
# ‰ñ•œ—¦,ÌŽæ"¾
def battle_end_recovery_rate
if @@recovery_rate_variable_id.nil?
@@recovery_rate_variable_id =
$data_system.variables.index 'í"¬Œã,̉ñ•œ—¦'
if @@recovery_rate_variable_id.nil?
@@recovery_rate_variable_id = false
end
end
return 0 unless @@recovery_rate_variable_id
return $game_variables[@@recovery_rate_variable_id]
end
# í"¬Œã,̉ñ•œˆ—
def battle_end_recovery
# ‰ñ•œ—¦
recovery_rate = battle_end_recovery_rate
# ‰ñ•œ—¦•Ï",ª,OˆÈŠO,©,ƒAƒNƒ^[,ª¶'¶,µ,Ä,¢,éê‡Aí"¬Œã,̉ñ•œˆ—,ðs,¤
if recovery_rate != 0 and not actor.dead?
# ƒp[ƒeƒB,̃AƒNƒ^[–ˆ,Ƀ‹[ƒv
$game_party.actors.each do |actor|
# ‰ñ•œ—ÊŒvŽZ
recovery_hp = (actor.maxhp / 100.0 * recovery_rate).truncate
recovery_sp = (actor.maxsp / 100.0 * recovery_rate).truncate
# ŽÀÛ,ɉñ•œ
actor.hp += recovery_hp
actor.sp += recovery_sp
# ƒAƒjƒ[ƒVƒ‡ƒ"Ý'è
actor.damage = - recovery_hp
actor.damage_pop = true
end
# ƒXƒe[ƒ^ƒXƒEƒBƒ"ƒhƒE,ðXV
@status_window.refresh
end
end
end # module Scene_Battle_Module
end # module Battle_End_Recovery
#------------------------------
# í"¬ƒV[ƒ",ÌÄ'è‹`
#------------------------------
class Scene_Battle
# Scene_Battle—pƒ,ƒWƒ...[ƒ‹,ðƒCƒ"ƒNƒ‹[ƒh
include Battle_End_Recovery::Scene_Battle_Module
# Œ³,̃tƒF[ƒY,TŠJŽn,ɕʖ¼,ð,Â,¯,é
alias battle_end_recovery_original_start_phase5 start_phase5
# ƒtƒF[ƒY,TŠJŽn,ðÄ'è‹`
def start_phase5
# í"¬Œã,̉ñ•œˆ—,ðŒÄ,Ño,·
battle_end_recovery
# Œ³,̃tƒF[ƒY,TŠJŽn,ðŒÄ,Ño,·
battle_end_recovery_original_start_phase5
end
end
# Battle_End_Recovery
# ¥£¥ XRXS_BP10. LEVEL UP!ƒEƒBƒ"ƒhƒE ¥£¥
# by ÷‰ë Ý"y
$data_system_level_up_se = "" # ƒŒƒxƒ‹ƒAƒbƒvSEB"",Å–³,µB
$data_system_level_up_me = "Audio/ME/007-Fanfare01" # ƒŒƒxƒ‹ƒAƒbƒvME
#==============================================================================
# ¡ Window_LevelUpWindow
#------------------------------------------------------------------------------
# @ƒoƒgƒ‹I—¹ŽžAƒŒƒxƒ‹ƒAƒbƒv,µ,½ê‡,ɃXƒe[ƒ^ƒX,ð•\ަ,·,éƒEƒBƒ"ƒhƒE,Å,·B
#==============================================================================
class Window_LevelUpWindow < Window_Base
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
super(0, 128, 160, 192)
self.contents = Bitmap.new(width - 32, height - 32)
self.visible = false
refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
end
#--------------------------------------------------------------------------
# œ ƒŠƒtƒŒƒbƒVƒ...
#--------------------------------------------------------------------------
def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
self.contents.clear
self.contents.font.color = system_color
self.contents.font.name = "Arial"
self.contents.font.size = 14
self.contents.draw_text( 0, 0, 160, 24, "LEVEL UP!!")
self.contents.font.size = 18
self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
self.contents.font.size = 14
self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
self.contents.draw_text(92, 0, 128, 24, "¨")
self.contents.draw_text(76, 28, 128, 24, "=")
self.contents.draw_text(76, 50, 128, 24, "=")
self.contents.draw_text(76, 72, 128, 24, "=")
self.contents.draw_text(76, 94, 128, 24, "=")
self.contents.draw_text(76, 116, 128, 24, "=")
self.contents.draw_text(76, 138, 128, 24, "=")
self.contents.font.color = normal_color
self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
self.contents.font.size = 20
self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
end
end
#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# œ 'ljÁEŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï"
#--------------------------------------------------------------------------
attr_accessor :level_up_flags # LEVEL UP!•\ަ
end
#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# œ 'ljÁEŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï"
#--------------------------------------------------------------------------
attr_accessor :exp_gain_ban # EXPŽæ"¾ˆêŽž‹ÖŽ~
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
alias xrxs_bp10_initialize initialize
def initialize
@exp_gain_ban = false
xrxs_bp10_initialize
end
#--------------------------------------------------------------------------
# œ ƒXƒe[ƒg [EXP ,ðŠl"¾,Å,«,È,¢] "»'è
#--------------------------------------------------------------------------
alias xrxs_bp10_cant_get_exp? cant_get_exp?
def cant_get_exp?
if @exp_gain_ban == true
return true
else
return xrxs_bp10_cant_get_exp?
end
end
end
#==============================================================================
# ¡ Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# œ ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp10_start_phase5 start_phase5
def start_phase5
# EXP Šl"¾‹ÖŽ~
for i in 0...$game_party.actors.size
$game_party.actors[i].exp_gain_ban = true
end
xrxs_bp10_start_phase5
# EXP Šl"¾‹ÖŽ~,̉ðœ
for i in 0...$game_party.actors.size
$game_party.actors[i].exp_gain_ban = false
end
# EXP,ð‰Šú‰»
@exp_gained = 0
for enemy in $game_troop.enemies
# Šl"¾ EXP,ð'ljÁ # ƒGƒlƒ~[,ª‰B,êó'Ô,Å,È,¢ê‡
@exp_gained += enemy.exp if not enemy.hidden
end
# Ý'è
@phase5_step = 0
@exp_gain_actor = -1
# ƒŠƒUƒ‹ƒgƒEƒBƒ"ƒhƒE,ð•\ަ
@result_window.y -= 64
@result_window.visible = true
# ƒŒƒxƒ‹ƒAƒbƒv"»'è,Ö
phase5_next_levelup
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒY)
#--------------------------------------------------------------------------
alias xrxs_bp10_update_phase5 update_phase5
def update_phase5
case @phase5_step
when 1
update_phase5_step1
else
xrxs_bp10_update_phase5
# ƒŒƒxƒ‹ƒAƒbƒv,µ,Ä,¢,éê‡,Í‹§ƒoƒgƒ‹I—¹
battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
end
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒY 1 : ƒŒƒxƒ‹ƒAƒbƒv)
#--------------------------------------------------------------------------
def update_phase5_step1
# C ƒ{ƒ^ƒ",ª‰Ÿ,³,ê,½ê‡
if Input.trigger?(Input::C)
# ƒEƒBƒ"ƒhƒE,ð•Â,¶,ÄŽŸ,̃AƒNƒ^[,Ö
@levelup_window.visible = false if @levelup_window != nil
@status_window.level_up_flags[@exp_gain_actor] = false
phase5_next_levelup
end
end
#--------------------------------------------------------------------------
# œ ŽŸ,̃AƒNƒ^[,̃Œƒxƒ‹ƒAƒbƒv•\ަ,Ö
#--------------------------------------------------------------------------
def phase5_next_levelup
begin
# ŽŸ,̃AƒNƒ^[,Ö
@exp_gain_actor += 1
# ÅŒã,̃AƒNƒ^[,Ìê‡
if @exp_gain_actor >= $game_party.actors.size
# ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
@phase5_step = 0
return
end
actor = $game_party.actors[@exp_gain_actor]
if actor.cant_get_exp? == false
# Œ»Ý,Ì"\—Í'l,ð•ÛŽ
last_level = actor.level
last_maxhp = actor.maxhp
last_maxsp = actor.maxsp
last_str = actor.str
last_dex = actor.dex
last_agi = actor.agi
last_int = actor.int
# ŒoŒ±'lŽæ"¾,ÌŒˆ'è"IuŠÔ("ä
actor.exp += @exp_gained
# "»'è
if actor.level > last_level
# ƒŒƒxƒ‹ƒAƒbƒv,µ,½ê‡
@status_window.level_up(@exp_gain_actor)
if $data_system_level_up_se != ""
Audio.se_stop
Audio.se_play($data_system_level_up_se)
end
if $data_system_level_up_me != ""
Audio.me_stop
Audio.me_play($data_system_level_up_me)
end
@levelup_window = Window_LevelUpWindow.new(actor, last_level,
actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
@levelup_window.x = 160 * @exp_gain_actor
@levelup_window.visible = true
@phase5_wait_count = 40
@phase5_step = 1
# ƒXƒe[ƒ^ƒXƒEƒBƒ"ƒhƒE,ðƒŠƒtƒŒƒbƒVƒ...
@status_window.refresh
return
end
end
end until false
end
end
# ¥£¥ XRXS_17. ƒXƒŠƒbƒvƒ_ƒ[ƒW–hŒä^Œø‰Ê—ÊÚ׉» ver.1.51 ¥£¥
# by ÷‰ë Ý"y, fukuyama
#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# œ ƒXƒŠƒbƒvƒ_ƒ[ƒW,ÌŒø‰Ê"K—p
#--------------------------------------------------------------------------
alias xrxs_bp7_slip_damage_effect slip_damage_effect
def slip_damage_effect
# "'l,̉Šú‰»
slip_damage_percent = 0
slip_damage_plus = 0
# Œ»Ý•t‰Á,³,ê,Ä,¢,éƒXƒe[ƒg,Ì'†,©,çƒXƒŠƒbƒvƒ_ƒ[ƒW—L,è,̃,ƒm,ð'T,·
for i in @states
if $data_states[i].slip_damage
# ,»,̃Xƒe[ƒg,ªŽ,Á,Ä,¢,éƒXƒŠƒbƒvƒ_ƒ[ƒW,Ì
# Lvƒvƒ‰ƒXƒXƒe[ƒg,Ü,½,ÍLvƒ}ƒCƒiƒXƒXƒe[ƒg,ð"»'èB
for j in $data_states[i].plus_state_set
if $data_states[j] != nil
if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|")/
slip_damage_percent += $1.to_i
elsif $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
slip_damage_plus += $1.to_i
end
end
end
for j in $data_states[i].minus_state_set
if $data_states[j] != nil
if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|")/
slip_damage_percent -= $1.to_i
elsif $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
slip_damage_plus -= $1.to_i
end
end
end
end
end
if slip_damage_percent == 0 and slip_damage_plus == 0
xrxs_bp7_slip_damage_effect
else
# –h‹ï,ªƒXƒŠƒbƒv–hŒä,ª, ,éê‡,ð"»'è
for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
armor = $data_armors[i]
next if armor == nil
for j in armor.guard_state_set
if $data_states[j] != nil
if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|")/
if slip_damage_percent > 0
slip_damage_percent = [slip_damage_percent - $1.to_i, 0].max
end
end
if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
if slip_damage_percent > 0
slip_damage_plus = [slip_damage_plus - $1.to_i, 0].max
end
end
end
end
end
# ƒ_ƒ[ƒW,ðÝ'è
self.damage = self.maxhp * slip_damage_percent / 100 + slip_damage_plus
# •ªŽU
if self.damage.abs > 0
amp = [self.damage.abs * 15 / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# HP ,©,çƒ_ƒ[ƒW,ðŒ¸ŽZ
self.hp -= self.damage
# ƒƒ\ƒbƒhI—¹
return true
end
end
end
# ¥£¥ XRXS_BP 1. CP§"±"ü ver.15 ¥£¥
# by ÷‰ë Ý"y, ˜aŠó, Jack-R
#==============================================================================
# ¡ Scene_Battle_CP
#==============================================================================
class Scene_Battle_CP
#--------------------------------------------------------------------------
# œ ŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï"
#--------------------------------------------------------------------------
attr_accessor :stop # CP‰ÁŽZƒXƒgƒbƒv
#----------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg,̉Šú‰»
#----------------------------------------------------------------------------
def initialize
@battlers = []
@cancel = false
@agi_total = 0
# "z—ñ @count_battlers ,ð‰Šú‰»
@count_battlers = []
# ƒGƒlƒ~[,ð"z—ñ @count_battlers ,É'ljÁ
for enemy in $game_troop.enemies
@count_battlers.push(enemy)
end
# ƒAƒNƒ^[,ð"z—ñ @count_battlers ,É'ljÁ
for actor in $game_party.actors
@count_battlers.push(actor)
end
for battler in @count_battlers
@agi_total += battler.agi
end
for battler in @count_battlers
battler.cp = [[65535 * (rand(15) + 85) / 100 * battler.agi / @agi_total * 4, 0].max, 65535].min
end
end
#----------------------------------------------------------------------------
# œ CPƒJƒEƒ"ƒg,ÌŠJŽn
#----------------------------------------------------------------------------
def start
if @cp_thread != nil then
return
end
@cancel = false
@stop = false
# ,±,±,©,çƒXƒŒƒbƒh
@cp_thread = Thread.new do
while @cancel != true
if @stop != true
self.update # XV
sleep(0.05)
end
end
end
# ,±,±,Ü,ŃXƒŒƒbƒh
end
#----------------------------------------------------------------------------
# œ CPƒJƒEƒ"ƒgƒAƒbƒv
#----------------------------------------------------------------------------
def update
if @count_battlers != nil then
for battler in @count_battlers
# s"®o—ˆ,È,¯,ê,Ζ³Ž‹
if battler.dead? == true #or battler.movable? == false then
battler.cp = 0
next
end
# ,±,±,Ì 1.3,ð•Ï,¦,é,±,Æ,Å«ƒXƒs[ƒh,ð•ÏX‰Â"\B,½,¾,µ¬""_,ÍŽg—p,·,é,±,ÆB
battler.cp = [[battler.cp + 1.3 * 4096 * battler.agi / @agi_total, 0].max, 65535].min
end
end
end
#----------------------------------------------------------------------------
# œ CPƒJƒEƒ"ƒg,ÌŠJŽn
#----------------------------------------------------------------------------
def stop
@cancel = true
if @cp_thread != nil then
@cp_thread.join
@cp_thread = nil
end
end
end
#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
attr_accessor :now_guarding # Œ»Ý–hŒä'†ƒtƒ‰ƒO
attr_accessor :cp # Œ»ÝCP
attr_accessor :slip_state_update_ban # ƒXƒŠƒbƒvEƒXƒe[ƒgŽ©"®ˆ—,̋֎~
#--------------------------------------------------------------------------
# œ ƒRƒ}ƒ"ƒh"ü—͉Â"\"»'è
#--------------------------------------------------------------------------
def inputable?
return (not @hidden and restriction <= 1 and @cp >=65535)
end
#--------------------------------------------------------------------------
# œ ƒXƒe[ƒg [ƒXƒŠƒbƒvƒ_ƒ[ƒW] "»'è
#--------------------------------------------------------------------------
alias xrxs_bp1_slip_damage? slip_damage?
def slip_damage?
return false if @slip_state_update_ban
return xrxs_bp1_slip_damage?
end
#--------------------------------------------------------------------------
# œ ƒXƒe[ƒgŽ©'R‰ðœ (ƒ^[ƒ",²,Æ,ÉŒÄ,Ño,µ)
#--------------------------------------------------------------------------
alias xrxs_bp1_remove_states_auto remove_states_auto
def remove_states_auto
return if @slip_state_update_ban
xrxs_bp1_remove_states_auto
end
end
#==============================================================================
# ¡ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# œ ƒZƒbƒgƒAƒbƒv
#--------------------------------------------------------------------------
alias xrxs_bp1_setup setup
def setup(actor_id)
xrxs_bp1_setup(actor_id)
@hate = 100 # init-value is 100
@cp = 0
@now_guarding = false
@slip_state_update_ban = false
end
end
#==============================================================================
# ¡ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
alias xrxs_bp1_initialize initialize
def initialize(troop_id, member_index)
xrxs_bp1_initialize(troop_id, member_index)
@hate = 100 # init-value is 100
@cp = 0
@now_guarding = false
@slip_state_update_ban = false
end
end
#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# œ ŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï"
#--------------------------------------------------------------------------
attr_accessor :update_cp_only # CPƒ[ƒ^[,Ì,Ý,ÌXV
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
alias xrxs_bp1_initialize initialize
def initialize
@update_cp_only = false
xrxs_bp1_initialize
end
#--------------------------------------------------------------------------
# œ ƒŠƒtƒŒƒbƒVƒ...
#--------------------------------------------------------------------------
alias xrxs_bp1_refresh refresh
def refresh
if @update_cp_only == false
xrxs_bp1_refresh
end
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
actor_x = i * 160 + 4
draw_actor_cp_meter(actor, actor_x, 96, 120, 0)
end
end
#--------------------------------------------------------------------------
# œ CPƒ[ƒ^[ ,Ì•`‰æ
#--------------------------------------------------------------------------
def draw_actor_cp_meter(actor, x, y, width = 156, type = 0)
self.contents.font.color = system_color
self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
if actor.cp == nil
actor.cp = 0
end
w = width * [actor.cp,65535].min / 65535
self.contents.fill_rect(x, y+28, w,1, Color.new(255, 255, 128, 255))
self.contents.fill_rect(x, y+29, w,1, Color.new(255, 255, 0, 255))
self.contents.fill_rect(x, y+30, w,1, Color.new(192, 192, 0, 255))
self.contents.fill_rect(x, y+31, w,1, Color.new(128, 128, 0, 255))
end
end
#==============================================================================
# ¡ Scene_Battle
#==============================================================================
class Scene_Battle
# ,±,±,ÉŒø‰Ê‰¹,ðÝ'è,·,é,ÆAƒAƒNƒ^[ƒRƒ}ƒ"ƒh,ªƒ|ƒbƒv,µ,½,Æ,«,ÉŒø‰Ê‰¹,ðĶ
$data_system_command_up_se = ""
#--------------------------------------------------------------------------
# œ ƒoƒgƒ‹I—¹
# result : Œ‹‰Ê (0:Ÿ—˜ 1:"s–k 2:"¦'–)
#--------------------------------------------------------------------------
alias xrxs_bp1_battle_end battle_end
def battle_end(result)
# CPƒJƒEƒ"ƒg'âŽ~
@cp_thread.stop
xrxs_bp1_battle_end(result)
end
#--------------------------------------------------------------------------
# œ ƒvƒŒƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp1_start_phase1 start_phase1
def start_phase1
@agi_total = 0
@cp_thread = Scene_Battle_CP.new
# ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,ðÄì¬
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4, "Run"])
@actor_command_window.y = 128
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
@actor_command_window.draw_item(4, $game_temp.battle_can_escape ? @actor_command_window.normal_color : @actor_command_window.disabled_color)
xrxs_bp1_start_phase1
end
#--------------------------------------------------------------------------
# œ ƒp[ƒeƒBƒRƒ}ƒ"ƒhƒtƒF[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp1_start_phase2 start_phase2
def start_phase2
xrxs_bp1_start_phase2
@party_command_window.active = false
@party_command_window.visible = false
# ŽŸ,Ö
start_phase3
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒp[ƒeƒBƒRƒ}ƒ"ƒhƒtƒF[ƒY)
#--------------------------------------------------------------------------
alias xrxs_bp1_update_phase2 update_phase2
def update_phase2
# C ƒ{ƒ^ƒ",ª‰Ÿ,³,ê,½ê‡
if Input.trigger?(Input::C)
# ƒp[ƒeƒBƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,̃J[ƒ\ƒ‹ˆÊ'u,Å•ªŠò
case @party_command_window.index
when 0 # í,¤
# Œˆ'è SE ,ð‰‰'t
$game_system.se_play($data_system.decision_se)
@cp_thread.start
# ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒtƒF[ƒYŠJŽn
start_phase3
end
return
end
xrxs_bp1_update_phase2
end
#--------------------------------------------------------------------------
# œ ŽŸ,̃AƒNƒ^[,̃Rƒ}ƒ"ƒh"ü—Í,Ö
#--------------------------------------------------------------------------
def phase3_next_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[,Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ÅŒã,̃AƒNƒ^[,Ìê‡
if @actor_index == $game_party.actors.size-1
# ƒƒCƒ"ƒtƒF[ƒYŠJŽn
@cp_thread.start
start_phase4
return
end
# ƒAƒNƒ^[,̃Cƒ"ƒfƒbƒNƒX,ði,ß,é
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
if @active_battler.inputable? == false
@active_battler.current_action.kind = -1
end
# ƒAƒNƒ^[,ªƒRƒ}ƒ"ƒh"ü—Í,ðŽó,¯•t,¯,È,¢ó'Ô,È,ç,à,¤ˆê"x
end until @active_battler.inputable?
@cp_thread.stop
# ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,ðƒZƒbƒgƒAƒbƒv
@active_battler.now_guarding = false
phase3_setup_command_window
end
#--------------------------------------------------------------------------
# œ 'O,̃AƒNƒ^[,̃Rƒ}ƒ"ƒh"ü—Í,Ö
#--------------------------------------------------------------------------
def phase3_prior_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[,Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ʼn,̃AƒNƒ^[,Ìê‡
if @actor_index == 0
# ʼn,Ö–ß,é
start_phase3
return
end
# ƒAƒNƒ^[,̃Cƒ"ƒfƒbƒNƒX,ð–ß,·
@actor_index -= 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# ƒAƒNƒ^[,ªƒRƒ}ƒ"ƒh"ü—Í,ðŽó,¯•t,¯,È,¢ó'Ô,È,ç,à,¤ˆê"x
end until @active_battler.inputable?
@cp_thread.stop
# ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,ðƒZƒbƒgƒAƒbƒv
@active_battler.now_guarding = false
phase3_setup_command_window
end
#--------------------------------------------------------------------------
# œ ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,̃ZƒbƒgƒAƒbƒv
#--------------------------------------------------------------------------
alias xrxs_bp1_phase3_setup_command_window phase3_setup_command_window
def phase3_setup_command_window
# Œø‰Ê‰¹,ÌĶ
Audio.se_play($data_system_command_up_se) if $data_system_command_up_se != ""
# –ß,·
xrxs_bp1_phase3_setup_command_window
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒtƒF[ƒY : Šî–{ƒRƒ}ƒ"ƒh)
#--------------------------------------------------------------------------
alias xrxs_bsp1_update_phase3_basic_command update_phase3_basic_command
def update_phase3_basic_command
# C ƒ{ƒ^ƒ",ª‰Ÿ,³,ê,½ê‡
if Input.trigger?(Input::C)
# ƒAƒNƒ^[ƒRƒ}ƒ"ƒhƒEƒBƒ"ƒhƒE,̃J[ƒ\ƒ‹ˆÊ'u,Å•ªŠò
case @actor_command_window.index
when 4 # "¦,°,é
if $game_temp.battle_can_escape
# Œˆ'è SE ,ð‰‰'t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ",ðÝ'è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 4
# ŽŸ,̃AƒNƒ^[,̃Rƒ}ƒ"ƒh"ü—Í,Ö
phase3_next_actor
else
# ƒuƒU[ SE ,ð‰‰'t
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
xrxs_bsp1_update_phase3_basic_command
end
#--------------------------------------------------------------------------
# œ ƒƒCƒ"ƒtƒF[ƒYŠJŽn
#--------------------------------------------------------------------------
alias xrxs_bp1_start_phase4 start_phase4
def start_phase4
xrxs_bp1_start_phase4
# ƒGƒlƒ~[ƒAƒNƒVƒ‡ƒ"ì¬
for enemy in $game_troop.enemies
if enemy.cp < 65535
enemy.current_action.clear
enemy.current_action.kind = -1 # ƒ^[ƒ""ò,Î,µB
next
end
enemy.make_action
end
# s"®‡˜ì¬
make_action_orders
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒƒCƒ"ƒtƒF[ƒY ƒXƒeƒbƒv 1 : ƒAƒNƒVƒ‡ƒ"€"õ)
#--------------------------------------------------------------------------
alias xrxs_bp1_update_phase4_step1 update_phase4_step1
def update_phase4_step1
# ‰Šú‰»
@phase4_act_continuation = 0
# Ÿ"s"»'è
if judge
@cp_thread.stop
# Ÿ—˜,Ü,½,Í"s–k,Ìê‡ : ƒƒ\ƒbƒhI—¹
return
end
# –¢s"®ƒoƒgƒ‰["z—ñ,Ìæ"ª,©,çŽæ"¾
@active_battler = @action_battlers[0]
# ƒXƒe[ƒ^ƒXXV,ðCP,¾,¯,ÉŒÀ'èB
@status_window.update_cp_only = true
# ƒXƒe[ƒgXV,ð‹ÖŽ~B
@active_battler.slip_state_update_ban = true if @active_battler != nil
# –ß,·
xrxs_bp1_update_phase4_step1
# ‹ÖŽ~,ð‰ðœ
@status_window.update_cp_only = false
@active_battler.slip_state_update_ban = false if @active_battler != nil
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒƒCƒ"ƒtƒF[ƒY ƒXƒeƒbƒv 2 : ƒAƒNƒVƒ‡ƒ"ŠJŽn)
#--------------------------------------------------------------------------
alias xrxs_bp1_update_phase4_step2 update_phase4_step2
def update_phase4_step2
# ‹§ƒAƒNƒVƒ‡ƒ",Å,È,¯,ê,Î
unless @active_battler.current_action.forcing
# CP,ª'«,è,Ä,¢,È,¢ê‡
if @phase4_act_continuation == 0 and @active_battler.cp < 65535
@phase4_step = 6
return
end
# §–ñ,ª ["G,ð'ÊíUŒ,,·,é] ,© [–¡•û,ð'ÊíUŒ,,·,é] ,Ìê‡
if @active_battler.restriction == 2 or @active_battler.restriction == 3
# ƒAƒNƒVƒ‡ƒ",ÉUŒ,,ðÝ'è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
# §–ñ,ª [s"®,Å,«,È,¢] ,Ìê‡
if @active_battler.restriction == 4
# ƒAƒNƒVƒ‡ƒ"‹§'ÎÛ,̃oƒgƒ‰[,ðƒNƒŠƒA
$game_temp.forcing_battler = nil
if @phase4_act_continuation == 0 and @active_battler.cp >= 65535
# ƒXƒe[ƒgŽ©'R‰ðœ
@active_battler.remove_states_auto
# CPÁ"ï
@active_battler.cp = [(@active_battler.cp - 65535),0].max
# ƒXƒe[ƒ^ƒXƒEƒBƒ"ƒhƒE,ðƒŠƒtƒŒƒbƒVƒ...
@status_window.refresh
end
# ƒXƒeƒbƒv 1 ,ɈÚs
@phase4_step = 1
return
end
end
# ƒAƒNƒVƒ‡ƒ",ÌŽí•Ê,Å•ªŠò
case @active_battler.current_action.kind
when 0
# UŒ,¥–hŒäE"¦,°,éE‰½,à,µ,È,¢Žž,Ì‹¤'ÊÁ"ïCP
@active_battler.cp -= 0 if @phase4_act_continuation == 0
when 1
# ƒXƒLƒ‹Žg—pŽž,ÌÁ"ïCP
@active_battler.cp -= 65535 if @phase4_act_continuation == 0
when 2
# ƒAƒCƒeƒ€Žg—pŽž,ÌÁ"ïCP
@active_battler.cp -= 65535 if @phase4_act_continuation == 0
when -1
# CP,ª—,Ü,Á,Ä,¢,È,¢
@phase4_step = 6
return
end
# CP‰ÁŽZ,ðˆêŽž'âŽ~,·,é
@cp_thread.stop = true
# ƒXƒe[ƒgŽ©'R‰ðœ
@active_battler.remove_states_auto
xrxs_bp1_update_phase4_step2
end
#--------------------------------------------------------------------------
# œ Šî–{ƒAƒNƒVƒ‡ƒ" Œ‹‰Êì¬
#--------------------------------------------------------------------------
alias xrxs_bp1_make_basic_action_result make_basic_action_result
def make_basic_action_result
# UŒ,,Ìê‡
if @active_battler.current_action.basic == 0 and @phase4_act_continuation == 0
@active_battler.cp -= 65535 # UŒ,Žž,ÌCPÁ"ï
end
# –hŒä,Ìê‡
if @active_battler.current_action.basic == 1 and @phase4_act_continuation == 0
@active_battler.cp -= 32767 # –hŒäŽž,ÌCPÁ"ï
end
# "G,Ì"¦,°,é,Ìê‡
if @active_battler.is_a?(Game_Enemy) and
@active_battler.current_action.basic == 2 and @phase4_act_continuation == 0
@active_battler.cp -= 65535 # "¦'–Žž,ÌCPÁ"ï
end
# ‰½,à,µ,È,¢,Ìê‡
if @active_battler.current_action.basic == 3 and @phase4_act_continuation == 0
@active_battler.cp -= 32767 # ‰½,à,µ,È,¢Žž,ÌCPÁ"ï
end
# "¦,°,é,Ìê‡
if @active_battler.current_action.basic == 4 and @phase4_act_continuation == 0
@active_battler.cp -= 65535 # "¦'–Žž,ÌCPÁ"ï
# "¦'–‰Â"\,Å,Í,È,¢ê‡
if $game_temp.battle_can_escape == false
# ƒuƒU[ SE ,ð‰‰'t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ'è SE ,ð‰‰'t
$game_system.se_play($data_system.decision_se)
# "¦'–ˆ—
update_phase2_escape
return
end
xrxs_bp1_make_basic_action_result
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒƒCƒ"ƒtƒF[ƒY ƒXƒeƒbƒv 5 : ƒ_ƒ[ƒW•\ަ)
#--------------------------------------------------------------------------
alias xrxs_bp1_update_phase4_step5 update_phase4_step5
def update_phase4_step5
# ƒXƒŠƒbƒvƒ_ƒ[ƒW
if @active_battler.hp > 0 and @active_battler.slip_damage?
@active_battler.slip_damage_effect
@active_battler.damage_pop = true
end
xrxs_bp1_update_phase4_step5
end
#--------------------------------------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒƒCƒ"ƒtƒF[ƒY ƒXƒeƒbƒv 6 : ƒŠƒtƒŒƒbƒVƒ...)
#--------------------------------------------------------------------------
alias xrxs_bp1_update_phase4_step6 update_phase4_step6
def update_phase4_step6
# CP‰ÁŽZ,ðÄŠJ,·,é
@cp_thread.stop = false
# ƒwƒ‹ƒvƒEƒBƒ"ƒhƒE,ð‰B,·
@help_window.visible = false
xrxs_bp1_update_phase4_step6
end
end
# ¥£¥ XRXS_BP 7. ƒoƒgƒ‹ƒXƒe[ƒ^ƒXEƒNƒŠƒAƒfƒUƒCƒ" ver.1.02 ¥£¥
# by ÷‰ë Ý"y, TOMY
#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# œ ŒöŠJƒCƒ"ƒXƒ^ƒ"ƒX•Ï"
#--------------------------------------------------------------------------
attr_accessor :update_cp_only # CPƒ[ƒ^[,Ì,Ý,ÌXV
#--------------------------------------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#--------------------------------------------------------------------------
alias xrxs_bp7_initialize initialize
def initialize
xrxs_bp7_initialize
# «Full-View,Ìê‡,͉º"ñs,Ì # ,ðÁ,µ,Ä,,¾,³,¢B
#self.opacity = 0
#self.back_opacity = 0
end
#--------------------------------------------------------------------------
# œ ƒŠƒtƒŒƒbƒVƒ...
#--------------------------------------------------------------------------
alias xrxs_bp7_refresh refresh
def refresh
if @update_cp_only
xrxs_bp7_refresh
return
end
# •`ŽÊ,ð‹ÖŽ~,µ,È,ª,ç–ß,·
@draw_ban = true
xrxs_bp7_refresh
# •`ŽÊ,̋֎~,ð‰ðœ
@draw_ban = false
# •`ŽÊ,ðŠJŽn
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
actor_x = i * 160 + 21
# •àsƒLƒƒƒ‰ƒOƒ‰ƒtƒBƒbƒN,Ì•`ŽÊ
draw_actor_graphic(actor, actor_x - 9, 116)
# HP/SPƒ[ƒ^[,Ì•`ŽÊ
draw_actor_hp_meter_line(actor, actor_x, 72, 96, 12)
draw_actor_sp_meter_line(actor, actor_x, 104, 96, 12)
# HP"'l,Ì•`ŽÊ
self.contents.font.size = 24 # HP/SP"'l,Ì•¶Žš,Ì'å,«,³
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
draw_shadow_text(actor_x-2, 58, 96, 24, actor.hp.to_s, 2)
# SP"'l,Ì•`ŽÊ
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
draw_shadow_text(actor_x-2, 90, 96, 24, actor.sp.to_s, 2)
# —pŒêuHPv,Æ—pŒêuSPv,Ì•`ŽÊ
self.contents.font.size = 12 # —pŒêuHP/SPv,Ì•¶Žš,Ì'å,«,³
self.contents.font.color = system_color # —pŒêuHP/SPv,Ì•¶Žš,ÌF
draw_shadow_text(actor_x, 60, 96, 12, $data_system.words.hp)
draw_shadow_text(actor_x, 92, 96, 12, $data_system.words.sp)
draw_actor_state(actor, actor_x, 100)
end
end
end
#==============================================================================
# ¡ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# œ HPƒ[ƒ^[ ,Ì•`‰æ
#--------------------------------------------------------------------------
def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
w = width * actor.hp / actor.maxhp
hp_color_1 = Color.new(255, 0, 0, 192)
hp_color_2 = Color.new(255, 255, 0, 192)
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
x -= 1
y += (height/4).floor
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
end
#--------------------------------------------------------------------------
# œ SPƒ[ƒ^[ ,Ì•`‰æ
#--------------------------------------------------------------------------
def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
w = width * actor.sp / actor.maxsp
hp_color_1 = Color.new( 0, 0, 255, 192)
hp_color_2 = Color.new( 0, 255, 255, 192)
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
x -= 1
y += (height/4).floor
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
x -= 1
y += (height/4).ceil
self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
end
#--------------------------------------------------------------------------
# œ –¼'O,Ì•`‰æ
#--------------------------------------------------------------------------
alias xrxs_bp7_draw_actor_name draw_actor_name
def draw_actor_name(actor, x, y)
xrxs_bp7_draw_actor_name(actor, x, y) if @draw_ban != true
end
#--------------------------------------------------------------------------
# œ ƒXƒe[ƒg,Ì•`‰æ
#--------------------------------------------------------------------------
alias xrxs_bp7_draw_actor_state draw_actor_state
def draw_actor_state(actor, x, y, width = 120)
xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
end
#--------------------------------------------------------------------------
# œ HP ,Ì•`‰æ
#--------------------------------------------------------------------------
alias xrxs_bp7_draw_actor_hp draw_actor_hp
def draw_actor_hp(actor, x, y, width = 144)
xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
end
#--------------------------------------------------------------------------
# œ SP ,Ì•`‰æ
#--------------------------------------------------------------------------
alias xrxs_bp7_draw_actor_sp draw_actor_sp
def draw_actor_sp(actor, x, y, width = 144)
xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
end
end
#==============================================================================
# ž ŠO•"ƒ‰ƒCƒuƒ‰ƒŠ
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# œ ƒ‰ƒCƒ"•`‰æ by ÷‰ë Ý"y
#--------------------------------------------------------------------------
def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
# •`ŽÊ‹——£,ÌŒvŽZB'å,«,ß,É'¼ŠpŽž,Ì'·,³B
distance = (start_x - end_x).abs + (start_y - end_y).abs
# •`ŽÊŠJŽn
if end_color == start_color
for i in 1..distance
x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
self.contents.fill_rect(x, y, width, width, start_color)
end
else
for i in 1..distance
x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
r = start_color.red * (distance-i)/distance + end_color.red * i/distance
g = start_color.green * (distance-i)/distance + end_color.green * i/distance
b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
end
end
end
#--------------------------------------------------------------------------
# œ ‰e•¶Žš•`‰æ by TOMY
#--------------------------------------------------------------------------
def draw_shadow_text(x, y, width, height, string, align = 0)
# Œ³,ÌF,ð•Û'¶,µ,Ä,¨,
color = self.contents.font.color.dup
# •Žš,ʼne•`‰æ
self.contents.font.color = Color.new(0, 0, 0)
self.contents.draw_text(x + 2, y + 2, width, height, string, align)
# Œ³,ÌF,É–ß,µ,Ä•`‰æ
self.contents.font.color = color
self.contents.draw_text(x, y, width, height, string, align)
end
end
You need somebody to merge my SRS into your battle system. I´m not as active here as I used to be, so my time is even shorter than earlier.
Hey Blizard I got a problem with the scirpt somthing about File Graphics/Icons/Cms/Windowskin
Not Found. Then it closes the game.
you didn't put the windowskins into the windowskin folder
You are using a different skin, right? You need to make the "Original" skin as default skin in your Database.
Thanks that helped.
Also one more problem. I need lancer04 gunner01 devil03 hunter03 and a pirate characters for the menu you know where to get them?
you mean the faces?
I think so. If you want their faces right when you open the menu, just get the battler pic of those people and cut out a picture of their face or something. Then you put that inside the Faces Folder and name it the same name as those Characters thing. That's what I did with my characters.
Yeah the faces
Quote from: Starrodkirby86 on October 16, 2006, 02:15:44 AM
I think so. If you want their faces right when you open the menu, just get the battler pic of those people and cut out a picture of their face or something. Then you put that inside the Faces Folder and name it the same name as those Characters thing. That's what I did with my characters.
Just like he said, tdogg.
oh and use a program to remove the background
Quote from: thingy on October 16, 2006, 11:33:43 PM
oh and use a program to remove the background
I use photoshop to make it transparent. :D
*updates code and first post*
urm
File Graphics/ Pictures/ Menu/ Menu_Back not found or something
?_?
Think it would be possible to make this script able to hold more than 4 party members..? I'd love to use this menu, but I can't since it only allows for 4 party members.
I would do it myself, but due to shortage of time I can't. Sorry. :-\
Have you asked somebody on www.hbgames.org/forums ? They have many scripters there, maybe somebody might be able to help you.
me prob?
Problem, Blizzard! When i try to run the menu, i get this undefined 'fontname.' i really getting fed up because i always try scripts on a partice game and it always works. But when i stick it in my game, i getting font issues. What the hell is going on?
Hm, this is strange. I guess I'll have to fix that directly. Upload your Scripts.rxdata on www.savefile.com (it's in your Data folder) and post a link. I will fix it and upload it again, so you just have to paste it into your game and it will work. BTW, you have the legal version or one of the nor so legal version of RMXP?
Here you go: http://www.savefile.com/files/201968
I know I downloaded the program from this site.
Hey Blizz. I can't fix this! White outline thingy. I don't have any photo shops lol. I'm 13 and don't get an allownce so I gotta beg my parents for just to do one thing.
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg237.imageshack.us%2Fimg237%2F5059%2Fwhiteoutlinets8.th.jpg&hash=9882b7bca1f1b54c50da3a3ef347e2d7049be3b1)
Answered in the PM already. :)
How about me?
Quote from: Blizzard on November 13, 2006, 11:20:22 AM
Answered in the PM already. :)
Sorry Blizz I am an idiot but uhhh I dont see remove back round... I don't even see the folder I need to put it in.
Quote from: oneray on November 14, 2006, 12:23:12 AM
How about me?
I took a look at it, are you sure this is the correct Scripts.rxdata? There is no ST CMS in that file.
I am sure it is in there. I not can you please add it in. Thanks.
When I try to change the battle bmg it freezes and i can hear the sound but my menu actions do not show up on the screen when i exit the menu by pressing "x" it teleports me to another map
Whoa?
Quote from: bulls84 on November 15, 2006, 12:01:49 AM
When I try to change the battle bmg it freezes and i can hear the sound but my menu actions do not show up on the screen when i exit the menu by pressing "x" it teleports me to another map
Do the same like oneray. Just upload the Scripts.rxdata and I will take a look at it.
Quote from: Blizzard on November 15, 2006, 08:31:27 AM
Quote from: bulls84 on November 15, 2006, 12:01:49 AM
When I try to change the battle bmg it freezes and i can hear the sound but my menu actions do not show up on the screen when i exit the menu by pressing "x" it teleports me to another map
Do the same like oneray. Just upload the Scripts.rxdata and I will take a look at it.
nvm i fixed it
Hey blizz uhh I don't see a remove backround in my resource manager.
You need to delete it directly from the Graphics/Batllebacks folder located in your game folder. Then re-import it.
@Oneray: The logo script in your main script is causing the problem. Just remove it and use a better script like my Picture Movie Scene.
Blizzard, can you please fix my script and add the menu and battle sequence( the on in Chaos). I am really bad at scripts so can you do it for me please.
Is there a way so that the battle cam option would let me switch between the default view and the Advanced side-view battle system in the script database
It's a different script. That script doesn't have a configurableable option to disable it during the game as far as I know. It needs some scripting first.
@Oneray: Ok, no problem. But you will have to wait until monday, I'm gone during the weekend.
Thanks Blizzard. You rock! :-*
Quote from: Blizzard on November 16, 2006, 09:25:29 AM
You need to delete it directly from the Graphics/Batllebacks folder located in your game folder. Then re-import it.
Wha? I'm dumb im sorry blizz but delete what how!
Ok, step by step.
1) open your game folder
2) open Graphics
3) open Characters
4) find the character spriteset files that are causing the problem
5) move them into any other folder
6) run RMXP and open your project
7) left from the testplay button in the toolbar at the top of the window (on the right half of the screen) is something called resource manager, open it
8) click Import
9) browse for the character spritesets your just moved out of the Characters folder
10) click on them and open them that way
11) click on "Transparent color" and choose the visible background of the file
12) click OK and you are done
@oneray: Here you go. I put a Readme file in there, so you know what to do. Just download the attachment of this post.
I LOVE YOU! :-*
I like this..... would there be a way to replace the background with a picture instead of a window skin?
~Winged
*points to the Metal Plate Edition*
I've updated the code to v4.13b.
Quote from: Blizzard on November 20, 2006, 10:52:09 AM
Ok, step by step.
1) open your game folder
2) open Graphics
3) open Characters
4) find the character spriteset files that are causing the problem
5) move them into any other folder
6) run RMXP and open your project
7) left from the testplay button in the toolbar at the top of the window (on the right half of the screen) is something called resource manager, open it
8) click Import
9) browse for the character spritesets your just moved out of the Characters folder
10) click on them and open them that way
11) click on "Transparent color" and choose the visible background of the file
12) click OK and you are done
@oneray: Here you go. I put a Readme file in there, so you know what to do. Just download the attachment of this post.
Thanks so much Blizzard it worls now!
(http://C:%5CDocuments%20and%20Settings%5CTommy%20Hartsfield%5CMy%20Documents%5CMy%20Pictures%5CCMS.JPG)
Lol. Now one more problem... How do I get my quest items under the quest items menu section?
I still need to know how to get the quest items there but, how do i make the Battle BGM change? I went in through the RGSS editor but still don't know how.
There is a common event that you need for the Battle BGM changer. Just download the demo and copy paste it from the demo. To separate the items and quest items, just include the IDs of the quest items in the $quest_items array in the configuration.
Okay you made that sound esay thanks!
Lol it won't let me open the game. The cmmon evnt in mine doesnt work. I
copied and pasted just like u sai.
You also need to set up in the script so it knows which common event needs to be activated. I can't remember exactly, but I think it was COMMON_EVENT_ID = 1 or something similar. It's just under the instructions.
When is the script going to be avalible for public use? (if it already is then I need to look at stuff more)
It wouldn't be public if I hadn't posted it. Just download the script from the attachment from the first post. The first file is the demo, the second one is a .txt file with the script.
Well...I'm having a slight problem. The character faces all have white squares around them. How do I get rid of these annying things?
here's the screeny:
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg120.imageshack.us%2Fimg120%2F4158%2Fproblemsj2.th.png&hash=111df61df3de9d0cf89a4af84041251d0086ed42) (http://img120.imageshack.us/my.php?image=problemsj2.png)
you have to make the background on them transparent/translucent. You can do this with photoshop or a similar program.
yah i finally got this script working and now the saves dont load properly
i think something that was changed in script causes issues issues with my bank script
i get this error when i try and load the game
??Banking System'? 807 ??? EOEFrror ???????
end of file reached
i don't know anything about this scripting language so i was hoping i could get some help
BANK SCRIPT
#==============================================================================
# Banking System
#--------------------------------------------------------------------------
# Created By SephirothSpawn (12.03.05)
# Last Updated: 12.03.05
#==============================================================================
# add
#Font.default_name = "Tahoma"
#to the main script
#==============================================================================
# ** Scene_Title
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# * Alias Command: New Game
#--------------------------------------------------------------------------
alias bank_command_new_game command_new_game
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_new_game
$game_bank = Game_BankSystem.new
bank_command_new_game
end
end
#==============================================================================
# ** Window_RefreshCommand
#==============================================================================
class Window_RefreshCommand < Window_Selectable
#--------------------------------------------------------------------------
# * Object Initialization
# width : window width
# commands : command text string array
#--------------------------------------------------------------------------
def initialize(width, commands)
# Compute window height from command quantity
super(0, 0, width, commands.size * 32 + 32)
@item_max = commands.size
@commands = commands
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh(commands = @commands)
@commands = commands
@item_max = commands.size
if self.contents != nil
self.contents.dispose
self.contents = nil
end
self.contents = Bitmap.new(width - 32, @item_max * 32)
for i in 0...@item_max
draw_item(i, normal_color)
end
end
#--------------------------------------------------------------------------
# * Draw Item
# index : item number
# color : text color
#--------------------------------------------------------------------------
def draw_item(index, color)
self.contents.font.color = color
self.contents.draw_text(0, 32 * index, self.contents.width - 8, 32, @commands[index], 1)
end
#--------------------------------------------------------------------------
# * Disable Item
# index : item number
#--------------------------------------------------------------------------
def disable_item(index)
draw_item(index, disabled_color)
end
#--------------------------------------------------------------------------
# * Undisable Item
# index : item number
#--------------------------------------------------------------------------
def disable_item(index)
draw_item(index, normal_color)
end
end
#==============================================================================
# ** Game_BankSystem
#==============================================================================
class Game_BankSystem
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :account_balance
attr_accessor :interest_rate
attr_accessor :saving_bonds
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@account_balance = 0
@interest_rate = 10
@saving_bonds = []
@last_interest_time = 0
end
#--------------------------------------------------------------------------
# * Update
#--------------------------------------------------------------------------
def update
# Updates Deposited Amount
interest_time = (Graphics.frame_count / Graphics.frame_rate - @last_interest_time) / 3600.0
interest_amt = (@account_balance * @interest_rate / 100.0 * interest_time).to_i
if interest_amt > 0
@last_interest_time = Graphics.frame_count / Graphics.frame_rate
@account_balance += interest_amt
# Refreshes Data Windows
$scene.refresh_windows
end
end
#--------------------------------------------------------------------------
# * Deposit
#--------------------------------------------------------------------------
def deposit(amount)
$game_party.lose_gold(amount)
@account_balance += amount
end
#--------------------------------------------------------------------------
# * Withdraw
#--------------------------------------------------------------------------
def withdraw(amount)
@account_balance -= amount
$game_party.gain_gold(amount)
end
#--------------------------------------------------------------------------
# * Add Savings Bond
#--------------------------------------------------------------------------
def add_bond(bond)
@saving_bonds.push(bond)
@saving_bonds.sort! {|a, b| a.name <=> b.name}
end
end
#==============================================================================
# ** Savings_Bond
#==============================================================================
class Savings_Bond
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :name
attr_accessor :cost
attr_accessor :interest_rate
attr_accessor :length
attr_accessor :time_bought
attr_accessor :time_finished
attr_accessor :mature_value
#--------------------------------------------------------------------------
# * Object Initialization
# name : Savings Bond Name
# cost : Savings Bond Cost
# interest_rate : Savings Bond Interest Rate (In Percent)
# length : Length of Hours until Mature
#--------------------------------------------------------------------------
def initialize(name, cost, interest_rate, length)
@name = name
@cost = cost
@interest_rate = interest_rate
@length = length
@mature_value = (@cost * (1+ @interest_rate / 100.0)).to_i
end
#--------------------------------------------------------------------------
# * Set Times
#--------------------------------------------------------------------------
def set_times
@time_bought = Graphics.frame_count / Graphics.frame_rate
@time_finished = @time_bought + @length * 3600
end
#--------------------------------------------------------------------------
# * Make Time to HH:MM:SS
#--------------------------------------------------------------------------
def return_time(time)
hours = time / 60 / 60
minutes = time / 60 % 60
seconds = time % 60
return sprintf("%02d:%02d:%02d", hours, minutes, seconds)
end
end
#==============================================================================
# ** Window_BankNumber
#==============================================================================
class Window_BankNumber < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(640, 272, 240, 192)
self.opacity = 175
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------------
# * Refresh
# money : Gold being...
# type : Deposit or Withdraw
#--------------------------------------------------------------------------
def refresh(money, type)
contents.clear
# Deposit or Withdraw
contents.font.color = system_color
contents.draw_text(0, 0, contents.width, 24, "Amount to #{type}", 1)
if type == "Deposit"
# Draws Game Party Gold
contents.draw_text(4, 48, contents.width, 24, "Current #{$data_system.words.gold}:")
contents.font.color = normal_color
contents.draw_text(-4, 48, contents.width, 24, $game_party.gold.to_s, 2)
else
# Draws Account Balance
contents.draw_text(4, 48, contents.width, 24, "Account Balance:")
contents.font.color = normal_color
contents.draw_text(-4, 48, contents.width, 24, $game_bank.account_balance.to_s, 2)
end
# Draws Money Being Deposited or Withdrawn
contents.font.color = system_color
contents.draw_text(4, 72, contents.width, 24, "#{type} Amount:")
contents.font.color = normal_color
contents.draw_text(-4, 72, contents.width, 24, "- #{money}", 2)
# Draws Line
line = ""
while contents.text_size(line).width < contents.width
line += "-"
end
contents.draw_text(0, 96, contents.width, 24, line, 2)
# Draws Game Party Gold Amont
contents.font.color = system_color
contents.draw_text(4, 112, contents.width, 32, "#{$data_system.words.gold} After:")
amount = $game_party.gold
amount += type == "Deposit" ? -money : money
contents.font.color = normal_color
contents.draw_text(-4, 112, contents.width, 32, amount.to_s, 2)
# Draws Deposit Amont
amount = $game_bank.account_balance
amount += type == "Deposit" ? money : -money
contents.font.color = system_color
contents.draw_text(4, 136, contents.width, 32, "Balance After:")
contents.font.color = normal_color
contents.draw_text(-4, 136, contents.width, 32, amount.to_s, 2)
end
end
#==============================================================================
# ** Window_BankBio
#==============================================================================
class Window_BankBio < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(-240, 272, 240, 192)
self.opacity = 175
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
contents.clear
# Deposit or Withdraw
contents.font.color = system_color
# Draws Actor Name in Postition 1
contents.font.color = normal_color
contents.draw_text(0, 0, contents.width, 24, "#{$game_party.actors[0].name}", 1)
# Draws Game Party Gold
contents.font.color = system_color
contents.draw_text(4, 32, contents.width, 24, "Current #{$data_system.words.gold}:")
contents.font.color = normal_color
contents.draw_text(-4, 32, contents.width, 24, $game_party.gold.to_s, 2)
# Draws Account Balance
contents.font.color = system_color
contents.draw_text(4, 56, contents.width, 24, "Account Balance:")
contents.font.color = normal_color
contents.draw_text(-4, 56, contents.width, 24, $game_bank.account_balance.to_s, 2)
# Draws Number of Savings Bond's
contents.font.color = system_color
contents.draw_text(4, 80, contents.width, 24, "Bonds Owned:")
contents.font.color = normal_color
contents.draw_text(-4, 80, contents.width, 24, $game_bank.saving_bonds.size.to_s, 2)
# Draws Value of Savings Bond's
value = 0
$game_bank.saving_bonds.each { |x| value += x.mature_value}
contents.font.color = system_color
contents.draw_text(4, 104, contents.width, 24, "Bonds Value:")
contents.font.color = normal_color
contents.draw_text(-4, 104, contents.width, 24, value.to_s, 2)
# Draws Current Interest Rate
contents.font.color = system_color
contents.draw_text(4, 136, contents.width, 24, "Interest Rate:")
contents.font.color = normal_color
contents.draw_text(-4, 136, contents.width, 24, "#{$game_bank.interest_rate} %", 2)
end
end
#==============================================================================
# ** Window_Bond
#==============================================================================
class Window_Bond < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(-240, 264, 240, 200)
self.opacity = 175
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------------
# * Refresh
# bond : Savings Bond
#--------------------------------------------------------------------------
def refresh(bond, bought = false)
contents.clear
unless bond == nil
# Draws Bond Name
contents.font.color = system_color
contents.draw_text(0, 0, contents.width, 24, bond.name, 1)
# Draws Bond Cost
contents.font.color = system_color
contents.draw_text(4, 24, contents.width, 24, "Bond Cost:")
contents.font.color = normal_color
contents.draw_text(-4, 24, contents.width, 24, bond.cost.to_s, 2)
# Draws Bond Mature Value
contents.font.color = system_color
contents.draw_text(4, 48, contents.width, 24, "Mature Value:")
contents.font.color = normal_color
contents.draw_text(-4, 48, contents.width, 24, "#{bond.mature_value}", 2)
# Draws Bond Interest Rate
contents.font.color = system_color
contents.draw_text(4, 72, contents.width, 24, "Interest Rate:")
contents.font.color = normal_color
contents.draw_text(-4, 72, contents.width, 24, "#{bond.interest_rate} %", 2)
# Draws Length until Maturity
contents.font.color = system_color
contents.draw_text(4, 96, contents.width, 24, "Maturity Time:")
contents.font.color = normal_color
contents.draw_text(-4, 96, contents.width, 24, "#{bond.length} Hours", 2)
# Display only if Purchased CD
if bought
# Draws Time Bought
contents.font.color = system_color
contents.draw_text(4, 120, contents.width, 24, "Time Bought:")
contents.font.color = normal_color
contents.draw_text(-4, 120, contents.width, 24, bond.return_time(bond.time_bought), 2)
# Draws Time Finished
contents.font.color = system_color
contents.draw_text(4, 144, contents.width, 24, "Time Finished:")
contents.font.color = normal_color
contents.draw_text(-4, 144, contents.width, 24, bond.return_time(bond.time_finished), 2)
end
end
end
end
#==============================================================================
# ** Scene_Bank
#==============================================================================
class Scene_Bank
#--------------------------------------------------------------------------
# * Object Initialization
# interest rate : Changes Current Interest Rate (Leave 0 for no Change)
# bonds : Avaliable CD's For Purchasing
#--------------------------------------------------------------------------
def initialize(interest_rate = $game_bank.interest_rate,
bonds = [ Savings_Bond.new("CD-7", 100, 7.5, 7), Savings_Bond.new("CD-14", 500, 15, 14)])
$game_bank.interest_rate = interest_rate unless interest_rate == 0
@bonds = bonds
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Current Phase
@phase = -1
# Refreshing Variables
@amount, @depositing = 0, true
@current_bond, @bond_bought = nil, false
# Make sprite set
@spriteset = Spriteset_Map.new
# Help Window
@help_window = Window_Help.new
@help_window.y, @help_window.opacity = -64, 175
@help_window.set_text("Welcome to the Bank", 1)
# Bank Bio
@bank_bio_window = Window_BankBio.new
# Avaliable Bond Information Display Window
@av_bond_display_window = Window_Bond.new
# Owned Bond Information Display Window
@own_bond_display_window = Window_Bond.new
# Main Command
@main_command = Window_RefreshCommand.new(180, [
"Deposit #{g_word = $data_system.words.gold}",
"Withdraw #{g_word}", "Purchase Bond", "Get Mature Bond", "Exit"])
@main_command.x, @main_command.y, @main_command.opacity = 644, 272, 175
@main_command.active = false
# Bank Number Window
@bank_number_window = Window_BankNumber.new
# Avaliable Bonds Command
commands = []
@bonds.each {|x| commands.push(x.name)}; commands.push("Back")
@av_bond_command = Window_RefreshCommand.new(180, commands)
@av_bond_command.x, @av_bond_command.y = 644, 272
@av_bond_command.height, @av_bond_command.opacity = 192, 175
@av_bond_command.active = false
# CD's Have
@own_bond_command = Window_RefreshCommand.new(180, get_cd_list)
@own_bond_command.x, @own_bond_command.y = 644, 272
@own_bond_command.height, @own_bond_command.opacity = 192, 175
@own_bond_command.active = false
# Scene Objects
@objects = [@spriteset, @help_window, @bank_bio_window, @av_bond_display_window,
@own_bond_display_window, @main_command, @bank_number_window,
@av_bond_command, @own_bond_command]
# Execute transition
Graphics.transition
# Main loop
while $scene == self
# Update game screen
Graphics.update
# Update input information
Input.update
# Update Objects
@objects.each {|x| x.update}
# Updates Bank System
$game_bank.update
# Frame update
update
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@objects.each {|x| x.dispose}
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Splits Phases Up
case @phase
when -1 # Intro Phase
intro_update
when 0 # Main Phase
main_update
when 1 # Deposit or Withdraw Phase
account_update
when 2 # Buy CD Phase
buy_bond_update
when 3 # Get Mature CD Phse
get_bond_update
when 99 # Exit Phase
exit_update
end
end
#--------------------------------------------------------------------------
# * Intro Update
#--------------------------------------------------------------------------
def intro_update
# Moves Window Down
@help_window.y += 4 if @help_window.y < 0
if @help_window.y == 0
# Input Processing
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
# Returns to Scene
@phase = 99
elsif Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
# Switchs to Main Phase
@phase = 0
end
end
end
#--------------------------------------------------------------------------
# * Main Update
#--------------------------------------------------------------------------
def main_update
# Turns On Main Command
@main_command.active = true
# Turns Off Other Command Windows
@av_bond_command.active = @own_bond_command.active = false
# Moves In Active Windows
@bank_bio_window.z = @main_command.z = 9999
@bank_bio_window.x += 32 if @bank_bio_window.x < 16
@main_command.x -= 25 if @main_command.x > 444
# Moves Out Inactive Windows
@av_bond_display_window.x -= 32 if @av_bond_display_window.x > - 240
[@av_bond_display_window, @own_bond_display_window, @bank_number_window,
@av_bond_command, @own_bond_command].each {|window| window.z = 9995}
[@av_bond_command, @own_bond_command].each {|command|
command.x += 25 if command.x < 644}
@own_bond_display_window.x -= 25 if @own_bond_display_window.x > - 240
@bank_number_window.x += 32 if @bank_number_window.x < 640
# Sets Help Window
case @main_command.index
when 0; @help_window.set_text("Deposit Money Into your Account", 1)
when 1; @help_window.set_text("Withdraw Money From your Account", 1)
when 2; @help_window.set_text("Purchase a Savings Bond", 1)
when 3; @help_window.set_text("Take Out Mature Savings Bond", 1)
when 4; @help_window.set_text("Exit Bank", 1)
end
# Input Processing
if Input.trigger?(Input::B) # Returns to Map
$game_system.se_play($data_system.cancel_se)
@phase = 99
elsif Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
case @main_command.index
when 0 # Deposit
@amount, @depositing = 0, true
refresh_windows
@help_window.set_text("Deposit #{@amount} #{$data_system.words.gold}", 1)
@phase = 1
when 1 # Withdraw
@amount, @depositing = 0, false
refresh_windows
@help_window.set_text("Withdraw #{@amount} #{$data_system.words.gold}", 1)
@phase = 1
when 2 # Buy CD
@current_bond = @bonds[@av_bond_command.index]
@bond_bought = false
refresh_windows
@phase = 2
when 3 # Get CD
@current_bond = $game_bank.saving_bonds[@own_bond_command.index]
@bond_bought = true
refresh_windows
@phase = 3
when 4 # Exit Bank
@phase = 99
end
end
end
#--------------------------------------------------------------------------
# * Accpunt Update
#--------------------------------------------------------------------------
def account_update
# Turns Off Command Windows
@main_command.active = @av_bond_command.active = @own_bond_command.active = false
# Moves In Active Windows
@bank_bio_window.z = @bank_number_window.z = 9999
@bank_bio_window.x += 32 if @bank_bio_window.x < 16
@bank_number_window.x -= 32 if @bank_number_window.x > 384
# Moves Out Inactive Windows
@av_bond_display_window.z = @own_bond_display_window.z =
@main_command.z = @av_bond_command.z = @own_bond_command.z = 9995
@av_bond_display_window.x -= 32 if @av_bond_display_window.x > - 240
[@own_bond_display_window].each {|window| window.x -= 25 if window.x > - 240}
[@main_command, @av_bond_command, @own_bond_command].each {|command|
command.x += 25 if command.x < 644}
# Input Processing
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@phase = 0
elsif Input.trigger?(Input::C)
$game_system.se_play($data_system.shop_se)
if @depositing
$game_bank.deposit(@amount)
refresh_windows
@phase = 0
else
$game_bank.withdraw(@amount)
refresh_windows
@phase = 0
end
elsif Input.repeat?(Input::LEFT) && Input.press?(Input::LEFT)
if @amount > 0
$game_system.se_play($data_system.cursor_se)
@amount -= 1
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
elsif Input.repeat?(Input::RIGHT) && Input.press?(Input::RIGHT)
if @depositing
if @amount < $game_party.gold
$game_system.se_play($data_system.cursor_se)
@amount += 1
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
else
if @amount < $game_bank.account_balance
$game_system.se_play($data_system.cursor_se)
@amount += 1
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
end
elsif Input.repeat?(Input::UP) && Input.press?(Input::UP)
if @amount == 0
$game_system.se_play($data_system.buzzer_se)
else
$game_system.se_play($data_system.cursor_se)
@amount > 10 ? @amount -= 10 : @amount = 0
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
end
elsif Input.repeat?(Input::DOWN) && Input.press?(Input::DOWN)
if @depositing
if @amount < $game_party.gold
$game_system.se_play($data_system.cursor_se)
@amount < $game_party.gold - 10 ? @amount += 10 : @amount = $game_party.gold
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
else
if @amount < $game_bank.account_balance
$game_system.se_play($data_system.cursor_se)
@amount < $game_bank.account_balance - 10 ? @amount += 10 : @amount = $game_bank.account_balance
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
end
elsif Input.repeat?(Input::L) && Input.press?(Input::L)
if @amount == 0
$game_system.se_play($data_system.buzzer_se)
else
$game_system.se_play($data_system.cursor_se)
@amount > 100 ? @amount -= 100 : @amount = 0
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
end
elsif Input.repeat?(Input::R) && Input.press?(Input::R)
if @depositing
if @amount < $game_party.gold
$game_system.se_play($data_system.cursor_se)
@amount < $game_party.gold - 100 ? @amount += 100 : @amount = $game_party.gold
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
else
if @amount < $game_bank.account_balance
$game_system.se_play($data_system.cursor_se)
@amount < $game_bank.account_balance - 100 ? @amount += 100 : @amount = $game_bank.account_balance
refresh_windows
@help_window.set_text("#{@depositing ? 'Deposit' : 'Withdraw'} #{@amount} #{$data_system.words.gold}", 1)
else
$game_system.se_play($data_system.buzzer_se)
end
end
end
end
#--------------------------------------------------------------------------
# * Buy Bond Update
#--------------------------------------------------------------------------
def buy_bond_update
# Turns On Avaliable Bond Window
@av_bond_command.active = true
# Turns Off Other Command Windows
@main_command.active = @own_bond_command.active = false
# Moves In Active Windows
@av_bond_display_window.z = @av_bond_command.z = 9999
@av_bond_display_window.x += 32 if @av_bond_display_window.x < 16
@av_bond_command.x -= 25 if @av_bond_command.x > 444
# Moves Out Inactive Windows
[@bank_bio_window, @bank_number_window, @own_bond_display_window,
@main_command, @own_bond_command].each {|window| window.z = 9995}
@bank_bio_window.x -= 32 if @bank_bio_window.x > - 240
@bank_number_window.x += 32 if @bank_number_window.x < 640
@own_bond_display_window.x -= 25 if @own_bond_display_window.x > - 240
[@main_command, @own_bond_command].each {|command| command.x += 25 if command.x < 644}
# Input Processing
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@phase = 0
elsif Input.trigger?(Input::C)
if @av_bond_command.index == @bonds.size
$game_system.se_play($data_system.cancel_se)
@phase = 0
else
current_bond = @bonds[@av_bond_command.index].dup
if current_bond.cost > $game_party.gold
$game_system.se_play($data_system.buzzer_se)
else
$game_system.se_play($data_system.decision_se)
$game_party.lose_gold(current_bond.cost)
current_bond.set_times
$game_bank.add_bond(current_bond)
refresh_windows
@phase = 0
end
end
# Updates Current Bond
elsif Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@current_bond = @bonds[@av_bond_command.index]
refresh_windows
end
end
#--------------------------------------------------------------------------
# * Get Bond Update
#--------------------------------------------------------------------------
def get_bond_update
# Turns On Avaliable Bond Window
@own_bond_command.active = true
# Turns Off Other Command Windows
@main_command.active = @av_bond_command.active = false
# Moves In Active Windows
[@own_bond_display_window, @own_bond_command].each {|window| window.z = 9999}
@own_bond_display_window.x += 32 if @own_bond_display_window.x < 16
@own_bond_command.x -= 25 if @own_bond_command.x > 444
# Moves Out Inactive Windows
[@bank_bio_window, @av_bond_display_window, @main_command, @bank_number_window,
@av_bond_command].each {|window| window.z = 9995}
[@bank_bio_window, @av_bond_display_window].each {|window|
window.x -= 32 if window.x > - 240}
[@main_command, @av_bond_command].each {|window|
window.x += 25 if window.x < 640}
@bank_number_window.x += 32 if @bank_number_window.x < 640
# Input Processing
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@phase = 0
elsif Input.trigger?(Input::C)
if @own_bond_command.index == $game_bank.saving_bonds.size
$game_system.se_play($data_system.cancel_se)
@phase = 0
else
current_bond = $game_bank.saving_bonds[@own_bond_command.index]
if current_bond.time_finished > Graphics.frame_count / Graphics.frame_rate
$game_system.se_play($data_system.buzzer_se)
@help_window.set_text("Savings Bond Not Mature Yet!", 1)
else
$game_system.se_play($data_system.decision_se)
$game_party.gain_gold(current_bond.mature_value)
$game_bank.saving_bonds.delete_at[@own_bond_command.index]
refresh_windows
@phase = 0
end
end
elsif Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@current_bond = $game_bank.saving_bonds[@own_bond_command.index]
refresh_windows
end
end
#--------------------------------------------------------------------------
# * Exit Update
#--------------------------------------------------------------------------
def exit_update
# Moves Out Windows
@help_window.y -= 4 if @help_window.y > - 64
[@bank_bio_window, @av_bond_display_window].each {|window| window.x -= 32 if window.x > - 240}
[@own_bond_display_window].each {|window| window.x -= 25 if window.x > - 240}
[@main_command, @bank_number_window, @av_bond_command,
@own_bond_command].each {|window| window.x += 25 if window.x < 640}
# Checks To Make Sure All Windows Are Out
if @help_window.y <= - 64 && @bank_bio_window.x <= - 240 && @av_bond_display_window.x <= - 240 &&
@own_bond_display_window.x <= - 240 && @main_command.x >= 644 &&
@bank_number_window.x >= 640 && @av_bond_command.x >= 640 && @own_bond_command.x >= 640
$scene = Scene_Map.new
end
end
#--------------------------------------------------------------------------
# * Get CD List
#--------------------------------------------------------------------------
def get_cd_list
commands = []
$game_bank.saving_bonds.each {|x| commands.push(x.name)}
commands.push("Back")
return commands
end
#--------------------------------------------------------------------------
# * Refresh Windows
#--------------------------------------------------------------------------
def refresh_windows
@bank_bio_window.refresh
@av_bond_display_window.refresh(@current_bond, @bond_bought)
@own_bond_display_window.refresh(@current_bond, @bond_bought)
@bank_number_window.refresh(@amount, @depositing ? "Deposit" : "Withdraw")
@own_bond_command.refresh(get_cd_list)
end
end
#--------------------------------------------------------------------------
# * Save Game/Load Game Fix
#--------------------------------------------------------------------------
class Scene_Save
alias jimmr_bank_fix_save write_save_data
def write_save_data(file)
jimmr_bank_fix_save(file)
Marshal.dump($game_bank, file)
end
end
class Scene_Load
alias jimmr_bank_fix_load read_save_data
def read_save_data(file)
jimmr_bank_fix_load(file)
$game_bank = Marshal.load(file)
end
end
Just add this part below my CMS.
class Scene_NewSave
alias jimmr_bank_fix_save write_save_data
def write_save_data(file)
jimmr_bank_fix_save(file)
Marshal.dump($game_bank, file)
end
end
class Scene_NewLoad
alias jimmr_bank_fix_load read_save_data
def read_save_data(file)
jimmr_bank_fix_load(file)
$game_bank = Marshal.load(file)
end
end
thanks allot blizzard, ur dah man
When i load it up it works fine until i try to open my menu. it says :
????? 'Custom Menu system' ? 558 ??? No Method Error ????????
undefined method 'red' for nil:NilClass
Can you help?
There must be some script that redefines the method gradient_bar. What other scripts do you use?
I use:
Your Reflect and Add-on Scripts
A Side view battle system without battlers script
A level up with points script by Drago del fato
The SDK version 1.3 script
Slipknot's Message System script.
That's all
My Add-on are causing the problem. Remove my Gradient styler from the Add-ons and it should work fine.
Quote from: epson777341 on January 27, 2007, 04:04:48 AM
When i load it up it works fine until i try to open my menu. it says :
????? 'Custom Menu system' ? 558 ??? No Method Error ????????
undefined method 'red' for nil:NilClass
Can you help?
I'm having the exact same problem, but I'm not using your add-ons..
I'm using Caterpillar, Advanced Weather System , Letter by Letter Message Window, SDK15.. and that's it...
I did change the menu icons, but that can't be it. It's stupid, because a while ago it worked fine.. I just can't remember what Script I added after I tested it with some of the scripts mentioned above.. xD
Help? ;)
Edit: Wait.. I did change the width of the message-thing-window. You know.. when someone says something. (*doesn't know how else to explain*) Could that perhaps have something to do with it? Just guessing...
Yes, it could be. try to remove it and test the CMS again. If it works fine, it was the AMS that caused the bug.
Where exactly do you install the script....
Quote from: Blizzard on February 02, 2007, 01:22:42 PM
Yes, it could be. try to remove it and test the CMS again. If it works fine, it was the AMS that caused the bug.
I tried removing every script I had installed on by one and tested the game afterwards.. No script caused the problem, because after removing ALL I still got the error.. So I made a new game, copied all the scripts, maps... etc. Then it worked fine! I don't know what I did really, that caused the problem.. ???
Well, everythings works fine again now, so.. :)
I got another problem..
When I'm trying to use an item, the left screen just starts popping up again and the item isn't used. Also when you exit the menu, that 'popped up left screen' still shows.
Help ? :)
I checked through the code and I couldn't find anything unusual. There is a piece of code that prevents that a window stays after exiting the menu by any means. It also gets moved and removed when an item calls a common event. I don't say it's impossible, but it should be. Have you edited the code by any chance?
Yes, but only the window skins.. To just be sure I copied the clean code and checked to see if it worked, but even then. So I'm guessing another script is causing the error, I just don't know how to fix this.
EDIT:
Gosh, I'm being BLOND. I forgot to set a target for that specific item.. That's why the error thing came.
All day I've been trying to make it work and testing things.. when it was that easy. O.o
Nevermind me. ^.^'
LOL! At least it works now. xD
I can't equip anything. >.<
HA! I was trying to equip it in "equipment"
Great script. I'm going to use it for my game. ;D
Umm lol I don't know why but... My CMS has an eror again. lol. Everytime i tery to open the menu it gives me an error to witch RMXP Has no idea what it is it says ???????????????????????? lol. What suoukd i do is it because i accidently deleted the Bitmap script then didnt relilase it for a wilhe?
I think the facesets might be missing. Or the Bitmap script might be missing, yeah...
After you get the error, open the Scripts Editor and post the error giving line.
*updates*
Now compatible with Tons of Add-ons. ;8
Something isn't right...after updating it...It's Giving Errors of wether can't find The Faces or wether it's in battle it keeps refering to something witgh Red .__.
You have an actor with 0 max SP.
:tpg: Ok, so what do I do now then?
Make him have 1 max SP? ?_?
Quote from: Blizzard on March 11, 2007, 03:29:03 PM
Make him have 1 max SP? ?_?
I gave 9999 Max SP ?_? and it continues saying the same...I turned off the SP/HP plus and still says the same... :=: It's the Apocalypse.
I'll check it out. Might be something wrong... I'll have to update several scritp because of that. (-_-')
Awww... now look at what yo have done... made blizz annoyed :o lol
Lol, no. It's my own fault if I haven't considered a possibility that might happen. =P
Ok; lets all blame blizzard for anything that happens now ;8
I'm not sure that I like that idea... :B
:tpg: I can't wait for so then.
Great script :D
Do you have a... errm... you called them faces for some reason...for the fighter 04 graphic?
(I know this is slightly off topic but....)
give me a moment...
EDIT: Here we go: You can also find a better battler of it on this site (Click here!) (http://www.phanxgames.com/resources/displayimage.php?album=41&pos=39)
EDIT2: Just remembered, I tried to use these pictures for this CMS but they are WAY to big. Best to make some of just the sprite facing forward like the ones that come with the CMS.
Okay then thanks anyway ;)
[Edit]
Blizzard, is there any way to change the menu commands in this script?
It's just, i've just found your Party Switching script and i want it accessable from the menu...
Thanks ;)
[Edit 2]
Never Mind :P
[Edit 3]
Okay... scrap that... I need help
This normally didn't happen.
(https://rmrk.net/proxy.php?request=http%3A%2F%2Fi28.photobucket.com%2Falbums%2Fc221%2Firockman%2Fonoes.jpg&hash=fe4f1042dd8c6046f1714efa924e9567aa4fa27e)
I'm using...
Tax on items
Cutscene before title
Battle Cam
Easy level up notifier, and
Soul Rage
off topic question but....
where d oyou get the battlecam script?
Quote from: Darico on March 17, 2007, 12:46:18 PM
off topic question but....
where d oyou get the battlecam script?
Oi.
http://z3.invisionfree.com/ChaosProject/index.php?showtopic=55 (http://z3.invisionfree.com/ChaosProject/index.php?showtopic=55)
I don't have the same line. Line 482 is empty in mine, Have you updated to 4.4b yet?
Nope, I should probably do that.
Great CMS.
For some reason, however, whenever I press F12 to reset the game now it says
????? 'Menu' (thats the name of the script) 469 ??? SystemStackError ????????
stack level is too deep
That's a problem with several scripts. I still don't know exactly how to solve it. I think it has to do with rewriting built in classes. When I hve the time, I will look into this. You can ignore that bug without problems. It won't affect your normal game. It only appears if you press F12 to restart the application.
Hey, uhh. I put the script into the script editor and I did the configuration [spoiler]CAM_AVAILABLE = false
BGM_Variable = 49
BGM_Lock = 49
SHADED_TEXT = true
WITH_WEAPONS_AND_ARMORS = true
$quest_items = [23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
BATTLE_BGMS = [
# ["BGM_NAME", VOLUME, PITCH, DISPLAY_NAME]
["001-Battle01", 100, 100, "BGM 1"],
["002-Battle02", 100, 100, "BGM 2"],
["003-Battle03", 100, 100, "BGM 3"],
["004-Battle04", 100, 100, "BGM 4"]
]
SKINS = ["Original", "Heavy Gold", "Hell Breath", "Liquid Water",
"Violent Violet", "Ice Cool", "Fatal Venom", "Perfect Chaos"]
FONTS = ["Arial", "Future", "Comic Sans MS", "Brush Script", "Papyrus",
"Tahoma", "Times New Roman"][/spoiler]
Then, when I testplay the game, it says, "File graphics/icons/cms/commandmenu0 not found
Download the demo and copy all the graphic files needed.
Import the icons into your game and set the transparencies...
Open the icons folder in a new window and make a new folder called cms
Place all the cms icons in there... that includes the ones called windowskin0, windowskin1... etc etc etc...
I imported all of the things, but it says that it must load commandmenu0 (Along with a bunch of others) from Graphics/icons/CMS.
I tried making that folder on my RPGMaker graphics folder, and then putting the graphics files into that folder (through my computer), but it didn't work. When I tried to put them in again (through RMXP [I have PK Edition]), I couldn't put it in that file.
Help.. Please.
You can't add them by "adding resources", you HAVE TO copy the folder. Don't worry, everything is set right with transparency and stuff. Just copy all the non-standard folders and it will work fine.
I imported all the icons and set all their tranparencies... then I made my cms folder and put them into there >.<
It worked though...
I can't download the zip file...
I can't download the crankeye stuff such as the RPG Maker PK so I think something's wrong with the site overall?
I have a question, I can't get this to work properly in my game, if i upload my game would someone implement this script and send it back to me?
Treign
***figured it all out, thanks anyways***
OMFG This is just so cool... :o