2015-12-15 18:46:09 +00:00
|
|
|
/*
|
|
|
|
Author: Aaron Clark - EpochMod.com
|
|
|
|
|
|
|
|
Contributors:
|
|
|
|
|
|
|
|
Description:
|
|
|
|
Base building maintain base code
|
|
|
|
|
|
|
|
Licence:
|
|
|
|
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
|
|
|
|
|
|
|
Github:
|
2016-06-13 16:54:19 +00:00
|
|
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/building/EPOCH_maintainIT.sqf
|
2015-12-15 18:46:09 +00:00
|
|
|
|
|
|
|
Example:
|
|
|
|
cursorTarget call EPOCH_maintainIT;
|
|
|
|
|
|
|
|
Parameter(s):
|
|
|
|
_this: OBJECT - Base building object ("Constructions_static_F","Constructions_foundation_F","Buildable_Storage","Constructions_lockedstatic_F")
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
NOTHING
|
|
|
|
*/
|
2016-09-01 00:29:08 +00:00
|
|
|
//[[[cog import generate_private_arrays ]]]
|
2019-02-18 21:29:02 +00:00
|
|
|
private ["_buildingJammerRange","_maintainCount","_rnd"];
|
2016-09-01 00:29:08 +00:00
|
|
|
//[[[end]]]
|
|
|
|
|
2016-06-18 01:22:29 +00:00
|
|
|
if !(isNil "EPOCH_maintainLockout") exitWith {["Already Maintaining a base.", 5] call Epoch_message;};
|
2015-09-14 20:55:36 +00:00
|
|
|
if (EPOCH_playerCrypto > 0) then {
|
2019-04-27 08:25:29 +00:00
|
|
|
_buildingJammerRange = getnumber (getmissionconfig "CfgEpochClient" >> "CfgJammers" >> (typeof _this) >> "buildingJammerRange");
|
2015-09-14 20:55:36 +00:00
|
|
|
if (_buildingJammerRange == 0) then { _buildingJammerRange = 75; };
|
|
|
|
|
2015-10-28 15:16:00 +00:00
|
|
|
_maintainCount = {(damage _x) > 0} count nearestObjects[_this, ["Constructions_static_F","Constructions_foundation_F","Buildable_Storage","Constructions_lockedstatic_F"], _buildingJammerRange];
|
|
|
|
if (_maintainCount > 0) then {
|
2015-10-08 19:54:40 +00:00
|
|
|
|
2016-08-05 18:47:13 +00:00
|
|
|
if (EPOCH_playerCrypto < _maintainCount) exitwith {
|
2018-08-16 14:26:55 +00:00
|
|
|
[format ["You need %1 Crypto to maintain your base.",_maintainCount], 5] call Epoch_message;
|
2015-10-28 15:16:00 +00:00
|
|
|
};
|
|
|
|
|
2016-04-08 20:21:46 +00:00
|
|
|
_rnd = format ["rmx_var_temp%1%2",floor random 100, selectRandom ["A","B","C","D","E","F"]];
|
2015-10-28 15:16:00 +00:00
|
|
|
[_this modelToWorld [0,0,0.2],20,"x\addons\a3_epoch_code\Data\UI\buttons\timer.paa", "Maintaining",60,_rnd] call epoch_gui3dWorldPos;
|
|
|
|
|
|
|
|
EPOCH_maintainLockout = true;
|
2015-09-14 20:55:36 +00:00
|
|
|
|
2015-12-23 17:38:11 +00:00
|
|
|
[_this, player, _maintainCount, Epoch_personalToken] remoteExec ["EPOCH_server_maintBUILD",2];
|
2015-09-14 20:55:36 +00:00
|
|
|
|
2015-10-28 15:16:00 +00:00
|
|
|
[_rnd,_maintainCount] spawn {
|
|
|
|
params ["_rnd","_maintainCount"];
|
|
|
|
uiSleep _maintainCount;
|
|
|
|
missionNamespace setVariable [_rnd,false];
|
|
|
|
uiSleep 1;
|
|
|
|
missionNamespace setVariable [_rnd,nil];
|
|
|
|
EPOCH_maintainLockout = nil;
|
|
|
|
};
|
|
|
|
|
2018-08-16 14:26:55 +00:00
|
|
|
[format["Cost %1 Crypto to maintain base.", _maintainCount], 5] call Epoch_message;
|
2015-10-28 15:16:00 +00:00
|
|
|
} else {
|
2016-06-18 01:22:29 +00:00
|
|
|
["Nothing needs Maintaining", 5] call Epoch_message;
|
2015-10-28 15:16:00 +00:00
|
|
|
};
|
2015-09-14 20:55:36 +00:00
|
|
|
} else {
|
2016-06-18 01:22:29 +00:00
|
|
|
["You need Krypto to maintain a base.", 5] call Epoch_message;
|
2015-09-14 20:55:36 +00:00
|
|
|
};
|