mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
commit
4f6fc29717
@ -1,3 +1,4 @@
|
||||
0.5 b740:
|
||||
[New] Epoch is leaving alpha and entering beta! All Epoch Asset project sources are now available via our GitHub +LFS and under APL-SA license here: https://github.com/EpochModTeam/EpochCore
|
||||
[Added] Added Service Point to Rearm, Repair and Refuel. Thanks to @Ignatz-HeMan
|
||||
[Added] 7 new Keesha camo skins by Craig Hauer aka ComatoseBadger.
|
||||
@ -25,3 +26,13 @@
|
||||
[Info] Re-add missing comments in some config files.
|
||||
[Info] Numerous other fixes and optimizations.
|
||||
[Info] Requires Arma 3 1.68 or higher.
|
||||
|
||||
0.5 b749:
|
||||
[Added] 200 player support to all mission files, thanks to increased group limits in Arma 1.68!
|
||||
[Added] Experimental support for Mad ArmA Mod: https://forums.bistudio.com/forums/topic/200295-mad-arma-mad-max-inspired-mod/
|
||||
[Changed] Spawn in base now use player position instead of jammers (reset spawn point to use). @Ignatz-HeMan
|
||||
[Changed] Force "Take Crypto" option on dead bodies. @Ignatz-HeMan
|
||||
[Changed ] Added optional Classnames for Service Point Pos. @Ignatz-HeMan
|
||||
[Changed ] Some Cleanups and Script optimization to the service point scripts. @Ignatz-HeMan
|
||||
[Fixed] Toxic Smoke Grenade not making you Toxic thanks to @Ignatz-HeMan
|
||||
[Info] Install script for Mad Arma mod via Steam workshop in the tools/install folder.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
5 "" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="(clown|pkin|wolf)_mask_epoch" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
5 "" !="H_MM_(Buzzard_Gasmask|Helmet)_01" !="V_MM_Vest_01" !="(V|H)_(F|)[0-9]{1,3}_EPOCH" !="(clown|pkin|wolf)_mask_epoch" !="Item(Map|GPS|Compass|Watch)" !="EpochRadio[0-9]" !="B_UavTerminal" !="(U|G|bipod|acc|muzzle|optic)_[0-9A-Z_]{1,100}" !="(NVG|Defib|Heal|Repair|Elcan(_reflex|))_EPOCH" !="(Binocular|Rangefinder|Hatchet|CrudeHatchet|WoodClub|Melee(Sledge|Maul|Rod|Sword)|ChainSaw|MultiGun|Rollins_F|Plunger)" !="(ruger_pistol|speargun|1911_pistol|akm|m14|M14Grn|m16|m16Red|m107|m107Tan|m249|m249Tan|m4a3|sr25|l85a2|l85a2_(pink|ugl))_epoch" !="SMG_(01|02)_F" !="hgun_(PDW2000|ACPC2|Rook40|P07|Pistol_heavy_0[1-2]|Pistol_Signal)_F" !="LMG_(Mk200|Zafir)_F" !="srifle_(EBR|GM6|LRR|DMR_01)_(camo_|)F" !="arifle_(Katiba|Katiba_C|Katiba_GL|SDAR|TRG21|TRG20|TRG21_GL|Mk20|Mk20C|Mk20C_plain|Mk20_GL|Mk20_plain|Mk20_GL_plain)_F" !="arifle_(MXC|MX|MX_GL|MXM|MXM_Black|MX_GL_Black|MX_Black|MXC_Black|MX_SW|MX_SW_Black)_F" !="srifle_DMR_0[2-6](_(camo|sniper|khaki|tan|multicam|woodland|spotter|blk|hex|olive)_|_)F" !="MMG_0[1-2]_(hex|tan|camo|black|sand)_F" !"CUP_((h|s)gun|(s|a)rifle|(l|s)mg)_"
|
||||
|
@ -13,7 +13,7 @@
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/functions/EPOCH_worldObjectType.sqf
|
||||
|
||||
Example:
|
||||
_isTree = [_objectSting, "tree"] call EPOCH_worldObjectType;
|
||||
_isTree = [_objectString, "tree"] call EPOCH_worldObjectType;
|
||||
|
||||
Parameter(s):
|
||||
_this select 0: STRING - string name of world object
|
||||
|
@ -1,14 +1,48 @@
|
||||
if (vehicle player == player) exitwith {false};
|
||||
if !(local vehicle player) exitwith {false};
|
||||
if (speed vehicle player > 2 || speed vehicle player < -2) exitwith {false};
|
||||
if (((getpos vehicle player) select 2) > 1) exitwith {false};
|
||||
/*
|
||||
Author: [Ignatz] He-Man
|
||||
|
||||
Contributors: Aaron Clark - EpochMod.com
|
||||
|
||||
Description:
|
||||
Check if in Service Point for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Check.sqf
|
||||
*/
|
||||
|
||||
private ['_inSP','_vehicle','_vehName','_allRepaired'];
|
||||
|
||||
_vehicle = vehicle player;
|
||||
if (_vehicle == player) exitwith {false};
|
||||
if !(local _vehicle) exitwith {false};
|
||||
if (speed _vehicle > 2 || speed _vehicle < -2) exitwith {false};
|
||||
if (((getpos _vehicle) select 2) > 1) exitwith {false};
|
||||
if (!(_vehicle iskindof 'ship') && (((getposasl _vehicle) select 2) < 1)) exitwith {false};
|
||||
|
||||
_config = 'CfgServicePoint' call EPOCH_returnConfig;
|
||||
_servicepoints = getArray (_config >> worldname >> 'ServicePoints');
|
||||
_servicepointDist = ["CfgServicePoint", "ServicePointDist", 40] call EPOCH_fnc_returnConfigEntryV2;
|
||||
_ServicePointClasses = ["CfgServicePoint", "ServicePointClasses", []] call EPOCH_fnc_returnConfigEntryV2;
|
||||
|
||||
if (_servicepoints isequalto []) exitwith {false};
|
||||
if !(({player distance _x < _servicepointDist} count _servicepoints > 0)) exitwith {false};
|
||||
_Vehicle = vehicle player;
|
||||
if (!(_Vehicle iskindof 'ship') && (((getposasl _Vehicle) select 2) < 1)) exitwith {false};
|
||||
true
|
||||
if (_servicepoints isequalto [] && _ServicePointClasses isequalto []) exitwith {false};
|
||||
if (_vehicle == player) exitwith {false};
|
||||
if !(local _vehicle) exitwith {false};
|
||||
if (speed _vehicle > 2 || speed _vehicle < -2) exitwith {false};
|
||||
if (((getpos _vehicle) select 2) > 1) exitwith {false};
|
||||
if (!(_vehicle iskindof 'ship') && (((getposasl _vehicle) select 2) < 1)) exitwith {false};
|
||||
_inSP = false;
|
||||
if (({player distance _x < _servicepointDist} count _servicepoints > 0)) then {
|
||||
_inSP = true;
|
||||
};
|
||||
if (!_inSP) then {
|
||||
if !(_ServicePointClasses isequalto []) then {
|
||||
_nearClasses = nearestobjects [_vehicle,_ServicePointClasses,_servicepointDist];
|
||||
if !(_nearClasses isequalto []) then {
|
||||
_inSP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
_inSP
|
||||
|
@ -1,20 +1,31 @@
|
||||
params ['_vehicle','_ammotype','_turret','_reloagmags','_ammocount','_costs'];
|
||||
private ['_magname'];
|
||||
_vehtype = typeof _vehicle;
|
||||
_VehName = getText(configFile >> 'cfgVehicles' >> _vehtype >> 'displayName');
|
||||
if (!local _vehicle) exitWith {
|
||||
_line = 'Rearm denied - Vehicle is not local to you!';
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if(count (crew _vehicle) > 1) exitWith {
|
||||
_line = 'Rearm denied - All Passengers must exit the Vehicle!';
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if (EPOCH_playerCrypto < _costs) exitWith {
|
||||
_line = format ['You need %1 Crypto to re-arm %2', _costs,_VehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
/*
|
||||
Author: [Ignatz] He-Man
|
||||
|
||||
Contributors: Aaron Clark - EpochMod.com
|
||||
|
||||
Description:
|
||||
Rearm Vehicles for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Rearm.sqf
|
||||
*/
|
||||
|
||||
private ['_magname','_vehtype','_vehName'];
|
||||
params ['_vehicle','_ammotype','_turret','_reloagmags','_ammocount','_costs'];
|
||||
|
||||
if (!local _vehicle) exitWith {
|
||||
_line = 'Rearm denied - Go in as driver first!';
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
_vehtype = typeof _vehicle;
|
||||
_vehName = getText(configFile >> 'cfgVehicles' >> _vehtype >> 'displayName');
|
||||
if (EPOCH_playerCrypto < _costs) exitWith {
|
||||
_line = format ['You need %1 Crypto to Rearm %2', _costs,_vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if(_costs > 0)then{
|
||||
[player,(_costs*-1),Epoch_personalToken] remoteexec ['epoch_server_paycrypto',2];
|
||||
};
|
||||
@ -26,5 +37,5 @@ _magname = getText (configFile >> 'CfgMagazines' >> _ammotype >> 'displayName');
|
||||
if (_magname isequalto '') then {
|
||||
_magname = _ammotype;
|
||||
};
|
||||
_line = format ['%1 rearmed with %2', _VehName, _magname];
|
||||
_line = format ['%1 rearmed with %2', _vehName, _magname];
|
||||
[_line,5] call Epoch_message;
|
||||
|
@ -1,32 +1,44 @@
|
||||
private ['_vehicle','_args','_servicePoint','_costs','_updateInterval','_amount','_type','_name','_textMissing'];
|
||||
_vehicle = _this select 0;
|
||||
if (!local _vehicle) exitWith {};
|
||||
_args = _this select 1;
|
||||
_costs = _args select 0;
|
||||
_updateInterval = _args select 1;
|
||||
_amount = _args select 2;
|
||||
_type = typeOf _vehicle;
|
||||
_name = getText(configFile >> 'cfgVehicles' >> _type >> 'displayName');
|
||||
/*
|
||||
Author: [Ignatz] He-Man
|
||||
|
||||
Contributors: Aaron Clark - EpochMod.com
|
||||
|
||||
Description:
|
||||
Refuel Vehicles for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Refuel.sqf
|
||||
*/
|
||||
|
||||
private ['_vehtype','_vehName'];
|
||||
params [['_vehicle',objnull],['_args',[]]];
|
||||
_args params [['_costs',0],['_updateInterval',1],['_amount',0.1]];
|
||||
|
||||
if (!local _vehicle) exitWith {
|
||||
_line = 'Refuel denied - Go in as driver first!';
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
_vehtype = typeof _vehicle;
|
||||
_vehName = getText(configFile >> 'cfgVehicles' >> _vehtype >> 'displayName');
|
||||
if (EPOCH_playerCrypto < _costs) exitWith {
|
||||
_line = format ['You need %1 Crypto to refuel %2', _costs,_name];
|
||||
_line = format ['You need %1 Crypto to Refuel %2', _costs,_vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if(_costs > 0)then{
|
||||
[player,(_costs*-1),Epoch_personalToken] remoteexec ['epoch_server_paycrypto',2];
|
||||
};
|
||||
_vehicle engineOn false;
|
||||
if ((vehicle player != _vehicle) || (!local _vehicle) || speed _vehicle < -2 || speed _vehicle > 2) exitWith {
|
||||
_line = format ['Fueling of %1 stopped', _name];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
while {(vehicle player == _vehicle) && (local _vehicle)} do {
|
||||
while {(vehicle player == _vehicle) && (local _vehicle) && (alive player)} do {
|
||||
if (speed _vehicle > 2 || speed _vehicle < -2 ) exitWith {
|
||||
_line = format ['Refueling of %1 stopped', _name];
|
||||
_line = format ['Refueling of %1 stopped', _vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
_vehicle setFuel ((Fuel _vehicle)+_amount);
|
||||
if (Fuel _vehicle > 0.99) exitWith {
|
||||
_line = format ['%1 Refueled', _name];
|
||||
_line = format ['%1 Refueled', _vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
uisleep _updateInterval;
|
||||
|
@ -1,28 +1,43 @@
|
||||
private ['_Ignatz_vehicle','_args','_servicePoint','_costs','_repairTime','_type','_name','_hitpoints','_allRepaired'];
|
||||
_Ignatz_vehicle = _this select 0;
|
||||
if (!local _Ignatz_vehicle) exitWith {
|
||||
diag_log format['Error: called service_point_repair.sqf with non-local vehicle: %1', _Ignatz_vehicle]
|
||||
/*
|
||||
Author: [Ignatz] He-Man
|
||||
|
||||
Contributors: Aaron Clark - EpochMod.com
|
||||
|
||||
Description:
|
||||
Repair Vehicles for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Repair.sqf
|
||||
*/
|
||||
|
||||
private ['_vehtype','_vehName','_allRepaired'];
|
||||
params [['_vehicle',objnull],['_args',[]]];
|
||||
_args params [['_costs',0],['_updateInterval',1.2]];
|
||||
|
||||
if (!local _vehicle) exitWith {
|
||||
_line = 'Repair denied - Go in as driver first!';
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
_args = _this select 1;
|
||||
_costs = _args select 0;
|
||||
_repairTime = _args select 1;
|
||||
_type = typeOf _Ignatz_vehicle;
|
||||
_name = getText(configFile >> 'cfgVehicles' >> _type >> 'displayName');
|
||||
_vehtype = typeOf _vehicle;
|
||||
_vehName = getText(configFile >> 'cfgVehicles' >> _vehtype >> 'displayName');
|
||||
if (EPOCH_playerCrypto < _costs) exitWith {
|
||||
_line = format ['You need %1 Crypto to Repair %2', _costs,_name];
|
||||
_line = format ['You need %1 Crypto to Repair %2', _costs,_vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if(_costs > 0)then{
|
||||
[player,(_costs*-1),Epoch_personalToken] remoteexec ['epoch_server_paycrypto',2];
|
||||
};
|
||||
_Ignatz_vehicle engineOn false;
|
||||
_vehicle engineOn false;
|
||||
_repaired = [];
|
||||
_allRepaired = true;
|
||||
_allHitPointsDamage = getAllHitPointsDamage _Ignatz_vehicle;
|
||||
_allHitPointsDamage = getAllHitPointsDamage _vehicle;
|
||||
{
|
||||
if ((vehicle player != _Ignatz_vehicle) || (!local _Ignatz_vehicle) || speed _Ignatz_vehicle < -2 || speed _Ignatz_vehicle > 2) exitWith {
|
||||
if ((vehicle player != _vehicle) || (!local _vehicle) || speed _vehicle < -2 || speed _vehicle > 2) exitWith {
|
||||
_allRepaired = false;
|
||||
_line = format ['Repairing of %1 stopped', _name];
|
||||
_line = format ['Repairing of %1 stopped', _vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
if (!(_x in _repaired) && !(_x isequalto "") && (_allHitPointsDamage select 2 select _foreachindex) > 0) then {
|
||||
@ -31,20 +46,20 @@ _allHitPointsDamage = getAllHitPointsDamage _Ignatz_vehicle;
|
||||
_partName set [1,45];
|
||||
_partName set [2,20];
|
||||
_partName = toString _partName;
|
||||
_Ignatz_vehicle setHitPointDamage [_x,0];
|
||||
_vehicle setHitPointDamage [_x,0];
|
||||
_line = format ['Repairing%1 ...', _partName];
|
||||
[_line,5] call Epoch_message;
|
||||
_repaired pushback _x;
|
||||
uisleep _repairTime;
|
||||
uisleep _updateInterval;
|
||||
};
|
||||
} foreach (_allHitPointsDamage select 0);
|
||||
if (_allRepaired) then {
|
||||
if ((damage _Ignatz_vehicle) > 0) then {
|
||||
[_Ignatz_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];
|
||||
if ((damage _vehicle) > 0) then {
|
||||
[_vehicle,["ALL",0],player,Epoch_personalToken] remoteExec ["EPOCH_server_repairVehicle",2];
|
||||
};
|
||||
_pos = getposatl _Ignatz_vehicle;
|
||||
_pos = getposatl _vehicle;
|
||||
_pos set [2,(_pos select 2)+0.25];
|
||||
_Ignatz_vehicle setposatl _pos;
|
||||
_line = format ['%1 full Repaired', _name];
|
||||
_vehicle setposatl _pos;
|
||||
_line = format ['%1 full Repaired', _vehName];
|
||||
[_line,5] call Epoch_message;
|
||||
};
|
||||
|
@ -1,3 +1,20 @@
|
||||
/*
|
||||
Author: [Ignatz] He-Man
|
||||
|
||||
Contributors: Aaron Clark - EpochMod.com
|
||||
|
||||
Description:
|
||||
Service Point StartScript for A3 Epoch
|
||||
|
||||
Licence:
|
||||
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Github:
|
||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/servicepoint/EPOCH_SP_Start.sqf
|
||||
*/
|
||||
|
||||
private ['_missingammo','_ownedcompletemags','_magname','_actionTitle','_costs','_vehicle','_refuel_costs','_refuel_updateInterval','_refuel_amount','_costsFree','_repair_costs','_fnc_getCosts','_fnc_actionTitle'];
|
||||
|
||||
Ignatz_Refuel = nil;
|
||||
Ignatz_Repair = nil;
|
||||
Ignatz_Rearm0 = nil;
|
||||
@ -5,21 +22,7 @@ Ignatz_Rearm1 = nil;
|
||||
Ignatz_Rearm2 = nil;
|
||||
Ignatz_Rearm3 = nil;
|
||||
|
||||
if (vehicle player == player) exitwith {false};
|
||||
if !(local vehicle player) exitwith {false};
|
||||
if (speed vehicle player > 2 || speed vehicle player < -2) exitwith {false};
|
||||
if (((getpos vehicle player) select 2) > 1) exitwith {false};
|
||||
|
||||
private ['_missingammo','_ownedcompletemags','_magname','_actionTitle','_costs','_vehicle','_refuel_costs','_refuel_updateInterval','_refuel_amount','_costsFree','_repair_costs','_repair_repairTime','_fnc_getCosts','_fnc_actionTitle'];
|
||||
|
||||
_config = 'CfgServicePoint' call EPOCH_returnConfig;
|
||||
_servicepoints = getArray (_config >> worldname >> 'ServicePoints');
|
||||
_servicepointDist = ["CfgServicePoint", "ServicePointDist", 40] call EPOCH_fnc_returnConfigEntryV2;
|
||||
|
||||
if !(({player distance _x < _servicepointDist} count _servicepoints > 0)) exitwith {false};
|
||||
_Vehicle = vehicle player;
|
||||
if (!(_Vehicle iskindof 'ship') && (((getposasl _Vehicle) select 2) < 1)) exitwith {false};
|
||||
|
||||
_vehicle = vehicle player;
|
||||
_repair_costs = ["CfgServicePoint", "repair_costs", []] call EPOCH_fnc_returnConfigEntryV2;
|
||||
_refuel_costs = ["CfgServicePoint", "refuel_costs", []] call EPOCH_fnc_returnConfigEntryV2;
|
||||
_refuel_updateInterval = ["CfgServicePoint", "refuel_updateInterval", 1] call EPOCH_fnc_returnConfigEntryV2;
|
||||
@ -43,6 +46,7 @@ _fnc_getCosts = {
|
||||
} forEach _costs;
|
||||
_cost
|
||||
};
|
||||
|
||||
_fnc_actionTitle = {
|
||||
private ['_itemName','_displayName','_actionName','_costs','_costsText','_actionTitle'];
|
||||
_actionName = _this select 0;
|
||||
|
@ -17,7 +17,7 @@ private ["_antagonistSpawnDefaults","_customVarsInit","_say3dsounds","_say3dsoun
|
||||
//[[[end]]]
|
||||
|
||||
// detect if Ryan's Zombies and Deamons mod is present
|
||||
if (["CfgEpochClient", "ryanZombiesEnabled", false] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||
if (["CfgEpochClient", "ryanZombiesEnabled", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||
EPOCH_mod_Ryanzombies_Enabled = (parseNumber (getText (configFile >> "CfgPatches" >> "Ryanzombies" >> "version")) >= 4.5);
|
||||
if (EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
diag_log "Epoch: Ryanzombies detected";
|
||||
@ -26,6 +26,17 @@ if (["CfgEpochClient", "ryanZombiesEnabled", false] call EPOCH_fnc_returnConfigE
|
||||
EPOCH_mod_Ryanzombies_Enabled = false;
|
||||
};
|
||||
|
||||
// detect if Mad Arma is present
|
||||
if (["CfgEpochClient", "madArmaEnabled", true] call EPOCH_fnc_returnConfigEntryV2) then {
|
||||
EPOCH_mod_madArma_Enabled = (parseNumber (getText (configFile >> "CfgPatches" >> "bv_wheels" >> "version")) >= 2016);
|
||||
if (EPOCH_mod_madArma_Enabled) then {
|
||||
diag_log "Epoch: Mad Arma detected";
|
||||
};
|
||||
} else {
|
||||
EPOCH_mod_madArma_Enabled = false;
|
||||
};
|
||||
|
||||
|
||||
// Init Custom vars
|
||||
EPOCH_customVars = [];
|
||||
EPOCH_defaultVars = [];
|
||||
|
@ -79,7 +79,7 @@ class tra_shop
|
||||
|
||||
class player_takeCrypto
|
||||
{
|
||||
condition = "(dyna_cursorTarget getVariable [""Crypto"",0]) > 0";
|
||||
condition = "dyna_isDeadPlayer || (dyna_cursorTarget getVariable [""Crypto"",0]) > 0";
|
||||
action = "dyna_cursorTarget call EPOCH_takeCrypto;";
|
||||
icon = "x\addons\a3_epoch_code\Data\UI\buttons\krypto.paa";
|
||||
tooltip = "Take Krypto";
|
||||
|
@ -202,6 +202,7 @@ class CfgObjectInteractions
|
||||
canSee = "true";
|
||||
ppEffect[] = {};
|
||||
};
|
||||
class SmokeShellToxic_Ammo : SmokeShellCustom {};
|
||||
class Epoch_Cloak_F : Default
|
||||
{
|
||||
distance = 30;
|
||||
|
@ -4513,6 +4513,15 @@ class CfgPricing
|
||||
class B_ViperLightHarness_hex_F { price = 20; };
|
||||
class B_ViperLightHarness_khk_F { price = 20; };
|
||||
class B_ViperLightHarness_oli_F { price = 20; };
|
||||
// MAD ARMA
|
||||
class revolver01 { price = 55 };
|
||||
class VG_sawed_off_01 { price = 120 };
|
||||
class Devastator_01 { price = 180 };
|
||||
class in005_1Rnd_12Gauge_Pellets { price = 5 };
|
||||
class in005_1Rnd_12Gauge_Slug { price = 5 };
|
||||
class H_MM_Buzzard_Gasmask_01 { price = 65 };
|
||||
class H_MM_Helmet_01 { price = 75 };
|
||||
class V_MM_Vest_01 { price = 20 };
|
||||
};
|
||||
|
||||
/*[[[end]]]*/
|
||||
|
@ -1,11 +1,11 @@
|
||||
class CfgServicePoint {
|
||||
class Altis {
|
||||
ServicePoints[] = {
|
||||
ServicePoints[] = { // Array of coords for ServicePoints
|
||||
{13325,14477,0}
|
||||
};
|
||||
};
|
||||
class Tanoa {
|
||||
ServicePoints[] = {
|
||||
ServicePoints[] = { // Array of coords for ServicePoints
|
||||
/*
|
||||
{2157.79,3477.65,0},
|
||||
{11731.5,3125.95,0},
|
||||
@ -19,11 +19,17 @@ class CfgServicePoint {
|
||||
*/
|
||||
};
|
||||
};
|
||||
class Chernarus {
|
||||
class Chernarus { // Array of coords for ServicePoints
|
||||
ServicePoints[] = {
|
||||
|
||||
};
|
||||
};
|
||||
ServicePointClasses[] = { // Array of Classnames, where also are ServicePoints
|
||||
// "Land_Pillar_Pier_F",
|
||||
// "Land_CarService_F",
|
||||
// "Land_fs_feed_F",
|
||||
// "Land_fs_roof_F"
|
||||
};
|
||||
ServicePointDist = 40;
|
||||
refuel_updateInterval = 1;
|
||||
refuel_amount = 0.1;
|
||||
@ -245,4 +251,4 @@ class CfgServicePoint {
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1 +1 @@
|
||||
build=741;
|
||||
build=749;
|
||||
|
@ -15,7 +15,7 @@ class Header
|
||||
{
|
||||
gameType = Survive;
|
||||
minPlayers = 1;
|
||||
maxPlayers = 100;
|
||||
maxPlayers = 200;
|
||||
};
|
||||
respawn = "BASE";
|
||||
respawnDelay = 600;
|
||||
|
@ -1 +1 @@
|
||||
build=741;
|
||||
build=749;
|
||||
|
@ -22,7 +22,8 @@ if (count _objArr < 1) exitWith {};
|
||||
diag_log format["Epoch: Attempt Create Object: %1 for %2",_objArr, name _player];
|
||||
|
||||
_cfgPricing = 'CfgPricing' call EPOCH_returnConfig;
|
||||
_allowedVehicleListName = ["allowedVehiclesList","allowedVehiclesList_CUP"] select EPOCH_modCUPVehiclesEnabled;
|
||||
_lootTableIndex = if (EPOCH_modCUPVehiclesEnabled) then {if (EPOCH_mod_madArma_Enabled) then {3} else {1}} else {if (EPOCH_mod_madArma_Enabled) then {2} else {0}};
|
||||
_allowedVehicleListName = ["allowedVehiclesList","allowedVehiclesList_CUP","allowedVehiclesList_MAD","allowedVehiclesList_MADCUP"] select _allowedVehicleIndex;
|
||||
_allowedVehiclesList = getArray(configFile >> "CfgEpoch" >> worldName >> _allowedVehicleListName);
|
||||
//diag_log format ["DEBUG: Allowed Vehs: %1",_allowedVehiclesList];
|
||||
_vehicles = [];
|
||||
@ -42,41 +43,41 @@ _pos set [2,0];
|
||||
|
||||
//Sort Object Array
|
||||
{
|
||||
|
||||
|
||||
//Weapons / Items
|
||||
if(isClass (configFile >> "CfgWeapons" >> _x))then{
|
||||
|
||||
|
||||
diag_log format["Epoch: Server_CreateObject: %1 Weapon / Item Found",_x];
|
||||
|
||||
|
||||
if("ItemCore" in ([configFile >> "CfgWeapons" >> _x, true] call BIS_fnc_returnParents))then{
|
||||
_items pushBack _x;
|
||||
}else{
|
||||
_weapons pushBack _x;
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
//Magazines
|
||||
if(isClass (configFile >> "CfgMagazines" >> _x))then{
|
||||
|
||||
|
||||
diag_log format["Epoch: Server_CreateObject: %1 Magazine Found",_x];
|
||||
|
||||
|
||||
if("ItemCore" in ([configFile >> "CfgMagazines" >> _x, true] call BIS_fnc_returnParents))then{
|
||||
_items pushBack _x;
|
||||
}else{
|
||||
_magazines pushBack _x;
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
//BackPacks / Vehicles
|
||||
if(isClass (configFile >> "CfgVehicles" >> _x))then{
|
||||
if("Bag_Base" in ([configFile >> "CfgVehicles" >> _x, true] call BIS_fnc_returnParents))then{
|
||||
_backpacks pushBack _x;
|
||||
}else{
|
||||
|
||||
|
||||
_vehAllowed = true;
|
||||
|
||||
|
||||
//If not destroying vehcile then check if allowed
|
||||
if!(_doDamage)then{
|
||||
_veh = _x;
|
||||
@ -85,8 +86,8 @@ _pos set [2,0];
|
||||
if (_veh in _x)then{_vehAllowed = true;};
|
||||
} forEach _allowedVehiclesList;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
if(_vehAllowed)then{
|
||||
//If not destroying (mission object) then find safe position
|
||||
if!(_doDamage)then{
|
||||
@ -100,7 +101,7 @@ _pos set [2,0];
|
||||
_pos = _pos findEmptyPosition [1,75,_x];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
_vehicles pushBack [_x,_pos];
|
||||
};
|
||||
};
|
||||
@ -123,7 +124,7 @@ _wepHolder = createVehicle["groundWeaponHolder", _pos, [], 0.0, "CAN_COLLIDE"];
|
||||
_wepHolder addWeaponCargoGlobal [_x,1];
|
||||
} forEach _weapons;
|
||||
};
|
||||
|
||||
|
||||
//Items
|
||||
if(count _items > 0)then{
|
||||
{
|
||||
@ -131,7 +132,7 @@ _wepHolder = createVehicle["groundWeaponHolder", _pos, [], 0.0, "CAN_COLLIDE"];
|
||||
_wepHolder addItemCargoGlobal [_x,1];
|
||||
} forEach _items;
|
||||
};
|
||||
|
||||
|
||||
//Magazines
|
||||
if(count _magazines > 0)then{
|
||||
{
|
||||
@ -139,7 +140,7 @@ _wepHolder = createVehicle["groundWeaponHolder", _pos, [], 0.0, "CAN_COLLIDE"];
|
||||
_wepHolder addMagazineCargoGlobal [_x,1];
|
||||
} forEach _magazines;
|
||||
};
|
||||
|
||||
|
||||
//Backpacks
|
||||
if(count _backpacks > 0)then{
|
||||
{
|
||||
@ -155,9 +156,9 @@ if(count _vehicles > 0)then{
|
||||
diag_log format["Epoch: Server_CreateObject: %1 Vehicle Spawn",_x];
|
||||
//Need to create slot to createVehicle a persistent Epoch vehicle.
|
||||
//_obj = [_x select 0, _x select 1, random 360, true, (EPOCH_storedVehicleCount + 1), _player, "CAN_COLLIDE", !_clearCargo, false] call EPOCH_spawn_vehicle;
|
||||
|
||||
|
||||
_obj = createVehicle[(_x select 0), (_x select 1), [], 15, "CAN_COLLIDE"];
|
||||
|
||||
|
||||
_obj allowdamage false;
|
||||
|
||||
if (_driverType != "" || _gunnerType != "" || _commanderType != "") then {
|
||||
@ -192,10 +193,10 @@ if(count _vehicles > 0)then{
|
||||
//if (_doOwner) then {_crew setOwner (owner _player)};
|
||||
};
|
||||
_obj allowdamage true;
|
||||
|
||||
|
||||
if(_doDamage)then{_obj setDamage 1;};
|
||||
|
||||
|
||||
}forEach _vehicles;
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
@ -120,7 +120,7 @@ if (!isNull _player) then {
|
||||
_location = getMarkerPos "respawn_west";
|
||||
_location set[2, 0];
|
||||
if (_newLocation isEqualType [] && {(count _newLocation) == 3}) then {
|
||||
_jammers = nearestObjects[_newLocation, ["PlotPole_EPOCH"], 1];
|
||||
_jammers = nearestObjects[_newLocation, ["PlotPole_EPOCH"], 6];
|
||||
if !(_jammers isEqualTo[]) then {
|
||||
// get nearby object
|
||||
_jammer = _jammers param [0,objNull];
|
||||
|
@ -25,10 +25,13 @@ if (alive _jammer) then {
|
||||
_server_vars = _player getVariable["SERVER_VARS", []];
|
||||
_currentPos = _server_vars param [0,[]];
|
||||
// invalidate previous position
|
||||
if (!(_currentPos isequaltype [])) then {
|
||||
_currentPos = [];
|
||||
};
|
||||
if (!(_currentPos isEqualTo []) && {_jammer distance _currentPos > 20}) then { _currentPos = [] };
|
||||
if (_currentPos isEqualTo []) then {
|
||||
// set position of spawnpoint to players SERVER_VARS
|
||||
_server_vars set [0, getposATL _jammer]; // 0 = RESPAWN POS
|
||||
_server_vars set [0, getposATL _player]; // 0 = RESPAWN POS
|
||||
_player setVariable ["SERVER_VARS", _server_vars];
|
||||
["Spawnpoint set", 5] remoteExec ['Epoch_message',_player];
|
||||
}
|
||||
|
@ -16,7 +16,9 @@ private["_randomItemArray", "_quan", "_randomLootClass", "_randomItem", "_lootPa
|
||||
params ["_object","_type",["_forceSpawn",false]];
|
||||
_debug = true;
|
||||
_pricingConfig = 'CfgPricing' call EPOCH_returnConfig;
|
||||
_lootTableClass = ["CfgLootTable","CfgLootTable_CUP"] select EPOCH_modCUPWeaponsEnabled;
|
||||
|
||||
_lootTableIndex = if (EPOCH_modCUPVehiclesEnabled) then {if (EPOCH_mod_madArma_Enabled) then {3} else {1}} else {if (EPOCH_mod_madArma_Enabled) then {2} else {0}};
|
||||
_lootTableClass = ["CfgLootTable","CfgLootTable_CUP","CfgLootTable_MAD","CfgLootTable_MADCUP"] select _lootTableIndex;
|
||||
_randomizeMagazineAmmoCount = ["CfgEpochClient", "randomizeMagazineAmmoCount", true] call EPOCH_fnc_returnConfigEntryV2;
|
||||
if !(isNull _object) then{
|
||||
_lootTable = [_type, "CfgMainTable", "tables"] call EPOCH_weightedArray;
|
||||
|
@ -18,7 +18,7 @@ if !([_player, _token] call EPOCH_server_getPToken) exitWith{};
|
||||
if (_player distance _vehicle > 20) exitWith{};
|
||||
|
||||
if ((_value select 0) isEqualTo "ALL") then {
|
||||
_vehicle setDamage 0;
|
||||
_vehicle setDamage (_value select 1);
|
||||
} else {
|
||||
if (local _vehicle) then {
|
||||
_vehicle setHitIndex _value;
|
||||
|
@ -138,7 +138,10 @@ call EPOCH_server_spawnTraders;
|
||||
|
||||
diag_log "Epoch: Loading vehicles";
|
||||
// Vehicle slot limit set to total of all allowed limits
|
||||
_allowedVehicleListName = ["allowedVehiclesList","allowedVehiclesList_CUP"] select EPOCH_modCUPVehiclesEnabled;
|
||||
_allowedVehicleIndex = if (EPOCH_modCUPVehiclesEnabled) then {if (EPOCH_mod_madArma_Enabled) then {3} else {1}} else {if (EPOCH_mod_madArma_Enabled) then {2} else {0}};
|
||||
_allowedVehicleListName = ["allowedVehiclesList","allowedVehiclesList_CUP","allowedVehiclesList_MAD","allowedVehiclesList_MADCUP"] select _allowedVehicleIndex;
|
||||
// do something here
|
||||
|
||||
_allowedVehiclesList = getArray(configFile >> "CfgEpoch" >> worldName >> _allowedVehicleListName);
|
||||
_vehicleSlotLimit = 0;
|
||||
{_vehicleSlotLimit = _vehicleSlotLimit + (_x select 1)} forEach _allowedVehiclesList;
|
||||
|
@ -1 +1 @@
|
||||
build=741;
|
||||
build=749;
|
||||
|
@ -1 +1 @@
|
||||
build=741;
|
||||
build=749;
|
||||
|
@ -30,6 +30,8 @@ class CfgPatches {
|
||||
#include "configs\CfgMainTable.h"
|
||||
#include "configs\CfgLootTable.h"
|
||||
#include "configs\CfgLootTable_CUP.h"
|
||||
#include "configs\CfgLootTable_MAD.h"
|
||||
#include "configs\CfgLootTable_MADCUP.h"
|
||||
// vehicle textures
|
||||
#include "configs\CfgEpochVehicles.h"
|
||||
// security checks
|
||||
@ -202,6 +204,50 @@ class CfgEpoch
|
||||
{"CUP_B_Ural_Empty_CDF",2},
|
||||
{"CUP_C_DC3_CIV",2}
|
||||
};
|
||||
allowedVehiclesList_MAD[] = {
|
||||
{"jetski_epoch",5},
|
||||
{"ebike_epoch",5},
|
||||
{"mosquito_epoch",5},
|
||||
{"chums_buggy_1",10},
|
||||
{"plymouth_rock_1",5},
|
||||
{"warrig_black",5},
|
||||
{"nux_car_1",10},
|
||||
{"interceptor_1",5},
|
||||
};
|
||||
allowedVehiclesList_MADCUP[] = {
|
||||
{"jetski_epoch",3},
|
||||
{"ebike_epoch",1},
|
||||
{"mosquito_epoch",3},
|
||||
{"chums_buggy_1",7},
|
||||
{"plymouth_rock_1",4},
|
||||
{"warrig_black",4},
|
||||
{"nux_car_1",7},
|
||||
{"interceptor_1",4},
|
||||
{"CUP_C_Fishing_Boat_Chernarus",2},
|
||||
{"CUP_C_Skoda_Red_CIV",1},
|
||||
{"CUP_C_Skoda_White_CIV",1},
|
||||
{"CUP_C_Skoda_Blue_CIV",1},
|
||||
{"CUP_C_Skoda_Green_CIV",1},
|
||||
{"CUP_C_Datsun_Covered",1},
|
||||
{"CUP_C_Datsun_Plain",1},
|
||||
{"CUP_C_Datsun_Tubeframe",1},
|
||||
{"CUP_C_Datsun_4seat",1},
|
||||
{"CUP_C_Datsun",1},
|
||||
{"CUP_C_Golf4_green_Civ",1},
|
||||
{"CUP_C_Golf4_red_Civ",1},
|
||||
{"CUP_C_Golf4_blue_Civ",1},
|
||||
{"CUP_C_Golf4_black_Civ",1},
|
||||
{"CUP_C_Golf4_kitty_Civ",1},
|
||||
{"CUP_C_Golf4_reptile_Civ",1},
|
||||
{"CUP_C_Golf4_camodigital_Civ",1},
|
||||
{"CUP_C_Golf4_camodark_Civ",1},
|
||||
{"CUP_C_Golf4_camo_Civ",1},
|
||||
{"CUP_B_M1030",2},
|
||||
{"CUP_C_Golf4_white_Civ",1},
|
||||
{"CUP_C_Golf4_whiteblood_Civ",1},
|
||||
{"CUP_C_Golf4_yellow_Civ",1},
|
||||
{"CUP_C_Octavia_CIV",1},
|
||||
};
|
||||
};
|
||||
#include "configs\maps\bornholm.h"
|
||||
#include "configs\maps\stratis.h"
|
||||
|
1342
Sources/epoch_server_settings/configs/CfgLootTable_MAD.h
Normal file
1342
Sources/epoch_server_settings/configs/CfgLootTable_MAD.h
Normal file
File diff suppressed because it is too large
Load Diff
1905
Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h
Normal file
1905
Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
28
Tools/Install/InstallMadArma.cmd
Normal file
28
Tools/Install/InstallMadArma.cmd
Normal file
@ -0,0 +1,28 @@
|
||||
@ECHO OFF
|
||||
SET STEAMUN=admin@youremail.net
|
||||
SET STEAMPW=chamgeme
|
||||
SET ARMASVRPATH=C:\Arma3Server
|
||||
SET ARMAAPPID=107410
|
||||
|
||||
:: Use -mod line with quotes to support spaces in folder
|
||||
:: Example: -mod="@Epoch;@madarma;"
|
||||
|
||||
:: Install Mad Arma http://steamcommunity.com/sharedfiles/filedetails/?id=815962700
|
||||
|
||||
SET MODFOLDER=@madarma
|
||||
SET ARMAWORKSHOPID=815962700
|
||||
|
||||
:: remove old folder
|
||||
rd /s/q "%ARMASVRPATH%\%MODFOLDER%"
|
||||
|
||||
:: update workshop mod
|
||||
START "" /WAIT steamcmd.exe +login %STEAMUN% %STEAMPW% +workshop_download_item %ARMAAPPID% %ARMAWORKSHOPID% validate +quit
|
||||
|
||||
:: copy files back to server
|
||||
xcopy /s/e/y/q/i "steamapps\workshop\content\%ARMAAPPID%\%ARMAWORKSHOPID%" "%ARMASVRPATH%\%MODFOLDER%"
|
||||
|
||||
:: remove old bikey key
|
||||
del "%ARMASVRPATH%\Keys\MadArmA*.bikey"
|
||||
|
||||
:: copy latest bikey to server
|
||||
xcopy /s/e/y/q/i "%ARMASVRPATH%\%MODFOLDER%\Keys" "%ARMASVRPATH%\Keys"
|
Loading…
Reference in New Issue
Block a user