Non combantant actor

PresaDePrata

Veteran
Veteran
Joined
Dec 4, 2014
Messages
90
Reaction score
18
First Language
Portuguese
Primarily Uses
RMMV
Hi,

I've searched a while for a plugin that would do this: have an actor, preferable the leader actor, as non combatant. Similar to Pokémon, but with the twist that this battler appear on the menu, have variables on his own, which may or not be the same variables as the other actors. It does not lvl up.

I've read and tried both Tsukihime's Guess Actors and CustomPartyLeader, but none of it does what i want. Do you know if someone has something like that?

If you don't, i'll try to make a plugin. But to be honest, altough i know javascript, i have not much of a clue how to start a plugin like this, that would change Game System and Game Actors. If you could give a guidance, i'll be happy to code it on my own.

Thanks.
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
1,898
Reaction score
623
First Language
Dutch
Primarily Uses
RMMV
there a trick for it, but it can be buggy over time unless done perfectly though.
Evented stuff arent allways the best, but you can try this:

Actor 1 (leader)
Actor 2 (battler)
Actor 3 (battler)

or how you want to do it.
on the event page of enemies (I think) (remove actor 1) so Actor 2 leads.
after battle is won, add actor 1, and set its position back to 1.

this can be done in common event though and call that in the troop/enemies events tab.

While I dont know every scriptcall for position part, you might be able to find that.
but if you prefer a plugin, than you need to make 1. but guess followers can be usefull
if you make actor 2 leader, and the rest are followers.

Im not sure if there is a battle plugin that assign which actor fights, and which do not.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,143
Reaction score
1,108
First Language
Spanish
Primarily Uses
RMVXA
game_party.battlemembers()

you'll see it's allmembers(), picked from 0 to number_of_battlers.

change that to be 1 to number_of_battlers
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
39,366
Reaction score
12,867
First Language
English
Primarily Uses
RMMV
But that would also affect followers on the map
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
1,898
Reaction score
623
First Language
Dutch
Primarily Uses
RMMV
@gstv87 that scriptcall doesn't work for MV. that one is used in VXAce.
but that affect on map as well, even if you do that way, you still need to
re-assign the party leader back to the party.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,143
Reaction score
1,108
First Language
Spanish
Primarily Uses
RMVXA
@ShadowDragon that's not a scriptcall, that's merely a reference.

you can put up a new definition on the followers object, or the menu, or whatever object that depends on the party.
by default, the party is the root object, and everything refers to it.
if you need to alter the line up only for the battle, find the line that brings the battlers from the party, and redirect it, leaving everything else as it is.

the point is, it can be done, it's just a matter of knowing where and to what extent.
 

mlogan

Global Moderators
Global Mod
Joined
Mar 18, 2012
Messages
14,779
Reaction score
8,199
First Language
English
Primarily Uses
RMMV

I've moved this thread to Plugin Requests. Please be sure to post your threads in the correct forum next time. Thank you.

 

PresaDePrata

Veteran
Veteran
Joined
Dec 4, 2014
Messages
90
Reaction score
18
First Language
Portuguese
Primarily Uses
RMMV
@mlogan

I thought it could be a plugin request but since i'm willing to create one and only need some guidance, would it still be considered a plugin request? But it's no problem at all.

@ShadowDragon

Thank, i'll try that. If it works i'll try to automatize it with a plugin.

@gstv87

If i understood you correctly, all i need to do is to check who's part of battle.partymembers() then put a flag on an actor who i want to remove. Is that so? If it is, it's a good way to start.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,143
Reaction score
1,108
First Language
Spanish
Primarily Uses
RMVXA
If i understood you correctly, all i need to do is to check who's part of battle.partymembers() then put a flag on an actor who i want to remove. Is that so? If it is, it's a good way to start.
no.
what you need to do is find what composes *the set of actors that take part in the battle*.
I'll tell you what does: *the actors that take part in the battle* is the set of actors labeled *party member 0* to *party member N*, where N is "max battle members"
*party member X* can be any actor from the actor database, depending on which position they occupy within the party object.
*party member 0* doesn't mean *actor 0*.

given that the party object can be re-arranged via the main menu, you'll have to either disable that, or manually state which actors are going to take part in the battle, at either the battle scene or the party object itself.

the battle scene reads the information about who's gonna take part in the battle from the party object, and so does the followers object.
so if you want to affect the battle but not the followers, you have to work at battle scene level, not at party level.
 

PresaDePrata

Veteran
Veteran
Joined
Dec 4, 2014
Messages
90
Reaction score
18
First Language
Portuguese
Primarily Uses
RMMV
@gstv87

I see. Thanks for the direction. I'll debug the battle scene to see where can i put a flag to remove the actors who has this flag on
 

PresaDePrata

Veteran
Veteran
Joined
Dec 4, 2014
Messages
90
Reaction score
18
First Language
Portuguese
Primarily Uses
RMMV
Ok, i've got a little advance on this. There's this section on rpg_objects

JavaScript:
Game_Player.prototype.refresh = function() {
    var actor = $gameParty.leader();
    var characterName = actor ? actor.characterName() : '';
    var characterIndex = actor ? actor.characterIndex() : 0;
    this.setImage(characterName, characterIndex);
    this._followers.refresh();
};
If change this line
var actor = $gameParty.leader();

to

var actor = $gameActors.actor(1);


where actor(1) is the first actor in the database and remove him from the start members of the game, i can get this actor to be on map but not in battle.

He's been removed from everything besides the map. Which is not what i want, but it's an advance.
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,143
Reaction score
1,108
First Language
Spanish
Primarily Uses
RMVXA
i can get this actor to be on map but not in battle.
because the battle grabs the party (which *actors* are part of), and by default *the player* is *Party Member 1*

by making *the player* be *Actor 1* instead of *Party Member 1*, you've disconnected *Actor 1* from the battle.

the only thing that exists, from a data point of view, are the actors in the database.
everything else (the party, the battle party, the followers and the player) are arrangements of actors.
 

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

Latest Threads

Latest Posts

Latest Profile Posts


It's my cute little ghost~
Minecraft Dungeons is a great example of a game that's much simpler than other games in its genre but almost as equally immersive and fun to play. Lotta RPGmaker devs could learn from that lesson.
Well, it's been a while since the last time I came here... Is there a JS scripting FAQ? I'd like to know what it's capable of achieving, and how :rswt
I love the Time Fantasy tiles, but haven't played anything made with it yet. Can anyone recommend me something?
Vote for what I show more indepth on Twitter tomorrow from the MZ default resources

Forum statistics

Threads
99,373
Messages
964,564
Members
130,981
Latest member
jimmydark
Top