Another fix for moduleCurator

This commit is contained in:
SilentSpike 2015-05-15 20:47:54 +01:00
parent 8120cef964
commit 84d06bac34
2 changed files with 40 additions and 32 deletions

View File

@ -152,6 +152,9 @@ if (_activated) then {
_x radiochanneladd [_player];
} foreach (_logic getvariable ["channels",[]]);
// Added by ACE_zeus to delay ascension message at mission start
[{_this spawn DFUNC(moduleCuratorDelay);},[_logic,1]] call EFUNC(common,execNextFrame);
[_logic,"curatorUnitAssigned",[_logic,_player]] call bis_fnc_callscriptedeventhandler;
//--- Forced interface
@ -197,8 +200,8 @@ if (_activated) then {
} foreach (synchronizedobjects _logic);
_addons call bis_fnc_activateaddons;
// Added by ACE_zeus to delay ascension messages and bird code (so that settings can be changed)
[{_this spawn DFUNC(moduleCuratorDelay);},[_logic,_player]] call EFUNC(common,execNextFrame);
// Added by ACE_zeus to delay bird code
[{_this spawn DFUNC(moduleCuratorDelay);},[_logic,0]] call EFUNC(common,execNextFrame);
};
//--- Player

View File

@ -5,7 +5,9 @@
*
* Arguments:
* 0: The module logic <LOGIC>
* 1: Zeus player <OBJECT>
* 1: Mode <NUMBER>
* 0 - Spawn bird
* 1 - Ascension message
*
* Return Value:
* None <NIL>
@ -16,38 +18,41 @@
#include "script_component.hpp"
if (isServer) then {
private ["_logic","_player","_birdType","_bird"];
private ["_logic","_mode","_player","_birdType","_bird"];
_logic = _this select 0;
_player = _this select 1;
_mode = _this select 1;
// Extracted from moduleCurator to toggle ascension messages
if (GVAR(zeusAscension)) then {
//--- Sent notification to all assigned players
{
if (isplayer _x) then {
[["CuratorAssign",[_name,name _player]],"bis_fnc_showNotification",_x] call bis_fnc_mp;
};
} foreach (curatoreditableobjects _logic);
};
// Extracted from moduleCurator to toggle eagle
if (GVAR(zeusBird)) then {
//--- Create bird
_birdType = _logic getvariable ["birdType","eagle_f"];
if (_birdType != "") then {
_bird = createvehicle [_birdType,[100,100,100],[],0,"none"];
_logic setvariable ["bird",_bird,true];
};
//--- Locality changed
_logic addeventhandler [
"local",
if (_mode == 1) then {
// Extracted from moduleCurator to toggle ascension messages
_player = getAssignedCuratorUnit _logic;
if (GVAR(zeusAscension)) then {
//--- Sent notification to all assigned players
{
_logic = _this select 0;
_bird = _logic getvariable ["bird",objnull];
_bird setowner owner _logic;
}
];
if (isplayer _x) then {
[["CuratorAssign",[_name,name _player]],"bis_fnc_showNotification",_x] call bis_fnc_mp;
};
} foreach (curatoreditableobjects _logic);
};
} else {
// Extracted from moduleCurator to toggle eagle
if (GVAR(zeusBird)) then {
//--- Create bird
_birdType = _logic getvariable ["birdType","eagle_f"];
if (_birdType != "") then {
_bird = createvehicle [_birdType,[100,100,100],[],0,"none"];
_logic setvariable ["bird",_bird,true];
};
//--- Locality changed
_logic addeventhandler [
"local",
{
_logic = _this select 0;
_bird = _logic getvariable ["bird",objnull];
_bird setowner owner _logic;
}
];
};
};
};