mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
optimize remoteexec usage for multiple targets
This commit is contained in:
parent
bbd958ed52
commit
5f640933d9
@ -36,11 +36,12 @@ if (isNull objectParent _target) then {
|
|||||||
} else {
|
} else {
|
||||||
// send attack to other player
|
// send attack to other player
|
||||||
if (isPlayer _target) then {
|
if (isPlayer _target) then {
|
||||||
[_unit,_target] remoteExec ["EPOCH_client_bitePlayer", _target];
|
[_unit] remoteExec ["EPOCH_client_bitePlayer", _target];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
// target is inside a vehicle, target entire vehicle crew
|
// target is inside a vehicle, target entire vehicle crew
|
||||||
|
private _targets = [];
|
||||||
{
|
{
|
||||||
if (_x isEqualTo player) then {
|
if (_x isEqualTo player) then {
|
||||||
// handle attack for local player if inside vehicle
|
// handle attack for local player if inside vehicle
|
||||||
@ -49,10 +50,13 @@ if (isNull objectParent _target) then {
|
|||||||
} else {
|
} else {
|
||||||
// send attack to other players
|
// send attack to other players
|
||||||
if (isPlayer _x) then {
|
if (isPlayer _x) then {
|
||||||
[_unit,_x] remoteExec ["EPOCH_client_bitePlayer", _x];
|
_targets pushBack _x;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach (crew _target);
|
} forEach (crew _target);
|
||||||
|
if !(_targets isEqualTo []) then {
|
||||||
|
[_unit] remoteExec ["EPOCH_client_bitePlayer", _targets];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_doAttack) then {
|
if (_doAttack) then {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
*/
|
*/
|
||||||
params ["_playerUID","_var1","_var2","_player",["_token","",[""]]];
|
params ["_playerUID","_var1","_var2","_player",["_token","",[""]]];
|
||||||
if !([_player, _token] call EPOCH_server_getPToken) exitWith{};
|
if !([_player, _token] call EPOCH_server_getPToken) exitWith{};
|
||||||
|
private _targets = allPlayers select {getPlayerUID _x == _playerUID};
|
||||||
{
|
if !(_targets isEqualTo []) then {
|
||||||
[_var1, _var2] remoteExec ['EPOCH_Group_invitePlayer',_x];
|
[_var1, _var2] remoteExec ['EPOCH_Group_invitePlayer',_targets];
|
||||||
} forEach (allPlayers select {getPlayerUID _x == _playerUID});
|
};
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
*/
|
*/
|
||||||
params ["_playerUID","_var1","_var2","_player",["_token","",[""]]];
|
params ["_playerUID","_var1","_var2","_player",["_token","",[""]]];
|
||||||
if !([_player, _token] call EPOCH_server_getPToken) exitWith{};
|
if !([_player, _token] call EPOCH_server_getPToken) exitWith{};
|
||||||
|
private _targets = allPlayers select {getPlayerUID _x == _playerUID};
|
||||||
{
|
if !(_targets isEqualTo []) then {
|
||||||
[_var1, _var2] remoteExec ['EPOCH_tempGroup_invitePlayer',_x];
|
[_var1, _var2] remoteExec ['EPOCH_tempGroup_invitePlayer',_targets];
|
||||||
} forEach (allPlayers select {getPlayerUID _x == _playerUID});
|
};
|
||||||
|
@ -37,9 +37,10 @@ switch _trgtType do {
|
|||||||
|
|
||||||
case 1: {
|
case 1: {
|
||||||
if!(isNull _trgtObj)then{
|
if!(isNull _trgtObj)then{
|
||||||
{
|
private _targets = (units group _trgtObj);
|
||||||
[_x,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_makeMarker',_x];
|
if !(_targets isEqualTo []) then {
|
||||||
}foreach (units group _trgtObj);
|
[nil,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_makeMarker',_targets];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -57,10 +58,8 @@ switch _trgtType do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
case 3: {
|
case 3: {
|
||||||
if(isArray _trgtObj && count _trgtObj > 0)then{
|
if(_trgtObj isEqualType [] && {!(_trgtObj isEqualTo [])})then{
|
||||||
{
|
[nil,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_makeMarker',_trgtObj];
|
||||||
[_x,_mPos,_mShape,_mType,_mColor,_mSize,_mBrush,_mDir,_mText,_mAlpha,_mrkrName] remoteExec ['EPOCH_makeMarker',_x];
|
|
||||||
}foreach _trgtObj;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,9 +31,10 @@ switch _trgtType do {
|
|||||||
|
|
||||||
case 1: {
|
case 1: {
|
||||||
if!(isNull _trgtObj)then{
|
if!(isNull _trgtObj)then{
|
||||||
{
|
private _targets = (units group _trgtObj);
|
||||||
[_mrkrName] remoteExec ['EPOCH_removeMarker',_x];
|
if !(_targets isEqualTo []) then {
|
||||||
}foreach (units group _trgtObj);
|
[_mrkrName] remoteExec ['EPOCH_removeMarker',_targets];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -42,10 +43,10 @@ switch _trgtType do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
case 3: {
|
case 3: {
|
||||||
if(isArray _trgtObj && count _trgtObj > 0)then{
|
if(_trgtObj isEqualType [] && {!(_trgtObj isEqualTo [])})then{
|
||||||
{
|
if !(_trgtObj isEqualTo []) then {
|
||||||
[_mrkrName] remoteExec ['EPOCH_removeMarker',_x];
|
[_mrkrName] remoteExec ['EPOCH_removeMarker',_trgtObj];
|
||||||
}foreach _trgtObj;
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user