Aditya_Himarwan

Villager
Member
Joined
Sep 19, 2019
Messages
14
Reaction score
3
First Language
Indonesia
Primarily Uses
RMMV
Hello everyone. Sooo, in this game I'm currently making, I want to change my faceset based on current value of a variable. Let's say that Actor1Cat has just finished being groomed for the first time, so I add 5 value to variable beauty, with total 104 in beauty variable. Then I want to change her faceset to another faceset (all with same expression for face 0 to 7) for the rest of the game, or until it reach a certain threshold value of the beauty variable (for example 150). So basically everytime my cat is smiling or being angry, I want to slightly change the cat appearance. But again, for that very same event, the cat is still smiling or being angry, just with different color, for example. Could anyone make plugin for that, or do I really have to create many text event every time this beauty variable is changed to a certain level?

Also, I've checked Shaz and Himework plugins regarding this, but those are not what I needed. (Or, as you might've expected, I don't understand their explanation enough)

And I'm very sorry for confusing you guys since my English capability is miserable.
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
3,849
Reaction score
1,463
First Language
Dutch
Primarily Uses
RMMV
there is 1 way, but can be a long way but the only way that comes in
mind is to event it (plugin works too)

eventing:

if Actor1 var <= 0
text here with the face you want
else
if actor 1 var >=0
if actor 1 var <=5
text with another faceset
else
if actor 1 var >=5
if actor1 var <=7
text with the other faceset
end
end
end
end
end

the text in between can be same or different, but a different face
you want to use which can be troublesome, if the text is really long,
this wont do unless copy paste first for the setup to use before entering
the text dialogues, otherwise, a plugin to setup in the param is easier.

but you should play around with it :)
 

Aditya_Himarwan

Villager
Member
Joined
Sep 19, 2019
Messages
14
Reaction score
3
First Language
Indonesia
Primarily Uses
RMMV
Hey ShadowDragon! Thanks for your kind response, but this type of eventing is basically what i want to avoid since I planned to use quite a lot faces hehe since this game is basically all about appearances. And, would you be so kind to explain what type of plugin to setup in parameter means. Again, sorry for the trouble and thank you!
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
3,849
Reaction score
1,463
First Language
Dutch
Primarily Uses
RMMV
depending on the amount of faces, but if you use many, something
that taget the face + variable in a struct param to set all those up
correct (can be long first time as well) but around this:

param faces
struct faces (this is incorrect, but lazy for now)

for struct:
name: (probably notetag or dataActors in database) this probably require
all appearances to be actors)
face set (struct var appearance)

struct appearances
1) variable x = y
faceID

2) variable x = y
Face ID

etc

this struct can set each actor on their own variable to change faceset.
probably something starting with \faceset[NAME] Text here
so "\faceset[NAME]" will read the variable so it know what face to use.

there might be other methodes as well for creating a plugin, but you might
be looking around this, so you can add faces and variables to it.

50 actors = 50 variables so to speak, but otherwise, I dont know how to build
it, but it also take 1-2 years for me to build this thing :) (I'm still learning and
get interupted alot.

but maybe there is someone that knows a better way to build this plugin for you :)
 

Jules98

Veteran
Veteran
Joined
Jul 10, 2017
Messages
337
Reaction score
221
First Language
Dutch
Primarily Uses
RMMV
The closest you can get to what you want that I know is through Yanfly's Extended Message Pack 1. That plugin adds an escape code that allows you to change the index of the current face graphic, and that escape code accepts variables. Example:

Code:
\faceindex[\V[x]]

This will change the face used in the current message box to the index as specified by variable x

Two problems with this:
1). This does not allow you to change the file used for the face image, only the index.
2). This plugin is paid, which may or may not be a dealbreaker to you.

http://www.yanfly.moe/wiki/Extended_Message_Pack_1_(YEP)
 

Aditya_Himarwan

Villager
Member
Joined
Sep 19, 2019
Messages
14
Reaction score
3
First Language
Indonesia
Primarily Uses
RMMV
depending on the amount of faces, but if you use many, something
that taget the face + variable in a struct param to set all those up
correct (can be long first time as well) but around this:

param faces
struct faces (this is incorrect, but lazy for now)

for struct:
name: (probably notetag or dataActors in database) this probably require
all appearances to be actors)
face set (struct var appearance)

struct appearances
1) variable x = y
faceID

2) variable x = y
Face ID

etc

this struct can set each actor on their own variable to change faceset.
probably something starting with \faceset[NAME] Text here
so "\faceset[NAME]" will read the variable so it know what face to use.

there might be other methodes as well for creating a plugin, but you might
be looking around this, so you can add faces and variables to it.

50 actors = 50 variables so to speak, but otherwise, I dont know how to build
it, but it also take 1-2 years for me to build this thing :) (I'm still learning and
get interupted alot.

but maybe there is someone that knows a better way to build this plugin for you :)
Ummm naah, if it takes two years for you to make this, then there is no way I'm able to make this js plugin in, umm, like 5 years? LOL

But still, someday I have to make my own plugin tho, it's just my brain is not wrinkled enough to do that in short amount of time. But again, thanks for the input!

The closest you can get to what you want that I know is through Yanfly's Extended Message Pack 1. That plugin adds an escape code that allows you to change the index of the current face graphic, and that escape code accepts variables. Example:

Code:
\faceindex[\V[x]]

This will change the face used in the current message box to the index as specified by variable x

Two problems with this:
1). This does not allow you to change the file used for the face image, only the index.
2). This plugin is paid, which may or may not be a dealbreaker to you.

http://www.yanfly.moe/wiki/Extended_Message_Pack_1_(YEP)
Thank you Jules! Unfortunately, like as you said, this doesn't allow me to change faceset file. I still want to buy those YEP Pack anyway. Still, thank you for this info!
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
930
Reaction score
492
First Language
English
Primarily Uses
RMMV
Just to offer you some advice, your suggestion is good but you have some wasted lines in your code.
if Actor1 var <= 0
If this test fails...
else
if actor 1 var >=0
This will always be true (well, technically it will always be var >0, since if var == 0 it would've passed the first check). This line is meaningless, you only need the else.
if actor 1 var <=5

text with another faceset
else
if actor 1 var >=5
Same thing here, if (var <= 5) is false, (var >= 5) will always be true - do you see what I mean?
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
3,849
Reaction score
1,463
First Language
Dutch
Primarily Uses
RMMV
@ATT_Turan I know what you meanbut the I have similar in my FLS plugin,
but more like:
if var x < 0
text, hi
end
if var x = 1
text hi buddy
end
if var x = 2
do stuff
end

this way, but you can do the same with faces too, but instead of =, you use >=
untill the one that is higher, but to automate it to avoid this long checks a plugin would
be needed, else you get really, really long list, to check for face, and variable.

unless you know exacly where and how to make it shorter, if there arent choices and
are fixed, you can do it pretty much without them, if choices matters, than it is required.
 

ATT_Turan

Forewarner of the Black Wind
Veteran
Joined
Jul 2, 2014
Messages
930
Reaction score
492
First Language
English
Primarily Uses
RMMV
That is not the same as the checks you wrote in your first post.
 

Aditya_Himarwan

Villager
Member
Joined
Sep 19, 2019
Messages
14
Reaction score
3
First Language
Indonesia
Primarily Uses
RMMV

Latest Threads

Latest Posts

Latest Profile Posts

I want to work on my reboot, but I don't have time to do it. ;_;
4y195n.png
big image so i posted it as a spoiler
Just a reminder to back your projects up. Do it now! :yamero:
If there was an award for best game dev procrastination, I'd say 'meh, I'll pick it up tomorrow' >_>
Honestly though, I've been staring at the same half-made map for a while now haha! Ahhh, I'm so tired of mapping!
Time to add the support for import/export default RMXP maps. Maybe there will be customized tileset support later. In theory, I can reimplement the entire RMXP inside this RMXP-made game to make more RMXP games. :kaojoy:RMXPFORMATSUPPORT.jpg

Forum statistics

Threads
111,269
Messages
1,059,780
Members
144,567
Latest member
Sysce
Top