diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 00000000..273f38dd --- /dev/null +++ b/CREDITS.md @@ -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! diff --git a/CREDITS.txt b/CREDITS.txt deleted file mode 100644 index 0b2b9ee5..00000000 --- a/CREDITS.txt +++ /dev/null @@ -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 diff --git a/Changelogs/0.3.8.0.txt b/Changelogs/0.3.8.0.txt index 5bfd84c9..9d639345 100644 --- a/Changelogs/0.3.8.0.txt +++ b/Changelogs/0.3.8.0.txt @@ -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. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..3745341a --- /dev/null +++ b/LICENSE.md @@ -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 diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 4cc4615e..00000000 --- a/LICENSE.txt +++ /dev/null @@ -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. \ No newline at end of file diff --git a/README.md b/README.md index decaba49..98e84552 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo index 21c080a2..e52d0a0f 100644 Binary files a/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo and b/Server_Install_Pack/@epochhive/addons/a3_epoch_server.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/a3_epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/a3_epoch_server_settings.pbo index 9160503f..32eabb11 100644 Binary files a/Server_Install_Pack/@epochhive/addons/a3_epoch_server_settings.pbo and b/Server_Install_Pack/@epochhive/addons/a3_epoch_server_settings.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo index 4039492d..ec136605 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo differ diff --git a/Server_Install_Pack/MPMissions/epoch.Napf.pbo b/Server_Install_Pack/MPMissions/epoch.Napf.pbo index 64aec3aa..7906591d 100644 Binary files a/Server_Install_Pack/MPMissions/epoch.Napf.pbo and b/Server_Install_Pack/MPMissions/epoch.Napf.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index 81f29db2..a29a8e9f 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Altis.pbo and b/Server_Install_Pack/mpmissions/epoch.Altis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Australia.pbo b/Server_Install_Pack/mpmissions/epoch.Australia.pbo index d31da707..7eac2ce3 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Australia.pbo and b/Server_Install_Pack/mpmissions/epoch.Australia.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo index 10e75ae1..e9926fcc 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 1799e044..eeab179b 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo and b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo index b52251ab..28d42dfa 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index 6c8d8014..e89dbfec 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo index 8fe47b70..8a7f378a 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo and b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo index 0c4027cf..95c893fd 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo and b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo index 7b1aad6f..d70bb1fb 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Porto.pbo b/Server_Install_Pack/mpmissions/epoch.Porto.pbo index 25fd1b54..5eaa3c2b 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Porto.pbo and b/Server_Install_Pack/mpmissions/epoch.Porto.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo index d8f1364b..26e601c5 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo and b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara.pbo b/Server_Install_Pack/mpmissions/epoch.Sara.pbo index 61979e3a..5b7a0c40 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo index cc18ac47..302fc371 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo and b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo index 9cd4b5ec..d42c2e76 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo index 6544deb2..6d3cddf7 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo and b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo index 1bc42760..577dcba5 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo and b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo index 85c0f447..a56cae6f 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo and b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index ee5fcf6d..1e8b7731 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.VR.pbo and b/Server_Install_Pack/mpmissions/epoch.VR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo index 48ec5077..b8d7d77e 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo index 979d20dc..fdad5103 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo and b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.utes.pbo b/Server_Install_Pack/mpmissions/epoch.utes.pbo index 5b8fab12..2a53380e 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.utes.pbo and b/Server_Install_Pack/mpmissions/epoch.utes.pbo differ diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index bb050d06..812338e5 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -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} diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp index 4cb1a87a..89d6c6d9 100644 --- a/Sources/epoch_config/build.hpp +++ b/Sources/epoch_config/build.hpp @@ -1 +1 @@ -build=422; +build=424; diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp index 4cb1a87a..89d6c6d9 100644 --- a/Sources/epoch_server/build.hpp +++ b/Sources/epoch_server/build.hpp @@ -1 +1 @@ -build=422; +build=424; diff --git a/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf b/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf index cfcf4359..5eb1940e 100644 --- a/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf +++ b/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf @@ -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 { diff --git a/Sources/epoch_server/init/server_init.sqf b/Sources/epoch_server/init/server_init.sqf index a3c5bd04..ca5d2f12 100644 --- a/Sources/epoch_server/init/server_init.sqf +++ b/Sources/epoch_server/init/server_init.sqf @@ -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]; diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp index 4cb1a87a..89d6c6d9 100644 --- a/Sources/epoch_server_core/build.hpp +++ b/Sources/epoch_server_core/build.hpp @@ -1 +1 @@ -build=422; +build=424; diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp index 4cb1a87a..89d6c6d9 100644 --- a/Sources/epoch_server_settings/build.hpp +++ b/Sources/epoch_server_settings/build.hpp @@ -1 +1 @@ -build=422; +build=424; diff --git a/Sources/epoch_server_settings/configs/CfgLootTable.h b/Sources/epoch_server_settings/configs/CfgLootTable.h index 140722da..3a36b69a 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable.h @@ -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 diff --git a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h index 7c28ca54..4b2cf563 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h @@ -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 diff --git a/Tools/PHP/ConvertMission2dto3d.php b/Tools/PHP/ConvertMission2dto3d.php new file mode 100644 index 00000000..15a4c6d9 --- /dev/null +++ b/Tools/PHP/ConvertMission2dto3d.php @@ -0,0 +1,298 @@ +'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 + + + + +?> +
+ $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";
+
+?>
+
+ + + +'; \ No newline at end of file diff --git a/build.txt b/build.txt index 2e5658d0..f48d32be 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -422 +424