gc8 977 Posted August 5, 2018 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
gokitty1199 225 Posted August 6, 2018 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
HazJ 1289 Posted August 6, 2018 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
gc8 977 Posted August 6, 2018 @HazJ I said what for I need it in my post :) respawning places Share this post Link to post Share on other sites
HazJ 1289 Posted August 6, 2018 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? 2 Share this post Link to post Share on other sites
gc8 977 Posted August 7, 2018 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
HazJ 1289 Posted August 7, 2018 Check out: https://community.bistudio.com/wiki/setFriend Share this post Link to post Share on other sites
nomisum 129 Posted August 7, 2018 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
gc8 977 Posted August 7, 2018 1 minute ago, HazJ said: Check out: https://community.bistudio.com/wiki/setFriend 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
HazJ 1289 Posted August 7, 2018 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
gc8 977 Posted August 7, 2018 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
stanhope 411 Posted August 7, 2018 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