mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
Merge pull request #956 from EpochModTeam/experimental
Epoch Gamemode Build: 1077
This commit is contained in:
commit
2b4ec06aed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -59,6 +59,7 @@ defaultlinkedItems[] = {
|
|||||||
disableAutoRefuel = "true"; // Removes auto refuel from all buildings at server startup.
|
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.
|
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.
|
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
|
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",
|
"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",
|
"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",
|
||||||
|
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.
Binary file not shown.
Binary file not shown.
@ -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
|
// force update
|
||||||
if (EPOCH_forceUpdateNow) then {
|
if (EPOCH_forceUpdateNow) then {
|
||||||
EPOCH_forceUpdateNow = false;
|
EPOCH_forceUpdateNow = false;
|
||||||
|
@ -86,9 +86,6 @@ EPOCH_maxBuildingHeight = getNumber(_CfgEpochClient >> "maxBuildingHeight");
|
|||||||
//ON INIT and RESPAWN
|
//ON INIT and RESPAWN
|
||||||
call EPOCH_clientInit;
|
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";
|
[] execFSM "epoch_code\system\player_login.fsm";
|
||||||
|
|
||||||
true
|
true
|
||||||
|
@ -424,7 +424,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class ItemCorrugated : Item
|
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}};
|
nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0}};
|
||||||
recipe[] = {{"ItemScraps",2}};
|
recipe[] = {{"ItemScraps",2}};
|
||||||
previewPosition[] = {0.791088,1,0.300004};
|
previewPosition[] = {0.791088,1,0.300004};
|
||||||
@ -452,7 +452,7 @@ class CfgCrafting
|
|||||||
};
|
};
|
||||||
class VehicleRepair : Part
|
class VehicleRepair : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"VehicleRepairLg","EngineParts","SpareTire","KitVehicleUpgradeI_200_EPOCH"};
|
usedIn[] = {"VehicleRepairLg","EngineParts","SpareTire","KitVehicleUpgradeI_200_EPOCH","FuelTank"};
|
||||||
previewPosition[] = {0.787659,1,0.30098};
|
previewPosition[] = {0.787659,1,0.30098};
|
||||||
previewScale = 0.45;
|
previewScale = 0.45;
|
||||||
previewVector = 1.5;
|
previewVector = 1.5;
|
||||||
@ -493,6 +493,13 @@ class CfgCrafting
|
|||||||
previewScale = 0.2;
|
previewScale = 0.2;
|
||||||
previewVector = 0.5;
|
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
|
class EpochRadio0 : Part
|
||||||
{
|
{
|
||||||
usedIn[] = {"EpochRadio1"};
|
usedIn[] = {"EpochRadio1"};
|
||||||
|
@ -1041,6 +1041,7 @@ class CfgItemSort
|
|||||||
"ItemGlass",
|
"ItemGlass",
|
||||||
"ItemDuctTape",
|
"ItemDuctTape",
|
||||||
"ItemRotor",
|
"ItemRotor",
|
||||||
|
"FuelTank",
|
||||||
"VehicleRepair",
|
"VehicleRepair",
|
||||||
"VehicleRepairLg",
|
"VehicleRepairLg",
|
||||||
"ItemDocument",
|
"ItemDocument",
|
||||||
|
@ -58,7 +58,6 @@ class CfgMarkerSets
|
|||||||
};
|
};
|
||||||
class DeathMarker {
|
class DeathMarker {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
|
|
||||||
{"EPOCH_DeathMarker1","ICON","EpochActive_Circle","ColorRed",1,{0.6,0.6}},
|
{"EPOCH_DeathMarker1","ICON","EpochActive_Circle","ColorRed",1,{0.6,0.6}},
|
||||||
{"EPOCH_DeathMarker2","ICON","EpochBG_Circle","ColorPink",0.3,{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_DeathMarker3","ICON","EpochSkull","ColorRed",1,{0.5,0.5},0,"str(name player)"}
|
||||||
@ -108,64 +107,64 @@ class CfgMarkerSets
|
|||||||
};
|
};
|
||||||
class ServicePoint {
|
class ServicePoint {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Circle","ColorGrey",0.25,{0.85,0.85}},
|
|
||||||
{"","ICON","EpochActive_Circle","ColorBlack",1,{0.85,0.85}},
|
{"","ICON","EpochActive_Circle","ColorBlack",1,{0.85,0.85}},
|
||||||
|
{"","ICON","EpochBG_Circle","ColorGrey",0.25,{0.85,0.85}},
|
||||||
{"","ICON","EpochService","ColorWhite",1,{0.9,0.9},0,"'Service Point'"}
|
{"","ICON","EpochService","ColorWhite",1,{0.9,0.9},0,"'Service Point'"}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class Radiation {
|
class Radiation {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Triangle","ColorBlack",0.3,{0.7,0.7}},
|
|
||||||
{"","ICON","EpochActive_Triangle","ColorYellow",1,{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}}
|
{"","ICON","EpochRadiation","ColorYellow",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class Satellite {
|
class Satellite {
|
||||||
markerArray[] = {
|
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}
|
{"","ICON","EpochSatellite","ColorYellow",1,{0.9,0.9},58}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionNoob {
|
class MissionNoob {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorGreen",0.5,{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}}
|
{"","ICON","EpochMissionNoob1","ColorYellow",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionNoobPlus {
|
class MissionNoobPlus {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorGreen",0.75,{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}}
|
{"","ICON","EpochMissionNoob2","ColorYellow",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionSurvivor {
|
class MissionSurvivor {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorBlue",0.5,{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}}
|
{"","ICON","EpochMissionMedium1","ColorGreen",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionSurvivorPlus {
|
class MissionSurvivorPlus {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorBlue",0.75,{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}}
|
{"","ICON","EpochMissionMedium2","ColorGreen",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionSlaughter {
|
class MissionSlaughter {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorRed",0.5,{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}}
|
{"","ICON","EpochMissionVeteran1","ColorBlue",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MissionSlaughterPlus {
|
class MissionSlaughterPlus {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Square","ColorBlack",0.15,{1,1}},
|
|
||||||
{"","ICON","EpochActive_Square","ColorRed",0.75,{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}}
|
{"","ICON","EpochMissionVeteran2","ColorBlue",1,{0.9,0.9}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -177,29 +176,29 @@ class CfgMarkerSets
|
|||||||
};
|
};
|
||||||
class StaticTrader {
|
class StaticTrader {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}},
|
|
||||||
{"","ICON","EpochActive_Circle","ColorRed",0.75,{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}}
|
{"","ICON","EpochStaticTrader","ColorBlack",1,{0.5,0.5}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class DynamicTrader {
|
class DynamicTrader {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}},
|
|
||||||
{"","ICON","EpochActive_Circle","ColorGreen",0.75,{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}}
|
{"","ICON","EpochDynamicTrader","ColorBrown",1,{0.5,0.5}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class NewDynamicTrader {
|
class NewDynamicTrader {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}},
|
|
||||||
{"","ICON","EpochActive_Circle","ColorKhaki",0.75,{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}}
|
{"","ICON","EpochStaticTrader","ColorKhaki",1,{0.5,0.5}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class Shipwreck {
|
class Shipwreck {
|
||||||
markerArray[] = {
|
markerArray[] = {
|
||||||
{"","ICON","EpochBG_Circle","ColorWhite",0.15,{0.6,0.6}},
|
|
||||||
{"","ICON","EpochActive_Circle","ColorOrange",1,{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}}
|
{"","ICON","EpochShipwreck","ColorOrange",1,{0.5,0.5}}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -410,6 +410,10 @@ class CfgPricing
|
|||||||
{
|
{
|
||||||
price = 40;
|
price = 40;
|
||||||
};
|
};
|
||||||
|
class FuelTank
|
||||||
|
{
|
||||||
|
price = 48;
|
||||||
|
};
|
||||||
class WhiskeyNoodle
|
class WhiskeyNoodle
|
||||||
{
|
{
|
||||||
price = 80;
|
price = 80;
|
||||||
|
@ -351,7 +351,7 @@ if (!isNull _player) then {
|
|||||||
|
|
||||||
// load community stats
|
// load community stats
|
||||||
_communityStatsArray = ["CommunityStats", _playerUID] call EPOCH_fnc_server_hiveGETRANGE;
|
_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];
|
_newPlyr setVariable["COMMUNITY_STATS", _communityStats];
|
||||||
|
|
||||||
// re enable damage server side
|
// re enable damage server side
|
||||||
|
@ -13,16 +13,16 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_traders/EPOCH_server_loadTraders.sqf
|
||||||
*/
|
*/
|
||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[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]]]
|
//[[[end]]]
|
||||||
params [["_maxTraderLimit",0]];
|
params [["_maxTraderLimit",0]];
|
||||||
|
|
||||||
_staticTradersArray = +EPOCH_staticNPCTraderPos;
|
_staticTradersArray = +EPOCH_staticNPCTraderPos;
|
||||||
EPOCH_staticNPCTraderPos = nil;
|
EPOCH_staticNPCTraderPos = nil;
|
||||||
_staticTradersArray append getArray(configFile >> "CfgEpoch" >> worldName >> "staticNpcPos");
|
_config = (configFile >> "CfgEpoch" >> worldName);
|
||||||
|
_staticTradersArray append getArray(_config >> "staticNpcPos");
|
||||||
_staticTradersArrCount = count _staticTradersArray;
|
_staticTradersArrCount = count _staticTradersArray;
|
||||||
// TODO: configize
|
_aiTables = getArray(_config >> "traderUniforms");
|
||||||
_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"];
|
|
||||||
|
|
||||||
_serverSettingsConfig = configFile >> "CfgEpochServer";
|
_serverSettingsConfig = configFile >> "CfgEpochServer";
|
||||||
_storedVehicleLimit = [_serverSettingsConfig, "storedVehicleLimit", 20] call EPOCH_fnc_returnConfigEntry;
|
_storedVehicleLimit = [_serverSettingsConfig, "storedVehicleLimit", 20] call EPOCH_fnc_returnConfigEntry;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf
|
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_server/compile/epoch_vehicle/EPOCH_server_lockVehicle.sqf
|
||||||
*/
|
*/
|
||||||
//[[[cog import generate_private_arrays ]]]
|
//[[[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]]]
|
//[[[end]]]
|
||||||
params [
|
params [
|
||||||
["_vehicle",objNull,[objNull]],
|
["_vehicle",objNull,[objNull]],
|
||||||
@ -26,6 +26,8 @@ if (isNull _vehicle) exitWith {};
|
|||||||
if !([_player,_token] call EPOCH_server_getPToken) exitWith {};
|
if !([_player,_token] call EPOCH_server_getPToken) exitWith {};
|
||||||
if (_player distance _vehicle > 20) exitWith {};
|
if (_player distance _vehicle > 20) exitWith {};
|
||||||
|
|
||||||
|
_VehLockMessages = ['CfgEpochClient' call EPOCH_returnConfig, "VehLockMessages", true] call EPOCH_fnc_returnConfigEntry;
|
||||||
|
|
||||||
// Group access
|
// Group access
|
||||||
_playerUID = getPlayerUID _player;
|
_playerUID = getPlayerUID _player;
|
||||||
_playerGroup = _player getVariable["GROUP", ""];
|
_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 {
|
if ((_response select 0) == 1 && (_response select 1) isEqualType [] && !((_response select 1) isEqualTo[])) then {
|
||||||
_lockedOwner = _response select 1 select 0;
|
_lockedOwner = _response select 1 select 0;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_lockedOwner = _vehicle getvariable ["EPOCH_LockedOwner","-1"];
|
||||||
};
|
};
|
||||||
|
|
||||||
// get locked state
|
// get locked state
|
||||||
@ -57,6 +62,7 @@ _crew = [];
|
|||||||
};
|
};
|
||||||
} forEach (crew _vehicle);
|
} forEach (crew _vehicle);
|
||||||
|
|
||||||
|
|
||||||
// if vehicle has a crew and player is not inside vehicle only allow locking if already owner
|
// if vehicle has a crew and player is not inside vehicle only allow locking if already owner
|
||||||
_logic = if !(_crew isEqualTo []) then {
|
_logic = if !(_crew isEqualTo []) then {
|
||||||
if (_player in _crew) then {
|
if (_player in _crew) then {
|
||||||
@ -75,7 +81,12 @@ _logic = if !(_crew isEqualTo []) then {
|
|||||||
if (_logic) then {
|
if (_logic) then {
|
||||||
|
|
||||||
if (_value) then {
|
if (_value) then {
|
||||||
|
if !(_vehSlot isequalto "ABORT") then {
|
||||||
["VehicleLock", _vehLockHiveKey, EPOCH_vehicleLockTime, [_lockOwner]] call EPOCH_fnc_server_hiveSETEX;
|
["VehicleLock", _vehLockHiveKey, EPOCH_vehicleLockTime, [_lockOwner]] call EPOCH_fnc_server_hiveSETEX;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_vehicle setvariable ["EPOCH_LockedOwner",_lockOwner];
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
// re-allow damage (server-side) on first unlock
|
// re-allow damage (server-side) on first unlock
|
||||||
if (_vehicle getVariable ["EPOCH_disallowedDamage", false]) then {
|
if (_vehicle getVariable ["EPOCH_disallowedDamage", false]) then {
|
||||||
@ -90,4 +101,13 @@ if (_logic) then {
|
|||||||
} else {
|
} else {
|
||||||
[_vehicle, _value] remoteExec ['EPOCH_client_lockVehicle',_vehicle];
|
[_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];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -89,6 +89,7 @@ class CfgLootTable
|
|||||||
{ { "EngineBlock", "magazine" }, 10 },
|
{ { "EngineBlock", "magazine" }, 10 },
|
||||||
{ { "ItemGlass", "magazine" }, 15 },
|
{ { "ItemGlass", "magazine" }, 15 },
|
||||||
{ { "ItemDuctTape", "magazine" }, 20 },
|
{ { "ItemDuctTape", "magazine" }, 20 },
|
||||||
|
{ { "FuelTank", "magazine" }, 4 },
|
||||||
{ { "ItemRotor", "magazine" }, 5 }
|
{ { "ItemRotor", "magazine" }, 5 }
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -328,6 +329,7 @@ class CfgLootTable
|
|||||||
{ { "ItemSolar", "magazine" }, 5 },
|
{ { "ItemSolar", "magazine" }, 5 },
|
||||||
{ { "ItemBattery", "magazine" }, 5 },
|
{ { "ItemBattery", "magazine" }, 5 },
|
||||||
{ { "ItemCables", "magazine" }, 5 },
|
{ { "ItemCables", "magazine" }, 5 },
|
||||||
|
{ { "ItemPipe", "magazine" }, 5 },
|
||||||
{ { "ItemSafe", "magazine" }, 1 },
|
{ { "ItemSafe", "magazine" }, 1 },
|
||||||
{ { "ItemBarrelE", "magazine" }, 1 }
|
{ { "ItemBarrelE", "magazine" }, 1 }
|
||||||
|
|
||||||
|
@ -89,6 +89,7 @@ class CfgLootTable_CUP
|
|||||||
{ { "EngineBlock", "magazine" }, 10 },
|
{ { "EngineBlock", "magazine" }, 10 },
|
||||||
{ { "ItemGlass", "magazine" }, 15 },
|
{ { "ItemGlass", "magazine" }, 15 },
|
||||||
{ { "ItemDuctTape", "magazine" }, 20 },
|
{ { "ItemDuctTape", "magazine" }, 20 },
|
||||||
|
{ { "FuelTank", "magazine" }, 4 },
|
||||||
{ { "ItemRotor", "magazine" }, 5 }
|
{ { "ItemRotor", "magazine" }, 5 }
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -421,6 +422,7 @@ class CfgLootTable_CUP
|
|||||||
{ { "ItemSolar", "magazine" }, 5 },
|
{ { "ItemSolar", "magazine" }, 5 },
|
||||||
{ { "ItemBattery", "magazine" }, 5 },
|
{ { "ItemBattery", "magazine" }, 5 },
|
||||||
{ { "ItemCables", "magazine" }, 5 },
|
{ { "ItemCables", "magazine" }, 5 },
|
||||||
|
{ { "ItemPipe", "magazine" }, 5 },
|
||||||
{ { "ItemSafe", "magazine" }, 1 },
|
{ { "ItemSafe", "magazine" }, 1 },
|
||||||
{ { "ItemBarrelE", "magazine" }, 1 }
|
{ { "ItemBarrelE", "magazine" }, 1 }
|
||||||
};
|
};
|
||||||
|
@ -89,6 +89,7 @@ class CfgLootTable_MAD
|
|||||||
{ { "EngineBlock", "magazine" }, 10 },
|
{ { "EngineBlock", "magazine" }, 10 },
|
||||||
{ { "ItemGlass", "magazine" }, 15 },
|
{ { "ItemGlass", "magazine" }, 15 },
|
||||||
{ { "ItemDuctTape", "magazine" }, 20 },
|
{ { "ItemDuctTape", "magazine" }, 20 },
|
||||||
|
{ { "FuelTank", "magazine" }, 4 },
|
||||||
{ { "ItemRotor", "magazine" }, 5 }
|
{ { "ItemRotor", "magazine" }, 5 }
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -326,6 +327,7 @@ class CfgLootTable_MAD
|
|||||||
{ { "ItemSolar", "magazine" }, 5 },
|
{ { "ItemSolar", "magazine" }, 5 },
|
||||||
{ { "ItemBattery", "magazine" }, 5 },
|
{ { "ItemBattery", "magazine" }, 5 },
|
||||||
{ { "ItemCables", "magazine" }, 5 },
|
{ { "ItemCables", "magazine" }, 5 },
|
||||||
|
{ { "ItemPipe", "magazine" }, 5 },
|
||||||
{ { "ItemSafe", "magazine" }, 1 },
|
{ { "ItemSafe", "magazine" }, 1 },
|
||||||
{ { "ItemBarrelE", "magazine" }, 1 }
|
{ { "ItemBarrelE", "magazine" }, 1 }
|
||||||
|
|
||||||
|
@ -89,6 +89,7 @@ class CfgLootTable_MADCUP
|
|||||||
{ { "EngineBlock", "magazine" }, 10 },
|
{ { "EngineBlock", "magazine" }, 10 },
|
||||||
{ { "ItemGlass", "magazine" }, 15 },
|
{ { "ItemGlass", "magazine" }, 15 },
|
||||||
{ { "ItemDuctTape", "magazine" }, 20 },
|
{ { "ItemDuctTape", "magazine" }, 20 },
|
||||||
|
{ { "FuelTank", "magazine" }, 4 },
|
||||||
{ { "ItemRotor", "magazine" }, 5 }
|
{ { "ItemRotor", "magazine" }, 5 }
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -421,6 +422,7 @@ class CfgLootTable_MADCUP
|
|||||||
{ { "ItemSolar", "magazine" }, 5 },
|
{ { "ItemSolar", "magazine" }, 5 },
|
||||||
{ { "ItemBattery", "magazine" }, 5 },
|
{ { "ItemBattery", "magazine" }, 5 },
|
||||||
{ { "ItemCables", "magazine" }, 5 },
|
{ { "ItemCables", "magazine" }, 5 },
|
||||||
|
{ { "ItemPipe", "magazine" }, 5 },
|
||||||
{ { "ItemSafe", "magazine" }, 1 },
|
{ { "ItemSafe", "magazine" }, 1 },
|
||||||
{ { "ItemBarrelE", "magazine" }, 1 }
|
{ { "ItemBarrelE", "magazine" }, 1 }
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user