Page MenuHomeFeedback Tracker

Jets DLC some scripts incorrect work in MP
New, NormalPublic

Description

UPD: I update with all-in-one issues from comments to Ticket Desctiption
Incorrect work of Jets DLC consists problems:

BIS_fnc_planeEjectionFX \a3\functions_f_jets\Functions\Ejection\fn_planeEjectionFX.sqf

1

Particlescreation won't work on dedicated server

2

say3D ejection sound not played on dedicated server

3

say3D ejection sound have wrong parameter (maxDistance) please see CfgSounds → Plane_Fighter_01_ejection_ext_sound to see correct params needs to add on say3D execution

4

Please add a simulation of the speed of sound for ejection sound, this will have a positive effect on immersion

BIS_fnc_AircraftTailhook \a3\functions_f_jets\Functions\Aircraft\fn_aircraftTailhook.sqf

5

two say3D wire sounds not played on dedicated server

6

two say3D wire sounds have wrong parameters (maxDistance and pitch) please see CfgSounds → Land_Carrier_01_wire_snap_sound and CfgSounds → Land_Carrier_01_wire_trap_sound to see correct params needs to add on say3D execution

BIS_fnc_Carrier01AnimateDeflectors \a3\functions_f_jets\Functions\Aircraft\fn_aircraftTailhook.sqf

7

two say3D deflector sounds not played on dedicated server

8

two say3D deflector sounds have wrong parameter (maxDistance) please see CfgSounds → Land_Carrier_01_blast_deflector_up_sound and CfgSounds → Land_Carrier_01_blast_deflector_down_sound to see correct params needs to add on say3D execution

BIS_fnc_ejectionSeatRelease \a3\functions_f_jets\functions\ejection\fn_ejectionseatrelease.sqf

9

After ejection player fly for some distance in the ejected seat, before player will be auto move out, player able eject from ejected seat manually, on use it will insta kill player

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Windows 11 x64
Operating System Version
22H2
Category
Scripting
Steps To Reproduce

BIS_fnc_planeEjectionFX issues

  1. launch mission on dedicated server
  2. look at plane, wait pilot eject in 50 meters from your position
  3. as result you cannot see 3 particle effects; hear ejection sound
  4. try launch mission as hosted server, with particles no problem, but sound has only 100m hear distance although the config say 1400m

BIS_fnc_ejectionSeatRelease

  1. fly any ejectable plane e.g. Wipeout
  2. during fly eject from plane
  3. eject from seat
  4. player dead

Event Timeline

TRAGER created this task.Jul 17 2023, 11:00 AM
TRAGER renamed this task from fn_planeEjectionFX.sqf does not work correctly in MP to Ejection System - effects function does not work correctly in MP.Jul 20 2023, 3:49 PM
TRAGER updated the task description. (Show Details)
TRAGER updated the task description. (Show Details)Jul 27 2023, 2:28 PM

no time for 2.14 so will look at it for 2.16

TRAGER added a comment.EditedOct 9 2023, 2:40 AM

These problems also occur in other Jets DLC scripts
Changes reasons is same:

  1. Function work in local space, in MP say3D command will plays only for pilot and not for other players
  2. Need to write parameters in say3D script parameters, see wiki page - if params not written they will drop to default and sound will be not as designed (means pitch and max Distance parameters)
  3. new param for say3d 'simulateSpeedOfSound' also will be good tweak

- == BIS_fnc_AircraftTailhook

\a3\functions_f_jets\Functions\Aircraft\fn_aircraftTailhook.sqf
(line 68) need change to if (speed _plane > _arrestMaxAllowedSpeed ) exitWith {EXIT_CODE; [_plane, ["Land_Carrier_01_wire_snap_sound", 1100, 1.3, 0, 0, true]] remoteExec ["say3D"];};
(line 69) need change to [_plane, ["Land_Carrier_01_wire_trap_sound", 1100, 1.3, 0, 0, true]] remoteExec ["say3D"];

- == BIS_fnc_Carrier01AnimateDeflectors

\a3\functions_f_jets\Functions\AircraftCarrier\fn_carrier01AnimateDeflectors.sqf
(line 52) need change to if (_carrierPart animationPhase _x < 0.1) then {[_carrierPart, ["Land_Carrier_01_blast_deflector_up_sound", 150, 1, 0, 0, true]] remoteExec ["say3D"]};
(line 57) need change to if (_carrierPart animationPhase _x > 9.9) then {[_carrierPart, ["Land_Carrier_01_blast_deflector_down_sound", 150, 1, 0, 0, true]] remoteExec ["say3D"]};

And I will repeat what is write in the description of this ticket here so that the necessary changes are more clear

- == BIS_fnc_planeEjectionFX: sound

\a3\functions_f_jets\Functions\Ejection\fn_planeEjectionFX.sqf
(line 53)need change to [_ejectionSeat, [_ejectionSoundExt, 1400, 1, 0, 0, true]] remoteExec ["say3D"];

- == BIS_fnc_planeEjectionFX: visual

Maybe need replace createVehicleLocal with createVehicle (lines 59, 65, 69)?

I think this will help
Have made a repro mission showing the problems of these scripts, download this mission and run it on a dedicated server


follow the steps in the Video to get these problems

After, download this small mod, which makes changes to the game scripts written in my comment above


Launch client and dedicated server with loaded mod, launch repro mission and try to get this issue again. The second part of video shows that issue has been solved after changes in scripts

TRAGER added a comment.EditedNov 3 2023, 10:33 AM

- == Misc issue found

No MP/SP dependency

When player eject he fly in seat a 350m, in that time he can manually eject from seat to parachute:
Ejection_Seat_Base_F → UserActions → Ejection_Seat_Eject statement = "[this] spawn BIS_fnc_ejectionSeatRelease";
Using that action(function) will insta kill pilot due collision hit Pilot ↔ Ejection Seat

function path
\a3\functions_f_jets\functions\ejection\fn_ejectionseatrelease.sqf
I can suggest a solution using allowDamage:

_pilot spawn
{
	//--- skip if pilot was vulnerable to not broke the scenario
	if (!isDamageAllowed _this) exitWith {moveOut _this};

	_this allowDamage false;
	moveOut _this;
	sleep 2;
	_this allowDamage true;
};

can be used disable(enable)CollisionWith but damage disabling are safer I think, or you know better way…

STEPS TO REPRODUCE
  1. fly ejectable plane e.g. Wipeout
  2. start fly
  3. eject (by x2 V-key or User Action)
  4. wait a sec. eject from seat (by x2 V-key or User Action)
  5. result → player is dead

he can manually eject from seat to parachute

Should this be possible at all? Can you leave ejection seat in real life in flight?

Should this be possible at all? Can you leave ejection seat in real life in flight?

I think no, I would hide this action In my opinion, but read this part of function description

  • Additional option for player to separate from ejetor seat via user action. default ejection function will ato deploy parachute at 350 m altitude. This is a manual override.
  • Result: Pilot will be forced from ejection seat vehicle to parachute. Semi-authenthic behaviour.

If I understand correctly, this is by design =\

NikkoJT added a subscriber: NikkoJT.Nov 3 2023, 4:29 PM

he can manually eject from seat to parachute

Should this be possible at all? Can you leave ejection seat in real life in flight?

In reality, the seat automatically separates from the pilot, within a couple of seconds of ejecting - at the same time as the main chute opens. There is also the ability to manually detach yourself and open the parachute by ripcord if the seat fails to separate. Arma ejection seats are a bit odd in that the automatic separation and chute opening doesn't happen until 350m altitude, I guess to reduce the amount of time spent slowly descending on the chute.

If the timing of the automatic system won't be changed, I think it's reasonable to allow pilots to open the chute earlier if they want to.

TRAGER added a comment.EditedNov 18 2023, 7:02 PM

Speed of sound simulation is a good tweak for long-hearable range sounds
Will be great if the speed of sound will be used when scripting issues from this ticket get fixed

TRAGER renamed this task from Ejection System - effects function does not work correctly in MP to Jets DLC some scripts incorrect work in MP.Jan 12 2024, 11:57 AM
TRAGER updated the task description. (Show Details)
TRAGER edited Steps To Reproduce. (Show Details)

I think setPhysicsCollisionFlag would be a great solution to issue № 9

vanilla (pilot killed)changed (pilot survived)