[VXA] ATS: Face Options 1.0.3

0 Members and 1 Guest are viewing this topic.

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
ATS: Face Options
Version: 1.0.3
Author: modern algebra
Date: 20 July 2013

Version History


  • <Version 1.0.3> 2013.07.20 - Fixed a bug where face would scroll in and fade in every message even if same face being used. Also added a feature to match face tone to the screen, as well as a new code to display battle animations on the face.
  • <Version 1.0.2> 2013.07.16 - Fixed a bug where abnormally-sized faces in traditional format were not being drawn correctly.
  • <Version 1.0.1> 2013.07.16 - Fixed a bug when placed below ATS: Formatting. I also made animating large facesets a little easier by permitting the use of $ and %[n] together to indicate a file with n poses.
  • <Version 1.0.0> 2013.07.15 - Original Release

Description


This script allows you to control the face settings of a message. Not only can you now give faces a talking animation and a blinking animation, but this also lets you use bigger facesets, to set the faceset based on actor ID or party ID, to encapsulate faces in their own windows, to set its position, to fade it in or scroll it in, and much more. For a complete list of features, be sure to read the Instructions and the Editable Region in the script.

Features

  • Allows for talking animations and blinking faces
  • Allows for large facesets
  • Can set a face to that of an actor or party member - great for games with character selection
  • Can use smooth scrolling and fadein animations
  • Can set the position of the face to anywhere on the screen, along with a number of automatic positioning settings
  • Can change graphical options of the face (e.g. mirror it, change the tone, opacity, etc.)
  • Can encapsulate the face in its own window and set border size
  • Can play battle animations on faces

Screenshots


Instructions

Paste the script into its own slot in the Script Editor, above Main but below Materials.

Script


The script is too long. You can get it either from the demo or from Pastebin

Credit


  • modern algebra

Thanks

  • Acolyte, for giving me incentive to finish the script and for reporting errors
  • Yin, for reporting errors

Support


Please post in this topic at RMRK.net if you have any questions, suggestions, error reports, or comments about this script. It is perfectly fine to post here even if this topic has not been posted in for a very long time.

Please do not message me privately, as any concerns you have are likely shared by others and they will benefit from our correspondence being public. Additionally, I am occasionally absent, and posting publically will allow other members to assist you when I am unable to do so quickly.

Known Compatibility Issues

I am currently unaware of any compatibility issues, but it has not been fully tested with all the other ATS scripts yet.

Demo


See attached. I've attached ATS Face Options.exe, as well as ATS Face Options.rar for anyone nervous about running an .exe. They are exactly the same demo though, so you only need one.

Please excuse the size; I included a song from the amazing Bobby Richeson. If you like it, you can download the whole pack here.

Author's Notes


It is not fully tested yet, especially for compatibility with other ATS scripts, but this script has been held up for about a year and I didn't know when I'd get a chance to test it fully, so I figured I'd release it and let you all be my testers. Please let me know if you encounter any bugs!

Terms of Use


I adopt RMRK's default Terms of Use.
« Last Edit: July 20, 2013, 03:02:26 PM by modern algebra »

*
A-pow 2015
Rep:
Level 81
2014 Best RPG Maker User - GraphicsFor frequently finding and reporting spam and spam bots2013 Most Unsung MemberSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.How can I help you? :Da^2 + b^2 = c^2Secret Santa 2012 ParticipantSilver - GIAW 10Silver - GIAW 9Bronze - GIAW HalloweenGold - Game In A Week VII
Thank you so much modern. :tpg:

*
The Hero of Rhyme
Rep:
Level 83
( ͡° ͜ʖ ͡°)
2014 Queen of RMRKProject of the Year 20142014 Best RPG Maker User - Story2011 Best Newbie2014 Kindest Member2014 Best RPG Maker User - Creativity2013 Queen of RMRKBronze SS AuthorBronze Writing ReviewerSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.GOOD!For frequently finding and reporting spam and spam bots2012 Best Yuyubabe Smiley2012 Best RPG Maker User (Creativity);o
Ahhhh!! LOVE it! :gracie:
Spoiler for My Games and Art:
ℒℴѵℯ❤


My Artwork Thread

The Lhuvia Tales [Current]

Ambassador [Complete]

The Postman [Complete]

The Wyvern [Complete]

Phoenix Wright: Haunted Turnabout [Complete]

Major Arcana [Cancelled]


pokeball YinOfflineFemale
**
Rep:
Level 86
 :discosect: This is excellent news! I'll be trying it out and if I come across any bugs I will be sure to let you know! Thank you soooo much! I was waiting for this!

pokeball YinOfflineFemale
**
Rep:
Level 86
Found an error when used with the rest of the ATS. This is in a bare project with just the ATS scripts. Everything gets put on one line each when adding the face options in.


Will report more when/if I find more.
Script order is :
ATS Special Message Codes
Ats Formatting
ATS Message Options
ATS Advanced Choices
ATS Face Options


I'll play around with the order and see what I find.


changed the order and the formatting corrected itself I put face options above the formatting script. But then when I spoke to animated face guy, this error popped up:



---------------------------
ATS: Choice Options 1.0.0
---------------------------
Script 'ATS: Face Options' line 1152: NoMethodError occurred.


undefined method `empty?' for nil:NilClass
---------------------------
OK   
---------------------------


The error pops up after this message:

\c[3]Colin\c[0]

Also, the :animate_faces setting is true
as it always should be. Now, you may
see that I am blinking. This is because




Which seems to be stopping because of the script call after it:



n = "BrownHair%[4]"
ats_next(:blink_face_name, n)
ats_next(:blink_face_index, 4)


Line 1152 is :

     atsfo_change_face($1.empty? ? $game_message.face_name : $1, $2.to_i, blink)

Edit: I have another suggestion. If a character's face is still the same, still talking, same postition, etc. then it should not play the animation over again (The slide/fade in animations)
« Last Edit: July 16, 2013, 04:44:29 PM by Yin »

*
A-pow 2015
Rep:
Level 81
2014 Best RPG Maker User - GraphicsFor frequently finding and reporting spam and spam bots2013 Most Unsung MemberSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.How can I help you? :Da^2 + b^2 = c^2Secret Santa 2012 ParticipantSilver - GIAW 10Silver - GIAW 9Bronze - GIAW HalloweenGold - Game In A Week VII
If you put it in the order of:

ATS Special Message Codes
ATS Face Options
ATS Message Options
ATS Formatting
ATS Advanced Choices

it seems to get rid of the error. Though I'm having trouble getting a portrait animated. :irock2:

You said that you can format the portraits like a faceset right?

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Yes, you can format the portraits like a faceset, and that's how you'll need to do it to animate it. You'll need to take out the $ in the portrait's name though.

Thinking about it now, it may make sense to be able to use $ and %[n] and have it so that the set only has n poses. It might cut down on making big mostly empty facesets for portraits.

Anyway, apart from that, what is the trouble?

@Yin - The first error I will fix shortly. The second error occurs because of the space between , and 4 in the \fb{} code in that message, and I think I will need to update the paragraph formatter to fix that (though I can at least stop the error message for now).

Anyway, v. 1.0.1 should be out soon.

*
Rep:
Level 85
I solve practical problems.
For taking arms in the name of your breakfast.
This is awesome MA :D

*
A-pow 2015
Rep:
Level 81
2014 Best RPG Maker User - GraphicsFor frequently finding and reporting spam and spam bots2013 Most Unsung MemberSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.How can I help you? :Da^2 + b^2 = c^2Secret Santa 2012 ParticipantSilver - GIAW 10Silver - GIAW 9Bronze - GIAW HalloweenGold - Game In A Week VII
I'm probably missing something in the instructions here. I named this Marian%[4] :

Spoiler for:


And then I get this :<


*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Alright, updated to 1.0.1 to fix the first bug mentioned by Yin and add the feature to combine $ and %[n] to use faces like the one attached.


"$Nessiah-Actor4-1%[2].png"

I did not make that image. That credit goes to the wonderful Archeia Nessiah at Division Heaven, and she has a lot more where that came from if you are inclined to use portraits.
« Last Edit: July 16, 2013, 09:11:24 PM by modern algebra »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
@acolyte - Sorry. You aren't doing anything wrong. That was an oversight on my part and will be fixed shortly.

Edit:

Updated to v. 1.0.2 to fix that error.
« Last Edit: July 16, 2013, 09:18:00 PM by modern algebra »

*
A-pow 2015
Rep:
Level 81
2014 Best RPG Maker User - GraphicsFor frequently finding and reporting spam and spam bots2013 Most Unsung MemberSecret Santa 2013 ParticipantFor taking arms in the name of your breakfast.How can I help you? :Da^2 + b^2 = c^2Secret Santa 2012 ParticipantSilver - GIAW 10Silver - GIAW 9Bronze - GIAW HalloweenGold - Game In A Week VII
Wow, that was fast. Everything works great now. Thanks modern  :aco:

pokeball YinOfflineFemale
**
Rep:
Level 86
What Acolyte said. Everything is working now! Great work! Thanks

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
I had another query about animating large facesets (called busts by the inquirer and I retained that terminology in my response) and how to make them blink if using the $%[n] combination. Since I think it might be helpful, I repeat my answer below:

Quote
It is possible to animate a bust. If you do not have version 1.0.2, you may need to upgrade, but if you do then you can, for instance, just put them all in a regular 8 pose faceset that is simply bigger than usual. You wouldn't put the '$' in the filename at all, and you could then use the %[n] code to specify the number of frames of animation. See, for instance, Acolyte's graphic for Miriam in this post: http://rmrk.net/index.php/topic,48031.msg545961.html#msg545961

Alternately, if you did not want to have a full faceset, then you can combine $ and %[n] to have less, but in that case the poses would all need to be arranged horizontally. See, for instance, Nessiah's graphic for Eric that I arranged: http://rmrk.net/index.php/topic,48031.msg545962.html#msg545962

Either way, that will give you a bust that can animate. If you wanted to do that and then also have a blinking face, however, then you'd need to specify the blink_face_name and not just the index.

In other words, if you had "$Nessiah-Actor4-1%[2]" have two poses for talking and "Nessiah-Actor4-1-Blink" have one pose for blinking, then you would have to set "$Nessiah-Actor4-1%[2]" as the regular pose and specify the other face_name for your blinking. Put another way, you would need to either do:

ats_next(:blink_face_name, "Nessiah-Actor4-1-Blink")
ats_next(:blink_face_index, 0)

OR, if you want to use message codes, then:

\fb{"Nessiah-Actor4-1-Blink":0}

Generally speaking, I would recommend the 8-pose set if you have blinking faces for every talking animation, and otherwise use the latter method.

The inquirer also asked whether multi-pose blinks are possible (i.e. something like eyes fully open => eyes half-closed => eyes fully closed => eyes half-closed => eyes fully open). Currently, that is not a feature of this script and it only supports a (eyes fully open => eyes fully closed => eyes fully open) animation. I figured that blinking is a subtle enough gestue that it was unnecessary, but is it perhaps more noticable with large faces?

Anyway, it would not be hard to add and if other people are interested then I will consider adding it.

Also, I think I will add a true or false setting to make the face tone match the screen tone, but am having trouble naming it. :face_tone_match_screen seems a bit long.

For large faces, I was also thinking of adding a message code which would allow you to play a discrete animation at the specified point of text and then revert or change. I.e. it would replace the face, play through the animation once, and then go back or use a new face, as desired. It could be used for a gesture like brushing hair aside, drawing a sword, etc. I'm leaning towards no at this point, since it would probably be kind of useless for small faces. And, for large faces, it would take a lot of work for anyone to draw all those poses and so would likely be used very rarely if at all.

Anyway, let me know what you guys think of all those features.
« Last Edit: July 19, 2013, 05:41:18 PM by modern algebra »

pokeball YinOfflineFemale
**
Rep:
Level 86

The inquirer also asked whether multi-pose blinks are possible (i.e. something like eyes fully open => eyes half-closed => eyes fully closed => eyes half-closed => eyes fully open). Currently, that is not a feature of this script and it only supports a (eyes fully open => eyes fully closed => eyes fully open) animation.


However, it would not be hard to add and if other people are interested then I will consider adding it.

Also, I think I will add a true or false setting to make the face tone match the screen tone, but am having trouble naming it. :face_tone_match_screen seems a bit long.

I am interested in that blinking animation feature, I already have mine animated, but it's only using the the 1 frame allowed.

As for the naming of the screen tone match,  I think you explain your options very well, so you can keep the name short or abbreviate it and it would still work out fine. Maybe :face_match or something.... I don't know :P


Also any word on my suggestion of not having to reload the face if the parameters are the same in the immediate next message? Although I'm not using the slide or fade features,  I did try it and it seemed weird to have it keep sliding in as if someone different was talking.


Haha, you edited your post as  I was writing mine. The small animation, times at a specific time in the message would be a neat feature, even for the small faces. Mainly for emotion changes mid message, characters emphasizing words, or as you said moving hair, etc. It would be neat, but as you said it will probably be something less used. (I'd use it though lol)
« Last Edit: July 19, 2013, 05:49:05 PM by Yin »

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
Yeah, the reloading thing is a bug. I will fix it.

Also, I think you can already change faces mid-message with the \f{} code, so the animation feature would only be required if you wanted there to be an animation preceding the shift.

pokeball YinOfflineFemale
**
Rep:
Level 86
Also, I think you can already change faces mid-message with the \f{} code, so the animation feature would only be required if you wanted there to be an animation preceding the shift.

Even better! I didn't know I could do that in the middle somewhere. I'll be using that feature.

**
Rep:
Level 65
Do the evolution baby
OMG I WAITED FOR LONG FOR THIS, GONNA TRY RIGHT NOW

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Favorite Staff Member2012 Most Mature Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Best Use Of Avatar And Signature Space2010 Favourite Staff Member
I've updated to v. 1.0.3. I fixed the bug with constant re-fading and re-scrolling even when same face being used.

I didn't add the multi-frame blink or pose animation features I mentioned earlier, but I did add a message code that plays a battle animation on the face. I also added the option to match the face tone to the screen tone.

**
Rep:
Level 65
Do the evolution baby
MA thanks for finishing all the ATS modules after so long, I tried like 4 different scripts to achieve the large faces and this one is the most comple as I expected. Also making sets of large faces removed a lot of clutter from my face folder.

*
*crack*
Rep:
Level 64
2012 Most Unsung Member2012 Best NewbieFor frequently finding and reporting spam and spam bots
Good to see the local scripting god getting back into action. Such a useful script too.



Thanks

  • Acolyte, for giving me incentive to finish the script and for reporting errors
  • Yin, for reporting errors
'Incentive' is not the word I'd use :-X
'Ransom' sounds more appropriate :V
« Last Edit: July 22, 2013, 09:01:47 PM by D&P3 »

pokeball YinOfflineFemale
**
Rep:
Level 86
Thank you for this update!

**
Rep: +0/-0Level 76
Long-time Lurker
The inquirer also asked whether multi-pose blinks are possible (i.e. something like eyes fully open => eyes half-closed => eyes fully closed => eyes half-closed => eyes fully open). Currently, that is not a feature of this script and it only supports a (eyes fully open => eyes fully closed => eyes fully open) animation. I figured that blinking is a subtle enough gestue that it was unnecessary, but is it perhaps more noticable with large faces?

Anyway, it would not be hard to add and if other people are interested then I will consider adding it.

Yes, definitely interested in something like this! It'll definitely make blinks much smoother this way. Right now, it just feels a bit too choppy.

*
RMRK's dad-in-training
Rep:
Level 72
Busy Husband, Dad, and Youth Minister
GIAW 14: 2nd Place (Easy Mode)2014 Best WriterBronze - GIAW 11 (Normal)Secret Santa 2013 ParticipantFor taking arms in the name of your breakfast.2012 Best NewbieContestant - GIAW 9
Hey MA,

I seem to be having an issue getting Formatting and Face options to play nicely together.

It's not a problem until I try to mirror the face and put it on the right:

Spoiler for:



I get this error when I attempt to both mirror the image and put a large face on the right:



If I turn off mirror, this occurs:


The text now goes behind the portrait.

Thoughts?

***
Rep:
Level 86
This part of me, I choose not to see.
Hm...is there any way to scroll from the opposite side of the screen? I have a habit of displaying my faces on the right side rather than on the left, and if I scroll them in they fly across the screen, which looks kind of silly.