-
Notifications
You must be signed in to change notification settings - Fork 749
Expand file tree
/
Copy pathfnc_canSit.sqf
More file actions
30 lines (28 loc) · 864 Bytes
/
fnc_canSit.sqf
File metadata and controls
30 lines (28 loc) · 864 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "..\script_component.hpp"
/*
* Author: Jonpas, vabene1111
* Check if the player can sit down.
*
* Arguments:
* 0: Seat <OBJECT>
* 1: Player <OBJECT>
* 2: Seat Position <NUMBER> (default: 0)
*
* Return Value:
* Can Sit Down <BOOL>
*
* Example:
* [cursorObject, player] call ace_sitting_fnc_canSit
*
* Public: No
*/
params ["_seat", "_player", ["_seatPos", 0]];
// Sitting enabled, not occupied and standing up (or not on a big slope)
XGVAR(enable) &&
{[_player, _seat, []] call EFUNC(common,canInteractWith)} &&
{isNil {_player getVariable QGVAR(sittingStatus)}} &&
{
private _seatsClaimed = _seat getVariable [QGVAR(seatsClaimed), []];
_seatsClaimed isEqualTo [] || {!(_seatsClaimed select _seatPos)}
} &&
{round (vectorUp _seat select 0) == 0 && {round (vectorUp _seat select 1) == 0} && {round (vectorUp _seat select 2) == 1}}