Let only the first 4 actors to use skills and call formation by event

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
In my game there are so many actors (not like a monster collector, but quite), so i want to limit the ability to use skill (especially healing skills). I want to do this by letting only the first 4 actors to use them.
if this function was on, the player would still be able to change the order of the actors by formation menu. I already removed the formation option by the menu, how can I call it by an event?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,836
Reaction score
7,894
First Language
German
Primarily Uses
RMMV
Perhaps you should explain what exactly you want in more detail.

For example what is the purpose of the reserve members if they can't use skills and the player can't use formation screen to change their order?
In such a case the reserve members would have no purpose at all and could easily be removed from the party.

because that would be the easiest way to handle the battle members by event and limiting the party size to four, especially if the only thing you want to do is to remember which actors are available then that is done outside the party with events better than what you're trying to do.

additionally, are you using VX or VXA? that are two different programs, and you posted in VXA but have VX as your primary use in your profile.
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
Perhaps you should explain what exactly you want in more detail.

For example what is the purpose of the reserve members if they can't use skills and the player can't use formation screen to change their order?
In such a case the reserve members would have no purpose at all and could easily be removed from the party.

because that would be the easiest way to handle the battle members by event and limiting the party size to four, especially if the only thing you want to do is to remember which actors are available then that is done outside the party with events better than what you're trying to do.

additionally, are you using VX or VXA? that are two different programs, and you posted in VXA but have VX as your primary use in your profile.

I use vx ace, maybe I need to change my primary use.
The purpose is to limit healing skills,becouse since there will be about 20/30 actors the player would have "infinite" healing. For the formation problem I already found a solution:
- a switch called formation is by default off
- a common event do: if switch in on active acces to formation, if off disble it.
- when to arrive to a save point and choose to change formation the switch turns on and let the player acces to formation, than it immediatly turns off.

I agree with you, it would be perfect to graphically remove from the party the reserves, but I tought it would remove them also in the formation scene.

(sorry for bad english)
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
I found this script:
Code:
module Soul

module ReservePartyChange

NUMBER_OF_PARTY_MEMBERS = 3

end

end

 

class Window_MenuStatus < Window_Selectable

#--------------------------------------------------------------------------

# * Get Number of Items

#--------------------------------------------------------------------------

def item_max

return Soul::ReservePartyChange::NUMBER_OF_PARTY_MEMBERS

end

end

to hide reserves in the party and it works. The only thing I want to do is to "disable" this command if switch 82 is on.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,836
Reaction score
7,894
First Language
German
Primarily Uses
RMMV
yes, removing the actors from the reserve would remove them from the formation scene - but that was exactly the point, you would be replacing the formation scene with something else instead of blocking it temporarily - and there are a lot of other options possible.

so better ask from the other side: what is the purpose of having actors in your reserve?
what should they still be able to do while in the reserve?

because at the moment the answer seems to be "nothing", and then you don't need them in the party during that time at all.
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
yes, removing the actors from the reserve would remove them from the formation scene - but that was exactly the point, you would be replacing the formation scene with something else instead of blocking it temporarily - and there are a lot of other options possible.

so better ask from the other side: what is the purpose of having actors in your reserve?
what should they still be able to do while in the reserve?

because at the moment the answer seems to be "nothing", and then you don't need them in the party during that time at all.

If they are reserves nothing, but the player can decide to use them in the party. I don't know if I was clear. This function is also in yo kai watch, you can change your party only by a saving point.
The point is that reserves need to disappear in the menu but appear in the formation menu.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,836
Reaction score
7,894
First Language
German
Primarily Uses
RMMV
In that case you should do something entirely different, as it would be simultaneously easier to handle and enable a lot of story options.

turn the savepoint into a transfer to a special map, like a camp map or so.
on that map, every possible actor has an event representing him (remember to turn off followers on entering the map).

these actor events need at least three pages: One page for not yet hired, one page for hired but in reserve and one page for in party.

the first page is empty - no conditions, no sprite, no commands. that is "not yet hired".

when the player finds the actor and first hires him/her, you set a switch "actor hired" to ON.
that switch will be the condition for the second page with the actor sprite and dialoge (show text and show choice) of the actor asking if the player want him in the party.
if yes, check with control variable if the third party slot is empty - if not "party is full, remove someone" and if yes add that actor to the party.

last page gets condition "actor exists" (which means actor is in party) and asks if the player wants to remove the actor from the party.

those three pages are for basic functions, but you can add more and more show text to have the actors talk with each other or trade or use a smithy or whatever.

you might want to add a check for the number of party members on leaving the camp/savepoint map to prevent the player from going without full party.

with this you can keep the formation screen permanently off, have the other actors not in the menu and even make cutscenes and talks for the story in that camp map.
no need for scripts at all this way.
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
In that case you should do something entirely different, as it would be simultaneously easier to handle and enable a lot of story options.

turn the savepoint into a transfer to a special map, like a camp map or so.
on that map, every possible actor has an event representing him (remember to turn off followers on entering the map).

these actor events need at least three pages: One page for not yet hired, one page for hired but in reserve and one page for in party.

the first page is empty - no conditions, no sprite, no commands. that is "not yet hired".

when the player finds the actor and first hires him/her, you set a switch "actor hired" to ON.
that switch will be the condition for the second page with the actor sprite and dialoge (show text and show choice) of the actor asking if the player want him in the party.
if yes, check with control variable if the third party slot is empty - if not "party is full, remove someone" and if yes add that actor to the party.

last page gets condition "actor exists" (which means actor is in party) and asks if the player wants to remove the actor from the party.

those three pages are for basic functions, but you can add more and more show text to have the actors talk with each other or trade or use a smithy or whatever.

you might want to add a check for the number of party members on leaving the camp/savepoint map to prevent the player from going without full party.

with this you can keep the formation screen permanently off, have the other actors not in the menu and even make cutscenes and talks for the story in that camp map.
no need for scripts at all this way.
Sorry but i didn't understand. And anyway if i do this I would have to upset a lot of events. Maybe is easier to use the code i found before. Is possible to disable it if switch is on?
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
In that case you should do something entirely different, as it would be simultaneously easier to handle and enable a lot of story options.

turn the savepoint into a transfer to a special map, like a camp map or so.
on that map, every possible actor has an event representing him (remember to turn off followers on entering the map).

these actor events need at least three pages: One page for not yet hired, one page for hired but in reserve and one page for in party.

the first page is empty - no conditions, no sprite, no commands. that is "not yet hired".

when the player finds the actor and first hires him/her, you set a switch "actor hired" to ON.
that switch will be the condition for the second page with the actor sprite and dialoge (show text and show choice) of the actor asking if the player want him in the party.
if yes, check with control variable if the third party slot is empty - if not "party is full, remove someone" and if yes add that actor to the party.

last page gets condition "actor exists" (which means actor is in party) and asks if the player wants to remove the actor from the party.

those three pages are for basic functions, but you can add more and more show text to have the actors talk with each other or trade or use a smithy or whatever.

you might want to add a check for the number of party members on leaving the camp/savepoint map to prevent the player from going without full party.

with this you can keep the formation screen permanently off, have the other actors not in the menu and even make cutscenes and talks for the story in that camp map.
no need for scripts at all this way.


I've an idea. I can do a common event with: if actor is a reserve put status (a status that blocks skills). But I don't know how to check if actor is a reserve.
 

Sixth

Veteran
Veteran
Joined
Jul 4, 2014
Messages
2,180
Reaction score
834
First Language
Hungarian
Primarily Uses
RMVXA
You can check if the actor's party index is higher than the maximum battle members allowed:
Code:
$game_actors[ID].index >= $game_party.max_battle_members
But do note, the moment you put that actor into the active battle members party, he/she will no longer be "reserved". Therefore, your idea will most probably not work.

From the sound of it, you use a custom formation menu?
Otherwise I see no reason why would you use a switch for disabling/enabling the formation "menu" instead of simply using the Change Formation Access event command for it.

Aside from this, simply hiding the actors at the main menu screen won't help you with disabling skill usage. The player can still toggle between actors in the other menus, the skill menu included, so he will still be able to use skills from there. You would need to make the actor swap account for active battle members only. Fortunately, that is not hard to do at all, assuming you use the default menus.
Code:
class Game_Party < Game_Unit

  def menu_actor_next
    index = battle_members.index(menu_actor) || -1
    index = (index + 1) % battle_members.size
    self.menu_actor = battle_members[index]
  end

  def menu_actor_prev
    index = battle_members.index(menu_actor) || 1
    index = (index + battle_members.size - 1) % battle_members.size
    self.menu_actor = battle_members[index]
  end

end
Insert this script below the default scripts. This will prevent the actor swap to select reserve members on all default menus.
Using this little script and disabling/enabling the formation access at the right places, you should be able to do what you want (if I understood what you want correctly, that is),
 

Ina00

Veteran
Veteran
Joined
Oct 10, 2020
Messages
78
Reaction score
2
First Language
Italian
Primarily Uses
RMVXA
You can check if the actor's party index is higher than the maximum battle members allowed:
Code:
$game_actors[ID].index >= $game_party.max_battle_members
But do note, the moment you put that actor into the active battle members party, he/she will no longer be "reserved". Therefore, your idea will most probably not work.

From the sound of it, you use a custom formation menu?
Otherwise I see no reason why would you use a switch for disabling/enabling the formation "menu" instead of simply using the Change Formation Access event command for it.

Aside from this, simply hiding the actors at the main menu screen won't help you with disabling skill usage. The player can still toggle between actors in the other menus, the skill menu included, so he will still be able to use skills from there. You would need to make the actor swap account for active battle members only. Fortunately, that is not hard to do at all, assuming you use the default menus.
Code:
class Game_Party < Game_Unit

  def menu_actor_next
    index = battle_members.index(menu_actor) || -1
    index = (index + 1) % battle_members.size
    self.menu_actor = battle_members[index]
  end

  def menu_actor_prev
    index = battle_members.index(menu_actor) || 1
    index = (index + battle_members.size - 1) % battle_members.size
    self.menu_actor = battle_members[index]
  end

end
Insert this script below the default scripts. This will prevent the actor swap to select reserve members on all default menus.
Using this little script and disabling/enabling the formation access at the right places, you should be able to do what you want (if I understood what you want correctly, that is),

Thank you, but I tried and nothing seems to be changed. But don't worry I found an easier way. Since the problem is to limit healing skills, i just made a common event for each actor that have healing skills, and in the event a check of if the actor is a battle member. If false (so it's a reserve) remove all healing skills. If true there's another check that checks the level when the actor learn that ability. If courrent level is higer or equal to the skill learn level it adds the skill, else it removes it.
 

Latest Threads

Latest Posts

Latest Profile Posts

Everything's going to be alright! We're all in this together. <3
Aaaaannd published my game's tech demo. :D

Feel free to download and play it. And give feedback!
Hey everyone, we know that the edit bar is missing. We're working on it. You can talk about it in the announcement here: https://forums.rpgmakerweb.com/index.php?threads/forum-errors-missing-edit-bar-etc.132715/
So, explain why we can no longer use BBC code or smilies in our posts? This sparks much sadness...
Are we now stuck with WYSIWYG ? I cannot revert back my posts to good old raw text ?

Forum statistics

Threads
107,794
Messages
1,032,252
Members
139,941
Latest member
Finley
Top