[VXAce] How can I check if a specific party member has a state?

ConnedQuest

Warper
Member
Joined
Oct 27, 2021
Messages
3
Reaction score
1
First Language
English
Primarily Uses
RMVXA
In this case, the state I am looking for is Fallen, and in the eventing screen I only see a way to check if the actor has the state.
In my game, you can change the formation at will, and I want an enemy to stomp on the target with fallen (using force action, with a state that cancels their normal turn AI, which only lets me check party member index).
Sorry if its too wordy/poorly written, I'm new to using script and whatnot.
 
Last edited:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
34,257
Reaction score
8,712
First Language
German
Primarily Uses
RMMV
there is an eventing way to do this, but it's much longer.
you'll need an event that checks every party member for the state and then selects the fitting force action to act - basically one conditional branch for each party index with the different force actions inside.
 

ConnedQuest

Warper
Member
Joined
Oct 27, 2021
Messages
3
Reaction score
1
First Language
English
Primarily Uses
RMVXA
Oh, jeez. That doesn't sound like much fun at all.
At that point I'd rather just have them just stomp randomly. Thanks man!
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
34,257
Reaction score
8,712
First Language
German
Primarily Uses
RMMV
you can use scripts to automate that, but that will require at least some ability to understand scripts.
you can find those scripts in the pinned topic about script equivalents to event commands.
 

NhatNguyen

Peaceful Days Dev
Veteran
Joined
Sep 19, 2013
Messages
273
Reaction score
840
First Language
Vietnamese
Primarily Uses
RMVXA
I haven't got a chance to test this but you can try this code in troop event section.
Replace the 3 variables at the beginning to match with your game.
This piece of code is looping through your party then call force action on enemyIndex that will use skill_id to the party member that has been inflicted with state_id
Ruby:
enemyIndex = 0
state_id = 5
skill_id = 12
$game_party.battle_members.each_with_index do |member, index|
  if member.state?(state_id)
    params = [0, enemyIndex, skill_id, index]
    $game_troop.interpreter.instance_variable_set(:@params, params)
    $game_troop.interpreter.command_339 # Force action.
  end
end
 

ConnedQuest

Warper
Member
Joined
Oct 27, 2021
Messages
3
Reaction score
1
First Language
English
Primarily Uses
RMVXA
enemyIndex = 0 state_id = 5 skill_id = 12 $game_party.battle_members.each_with_index do |member, index| if member.state?(state_id) params = [0, enemyIndex, skill_id, index] $game_troop.interpreter.instance_variable_set:)@params, params) $game_troop.interpreter.command_339 # Force action. end end
Sorry if formatting sucks there. It works perfectly, thank you so much!
 

NhatNguyen

Peaceful Days Dev
Veteran
Joined
Sep 19, 2013
Messages
273
Reaction score
840
First Language
Vietnamese
Primarily Uses
RMVXA
Glad to hear that :p
 

Latest Threads

Latest Posts

Latest Profile Posts

Sizzle sizzle sizzle...
zbf1dCZ.gif
Sharing my past was a mistake. Will delete the post when I get access to a working internet connection again.
TFW you get a plugin working correctly with your other plugins ♡\( ̄▽ ̄)/♡

(CW for minor gore - Einar's Y incision is gone for his test portrait)

Cs5kAbZ.png
Doing some winter related edits for a cozy cottage!
I think it's the third time I am changing my skill info plugin, but as I get better at programming, I want to fix the trash I made earlier :p

Streaming while I am programming the plugin. Join in if you wish :)

Forum statistics

Threads
116,981
Messages
1,103,498
Members
152,845
Latest member
Zynarith2
Top