Jump to content
daza

Losing Squad Leader role to Ai problem

Recommended Posts

1#

What happens is when you die one of the Ai in your squad assumes command, usually this happens until Player has repawned and you hear a VO for PC saying assuming command again. However in my new MP mission i was testing i died along with my squad in a chopper crash, and when i respawned with them i lost the Squad Leader role to the Ai. This also happened today when i was playing Zeus with a friend, he died and the Ai took command of the squad, as the Game Master in Zeus mode i tried to regroup everyone back to him, but wasn't able to. I haven't really noticed this being a big problem with past MP coop missions ive made. Revive is on and Respawn custom is used. 

 

Is there a reason this happens? or is it a bug? 

 

2#

 

Also similarly related..in another mission i am making, as a subordinate to an Ai Squad Leader, if you die you can choose your spawn positions, i placed some Ai with scripts that will add them to the player. In that group i defined a new group for Player and then used the join player command for the Ai which the Addaction was attached to, these guys would run off towards the Ai squad leader which i was a member of his team. I know i can use the other command  'selectleader player' but that would make me the squad leader of my current squad, which if you had spawned kms away from, i want the Player to be able to form up a new squad by recruiting some Ai who are idle in those spawn areas. So how do i leave the previous group? as it seems grp1 = group player in the script doesnt seem to form a new group. I dont know unit the player will take over so i cant use grp1 group this; in the units init. 

*Update*

Half Solved this one; i need to use [player] join GrpNull; However is there a way i can make the groupid in the script unique for each new player? who might do this? 

 

This is new latest version of the basic script

_X = cursorTarget;
if (NewG==0) then {
[player] join grpNull;
Grp1 = group player; 
NewG=1;
};
[_X] join player; _X removeAction Adder; 

This works fine for one player. One way it could work is giving the default units all a variable name and use a switch code method to and paste in this script for each one- but with a different groupId assigned to those that do recruit new Ai into a separate squad. This this the only way to do it or an easier way?

 

This is what i ended up with

 

_X = cursorTarget;

if (player == VietC1 && NewG1==0) then {
[player] join grpNull;
 Grp1 = group player;  
 NewG1=1;
 };
 
 if (player == VietC2 && NewG2==0) then {
[player] join grpNull;
 Grp2 = group player;  
 NewG2=1;
 };
 
  if (player == VietC3 && NewG3==0) then {
[player] join grpNull;
 Grp3 = group player; 
 NewG3=1;
 };
 
  if (player == VietC4 && NewG4==0) then {
[player] join grpNull;
 Grp4 = group player;  
 NewG4=1;
 };
 
  if (player == VietC5 && NewG5==0) then {
[player] join grpNull;
 Grp5 = group player;  
 NewG5=1;
 };
 
   if (player == VietC6 && NewG6==0) then {
[player] join grpNull;
 Grp6 = group player;  
 NewG6=1;
 };
 
   if (player == VietC7 && NewG7==0) then {
[player] join grpNull;
 Grp7 = group player;  
 NewG7=1;
 };
 
 
[_X] join player; _X removeAction Adder; 
 

It seems to work, just need to test it out with a friend but should work.

Share this post


Link to post
Share on other sites

This problem often breaks group hostage rescue type missions in coop where the bunch of rescuees join the player group and you are supposed to get them into an vehicle and exfil. If the player dies, command of the group passes to an AI who doesn't know what he's supposed to be doing.

Hoping we can come up with a good solution to this.

Share this post


Link to post
Share on other sites

Thanks for your reply Tankbuster. I did a pow rescue mission earlier this year and didnt have this problem that i recall. Its quite a serious problem if like you are using Zeus and your friends who may be Squad Leaders loses their command to an Ai every time they die. I hope this gets fixed too, it maybe a problem that sometimes occurs as in recent memory resuming command after death never was an issue until recently. 

Share this post


Link to post
Share on other sites

Oh, I'm talking about this happening years ago when I used to edit Domination missions.

Share this post


Link to post
Share on other sites

The problem could be that if you were the pilot, it may BLAME you for the crash and demote you (give you a negative rating).  This would mean that you can no longer lead the squad.  This happens to me if I run over suicidal foot soldiers (however they do tend to shoot me once I get out of the car/tank etc)

Share this post


Link to post
Share on other sites

Yes, if you get a big enough negative rating, less than -2000, everyone will start shooting at you, civilians run away and nobody can get in your vehicle.

Share this post


Link to post
Share on other sites
8 hours ago, kremator said:

The problem could be that if you were the pilot, it may BLAME you for the crash and demote you (give you a negative rating).  This would mean that you can no longer lead the squad.  This happens to me if I run over suicidal foot soldiers (however they do tend to shoot me once I get out of the car/tank etc)

 

Hmmm..interesting thought. Wouldn't they shoot me on sight though? even after respawning? My friend playing a SL during Zeus maybe accidently naded an Ai squad member perhaps, i dont think he said he accidently killed a friendly Ai, but perhaps that is what happened and he lost his command as you say with the negative rating. I will experiment with this to confirm, at least if it is the case there is an answer why. Thanks for suggesting it Kremator.

Share this post


Link to post
Share on other sites

So,

 

The solution in this thread didn't work for me, and was way too complicated for what it's supposed to do, so here's what I did.

For the problem of losing squad control after doing something stupid (running over suicidal squad members, crashing the helicopter, etc) to return myself to squad leader.

In the editor, assign a variable for the squad in my case, blusquad. Then assign a variable for the squad leader. In my case, this is blusquad_leader.

In the mission's init.sqf, put in a line - we are going to call a .sqf. (execVM "squadleader.sqf";).

Create a .sqf in the mission folder with that name. In the .sqf put:

 

while {true} 
do
{
if (!alive blusquad_leader) 
then
{sleep 20; blusquad selectLeader blusquad_leader}

}
;

 

This is going to loop a script (via the while do command) that checks if blusquad_leader is alive. When he dies, it's going to wait 20 seconds (give or take in the game engine) then assign him as the squad leader for blusquad.

That's it.

Share this post


Link to post
Share on other sites

Not totally related but also noticed that using doMove commands to squad members often leads to command/ordering issues afterwards. For instance I use a doMove for squaddies to approach injured enemies (to finish them off) but afterwards Ill use Return to Formation only to hear my guy say "#2 Join group! .#3 Join Group!" etc..

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

×