Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Air disconnect safety #395

Open
jonpas opened this issue Jul 13, 2019 · 3 comments
Open

Air disconnect safety #395

jonpas opened this issue Jul 13, 2019 · 3 comments

Comments

@jonpas
Copy link
Member

jonpas commented Jul 13, 2019

Safety system for pilot (or co-pilot if in control) when he gets disconnected, so all crew on-board and the airframe are not lost due to technical issues.

  • Freeze helicopter/plane mid-air (disable simulation, hide object)
  • Place player back into seat on reload if spawned within certain distance of the frozen airframe
    • Maybe distance is not best idea, as Arma sometimes doesn't register right away (but then freezing is also a problem)
    • Unfreeze as interaction (to make sure pilot is fully loaded in)
  • Allow switching from any slot to pilot slot to unfreeze and continue (has to be safe, so sub-item in interaction)

Fits air_security component.


Can integrate with Apollo persistence vehicle passenger saving (once that is implemented). Might as well do that as it's a similar system, except vehicles on the ground (touching ground or below 1m ATL) - only stop those (or slow them down) so they don't crash.

Entire persistence could work in the following manner:

  • Save vehicle object (varName) on player save (and position in vehicle)
    • varName is Chronos varName if vehicle is Chronos tracked (QEGVAR(apollo,vehicleID))
    • varName is varName given on save and added to list of temp-saved object relations (setVehicleVarName "TAC_TEMP_5" without vehicleID), those don't get deleted until session end to avoid removal handling - (single session vehicle anyways)
  • On load if vehicle still alive, place player in:
    • <special handling if vehicle frozen in-air - read above>
    • Same position if free
    • Any remaining free position
    • Position of disconnect (avoids spawning in dangerous areas, Zeus can still teleport) Near vehicle if not free
@jonpas jonpas added this to the 1.17.0 milestone Jul 13, 2019
@ghost
Copy link

ghost commented Jul 15, 2019

Rather than freezing the heli, why not make it automatically transfer control to the Co-pilot?

@jonpas
Copy link
Member Author

jonpas commented Jul 15, 2019

Because this should support crew without copilot, but only pilot present. Also you can't force-change control via SQF AFAIK.

As copilot you will still be able to take control, which would unfreeze the helicopter. Or to be safer, move yourself to pilot seat and take over, so pilot can spawn back into the other seat, that way we make sure he doesn't take over control back autonwtically (though it shouldn't).

@ghost
Copy link

ghost commented Jul 15, 2019

I see what you mean hope it will work out great then. If you need any help you can always ask me.

@jonpas jonpas modified the milestones: 1.17.0, 1.18.0 Oct 31, 2019
@jonpas jonpas modified the milestones: 1.18.0, 1.19.0 Feb 5, 2020
@jonpas jonpas modified the milestones: 1.19.0, Backlog Apr 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant