Main Menu
  • Welcome to The RPG Maker Resource Kit.

Advanced Text System 3.0c

Started by modern algebra, March 18, 2008, 09:32:30 AM

0 Members and 4 Guests are viewing this topic.

modern algebra

#25
Update: You can now set the message window's position and size!

modern algebra

#26
Updated Again - Sorry for all the updates - this one was necessary if you intend to use the \px command, as there was a minor miscalculation.

The other important thing is that the format for using Animated Facesets has changed in Version 1.11. Before it was _a, _b, but this arbitrarily limited the user to only two frames of animation. Now, the format is _1, _2, _3, etc... and you can have as many frames as you like.

Two options were also added:

$game_message.number_choices = positive integer
   This allows you to set the number of choices shown in a Choicebox until it starts scrolling

$game_message.back_sprite = "filename"
   This allows you to change the graphic used in runtime when the message is set to 'Dim'. Particularly useful if you want to use this feature in    collaboration with changing message box width, since you will need to make graphics to fit that.



Also, I'm taking suggestions for giving this script a new name. Dialogue is a somewhat inappropriate, misleading name

modern algebra

Updated to Version 1.2!

The changes are basically:

  • Fixed a minor error in the positioning of back sprites.
  • Removed the Graphic not found error that would crash the game if a back sprite did not exist. It now defaults to the previously used back sprite
  • Choice boxes can have multiple columns.
  • Added option to draw the face mirrored.

I also changed the name as Dialogue in Programming means something totally different. It is now Advanced Text System (ATS)

halik

I get an error saying: "ATS 1.2 ? 1668 ??? NoMethodError ??????
Undefined method `[]' for NilClass

This is on you demo when I speak with the EV005 starts the battle and error pops up!
What's the problem?!

And nice script.

modern algebra

#29
Ah, sorry about that. I fixed the problem somewhere else but I guess I forgot to upload the demo. Give me a second and I'll upload a new demo. If you don't want to download the entire thing, just replace line 1668 with:


        @contents_x += @line_spacing[@line_count] unless @line_spacing == nil || !$game_message.justified_text

halik

Quote from: modern algebra on May 03, 2008, 11:29:07 PM
Ah, sorry about that. I fixed the problem somewhere else but I guess I forgot to upload the demo. Give me a second and I'll upload a new demo. If you don't want to download the entire thing, just replace line 1668 with:


        @contents_x += @line_spacing[@line_count] unless @line_spacing == nil || !$game_message.justified_text


dude thank you and keep rocking! This script is awesome!!

gabiot

Is there anyway to change the text for the namebox?  I know I can change it globally in your script, but what I want to do is maybe have  a command so I can have different colors of nameboxes for different characters (like blue for a good guy and red for a villain).  Even if there's just a little add-in you could write up I could place it in the script.  As it stands I can't really figure out how to change it other than changing it so it is always a certain color.

modern algebra

I'm not sure what you mean...
You can use Call Script to change any features, either globally with $game_dlgoptions or for just the following message with $game_message. All of the commands are listed above, but I think the ones you are looking for are:


$game_message.namebox_fontname = ["font name default", "font name alternatives"] (ex. ["Times New Roman", "Arial"])
$game_message.namebox_fontsize = positive integer (ex. 16)
$game_message.namebox_windowskin = "Skin File" (ex. "Window")
$game_message.namebox_colour = integer between 0 & 31 (ex. 7)
$game_message.namebox_opacity = integer between 0 & 255 (ex. 200)
$game_message.namebox_offset_x = integer (ex. 8)
$game_message.namebox_offset_y = integer (ex. 16)

Aindra

There is a problem with this script. (Most likely it is the paragraph formatter, but I'm posting this topic because I'm using Advanced Text System)

I created the battle processing event with win/lose branches. Like this:


@>Battle Processing: Monster
If Win
@>Text: 'Spiritual', 1, Normal, Bottom
:      : Blah blah blah blah blah blah blah blah blah blah
:      : Blah blah blah blah blah

If Lose
@>Text: 'Spiritual', 1, Normal, Bottom
:      : Blah blah blah blah blah blah blah blah blah blah
:      : Blah blah blah blah blah
Branch End


When I play-tested the event processing, the paragraph formatter is no longer in effect for the first message in the win/lose branches. So they are no longer lined up nicely, so many words were missing because they disappeared on right side. It is as if the paragraph formatter was never there, so there is no formatting at all.

I can easily reproduce this bug (I did with few new events, and it happened.) Note: It only affects the first message in the win/lose. Any next messages are working prefectly.

I even made a new project and added only Advanced Text Message and Paragraph Formatter scripts. And I managed to reproduce that bug.

modern algebra

Yeah, I guess it must not reset $game_message after battle. I'll fix it when I make a new version, but for now just put a call script above your text with $game_message.clear there.

Aindra

Okay, thanks. I'll be using that call script.

I want to ask you a question, if you don't mind.

Will you add the feature where I can show the icons\names in the choice box? Like \iicon[2] \ni[2]. It doesn't work with unique choice boxes. It does work if I use the basic choice box in the text message. I've been using that instead if I want to show the icons.

Anyways, your script is really great. I've been using it a lot, so many thanks.

modern algebra

Yeah, I think I will do that for the next version.

SouthWall

I asked this on the RPG Revolution forums, but I'm not sure which one you are more active in.

Is there a way I can make the script ignore the stuff that isolates choices? I'll give an example...



Here, the three choices will appear in the same box because of your script. Now...



You see that each of the three choices follow a conditional branch. However, because they are isolated, the choices aren't in the same box anymore.

How do I put them in the same box? (and, if possible, with the original message as well)

modern algebra

Don't put in the Else Branch to any of them and it should work fine.

SouthWall

I tried removing the "Else"'s, but the same thing happened; each choice is present in a different choice box.

modern algebra

Oh, nevermind, I wasn't looking at it before - I must be blind. No, there is no way to make them appear in the same choicebox when you have the conditionals around them.

Just stack them regularly

if Switch[1] ON
  if Switch[2] ON
    if Switch[3] ON
      All Choices
    else
      choices 1 & 2
    end
  else
    choice 1
  end
else
  if Switch[2] ON
    if Switch[3] ON
      choices 2 & 3
    else
      choice 2
    end
  else
    if Switch[3] ON
      choice 3
    end
  end
end


It's a pain in the neck, I know. In the next version I will see what I can do to give an option there.

SouthWall

Quote from: modern algebra II on July 01, 2008, 08:47:04 PM
Oh, nevermind, I wasn't looking at it before - I must be blind. No, there is no way to make them appear in the same choicebox when you have the conditionals around them.

It's a pain in the neck, I know. In the next version I will see what I can do to give an option there.

Okay. Thanks for your help.

But it would be totally awesome if you could make that an option for the next version. I would love you forever.

modern algebra

I've been thinking about it, and the way I will probably do it is to have a code you could put in the text area of each command. But it would only be for switches, not all the other types of conditions. I think I will just suggest that if other conditions are needed, just put all the conditions before the choice branch, and if the right conditions are met, turn on a switch and condition the choice on that switch.

psiclone

Hello, I just wanted to say that this script is great, and I really enjoy using it.

However, I've got a slight problem; I'm using Woratana's windowskin changer script and if I change a windowskin, the change works the first time I talk to someone, but the next time it reverts back to the default specified in the script. Same thing for if I change the windowskin and go into the menu and try to talk to someone, it just resets back to the default in the script.

Is it possible to have the change "permanent?" Or at least, stay until it's changed again? I have no problem changing the windowskins via the menu, and even in an event, but it still changes back to the default after talking to someone.

modern algebra

Use the script code:

$game_dlgoptions.windowskin = "Skin File"

psiclone

Sweet, thanks.

Is there also a way to change the nameplate and choice box in this same way?

modern algebra

$game_dlgoptions.choicebox_windowskin = "Skin File"

$game_dlgoptions.namebox_windowskin = "Skin File"


All of the possible codes are located in the instructions at the top of the script.

psiclone

Yeah, I apologize for not noticing sooner, it just didn't stand out to me like the other way to change did. Thanks for the help!

Drunken Paladin

Couldn't figure it out because I'm hopeless at scripting, but it definitely looks cool!   :bean:

modern algebra

Updated to 1.5.

New Features:




  • all relevant special message codes can be used in nameboxes and choiceboxes, such as show icon, etc... NOTE:: Show Icon will throw off the calculations for fitting the text to the window, just as it does in regular messages
  • Now set the choicebox and namebox positions directly, instead of only in relation to the message window
  • A couple new message codes:
    • \CNTR - Centres text along a line
    • \RGHT - Places the text along the right of the window
  • Conditional Choice Options. Now, the special codes \SOFF[switch_id] and \SON[switch_id] place requirements for that option to be included in the choicebox. Namely, these conditions are simply if a switch (or multiple switches) is/are off or on. If those conditions are met, then the option will be available. Now, while it is only switches, you can easily set other conditions indirectly by setting up regular conditional branches before the choice display and turning a switch ON only if all conditions are met, then set the choice option on that switch. Note that all of the choicebox features only work if you are using a choicebox - if you are using default choice display, these will not work.
  • You can now use a few different naming conventions. $ats_default can be used instead of $game_dlgoptions and \NB can be used instead of \NAME. However, both \name and $game_dlgoptions still work if you prefer those codes.
  • And More...