diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo index 1de34b94..ad10dab3 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server.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 28400baf..148667a7 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/@epochhive/addons/epoch_server_debris_event.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_debris_event.pbo index ba085728..f751997a 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_debris_event.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_debris_event.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo index 3dd6a4fc..c9730673 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_events.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo index d0fe2fd1..293c4617 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo index 9c5dd3ca..a01598e2 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_vip_event.pbo differ diff --git a/Server_Install_Pack/@epochhive/epochconfig.hpp b/Server_Install_Pack/@epochhive/epochconfig.hpp index c328e2cf..a1be095f 100644 --- a/Server_Install_Pack/@epochhive/epochconfig.hpp +++ b/Server_Install_Pack/@epochhive/epochconfig.hpp @@ -59,6 +59,7 @@ defaultlinkedItems[] = { disableAutoRefuel = "true"; // Removes auto refuel from all buildings at server startup. 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. +VehLockMessages = "true"; // Give players a hint, that the Vehicle is locked / unlocked 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", "Rocket_03_AP_Plane_CAS_02_F","Bomb_03_Plane_CAS_02_F","Bomb_04_Plane_CAS_01_F","Rocket_04_AP_Plane_CAS_01_F","Rocket_04_HE_Plane_CAS_01_F","Missile_AGM_02_Plane_CAS_01_F","Missile_AA_04_Plane_CAS_01_F", diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index 11f06293..1d8354fc 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 63a4e945..5fbf3bd6 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 e67eb322..5104cdd7 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 bb7c292f..eaff6ea1 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 f04834b9..21616d2e 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.ChernarusRedux.pbo b/Server_Install_Pack/mpmissions/epoch.ChernarusRedux.pbo index 71fbbb90..a62ebc27 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.ChernarusRedux.pbo and b/Server_Install_Pack/mpmissions/epoch.ChernarusRedux.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index caf26a7d..edcb7099 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 d4c03530..3175673d 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 4e948073..73e03a33 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.Malden.pbo b/Server_Install_Pack/mpmissions/epoch.Malden.pbo index 8abb78ce..c0ba95d5 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Malden.pbo and b/Server_Install_Pack/mpmissions/epoch.Malden.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo index eed83c37..5dae561c 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.Napf.pbo b/Server_Install_Pack/mpmissions/epoch.Napf.pbo index e3eb5227..ca260506 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.Porto.pbo b/Server_Install_Pack/mpmissions/epoch.Porto.pbo index 34b43720..bd67c17b 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 99ebe799..a9f730b3 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 6c164916..fbf71833 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 edf474a5..e8a010d9 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 0b0f8093..33e6fce1 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 fb17cbf9..04b9808a 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 0132c5f2..cfcd1604 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 4913fc23..99744e7e 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.Tanoa.pbo b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo index 290ae39b..6e78314b 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo and b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index 66c4deee..1df36f87 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 0bf2cf64..9491f209 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 61afbdb6..14357983 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 0bc20332..855500be 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_code/compile/setup/masterLoop/Event1.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf index 54580632..c39d5374 100644 --- a/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf +++ b/Sources/epoch_code/compile/setup/masterLoop/Event1.sqf @@ -411,6 +411,11 @@ if(getNumber(('CfgEpochClient' call EPOCH_returnConfig) >> 'mapOnZoomSetMarkerSi }; }; +// prevents use of group view +if (cameraview isequalto "GROUP") then { + vehicle player switchCamera "Internal"; +}; + // force update if (EPOCH_forceUpdateNow) then { EPOCH_forceUpdateNow = false; diff --git a/Sources/epoch_code/init/client_init.sqf b/Sources/epoch_code/init/client_init.sqf index da0712e4..e3dee9e1 100644 --- a/Sources/epoch_code/init/client_init.sqf +++ b/Sources/epoch_code/init/client_init.sqf @@ -86,9 +86,6 @@ EPOCH_maxBuildingHeight = getNumber(_CfgEpochClient >> "maxBuildingHeight"); //ON INIT and RESPAWN call EPOCH_clientInit; -// prevents use of group view, and maybe useful for other checks. -addMissionEventHandler ["PlayerViewChanged", {if (cameraView isEqualTo "GROUP") then {vehicle player switchCamera "Internal";};}]; - [] execFSM "epoch_code\system\player_login.fsm"; true diff --git a/Sources/epoch_config/Configs/CfgCrafting.hpp b/Sources/epoch_config/Configs/CfgCrafting.hpp index 54005af5..63b83877 100644 --- a/Sources/epoch_config/Configs/CfgCrafting.hpp +++ b/Sources/epoch_config/Configs/CfgCrafting.hpp @@ -424,7 +424,7 @@ class CfgCrafting }; class ItemCorrugated : Item { - usedIn[] = {"KitShelf","ItemCorrugatedLg","VehicleRepairLg","EngineParts","KitSink","KitFieldToilet","KitWaterPump","KitLightPole"}; + usedIn[] = {"KitShelf","ItemCorrugatedLg","VehicleRepairLg","EngineParts","KitSink","KitFieldToilet","KitWaterPump","KitLightPole","FuelTank"}; nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}}; recipe[] = {{"ItemScraps",2}}; previewPosition[] = {0.791088,1,0.300004}; @@ -452,7 +452,7 @@ class CfgCrafting }; class VehicleRepair : Part { - usedIn[] = {"VehicleRepairLg","EngineParts","SpareTire","KitVehicleUpgradeI_200_EPOCH"}; + usedIn[] = {"VehicleRepairLg","EngineParts","SpareTire","KitVehicleUpgradeI_200_EPOCH","FuelTank"}; previewPosition[] = {0.787659,1,0.30098}; previewScale = 0.45; previewVector = 1.5; @@ -493,6 +493,13 @@ class CfgCrafting previewScale = 0.2; previewVector = 0.5; }; + class FuelTank : Item + { + recipe[] = {{"ItemCorrugated",1},{"VehicleRepair",1} }; + previewPosition[] = {0.8,1,0.26}; + previewScale = 0.4; + previewVector = 1; + }; class EpochRadio0 : Part { usedIn[] = {"EpochRadio1"}; diff --git a/Sources/epoch_config/Configs/CfgItemSort.hpp b/Sources/epoch_config/Configs/CfgItemSort.hpp index 39c2b031..ff070a82 100644 --- a/Sources/epoch_config/Configs/CfgItemSort.hpp +++ b/Sources/epoch_config/Configs/CfgItemSort.hpp @@ -1041,6 +1041,7 @@ class CfgItemSort "ItemGlass", "ItemDuctTape", "ItemRotor", + "FuelTank", "VehicleRepair", "VehicleRepairLg", "ItemDocument", diff --git a/Sources/epoch_config/Configs/CfgMarkerSets.hpp b/Sources/epoch_config/Configs/CfgMarkerSets.hpp index 1a6f2b93..c10f7f82 100644 --- a/Sources/epoch_config/Configs/CfgMarkerSets.hpp +++ b/Sources/epoch_config/Configs/CfgMarkerSets.hpp @@ -51,155 +51,154 @@ class CfgMarkerSets }; class PlayerMarker { markerArray[] = { - {"EPOCH_PlayerMarker1","ICON","EpochActive_Hex","ColorBlue",1,{0.6,0.6}}, - {"EPOCH_PlayerMarker2","ICON","EpochBG_Hex","ColorWhite",0.3,{0.6,0.6}}, - {"EPOCH_PlayerMarker3","ICON","EpochGPS","ColorBlue",1,{0.5,0.5},0,"format['%1/%2',(format[mapGridPosition player]) select [0,3],(format[mapGridPosition player]) select [3,3]]"} + {"EPOCH_PlayerMarker1","ICON","EpochActive_Hex","ColorBlue",1,{0.6,0.6}}, + {"EPOCH_PlayerMarker2","ICON","EpochBG_Hex","ColorWhite",0.3,{0.6,0.6}}, + {"EPOCH_PlayerMarker3","ICON","EpochGPS","ColorBlue",1,{0.5,0.5},0,"format['%1/%2',(format[mapGridPosition player]) select [0,3],(format[mapGridPosition player]) select [3,3]]"} }; }; class DeathMarker { markerArray[] = { - - {"EPOCH_DeathMarker1","ICON","EpochActive_Circle","ColorRed",1,{0.6,0.6}}, - {"EPOCH_DeathMarker2","ICON","EpochBG_Circle","ColorPink",0.3,{0.6,0.6}}, - {"EPOCH_DeathMarker3","ICON","EpochSkull","ColorRed",1,{0.5,0.5},0,"str(name player)"} + {"EPOCH_DeathMarker1","ICON","EpochActive_Circle","ColorRed",1,{0.6,0.6}}, + {"EPOCH_DeathMarker2","ICON","EpochBG_Circle","ColorPink",0.3,{0.6,0.6}}, + {"EPOCH_DeathMarker3","ICON","EpochSkull","ColorRed",1,{0.5,0.5},0,"str(name player)"} }; }; class EpochDebugBox { markerArray[] = { - {"","ICON","EpochActive_Square","ColorGreen",1,{1,1}}, - {"","ICON","EpochBG_Square","ColorBlack",0.2,{1,1}}, - {"","ICON","EpochRespawn","ColorGreen",0.75,{1,1}} + {"","ICON","EpochActive_Square","ColorGreen",1,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.2,{1,1}}, + {"","ICON","EpochRespawn","ColorGreen",0.75,{1,1}} }; }; class PlantSpawn { markerArray[] = { - {"","ICON","EpochActive_Diamond","ColorGreen",1,{0.8,0.8}}, - {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{0.8,0.8}}, - {"","ICON","EpochPlant","ColorGreen",0.9,{0.9,0.9}} + {"","ICON","EpochActive_Diamond","ColorGreen",1,{0.8,0.8}}, + {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{0.8,0.8}}, + {"","ICON","EpochPlant","ColorGreen",0.9,{0.9,0.9}} }; }; class AirDrop { markerArray[] = { - {"","ICON","EpochActive_Diamond","ColorGreen",1,{1.1,1.1}}, - {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1.1,1.1}}, - {"","ICON","EpochAirdrop","ColorGreen",0.75,{1.2,1.2}} + {"","ICON","EpochActive_Diamond","ColorGreen",1,{1.1,1.1}}, + {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1.1,1.1}}, + {"","ICON","EpochAirdrop","ColorGreen",0.75,{1.2,1.2}} }; }; class Carnival { markerArray[] = { - {"","ICON","EpochActive_Diamond","ColorOrange",1,{1,1}}, - {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1,1}}, - {"","ICON","EpochCarnival","ColorOrange",0.75,{1.1,1.1}} + {"","ICON","EpochActive_Diamond","ColorOrange",1,{1,1}}, + {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1,1}}, + {"","ICON","EpochCarnival","ColorOrange",0.75,{1.1,1.1}} }; }; class Container { markerArray[] = { - {"","ICON","EpochActive_Diamond","ColorOrange",1,{1,1}}, - {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1,1}}, - {"","ICON","EpochContainer","ColorOrange",0.75,{1.1,1.1}} + {"","ICON","EpochActive_Diamond","ColorOrange",1,{1,1}}, + {"","ICON","EpochBG_Diamond","ColorBlack",0.2,{1,1}}, + {"","ICON","EpochContainer","ColorOrange",0.75,{1.1,1.1}} }; }; class EarthQuake { markerArray[] = { - {"","ICON","EpochActive_Circle","ColorGrey",1,{0.8,0.8}}, - {"","ICON","EpochBG_Circle","ColorBlack",0.2,{0.8,0.8}}, - {"","ICON","EpochGem","ColorRed",1,{0.9,0.9}} + {"","ICON","EpochActive_Circle","ColorGrey",1,{0.8,0.8}}, + {"","ICON","EpochBG_Circle","ColorBlack",0.2,{0.8,0.8}}, + {"","ICON","EpochGem","ColorRed",1,{0.9,0.9}} }; }; class ServicePoint { markerArray[] = { + {"","ICON","EpochActive_Circle","ColorBlack",1,{0.85,0.85}}, {"","ICON","EpochBG_Circle","ColorGrey",0.25,{0.85,0.85}}, - {"","ICON","EpochActive_Circle","ColorBlack",1,{0.85,0.85}}, {"","ICON","EpochService","ColorWhite",1,{0.9,0.9},0,"'Service Point'"} }; }; class Radiation { markerArray[] = { - {"","ICON","EpochBG_Triangle","ColorBlack",0.3,{0.7,0.7}}, {"","ICON","EpochActive_Triangle","ColorYellow",1,{0.7,0.7}}, + {"","ICON","EpochBG_Triangle","ColorBlack",0.3,{0.7,0.7}}, {"","ICON","EpochRadiation","ColorYellow",1,{0.9,0.9}} }; }; class Satellite { markerArray[] = { - {"","ICON","EpochBG_Triangle","ColorBlack",0.15,{0.7,0.7},58}, - {"","ICON","EpochActive_Triangle","ColorYellow",0.5,{0.7,0.7},58}, + {"","ICON","EpochActive_Triangle","ColorYellow",0.5,{0.7,0.7},58}, + {"","ICON","EpochBG_Triangle","ColorBlack",0.15,{0.7,0.7},58}, {"","ICON","EpochSatellite","ColorYellow",1,{0.9,0.9},58} }; }; class MissionNoob { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorGreen",0.5,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionNoob1","ColorYellow",1,{0.9,0.9}} }; }; class MissionNoobPlus { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorGreen",0.75,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionNoob2","ColorYellow",1,{0.9,0.9}} }; }; class MissionSurvivor { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorBlue",0.5,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionMedium1","ColorGreen",1,{0.9,0.9}} }; }; class MissionSurvivorPlus { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorBlue",0.75,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionMedium2","ColorGreen",1,{0.9,0.9}} }; }; class MissionSlaughter { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorRed",0.5,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionVeteran1","ColorBlue",1,{0.9,0.9}} }; }; class MissionSlaughterPlus { markerArray[] = { - {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochActive_Square","ColorRed",0.75,{1,1}}, + {"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}}, {"","ICON","EpochMissionVeteran2","ColorBlue",1,{0.9,0.9}} }; }; class IGSafeZones { markerArray[] = { - {"","ICON","mil_warning","ColorRed",1,{1,1},0,"format['SafeZone%1',IGSZCounter];IGSZCounter = IGSZCounter+1"}, - {"","ELLIPSE","Grid","ColorGreen",1,{250,250}} + {"","ICON","mil_warning","ColorRed",1,{1,1},0,"format['SafeZone%1',IGSZCounter];IGSZCounter = IGSZCounter+1"}, + {"","ELLIPSE","Grid","ColorGreen",1,{250,250}} }; }; class StaticTrader { markerArray[] = { - {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochActive_Circle","ColorRed",0.75,{0.6,0.6}}, + {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochStaticTrader","ColorBlack",1,{0.5,0.5}} }; }; class DynamicTrader { markerArray[] = { - {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochActive_Circle","ColorGreen",0.75,{0.6,0.6}}, + {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochDynamicTrader","ColorBrown",1,{0.5,0.5}} }; }; class NewDynamicTrader { markerArray[] = { - {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochActive_Circle","ColorKhaki",0.75,{0.6,0.6}}, + {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochStaticTrader","ColorKhaki",1,{0.5,0.5}} }; }; class Shipwreck { markerArray[] = { - {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochActive_Circle","ColorOrange",1,{0.6,0.6}}, + {"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}}, {"","ICON","EpochShipwreck","ColorOrange",1,{0.5,0.5}} }; }; diff --git a/Sources/epoch_config/Configs/CfgPricing.hpp b/Sources/epoch_config/Configs/CfgPricing.hpp index 96ce45e3..19ecf509 100644 --- a/Sources/epoch_config/Configs/CfgPricing.hpp +++ b/Sources/epoch_config/Configs/CfgPricing.hpp @@ -410,6 +410,10 @@ class CfgPricing { price = 40; }; + class FuelTank + { + price = 48; + }; class WhiskeyNoodle { price = 80; diff --git a/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf b/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf index 9271cf47..c72a7bce 100644 --- a/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf +++ b/Sources/epoch_server/compile/epoch_player/EPOCH_server_loadPlayer.sqf @@ -351,7 +351,7 @@ if (!isNull _player) then { // load community stats _communityStatsArray = ["CommunityStats", _playerUID] call EPOCH_fnc_server_hiveGETRANGE; - _communityStats = ((_communityStatsArray select 1) select 0); + _communityStats = (_communityStatsArray param [1,[]]) param [0,[]]; _newPlyr setVariable["COMMUNITY_STATS", _communityStats]; // re enable damage server side 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 e18ea506..4982f021 100644 --- a/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf +++ b/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf @@ -13,16 +13,16 @@ https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf */ //[[[cog import generate_private_arrays ]]] -private ["_agent","_aiTables","_arr","_class","_currentStock","_existingStock","_home","_indexStock","_limit","_markers","_objHiveKey","_pos","_randomAIUniform","_response","_schedule","_serverSettingsConfig","_staticTrader","_staticTradersArrCount","_staticTradersArray","_storedVehicleLimit","_toBeRemoved","_traderSlotIndex","_work"]; +private ["_agent","_aiTables","_arr","_class","_config","_currentStock","_existingStock","_home","_indexStock","_limit","_markers","_objHiveKey","_pos","_randomAIUniform","_response","_schedule","_serverSettingsConfig","_staticTrader","_staticTradersArrCount","_staticTradersArray","_storedVehicleLimit","_toBeRemoved","_traderSlotIndex","_work"]; //[[[end]]] params [["_maxTraderLimit",0]]; _staticTradersArray = +EPOCH_staticNPCTraderPos; EPOCH_staticNPCTraderPos = nil; -_staticTradersArray append getArray(configFile >> "CfgEpoch" >> worldName >> "staticNpcPos"); +_config = (configFile >> "CfgEpoch" >> worldName); +_staticTradersArray append getArray(_config >> "staticNpcPos"); _staticTradersArrCount = count _staticTradersArray; -// TODO: configize -_aiTables = ["U_OG_leader", "U_C_Poloshirt_stripped", "U_C_Poloshirt_blue", "U_C_Poloshirt_burgundy", "U_C_Poloshirt_tricolour", "U_C_Poloshirt_salmon", "U_C_Poloshirt_redwhite", "U_C_Poor_1", "U_C_WorkerCoveralls", "U_C_Journalist", "U_C_Scientist", "U_OrestesBody"]; +_aiTables = getArray(_config >> "traderUniforms"); _serverSettingsConfig = configFile >> "CfgEpochServer"; _storedVehicleLimit = [_serverSettingsConfig, "storedVehicleLimit", 20] call EPOCH_fnc_returnConfigEntry; diff --git a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf index bcfeeebf..da0f4be4 100644 --- a/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf +++ b/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf @@ -13,7 +13,7 @@ https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf */ //[[[cog import generate_private_arrays ]]] -private ["_crew","_driver","_isLocked","_lockOwner","_lockedOwner","_logic","_playerGroup","_playerUID","_response","_vehLockHiveKey","_vehSlot"]; +private ["_VehLockMessages","_msg","_crew","_driver","_isLocked","_lockOwner","_lockedOwner","_logic","_playerGroup","_playerUID","_response","_vehLockHiveKey","_vehSlot"]; //[[[end]]] params [ ["_vehicle",objNull,[objNull]], @@ -26,6 +26,8 @@ if (isNull _vehicle) exitWith {}; if !([_player,_token] call EPOCH_server_getPToken) exitWith {}; if (_player distance _vehicle > 20) exitWith {}; +_VehLockMessages = ['CfgEpochClient' call EPOCH_returnConfig, "VehLockMessages", true] call EPOCH_fnc_returnConfigEntry; + // Group access _playerUID = getPlayerUID _player; _playerGroup = _player getVariable["GROUP", ""]; @@ -43,6 +45,9 @@ if (_vehSlot != "ABORT") then { if ((_response select 0) == 1 && (_response select 1) isEqualType [] && !((_response select 1) isEqualTo[])) then { _lockedOwner = _response select 1 select 0; }; +} +else { + _lockedOwner = _vehicle getvariable ["EPOCH_LockedOwner","-1"]; }; // get locked state @@ -57,6 +62,7 @@ _crew = []; }; } forEach (crew _vehicle); + // if vehicle has a crew and player is not inside vehicle only allow locking if already owner _logic = if !(_crew isEqualTo []) then { if (_player in _crew) then { @@ -75,7 +81,12 @@ _logic = if !(_crew isEqualTo []) then { if (_logic) then { if (_value) then { - ["VehicleLock", _vehLockHiveKey, EPOCH_vehicleLockTime, [_lockOwner]] call EPOCH_fnc_server_hiveSETEX; + if !(_vehSlot isequalto "ABORT") then { + ["VehicleLock", _vehLockHiveKey, EPOCH_vehicleLockTime, [_lockOwner]] call EPOCH_fnc_server_hiveSETEX; + } + else { + _vehicle setvariable ["EPOCH_LockedOwner",_lockOwner]; + }; } else { // re-allow damage (server-side) on first unlock if (_vehicle getVariable ["EPOCH_disallowedDamage", false]) then { @@ -90,4 +101,13 @@ if (_logic) then { } else { [_vehicle, _value] remoteExec ['EPOCH_client_lockVehicle',_vehicle]; }; + if (_VehLockMessages) then { + _msg = if (_value) then {"Vehicle Locked"} else {"Vehicle unlocked"}; + [_msg,5] remoteExec ["Epoch_Message",_player]; + }; +} +else { + if (_VehLockMessages) then { + ["You are not the owner",5] remoteExec ["Epoch_Message",_player]; + }; }; diff --git a/Sources/epoch_server_settings/configs/CfgLootTable.h b/Sources/epoch_server_settings/configs/CfgLootTable.h index 96e1b34a..cfbfcd17 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable.h @@ -89,6 +89,7 @@ class CfgLootTable { { "EngineBlock", "magazine" }, 10 }, { { "ItemGlass", "magazine" }, 15 }, { { "ItemDuctTape", "magazine" }, 20 }, + { { "FuelTank", "magazine" }, 4 }, { { "ItemRotor", "magazine" }, 5 } }; }; @@ -328,6 +329,7 @@ class CfgLootTable { { "ItemSolar", "magazine" }, 5 }, { { "ItemBattery", "magazine" }, 5 }, { { "ItemCables", "magazine" }, 5 }, + { { "ItemPipe", "magazine" }, 5 }, { { "ItemSafe", "magazine" }, 1 }, { { "ItemBarrelE", "magazine" }, 1 } diff --git a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h index 799baad4..feef07aa 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable_CUP.h @@ -89,6 +89,7 @@ class CfgLootTable_CUP { { "EngineBlock", "magazine" }, 10 }, { { "ItemGlass", "magazine" }, 15 }, { { "ItemDuctTape", "magazine" }, 20 }, + { { "FuelTank", "magazine" }, 4 }, { { "ItemRotor", "magazine" }, 5 } }; }; @@ -421,6 +422,7 @@ class CfgLootTable_CUP { { "ItemSolar", "magazine" }, 5 }, { { "ItemBattery", "magazine" }, 5 }, { { "ItemCables", "magazine" }, 5 }, + { { "ItemPipe", "magazine" }, 5 }, { { "ItemSafe", "magazine" }, 1 }, { { "ItemBarrelE", "magazine" }, 1 } }; diff --git a/Sources/epoch_server_settings/configs/CfgLootTable_MAD.h b/Sources/epoch_server_settings/configs/CfgLootTable_MAD.h index f75ec112..9d053420 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable_MAD.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable_MAD.h @@ -89,6 +89,7 @@ class CfgLootTable_MAD { { "EngineBlock", "magazine" }, 10 }, { { "ItemGlass", "magazine" }, 15 }, { { "ItemDuctTape", "magazine" }, 20 }, + { { "FuelTank", "magazine" }, 4 }, { { "ItemRotor", "magazine" }, 5 } }; }; @@ -326,6 +327,7 @@ class CfgLootTable_MAD { { "ItemSolar", "magazine" }, 5 }, { { "ItemBattery", "magazine" }, 5 }, { { "ItemCables", "magazine" }, 5 }, + { { "ItemPipe", "magazine" }, 5 }, { { "ItemSafe", "magazine" }, 1 }, { { "ItemBarrelE", "magazine" }, 1 } diff --git a/Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h b/Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h index 2e4b79f1..03910263 100644 --- a/Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h +++ b/Sources/epoch_server_settings/configs/CfgLootTable_MADCUP.h @@ -89,6 +89,7 @@ class CfgLootTable_MADCUP { { "EngineBlock", "magazine" }, 10 }, { { "ItemGlass", "magazine" }, 15 }, { { "ItemDuctTape", "magazine" }, 20 }, + { { "FuelTank", "magazine" }, 4 }, { { "ItemRotor", "magazine" }, 5 } }; }; @@ -421,6 +422,7 @@ class CfgLootTable_MADCUP { { "ItemSolar", "magazine" }, 5 }, { { "ItemBattery", "magazine" }, 5 }, { { "ItemCables", "magazine" }, 5 }, + { { "ItemPipe", "magazine" }, 5 }, { { "ItemSafe", "magazine" }, 1 }, { { "ItemBarrelE", "magazine" }, 1 } };