mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
Make temp Vehicles Lockable + Lock hints
This commit is contained in:
parent
cdf9779b04
commit
056f3a0cb0
@ -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",
|
||||||
|
@ -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 {
|
||||||
["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 {
|
} 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];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user