Jump to content
Sign in to follow this  
CodeMonkee

How to make late joining players spawn somewhere else?

Recommended Posts

Hey all!

I'm normally pretty savvy with the editor, however I'm running into a little bit of an issue with my current mission.

I'm starting the mission with a helicopter insertion, so the players at the start of the mission spawn inside a helicopter, and are taken to the drop point. At the drop point, the swimmers are ejected, and the helicopter flies away, to be destructed off screen.

However this is posing a problem with spawns for me. I want only the players that start this mission on time to spawn in the helicopter, and ones later to spawn on a beachhead by the drop zone, because the original spawn heli will not be present after the start.

Does anyone have suggestions for how to do this?

I tried to make a trigger switch spawn zones after the helicopter reaches a certain area, but that didn't work, probably because I was moving them into the helicopter in their init lines...

So consider me stumped, for the moment.

How do I make late players spawn on a beach rather than trying to spawn into a helicopter?? :confused:

Many thanks,

CodeMonkee

Share this post


Link to post
Share on other sites

Try this, untested.

init.sqf

if (!isDedicated) then { //Run code on the client(s) 

waitUntil { !isNull player }; //wait Until player variable is viable to use (jip)

  if (isNil "M_Start") then { //if the helo hasn't reached the LZ then move player into the cargo. Else move them to a position on the ground.
     player moveInCargo myHelo;
  } else {
     player setPosATL getposATL someObject;
  };

};

When the helo reaches the LZ, to drop of the players initially, assign M_Start any value and PV it. IE; M_Start=1; publicvariable "M_Start"; This way, JIP players will spawn into the helo if it's still enroute to the LZ, else they will spawn at the position you designate. Hope that helps.

Edited by Iceman77

Share this post


Link to post
Share on other sites

I have a very similar question hope its ok to hijack post.

Is it possible to call up the respawntemplate MenuPosition option at start for Jips ?

Share this post


Link to post
Share on other sites
Try this, untested.

init.sqf

if (!isDedicated) then { //Run code on the client(s) 

waitUntil { !isNull player }; //wait Until player variable is viable to use (jip)

  if (isNil "M_Start") then { //if the helo hasn't reached the LZ then move player into the cargo. Else move them to a position on the ground.
     player moveInCargo myHelo;
  } else {
     player setPosATL getposATL someObject;
  };

};

When the helo reaches the LZ, to drop of the players initially, assign M_Start any value and PV it. IE; M_Start=1; publicvariable "M_Start"; This way, JIP players will spawn into the helo if it's still enroute to the LZ, else they will spawn at the position you designate. Hope that helps.

EDIT*: Nope, I lied, I just found an issue... It spawn the "player" in the helicopter, but not any playable characters. The playable characters that the rest of the units spawn as just spawn where I set them in the start... How do I fix that??

Also the people that spawn, if they die, instantly respawn in the area they were at before... which is also problematic. Help?

Edited by CodeMonkee

Share this post


Link to post
Share on other sites

Try this, untested:

if (isServer) then {{_x moveInCargo myHelo} foreach playableUnits;};
if (!isDedicated) then { 

waitUntil { !isNull player }; 

  if (isNil "M_Start") then {
     player moveInCargo myHelo;
  } else {
     player setPosATL getposATL someObject;
  };

};

[] Spawn {
waituntil {!isNil "M_Start"};
"respawn_west" setmarkerPos getPosATL object_name;
};

I'm a little unclear about how units are respawning, where, and how. Are you using a simple respawn_west marker with "base" type respawn?

Edited by Iceman77

Share this post


Link to post
Share on other sites
Try this, untested:

if (isServer) then {{_x moveInCargo myHelo} foreach playableUnits;};
if (!isDedicated) then { 

waitUntil { !isNull player }; 

  if (isNil "M_Start") then {
     player moveInCargo myHelo;
  } else {
     player setPosATL getposATL someObject;
  };

};

[] Spawn {
waituntil {!isNil "M_Start"};
"respawn_west" setmarkerPos getPosATL object_name;
};

I'm a little unclear about how units are respawning, where, and how. Are you using a simple respawn_west marker with "base" type respawn?

Yes, it's simply a base respawn with respawn_west marker. I have BTC revive going, and with the previous code, when any other person but the player died, they would instantly spawn back at the predetermined position, which was a bit odd, to say the least.

I've yet to try your current code above, but I'll have a chance at a test run in around an hour, I'll let you know how it works!

Share this post


Link to post
Share on other sites

Alright, this partially works, the players that join in late spawn at the buoy I've created. However if they spawn in at the start, they spawn where I placed the actual units initially. So now it's working in reverse I suppose. It's something with the server specifications I think, it's causing the other players to not be counted as playable unit. Any more advice?

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  

×