Jump to content
Sign in to follow this  
Aebian

Put Civillian in BLUFOR Group if he wears U_O_CombatUniform_ocamo ?

Recommended Posts

Hi everyone :D

I got a simple question.

I've made a mission and placed a civilian men. This men is in a OPFOR group (opfor officer spawned and presence to 0).

Now i wanna make a trigger / script or something that put my men in a BLUFOR Group if he wears the U_O_CombatUniform_ocamo (BLUFOR Soldier Uniform) on his body and if he doesnt he will be switched back to the OPFOR group.

Thanks,

Share this post


Link to post
Share on other sites

I think BI had a module for switching sides but they took it out, I read somewhere that they would include it in the final release?? I have a similar situation with switching factions, I hope they do bring it back. I guess we'll find out September 12th.

Share this post


Link to post
Share on other sites

Is there an other option?

Actually i'm OPFOR :D The BLUFOR near the OPFOR is a Officer too and got the same 0 percent as the OPFOR ^^

arma3%202013-08-16%2021-25-42-08.jpg

The next step i place a death blufor soldier so i can pickup his clothes. And if i wear U_O_CombatUniform_ocamo i wanna be switched to the BLUFOR Group ^^

Share this post


Link to post
Share on other sites

Does he just have to change once? Changing once is trivial, changing back is difficult. There's a reason the Devs dropped this kind of thing from the game features. Just use setCaptive.

Share this post


Link to post
Share on other sites

@kylania:

So if i wearing the clothes i set "this setcaptive true;" ? But then i can't switch back because im captive true?! I need something that check if i wearing U_O_CombatUniform_ocamo also i'm captive true ^^

Share this post


Link to post
Share on other sites

Hey kylania, any chance you know if it's true or not if they plan to bring back the switch sides module?

Share this post


Link to post
Share on other sites

The problem is for a civilian to be a different side you need to group them with a higher ranked unit of that side. So at game start you can place that unit on the map, delete it immediately and the civ will remain in that group on that side.

To switch to your side join have him join your group.

But to switch back simply joining the other group doesn't work, he remains your side. So you'd have to spawn another unit, join him to that and switch him back and I was too lazy to do all that. So I said just use setCaptive, but that won't work since setCaptive just sets you as a civ anyway... hmm.

I need a nap.

---------- Post added at 03:43 PM ---------- Previous post was at 03:42 PM ----------

DChristy, any features mentioned before September 2013 should be considered as never going to be part of ArmA3. :) That's the only safe bet.

Share this post


Link to post
Share on other sites

So theres no way via script or something? :D

Damn =/

Share this post


Link to post
Share on other sites

No there are many ways. Just no ways that I, in my post-Friday-beer-before-leaving-work state, was willing or able to script up. :)

Share this post


Link to post
Share on other sites

I have done something (hopefully) similar to what you are wanting to do - it is probably a mess and can be cleaned up.

Like Kylania said it is a lot of mucking around, but hopefully it works in MP - all my mates ditched me for PayDay 2 until A3 releases full in September.:(

Anyway!

I have a captive that needs rescuing, the three factions can rescue him/them.

The critical thing is that at any time the other factions can kill them or make them change to their side.

It makes it really hard if the Civ has a gun, but hey. Who doesn't want a challenge right?

Hope this helps a little.

Edited by KevsnoTrev
Link removed - wrong example...... :-(

Share this post


Link to post
Share on other sites

I think it helped not xD I don't wanna release civilians. I'm a civillian with a gun und wearing BLUFOR Clothes but i got not switched to the BLUFOR side / team

Share this post


Link to post
Share on other sites

i thought that after posting, but instead of ripping the code there is some team 'switch' stuff there. All I did was group the Civ with the person who rescued them.

Then they have an option to switch when the other group 'stole' the civ. I believe this changes the faction back and forth as needed.

Lets re-try this.

is the civilian a playable?

If so do they ever get grouped with another playable or AI group?

I think you can check for this :

/*  may have to use unit allowUniformChange true/false to make this work?? untested
call on unit as required by using  this execvm "scriptname.sqf";       <-- replace scriptname with whatever you want ot call it
*/

// not sure if it should run local or on server - might have to test with this.
private["_unit"];

// delclares <-- not sure if they all need doing like this but why not, at least prevent errors.
_unit = _this select 0;
_newunit= objnull;
_grp=grpnull;

while {true} do {
   if (uniform _unit == "U_O_CombatUniform_ocamo") then{
       if (side _unit == west) then {
           //do nothing as this is correct - wearing uniform and side WEST
       } else {
           // spawn a bluefor unit and group them to _Unit
           _grp = createGroup west;
           _newunit = _grp createUnit ["B_soldier_AR_F", [0,0,0], [], 1, "NONE"];
           _unit joinsilent _grp; sleep 0.1;
           _unit joinsilent grpNull;
           deletevehicle _newunit;
       };
   } else {
       if (side _unit == east) then {
           // do nothing as the _unit is not wearing the Blue uniform and is side EAST
       } else {
           // Spawn an OPFOR unit and group to _unit
           _grp = createGroup east;
           _newunit = _grp createUnit ["O_Soldier_F", [0,0,0], [], 1, "NONE"];
           _unit joinsilent _grp; sleep 0.1;
           _unit joinsilent grpNull;
           deletevehicle _newunit;
       };
   };
   sleep 1;  // make longer or shorter as needed
};

It, again, may not be efficient but give it a go.

currently untested as i don't have time to create a sample mission.

---------- Post added at 08:23 ---------- Previous post was at 08:18 ----------

if you want to test for all BLUFOR uniforms then you will have to create an array and test the player uniform against it. probably more like if (uniform _play in _uniformarray)

Edited by KevsnoTrev

Share this post


Link to post
Share on other sites

He is playable :D

arma3%202013-08-16%2021-25-42-08.jpg

I tried these, but i'm always BLUFOR :X

_unit = _this select 0;
_grpb = creategroup west;
_grpo = creategroup east;
while {true} do 
{
   if (uniform _unit == "U_B_CombatUniform_mcam" or uniform _unit == "U_B_CombatUniform_mcam_tshirt" or uniform _unit == "U_B_CombatUniform_mcam_vest" or uniform _unit == "U_B_CombatUniform_mcam_worn" or uniform _unit == "U_B_CombatUniform_sgg" or uniform _unit == "U_B_CombatUniform_sgg_tshirt" or uniform _unit == "U_B_CombatUniform_sgg_vest" or uniform _unit == "U_B_CombatUniform_wdl" or uniform _unit == "U_B_CombatUniform_wdl_tshirt" or uniform _unit == "U_B_CombatUniform_wdl_vest" or uniform _unit == "U_B_GhillieSuit" or uniform _unit == "U_B_HeliPilotCoveralls" or uniform _unit == "U_B_PilotCoveralls" or uniform _unit == "U_B_SpecopsUniform_sgg" or uniform _unit == "U_B_Wetsuit") then
   {
    [_unit] joinSilent _grpb;
   }
   else
   {
   [_unit] joinSilent _grpo;
   };
};


Edited by Mitchell

Share this post


Link to post
Share on other sites

Updated the script, but won't work.

_unit = survivor;_grpb = creategroup west;
_grpo = creategroup east;


while {true} do 
{
   if (uniform _unit == "U_B_CombatUniform_mcam" or uniform _unit == "U_B_CombatUniform_mcam_tshirt" or uniform _unit == "U_B_CombatUniform_mcam_vest" or uniform _unit == "U_B_CombatUniform_mcam_worn" or uniform _unit == "U_B_CombatUniform_sgg" or uniform _unit == "U_B_CombatUniform_sgg_tshirt" or uniform _unit == "U_B_CombatUniform_sgg_vest" or uniform _unit == "U_B_CombatUniform_wdl" or uniform _unit == "U_B_CombatUniform_wdl_tshirt" or uniform _unit == "U_B_CombatUniform_wdl_vest" or uniform _unit == "U_B_GhillieSuit" or uniform _unit == "U_B_HeliPilotCoveralls" or uniform _unit == "U_B_PilotCoveralls" or uniform _unit == "U_B_SpecopsUniform_sgg" or uniform _unit == "U_B_Wetsuit") then
   {
    [_unit] joinSilent _grpb;
} else {
   [_unit] joinSilent _grpo;
   };
};


Unit is named survivor and a civilian. If i go to a blufor i got killed. If i take blufor clothes and put them off i blufor too but no opfor =/

Edited by Mitchell
[PHP] instead of [CODE]

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
Sign in to follow this  

×