Hi! :smile:
I haven't been here for a while! Anyways, I'll get straight to the point.
If anyone could do this it would be greatly appreciated and would of course be credited! If you have any queries about how a certain function should be done, please post a message here or private message me. Thanks for anyone who even bothers to read this!
:biggrin:
Thanks in advance!
Amos36
EDIT - Further and more concise details below.
I haven't been here for a while! Anyways, I'll get straight to the point.
I'm making a new project in RMVX and am using GubiD's Tactical Battle System.
viewtopic.php?f=11&t=32656
I thought it would be cool if you get skill points as you achieve certain goals. Different goals get different ammounts of skill points. When you've got a certain ammount of skill points you can buy the party members special moves. Each character would have a different set of specials to collect. However for each character you have to gain their specials in order, (you would be able to build some characters up more than others or have an all-rounded party). All of the skills they've bought would be in white, whilst the next one they can buy is in grey. The rest wouldn't be visible.
In battle you would get "Special Points" every time you get hit. But it would be as a percentage bar so it would be relevant to your maximum health, (like the limit break system in FFVII if you know what I'm talking about). When at 100% an arrow would appear on the right side of the attack command and if you press "right" you would see a new command maybe in red or another colour. Or maybe really shiny multi-colour flashy "Special"! :lol:
And then it's just a simple menu of all the skills you've collected.
Anyways, in the skills menu there should also be a new page accessed by pressing L/R and it displays all the specials you've aquired plus the next one they can buy in grey. The rest would not be displayed until they aqquire them. I'm also using another script called Advanced Help by Dargor;
See end for the Script:
viewtopic.php?f=11&t=32656
I thought it would be cool if you get skill points as you achieve certain goals. Different goals get different ammounts of skill points. When you've got a certain ammount of skill points you can buy the party members special moves. Each character would have a different set of specials to collect. However for each character you have to gain their specials in order, (you would be able to build some characters up more than others or have an all-rounded party). All of the skills they've bought would be in white, whilst the next one they can buy is in grey. The rest wouldn't be visible.
In battle you would get "Special Points" every time you get hit. But it would be as a percentage bar so it would be relevant to your maximum health, (like the limit break system in FFVII if you know what I'm talking about). When at 100% an arrow would appear on the right side of the attack command and if you press "right" you would see a new command maybe in red or another colour. Or maybe really shiny multi-colour flashy "Special"! :lol:
And then it's just a simple menu of all the skills you've collected.
Anyways, in the skills menu there should also be a new page accessed by pressing L/R and it displays all the specials you've aquired plus the next one they can buy in grey. The rest would not be displayed until they aqquire them. I'm also using another script called Advanced Help by Dargor;
See end for the Script:
Since I don't know a scrap of RGSS2 it would be handy if it were merely a simple database for the skills and at the beginning of the script there would be lots of options like;
-How Quickly the Special Bar Loads.
-What colour the Special Command is in the battle screen.
-Etc...
And then you would need to clearly state for 14yr old dummies like me what the script call command is for calling the Special Shop menu or anything else that needs a script call command that I've just forgotten.
Oh! And another thing! Each character would need to have an Initial Special. Nearly forgot! Lol!
-How Quickly the Special Bar Loads.
-What colour the Special Command is in the battle screen.
-Etc...
And then you would need to clearly state for 14yr old dummies like me what the script call command is for calling the Special Shop menu or anything else that needs a script call command that I've just forgotten.
Oh! And another thing! Each character would need to have an Initial Special. Nearly forgot! Lol!
If anyone could do this it would be greatly appreciated and would of course be credited! If you have any queries about how a certain function should be done, please post a message here or private message me. Thanks for anyone who even bothers to read this!
:biggrin:
Thanks in advance!
Amos36
EDIT - Further and more concise details below.
#==============================================================================
# ** Advanced Help
#------------------------------------------------------------------------------
# © Dargor, 2008
# 02/11/08
# Version 1.1
#------------------------------------------------------------------------------
# VERSION HISTORY:
# - 1.0 (02/11/08), Initial release
# - 1.1 (03/11/08), Compatible with the Takentai CBS
#------------------------------------------------------------------------------
# INSTRUCTIONS:
# - Place this script above Main
# - Edit the constants in the Advanced Help module and enjoy!
#------------------------------------------------------------------------------
# Notes
# This script handles the following message codes.
# - Color : \C[n]
# - Variable : \V[n]
# - Actor Name : \N[n]
#==============================================================================
#==============================================================================
# ** Advanced Help Configuration Module
#==============================================================================
module Advanced_Help
# The delay (in frames) before the text starts to scroll
Scroll_Wait = 80
# Scroll Mode
# 0 : Scrolls to left and loops
# 1 : Scrolls to left and goes back to its origin.
Scroll_Mode = 0
# Letter by letter
Letter_By_Letter = true
end
#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
# This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias dargor_vx_help_scroll_update update
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 544, WLH + 32)
@scroll_wait = 0
@scroll_mode = Advanced_Help::Scroll_Mode
@text = ''
@new_text = ''
@last_text = ''
@contents_x = 0
end
#--------------------------------------------------------------------------
# * Set Text
# text : character string displayed in window
# align : alignment (0..flush left, 1..center, 2..flush right)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
@last_text = @text
if text != @text or align != @align
@contents_x = 0
self.ox = 0
self.contents.clear
@scroll_wait = Advanced_Help::Scroll_Wait
cw = [contents.text_size(text).width + 16, 32].max
self.contents = Bitmap.new(cw, WLH)
@text = text
@new_text = text.dup
@align = align
convert_special_characters
end
end
#--------------------------------------------------------------------------
# * Convert Special Characters
#--------------------------------------------------------------------------
def convert_special_characters
@new_text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
@new_text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
@new_text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
@new_text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
@new_text.gsub!(/\\G/) { "\x02" }
@new_text.gsub!(/\\\./) { "\x03" }
@new_text.gsub!(/\\\|/) { "\x04" }
@new_text.gsub!(/\\!/) { "\x05" }
@new_text.gsub!(/\\>/) { "\x06" }
@new_text.gsub!(/\\</) { "\x07" }
@new_text.gsub!(/\\\^/) { "\x08" }
@new_text.gsub!(/\\\\/) { "\\" }
end
#--------------------------------------------------------------------------
# * Update Message
#--------------------------------------------------------------------------
def update_message
# Draw text letter by letter
if Advanced_Help::Letter_By_Letter
loop do
c = @new_text.slice!(/./m) # Get next text character
case c
when nil # There is no text that must be drawn
break
when "\x01" # \C[n] (text character color change)
@new_text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
else # Normal text character
contents.draw_text(@contents_x, 0, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
break
end
# Draw the whole text
else
while (c = @new_text.slice!(/./m)) != nil
case c
when nil # There is no text that must be drawn
break
when "\x01" # \C[n] (text character color change)
@new_text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
else # Normal text character
contents.draw_text(@contents_x, 0, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
end
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Draw text
update_message
# The usual
dargor_vx_help_scroll_update
# Scroll text
@scroll_wait -= 1
if @scroll_mode < 2
if self.contents.width > self.width && @scroll_wait < 0
self.ox += 1
@scroll_wait = Advanced_Help::Scroll_Wait if self.ox == 0
end
end
case @scroll_mode
when 0
if self.ox > self.contents.width
self.ox = (-self.contents.width + 64)
end
when 1
if self.ox > self.contents.width + 64
self.ox = 0
@scroll_wait = Advanced_Help::Scroll_Wait
end
end
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias dargor_vx_advanced_help_battle_update_basic update_basic
#--------------------------------------------------------------------------
# * Basic Update Processing
# main : Call from main update method
#--------------------------------------------------------------------------
def update_basic(main = false)
dargor_vx_advanced_help_battle_update_basic(main)
@help_window.update unless @help_window.nil?
end
end
# ** Advanced Help
#------------------------------------------------------------------------------
# © Dargor, 2008
# 02/11/08
# Version 1.1
#------------------------------------------------------------------------------
# VERSION HISTORY:
# - 1.0 (02/11/08), Initial release
# - 1.1 (03/11/08), Compatible with the Takentai CBS
#------------------------------------------------------------------------------
# INSTRUCTIONS:
# - Place this script above Main
# - Edit the constants in the Advanced Help module and enjoy!
#------------------------------------------------------------------------------
# Notes
# This script handles the following message codes.
# - Color : \C[n]
# - Variable : \V[n]
# - Actor Name : \N[n]
#==============================================================================
#==============================================================================
# ** Advanced Help Configuration Module
#==============================================================================
module Advanced_Help
# The delay (in frames) before the text starts to scroll
Scroll_Wait = 80
# Scroll Mode
# 0 : Scrolls to left and loops
# 1 : Scrolls to left and goes back to its origin.
Scroll_Mode = 0
# Letter by letter
Letter_By_Letter = true
end
#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
# This window shows skill and item explanations along with actor status.
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias dargor_vx_help_scroll_update update
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 544, WLH + 32)
@scroll_wait = 0
@scroll_mode = Advanced_Help::Scroll_Mode
@text = ''
@new_text = ''
@last_text = ''
@contents_x = 0
end
#--------------------------------------------------------------------------
# * Set Text
# text : character string displayed in window
# align : alignment (0..flush left, 1..center, 2..flush right)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
@last_text = @text
if text != @text or align != @align
@contents_x = 0
self.ox = 0
self.contents.clear
@scroll_wait = Advanced_Help::Scroll_Wait
cw = [contents.text_size(text).width + 16, 32].max
self.contents = Bitmap.new(cw, WLH)
@text = text
@new_text = text.dup
@align = align
convert_special_characters
end
end
#--------------------------------------------------------------------------
# * Convert Special Characters
#--------------------------------------------------------------------------
def convert_special_characters
@new_text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
@new_text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
@new_text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
@new_text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
@new_text.gsub!(/\\G/) { "\x02" }
@new_text.gsub!(/\\\./) { "\x03" }
@new_text.gsub!(/\\\|/) { "\x04" }
@new_text.gsub!(/\\!/) { "\x05" }
@new_text.gsub!(/\\>/) { "\x06" }
@new_text.gsub!(/\\</) { "\x07" }
@new_text.gsub!(/\\\^/) { "\x08" }
@new_text.gsub!(/\\\\/) { "\\" }
end
#--------------------------------------------------------------------------
# * Update Message
#--------------------------------------------------------------------------
def update_message
# Draw text letter by letter
if Advanced_Help::Letter_By_Letter
loop do
c = @new_text.slice!(/./m) # Get next text character
case c
when nil # There is no text that must be drawn
break
when "\x01" # \C[n] (text character color change)
@new_text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
else # Normal text character
contents.draw_text(@contents_x, 0, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
break
end
# Draw the whole text
else
while (c = @new_text.slice!(/./m)) != nil
case c
when nil # There is no text that must be drawn
break
when "\x01" # \C[n] (text character color change)
@new_text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
else # Normal text character
contents.draw_text(@contents_x, 0, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
end
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Draw text
update_message
# The usual
dargor_vx_help_scroll_update
# Scroll text
@scroll_wait -= 1
if @scroll_mode < 2
if self.contents.width > self.width && @scroll_wait < 0
self.ox += 1
@scroll_wait = Advanced_Help::Scroll_Wait if self.ox == 0
end
end
case @scroll_mode
when 0
if self.ox > self.contents.width
self.ox = (-self.contents.width + 64)
end
when 1
if self.ox > self.contents.width + 64
self.ox = 0
@scroll_wait = Advanced_Help::Scroll_Wait
end
end
end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Alias Listing
#--------------------------------------------------------------------------
alias dargor_vx_advanced_help_battle_update_basic update_basic
#--------------------------------------------------------------------------
# * Basic Update Processing
# main : Call from main update method
#--------------------------------------------------------------------------
def update_basic(main = false)
dargor_vx_advanced_help_battle_update_basic(main)
@help_window.update unless @help_window.nil?
end
end