nightvision.sqf 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "\a3\editor_f\Data\Scripts\dikCodes.h"
  2. #include "../config_macros.hpp"
  3. RD501_isNV = false;
  4. RD501_NV_on = false;
  5. //handle loadout changed
  6. macro_grp_fnc_name(nightvision,handle_change) = {
  7. params["_unit", "_loadout"];
  8. systemChat "changed";
  9. _nv_gear = _loadout select 9 select 5;
  10. systemChat str _nv_gear;
  11. RD501_isNV = (configFile >> "cfgWeapons" >> _nv_gear >> "RD501_isNV") call BIS_fnc_getCfgDataBool;
  12. systemChat str RD501_isNV;
  13. if (!RD501_isNV) then {
  14. call macro_grp_fnc_name(nightvision,switch_off);
  15. };
  16. };
  17. //switch nightvision on
  18. macro_grp_fnc_name(nightvision,switch_on) = {
  19. setApertureNew [1, 1.5, 2, 1];
  20. RD501_NV_on = true;
  21. };
  22. //switch nightvision off
  23. macro_grp_fnc_name(nightvision,switch_off) = {
  24. setAperture -1;
  25. RD501_NV_on = false;
  26. };
  27. //handle button press
  28. macro_grp_fnc_name(nightvision,handle_switch) = {
  29. systemChat "switched";
  30. systemChat str RD501_isNV;
  31. if (RD501_isNV && !RD501_NV_on) then {
  32. call macro_grp_fnc_name(nightvision,switch_on);
  33. } else {
  34. call macro_grp_fnc_name(nightvision,switch_off);
  35. };
  36. };
  37. systemChat "adding event handlers";
  38. //add eventhandler
  39. ["loadout", macro_grp_fnc_name(nightvision,handle_change)] call CBA_fnc_addPlayerEventHandler;
  40. //add keybinds
  41. ["RD501 Nightvision Mod","Cycle",["Cycle","Press to Cycle"],{
  42. [player] call macro_grp_fnc_name(nightvision,handle_switch);
  43. },"",[DIK_N,[false,true,false]],false] call cba_fnc_addKeybind;