Purzel 35 Posted November 25, 2018 Hi there, I need a litte help: In my MP-mission, all players should start in a CH-53 (which will bring up a littele cam-sequence and texts), until the heli has landed at the FOB. They are divided into three groups (alpha/bravo/charlie) If a player is "kicked" out of the heli (after its landed and the ramp has opened), the camera should stop for each player and the mission begins at the end of the helis ramp (on ground, not on the ramp itself!) After all players are out of the heli, it will lift off and fly away (and deletes at its last waypoint!) On disconnect or JiP the latest players should start at the normal base spawn-points, because the heli is flying to a delete-WP and will not going to re-insert the JiP-players. JiP-players don´t need the intro-sequence, they spawn in base into the running mission. Solution - klick here! What I´ve got: a chopper "ch53" with an unload-transport-WP three groups human players which should be ported into the ch53, because their spawnpoints in the base are needed for re- and late-joiner. a trigger, which is actually not working. a camera, which follows the helicopter (should end, when player is out of the heli) 1. problem: So for that I placed all spawnpoints at the base, set an area-trigger over all spawnpoints, which should put all players in cargo of the CH-53. Condition: this && {alive ch53} && {((player) in thisList)} //another condition (pubic variable) will be added, if I get it working, that the CH53 is touching the ground. OnAct: player MoveInCargo ch53; // this works in debug-console, but not in trigger!?2. problem: The CH-53 isn´t touching the ground, so I can´t use a public variable which is used for another trigger-condition, so no JiP-player will sit in a chopper, that is flying unsuspecting to the termination-WP.3. problem: How do I script the ending of the cam for each player get kicked out of the cam, when he leaves the helicopter and is touching the ground...? I´m not that good at scripting, so any help is appreciated! Greetings Purzel Share this post Link to post Share on other sites
MKD3 27 Posted November 27, 2018 Id suggest learning a bit about locality in Arma for what this and player mean, especially in MP. Here is a little basic template you might want to give a try to get you heading the right direction. Create a file called initplayerLocal.sqf in your mission file, this will automatically execute on all clients on missions start. Spoiler //initplayerlocal.sqf //Wait for player to exist waituntil {sleep 1; !isnull player}; //Wait for helicopter to exist waituntil {sleep 1; !isnull CH53}; //Make this what you want, a marker position, a car, whatever. _endPosition = [1000,1000,0]; player moveInCargo ch53; //Camera sequence stuff goes here //Turn off camera when helicopter is 20 metres from the end AND less than 2 metres off the ground (basically landed) waituntil { sleep 1; ((_endPosition distance (getposATL CH53) < 20) && ((getPosATL CH53 select 2) < 2)); }; //THIS TURNS OFF CAMERA player cameraEffect ["terminate","back"]; camDestroy _camera; //players exit chopper and joyfully play in the sandpit Share this post Link to post Share on other sites
Purzel 35 Posted November 27, 2018 Yeah! Thx ! I´ll try to check this out tonight... Share this post Link to post Share on other sites
Purzel 35 Posted November 28, 2018 O.K. here´s the solution: Init.sqf: if (isNil "landing") then {landing = false}; initPlayerLocal.sqf: if (isNil "landing") exitWith {}; // execute a publicvariable "landing" on choppers landing-WP !!! waituntil {sleep 1; !isnull player}; waituntil {sleep 1; !isnull ch53}; _endPosition = [175.372,5530.95,0]; // => Pos von Helipad "lp1" player moveInCargo ch53; // Start a cam-sequence or whatever has to be local executed _camera = "camera" camcreate position ch53; _camera cameraeffect ["internal", "back"]; // Scene 1 _camera cameraeffect ["internal", "back"]; _camera camPrepareTarget ch53; _camera camPreparePos [14,5480,70]; _camera camPrepareFOV 0.200; _camera camCommitPrepared 15; waitUntil{camCommitted _camera}; // Scene 2 _camera cameraeffect ["internal", "back"]; _camera camPrepareTarget ch53; _camera camPreparePos [156,5552,7]; _camera camPrepareFOV 0.400; _camera camCommitPrepared 15; waituntil { camCommitted _camera; sleep 1; ((_endPosition distance (getposATL ch53) < 50) && ((getPosATL ch53 select 2) <= 5)); // choose your own values depending on when you want to be the players in their own sight. }; // Camera off player cameraEffect ["terminate","back"]; camDestroy _camera; // Put here some stuff like: vehicle player vehicleChat "Prepare to get out!"; > which makes the pilot do a sidechat-vehiclechat Share this post Link to post Share on other sites
HazJ 1289 Posted November 28, 2018 initPlayerLocal.sqf has _isJIP argument. On phone atm so will provide example/solution later this evening. Share this post Link to post Share on other sites
HazJ 1289 Posted November 28, 2018 Okay, home now. Firstly let me correct my mistake, it is actually didJIP that you want. // initPlayerLocal.sqf if (!didJIP) then { } else { // code for JIP (aka beach start) }; https://community.bistudio.com/wiki/didJIP So taking a guess at what you want: - Move moveInCargo and camera stuff like so: // initPlayerLocal.sqf if (!didJIP) then { _endPosition = [175.372,5530.95,0]; // => Pos von Helipad "lp1" player moveInCargo ch53; // Start a cam-sequence or whatever has to be local executed _camera = "camera" camcreate position ch53; _camera cameraeffect ["internal", "back"]; // Scene 1 _camera cameraeffect ["internal", "back"]; _camera camPrepareTarget ch53; _camera camPreparePos [14,5480,70]; _camera camPrepareFOV 0.200; _camera camCommitPrepared 15; waitUntil{camCommitted _camera}; // Scene 2 _camera cameraeffect ["internal", "back"]; _camera camPrepareTarget ch53; _camera camPreparePos [156,5552,7]; _camera camPrepareFOV 0.400; _camera camCommitPrepared 15; waituntil { camCommitted _camera; sleep 1; ((_endPosition distance (getposATL ch53) < 50) && ((getPosATL ch53 select 2) <= 5)); // choose your own values depending on when you want to be the players in their own sight. }; // Camera off player cameraEffect ["terminate","back"]; camDestroy _camera; } else { // code for JIP (aka beach start) player setPos [0, 0, 0]; // if the base (beachhead) was at [0, 0, 0] - adjust accordingly }; Share this post Link to post Share on other sites
Purzel 35 Posted November 28, 2018 Ok... Thx a lot! "if, then, else" will do the thing? But why isnt the choosen spawnpoint used? Just tried it on server, but I cannot respawn? (Respawn_west is present on map and respawn = base; is in description.ext ! ) Share this post Link to post Share on other sites
HazJ 1289 Posted November 29, 2018 Where is the respawn marker? You may also want to move it for JIP or after landing is TRUE. I assumed you didn't want to put them in heli - for JIP. Share this post Link to post Share on other sites
Purzel 35 Posted November 29, 2018 Did you see the picture:https://abload.de/image.php?img=problemdrfzj.jpg The players are spawning in their base, but they´re teleported into the helicopter when they spawn and the helicopter brings them to base again. The spawn-point itself isnt moved into the helicopter, it stays in base, so every jip-player (or respawned-player) should start directly in the base, without sitting in the helicopter before. Players coming late, don´t need the chopper-intro, so they should start instead of helicopter in base. This is just to create a little immersion on how the players have come into the base. Share this post Link to post Share on other sites