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.
|
||||
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",
|
||||
|
@ -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 {
|
||||
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];
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user