Departure from the car in a head-on collision
-
I would like to disable falling out of the car in a head-on collision on my client without using mods using OpenIV. Is it possible to do this somehow?
-
@Pegas1k Yes, with your trainer. In Menyoo there is an setting, I think it's seatbelt. I set mine a long time ago and never get ejected but a passenger in back of bike can be thrown. Not sure why you call it a client since you're in SP, but anyway Menyoo has nothing to do directly with OpenIV and other trainers probably have the same feature.
-
@Pegas1k
Should be possible.physicstasks.ymt:
'physicstasks.ymt' has a 'CTaskNMThroughWindscreen__Tunables' section that'll likely be fit for task:
<Item type="CTaskNMThroughWindscreen__Tunables"> <Name>CTaskNMThroughWindscreen</Name> <GravityScale value="0.00000000"/> <StartForceDownHeight value="100.00000000"/> <KnockOffBikeForwardMinComponent value="0.10000000"/> <KnockOffBikeForwardMaxComponent value="0.10000000"/> <KnockOffBikeUpMinComponent value="0.05000000"/> <KnockOffBikeUpMaxComponent value="0.05000000"/> <KnockOffBikePitchMinComponent value="10.00000000"/> <KnockOffBikePitchMaxComponent value="10.00000000"/> <KnockOffBikeMinSpeed value="10.00000000"/> <KnockOffBikeMaxSpeed value="30.00000000"/> <KnockOffBikeMinUpright value="0.20000000"/> <KnockOffBikeMaxUpright value="0.80000000"/> <KnockOffBikeEjectMaxImpactDepth value="0.20000000"/> <KnockOffBikeEjectImpactFriction value="0.50000000"/> <ClearVehicleTimeMS value="250"/> <DefaultInverseMassScales> <ApplyVehicleScale value="false"/> <VehicleScale value="1.00000000"/> <ApplyPedScale value="true"/> <PedScale value="1.00000000"/> </DefaultInverseMassScales> <BicycleInverseMassScales> <ApplyVehicleScale value="false"/> <VehicleScale value="1.00000000"/> <ApplyPedScale value="true"/> <PedScale value="1.00000000"/> </BicycleInverseMassScales> <BikeInverseMassScales> <ApplyVehicleScale value="false"/> <VehicleScale value="1.00000000"/> <ApplyPedScale value="true"/> <PedScale value="0.80000000"/> </BikeInverseMassScales> <Start> <Id>ThroughWindscreen_Start</Id> <Priority value="0"/> <Enabled value="true"/> <Messages> <Item type="CNmMessage"> <Name>configureSelfAvoidance</Name> <Params> <Item type="CNmParameterBool"> <Name>useSelfAvoidance</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>maxTorsoSwingAngleRad</Name> <Value value="0.77999990"/> </Item> </Params> <ForceNewMessage value="false"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>setFallingReaction</Name> <Params> <Item type="CNmParameterBool"> <Name>callRDS</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>inhibitRollingTime</Name> <Value value="0.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>groundFriction</Name> <Value value="1.20000000"/> </Item> <Item type="CNmParameterFloat"> <Name>frictionMin</Name> <Value value="0.60000000"/> </Item> <Item type="CNmParameterFloat"> <Name>changeFrictionTime</Name> <Value value="0.80000000"/> </Item> <Item type="CNmParameterBool"> <Name>stopOnSlopes</Name> <Value value="true"/> </Item> <Item type="CNmParameterBool"> <Name>antiPropClav</Name> <Value value="true"/> </Item> <Item type="CNmParameterBool"> <Name>antiPropWeak</Name> <Value value="true"/> </Item> </Params> <ForceNewMessage value="false"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>configureSoftLimit</Name> <Params> <Item type="CNmParameterFloat"> <Name>limitAngle</Name> <Value value="2.00000000"/> </Item> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>stiffness</Name> <Value value="15.00000000"/> </Item> <Item type="CNmParameterInt"> <Name>index</Name> <Value value="0"/> </Item> <Item type="CNmParameterBool"> <Name>velocityScaled</Name> <Value value="true"/> </Item> </Params> <ForceNewMessage value="true"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>configureSoftLimit</Name> <Params> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterInt"> <Name>index</Name> <Value value="1"/> </Item> <Item type="CNmParameterFloat"> <Name>stiffness</Name> <Value value="15.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>damping</Name> <Value value="1.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>limitAngle</Name> <Value value="2.00000000"/> </Item> <Item type="CNmParameterInt"> <Name>approachDirection</Name> <Value value="1"/> </Item> <Item type="CNmParameterBool"> <Name>velocityScaled</Name> <Value value="true"/> </Item> </Params> <ForceNewMessage value="true"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>configureSoftLimit</Name> <Params> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterInt"> <Name>index</Name> <Value value="2"/> </Item> <Item type="CNmParameterFloat"> <Name>stiffness</Name> <Value value="15.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>damping</Name> <Value value="1.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>limitAngle</Name> <Value value="1.50000000"/> </Item> <Item type="CNmParameterInt"> <Name>approachDirection</Name> <Value value="-1"/> </Item> <Item type="CNmParameterBool"> <Name>velocityScaled</Name> <Value value="true"/> </Item> </Params> <ForceNewMessage value="true"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>configureSoftLimit</Name> <Params> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterInt"> <Name>index</Name> <Value value="3"/> </Item> <Item type="CNmParameterFloat"> <Name>stiffness</Name> <Value value="15.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>damping</Name> <Value value="1.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>limitAngle</Name> <Value value="1.50000000"/> </Item> <Item type="CNmParameterInt"> <Name>approachDirection</Name> <Value value="-1"/> </Item> <Item type="CNmParameterBool"> <Name>velocityScaled</Name> <Value value="true"/> </Item> </Params> <ForceNewMessage value="true"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>smartFall</Name> <Params> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterBool"> <Name>hula</Name> <Value value="false"/> </Item> <Item type="CNmParameterBool"> <Name>orientateTwist</Name> <Value value="false"/> </Item> <Item type="CNmParameterFloat"> <Name>rdsTargetLinVeDecayTime</Name> <Value value="1.50000000"/> </Item> <Item type="CNmParameterFloat"> <Name>rdsForceMag</Name> <Value value="0.00000000"/> </Item> <Item type="CNmParameterBool"> <Name>rdsUseStartingFriction</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>rdsStartingFriction</Name> <Value value="0.80000000"/> </Item> <Item type="CNmParameterFloat"> <Name>rdsTargetLinearVelocity</Name> <Value value="10.00000000"/> </Item> <Item type="CNmParameterBool"> <Name>changeExtremityFriction</Name> <Value value="true"/> </Item> <Item type="CNmParameterInt"> <Name>initialState</Name> <Value value="6"/> </Item> <Item type="CNmParameterFloat"> <Name>rdsForceVelThreshold</Name> <Value value="7.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>splatWhenStopped</Name> <Value value="2.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>blendHeadWhenStopped</Name> <Value value="50.00000000"/> </Item> </Params> <ForceNewMessage value="false"/> <TaskMessage value="false"/> </Item> <Item type="CNmMessage"> <Name>CTaskNM_RagdollDamping</Name> <Params> <Item type="CNmParameterBool"> <Name>AdaptiveAngVelocity2</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>AdaptiveAngVelocity2Max</Name> <Value value="1.50000000"/> </Item> <Item type="CNmParameterFloat"> <Name>AdaptiveAngVelocity2_MinMag</Name> <Value value="10.00000000"/> </Item> <Item type="CNmParameterFloat"> <Name>AdaptiveAngVelocity2_MaxMag</Name> <Value value="13.00000000"/> </Item> </Params> <ForceNewMessage value="false"/> <TaskMessage value="true"/> </Item> </Messages> </Start> <Update> <Id>ThroughWindscreen_Update</Id> <Priority value="0"/> <Enabled value="true"/> <Messages> <Item type="CNmMessage"> <Name>setFrictionScale</Name> <Params> <Item type="CNmParameterBool"> <Name>start</Name> <Value value="true"/> </Item> <Item type="CNmParameterFloat"> <Name>scale</Name> <Value value="0.20000000"/> </Item> <Item type="CNmParameterString"> <Name>mask</Name> <Value>0b0001001000000010001</Value> </Item> </Params> <ForceNewMessage value="false"/> <TaskMessage value="false"/> </Item> </Messages> </Update> </Item>
Test setting 'ThroughWindscreen_Start' to '<Enabled value="false"/>' & see what you get etc. If that doesn't work, play about with other values &/or maybe remove parts of sections you don't want activated etc.
vehicletasks.ymt:
Additionally, 'vehicletasks.ymt' has these values in it:
<MinVehVelocityToGoThroughWindscreen value="20.000000" /> <MinVehVelocityToGoThroughWindscreenMP value="35.000000" />
vehicles.meta:
There is also a 'FLAG_DISABLE_THROUGH_WINDSCREEN' flag that can be added to the '<flags>' line for individual vehicle's within 'vehicles.meta', but that would be more work etc.
-
@a63nt-5m1th Excellent advice, but if you follow team sports you'll be aware of the importance of a "Concussion Protocol".
Going through the windshield, headfirst, can lead to serious injuries (brain, spinal column) so it is best to seek medical attention promptly.