Advertisement
Guest User

Untitled

a guest
Jun 25th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.55 KB | None | 0 0
  1. #include "..\..\script_macros.hpp"
  2. /*
  3. File: fn_vInteractionMenu.sqf
  4. Author: Bryan "Tonic" Boardwine
  5. */
  6. #define Btn1 37450
  7. #define Btn2 37451
  8. #define Btn3 37452
  9. #define Btn4 37453
  10. #define Btn5 37454
  11. #define Btn6 37455
  12. #define Btn7 37456
  13. #define Btn8 37457
  14. #define Btn9 37458
  15. #define Title 37401
  16. private["_display","_curTarget","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_Btn7","_Btn8","_Btn9"];
  17. if(!dialog) then {
  18. createDialog "vInteraction_Menu";
  19. };
  20. disableSerialization;
  21. _curTarget = param [0,objNull,[objNull]];
  22. if(isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
  23. _isVehicle = if((_curTarget isKindOf "landVehicle") OR (_curTarget isKindOf "Ship") OR (_curTarget isKindOf "Air")) then {true} else {false};
  24. if(!_isVehicle) exitWith {closeDialog 0;};
  25. _display = findDisplay 37400;
  26. _Btn1 = _display displayCtrl Btn1;
  27. _Btn2 = _display displayCtrl Btn2;
  28. _Btn3 = _display displayCtrl Btn3;
  29. _Btn4 = _display displayCtrl Btn4;
  30. _Btn5 = _display displayCtrl Btn5;
  31. _Btn6 = _display displayCtrl Btn6;
  32. _Btn7 = _display displayCtrl Btn7;
  33. _Btn8 = _display displayCtrl Btn8;
  34. _Btn9 = _display displayCtrl Btn9;
  35. life_vInact_curTarget = _curTarget;
  36.  
  37. //Set Repair Action
  38. _Btn1 ctrlSetText localize "STR_vInAct_Repair";
  39. _Btn1 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_repairTruck; closeDialog 0;";
  40.  
  41. if ((life_inv_toolkit >= 1) && {alive life_vInact_curTarget} && {([life_vInact_curTarget] call life_fnc_isDamaged)}) then {_Btn1 ctrlEnable true;} else {_Btn1 ctrlEnable false;};
  42.  
  43. switch(playerSide) do
  44. {
  45. case west:
  46. {
  47. _Btn2 ctrlSetText localize "STR_vInAct_Registration";
  48. _Btn2 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_searchVehAction;";
  49.  
  50. _Btn3 ctrlSetText localize "STR_vInAct_SearchVehicle";
  51. _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_vehInvSearch;";
  52.  
  53. _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
  54. _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction;";
  55. if(count crew _curTarget == 0) then {_Btn4 ctrlEnable false;};
  56.  
  57. _Btn5 ctrlSetText localize "STR_vInAct_Impound";
  58. _Btn5 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
  59.  
  60. if(_curTarget isKindOf "Ship") then {
  61. _Btn6 ctrlSetText localize "STR_vInAct_PushBoat";
  62. _Btn6 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
  63. if(_curTarget isKindOf "Ship" && {local _curTarget} && {count crew _curTarget == 0}) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
  64. } else {
  65. if(typeOf (_curTarget) in ["C_Kart_01_Blu_F","C_Kart_01_Red_F","C_Kart_01_Fuel_F","C_Kart_01_Vrana_F","O_Heli_Transport_04_box_F","O_Heli_Transport_04_covered_F","O_Heli_Transport_04_bench_F","O_Heli_Transport_04_medevac_F","B_Heli_Transport_03_unarmed_F","B_Heli_Transport_03_unarmed_green_F"]) then {
  66. _Btn6 ctrlSetText localize "STR_vInAct_GetInKart";
  67. _Btn6 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
  68. if(count crew _curTarget == 0 && {canMove _curTarget} && {locked _curTarget == 0}) then {_Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false};
  69. } else {
  70. _Btn6 ctrlSetText localize "STR_vInAct_Unflip";
  71. _Btn6 buttonSetAction "[] spawn {hint ""Stand back! The vehicle will unflip in 5 seconds!""; uiSleep (5); life_vInact_curTarget setVectorUp [0,0,1]; life_vInact_curTarget setPosASL [getPosASL life_vInact_curTarget select 0, getPosASL life_vInact_curTarget select 1 , getTerrainHeightASL (getPos life_vInact_curTarget) + 0.75];}; closeDialog 0;";
  72. if(count crew _curTarget == 0) then { _Btn6 ctrlEnable true;} else {_Btn6 ctrlEnable false;};
  73. };
  74. };
  75. };
  76. case civilian:
  77. {
  78. if(_curTarget isKindOf "Ship") then
  79. {
  80. _Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
  81. _Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
  82. if(_curTarget isKindOf "Ship" && {local _curTarget} && {count crew _curTarget == 0}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
  83. }
  84. else
  85. {
  86. if(typeOf (_curTarget) in ["C_Kart_01_Blu_F","C_Kart_01_Red_F","C_Kart_01_Fuel_F","C_Kart_01_Vrana_F","O_Heli_Transport_04_box_F","O_Heli_Transport_04_covered_F","O_Heli_Transport_04_bench_F","O_Heli_Transport_04_medevac_F","B_Heli_Transport_03_unarmed_F","B_Heli_Transport_03_unarmed_green_F"]) then {
  87. _Btn2 ctrlSetText localize "STR_vInAct_GetInKart";
  88. _Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
  89. if(count crew _curTarget == 0 && {canMove _curTarget} && {locked _curTarget == 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
  90. } else {
  91. _Btn2 ctrlSetText localize "STR_vInAct_Unflip";
  92. _Btn2 buttonSetAction "[] spawn {hint ""Stand back! The vehicle will unflip in 5 seconds!""; uiSleep (5); life_vInact_curTarget setVectorUp [0,0,1]; life_vInact_curTarget setPosASL [getPosASL life_vInact_curTarget select 0, getPosASL life_vInact_curTarget select 1 , getTerrainHeightASL (getPos life_vInact_curTarget) + 0.75];}; closeDialog 0;";
  93. if(count crew _curTarget == 0) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false;};
  94. };
  95. };
  96.  
  97. if(typeOf _curTarget == "O_Truck_03_device_F") then
  98. {
  99. _Btn3 ctrlSetText localize "STR_vInAct_DeviceMine";
  100. _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_deviceMine";
  101. if(!isNil {(_curTarget getVariable "mining")} OR !local _curTarget && {_curTarget in life_vehicles}) then {
  102. _Btn3 ctrlEnable false;
  103. } else {
  104. _Btn3 ctrlEnable true;
  105. };
  106. }
  107. else
  108. {
  109. if(license_civ_rebel) then
  110. {
  111. _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
  112. _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction;";
  113. };
  114. };
  115. };
  116. case independent:
  117. {
  118. if(_curTarget isKindOf "Ship") then
  119. {
  120. _Btn2 ctrlSetText localize "STR_vInAct_PushBoat";
  121. _Btn2 buttonSetAction "[] spawn life_fnc_pushObject; closeDialog 0;";
  122. if(_curTarget isKindOf "Ship" && {local _curTarget} && {count crew _curTarget == 0}) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
  123. }
  124. else
  125. {
  126. if(typeOf (_curTarget) in ["C_Kart_01_Blu_F","C_Kart_01_Red_F","C_Kart_01_Fuel_F","C_Kart_01_Vrana_F","O_Heli_Transport_04_box_F","O_Heli_Transport_04_covered_F","O_Heli_Transport_04_bench_F","O_Heli_Transport_04_medevac_F","B_Heli_Transport_03_unarmed_F","B_Heli_Transport_03_unarmed_green_F"]) then {
  127. _Btn2 ctrlSetText localize "STR_vInAct_GetInKart";
  128. _Btn2 buttonSetAction "player moveInDriver life_vInact_curTarget; closeDialog 0;";
  129. if(count crew _curTarget == 0 && {canMove _curTarget} && {locked _curTarget == 0}) then {_Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false};
  130. } else {
  131. _Btn2 ctrlSetText localize "STR_vInAct_Unflip";
  132. _Btn2 buttonSetAction "[] spawn {hint ""Stand back! The vehicle will unflip in 5 seconds!""; uiSleep (5); life_vInact_curTarget setVectorUp [0,0,1]; life_vInact_curTarget setPosASL [getPosASL life_vInact_curTarget select 0, getPosASL life_vInact_curTarget select 1 , getTerrainHeightASL (getPos life_vInact_curTarget) + 0.75];}; closeDialog 0;";
  133. if(count crew _curTarget == 0) then { _Btn2 ctrlEnable true;} else {_Btn2 ctrlEnable false;};
  134. };
  135. };
  136. _Btn3 ctrlSetText localize "STR_vInAct_Impound";
  137. _Btn3 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_impoundAction; closeDialog 0;";
  138.  
  139. _Btn4 ctrlSetText localize "STR_vInAct_PullOut";
  140. _Btn4 buttonSetAction "[life_vInact_curTarget] spawn life_fnc_pulloutAction;";
  141. if(count crew _curTarget == 0) then {_Btn4 ctrlEnable false;};
  142. _Btn6 ctrlShow false;
  143. _Btn7 ctrlShow false;
  144. _Btn8 ctrlShow false;
  145. _Btn9 ctrlShow false;
  146. };
  147. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement