mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
- self designate capabilities read from config
- add designator on/off actions to the interact_menu
This commit is contained in:
parent
63ac3bb768
commit
c82cef1b28
@ -10,18 +10,10 @@ class Extended_PostInit_EventHandlers {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Extended_GetIn_EventHandlers {
|
class Extended_Init_EventHandlers {
|
||||||
class B_Heli_Attack_01_F {
|
class Helicopter {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
clientGetIn = QUOTE(_this call FUNC(onGetIn));
|
init = QUOTE(_this call DFUNC(initDesignatorActions));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Extended_GetOut_EventHandlers {
|
|
||||||
class B_Heli_Attack_01_F {
|
|
||||||
class ADDON {
|
|
||||||
clientGetOut = QUOTE(_this call FUNC(onGetOut));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,12 +1,11 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
PREP(onGetIn);
|
PREP(initDesignatorActions);
|
||||||
PREP(onGetOut);
|
|
||||||
|
|
||||||
PREP(laserHudDesignateOn);
|
PREP(laserHudDesignateOn);
|
||||||
PREP(laserHudDesignateOff);
|
PREP(laserHudDesignateOff);
|
||||||
|
PREP(unitTurretHasDesignator);
|
||||||
|
|
||||||
GVAR(laser) = nil;
|
GVAR(laser) = nil;
|
||||||
GVAR(laserActive) = false;
|
GVAR(laserActive) = false;
|
||||||
|
|
||||||
FUNC(getPosASL) = {visiblePositionASL (_this select 0)};
|
FUNC(getPosASL) = {visiblePositionASL (_this select 0)};
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_main", "ace_laser"};
|
requiredAddons[] = {"ace_interaction", "ace_laser"};
|
||||||
version = VERSION;
|
version = VERSION;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Author: esteldunedain
|
||||||
|
* Initializes the actions for turning on/off the laser for vehicles that have them
|
||||||
|
*
|
||||||
|
* Argument:
|
||||||
|
* 0: Vehicle <OBJECT>
|
||||||
|
*
|
||||||
|
* Return value:
|
||||||
|
* NONE.
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
EXPLODE_1_PVT(_this,_vehicle);
|
||||||
|
|
||||||
|
{
|
||||||
|
private ["_turretConfig","_onAction","_offAction"];
|
||||||
|
_turretConfig = [configFile >> "CfgVehicles" >> typeOf _vehicle, _x] call EFUNC(common,getTurretConfigPath);
|
||||||
|
|
||||||
|
if (getNumber (_turretConfig >> QGVAR(Enabled)) == 1) exitWith {
|
||||||
|
// @todo: Add the state variables to the vehicle, instead of to the client
|
||||||
|
// e.g.: _vehicle setVariable [format ["%1_%2", QGVAR(laserActive), _x], false];
|
||||||
|
|
||||||
|
// Add actions
|
||||||
|
_onAction = [QGVAR(LaserOn), localize "STR_ACE_Laser_SelfDesignate_DesignatorOn", "",
|
||||||
|
{
|
||||||
|
// Statement
|
||||||
|
_this call FUNC(laserHudDesignateOn)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Condition
|
||||||
|
!GVAR(laserActive) && {[ACE_player] call FUNC(unitTurretHasDesignator)}
|
||||||
|
}] call EFUNC(interact_menu,createAction);
|
||||||
|
|
||||||
|
_offAction = [QGVAR(LaserOff), localize "STR_ACE_Laser_SelfDesignate_DesignatorOff", "",
|
||||||
|
{
|
||||||
|
// Statement
|
||||||
|
_this call FUNC(laserHudDesignateOff)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Condition
|
||||||
|
GVAR(laserActive) && {[ACE_player] call FUNC(unitTurretHasDesignator)}
|
||||||
|
}] call EFUNC(interact_menu,createAction);
|
||||||
|
|
||||||
|
[typeOf _vehicle, 1, ["ACE_SelfActions"], _onAction] call EFUNC(interact_menu,addActionToClass);
|
||||||
|
[typeOf _vehicle, 1, ["ACE_SelfActions"], _offAction] call EFUNC(interact_menu,addActionToClass);
|
||||||
|
};
|
||||||
|
} forEach allTurrets _vehicle;
|
@ -1,13 +0,0 @@
|
|||||||
//#define DEBUG_MODE_FULL
|
|
||||||
#include "script_component.hpp"
|
|
||||||
// TODO: we should do this differently eventually
|
|
||||||
private["_onActionId", "_offActionId"];
|
|
||||||
TRACE_1("ENTER", _this);
|
|
||||||
|
|
||||||
// TODO: THIS SHOULD NOT BE ACTIONS EVENTUALLY
|
|
||||||
|
|
||||||
_onActionId = player addAction ["Laser Designator On", { _this call FUNC(laserHudDesignateOn) }, [], 1, false, false, "", QUOTE( (gunner (vehicle player)) == player && !GVAR(laserActive))];
|
|
||||||
player setVariable[QGVAR(onActionId), _onActionId, false];
|
|
||||||
|
|
||||||
_offActionId = player addAction ["Laser Designator Off", { _this call FUNC(laserHudDesignateOff) }, [], 1, false, false, "", QUOTE( (gunner (vehicle player)) == player && GVAR(laserActive))];
|
|
||||||
player setVariable[QGVAR(offActionId), _offActionId, false];
|
|
@ -1,10 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
_onActionId = player getVariable[QGVAR(onActionId), -1];
|
|
||||||
_offActionId = player getVariable[QGVAR(offActionId), -1];
|
|
||||||
|
|
||||||
player removeAction _onActionId;
|
|
||||||
player removeAction _offActionId;
|
|
||||||
|
|
||||||
player setVariable[QGVAR(onActionId), -1, false];
|
|
||||||
player setVariable[QGVAR(offActionId), -1, false];
|
|
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Author: esteldunedain
|
||||||
|
* Checks if the turret occupied by the given unit has a laser designator
|
||||||
|
*
|
||||||
|
* Argument:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
*
|
||||||
|
* Return value:
|
||||||
|
* Has designator? <BOOL>
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
EXPLODE_1_PVT(_this,_unit);
|
||||||
|
|
||||||
|
// Get the player turret path
|
||||||
|
private ["_turret","_config","_turretConfig"];
|
||||||
|
_turret = [_unit] call EFUNC(common,getTurretIndex);
|
||||||
|
_config = configFile >> "CfgVehicles" >> typeOf vehicle _unit;
|
||||||
|
_turretConfig = [_config, _turret] call EFUNC(common,getTurretConfigPath);
|
||||||
|
|
||||||
|
getNumber (_turretConfig >> QGVAR(Enabled)) > 0
|
12
addons/laser_selfdesignate/stringtable.xml
Normal file
12
addons/laser_selfdesignate/stringtable.xml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Edited with tabler - 2015-04-03 -->
|
||||||
|
<Project name="ACE">
|
||||||
|
<Package name="Laser_SelfDesignate">
|
||||||
|
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOn">
|
||||||
|
<English>Laser<br/>Designator On</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOff">
|
||||||
|
<English>Laser<br/>Designator Off</English>
|
||||||
|
</Key>
|
||||||
|
</Package>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue
Block a user