Permalink
Browse files

Merge pull request #694 from EpochModTeam/experimental

released 0.4 b675
  • Loading branch information...
2 parents d8f5224 + 2eefc2e commit ae9d5fd6cd9cf884cc436a2ac5900a20b232e3f2 @vbawol vbawol committed on GitHub Jan 6, 2017
Showing with 133 additions and 95 deletions.
  1. +17 −16 CREDITS.md
  2. BIN Server_Install_Pack/@epochhive/addons/epoch_server.pbo
  3. BIN Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo
  4. BIN Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo
  5. +3 −3 Server_Install_Pack/@epochhive/epochah.hpp
  6. +14 −14 Server_Install_Pack/@epochhive/epochconfig.hpp
  7. BIN Server_Install_Pack/mpmissions/epoch.Altis.pbo
  8. BIN Server_Install_Pack/mpmissions/epoch.Australia.pbo
  9. BIN Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo
  10. BIN Server_Install_Pack/mpmissions/epoch.Bornholm.pbo
  11. BIN Server_Install_Pack/mpmissions/epoch.Chernarus.pbo
  12. BIN Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo
  13. BIN Server_Install_Pack/mpmissions/epoch.Desert_E.pbo
  14. BIN Server_Install_Pack/mpmissions/epoch.Esseker.pbo
  15. BIN Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo
  16. BIN Server_Install_Pack/mpmissions/epoch.Napf.pbo
  17. BIN Server_Install_Pack/mpmissions/epoch.Porto.pbo
  18. BIN Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo
  19. BIN Server_Install_Pack/mpmissions/epoch.Sara.pbo
  20. BIN Server_Install_Pack/mpmissions/epoch.SaraLite.pbo
  21. BIN Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo
  22. BIN Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo
  23. BIN Server_Install_Pack/mpmissions/epoch.Stratis.pbo
  24. BIN Server_Install_Pack/mpmissions/epoch.Takistan.pbo
  25. BIN Server_Install_Pack/mpmissions/epoch.Tanoa.pbo
  26. BIN Server_Install_Pack/mpmissions/epoch.VR.pbo
  27. BIN Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo
  28. BIN Server_Install_Pack/mpmissions/epoch.Zargabad.pbo
  29. BIN Server_Install_Pack/mpmissions/epoch.utes.pbo
  30. BIN Server_Install_Pack/mpmissions/epoch_RyanZed.Tanoa.pbo
  31. +1 −1 Server_Install_Pack/sc/BattlEye/addbackpackcargo.txt
  32. +2 −2 Sources/epoch_code/System/player_login.fsm
  33. +1 −1 Sources/epoch_code/compile/functions/EPOCH_fn_returnConfigEntryV2.sqf
  34. +42 −18 Sources/epoch_code/compile/setup/EPOCH_clientRevive.sqf
  35. +2 −2 Sources/epoch_config/Configs/CfgEpochClient.hpp
  36. +1 −1 Sources/epoch_config/build.hpp
  37. +3 −3 Sources/epoch_config/sandbox_config.hpp
  38. +1 −1 Sources/epoch_server/build.hpp
  39. +1 −1 Sources/epoch_server/compile/epoch_player/EPOCH_server_revivePlayer.sqf
  40. +18 −3 Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles.sqf
  41. +17 −19 Sources/epoch_server/compile/epoch_vehicle/EPOCH_load_vehicles_old.sqf
  42. +2 −2 Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_save_vehicle.sqf
  43. +2 −2 Sources/epoch_server/init/server_securityfunctions.sqf
  44. +1 −1 Sources/epoch_server/init/server_variables.sqf
  45. +1 −1 Sources/epoch_server_core/build.hpp
  46. +1 −1 Sources/epoch_server_settings/build.hpp
  47. +2 −2 Sources/epoch_server_settings/configs/security/security_checks.h
  48. BIN Sources/mpmissions/epoch.Altis/treeView.txt
  49. BIN Sources/mpmissions/epoch.Australia/treeView.txt
  50. BIN Sources/mpmissions/epoch.Bootcamp_ACR/treeView.txt
  51. BIN Sources/mpmissions/epoch.Bornholm/treeView.txt
  52. BIN Sources/mpmissions/epoch.Chernarus/treeView.txt
  53. BIN Sources/mpmissions/epoch.Chernarus_Summer/treeView.txt
  54. BIN Sources/mpmissions/epoch.Desert_E/treeView.txt
  55. BIN Sources/mpmissions/epoch.Esseker/treeView.txt
  56. BIN Sources/mpmissions/epoch.Mountains_ACR/treeView.txt
  57. BIN Sources/mpmissions/epoch.Napf/treeView.txt
  58. BIN Sources/mpmissions/epoch.Porto/treeView.txt
  59. BIN Sources/mpmissions/epoch.ProvingGrounds_PMC/treeView.txt
  60. BIN Sources/mpmissions/epoch.Sara/treeView.txt
  61. BIN Sources/mpmissions/epoch.SaraLite/treeView.txt
  62. BIN Sources/mpmissions/epoch.Sara_dbe1/treeView.txt
  63. BIN Sources/mpmissions/epoch.Shapur_BAF/treeView.txt
  64. BIN Sources/mpmissions/epoch.Stratis/treeView.txt
  65. BIN Sources/mpmissions/epoch.Takistan/treeView.txt
  66. BIN Sources/mpmissions/epoch.Tanoa/treeView.txt
  67. BIN Sources/mpmissions/epoch.VR/treeView.txt
  68. BIN Sources/mpmissions/epoch.Woodland_ACR/treeView.txt
  69. BIN Sources/mpmissions/epoch.Zargabad/treeView.txt
  70. BIN Sources/mpmissions/epoch.utes/treeView.txt
  71. BIN Sources/mpmissions/epoch_RyanZed.Tanoa/treeView.txt
  72. +1 −1 build.txt
View
@@ -10,25 +10,26 @@ Epoch Server DB extension (DLL / so)
Epoch Assets Mod Configs - Custom Units, Vehicles, Weapons, Items and more!
#### Developers
-* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Concept, Code, Configs, Textures - [x] Active
-* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester, Models - [ ] Active
-* [Paul Tomany (Sequisha)](https://www.twitch.tv/sequisha): Models, Textures - [ ] Active
-* [Andrew Gregory (Axeman)](http://thefreezer.co.uk): AI Code - [x] Active
-* [Raimonds Virtoss (Raymix)](https://www.twitch.tv/raymich): UI Code - [x] Active
-* [Florian Kinder (Fank)](https://github.com/Fank): Code - [ ] Active
-* [Denis Erygin (devd)](https://github.com/denisio): Linux Code Support - [ ] Active
-* [Darren Harrison (Kiory)](https://www.twitch.tv/kiory123): Models, Textures, Configs - [ ] Active
-* [Paden Sturtevant (SteamPunkGears)](https://www.twitch.tv/steampunkgears): Models, Textures - [ ] Active
-* [Niklas Wagner (Skaronator)](https://skaronator.com): Code - [ ] Active
-* [Damian Clark ([VB]GREEN)](http://epochmod.com): Graphics - [ ] Active
-
-#### Contributors
-
-* [Dan (OrangeSherbet)](https://www.twitch.tv/OrangeSherbet): Tester, Videos, Wiki Editor
+* [Aaron Clark ([VB]AWOL)](http://epochmod.com): Concept, Code, Configs, Textures
+* [Kenneth Bente (Axle)](www.twitch.tv/axles): Tester, Models
+* [Paul Tomany (Sequisha)](https://www.twitch.tv/sequisha): Models, Textures
+* [Damian Clark ([VB]GREEN)](http://epochmod.com): Graphics
+* [Andrew Gregory (Axeman)](http://thefreezer.co.uk): AI Code
+* [Raimonds Virtoss (Raymix)](https://www.twitch.tv/raymich): UI Code
+* [Darren Harrison (Kiory)](https://www.twitch.tv/kiory123): Models, Textures, Configs
+* [Niklas Wagner (Skaronator)](https://skaronator.com): Code
+* [Florian Kinder (Fank)](https://github.com/Fank): Code
+* [Denis Erygin (devd)](https://github.com/denisio): Linux Code Support
+* [Paden Sturtevant (SteamPunkGears)](https://www.twitch.tv/steampunkgears): Models, Textures
+* [Dan Dalsted (OrangeSherbet)](https://www.twitch.tv/OrangeSherbet): Tester, Videos, Wiki Editor
+
+#### Top Contributors
* [HeMan](https://github.com/Ignatz-HeMan)
+* [$p4rkY](https://github.com/SPKcoding)
+* [82ndab-Bravo17](https://github.com/82ndab-Bravo17) - http://www.the82ndab.net
* [Robio](https://github.com/RC-Robio)
* [Poulmba](https://www.youtube.com/user/poulmba): Wiki Editor, Tester
-* Richie: Map Support, Forum Moderator
+* [Richie](http://uk-gaming-zone.co.uk): Map Support, Forum Moderator
* [Tobias Solem](http://whatthepoch.com/): Tester
#### Special Thanks!
Binary file not shown.
@@ -1,8 +1,8 @@
// Anti Hack
-antihack_Enabled = true; // built-in Anti-Hack
+antihack_Enabled = "true"; // built-in Anti-Hack
antihack_maxTravelDistance = 30; // anti-teleport max travel distance
antihack_TPcenterDistance = 30; // anti-teleport distance from start
-antihack_cfgPatchesCheck = true; // cfgPatches (AddOn Check)
+antihack_cfgPatchesCheck = "true"; // cfgPatches (AddOn Check)
antihack_PVSPrefix = "EPAH_"; // used to help whitelist pveh variables in BE without BEC and watchdog, leave blank to use no prefix.
antihack_cfgPatchesMode[] = {2}; // 0 == BAN - 1 = LOG, 2 = KICK
antihack_ahInitAuthCfg[] = {0,180}; // 0 == BAN - 1 = LOG, 60 = ban or log if anti hack is not started in 180 seconds
@@ -24,7 +24,7 @@ antihack_checkFiles[] = { //script check, leave it blank to disable it
{"epoch_code\compile\setup\EPOCH_clientRespawn.sqf", "EPOCH_clientRespawn"},
{"epoch_code\compile\interface_event_handlers\EPOCH_KeyDown.sqf", "EPOCH_KeyDown"}
};
-antihack_addActionCheck = true; // false to disable addAction checks
+antihack_addActionCheck = "true"; // false to disable addAction checks
adminMenu_Owner[] = {};
adminMenu_OwnerSetting[] = {
"ESP-PLAYER",
@@ -1,4 +1,4 @@
-serverRestart = false; // true sends #shutdown command to server after the time specified in ForceRestartTime
+serverRestart = "false"; // true sends #shutdown command to server after the time specified in ForceRestartTime
forceRestartTime = 14400; // 4 hour restarts
StorageSlotsLimit = 1500; // Max storage slots allowed. Warning! Higher the number lower performance.
@@ -28,7 +28,7 @@ antagonistChanceLoot = 0.09; //9% chance when player click "SEARCH" on a loot ob
cloneCost = 100; // debt incurred on player death
// vehicles - Max vehicle slots is calculated from per vehicle limits below. Warning! Higher the number lower the performance.
-simulationHandlerOld = false; // When enabled this feature disables simulation on vehicles that are not nea players. Can help improve client fps at the cost of server fps.
+simulationHandlerOld = "false"; // When enabled this feature disables simulation on vehicles that are not nea players. Can help improve client fps at the cost of server fps.
vehicleLockTime = 1800; // Controls how many seconds it takes to allow another person/group to unlock vehicle.
removevehweapons[] = { // remove these Weapons from spawned Vehicles
"missiles_DAR","gatling_30mm","gatling_20mm","missiles_DAGR","cannon_30mm_Plane_CAS_02_F","Missile_AA_03_Plane_CAS_02_F","Missile_AGM_01_Plane_CAS_02_F","Rocket_03_HE_Plane_CAS_02_F",
@@ -41,7 +41,7 @@ removevehmagazinesturret[] = { // Remove these Magazines from the given Turret f
};
// BaseBuilding
-UseIndestructible = false; // Enable / Disable Indestructible BaseObjects
+UseIndestructible = "false"; // Enable / Disable Indestructible BaseObjects
IndestructibleBaseObjects[] = { // Can be Names or Classes
"Constructions_static_F",
"Buildable_Storage",
@@ -60,28 +60,28 @@ ExceptedBaseObjects[] = { // Not Indestructible, also if in a Class of Indestr
taxRate = 0.1; // controls the price increase for purchases
starterTraderItems[] = { { "ItemSodaBurst", "meatballs_epoch", "MortarBucket", "CinderBlocks", "VehicleRepair", "CircuitParts", "ItemCorrugated", "PartPlankPack", "ItemRock", "ItemRope", "ItemStick" }, { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 } }; // Starter Items for fresh spawned trader first array is classnames second is quantity.
NPCSlotsLimit = 20; // Max number of traders static or dynamic. Warning! Higher the number lower performance.
-forceStaticTraders = true; // disables traders moving from work to home
+forceStaticTraders = "true"; // disables traders moving from work to home
// Markers
-showEarthQuakes = true; // show mineral viens caused by earthquakes
-showShippingContainers = true; // Show location of events based loots (plants, shipping container, Carnival)
-SHOW_TRADERS = true; // Show locations of traders
-SHOW_JAMMERS = false; // Shows location of base jammers
-SHOW_BOATLOOT = true; // Shows the location of shipwreck loot
-DEBUG_VEH = false; // DEBUG ONLY used to debug spawing of vehicles
+showEarthQuakes = "true"; // show mineral viens caused by earthquakes
+showShippingContainers = "true"; // Show location of events based loots (plants, shipping container, Carnival)
+SHOW_TRADERS = "true"; // Show locations of traders
+SHOW_JAMMERS = "false"; // Shows location of base jammers
+SHOW_BOATLOOT = "true"; // Shows the location of shipwreck loot
+DEBUG_VEH = "false"; // DEBUG ONLY used to debug spawing of vehicles
// Hive Related
expiresBuilding = "604800"; // expiration date in seconds for buildings
expiresPlayer = "2592000"; // expiration date in seconds for players
expiresBank = "7776000"; // expiration date in seconds for players bank
expiresVehicle = "604800"; // expiration date in seconds for vehicles
expiresAIdata = "604800"; // expiration date in seconds for NPC Trader inventory
-hiveAsync = true; // true = asynchronous hive calls (non blocking), false = synchronous hive calls (blocking)
+hiveAsync = "true"; // true = asynchronous hive calls (non blocking), false = synchronous hive calls (blocking)
// Admin Features
-hiveAdminCmdExec = false; // true = enables extra (To Be Released) feature to allow execution of code via hive.
-hiveAdminSavePlayerList = true; // true = enables saving of playerUID array to hive value PLAYERS:#InstanceID.
+hiveAdminCmdExec = "false"; // true = enables extra (To Be Released) feature to allow execution of code via hive.
+hiveAdminSavePlayerList = "true"; // true = enables saving of playerUID array to hive value PLAYERS:#InstanceID.
hiveAdminCmdTime = 5; // how many seconds between each command queue call.
// DEBUG
-useOldLoadVehicles = false;
+useOldLoadVehicles = "false";
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 "" !"B_Parachute" !"B_AssaultPack_(cbr|dgtl|khk|mcamo|ocamo|rgr|sgg|blk)" !"B_Carryall_(cbr|khk|mcamo|ocamo|oli|oucamo)" !"B_FieldPack_(blk|cbr|khk|ocamo|oli|oucamo)" !"B_Kitbag_(cbr|mcamo|rgr|sgg)" !"B_TacticalPack_(blk|mcamo|ocamo|oli|rgr)" !"smallbackpack_(red|green|teal|pink|)_epoch" !"(O|I|B)_UAV_01_backpack_F"
+5 "" !"B_Parachute" !"B_AssaultPack_(cbr|dgtl|khk|mcamo|ocamo|rgr|sgg|blk)" !"B_Carryall(cbr|khk|mcamo|ocamo|oli|oucamo|hex|ghex)" !"B_FieldPack_(blk|cbr|khk|ocamo|oli|oucamo|ghex_F)" !"B_Kitbag_(cbr|mcamo|rgr|sgg)" !"B_TacticalPack_(blk|mcamo|ocamo|oli|rgr)" !"smallbackpack_(red|green|teal|pink|)_epoch" !"(O|I|B)_UAV_01_backpack_F" !"B_Bergen_(mcamo|dgtl|hex|tna)_F" !"B_Viper(Light|)Harness_(blk|ghex|hex|khk|oli)_F"
@@ -207,7 +207,7 @@ class FSM
"};" \n
"" \n
"_finalPlayerObjectCheck = {" \n
- " (_mass == (loadAbs _playerObject))" \n
+ " (_mass isEqualTo (loadAbs _playerObject))" \n
"};" \n
"" \n
"EPOCH_loginFSM = _thisFSM;" \n
@@ -1423,4 +1423,4 @@ class FSM
"Reject_without_B",
};
};
-/*%FSM</COMPILE>*/
+/*%FSM</COMPILE>*/
@@ -40,7 +40,7 @@ if (isClass(_config)) then{
if (configName(_finalconfig) == _variableName) then{
_varData = switch (typeName _defaultData) do {
case "SCALAR": {if (isNumber (_finalconfig)) then { getNumber _finalconfig } else {_defaultData} };
- case "BOOL": {if (isText (_finalconfig)) then { (getText _finalconfig) isEqualTo "true" } else {_defaultData} };
+ case "BOOL": {if (isText (_finalconfig)) then {(getText _finalconfig) isEqualTo "true"} else {if (isNumber (_finalconfig)) then {(getNumber _config) isEqualTo 1} else {_defaultData}}};
case "ARRAY": {if (isArray (_finalconfig)) then { getArray _finalconfig } else {_defaultData} };
case "STRING": {if (isText (_finalconfig)) then { getText _finalconfig } else {_defaultData} };
default {_defaultData};
@@ -18,36 +18,60 @@
Parameter(s):
_this select 0: OBJECT - player object
_this select 1: STRING - personal token
+ _this select 2: NUMBER - loadABS
Returns:
NOTHING
*/
//[[[cog import generate_private_arrays ]]]
-private ["_group","_playerObject","_ply"];
+private ["_prevPlayerObject"];
//[[[end]]]
-_playerObject = _this select 0;
+params [
+ ["_playerObject",objNull,[objNull]],
+ ["_personalToken","",[""]],
+ ["_loadAbs",0,[0]]
+];
+if (isNull _playerObject) exitWith { diag_log "EPOCH-DEBUG: New Player Object was Null cannot revive." };
if !(alive player && alive _playerObject && !isPlayer _playerObject) then {
- _ply = player;
- _group = group player;
- selectPlayer _playerObject;
- deleteVehicle _ply;
- Epoch_canBeRevived = false;
- Epoch_personalToken = _this select 1;
+ // reveal new player object (to hopefully propagate info faster).
+ player reveal _playerObject;
- [] spawn EPOCH_masterLoop;
- [5, 100] call EPOCH_niteLight;
+ // spawn a thread to wait for loadAbs to sync before using selectPlayer
+ [_playerObject,_personalToken,_loadAbs] spawn {
+ params ["_playerObject","_personalToken","_loadAbs"];
- closeDialog 0;
- ("BIS_fnc_respawnCounter" call BIS_fnc_rscLayer) cutText ["","PLAIN"];
+ // get current player object
+ _prevPlayerObjectect = player;
- {
- player removeEventHandler [_x, 0];
- player addEventHandler [_x,(["CfgEpochClient", _x, ""] call EPOCH_fnc_returnConfigEntryV2)];
- } forEach (["CfgEpochClient", "addEventHandler", []] call EPOCH_fnc_returnConfigEntryV2);
+ // wait for loadAbs to sync
+ waitUntil {_loadAbs isEqualTo (loadAbs _playerObject)};
- // reset blood Pressure to warning level
- EPOCH_playerBloodP = 120;
+ // switch to new playerObject
+ selectPlayer _playerObject;
+
+ // delete previous player object
+ deleteVehicle _prevPlayerObject;
+
+ // set token and can revive to false
+ Epoch_canBeRevived = false;
+ Epoch_personalToken = _personalToken;
+
+ // restart masterloop
+ [] spawn EPOCH_masterLoop;
+ [5, 100] call EPOCH_niteLight;
+
+ closeDialog 0;
+ ("BIS_fnc_respawnCounter" call BIS_fnc_rscLayer) cutText ["","PLAIN"];
+
+ {
+ player removeEventHandler [_x, 0];
+ player addEventHandler [_x,(["CfgEpochClient", _x, ""] call EPOCH_fnc_returnConfigEntryV2)];
+ } forEach (["CfgEpochClient", "addEventHandler", []] call EPOCH_fnc_returnConfigEntryV2);
+
+ // reset blood Pressure to warning level
+ EPOCH_playerBloodP = 120;
+ };
} else {
deleteVehicle _playerObject;
};
@@ -37,11 +37,11 @@ class CfgEpochClient
storageCountPerMember = 5; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
maxdoors = 8;
maxgates = 5;
- 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.."};
deathMorphClass[] = {"Epoch_Sapper_F","Epoch_SapperB_F","I_UAV_01_F","Epoch_Cloak_F"};
niteLight[] = {1,1.88,22};
- ryanZombiesEnabled = true;
+ ryanZombiesEnabled = "true";
antagonistSpawnIndex[] = {{"Epoch_Cloak_F",1},{"GreatWhite_F",2},{"Epoch_Sapper_F",2},{"Epoch_SapperB_F",1},{"I_UAV_01_F",2},{"PHANTOM",1},{"B_Heli_Transport_01_F",1},{"EPOCH_RyanZombie_1",12}};
customVarsDefaults[] = {{"Temp",98.6,{106.7,95,102,105,96,95}},{"Hunger",1500,{5000,0,5001,5001,1250,0}},{"Thirst",750,{2500,0,2501,2501,625,0}},{"AliveTime",0,{-2,0}},{"Energy",0,{2500,0}},{"Wet",0,{100,0,35,55,-1,-1}},{"Soiled",0,{100,0,35,55,-1,-1}},{"Immunity",0,{100,0}},{"Toxicity",0,{100,0,35,55,-1,-1}},{"Stamina",100,{"EPOCH_playerStaminaMax",0}},{"Crypto",0,{250000,0}},{"HitPoints",{0,0,0,0},{1,0,0.5,1,-1,-1}},{"BloodP",100,{190,0,120,140,70,50}},{"SpawnArray",{},{}},{"Karma",0,{50000,-50000}},{"Alcohol",0,{100,0,35,55,-1,-1}},{"Radiation",0,{100,0,35,55,-1,-1}},{"Nuisance",0,{100,0}},{"MissionArray",{},{}}};
hudConfigs[] = {{{"BloodP","","",{"getPlayerDamage",">=",0.7}},"topRight","x\addons\a3_epoch_code\Data\UI\bleeding_ca.paa",{"forceUpdate"}},{{"Oxygen","getPlayerOxygenRemaining","",{},{1,0,2,2,1,0.55}},"topRight","x\addons\a3_epoch_code\Data\UI\oxygen_ca.paa"},{"Hunger","topRight","x\addons\a3_epoch_code\Data\UI\hunger_ca.paa",{"forceBloodRise"}},{"Thirst","topRight","x\addons\a3_epoch_code\Data\UI\thirst_ca.paa",{"forceBloodRise"}},{"Temp","topRight",{"x\addons\a3_epoch_code\Data\UI\hot_ca.paa","x\addons\a3_epoch_code\Data\UI\cold_ca.paa"},{"forceFatigue"}},{"Toxicity","topRight","x\addons\a3_epoch_code\Data\UI\hazzard_ca.paa"},{"Alcohol","topRight","x\addons\a3_epoch_code\Data\UI\drunk_ca.paa"},{"Soiled","topRight","x\addons\a3_epoch_code\Data\UI\soiled_ca.paa"},{"Radiation","topRight","x\addons\a3_epoch_code\Data\UI\rads_ca.paa"},{{"HitPoints","getPlayerHitPointDamage","HitLegs"},"topRight","x\addons\a3_epoch_code\Data\UI\broken_ca.paa"}};
@@ -1 +1 @@
-build=672;
+build=675;
@@ -26,10 +26,10 @@ onPauseScript = "epoch_code\gui\scripts\Epoch_onPause.sqf";
onLoadMission= "Epoch";
OnLoadIntro = "Welcome to Epoch Mod";
loadScreen = "\x\addons\a3_epoch_assets\pictures\loadScreen_ca.paa";
-OnLoadIntroTime = False;
-OnLoadMissionTime = False;
+OnLoadIntroTime = 0;
+OnLoadMissionTime = 0;
onLoadName = "Epoch Mod";
-disabledAI = true;
+disabledAI = 1;
scriptedPlayer = 1;
disableChannels[]={{0,true,true},{1,false,true},{2,true,true},{6,true,true}}; // allow text only on side chat
enableItemsDropping = 0;
@@ -1 +1 @@
-build=672;
+build=675;
@@ -265,7 +265,7 @@ if (!local _player) then {
};
// send to player
- [_newPlyr, _token] remoteExec ['EPOCH_clientRevive',_player];
+ [_newPlyr, _token, loadAbs _newPlyr] remoteExec ['EPOCH_clientRevive',_player];
};
};
};
@@ -206,9 +206,24 @@ for "_i" from 1 to _maxVehicleLimit do {
};
} forEach _objTypes;
} forEach (_arr select 5);
- // remove and add back magazines works for armed trucks but not helis ATM
- {_vehicle removeMagazineGlobal _x}count (magazines _vehicle);
- {_vehicle addMagazine _x}count (_arr select 6);
+
+ // remove and add back magazines
+ if !((_arr select 6) isequalto []) then {
+ if ((_arr select 6 select 0) isequaltype true) then {
+ {
+ _vehicle removeMagazinesTurret [_x select 0, _x select 1];
+ } foreach magazinesAllTurrets _vehicle;
+ {
+ if ((_x select 2) > 0) then {
+ _vehicle addMagazineTurret [_x select 0,_x select 1,_x select 2];
+ };
+ } foreach (_arr select 6 select 1);
+ }
+ else {
+ {_vehicle removeMagazineGlobal _x}count (magazines _vehicle);
+ {_vehicle addMagazine _x}count (_arr select 6);
+ };
+ };
// set damage and hitpoints
_vehicle setDamage _damage;
@@ -225,22 +225,23 @@ for "_i" from 1 to _maxVehicleLimit do {
} forEach _objTypes;
} forEach (_arr select 5);
- // remove and add back magazines works for armed trucks but not helis ATM
- {_vehicle removeMagazineGlobal _x}count (magazines _vehicle);
- {_vehicle addMagazine _x}count (_arr select 6);
-
- // turrets
- /*
- _mags = _vehicle magazinesTurret [0];
- {
- _object removeMagazinesTurret [_x, [0]];
- } forEach _mags;
-
- _mags = _vehicle magazinesTurret [-1];
- {
- _object removeMagazinesTurret [_x, [-1]];
- } forEach _mags;
- */
+ // remove and add back magazines
+ if !((_arr select 6) isequalto []) then {
+ if ((_arr select 6 select 0) isequaltype true) then {
+ {
+ _vehicle removeMagazinesTurret [_x select 0, _x select 1];
+ } foreach magazinesAllTurrets _vehicle;
+ {
+ if ((_x select 2) > 0) then {
+ _vehicle addMagazineTurret [_x select 0,_x select 1,_x select 2];
+ };
+ } foreach (_arr select 6 select 1);
+ }
+ else {
+ {_vehicle removeMagazineGlobal _x}count (magazines _vehicle);
+ {_vehicle addMagazine _x}count (_arr select 6);
+ };
+ };
if (EPOCH_DEBUG_VEH) then {
_marker = createMarker [str(_location) , _location];
@@ -253,9 +254,6 @@ for "_i" from 1 to _maxVehicleLimit do {
if (_simulationHandler) then{
_vehicle enableSimulationGlobal false;
};
-
-
-
};
};
};
@@ -17,7 +17,7 @@ params [["_vehicle",objNull]];
if (!isNull _vehicle) then {
- // if (!alive _vehicle) exitWith {diag_log format["DEBUG DEAD VEHICLE SKIPPED SAVE: %1 %2", _vehicle]};
+ if (!alive _vehicle) exitWith {diag_log format["DEBUG DEAD VEHICLE SKIPPED SAVE: %1 %2", _vehicle]};
_vehSlot = _vehicle getVariable["VEHICLE_SLOT", "ABORT"];
if (_vehSlot != "ABORT") then {
@@ -95,7 +95,7 @@ if (!isNull _vehicle) then {
];
_colorSlot = _vehicle getVariable ["VEHICLE_TEXTURE",0];
- _VAL = [typeOf _vehicle,[(getposATL _vehicle call EPOCH_precisionPos),vectordir _vehicle,vectorup _vehicle],damage _vehicle,_hitpoints,fuel _vehicle,_inventory,magazinesAmmo _vehicle,_colorSlot];
+ _VAL = [typeOf _vehicle,[(getposATL _vehicle call EPOCH_precisionPos),vectordir _vehicle,vectorup _vehicle],damage _vehicle,_hitpoints,fuel _vehicle,_inventory,[true,magazinesAllTurrets _vehicle],_colorSlot];
["Vehicle", _vehHiveKey, EPOCH_expiresVehicle, _VAL] call EPOCH_fnc_server_hiveSETEX;
};
};
Oops, something went wrong.

0 comments on commit ae9d5fd

Please sign in to comment.