Files
DayZ-Epoch/SQF/dayz_code/actions/veh_seatActions.sqf
icomrade e54b9983dd Replace forEach with Count
Use count where you do not need _forEachIndex variable, it's quicker
than forEach.
2014-05-27 15:37:57 -04:00

40 lines
1.3 KiB
Plaintext

/*
Created exclusively for ArmA2:OA - DayZMod && DayZ Epoch. Script by icomrade.
permission is required to use, alter &&/|| distribute from the author || project leader.
*/
private ["_array","_count","_action","_driver","_vehicle","_vehicleType","_emptySeat","_emptyGun"];
_array = _this select 3;
_action = _array select 0;
_driver = _array select 1;
_vehicle = vehicle player;
_vehicleType = typeOf _vehicle;
_emptySeat = count (assignedCargo _vehicle);
_count = count (configFile >> "CfgVehicles" >> _vehicleType >> "Turrets");
_emptyGun = ((_vehicle emptyPositions "Gunner") - _count);
switch _action do {
case "MoveToPilot": {
if (((_vehicle emptyPositions "Driver") == 0) && (!alive _driver)) then {
_driver action ["EJECT", _vehicle];
sleep 0.5; //wait for ejection
};
if ((_vehicle emptyPositions "Driver") > 0) then {
player action [_action, _vehicle];
};
};
case "MoveToCargo": {
if ((_vehicle emptyPositions "Cargo") > 0) then {
player action [_action, _vehicle, _emptySeat];
};
};
case "MoveToTurret": {
if ((_vehicle emptyPositions "Gunner") > 0) then {
player action [_action, _vehicle, [abs(_emptyGun)]];
};
};
case "MoveToCommander": {
if ((_vehicle emptyPositions "Commander") > 0) then {
player action [_action, _vehicle];
};
};
};