Jump to content
gc8

Best way to change side?

Recommended Posts

Hi

Does anyone know what is the best way to change player's side. For now I have always created a new group and used joinsilent to put player in there so that he's side changes. But is there a better way, anyone knows?

 

the reason I need better way is because I want to add respawn point for the player's group.

 

thx!

Share this post


Link to post
Share on other sites
10 hours ago, gc8 said:

Hi

Does anyone know what is the best way to change player's side. For now I have always created a new group and used joinsilent to put player in there so that he's side changes. But is there a better way, anyone knows?

 

the reason I need better way is because I want to add respawn point for the player's group.

 

thx!

a thought but doubt it will work, create a new opfor unit on a east group and switch the player to it. delete the players unit after he is switched

_gear = getUnitLoadout player;
_grp = createGroup east;
_newUnit = _grp createUnit [ O_G_Survivor_F”, position player, [], 0, "FORM"];
_newUnit setUnitLoadout _gear;
selectPlayer _newUnit;

 

Share this post


Link to post
Share on other sites

Depending on what you are doing, creating a new unit and using selectPlayer isn't ideal. Read the notes:

https://community.bistudio.com/wiki/selectPlayer

Quote

Most of the notes above do not apply to Arma 3 anymore.

Some still do. It is possible to use the command but may require some work. What side are you wanting to change to? What's wrong with the joinSIlent command? You can create the four groups at the start and change on the fly.

Share this post


Link to post
Share on other sites

@HazJ I said what for I need it in my post :) respawning places

Share this post


Link to post
Share on other sites
Quote

the reason I need better way is because I want to add respawn point for the player's group.

Why do you need to even change the side for this?

  • Like 2

Share this post


Link to post
Share on other sites
12 hours ago, HazJ said:

Why do you need to even change the side for this?

 

I need to make the player hostile to resistance by changing side to east and not hostile by changing side to west.

 

Share this post


Link to post
Share on other sites

I did some testing years ago and at least back then setFriend was quite unreliable when changing back to enemy (AI wouldnt recognize if they "knew" about the unit before or only after many seconds). The only thing working instantly was joinGroup in opposing side.

Share this post


Link to post
Share on other sites
1 minute ago, HazJ said:

 

The problem is I'm making MP mission so I don't think I can use setFriend because only some players are supposed to be hostile to resistance.

 

Share this post


Link to post
Share on other sites

Do you make use of AI? You could use addRating on player to make them hostile.

Share this post


Link to post
Share on other sites
7 minutes ago, HazJ said:

Do you make use of AI? You could use addRating on player to make them hostile.

 

The player may have AIs in his group.

Share this post


Link to post
Share on other sites

What I usually do for this is create a new group of the desired faction, create a unit of that faction and add him to that group.  Now have whichever units from any other faction join this group.  They'll all become the side of the group leader, the first member in the group.  Once all are added delete the first unit and job's done.

Example:

Spoiler

private _priorityGroup = createGroup east;
"O_officer_F" createUnit [_position, _priorityGroup];
priorityObj1 = createVehicle ["B_AAA_System_01_F", _position, [], 0, "NONE"];
createvehiclecrew priorityObj1;
(crew priorityObj1) join _priorityGroup;
deleteVehicle ((units _priorityGroup) select 0);

 

 

There're probably better ways of doing this, but this works reliably.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×