mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
removed respawn from "TO_MERGE"
This commit is contained in:
parent
5871053564
commit
9ae51df453
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,281 +0,0 @@
|
||||
class CfgPatches {
|
||||
class AGM_Respawn {
|
||||
units[] = {};
|
||||
weapons[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
|
||||
requiredVersion = 0.60;
|
||||
requiredAddons[] = {AGM_Core};
|
||||
version = "0.95";
|
||||
versionStr = "0.95";
|
||||
versionAr[] = {0,95,0};
|
||||
author[] = {"bux578", "commy2"};
|
||||
authorUrl = "https://github.com/bux578/";
|
||||
};
|
||||
};
|
||||
|
||||
class CfgFunctions {
|
||||
class AGM_Respawn {
|
||||
class AGM_Respawn {
|
||||
file = "AGM_Respawn\functions";
|
||||
class canMoveRallypoint;
|
||||
class getAllGear;
|
||||
class handleKilled;
|
||||
class handleRespawn;
|
||||
class initRallypoint;
|
||||
class module;
|
||||
class moduleFriendlyFire;
|
||||
class moduleRallypoint;
|
||||
class moveRallypoint;
|
||||
class removeBody;
|
||||
class removeDisconnectedPlayer;
|
||||
class restoreGear;
|
||||
class showFriendlyFireMessage;
|
||||
class teleportToRallypoint;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_Killed_EventHandlers {
|
||||
class CAManBase {
|
||||
class AGM_Respawn_HandleGear {
|
||||
killed = "_this call AGM_Respawn_fnc_handleKilled";
|
||||
};
|
||||
};
|
||||
};
|
||||
class Extended_Respawn_EventHandlers {
|
||||
class CAManBase {
|
||||
class AGM_Respawn_HandleGear {
|
||||
respawn = "_this call AGM_Respawn_fnc_handleRespawn";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class CfgAddons {
|
||||
class AGM_Respawn_Rallypoints {
|
||||
list[] = {"AGM_Rallypoint_West", "AGM_Rallypoint_East", "AGM_Rallypoint_Independent", "AGM_RallypointExit_West", "AGM_RallypointExit_East", "AGM_RallypointExit_Independent"};
|
||||
};
|
||||
};
|
||||
|
||||
class CfgVehicleClasses {
|
||||
class AGM_Respawn_Rallypoints {
|
||||
displayName = "AGM Respawn";
|
||||
};
|
||||
};
|
||||
|
||||
class CfgVehicles {
|
||||
class Module_F;
|
||||
class AGM_ModuleRespawn: Module_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
category = "AGM";
|
||||
displayName = "Respawn System";
|
||||
function = "AGM_Respawn_fnc_module";
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = "\AGM_Respawn\UI\Icon_Module_Respawn_ca.paa";
|
||||
class Arguments {
|
||||
class SavePreDeathGear {
|
||||
displayName = "Save Gear?";
|
||||
description = "Respawn with the gear a soldier had just before his death?";
|
||||
typeName = "BOOL";
|
||||
class values {
|
||||
class Yes { name = "Yes"; value = 1;};
|
||||
class No { default = 1; name = "No"; value = 0; };
|
||||
};
|
||||
};
|
||||
class RemoveDeadBodiesDisonncected {
|
||||
displayName = "Remove bodies?";
|
||||
description = "Remove player bodies after disconnect?";
|
||||
typeName = "BOOL";
|
||||
class values {
|
||||
class Yes { default = 1; name = "Yes"; value = 1;};
|
||||
class No { name = "No"; value = 0; };
|
||||
};
|
||||
};
|
||||
/*class BodyRemoveTimer {
|
||||
displayName = "Time to remove bodies.";
|
||||
description = "The amount of time (in seconds) after that a unit's body gets removed. Default: 90";
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 90;
|
||||
};*/
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_ModuleFriendlyFire: Module_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
category = "AGM";
|
||||
displayName = "Friendly Fire Messages";
|
||||
function = "AGM_Respawn_fnc_moduleFriendlyFire";
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = "\AGM_Respawn\UI\Icon_Module_FriendlyFire_ca.paa";
|
||||
class Arguments {
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_ModuleRallypoint: Module_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
category = "AGM";
|
||||
displayName = "Rallypoint System";
|
||||
function = "AGM_Respawn_fnc_moduleRallypoint";
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = "\AGM_Respawn\UI\Icon_Module_Rallypoint_ca.paa";
|
||||
class Arguments {
|
||||
};
|
||||
};
|
||||
|
||||
// rallypoints
|
||||
class FlagCarrier;
|
||||
class Flag_NATO_F: FlagCarrier {
|
||||
class AGM_Actions;
|
||||
};
|
||||
|
||||
class Flag_CSAT_F: FlagCarrier {
|
||||
class AGM_Actions;
|
||||
};
|
||||
|
||||
class Flag_AAF_F: FlagCarrier {
|
||||
class AGM_Actions;
|
||||
};
|
||||
|
||||
// static
|
||||
class AGM_Rallypoint_West: Flag_NATO_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint West Base";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Rallypoint";
|
||||
distance = 4;
|
||||
condition = "side group _player == west";
|
||||
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_Rallypoint_East: Flag_CSAT_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint East Base";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Rallypoint";
|
||||
distance = 4;
|
||||
condition = "side group _player == east";
|
||||
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_Rallypoint_Independent: Flag_AAF_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint Independent Base";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Rallypoint";
|
||||
distance = 4;
|
||||
condition = "side group _player == independent";
|
||||
statement = "[_player, side group _player, false] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// moveable
|
||||
class AGM_RallypointExit_West: Flag_NATO_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint West";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_nato_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Base";
|
||||
distance = 4;
|
||||
condition = "side group _player == west";
|
||||
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_RallypointExit_East: Flag_CSAT_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint East";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_CSAT_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Base";
|
||||
distance = 4;
|
||||
condition = "side group _player == east";
|
||||
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_RallypointExit_Independent: Flag_AAF_F {
|
||||
author = "$STR_AGM_Core_AGMTeam";
|
||||
displayName = "Rallypoint Independent";
|
||||
vehicleClass = "AGM_Respawn_Rallypoints";
|
||||
|
||||
class EventHandlers {
|
||||
init = "(_this select 0) setFlagTexture '\A3\Data_F\Flags\Flag_AAF_CO.paa'; _this call AGM_Respawn_fnc_initRallypoint";
|
||||
};
|
||||
class AGM_Actions: AGM_Actions {
|
||||
class AGM_Teleport {
|
||||
displayName = "Teleport to Base";
|
||||
distance = 4;
|
||||
condition = "side group _player == independent";
|
||||
statement = "[_player, side group _player, true] call AGM_Respawn_fnc_teleportToRallypoint;";
|
||||
showDisabled = 1;
|
||||
priority = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// team leader
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class AGM_SelfActions {
|
||||
class AGM_MoveRallypoint {
|
||||
displayName = "Move Rallypoint";
|
||||
condition = "[_player, side group _player] call AGM_Respawn_fnc_canMoveRallypoint";
|
||||
statement = "[_player, side group _player] call AGM_Respawn_fnc_moveRallypoint";
|
||||
showDisabled = 0;
|
||||
priority = -0.5;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class AGM_Parameters_Boolean {
|
||||
// Boolean Parameters (0/1)
|
||||
AGM_Respawn_SavePreDeathGear = 0;
|
||||
AGM_Respawn_RemoveDeadBodiesDisonncected = 1;
|
||||
};
|
@ -1,14 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
private ["_unit", "_side"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_side = _this select 1;
|
||||
|
||||
_unit getVariable ["AGM_canMoveRallypoint", false]
|
||||
&& {!isNull ([
|
||||
objNull,
|
||||
missionNamespace getVariable ["AGM_Rallypoint_West", objNull],
|
||||
missionNamespace getVariable ["AGM_Rallypoint_East", objNull],
|
||||
missionNamespace getVariable ["AGM_Rallypoint_Independent", objNull]
|
||||
] select ([west, east, independent] find _side) + 1)}
|
@ -1,40 +0,0 @@
|
||||
/*
|
||||
Author: bux578
|
||||
|
||||
Description:
|
||||
Returns an array containing all items of a given unit
|
||||
|
||||
Arguments:
|
||||
A player object
|
||||
|
||||
Return value:
|
||||
An array containing all inventory items
|
||||
*/
|
||||
|
||||
private ["_unit", "_allGear"];
|
||||
|
||||
_unit = _this select 0;
|
||||
|
||||
_allGear = [
|
||||
(headgear _unit),
|
||||
(goggles _unit),
|
||||
(uniform _unit),
|
||||
(uniformItems _unit),
|
||||
(vest _unit),
|
||||
(vestItems _unit),
|
||||
(backpack _unit),
|
||||
(backpackItems _unit),
|
||||
(primaryWeapon _unit),
|
||||
(primaryWeaponItems _unit),
|
||||
(primaryWeaponMagazine _unit),
|
||||
(secondaryWeapon _unit),
|
||||
(secondaryWeaponItems _unit),
|
||||
(secondaryWeaponMagazine _unit),
|
||||
(handgunWeapon _unit),
|
||||
(handgunItems _unit),
|
||||
(handgunMagazine _unit),
|
||||
(assignedItems _unit),
|
||||
(binocular _unit)
|
||||
];
|
||||
|
||||
_allGear
|
@ -1,31 +0,0 @@
|
||||
/*
|
||||
Name: AGM_Respawn_fnc_handleKilled
|
||||
|
||||
Author(s):
|
||||
bux578
|
||||
|
||||
Description:
|
||||
Handles the XEH Killed event
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - Killed unit
|
||||
1: OBJECT - Attacker
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
*/
|
||||
|
||||
private ["_killedUnit"];
|
||||
|
||||
_killedUnit = _this select 0;
|
||||
|
||||
// Saves the gear when the player is killed
|
||||
AGM_Respawn_unitGear = [];
|
||||
|
||||
if (AGM_Respawn_SavePreDeathGear) then {
|
||||
AGM_Respawn_unitGear = [_killedUnit] call AGM_Respawn_fnc_getAllGear;
|
||||
};
|
||||
|
||||
if (missionNamespace getVariable ["AGM_showFriendlyFireMessage", false]) then {
|
||||
[_this, "AGM_Respawn_fnc_showFriendlyFireMessage", 2] call AGM_Core_fnc_execRemoteFnc;
|
||||
};
|
@ -1,25 +0,0 @@
|
||||
/*
|
||||
Name: AGM_Respawn_fnc_handleRespawn
|
||||
|
||||
Author(s):
|
||||
bux578
|
||||
|
||||
Description:
|
||||
Handles the XEH Respawn event
|
||||
|
||||
Parameters:
|
||||
0: OBJECT - Respawned Unit
|
||||
1: ?
|
||||
|
||||
Returns:
|
||||
VOID
|
||||
*/
|
||||
|
||||
private ["_respawnedUnit"];
|
||||
|
||||
_respawnedUnit = _this select 0;
|
||||
|
||||
// Restores the gear when the player respawns
|
||||
if (AGM_Respawn_SavePreDeathGear) then {
|
||||
[_respawnedUnit, AGM_Respawn_unitGear] call AGM_Respawn_fnc_restoreGear;
|
||||
};
|
@ -1,17 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
private ["_rallypoint", "_name"];
|
||||
|
||||
_rallypoint = _this select 0;
|
||||
|
||||
if (!local _rallypoint) exitWith {};
|
||||
|
||||
_name = typeOf _rallypoint;
|
||||
|
||||
if (isNil _name) then {
|
||||
missionNamespace setVariable [_name, _rallypoint];
|
||||
publicVariable _name;
|
||||
} else {
|
||||
deleteVehicle _rallypoint;
|
||||
diag_log text "[AGM] Respawn: ERROR Multiple Rallypoints of same type.";
|
||||
};
|
@ -1,43 +0,0 @@
|
||||
/*
|
||||
* Author: KoffeinFlummi, bux578, CAA-Picard, commy2
|
||||
*
|
||||
* Initializes the respawn module.
|
||||
*
|
||||
* Arguments:
|
||||
* Whatever the module provides. (I dunno.)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*/
|
||||
if !(isServer) exitWith {};
|
||||
|
||||
_logic = _this select 0;
|
||||
_activated = _this select 2;
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
AGM_Respawn_Module = true;
|
||||
|
||||
[_logic, "AGM_Respawn_SavePreDeathGear", "SavePreDeathGear"] call AGM_Core_fnc_readBooleanParameterFromModule;
|
||||
[_logic, "AGM_Respawn_RemoveDeadBodiesDisonncected", "RemoveDeadBodiesDisonncected"] call AGM_Core_fnc_readBooleanParameterFromModule;
|
||||
|
||||
if (isServer) then {
|
||||
if (AGM_Respawn_RemoveDeadBodiesDisonncected) then {
|
||||
_fnc_deleteDisconnected = {
|
||||
_this spawn {
|
||||
_unit = _this select 0;
|
||||
|
||||
sleep 4;
|
||||
|
||||
if (!alive _unit) then {
|
||||
deleteVehicle _unit;
|
||||
};
|
||||
};
|
||||
false
|
||||
};
|
||||
|
||||
addMissionEventHandler ["HandleDisconnect", _fnc_deleteDisconnected];
|
||||
};
|
||||
};
|
||||
|
||||
diag_log text "[AGM]: Respawn Module Initialized.";
|
@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Author: commy2
|
||||
*
|
||||
* Initializes the Friendly Fire Messages module.
|
||||
*
|
||||
* Arguments:
|
||||
* Whatever the module provides. (I dunno.)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*/
|
||||
|
||||
_this spawn {
|
||||
_logic = _this select 0;
|
||||
_units = _this select 1;
|
||||
_activated = _this select 2;
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
if (isServer) then {
|
||||
_varName = "AGM_showFriendlyFireMessage";
|
||||
|
||||
missionNamespace setVariable [_varName, true];
|
||||
publicVariable _varName;
|
||||
};
|
||||
|
||||
diag_log text "[AGM]: Friendly Fire Messages Module Initialized.";
|
||||
};
|
@ -1,25 +0,0 @@
|
||||
/*
|
||||
* Author: commy2
|
||||
*
|
||||
* Initializes the Rallypoint module.
|
||||
*
|
||||
* Arguments:
|
||||
* Whatever the module provides. (I dunno.)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*/
|
||||
|
||||
_logic = _this select 0;
|
||||
_units = _this select 1;
|
||||
_activated = _this select 2;
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
//_mode = parseNumber (_logic getVariable "Action");
|
||||
|
||||
{
|
||||
_x setVariable ["AGM_canMoveRallypoint", true];
|
||||
} forEach _units;
|
||||
|
||||
diag_log text "[AGM]: Rallypoint Module Initialized.";
|
@ -1,35 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
_this spawn {
|
||||
_unit = _this select 0;
|
||||
_side = _this select 1;
|
||||
|
||||
_rallypoint = [
|
||||
objNull,
|
||||
missionNamespace getVariable ["AGM_RallypointExit_West", objNull],
|
||||
missionNamespace getVariable ["AGM_RallypointExit_East", objNull],
|
||||
missionNamespace getVariable ["AGM_RallypointExit_Independent", objNull]
|
||||
] select ([west, east, independent] find _side) + 1;
|
||||
|
||||
if (isNull _rallypoint) exitWith {};
|
||||
|
||||
_position = getPosATL _unit;
|
||||
_position = _position findEmptyPosition [0, 2, typeOf _rallypoint];
|
||||
if (count _position == 0) then {_position = getPosATL _unit};
|
||||
|
||||
_position set [2, 0];
|
||||
|
||||
["Deploy in 5 seconds ..."] call AGM_Core_fnc_displayTextStructured;
|
||||
|
||||
sleep 5;
|
||||
_rallypoint setPosATL _position;
|
||||
_unit reveal _rallypoint;
|
||||
|
||||
/*
|
||||
_marker = format ["AGM_RallyPoint_%1", _side];
|
||||
_marker setMarkerPos _position;
|
||||
_marker setMarkerTextLocal format ["%1:%2", [date select 3, 2, 0] call CBA_fnc_FORMATNumber, [date select 4, 2, 0] call CBA_fnc_FORMATNumber];
|
||||
*/
|
||||
|
||||
["Rallypoint deployed"] call AGM_Core_fnc_displayTextStructured;
|
||||
};
|
@ -1,30 +0,0 @@
|
||||
/*
|
||||
* Author: bux578
|
||||
*
|
||||
* removes the body
|
||||
*
|
||||
* Arguments:
|
||||
* The body
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*/
|
||||
|
||||
private ["_body", "_forceRemove", "_bodyRemoveTimer"];
|
||||
|
||||
_body = _this select 0;
|
||||
_forceRemove = _this select 1;
|
||||
|
||||
_bodyRemoveTimer = AGM_Respawn_BodyRemoveTimer max 0;
|
||||
|
||||
// could be used for SpecOps missions.
|
||||
if (_forceRemove) then {
|
||||
_bodyRemoveTimer = 2;
|
||||
};
|
||||
|
||||
[_body, _bodyRemoveTimer] spawn {
|
||||
sleep (_this select 1);
|
||||
// hideBody takes ~20s till body is fully underground
|
||||
// a better hideBody would make this more aesthetic
|
||||
deleteVehicle (_this select 0);
|
||||
};
|
@ -1,15 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
private ["_forceRemove", "_body"];
|
||||
|
||||
_forceRemove = _this select 0;
|
||||
|
||||
{
|
||||
if (getPlayerUID _x == _uid) exitWith {
|
||||
_body = _x;
|
||||
};
|
||||
} forEach playableUnits;
|
||||
|
||||
if (!isNil "_body" && {!alive _body}) then {
|
||||
[_body, _forceRemove] call AGM_Respawn_fnc_removeBody;
|
||||
};
|
@ -1,145 +0,0 @@
|
||||
/*
|
||||
Author: bux578
|
||||
|
||||
Description:
|
||||
Restores previously saved gear
|
||||
|
||||
Arguments:
|
||||
A player object, an array containing all gear
|
||||
|
||||
Return value:
|
||||
An array containing all inventory items
|
||||
*/
|
||||
|
||||
private ["_unit", "_allGear", "_headgear", "_goggles", "_uniform", "_uniformitems", "_vest", "_vestitems", "_backpack", "_backpackitems", "_primaryweapon", "_primaryweaponitems", "_primaryweaponmagazine", "_handgunweapon", "_handgunweaponitems", "_handgunweaponmagazine", "_assigneditems", "_binocular"];
|
||||
|
||||
|
||||
_unit = _this select 0;
|
||||
_allGear = _this select 1;
|
||||
|
||||
// remove all starting gear of a player
|
||||
removeAllWeapons _unit;
|
||||
removeGoggles _unit;
|
||||
removeHeadgear _unit;
|
||||
removeVest _unit;
|
||||
removeUniform _unit;
|
||||
removeAllAssignedItems _unit;
|
||||
clearAllItemsFromBackpack _unit;
|
||||
removeBackpack _unit;
|
||||
|
||||
_headgear = _allGear select 0;
|
||||
_goggles = _allGear select 1;
|
||||
_uniform = _allGear select 2;
|
||||
_uniformitems = _allGear select 3;
|
||||
_vest = _allGear select 4;
|
||||
_vestitems = _allGear select 5;
|
||||
_backpack = _allGear select 6;
|
||||
_backpackitems = _allGear select 7;
|
||||
_primaryweapon = _allGear select 8;
|
||||
_primaryweaponitems = _allGear select 9;
|
||||
_primaryweaponmagazine = _allGear select 10;
|
||||
_secondaryweapon = _allGear select 11;
|
||||
_secondaryweaponitems = _allGear select 12;
|
||||
_secondaryweaponmagazine = _allGear select 13;
|
||||
_handgunweapon = _allGear select 14;
|
||||
_handgunweaponitems = _allGear select 15;
|
||||
_handgunweaponmagazine = _allGear select 16;
|
||||
_assigneditems = _allGear select 17;
|
||||
_binocular = _allGear select 18;
|
||||
|
||||
|
||||
// start restoring the items
|
||||
if (_headgear != "") then {
|
||||
_unit addHeadgear _headgear;
|
||||
};
|
||||
if (_uniform != "") then {
|
||||
_unit forceAddUniform _uniform;
|
||||
};
|
||||
if (_vest != "") then {
|
||||
_unit addVest _vest;
|
||||
};
|
||||
if (_goggles != "") then {
|
||||
_unit addGoggles _goggles;
|
||||
};
|
||||
|
||||
{
|
||||
_unit addItemToUniform _x;
|
||||
}forEach _uniformitems;
|
||||
|
||||
{
|
||||
_unit addItemToVest _x;
|
||||
}forEach _vestitems;
|
||||
|
||||
|
||||
if(format["%1", _backpack] != "") then {
|
||||
_unit addBackpack _backpack;
|
||||
|
||||
_backpa = unitBackpack _unit;
|
||||
clearMagazineCargoGlobal _backpa;
|
||||
clearWeaponCargoGlobal _backpa;
|
||||
clearItemCargoGlobal _backpa;
|
||||
{
|
||||
_unit addItemToBackpack _x;
|
||||
} forEach _backpackitems;
|
||||
};
|
||||
|
||||
|
||||
// primaryWeapon
|
||||
if (_primaryweapon != "") then {
|
||||
{
|
||||
_unit addMagazine _x;
|
||||
} forEach _primaryweaponmagazine;
|
||||
|
||||
_unit addWeapon _primaryweapon;
|
||||
|
||||
{
|
||||
if (_x != "") then {
|
||||
_unit addPrimaryWeaponItem _x;
|
||||
};
|
||||
} forEach _primaryweaponitems;
|
||||
};
|
||||
|
||||
|
||||
// secondaryWeapon
|
||||
if (_secondaryweapon != "") then {
|
||||
{
|
||||
_unit addMagazine _x;
|
||||
} forEach _secondaryweaponmagazine;
|
||||
|
||||
_unit addWeapon _secondaryweapon;
|
||||
|
||||
{
|
||||
if (_x != "") then {
|
||||
_unit addSecondaryWeaponItem _x;
|
||||
};
|
||||
} forEach _secondaryweaponitems;
|
||||
};
|
||||
|
||||
|
||||
// handgun
|
||||
if (_handgunweapon != "") then {
|
||||
{
|
||||
_unit addMagazine _x;
|
||||
} forEach _handgunweaponmagazine;
|
||||
|
||||
_unit addWeapon _handgunweapon;
|
||||
|
||||
{
|
||||
if (_x != "") then {
|
||||
_unit addHandgunItem _x;
|
||||
};
|
||||
} forEach _handgunweaponitems;
|
||||
};
|
||||
|
||||
|
||||
_assignedItems = _assignedItems - [_binocular];
|
||||
|
||||
// items
|
||||
{_unit linkItem _x} forEach _assignedItems;
|
||||
|
||||
_unit addWeapon _binocular;
|
||||
|
||||
if ("Laserdesignator" in assignedItems _unit) then {
|
||||
_unit selectWeapon "Laserdesignator";
|
||||
if (currentMagazine _unit == "") then {_unit addMagazine "Laserbatteries";};
|
||||
};
|
@ -1,12 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
private ["_unit", "_killer"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_killer = _this select 1;
|
||||
|
||||
if (_unit != _killer && side group _unit in [side group AGM_player, civilian] && {side group _killer == side group AGM_player}) then {
|
||||
systemChat format ["%1 was killed by %2", [_unit] call AGM_Core_fnc_getName, [_killer] call AGM_Core_fnc_getName];
|
||||
|
||||
[_unit, "killedByFriendly", [_unit, _killer]] call AGM_Core_fnc_callCustomEventHandlers;
|
||||
};
|
@ -1,27 +0,0 @@
|
||||
// by commy2
|
||||
|
||||
private ["_unit", "_side", "_toBase", "_rallypoint"];
|
||||
|
||||
_unit = _this select 0;
|
||||
_side = _this select 1;
|
||||
_toBase = _this select 2;
|
||||
|
||||
_rallypoint = ([
|
||||
[
|
||||
objNull,
|
||||
missionNamespace getVariable ["AGM_RallypointExit_West", objNull],
|
||||
missionNamespace getVariable ["AGM_RallypointExit_East", objNull],
|
||||
missionNamespace getVariable ["AGM_RallypointExit_Independent", objNull]
|
||||
],
|
||||
[
|
||||
objNull,
|
||||
missionNamespace getVariable ["AGM_Rallypoint_West", objNull],
|
||||
missionNamespace getVariable ["AGM_Rallypoint_East", objNull],
|
||||
missionNamespace getVariable ["AGM_Rallypoint_Independent", objNull]
|
||||
]
|
||||
] select _toBase) select ([west, east, independent] find _side) + 1;
|
||||
|
||||
if (isNull _rallypoint) exitWith {};
|
||||
|
||||
_unit setPosASL (getPosASL _rallypoint);
|
||||
[["Teleported to Rallypoint", "Teleported to Base"] select _toBase] call AGM_Core_fnc_displayTextStructured;
|
Loading…
Reference in New Issue
Block a user