Advertisement
Guest User

Interaction Menu

a guest
Apr 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. #include "..\..\script_macros.hpp"
  2. /*
  3. File: fn_copInteractionMenu.sqf
  4. Author: Bryan "Tonic" Boardwine
  5.  
  6. Description:
  7. Replaces the mass addactions for various cop actions towards another player.
  8. */
  9. #define Btn1 37450
  10. #define Btn2 37451
  11. #define Btn3 37452
  12. #define Btn4 37453
  13. #define Btn5 37454
  14. #define Btn6 37455
  15. #define Btn7 37456
  16. #define Btn8 37457
  17. #define Btn9 37458
  18. #define Title 37401
  19.  
  20. private ["_display","_curTarget","_seizeRank","_Btn1","_Btn2","_Btn3","_Btn4","_Btn5","_Btn6","_Btn7","_Btn8"];
  21.  
  22. disableSerialization;
  23. _curTarget = param [0,objNull,[objNull]];
  24. _seizeRank = LIFE_SETTINGS(getNumber,"seize_minimum_rank");
  25.  
  26. if (player getVariable ["Escorting", false]) then {
  27. if (isNull _curTarget) exitWith {closeDialog 0;}; //Bad target
  28. if (!isPlayer _curTarget && side _curTarget isEqualTo civilian) exitWith {closeDialog 0;}; //Bad side check?
  29. if (player distance _curTarget > 4 ) exitWith {closeDialog 0;}; // Prevents menu accessing from far distances.
  30. };
  31.  
  32. if (!dialog) then {
  33. createDialog "pInteraction_Menu";
  34. };
  35.  
  36. _display = findDisplay 37400;
  37. _Btn1 = _display displayCtrl Btn1;
  38. _Btn2 = _display displayCtrl Btn2;
  39. _Btn3 = _display displayCtrl Btn3;
  40. _Btn4 = _display displayCtrl Btn4;
  41. _Btn5 = _display displayCtrl Btn5;
  42. _Btn6 = _display displayCtrl Btn6;
  43. _Btn7 = _display displayCtrl Btn7;
  44. _Btn8 = _display displayCtrl Btn8;
  45. _Btn9 = _display displayCtrl Btn9;
  46. switch (playerSide) do {
  47. case west: {
  48. if (player getVariable ["isEscorting",false]) then {
  49. { _x ctrlShow false; } forEach [_Btn1,_Btn2,_Btn3,_Btn5,_Btn6,_Btn7,_Btn8];
  50. };
  51.  
  52. //Set Unrestrain Button
  53. _Btn1 ctrlSetText localize "STR_pInAct_Unrestrain";
  54. _Btn1 buttonSetAction "[life_pInact_curTarget] call life_fnc_unrestrain; closeDialog 0;";
  55.  
  56. //Set Check Licenses Button
  57. _Btn2 ctrlSetText localize "STR_pInAct_checkLicenses";
  58. _Btn2 buttonSetAction "[player] remoteExecCall [""life_fnc_licenseCheck"",life_pInact_curTarget]; closeDialog 0;";
  59.  
  60. //Set Search Button
  61. _Btn3 ctrlSetText localize "STR_pInAct_SearchPlayer";
  62. _Btn3 buttonSetAction "[life_pInact_curTarget] spawn life_fnc_searchAction; closeDialog 0;";
  63.  
  64. //Set Escort Button
  65. if (player getVariable ["isEscorting",false]) then {
  66. _Btn4 ctrlSetText localize "STR_pInAct_StopEscort";
  67. _Btn4 buttonSetAction "[] call life_fnc_stopEscorting; closeDialog 0;";
  68. } else {
  69. _Btn4 ctrlSetText localize "STR_pInAct_Escort";
  70. _Btn4 buttonSetAction "[life_pInact_curTarget] call life_fnc_escortAction; closeDialog 0;";
  71. };
  72.  
  73. //Set Ticket Button
  74. _Btn5 ctrlSetText localize "STR_pInAct_TicketBtn";
  75. _Btn5 buttonSetAction "[life_pInact_curTarget] call life_fnc_ticketAction;";
  76.  
  77. _Btn6 ctrlSetText localize "STR_pInAct_Arrest";
  78. _Btn6 buttonSetAction "[life_pInact_curTarget] call life_fnc_arrestAction; closeDialog 0;";
  79. _Btn6 ctrlEnable false;
  80.  
  81. _Btn7 ctrlSetText localize "STR_pInAct_PutInCar";
  82. _Btn7 buttonSetAction "[life_pInact_curTarget] call life_fnc_putInCar; closeDialog 0;";
  83.  
  84. //SeizeWeapons Button
  85. _Btn8 ctrlSetText localize "STR_pInAct_Seize";
  86. _Btn8 buttonSetAction "[life_pInact_curTarget] spawn life_fnc_seizePlayerAction; closeDialog 0;";
  87.  
  88. if (FETCH_CONST(life_coplevel) < _seizeRank) then {_Btn8 ctrlEnable false;};
  89.  
  90. {
  91. if ((player distance (getMarkerPos _x) <30)) exitWith { _Btn6 ctrlEnable true;};
  92. } forEach LIFE_SETTINGS(getArray,"sendtoJail_locations");
  93. };
  94.  
  95. case civilian: {
  96. if (player getVariable ["isEscorting",false]) then {
  97. { _x ctrlShow false; } forEach [_Btn1,_Btn2,_Btn4,_Btn5,_Btn6];
  98. };
  99.  
  100. if (player getVariable ["isEscorting",false]) then {
  101. _Btn3 ctrlSetText localize "STR_pInAct_StopEscort";
  102. _Btn3 buttonSetAction "[] call life_fnc_stopEscorting; closeDialog 0;";
  103. } else {
  104. _Btn3 ctrlSetText localize "STR_pInAct_Escort";
  105. _Btn3 buttonSetAction "[life_pInact_curTarget] call life_fnc_escortAction; closeDialog 0;";
  106. };
  107.  
  108. _Btn4 ctrlSetText localize "STR_pInAct_PutInCar";
  109. _Btn4 buttonSetAction "[life_pInact_curTarget] call life_fnc_putInCar;";
  110.  
  111. //SeizeWeapons Button
  112. _Btn5 ctrlSetText localize "STR_pInAct_Seize";
  113. _Btn5 buttonSetAction "[life_pInact_curTarget] spawn life_fnc_seizePlayerAction; closeDialog 0;";
  114.  
  115. if ((_curTarget getVariable ["blindfolded", false])) then {
  116. _Btn2 ctrlSetText "Remove blindfold";
  117. _Btn2 buttonSetAction "[] call life_fnc_untieb; closeDialog 0;";
  118. } else {
  119. _Btn2 ctrlSetText "Blindfold Person";
  120. _Btn2 buttonSetAction "[] call life_fnc_tieingActionb; closeDialog 0;";
  121. };
  122.  
  123. if ((_curTarget getVariable ["gagged", false])) then {
  124. _Btn6 ctrlSetText "Remove Gag";
  125. _Btn6 buttonSetAction "[] call life_fnc_removeGagAction; closeDialog 0;";
  126. } else {
  127. _Btn6 ctrlSetText "Gag Person";
  128. _Btn6 buttonSetAction "[] call life_fnc_gagAction; closeDialog 0;";
  129. };
  130.  
  131. if (!(_curTarget getVariable ["tied", false])) then {
  132. _Btn1 ctrlSetText "Ziptie Person";
  133. _Btn1 buttonSetAction "[] call life_fnc_tieingAction; closeDialog 0;";
  134. _Btn2 ctrlEnable false;
  135. _Btn3 ctrlEnable false;
  136. _Btn4 ctrlEnable false;
  137. _Btn5 ctrlEnable false;
  138. _Btn6 ctrlEnable false;
  139. } else {
  140. _Btn1 ctrlSetText "Remove Zipties";
  141. _Btn1 buttonSetAction "[] call life_fnc_untie; closeDialog 0;";
  142. };
  143.  
  144. if (player getVariable ["isEscorting",false]) then {
  145. { _x ctrlShow false; } forEach [_Btn1,_Btn2,_Btn4,_Btn5,_Btn6];
  146. _Btn3 ctrlEnable true;
  147. };
  148.  
  149. _Btn7 ctrlShow false;
  150. _Btn8 ctrlShow false;
  151. };
  152. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement