[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/
(Note: a few known issues with this mod bisign/key for this mod atm)
This commit is contained in:
vbawol 2017-04-01 23:17:46 -05:00
parent 7b2c20ac57
commit 086c97f20f
69 changed files with 76354 additions and 915 deletions

View File

@ -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,5 @@
[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 b748:

View File

@ -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)_"

View File

@ -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 = [];

View File

@ -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]]]*/

View File

@ -1 +1 @@
build=741;
build=748;

View File

@ -15,7 +15,7 @@ class Header
{
gameType = Survive;
minPlayers = 1;
maxPlayers = 100;
maxPlayers = 200;
};
respawn = "BASE";
respawnDelay = 600;

View File

@ -1 +1 @@
build=741;
build=745;

View File

@ -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;
};

View File

@ -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;

View File

@ -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;

View File

@ -1 +1 @@
build=741;
build=745;

View File

@ -1 +1 @@
build=741;
build=745;

View File

@ -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"

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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"

View File

@ -1 +1 @@
741
748