Reset medical spectator state on heal
- Factor spectator cleanup into a reusable handler - Delay the healed server event until spectator init finishes - Restore camera, HUD, and user input when leaving medical spectator
This commit is contained in:
parent
53a2bb4280
commit
d2811a3c43
@ -25,6 +25,24 @@ player addEventHandler ["Respawn", {
|
|||||||
|
|
||||||
if (isNil QGVAR(ActorRepository)) then { call FUNC(initRepository); };
|
if (isNil QGVAR(ActorRepository)) then { call FUNC(initRepository); };
|
||||||
|
|
||||||
|
GVAR(resetMedicalSpectator) = {
|
||||||
|
player switchMove "";
|
||||||
|
player playMoveNow "";
|
||||||
|
|
||||||
|
["Terminate"] call BFUNC(EGSpectator);
|
||||||
|
|
||||||
|
private _spectatorDisplay = findDisplay 60492;
|
||||||
|
if !(isNull _spectatorDisplay) then { _spectatorDisplay closeDisplay 1; };
|
||||||
|
if !(isNull player) then {
|
||||||
|
player switchCamera "INTERNAL";
|
||||||
|
player enableSimulation true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cameraEffectEnableHUD true;
|
||||||
|
showCinemaBorder false;
|
||||||
|
disableUserInput false;
|
||||||
|
};
|
||||||
|
|
||||||
[QGVAR(initActor), {
|
[QGVAR(initActor), {
|
||||||
GVAR(ActorRepository) call ["init", []];
|
GVAR(ActorRepository) call ["init", []];
|
||||||
}] call CFUNC(addEventHandler);
|
}] call CFUNC(addEventHandler);
|
||||||
@ -40,14 +58,15 @@ if (isNil QGVAR(ActorRepository)) then { call FUNC(initRepository); };
|
|||||||
player setDir _medSpawnDir;
|
player setDir _medSpawnDir;
|
||||||
player switchMove "Acts_LyingWounded_loop";
|
player switchMove "Acts_LyingWounded_loop";
|
||||||
|
|
||||||
["Initialize", [player, [], false, true, true, true, true, true, false, false]] call BFUNC(EGSpectator);
|
[] spawn {
|
||||||
|
["Initialize", [player, [], false, true, true, true, true, true, false, false]] call BFUNC(EGSpectator);
|
||||||
[SRPC(economy,onHealed), [player]] call CFUNC(serverEvent);
|
uiSleep 5;
|
||||||
|
[SRPC(economy,onHealed), [player]] call CFUNC(serverEvent);
|
||||||
|
};
|
||||||
}] call CFUNC(addEventHandler);
|
}] call CFUNC(addEventHandler);
|
||||||
|
|
||||||
[QGVAR(onActorHealed), {
|
[QGVAR(onActorHealed), {
|
||||||
player switchMove "";
|
call GVAR(resetMedicalSpectator);
|
||||||
["Terminate"] call BFUNC(EGSpectator);
|
|
||||||
}] call CFUNC(addEventHandler);
|
}] call CFUNC(addEventHandler);
|
||||||
|
|
||||||
[QGVAR(responseInitActor), {
|
[QGVAR(responseInitActor), {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user