Well, no, I can't really fix it generally in the VX version. While I do agree it was a poor design choice, the price to change it would be a little steep since, for everyone who was using them correctly, it would force a choice between the current version with all its bugs, or getting the new version and having to go through every single one of their messages to check for where they used it and to change it to whatever new scheme I choose. The benefit of having one small feature slightly more intuitive is outweighed by that cost.
However, if you want to change it for your individual project, you can do the following (I did not test this, but it should work):
1. Go to around line 1144, where you will see:
text.gsub! (/\\</) { "\x08<1>" } # Message speed + 1
text.gsub! (/\\[Ss]\[(=?-?\d+)\]/i) { "\x08<#{$1}>" } # Message speed + x
Change it to:
text.gsub! (/\\</) { "\x08<+1>" } # Message speed + 1
text.gsub! (/\\[Ss]\[([\+-]?\d+)\]/i) { "\x08<#{$1}>" } # Message speed + x
2. Go to around line 3429, where you will see this:
when "\x08" # Speed Change
@text.sub!(/<(=?-?\d+)>/, "")
s = $1.to_s
s.sub! (/(=)/, "")
if $1.nil?
$game_message.message_speed = [$game_message.message_speed + s.to_i, -1].max
else
$game_message.message_speed = [s.to_i, -1].max
end
Change it to:
when "\x08" # Speed Change
@text.sub!(/<([\+-]?\d+)>/, "")
s = $1.to_s
s.sub! (/([\+-])/, "")
if $1.nil?
$game_message.message_speed = [s.to_i, -1].max
else
$game_message.message_speed = [$game_message.message_speed + s.to_i, -1].max
end
What that would do is make it so \s[a] directly sets it to a, while \s[-a] subtracts a from the number of frames it would wait, and \s[+a] adds a to the number of frames. The disadvantage is you will no longer be able to directly set it to -1 (instant), so if you wanted that, you would have to do \s[0]\>
Keep in mind that once I release the bug fixed version, you will need to change this again.
In terms of the current documentation, it is:
# \S[x] - Change the speed the text draws by adding x to the current time
# between drawing letters. Thus, \s[2] is the equivalent of \<\< and
# \s[-3] is the equivalent of \>\>\>. You can also directly set the
# speed by putting an equal sign, so \s[=0] would set the time to one
# frame between drawing letters, and \s[=-1] would set it to instant.
How would you suggest I make it clearer?