Moogle_X's Actors Friendship System

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
Actors Friendship System v3.0.1
by Moogle_X & Solar Flare Games
(continued from Moogle_X's thread)

Introduction

This plugin adds a friendship mechanic between the main actor and other actors of your choice. Each actor has their own friendship value that can be increased or decreased multiple ways. As the friendship value grows, that actor's friendship level may level up. You can set some skills to be automatically learned at certain friendship levels.

There is also the option to store a certain actor's friendship value or friendship level into an in-game variable. You can then use that variable's value as a conditional trigger for a new event, etc.

An actor's friendship value can be viewed in a custom scene. You can access it from the main menu or simply by using a plugin command.

Note: If you used version 2 of this plugin, you will need to redo your plugin parameters. The parameters are basically the same (other than some new ones), so you can probably just take a screenshot of the parameters on version 2, replace it with version 3, and then copy them over.

Features

  • Use a plugin command to increase/decrease an actor's friendship value.
  • Items and skills used by the Main Actor can increase/decrease other actors' friendship value.
  • View actors; friendship values in a custom scene.
  • Learn new skills by increasing the friendship level.
  • Easily change in-game variables using plugin commands.
  • Run any common event at specific Friendship Levels.
  • You are able to use more than one Leader. Decide which actors become leaders by using notetags.
  • You can set a "Best Friend Skill" that's unlocked when 2 actors have Maximum Friendship Level with each other.
  • Global Level Cap feature! Apply a level cap restriction at anytime to any actors by using plugin commands.
  • FP Lock effect. Temporarily prevent a certain actor from gaining or losing FP by using a plugin command.
  • Friendship Icons. Customize which icon(s) show up at each level by using notetags.
  • Custom Friend Icon. Add any icon to any actor at anytime mid-game by using a plugin command.
  • Custom Leader Icon. Use a plugin command to add/remove an icon in the Window Leader List.
  • Lots of variable control. Quickly check which actor has the highest FP or Friendship Level among the Leader's friend list.
  • Complete window customization. Disable or enable some parts of the window. Adjust the Offset X and Offset Y to your liking!
  • Automatic passive states based on the friendship level between actors. Both the leader and the friend can gain a state.
  • Negative friendship levels can be enabled. You can run events or add states or skills when two actors hate each other.
  • Set any action to be performed when you select an actor in the friends window. For example, you could use another plugin to show some more detailed information on that actor. By default, no action is performed.

Screenshots

The format of these note tags is out-dated, see plugin's help file for the proper format.








How to Use

Install the plugin using plugin manager and edit the plugin configurations (there are plenty). Read the help file for more info on notetags and plugin commands.

The plugin even supports Multiple Leaders. You can view all actors' relationship value with each other.
You have a choice between Single Leader scene or Multiple Leaders scene

The Multiple Leaders version will contain both Window Friend List and Window Leader List.


Terms of Use
Free to use in both commercial and non-commercial projects as long as credit is given.
Simply credit "Moogle_X" in your in-game credits. You can optionally credit me as well as either "Solar Flare" or "Solar Flare Games".

Based on Moogle_X's GitHub page, their version of the plugin appears to be licensed under the Apache license. As such, I've chosen to license my version under the same license. The details can be read here, but basically that means you can modify it however you want and distribute your changes anywhere, as long as you don't remove Moogle_X or me from the credits in the plugin file and add a notice to the file indicating that you modified it. (If you don't distribute your changes, I believe you don't need to add the notice.)

Download

You can download the latest version of the plugin from the attachment on this post.
 

Attachments

Last edited:

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,528
Reaction score
4,984
First Language
English
Primarily Uses
RMVXA
Looks like you did some good work adding cool features to this system! :D
 

Carmifele

Veteran
Veteran
Joined
Jul 1, 2019
Messages
68
Reaction score
3
First Language
italian
Primarily Uses
RMMV
is there a way to make it so that the friendship adds skills to the Leader?
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
That doesn't exist right now, but I can look into it. Maybe it won't be that hard.
 

Fangzarie

Veteran
Veteran
Joined
Apr 5, 2018
Messages
56
Reaction score
6
First Language
English
Primarily Uses
RMMV
First I can't thank you enough for giving this plugin a second chance at life!

I seem to be having a bit of trouble bringing up the friendship menu using Yanfly's Main Menu Manager plugin. I've set up the parameter the way you've labeled it in the help file however I still seem to getting this error?

Screenshot 2020-07-14 14.54.44.png

I've set it up as such
Screenshot 2020-07-14 14.55.58.png
The only thing I changed was the "Symbol" since that is what I want the command to be called in my game.

I'd like to know if I've set something up wrong?

Edit: I found a work around by just calling the scene via the plugin command, since it doesn't have to be in the main menu anyway. Though if you know what went wrong feel free to let me know regardless.
 
Last edited:

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
There might be an error in the help file... can you try SceneManager.push.bind(this, Scene_ActorsFriendship) and see if that works? Basically, just adding "this," to the script call.
 

Fangzarie

Veteran
Veteran
Joined
Apr 5, 2018
Messages
56
Reaction score
6
First Language
English
Primarily Uses
RMMV
There might be an error in the help file... can you try SceneManager.push.bind(this, Scene_ActorsFriendship) and see if that works? Basically, just adding "this," to the script call.
Still no dice. I tried running the script call from a completely new game with only yanfly's menu manager, thinking the problem might have been my Moghunter plugins instead, and came up with a completely different error. Screenshot 2020-07-15 11.10.06.png
 

Carmifele

Veteran
Veteran
Joined
Jul 1, 2019
Messages
68
Reaction score
3
First Language
italian
Primarily Uses
RMMV
If i may add a second suggestion:somewhere to show the actor's Nickname,maybe?
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
@Fangzarie I just tried it in a blank project using only YEP_MainMenuManager (the version in the dlc folder) and this plugin, and it works with the settings as given in this plugin's help. I do notice that you set the symbol to something different; I'm not sure if that would cause a problem, but I don't think it would cause this problem.

The symbol is an internal identifier that the game uses to link the menu command with the action that it will perform, so setting it to Relationships won't make it show as that in the menu - the name that actually shows is Moogle_X.AFS.fpTitle, which is code that tells MainMenuManager to ask this plugin what the name should be - ie, it will use the name you set in the ActorsFriendshipSystem plugin parameters. You can of course set it to something else, if you want; just be sure to enclose it in double quotes if you do that.

As to your actual error, there is something very strange about that stack trace... can you try removing the "this," we added earlier and instead put "window." at the beginning of the bind command? No quotes there.
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,577
Reaction score
875
First Language
Dutch
Primarily Uses
RMMV
the names need those "thingy" so name "YOUR MENU ENTRY" sp "Relationship"
so that name show up in the menu.

if you leave you the "those" you get the error.
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
Yes, if you're putting a literal name there. However, if you set the name as shown in @Fangzarie's screenshot, without quotes, then it will work and use whatever you set as the name in the ActorsFriendshipSystem's parameters.

Note: Fangzarie also put the name in the symbol field, which is incorrect. I'm talking about what they actually have in the name field, which is correct.
 

Fangzarie

Veteran
Veteran
Joined
Apr 5, 2018
Messages
56
Reaction score
6
First Language
English
Primarily Uses
RMMV
Yes, if you're putting a literal name there. However, if you set the name as shown in @Fangzarie's screenshot, without quotes, then it will work and use whatever you set as the name in the ActorsFriendshipSystem's parameters.
Same situation same error. Though, far less errors coupled with it. Screenshot 2020-07-15 14.17.26.png
I'm using engine version 1.6.2 if that could help any?
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
That's the same error as before, it's just that you had a plugin that changes how errors are displayed. Using engine version 1.6.2 is fine (in fact it's required, not sure if I mentioned that in the opening post).

Can you press F8 and let me know if there are any other errors in the console besides this one? Maybe there's an error loading the plugin which then causes this error.
 

Fangzarie

Veteran
Veteran
Joined
Apr 5, 2018
Messages
56
Reaction score
6
First Language
English
Primarily Uses
RMMV
Can you press F8 and let me know if there are any other errors in the console besides this one? Maybe there's an error loading the plugin which then causes this error.
Screenshot 2020-07-15 21.19.53.png
It's strange because the plugin works from a script call when it is not showing in the menu but trying to call it from the menu gets this result.
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
Nothing new, huh... but I did a little experimentation, and found that SceneManager.push.bind(SceneManager, Scene_ActorsFriendship) seems to work. Try that?
 

Fangzarie

Veteran
Veteran
Joined
Apr 5, 2018
Messages
56
Reaction score
6
First Language
English
Primarily Uses
RMMV
Nothing new, huh... but I did a little experimentation, and found that SceneManager.push.bind(SceneManager, Scene_ActorsFriendship) seems to work. Try that?
I am not at all sure what difference that made but for some reason or another that seemed to work!? Thanks so much for the help on such a weird little niche error!
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
The weirdest thing for me is that the original command did seem to work when I tried it in a blank project, even though in retrospect I can clearly see how and why it's wrong.
 

Solar_Flare

Veteran
Veteran
Joined
Jun 6, 2020
Messages
530
Reaction score
232
First Language
English
Primarily Uses
RMMV
If i may add a second suggestion:somewhere to show the actor's Nickname,maybe?
Almost missed this post, sorry... to clarify, do you mean you want to show the nickname in the friend list? Or in the leader list? Or both?
 

Carmifele

Veteran
Veteran
Joined
Jul 1, 2019
Messages
68
Reaction score
3
First Language
italian
Primarily Uses
RMMV
Well,since im making a single leader game,id like It to show the friends' nicknames...but for people making multiple leader games,i feel like showing both friends'nicknames in the friend list and the leaders'nicknames in the leader list would be best
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
2,577
Reaction score
875
First Language
Dutch
Primarily Uses
RMMV
any demo of it on how exacly use this plugin?
I have a single actor, the rest is NPC which I want to use on it. thank you.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

I stumbled upon 2 articles about why time goes faster as we age, and how to "slow down time".
Check them out, very interesting read. :D
Faster Time
Slower Time
Anyone can recommend a good gaming mouse? My mouse wheel has given up. Last mouse was steel series diablo iii edition (I know, it's been a while)
And then I figured out a way to doing a "regular animation" that's affected by PIXI particles. So now each frame of the animation gets particle effects. Soon my dreams of a world without QSprite will be realized. :kaopride:
Currently every NPC in my RPG gets a name, its kinda useless to name all, but Its also cool, somehow.
Biggest prob is to come up with different names. xD
I'm back from my visit to my family. Was really great to see them again after a year even if I had to get tested for covid for the visit.

Forum statistics

Threads
104,269
Messages
1,005,119
Members
135,780
Latest member
WorldCreator29
Top