2017-02-16 12:54:14 +00:00
|
|
|
|
/**
|
|
|
|
|
* ExileClient_construction_beginNewObject
|
|
|
|
|
*
|
|
|
|
|
* Exile Mod
|
|
|
|
|
* www.exilemod.com
|
|
|
|
|
* <20> 2015 Exile Mod Team
|
|
|
|
|
*
|
|
|
|
|
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
|
|
|
|
|
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
|
|
|
|
*
|
|
|
|
|
eXpochClient_FREE_vectorBuilding
|
|
|
|
|
|
|
|
|
|
Made for Anarchy, adapted to eXpoch and ported into Altis Life and Operation BlockHead by DirtySanchez
|
|
|
|
|
|
|
|
|
|
and NOW EXILE WILL FEEL THE FREE VECTOR, go get a job sellers of scripts, this is a modding community.
|
|
|
|
|
Sharing is caring and douchebaggery is a bannable offense
|
|
|
|
|
|
|
|
|
|
http://DonkeyPunch.INFO
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
private["_kitClassName","_previewObjectClassName"];
|
|
|
|
|
_kitClassName = _this select 0;
|
|
|
|
|
ExileClientConstructionConfig = ("getText(_x >> 'kitMagazine') == _kitClassName" configClasses(configFile >> "CfgConstruction")) select 0;
|
|
|
|
|
_previewObjectClassName = getText(ExileClientConstructionConfig >> "previewObject");
|
|
|
|
|
ExileClientConstructionSnapToObjectClassNames = (ExileClientConstructionConfig >> "SnapObjects") call Bis_fnc_getCfgSubClasses;
|
|
|
|
|
ExileClientConstructionProcess = 1;
|
|
|
|
|
ExileClientConstructionOffset = [0, 5, 0];
|
|
|
|
|
ExileClientConstructionPosition = [0, 0, 0];
|
2017-03-23 17:32:38 +00:00
|
|
|
|
DPBEAClientObjAttachedTo = player;
|
2017-02-24 06:03:59 +00:00
|
|
|
|
BuildVecYaw = 0;BuildVecPitch = 0;BuildVecRoll = 0;
|
2017-02-16 12:54:14 +00:00
|
|
|
|
ExileClientConstructionRotation = 0;
|
|
|
|
|
ExileClientConstructionKitClassName = _kitClassName;
|
|
|
|
|
ExileClientConstructionObjectDisplayName = getText(configFile >> "CfgVehicles" >> _previewObjectClassName >> "displayName");
|
|
|
|
|
if (ExileClientPlayerIsInCombat) then
|
|
|
|
|
{
|
|
|
|
|
["ErrorTitleAndText", ["Construction aborted!", "You cannot build during a combat."]] call ExileClient_gui_toaster_addTemplateToast;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ExileClientConstructionMode = 1;
|
|
|
|
|
ExileClientConstructionIsInSelectSnapObjectMode = true;
|
|
|
|
|
ExileClientConstructionSupportSnapMode = count(ExileClientConstructionSnapToObjectClassNames) > 0;
|
|
|
|
|
ExileClientConstructionCurrentSnapToObject = objNull;
|
2018-03-14 16:22:44 +00:00
|
|
|
|
ExileClientConstructionPosition = ASLtoATL ([getPosASL player, 5, getDir player] call ExileClient_util_math_getPositionInDirection);
|
2017-02-16 12:54:14 +00:00
|
|
|
|
{
|
|
|
|
|
player reveal _x;
|
|
|
|
|
}
|
|
|
|
|
forEach (player nearObjects ["Exile_Construction_Abstract_Static", 20]);
|
|
|
|
|
if((count _this) < 2 )then
|
|
|
|
|
{
|
|
|
|
|
["buildConstructionRequest", [_previewObjectClassName,ExileClientConstructionPosition]] call ExileClient_system_network_send;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2018-03-14 16:22:44 +00:00
|
|
|
|
["buildTerritoryRequest", [_previewObjectClassName,ExileClientConstructionPosition,_this select 1,_this select 2]] call ExileClient_system_network_send;
|
2017-02-16 12:54:14 +00:00
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
true
|