Merge pull request #511 from EpochModTeam/experimental_curr

Release 0.3.8 build 424
This commit is contained in:
vbawol 2016-04-17 06:14:33 -05:00
commit bda7d50b07
42 changed files with 382 additions and 73 deletions

48
CREDITS.md Normal file
View File

@ -0,0 +1,48 @@
## [Epoch Projects](https://github.com/EpochModTeam) by [Epoch Mod Team](https://github.com/orgs/EpochModTeam/people) for [Arma 3](https://arma3.com/)
### [Epoch Survival Gamemode](https://github.com/EpochModTeam/Epoch)
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Code
* [Andrew Gregory (Axeman)](http://thefreezer.co.uk): AI Code
* [Raimonds Virtoss (Raymix)](https://www.twitch.tv/raymich): UI Code
* [Niklas Wagner (Skaronator)](https://skaronator.com): Code
* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester
### [Epoch Server DB extension (DLL / so)](https://github.com/EpochModTeam/EpochServer)
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Code
* [Florian Kinder (Fank)](https://github.com/Fank): Code
* [Denis Erygin (devd)](https://github.com/denisio): Linux Code Support
### [Epoch Server SQF Persistence Framework](https://github.com/EpochModTeam/EpochServerCore)
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Code
* [Florian Kinder (Fank)](https://github.com/Fank): Code
### [Epoch Mod](http://steamcommunity.com/sharedfiles/filedetails/?id=421839251)
* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Configs, Textures
* [Paul Tomany (Sequisha)](https://www.twitch.tv/sequisha): Models, Textures
* [Darren Harrison (Kiory)](https://www.twitch.tv/kiory123): Models, Textures
* [Paden Sturtevant (SteamPunkGears)](https://www.twitch.tv/steampunkgears): Models, Textures
* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester, Models
* Damian Clark ([VB]GREEN): Graphics
#### Contributors
* [Dan (OrangeSherbet)](https://www.twitch.tv/OrangeSherbet): Tester, Videos, Wiki Editor
* [Poulmba](https://www.youtube.com/user/poulmba): Wiki Editor, Tester
* Richie: Map Support, Forum Moderator
* [Tobias Solem](http://whatthepoch.com/): Tester
#### Special Thanks!
* [Bohemia Interactive](http://bistudio.com) for an incredible and versatile game engine.
* Top Donors: dean4310, Robio, rhinoCRUNCH, B3nzi, Madman2077
* [GTXGaming](http://www.gtxgaming.co.uk) - Dedicated Dev Server
* [Survival Servers](https://www.survivalservers.com) - Dedicated Dev Server
* [Vilayer](https://www.vilayer.com) - Dedicated Dev Server
* [Nitrado](https://server.nitrado.net) - Dedicated Dev Server
* [Vert Hosting](https://verthosting.com) - Shared Arma 2 and 3 Dev servers.
* Also a thanks goes to all the testers and supporters we missed, you know who you are!

View File

@ -1,29 +0,0 @@
=== Epoch Mod Credits ===
The entire Epoch Mod Team wants to thank all those that have helped along the way!
== Contributors ==
Poul Andersen - Poulmba - Wiki Editor - https://www.youtube.com/user/poulmba
Tobias Solem - - Tester / Server Host - http://whatthepoch.com/
More TBA
== Top Donators to EpochMod.com ==
GTXGAMING
SurvivalServers.com
dean4310
Robio
rhinoCRUNCH
B3nzi
Madman2077
Axle
orangesherbet
== Active GSP Supporters ==
GTXGaming - Dedicated Server - http://www.gtxgaming.co.uk
Survival Servers - Dedicated Server - https://www.survivalservers.com
Vilayer - Dedicated Server - https://www.vilayer.com
Nitrado - Dedicated Server - https://server.nitrado.net
Vert Hosting - Shared Arma 2 and 3 servers - https://verthosting.com
== Past GSP Supporters ==
Gportal - Dedicated Server - https://www.g-portal.com
Arctic Servers - Shared Arma 3 server - http://arcticservers.co.uk

View File

@ -43,7 +43,11 @@
[Info] Some AI Scripts Mods may not work with disableRemoteSensors enabled. You can disable with "disableRemoteSensors = false;" in CfgEpochClient.
[Info] Removed old .bikey and added new one for 0380.
Build: 422
Build: 424
[Changed] Preloading sapper by spawning one on the map at server start.
[Changed] Change to github markdown for credits and license.
[Fixed] Green Marked traders unable to be accessed.
[Fixed] Trailing commas in CfgLootTable.
[Fixed] Disallow building inside of vehicles.
[Fixed] Incorrectly enabled CUP vehicles and weapons support if only Core and Maps where enabled.
[Fixed] removeExec Battleye kick fixed.

4
LICENSE.md Normal file
View File

@ -0,0 +1,4 @@
[Epoch Mod](http://epochmod.com) for [Arma 3](http://arma3.com) by [Epoch Mod Team](https://github.com/EpochModTeam/Epoch)
The contents of this github are under the following license:
http://www.bistudio.com/community/licenses/arma-public-license-share-alike

View File

@ -1,9 +0,0 @@
Epoch Mod for Arma 3
http://epochmod.com
by Epoch Mod Team
https://github.com/EpochModTeam/Epoch
The contents of this github are under the following license:
http://www.bistudio.com/community/licenses/arma-public-license-share-alike
Keep this file and file headers with attribution intact for proper use.

View File

@ -1,9 +1,9 @@
Arma 3 Epoch
Epoch Survival Gamemode for Arma 3
=====
http://epochmod.com
This github is for the latest server files, public bug reports, and feedback related to A3 Epoch.
This github is for the latest server files, public bug reports, and feedback related to the Epoch Survival gamemode for Arma 3.
Lastest Stable Server Files:
https://github.com/EpochModTeam/Epoch/releases
@ -13,18 +13,6 @@ License:
Arma Public License Share Alike (APL-SA).
http://www.bistudio.com/community/licenses/arma-public-license-share-alike
Developers
Credits:
=====
* Aaron Clark - [VB]AWOL - Game Design, Code
* Kenneth Bente - Axle - Public Relations
* Paul Tomany - Sequisha - Models, Textures
* Dan - OrangeSherbet - Tester, Videos, Wiki Editor
* Darren Harrison - Kiory - Models, Textures
* Damian Clark - [VB]GREEN - Graphics
* Niklas Wagner - Skaronator - Code - https://skaronator.com
* Andrew Gregory - Axeman - AI Code - http://thefreezer.co.uk
* Florian Kinder - Fank - DLL Code
* Denis Erygin - devd - Linux DLL Support
* Richie - Map Support
* SteamPunkGears - Models
* Raymix - UI and Code
https://github.com/EpochModTeam/Epoch/CREDITS.md

View File

@ -21,7 +21,7 @@ class CfgEpochClient
buildingRequireJammer = 0; // 1 = to allow building without a jammer
buildingCountLimit = 200; // how many objects can be built within range of a jammer
buildingJammerRange = 75; // jammer range in meters
disableRemoteSensors = true; // 1 = disableRemoteSensors true, 0 = disableRemoteSensors false
disableRemoteSensors = true; // disableRemoteSensors true
EPOCH_news[] = {"Word is that Sappers have a new boss.","Dogs will often lure them monsters away.","My dog was blown up. I miss him.."};
antagonistSpawnIndex[] = {
{"Epoch_Cloak_F", 1}, // {"type", limit}

View File

@ -1 +1 @@
build=422;
build=424;

View File

@ -1 +1 @@
build=422;
build=424;

View File

@ -28,7 +28,7 @@ _storedVehicleLimit = [_serverSettingsConfig, "storedVehicleLimit", 20] call EPO
EPOCH_storedVehicleCount = 0;
for "_i" from 0 to _maxTraderLimit do {
_traderSlotIndex = EPOCH_TraderSlots pushBack str(_i);
_traderSlotIndex = EPOCH_TraderSlots pushBack _i;
// Spawn static traders first
if (_staticTradersArrCount > 0 && _i < _staticTradersArrCount) then {

View File

@ -209,4 +209,9 @@ missionNamespace setVariable ["EPOCH_taxRate", [_serverSettingsConfig, "taxRate"
// start accepting logins
missionNamespace setVariable ["EPOCH_SERVER_READY", true, true];
// spawn a single sapper to preload
_sapper = createAgent ["Epoch_Sapper_F", [0,0,0], [], 0, "CAN_COLLIDE"];
_sapper setDamage 1;
_sapper enableSimulationGlobal false;
diag_log format ["Epoch: Server Start Complete: %1 seconds",diag_tickTime-_startTime];

View File

@ -1 +1 @@
build=422;
build=424;

View File

@ -1 +1 @@
build=422;
build=424;

View File

@ -165,7 +165,7 @@ class CfgLootTable
{ { "ItemAluminumBar", "magazine" }, 2 },
{ { "ItemCopperBar", "magazine" }, 2 },
{ { "ItemTinBar", "magazine" }, 1 },
{ { "ItemTinBar", "magazine" }, 1 }
};
};
@ -733,7 +733,7 @@ class CfgLootTable
{ { "ItemSilverBar", "magazine" }, 20 },
{ { "ItemCopperBar", "magazine" }, 20 },
{ { "ItemAluminumBar", "magazine" }, 20 },
{ { "ItemTinBar", "magazine" }, 30 },
{ { "ItemTinBar", "magazine" }, 30 }
};
};
class Gems

View File

@ -259,7 +259,7 @@ class CfgLootTable_CUP
{ { "lighter_epoch", "magazine" }, 1 },
{ { "ItemAluminumBar", "magazine" }, 2 },
{ { "ItemCopperBar", "magazine" }, 2 },
{ { "ItemTinBar", "magazine" }, 1 },
{ { "ItemTinBar", "magazine" }, 1 }
};
};
class Primitive
@ -886,7 +886,7 @@ class CfgLootTable_CUP
{ { "CUP_lmg_m249_SQuantoon", "weapon" }, 1 },
{ { "CUP_lmg_M60E4", "weapon" }, 1 },
{ { "CUP_lmg_Mk48_des", "weapon" }, 1 },
{ { "CUP_lmg_Mk48_wdl", "weapon" }, 1 },
{ { "CUP_lmg_Mk48_wdl", "weapon" }, 1 }
};
};
@ -927,7 +927,7 @@ class CfgLootTable_CUP
{ { "200Rnd_556x45_M249", "magazine" }, 10 },
{ { "150Rnd_93x64_Mag", "magazine" }, 10 },
{ { "MachinegunAmmo_30Rnd_65x39_caseless_mag", "CfgLootTable" }, 20 },
{ { "CUP_MachinegunAmmo", "CfgLootTable" }, 23 },
{ { "CUP_MachinegunAmmo", "CfgLootTable" }, 23 }
};
};
class CUP_MachinegunAmmo
@ -1018,7 +1018,7 @@ class CfgLootTable_CUP
{ { "hgun_ACPC2_F", "weapon" }, 10 },
{ { "ruger_pistol_epoch", "weapon" }, 12 },
// CUP
{ { "CUP_pistols", "CfgLootTable" }, 15 },
{ { "CUP_pistols", "CfgLootTable" }, 15 }
};
};
class CUP_pistols
@ -1055,7 +1055,7 @@ class CfgLootTable_CUP
// CUP
{ { "CUP_PistolAmmo", "CfgLootTable" }, 10 },
{ { "CUP_ShotgunAmmo", "CfgLootTable" }, 5 },
{ { "CUP_SubMachinegunAmmo", "CfgLootTable" }, 5 },
{ { "CUP_SubMachinegunAmmo", "CfgLootTable" }, 5 }
};
};
@ -1196,7 +1196,7 @@ class CfgLootTable_CUP
{ { "bipod_02_F_hex", "item" }, 1 },
{ { "bipod_03_F_blk", "item" }, 1 },
{ { "bipod_03_F_oli", "item" }, 1 },
{ { "CUP_Bipods", "CfgLootTable" }, 2 },
{ { "CUP_Bipods", "CfgLootTable" }, 2 }
};
};
class CUP_Bipods
@ -1221,7 +1221,7 @@ class CfgLootTable_CUP
// Marksman DLC
{ { "Muzzles_338MarkDLC", "CfgLootTable" }, 1 },
{ { "Muzzles_93mmgMarkDLC", "CfgLootTable" }, 1 },
{ { "CUP_Muzzles", "CfgLootTable" }, 8 },
{ { "CUP_Muzzles", "CfgLootTable" }, 8 }
};
};
class CUP_Muzzles
@ -1244,7 +1244,7 @@ class CfgLootTable_CUP
{ { "CUP_muzzle_mfsup_SCAR_L", "item" }, 1 },
{ { "CUP_muzzle_snds_SCAR_H", "item" }, 1 },
{ { "CUP_muzzle_mfsup_SCAR_H", "item" }, 1 },
{ { "CUP_muzzle_snds_XM8", "item" }, 1 },
{ { "CUP_muzzle_snds_XM8", "item" }, 1 }
};
};
@ -1295,7 +1295,7 @@ class CfgLootTable_CUP
{ { "ItemSilverBar", "magazine" }, 20 },
{ { "ItemCopperBar", "magazine" }, 20 },
{ { "ItemAluminumBar", "magazine" }, 20 },
{ { "ItemTinBar", "magazine" }, 30 },
{ { "ItemTinBar", "magazine" }, 30 }
};
};
class Gems

View File

@ -0,0 +1,298 @@
<?php
/**
* @brief Public bootstrap
* @author Aaron Clark
* @copyright (c) 2016 Epoch Mod
* @license http://creativecommons.org/licenses/by-sa/4.0/
* @package Parse SQM v12 to version 51
* @since
* @version
*/
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
class Mission {
var $addOns;
var $addOnsAuto;
var $randomSeed;
var $intel;
var $groups;
var $markers;
function Mission(
$addOns = array(),
$addOnsAuto = array (
"A3_epoch_config",
"cup_zargabad_config"
),
$randomSeed=12032465,
$intel = array(
'briefingName'=>'Epoch Mod',
'timeOfChanges'=>28800,
'startWeather'=>0,
'startWind'=>0,
'startWaves'=>0,
'forecastWeather'=>0,
'forecastWind'=>0,
'forecastWaves'=>0,
'forecastLightnings'=>1.0,
'year'=>2035,
'month'=>6,
'day'=>24,
'hour'=>12,
'minute'=>0,
'startFogDecay'=>0.013,
'forecastFogDecay'=>0.013
),
$playerCount = 100,
$groups = array (
'Item0' => array (
'side'=>'CIV',
'Vehicles' => array (
'Item0' => array (
'position'=> array(4331.02,0,148.62354),
)
)
)
),
$markers = array (
'Item0' => array (
'position' => array (4135.0137,0,4039.3584),
'name'=>"center",
'type'=>"Empty",
),
'Item1' => array (
'position' => array (4331.02,0,148.62354),
'name'=>"respawn_east",
'type'=>"Empty",
),
'Item2' => array (
'position' => array (4331.02,0,148.62354),
'name'=>"respawn_west",
'type'=>"Empty",
),
'Item3' => array (
'position' => array (3257.1497,0,1079.2324),
'name'=>"south",
'type'=>"Empty",
),
'Item4' => array (
'position' => array (3154.1616,0,5169.5229),
'name'=>"east",
'type'=>"Empty",
)
)
)
{
$this->addOns = $addOns;
$this->addOnsAuto = $addOnsAuto;
$this->randomSeed = $randomSeed;
$this->intel = $intel;
$this->playerCount = $playerCount;
$this->groups = $groups;
$this->markers = $markers;
}
} // end of class Mission
?>
<pre>
<?php
// utility functions
function print_vars($obj)
{
foreach (get_object_vars($obj) as $prop => $val) {
if (!is_array($val)) {
echo "\t$prop = $val\n";
} else {
echo "\t$prop = \n";
print_r($val);
}
}
}
function print_methods($obj)
{
$arr = get_class_methods(get_class($obj));
foreach ($arr as $method) {
echo "\tfunction $method()\n";
}
}
function class_parentage($obj, $class)
{
if (is_subclass_of($GLOBALS[$obj], $class)) {
echo "Object $obj belongs to class " . get_class($GLOBALS[$obj]);
echo ", a subclass of $class\n";
} else {
echo "Object $obj does not belong to a subclass of $class\n";
}
}
// instantiate 2 objects
$mission = new Mission();
// print out information about objects
// echo "CLASS " . get_class($mission) . "\n";
// show mission properties
//echo "\nmission: Properties\n";
//print_vars($mission);
echo "version=51;
class EditorData
{
moveGridStep=1;
angleGridStep=0.2617994;
scaleGridStep=1;
autoGroupingDist=10;
toggles=1;
class ItemIDProvider
{
nextID=2;
};
class Camera
{
pos[]={7542.4932,93.791428,15492.986};
dir[]={-0.8989169,-0.17364819,-0.40223712};
up[]={-0.15850332,0.98480779,-0.070925266};
aside[]={-0.40844229,0,0.91278416};
};
};
binarizationWanted=0;
";
echo "addons[]=
{
";
foreach ($mission->addOnsAuto as $key => $value) {
if (is_string($value)) {
echo " \"$value\",\n";
} else {
echo " $value,\n";
}
}
echo "};\n";
echo "randomSeed=$mission->randomSeed;\n";
echo "class ScenarioData
{
author=\"[VB]AWOL\";
};\n";
echo "class Mission
{
class Intel
{
";
foreach ($mission->intel as $key => $value) {
if (is_string($value)) {
echo " $key=\"$value\";\n";
} else {
echo " $key=$value;\n";
}
}
echo " };\n";
$EntitiesCounter = 0;
echo " class Entities
{
";
echo " items=". (count($mission->markers) + $mission->playerCount) .";\n";
foreach ($mission->markers as $key => $value) {
$position = implode(",", $value["position"]);
echo " class Item".$EntitiesCounter."
{
dataType=\"Marker\";
position[]={".$position."};
name=\"".$value["name"]."\";
type=\"".$value["type"]."\";
id=".$EntitiesCounter.";
};\n";
$EntitiesCounter++;
}
for ($x = count($mission->markers); $x <= ($mission->playerCount+count($mission->markers)); $x++) {
foreach ($mission->groups as $key => $value) {
$position = implode(",", $value["Vehicles"]["Item0"]["position"]);
echo " class Item".$x."
{
dataType=\"Group\";
side=\"Civilian\";
class Entities
{
items=1;
class Item0
{
dataType=\"Object\";
class PositionInfo
{
position[]={".$position."};
angles[]={0,4.7169838,0};
};
side=\"Civilian\";
flags=3;
class Attributes
{
isPlayable=1;
};
id=".($EntitiesCounter+1).";
type=\"VirtualMan_EPOCH\";
};
};
class Attributes
{
};
id=".$EntitiesCounter.";
};\n";
$EntitiesCounter++;
$EntitiesCounter++;
}
}
// Entities end
echo " };\n";
// final
echo "};\n";
?>
</pre>
<?php
echo '
</body>
</html>
';

View File

@ -1 +1 @@
422
424