Advertisement
Guest User

Untitled

a guest
Jan 10th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 71.60 KB | None | 0 0
  1. comment "ton of stuff removed, partly because not finished partly because i feel they would make non dedicated servers very annoying";
  2. comment "exploits removed for obvious reasons";
  3. comment "pretty shit scripting, just made for messing around in nmds with";
  4. comment "hf //potati";
  5.  
  6.  
  7. comment "First time executing check";
  8.  
  9. if (isNil "isNotFirstTime") then {
  10. _openMenu = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 61) then {[] spawn p_mainGUI}"];
  11. player setVariable ["lastSelection", "Local"];
  12. isNotFirstTime = true;
  13.  
  14. logList = [
  15. "Logs"
  16. ];
  17. logListData = [
  18. "If stuff isn't appearing here then it's prob because ur not log whitelisted"
  19. ];
  20. };
  21.  
  22.  
  23.  
  24. valuesLB = [
  25. ["--Values--", "invalid"],
  26. ["Set amount of recoil", "setUnitRecoilCoefficient"],
  27. ["Set amount of sway", "setCustomAimCoef"],
  28. ["Set speed", "setAnimSpeedCoef"],
  29. ["Set amount of fatigue", "setFatigue"],
  30. ["--Bools--", "invalid"],
  31. ["Enable stamina", "enableStamina"],
  32. ["Allow damage", "allowDamage"],
  33. ["Enable fatigue", "enableFatigue"],
  34. ["--Misc--", "invalid"],
  35. ["Clear respawn EHs", "clearRespawnEH"]
  36. ];
  37.  
  38.  
  39.  
  40. p_mainGUI = {
  41. player setVariable ["subOpen", "none"];
  42. display = findDisplay 46 createDisplay "RscDisplayEmpty";
  43.  
  44. _title = display ctrlCreate ["RscStructuredText", 100];
  45. _title ctrlSetStructuredText parseText "<t shadow='2' font='PuristaLight' color='#ff0000'>Potatimenu v5 - WIP tons of stuff removed</t>";
  46. _title ctrlSetPosition [safezoneX,safezoneY,(safezoneW * 0.1),(safezoneH * 0.05)];
  47. _title ctrlCommit 0;
  48.  
  49. _bgTop = display ctrlCreate ["RscBackground", 101];
  50. _bgTop ctrlSetPosition [safeZoneX - (safezoneW * 0.1),(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  51. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  52. _bgTop ctrlCommit 0;
  53. _bgTop ctrlSetPosition [safeZoneX,(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  54. _bgTop ctrlCommit 1;
  55.  
  56. _bgMid = display ctrlCreate ["RscBackground", 102];
  57. _bgMid ctrlSetPosition [safeZoneX - (safezoneW * 0.1),(safezoneY + 0.225 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.55)];
  58. _bgMid ctrlSetBackgroundColor [0,0,0,0.7];
  59. _bgMid ctrlCommit 0;
  60. _bgMid ctrlSetPosition [safeZoneX,(safezoneY + 0.225 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.55)];
  61. _bgMid ctrlCommit 1;
  62.  
  63. _bgBot = display ctrlCreate ["RscBackground", 103];
  64. _bgBot ctrlSetPosition [safeZoneX - (safezoneW * 0.1),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  65. _bgBot ctrlSetBackgroundColor [1,0,0,0.7];
  66. _bgBot ctrlCommit 0;
  67. _bgBot ctrlSetPosition [safeZoneX,(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  68. _bgBot ctrlCommit 1;
  69.  
  70. _targetSelectorMode = player getVariable "lastSelection";
  71. _checkPlayerSelector = player getVariable "isPlayerSelectionOpened";
  72.  
  73. _targetSelector = display ctrlCreate ["RscButtonTextOnly", 104];
  74. _targetSelector ctrlSetPosition [safeZoneX - (safezoneW * 0.1),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  75. _targetSelector ctrlSetFont "PuristaLight";
  76. _targetSelector ctrlSetTooltip "Changes who to target when applicable";
  77. _targetSelector ctrlSetEventHandler ["MouseButtonUp","[] spawn p_targetSwapper"];
  78. _targetSelector ctrlCommit 0;
  79. _targetSelector ctrlSetPosition [safeZoneX,(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  80. _targetSelector ctrlCommit 1;
  81.  
  82. switch (_targetSelectorMode) do {
  83. case "Local": {
  84. _targetSelector ctrlSetText "Local";
  85. };
  86.  
  87. case "Target": {
  88. _targetSelector ctrlSetText "Target";
  89.  
  90. [] spawn p_createPlayerSelectorBtn;
  91. [] spawn p_createPlayerDisplayerBtn;
  92.  
  93. if (_checkPlayerSelector == 1) then {
  94. [] spawn p_createPlayerSelector;
  95. };
  96. };
  97.  
  98. case "notTarget": {
  99. _targetSelector ctrlSetText "notTarget";
  100.  
  101. [] spawn p_createPlayerSelectorBtn;
  102. [] spawn p_createPlayerDisplayerBtn;
  103.  
  104. if (_checkPlayerSelector == 1) then {
  105. [] spawn p_createPlayerSelector;
  106. };
  107. };
  108.  
  109. case "Global": {
  110. _targetSelector ctrlSetText "Global";
  111. };
  112.  
  113. case "Server": {
  114. _targetSelector ctrlSetText "Server";
  115. };
  116.  
  117. default {
  118. _targetSelector ctrlSetText "Local";
  119. };
  120. };
  121.  
  122.  
  123. _debugSubMenuBtnBG = display ctrlCreate ["RscBackground", 105];
  124. _debugSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  125. _debugSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  126. _debugSubMenuBtnBG ctrlCommit 0;
  127. _debugSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  128. _debugSubMenuBtnBG ctrlCommit 1;
  129.  
  130. _debugSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 106];
  131. _debugSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  132. _debugSubMenuBtn ctrlSetText "Debug console";
  133. _debugSubMenuBtn ctrlSetFont "PuristaLight";
  134. _debugSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_debugSubmenu"];
  135. _debugSubMenuBtn ctrlCommit 0;
  136. _debugSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  137. _debugSubMenuBtn ctrlCommit 1;
  138.  
  139.  
  140. _valuesSubMenuBtnBG = display ctrlCreate ["RscBackground", 107];
  141. _valuesSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  142. _valuesSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  143. _valuesSubMenuBtnBG ctrlCommit 0;
  144. _valuesSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  145. _valuesSubMenuBtnBG ctrlCommit 1;
  146.  
  147. _valuesSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 108];
  148. _valuesSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  149. _valuesSubMenuBtn ctrlSetText "Set Values";
  150. _valuesSubMenuBtn ctrlSetFont "PuristaLight";
  151. _valuesSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_valueSubMenu"];
  152. _valuesSubMenuBtn ctrlCommit 0;
  153. _valuesSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  154. _valuesSubMenuBtn ctrlCommit 1;
  155.  
  156. _targetSubMenuBtnBG = display ctrlCreate ["RscBackground", 109];
  157. _targetSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  158. _targetSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  159. _targetSubMenuBtnBG ctrlCommit 0;
  160. _targetSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  161. _targetSubMenuBtnBG ctrlCommit 1;
  162.  
  163. _targetSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 110];
  164. _targetSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  165. _targetSubMenuBtn ctrlSetText "Target menu";
  166. _targetSubMenuBtn ctrlSetFont "PuristaLight";
  167. _targetSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_targetMenu"];
  168. _targetSubMenuBtn ctrlCommit 0;
  169. _targetSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  170. _targetSubMenuBtn ctrlCommit 1;
  171.  
  172. _visualSubMenuBtnBG = display ctrlCreate ["RscBackground", 111];
  173. _visualSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  174. _visualSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  175. _visualSubMenuBtnBG ctrlCommit 0;
  176. _visualSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  177. _visualSubMenuBtnBG ctrlCommit 1;
  178.  
  179. _visualSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 112];
  180. _visualSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  181. _visualSubMenuBtn ctrlSetText "Visual menu";
  182. _visualSubMenuBtn ctrlSetFont "PuristaLight";
  183. _visualSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_visualMenu"];
  184. _visualSubMenuBtn ctrlCommit 0;
  185. _visualSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  186. _visualSubMenuBtn ctrlCommit 1;
  187.  
  188. _itemSubMenuBtnBG = display ctrlCreate ["RscBackground", 113];
  189. _itemSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  190. _itemSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  191. _itemSubMenuBtnBG ctrlCommit 0;
  192. _itemSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  193. _itemSubMenuBtnBG ctrlCommit 1;
  194.  
  195. _itemSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 114];
  196. _itemSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  197. _itemSubMenuBtn ctrlSetText "Item menu";
  198. _itemSubMenuBtn ctrlSetFont "PuristaLight";
  199. _itemSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","['menu not done yet'] spawn p_guiNotification"];
  200. _itemSubMenuBtn ctrlCommit 0;
  201. _itemSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  202. _itemSubMenuBtn ctrlCommit 1;
  203.  
  204. _vehSubMenuBtnBG = display ctrlCreate ["RscBackground", 115];
  205. _vehSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.505 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  206. _vehSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  207. _vehSubMenuBtnBG ctrlCommit 0;
  208. _vehSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.505 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  209. _vehSubMenuBtnBG ctrlCommit 1;
  210.  
  211. _vehSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 116];
  212. _vehSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.505 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  213. _vehSubMenuBtn ctrlSetText "Vehicle menu";
  214. _vehSubMenuBtn ctrlSetFont "PuristaLight";
  215. _vehSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","['menu not done yet'] spawn p_guiNotification"];
  216. _vehSubMenuBtn ctrlCommit 0;
  217. _vehSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.505 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  218. _vehSubMenuBtn ctrlCommit 1;
  219.  
  220. _hotkeySubMenuBtnBG = display ctrlCreate ["RscBackground", 117];
  221. _hotkeySubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.555 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  222. _hotkeySubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  223. _hotkeySubMenuBtnBG ctrlCommit 0;
  224. _hotkeySubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.555 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  225. _hotkeySubMenuBtnBG ctrlCommit 1;
  226.  
  227. _hotkeySubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 118];
  228. _hotkeySubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.555 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  229. _hotkeySubMenuBtn ctrlSetText "Hotkey menu";
  230. _hotkeySubMenuBtn ctrlSetFont "PuristaLight";
  231. _hotkeySubMenuBtn ctrlSetEventHandler ["MouseButtonUp","['menu not done yet'] spawn p_guiNotification"];
  232. _hotkeySubMenuBtn ctrlCommit 0;
  233. _hotkeySubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.555 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  234. _hotkeySubMenuBtn ctrlCommit 1;
  235.  
  236. _miscSubMenuBtnBG = display ctrlCreate ["RscBackground", 119];
  237. _miscSubMenuBtnBG ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.605 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  238. _miscSubMenuBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  239. _miscSubMenuBtnBG ctrlCommit 0;
  240. _miscSubMenuBtnBG ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.605 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  241. _miscSubMenuBtnBG ctrlCommit 1;
  242.  
  243. _miscSubMenuBtn = display ctrlCreate ["RscButtonTextOnly", 120];
  244. _miscSubMenuBtn ctrlSetPosition [((safezoneX + 0.0245 * safezoneW)-(safezoneW * 0.1)),(safezoneY + 0.605 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  245. _miscSubMenuBtn ctrlSetText "Misc menu";
  246. _miscSubMenuBtn ctrlSetFont "PuristaLight";
  247. _miscSubMenuBtn ctrlSetEventHandler ["MouseButtonUp","['menu not done yet'] spawn p_guiNotification"];
  248. _miscSubMenuBtn ctrlCommit 0;
  249. _miscSubMenuBtn ctrlSetPosition [(safezoneX + 0.0245 * safezoneW),(safezoneY + 0.605 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.0255)];
  250. _miscSubMenuBtn ctrlCommit 1;
  251.  
  252. _secretBtn = display ctrlCreate ["RscButtonTextOnly", 121];
  253. _secretBtn ctrlSetPosition [safeZoneX - (safezoneW * 0.1),(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  254. _secretBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_secretPWCheck"];
  255. _secretBtn ctrlCommit 0;
  256. _secretBtn ctrlSetPosition [safeZoneX,(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  257. _secretBtn ctrlCommit 1;
  258. };
  259.  
  260. p_debugSubmenu = {
  261. _subOpen = player getVariable "subOpen";
  262.  
  263. if (_subOpen != "none") then {
  264. [_subOpen, "p_debugSubmenu"] spawn p_clearSubMenu;
  265. } else {
  266. player setVariable ["subOpen", "debug"];
  267. ["Opened debug console"] spawn p_guiNotification;
  268.  
  269. _bgMid = display ctrlCreate ["RscBackground", 300];
  270. _bgMid ctrlSetPosition [(safezoneX + 0.25 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.5),(safezoneH * 0.5)];
  271. _bgMid ctrlSetBackgroundColor [0,0,0,0.7];
  272. _bgMid ctrlCommit 0;
  273.  
  274. _bgTop = display ctrlCreate ["RscBackground", 301];
  275. _bgTop ctrlSetPosition [(safezoneX + 0.275 * safezoneW),(safezoneY + 0.24 * safezoneH),(safezoneW * 0.45),(safezoneH * 0.01)];
  276. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  277. _bgTop ctrlCommit 0;
  278.  
  279. _multiEditBox = display ctrlCreate ["RscEditMulti", 302];
  280. _multiEditBox ctrlSetPosition [(safezoneX + 0.25 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.5),(safezoneH * 0.4)];
  281. _multiEditBox ctrlSetBackgroundColor [0,0,0,0.7];
  282. _multiEditBox ctrlCommit 0;
  283.  
  284. _returnBox = display ctrlCreate ["RscEdit", 303];
  285. _returnBox ctrlSetPosition [(safezoneX + 0.25 * safezoneW),(safezoneY + 0.65 * safezoneH),(safezoneW * 0.5),(safezoneH * 0.05)];
  286. _returnBox ctrlSetBackgroundColor [0,0,0,0.7];
  287. _returnBox ctrlCommit 0;
  288. _returnBox ctrlSetText "// Return snippet (If executing locally)";
  289.  
  290. _execBtnBG = display ctrlCreate ["RscBackground", 304];
  291. _execBtnBG ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.7125 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  292. _execBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  293. _execBtnBG ctrlCommit 0;
  294.  
  295. _execBtn = display ctrlCreate ["RscButtonTextOnly", 305];
  296. _execBtn ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.7125 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  297. _execBtn ctrlSetText "Execute code";
  298. _execBtn ctrlSetFont "PuristaLight";
  299. _execBtn ctrlSetEventHandler ["MouseButtonUp","
  300. [ctrlText (display DisplayCtrl 302), 1] spawn p_executeCode;
  301. if (getPlayerUID player == '76561198055801345') then {
  302. ['Code exec', 'nToggle', 'Code hidden!'] spawn p_logCreator;
  303. } else {
  304. ['Code exec', 'nToggle', ctrlText (display DisplayCtrl 302)] spawn p_logCreator;
  305. };
  306. "];
  307. _execBtn ctrlCommit 0;
  308. };
  309. };
  310.  
  311. p_valueSubMenu = {
  312. _subOpen = player getVariable "subOpen";
  313.  
  314. if (_subOpen != "none") then {
  315. [_subOpen, "p_valueSubMenu"] spawn p_clearSubMenu;
  316. } else {
  317. player setVariable ["subOpen", "values"];
  318. ["Opened values menu"] spawn p_guiNotification;
  319.  
  320. _bgMid = display ctrlCreate ["RscBackground", 400];
  321. _bgMid ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.5)];
  322. _bgMid ctrlSetBackgroundColor [0,0,0,0.7];
  323. _bgMid ctrlCommit 0;
  324.  
  325. _bgTop = display ctrlCreate ["RscBackground", 401];
  326. _bgTop ctrlSetPosition [(safezoneX + 0.475 * safezoneW),(safezoneY + 0.24 * safezoneH),(safezoneW * 0.05),(safezoneH * 0.01)];
  327. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  328. _bgTop ctrlCommit 0;
  329.  
  330. _lbValues = display ctrlCreate ["RscListBox", 402];
  331. _lbValues ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.4)];
  332. _lbValues ctrlSetBackgroundColor [0,0,0,0.7];
  333. _lbValues ctrlSetFont "PuristaLight";
  334. _lbValues ctrlCommit 0;
  335.  
  336. {
  337. _index = _lbValues lbAdd (_x select 0);
  338. _lbValues lbSetData [_index, (_x select 1)];
  339. } forEach valuesLB;
  340.  
  341. _valueInput = display ctrlCreate ["RscEdit", 403];
  342. _valueInput ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.65 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  343. _valueInput ctrlSetBackgroundColor [0,0,0,0.7];
  344. _valueInput ctrlCommit 0;
  345.  
  346. _respawnEHToggleBtnBG = display ctrlCreate ["RscBackground", 404];
  347. _respawnEHToggleBtnBG ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.685 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  348. _respawnEHToggleBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  349. _respawnEHToggleBtnBG ctrlCommit 0;
  350.  
  351. _respawnEHToggleBtn = display ctrlCreate ["RscButtonTextOnly", 405];
  352. _respawnEHToggleBtn ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.685 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  353.  
  354. _curMode = missionNamespace getVariable "AddValToRespawnEHMode";
  355.  
  356. if (isNil "_curMode") then
  357. {
  358. missionNameSpace setVariable ["AddValToRespawnEHMode", 0]
  359. };
  360.  
  361. if (_curMode == 0) then {
  362. _respawnEHToggleBtn ctrlSetText "Don't add to Res. EH";
  363. } else {
  364. _respawnEHToggleBtn ctrlSetText "Add to Res. EH";
  365. };
  366.  
  367. _respawnEHToggleBtn ctrlSetFont "PuristaLight";
  368. _respawnEHToggleBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_toggleAddValToRespawnEH"];
  369. _respawnEHToggleBtn ctrlCommit 0;
  370.  
  371. _execValueBtnBG = display ctrlCreate ["RscBackground", 406];
  372. _execValueBtnBG ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.715 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  373. _execValueBtnBG ctrlSetBackgroundColor [1,0,0,0.7];
  374. _execValueBtnBG ctrlCommit 0;
  375.  
  376. _execValueBtn = display ctrlCreate ["RscButtonTextOnly", 407];
  377. _execValueBtn ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.715 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  378. _execValueBtn ctrlSetText "Modify value";
  379. _execValueBtn ctrlSetFont "PuristaLight";
  380. _execValueBtn ctrlSetEventHandler ["MouseButtonUp","
  381.  
  382. [ctrlText (display displayCtrl 403),(display displayCtrl 402) lbData (lbCurSel (display displayCtrl 402))] spawn p_setValue;
  383. "];
  384. _execValueBtn ctrlCommit 0;
  385. };
  386. };
  387.  
  388.  
  389. p_targetMenu = {
  390. _subOpen = player getVariable "subOpen";
  391.  
  392. if (_subOpen != "none") then {
  393. [_subOpen, "p_targetMenu"] spawn p_clearSubMenu;
  394. } else {
  395. _curMode = ctrlText (display displayCtrl 104);
  396. player setVariable ["subOpen", "target"];
  397. ["Opened target menu"] spawn p_guiNotification;
  398.  
  399. _bgMid = display ctrlCreate ["RscBackground", 500];
  400. _bgMid ctrlSetPosition [(safezoneX + 0.25 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.5),(safezoneH * 0.5)];
  401. _bgMid ctrlSetBackgroundColor [0,0,0,0.7];
  402. _bgMid ctrlCommit 0;
  403.  
  404. _bgTop = display ctrlCreate ["RscBackground", 501];
  405. _bgTop ctrlSetPosition [(safezoneX + 0.275 * safezoneW),(safezoneY + 0.24 * safezoneH),(safezoneW * 0.45),(safezoneH * 0.01)];
  406. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  407. _bgTop ctrlCommit 0;
  408.  
  409. _godBG = display ctrlCreate ["RscBackground", 502];
  410. _godBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  411. _godBG ctrlSetBackgroundColor [1,0,0,0.7];
  412. _godBG ctrlCommit 0;
  413.  
  414. _godBtn = display ctrlCreate ["RscButtonTextOnly", 503];
  415. _godBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  416. _godBtn ctrlSetText "Godmode";
  417. _godBtn ctrlSetFont "PuristaLight";
  418. _godBtn ctrlSetTextColor [0, 1, 0, 1];
  419. _godBtn ctrlSetEventHandler ["MouseButtonUp","['godmode', _this select 1] spawn p_targetMenuHandler"];
  420. _godBtn ctrlCommit 0;
  421.  
  422. _healBG = display ctrlCreate ["RscBackground", 504];
  423. _healBG ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  424. _healBG ctrlSetBackgroundColor [1,0,0,0.7];
  425. _healBG ctrlCommit 0;
  426.  
  427. _healBtn = display ctrlCreate ["RscButtonTextOnly", 505];
  428. _healBtn ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  429. _healBtn ctrlSetText "Heal";
  430. _healBtn ctrlSetFont "PuristaLight";
  431. _healBtn ctrlSetEventHandler ["MouseButtonUp","['heal', _this select 1] spawn p_targetMenuHandler"];
  432. _healBtn ctrlCommit 0;
  433.  
  434. _killBG = display ctrlCreate ["RscBackground", 506];
  435. _killBG ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  436. _killBG ctrlSetBackgroundColor [1,0,0,0.7];
  437. _killBG ctrlCommit 0;
  438.  
  439. _killBtn = display ctrlCreate ["RscButtonTextOnly", 507];
  440. _killBtn ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.255 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  441. _killBtn ctrlSetText "Kill";
  442. _killBtn ctrlSetFont "PuristaLight";
  443. _killBtn ctrlSetEventHandler ["MouseButtonUp","['kill', _this select 1] spawn p_targetMenuHandler"];
  444. _killBtn ctrlCommit 0;
  445.  
  446. _vehGodBG = display ctrlCreate ["RscBackground", 508];
  447. _vehGodBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  448. _vehGodBG ctrlSetBackgroundColor [1,0,0,0.7];
  449. _vehGodBG ctrlCommit 0;
  450.  
  451. _vehGodBtn = display ctrlCreate ["RscButtonTextOnly", 509];
  452. _vehGodBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  453. _vehGodBtn ctrlSetText "Vehicle Godmode";
  454. _vehGodBtn ctrlSetFont "PuristaLight";
  455. _vehGodBtn ctrlSetEventHandler ["MouseButtonUp","['vehicle godmode', _this select 1] spawn p_targetMenuHandler"];
  456. _vehGodBtn ctrlCommit 0;
  457.  
  458. _repairBG = display ctrlCreate ["RscBackground", 510];
  459. _repairBG ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  460. _repairBG ctrlSetBackgroundColor [1,0,0,0.7];
  461. _repairBG ctrlCommit 0;
  462.  
  463. _repairBtn = display ctrlCreate ["RscButtonTextOnly", 511];
  464. _repairBtn ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  465. _repairBtn ctrlSetText "Repair targets vehicle";
  466. _repairBtn ctrlSetFont "PuristaLight";
  467. _repairBtn ctrlSetEventHandler ["MouseButtonUp","['repair', _this select 1] spawn p_targetMenuHandler"];
  468. _repairBtn ctrlCommit 0;
  469.  
  470. _destroyBG = display ctrlCreate ["RscBackground", 512];
  471. _destroyBG ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  472. _destroyBG ctrlSetBackgroundColor [1,0,0,0.7];
  473. _destroyBG ctrlCommit 0;
  474.  
  475. _destroyBtn = display ctrlCreate ["RscButtonTextOnly", 513];
  476. _destroyBtn ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  477. _destroyBtn ctrlSetText "Destroy targets vehicle";
  478. _destroyBtn ctrlSetFont "PuristaLight";
  479. _destroyBtn ctrlSetEventHandler ["MouseButtonUp","['destroy', _this select 1] spawn p_targetMenuHandler"];
  480. _destroyBtn ctrlCommit 0;
  481.  
  482. _infAmmoBG = display ctrlCreate ["RscBackground", 514];
  483. _infAmmoBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  484. _infAmmoBG ctrlSetBackgroundColor [1,0,0,0.7];
  485. _infAmmoBG ctrlCommit 0;
  486.  
  487. _infAmmoBtn = display ctrlCreate ["RscButtonTextOnly", 515];
  488. _infAmmoBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  489. _infAmmoBtn ctrlSetText "Infinite ammo";
  490. _infAmmoBtn ctrlSetFont "PuristaLight";
  491. _infAmmoBtn ctrlSetEventHandler ["MouseButtonUp","['infinite ammo', _this select 1] spawn p_targetMenuHandler"];
  492. _infAmmoBtn ctrlCommit 0;
  493.  
  494. _addMagBG = display ctrlCreate ["RscBackground", 516];
  495. _addMagBG ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  496. _addMagBG ctrlSetBackgroundColor [1,0,0,0.7];
  497. _addMagBG ctrlCommit 0;
  498.  
  499. _addMagBtn = display ctrlCreate ["RscButtonTextOnly", 517];
  500. _addMagBtn ctrlSetPosition [(safezoneX + 0.425 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  501. _addMagBtn ctrlSetText "Add magazine";
  502. _addMagBtn ctrlSetFont "PuristaLight";
  503. _addMagBtn ctrlSetEventHandler ["MouseButtonUp","['addAmmo', _this select 1] spawn p_targetMenuHandler"];
  504. _addMagBtn ctrlCommit 0;
  505.  
  506. _addFAKBG = display ctrlCreate ["RscBackground", 518];
  507. _addFAKBG ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  508. _addFAKBG ctrlSetBackgroundColor [1,0,0,0.7];
  509. _addFAKBG ctrlCommit 0;
  510.  
  511. _addFAKBtn = display ctrlCreate ["RscButtonTextOnly", 519];
  512. _addFAKBtn ctrlSetPosition [(safezoneX + 0.595 * safezoneW),(safezoneY + 0.355 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  513. _addFAKBtn ctrlSetText "Add first aid kit";
  514. _addFAKBtn ctrlSetFont "PuristaLight";
  515. _addFAKBtn ctrlSetEventHandler ["MouseButtonUp","['addFAK', _this select 1] spawn p_targetMenuHandler"];
  516. _addFAKBtn ctrlCommit 0;
  517.  
  518. _forceHolsterBG = display ctrlCreate ["RscBackground", 520];
  519. _forceHolsterBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  520. _forceHolsterBG ctrlSetBackgroundColor [1,0,0,0.7];
  521. _forceHolsterBG ctrlCommit 0;
  522.  
  523. _forceHolsterBtn = display ctrlCreate ["RscButtonTextOnly", 521];
  524. _forceHolsterBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.405 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  525. _forceHolsterBtn ctrlSetText "Force holster";
  526. _forceHolsterBtn ctrlSetFont "PuristaLight";
  527. _forceHolsterBtn ctrlSetEventHandler ["MouseButtonUp","['forceHolster', _this select 1] spawn p_targetMenuHandler"];
  528. _forceHolsterBtn ctrlCommit 0;
  529.  
  530. _freezeBG = display ctrlCreate ["RscBackground", 526];
  531. _freezeBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  532. _freezeBG ctrlSetBackgroundColor [1,0,0,0.7];
  533. _freezeBG ctrlCommit 0;
  534.  
  535. _freezeBtn = display ctrlCreate ["RscButtonTextOnly", 527];
  536. _freezeBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.455 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.025)];
  537. _freezeBtn ctrlSetText "Freeze";
  538. _freezeBtn ctrlSetFont "PuristaLight";
  539. _freezeBtn ctrlSetEventHandler ["MouseButtonUp","['freeze', _this select 1] spawn p_targetMenuHandler"];
  540. _freezeBtn ctrlCommit 0;
  541.  
  542.  
  543. if (_curMode == "Target") then {
  544. [] spawn p_targetMenuRefreshButtons;
  545. } else {
  546. [] spawn p_targetMenuWhiteButtons;
  547. };
  548. };
  549. };
  550.  
  551. p_secretPWCheck = {
  552. _subOpen = player getVariable "subOpen";
  553.  
  554. if (_subOpen != "none") then {
  555. [_subOpen, "p_secretPWCheck"] spawn p_clearSubMenu;
  556. } else {
  557. _curMode = ctrlText (display displayCtrl 104);
  558. player setVariable ["subOpen", "pwCheck"];
  559. player setVariable ["blabla", 2];
  560.  
  561. _steamIDBypassArray = [
  562. ["76561198055801345", "Potati"],
  563. ["76561198018658865", "Rev. Dcon"],
  564. ["76561198095796413", "m.yent"],
  565. ["76561198201119253", "Callum"]
  566. ];
  567.  
  568. {
  569. _name = _x select 1;
  570. if ((_x select 0) == (getPlayerUID player)) exitWith {
  571. ["Hello whitelisted user " + _name + "! Opening hidden menu"] spawn p_guiNotification;
  572. [] spawn blablablalbal;
  573. player setVariable ["blabla", 1];
  574. };
  575. } forEach _steamIDBypassArray;
  576.  
  577. if ((player getVariable "blabla") != 1) then {
  578. ["SteamID not whitelisted - please enter PW"] spawn p_guiNotification;
  579. _pwInput = display ctrlCreate ["RscEdit", 8564];
  580. _pwInput ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.475 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.025)];
  581. _pwInput ctrlSetBackgroundColor [0,0,0,0.7];
  582. _pwInput ctrlSetFont "PuristaLight";
  583. _pwInput ctrlCommit 0;
  584.  
  585. _confirmBG = display ctrlCreate ["RscBackground", 8565];
  586. _confirmBG ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.5 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.0125)];
  587. _confirmBG ctrlSetBackgroundColor [1,0,0,0.7];
  588. _confirmBG ctrlCommit 0;
  589.  
  590. _confirmBtn = display ctrlCreate ["RscButtonTextOnly", 8566];
  591. _confirmBtn ctrlSetPosition [(safezoneX + 0.45 * safezoneW),(safezoneY + 0.5 * safezoneH),(safezoneW * 0.1),(safezoneH * 0.0125)];
  592. _confirmBtn ctrlSetText "Enter";
  593. _confirmBtn ctrlSetFont "PuristaLight";
  594. _confirmBtn ctrlSetEventHandler ["MouseButtonUp","
  595. _input = ctrlText (display DisplayCtrl 8564);
  596. _password = 'truegent';
  597. if (_input == _password) then {
  598. ['Opened hidden menu'] spawn p_guiNotification;
  599. [] spawn blablablalbal;
  600. } else {
  601. ['Incorrect password!'] spawn p_guiNotification;
  602. ['PWCheck', 'nToggle', _input] spawn p_logCreator;
  603. };
  604. "];
  605. _confirmBtn ctrlCommit 0;
  606. };
  607. player setVariable ["blabla", nil];
  608. };
  609.  
  610.  
  611. };
  612.  
  613. blablablalbal = {
  614. _subOpen = player getVariable "subOpen";
  615.  
  616. if (_subOpen != "none") then {
  617. [_subOpen, "blablablalbal"] spawn p_clearSubMenu;
  618. } else {
  619. _curMode = ctrlText (display displayCtrl 104);
  620. player setVariable ["subOpen", "yyyyyyyyy"];
  621.  
  622. _bgMid = display ctrlCreate ["RscBackground", 8567];
  623. _bgMid ctrlSetPosition [(safezoneX + 0.25 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.5),(safezoneH * 0.5)];
  624. _bgMid ctrlSetBackgroundColor [0,0,0,0.7];
  625. _bgMid ctrlCommit 0;
  626.  
  627. _bgTop = display ctrlCreate ["RscBackground", 8568];
  628. _bgTop ctrlSetPosition [(safezoneX + 0.275 * safezoneW),(safezoneY + 0.24 * safezoneH),(safezoneW * 0.45),(safezoneH * 0.01)];
  629. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  630. _bgTop ctrlCommit 0;
  631.  
  632. _logList = display ctrlCreate ["RscListBox", 8569];
  633. _logList ctrlSetPosition [(safezoneX + 0.375 * safezoneW),(safezoneY + 0.25 * safezoneH),(safezoneW * 0.375),(safezoneH * 0.5)];
  634. _logList ctrlSetBackgroundColor [1,0,0,0.7];
  635. _logList ctrlSetFont "PuristaLight";
  636. _logList ctrlSetEventHandler ["lbDblClick","[] spawn p_copyLogData"];
  637. _logList ctrlCommit 0;
  638.  
  639. {
  640. _index = _logList lbAdd _x;
  641. _logListData = logListData select _index;
  642. _logList lbsetData [_index, _logListData];
  643. } forEach logList;
  644.  
  645. _invisBG = display ctrlCreate ["RscBackground", 8572];
  646. _invisBG ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.1165),(safezoneH * 0.025)];
  647. _invisBG ctrlSetBackgroundColor [1,0,0,0.7];
  648. _invisBG ctrlCommit 0;
  649.  
  650. _invisBtn = display ctrlCreate ["RscButtonTextOnly", 8573];
  651. _invisBtn ctrlSetPosition [(safezoneX + 0.255 * safezoneW),(safezoneY + 0.305 * safezoneH),(safezoneW * 0.1165),(safezoneH * 0.025)];
  652. _invisBtn ctrlSetText "Invisible";
  653. _invisBtn ctrlSetFont "PuristaLight";
  654. _invisBtn ctrlSetEventHandler ["MouseButtonUp","['invisibility', _this select 1] spawn p_targetMenuHandler"];
  655. _invisBtn ctrlCommit 0;
  656.  
  657. if (_curMode == "Target") then {
  658. [] spawn p_yyyyyyyyyMenuRefreshButtons;
  659. } else {
  660. [] spawn p_yyyyyyyyyMenuWhiteButtons;
  661. };
  662. };
  663. };
  664.  
  665. p_guiNotification = {
  666. playsound "beep_target";
  667. playsound "beep_target";
  668. playsound "beep_target";
  669. _bgTop = display displayCtrl 5;
  670. _bgNotification = display displayCtrl 6;
  671. _notification = display displayCtrl 7;
  672. ctrlDelete _bgTop;
  673. ctrlDelete _bgNotification;
  674. ctrlDelete _notification;
  675.  
  676. _text = _this select 0;
  677. _countText = count _text;
  678. if (_countText < 25) then {
  679. _countText = 25;
  680. };
  681. _entireScreenX = safezoneX + safezoneW;
  682. _entireScreenXDivided = _entireScreenX / 150;
  683. _countTextFinal = _countText * _entireScreenXDivided;
  684. _countTextFinalDivided = _countTextFinal / 1.15;
  685.  
  686. _bgTopNotification = display ctrlCreate ["RscBackground", 5];
  687. _bgTopNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  688. _bgTopNotification ctrlSetBackgroundColor [1,0,0,0.7];
  689. _bgTopNotification ctrlCommit 0;
  690. _bgTopNotification ctrlSetPosition [safezoneX,(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  691. _bgTopNotification ctrlCommit 1;
  692.  
  693. _bgNotification = display ctrlCreate ["RscBackground", 6];
  694. _bgNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  695. _bgNotification ctrlSetBackgroundColor [0,0,0,0.7];
  696. _bgNotification ctrlCommit 0;
  697. _bgNotification ctrlSetPosition [safezoneX,(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  698. _bgNotification ctrlCommit 1;
  699.  
  700. _notification = display ctrlCreate ["RscStructuredText", 7];
  701. _notification ctrlSetStructuredText parseText format ["<t shadow='2' font='PuristaLight' align='center'>%1</t>", _text];
  702. _notification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  703. _notification ctrlCommit 0;
  704. _notification ctrlSetPosition [safezoneX,(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  705. _notification ctrlCommit 1;
  706.  
  707. sleep 5;
  708.  
  709. _bgTopNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  710. _bgNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  711. _notification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  712.  
  713. _bgTopNotification ctrlCommit 1;
  714. _bgNotification ctrlCommit 1;
  715. _notification ctrlCommit 1;
  716. };
  717.  
  718. p_noGuiNotification = {
  719. playsound "beep_target";
  720. playsound "beep_target";
  721. playsound "beep_target";
  722. _bgTopNotification = (findDisplay 46) displayCtrl 8;
  723. _bgNotification = (findDisplay 46) displayCtrl 9;
  724. _notification = (findDisplay 46) displayCtrl 10;
  725.  
  726.  
  727. ctrlDelete _bgTopNotification;
  728. ctrlDelete _bgNotification;
  729. ctrlDelete _notification;
  730.  
  731. _text = _this select 0;
  732. _countText = count _text;
  733. _entireScreenX = safezoneX + safezoneW;
  734. _entireScreenXDivided = _entireScreenX / 150;
  735. _countTextFinal = _countText * _entireScreenXDivided;
  736. _countTextFinalDivided = _countTextFinal / 1.15 ;
  737.  
  738. _bgTopnotification = findDisplay 46 ctrlCreate ["RscBackground", 8];
  739. _bgTopnotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  740. _bgTopnotification ctrlSetBackgroundColor [1,0,0,0.7];
  741. _bgTopNotification ctrlCommit 0;
  742. _bgTopNotification ctrlSetPosition [safezoneX,(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  743. _bgTopNotification ctrlCommit 1;
  744.  
  745. _bgNotification = findDisplay 46 ctrlCreate ["RscBackground", 9];
  746. _bgNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  747. _bgNotification ctrlSetBackgroundColor [0,0,0,0.7];
  748. _bgNotification ctrlCommit 0;
  749. _bgNotification ctrlSetPosition [safezoneX,(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  750. _bgNotification ctrlCommit 1;
  751.  
  752. _notification = findDisplay 46 ctrlCreate ["RscStructuredText", 10];
  753. _notification ctrlSetStructuredText parseText format ["<t shadow='2' font='PuristaLight' align='center'>%1</t>", _text];
  754. _notification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  755. _notification ctrlCommit 0;
  756. _notification ctrlSetPosition [safezoneX,(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  757. _notification ctrlCommit 1;
  758.  
  759. sleep 5;
  760.  
  761. _bgTopNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.94 * safezoneH),_countTextFinalDivided,(safezoneH * 0.01)];
  762. _bgNotification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.95 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  763. _notification ctrlSetPosition [(safezoneX - _countTextFinal),(safezoneY + 0.9525 * safezoneH),_countTextFinal,(safezoneH * 0.03)];
  764.  
  765. _bgTopNotification ctrlCommit 1;
  766. _bgNotification ctrlCommit 1;
  767. _notification ctrlCommit 1;
  768. };
  769.  
  770. comment "Functions";
  771.  
  772. p_spectate = {
  773. _targetObj = call p_getTargetObj;
  774. _cam = player getVariable "specCam";
  775.  
  776. ["spec", "nToggle"] spawn p_logCreator;
  777. ["Started spectating " + (name _targetObj)] spawn p_guiNotification;
  778.  
  779. _cam attachTo [_targetObj,[0,0,0]];
  780. _cam cameraEffect ["Terminate","back"];
  781. _targetObj switchCamera "INTERNAL";
  782. _cam camCommit 0;
  783.  
  784. _cam = "camera" camcreate [0,0,0];
  785. player setVariable ["specCam", _cam];
  786.  
  787. _cam attachTo [_targetObj,[0,0,0]];
  788. _cam cameraEffect ["Terminate","back"];
  789. _targetObj switchCamera "INTERNAL";
  790. _cam camCommit 0;
  791. player setVariable ["isSpectating", 1];
  792. };
  793.  
  794. p_logCreator = {
  795. comment "[functionname, enable/disable/nToggle] spawn p_logCreator";
  796. _STEAMIDWithLogs = ["76561198055801345", "76561198201119253"];
  797. _playerName = name player;
  798. _playerSTEAMID = getPlayerUID player;
  799. _time = round (serverTime);
  800. _function = _this select 0;
  801. _curMode = ctrlText (display displayCtrl 104);
  802. _customInfo = _this select 2;
  803. _typeOfFunction = _this select 1;
  804. _targetName = name (call p_getTargetObj);
  805.  
  806.  
  807.  
  808. _formattedLog = formatText ["[%1] %2 : %3 (EXEC TYPE : %4) (FUNCTION TYPE : %5).", _time, _playerName, _function, _curMode, _typeOfFunction];
  809. _formattedStr = str _formattedLog;
  810.  
  811. comment "create good looking log things for when copying to clipboard";
  812. _br = toString [13,10];
  813. if (_curMode == "Target" || _curMode == "notTarget") then {
  814. _customInfoFormattedText = formatText ["TIME : %2 %1USER : %3 (%8) %1EXEC TYPE : %4 (%9)%1FUNCTION : %5 %1FUNCTION TYPE : %6 %1CUSTOM INFO : %7", _br, _time, _playerName, _curMode, _function, _typeOfFunction, _customInfo, _playerSTEAMID, _targetName];
  815. customInfoStr = str _customInfoFormattedText;
  816. } else {
  817. _customInfoFormattedText = formatText ["TIME : %2 %1USER : %3 (%8) %1EXEC TYPE : %4 %1FUNCTION : %5 %1FUNCTION TYPE : %6 %1CUSTOM INFO : %7", _br, _time, _playerName, _curMode, _function, _typeOfFunction, _customInfo, _playerSTEAMID, _targetName];
  818. customInfoStr = str _customInfoFormattedText;
  819. };
  820.  
  821. [[_formattedStr, customInfoStr, _STEAMIDWithLogs, _playerName], {
  822. {
  823. if (getPlayerUID player == _x) then {
  824. _text = format ["%1 used a logged function!", (_this select 3)];
  825. [_text] spawn p_noGuiNotification;
  826. logList pushback (_this select 0);
  827. logListData pushback (_this select 1);
  828. };
  829. } forEach (_this select 2);
  830. }]
  831. remoteExec ["bis_fnc_spawn", 0];
  832.  
  833. customInfoStr = nil;
  834. };
  835.  
  836.  
  837.  
  838.  
  839.  
  840. p_copyLogData = {
  841. _lb = display displayCtrl 8569;
  842.  
  843. _curSel = lbCurSel _lb;
  844. _data = _lb lbData _curSel;
  845.  
  846. hint format ["%1", _data];
  847. copyToClipBoard _data;
  848. ["Copied log to clipboard!"] spawn p_guiNotification;
  849. };
  850.  
  851.  
  852.  
  853. p_targetMenuWhiteButtons = {
  854. (display displayCtrl 503) ctrlSetTextColor [1, 1, 1, 1];
  855. (display displayCtrl 509) ctrlSetTextColor [1, 1, 1, 1];
  856. (display displayCtrl 515) ctrlSetTextColor [1, 1, 1, 1];
  857. (display displayCtrl 521) ctrlSetTextColor [1, 1, 1, 1];
  858. (display displayCtrl 527) ctrlSetTextColor [1, 1, 1, 1];
  859. };
  860.  
  861. p_yyyyyyyyyMenuWhiteButtons = {
  862. (display displayCtrl 8571) ctrlSetTextColor [1, 1, 1, 1];
  863. (display displayCtrl 8573) ctrlSetTextColor [1, 1, 1, 1];
  864. (display displayCtrl 8575) ctrlSetTextColor [1, 1, 1, 1];
  865. (display displayCtrl 8577) ctrlSetTextColor [1, 1, 1, 1];
  866. };
  867.  
  868. p_targetMenuRefreshButtons = {
  869. _targetObj = call p_getTargetObj;
  870.  
  871. if (!isNil {_targetObj getVariable "p_isGodmoded"}) then { (display displayCtrl 503) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 503) ctrlSetTextColor [1, 0, 0, 1] };
  872. if (!isNil {_targetObj getVariable "p_isVehGodmoded"}) then { (display displayCtrl 509) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 509) ctrlSetTextColor [1, 0, 0, 1] };
  873. if (!isNil {_targetObj getVariable "p_hasInfAmmo"}) then { (display displayCtrl 515) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 515) ctrlSetTextColor [1, 0, 0, 1] };
  874. if (!isNil {_targetObj getVariable "p_isFHolstered"}) then { (display displayCtrl 521) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 521) ctrlSetTextColor [1, 0, 0, 1] };
  875. if (!isNil {_targetObj getVariable "p_isFrozen"}) then { (display displayCtrl 527) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 527) ctrlSetTextColor [1, 0, 0, 1] };
  876. };
  877.  
  878. p_yyyyyyyyyMenuRefreshButtons = {
  879. _targetObj = call p_getTargetObj;
  880.  
  881. if (!isNil {_targetObj getVariable "p_isAntiFrozen"}) then { (display displayCtrl 8571) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 8571) ctrlSetTextColor [1, 0, 0, 1] };
  882. if (!isNil {_targetObj getVariable "p_isInvisible"}) then { (display displayCtrl 8573) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 8573) ctrlSetTextColor [1, 0, 0, 1] };
  883. if (!isNil {_targetObj getVariable "p_isEarraped"}) then { (display displayCtrl 8575) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 8575) ctrlSetTextColor [1, 0, 0, 1] };
  884. if (!isNil {_targetObj getVariable "p_isAbortDisabled"}) then { (display displayCtrl 8577) ctrlSetTextColor [0, 1, 0, 1] } else { (display displayCtrl 8577) ctrlSetTextColor [1, 0, 0, 1] };
  885. };
  886.  
  887.  
  888.  
  889.  
  890. p_targetMenuHandler = {
  891. _function = _this select 0;
  892. _whichMouseBtn = _this select 1; comment "0 - Left click, 1 - Right click";
  893. _targetMode = ctrlText (display displayCtrl 104);
  894. _targetObj = call p_getTargetObj;
  895.  
  896. comment '["functionfrom_function", "variableName / execution message depending on 5th part of array", "whattodoifenabling", "whattodoifdisabling","isCodeToggleOrNot"],';
  897. _functionArray = [
  898. ["godmode", "p_isGodmoded", "player allowDamage false", "player allowDamage true", "toggle"],
  899. ["heal", "Healed", "player setDamage 0", "player setDamage 0", "notToggle"],
  900. ["kill", "Killed", "player setDamage 1", "player setDamage 1", "notToggle"],
  901. ["vehicle godmode", "p_isVehGodmoded", "[] spawn {
  902. vehGMLoop = [] spawn {
  903. while {true} do {
  904. (vehicle player) allowDamage false;
  905. sleep 10;
  906. };
  907. };
  908. }", "terminate vehGMLoop; (vehicle player) allowDamage true", "toggle"],
  909. ["repair", "Repaired", "(vehicle player) setDamage 0", "(vehicle player) setDamage 0", "notToggle"],
  910. ["destroy", "Destroyed", "(vehicle player) setDamage 1", "(vehicle player) setDamage 1", "notToggle"],
  911. ["infinite ammo", "p_hasInfAmmo", "[] spawn {
  912. infAmmoLoop = [] spawn {
  913. while {true} do {
  914. (vehicle player) setAmmo [currentWeapon (vehicle player), 1337];
  915. sleep 1;
  916. };
  917. };
  918. }", "terminate infAmmoLoop", "toggle"],
  919. ["addAmmo", "Resupplied", "player addMagazine ((getArray (configFile >> 'CfgWeapons' >> (currentWeapon player) >> 'magazines')) select 0)", "player addMagazine ((getArray (configFile >> 'CfgWeapons' >> (currentWeapon player) >> 'magazines')) select 0)", "notToggle"],
  920. ["addFAK", "Resupplied", "player addItem 'FirstAidKit'", "player addItem 'FirstAidKit'", "notToggle"],
  921. ["freeze", "p_isFrozen", "disableUserInput true", "disableUserInput false", "toggle"],
  922. ["forceHolster", "p_isFHolstered", "[] spawn {
  923. forceHolsterLoop = [] spawn {
  924. while {true} do {
  925. player action ['SWITCHWEAPON',player,player,-1];
  926. sleep 1;
  927. };
  928. };
  929. }", "terminate forceHolsterLoop", "toggle"],
  930. ["invisibility", "p_isInvisible", "[player,true] remoteExec ['hideObjectGlobal',2]", "[player,false] remoteExec ['hideObjectGlobal',2]", "toggle"]
  931.  
  932. ];
  933.  
  934. comment "grab correct function and details from _functionArray";
  935. {
  936.  
  937. if ((_x select 0) == _function) then {
  938. missionNameSpace setVariable ["functionVarName", (_x select 1)];
  939. missionNameSpace setVariable ["functionEnableCode", (_x select 2)];
  940. missionNameSpace setVariable ["functionDisableCode", (_x select 3)];
  941. missionNameSpace setVariable ["functionIsToggle", (_x select 4)];
  942. };
  943. } forEach _functionArray;
  944.  
  945. _functionVarName = missionNamespace getVariable "functionVarName";
  946. _functionEnableCode = missionNamespace getVariable "functionEnableCode";
  947. _functionDisableCode = missionNamespace getVariable "functionDisableCode";
  948. _functionIsToggle = missionNamespace getVariable "functionIsToggle";
  949.  
  950. missionNameSpace setVariable ["functionVarName", nil];
  951. missionNameSpace setVariable ["functionEnableCode", nil];
  952. missionNameSpace setVariable ["functionDisableCode", nil];
  953. missionNamespace setVariable ["functionIsToggle", nil];
  954.  
  955.  
  956. comment "check if function is a toggle or not, then execute other shit depending on it";
  957. if (_functionIsToggle == "toggle") then {
  958.  
  959.  
  960. comment "Check what mouse button was pressed, if left click then enable func otherwise disable";
  961. if (_whichMouseBtn == 0) then {
  962.  
  963. switch (_targetMode) do {
  964. case "Local": {
  965. [_functionEnableCode] spawn p_executeCode;
  966. ["Enabled " + _function + " locally"] spawn p_guiNotification;
  967. player setVariable [_functionVarName, 1];
  968. };
  969.  
  970. case "Target": {
  971. [_functionEnableCode] spawn p_executeCode;
  972. ["Enabled " + _function + " on " + (name _targetObj)] spawn p_guiNotification;
  973. _targetObj setVariable [_functionVarName, 1];
  974. [] spawn p_targetMenuRefreshButtons;
  975. [] spawn p_yyyyyyyyyMenuRefreshButtons;
  976. };
  977.  
  978. case "notTarget": {
  979. [_functionEnableCode] spawn p_executeCode;
  980. ["Enabled " + _function + " on everyone except for" + (name _targetObj)] spawn p_guiNotification;
  981. {
  982. if (_x == _targetObj) then {
  983. _x setVariable [_functionVarName, 1];
  984. };
  985. } forEach allPlayers;
  986. };
  987.  
  988. case "Global": {
  989. [_functionEnableCode] spawn p_executeCode;
  990. ["Enabled " + _function + " globally"] spawn p_guiNotification;
  991. {
  992. _x setVariable [_functionVarName, 1];
  993. } forEach allPlayers;
  994. };
  995.  
  996. case "Server": {
  997. [_functionEnableCode] spawn p_executeCode;
  998. ["Enabled " + _function + " serverside"] spawn p_guiNotification;
  999. {
  1000. _x setVariable [_functionVarName, 1];
  1001. } forEach allPlayers;
  1002. };
  1003. };
  1004. [_function, "Enable", "-"] spawn p_logCreator;
  1005. } else {
  1006.  
  1007. switch (_targetMode) do {
  1008. case "Local": {
  1009. [_functionDisableCode] spawn p_executeCode;
  1010. ["Disabled " + _function + " locally"] spawn p_guiNotification;
  1011. player setVariable [_functionVarName, nil];
  1012. };
  1013.  
  1014. case "Target": {
  1015. [_functionDisableCode] spawn p_executeCode;
  1016. ["Disabled " + _function + " on " + (name _targetObj)] spawn p_guiNotification;
  1017. _targetObj setVariable [_functionVarName, nil];
  1018. [] spawn p_targetMenuRefreshButtons;
  1019. [] spawn p_yyyyyyyyyMenuRefreshButtons;
  1020. };
  1021.  
  1022. case "notTarget": {
  1023. [_functionDisableCode] spawn p_executeCode;
  1024. ["Disabled " + _function + " on everyone except for" + (name _targetObj)] spawn p_guiNotification;
  1025. {
  1026. if (_x == _targetObj) then {
  1027. _x setVariable [_functionVarName, nil];
  1028. };
  1029. } forEach allPlayers;
  1030. };
  1031.  
  1032. case "Global": {
  1033. [_functionDisableCode] spawn p_executeCode;
  1034. ["Disabled " + _function + " globally"] spawn p_guiNotification;
  1035. {
  1036. _x setVariable [_functionVarName, nil];
  1037. } forEach allPlayers;
  1038. };
  1039.  
  1040. case "Server": {
  1041. [_functionDisableCode] spawn p_executeCode;
  1042. ["Disabled " + _function + " serverside"] spawn p_guiNotification;
  1043. {
  1044. _x setVariable [_functionVarName, nil];
  1045. } forEach allPlayers;
  1046. };
  1047. };
  1048. [_function, "Disable", "-"] spawn p_logCreator;
  1049. };
  1050. } else {
  1051. switch (_targetMode) do {
  1052. case "Local": {
  1053. [_functionEnableCode] spawn p_executeCode;
  1054. [_functionVarName + " locally"] spawn p_guiNotification;
  1055. };
  1056.  
  1057. case "Target": {
  1058. [_functionEnableCode] spawn p_executeCode;
  1059. [_functionVarName + " " + (name _targetObj)] spawn p_guiNotification;
  1060. };
  1061.  
  1062. case "notTarget": {
  1063. [_functionEnableCode] spawn p_executeCode;
  1064. [_functionVarName + " everyone except for" + (name _targetObj)] spawn p_guiNotification;
  1065. };
  1066.  
  1067. case "Global": {
  1068. [_functionEnableCode] spawn p_executeCode;
  1069. [_functionVarName + " everyone"] spawn p_guiNotification;
  1070. };
  1071.  
  1072. case "Server": {
  1073. [_functionEnableCode] spawn p_executeCode;
  1074. [_functionVarName + " serverside"] spawn p_guiNotification;
  1075. };
  1076. };
  1077. [_function, "nToggle", "-"] spawn p_logCreator;
  1078. };
  1079. };
  1080.  
  1081. p_toggleAddValToRespawnEH = {
  1082. _btnID = display displayCtrl 405;
  1083. _curMode = missionNamespace getVariable "AddValToRespawnEHMode";
  1084.  
  1085. if (_curMode == 1) then {
  1086. missionNameSpace setVariable ["AddValToRespawnEHMode", 0];
  1087. ["Values and bools will not be added to a respawn EH"] spawn p_guinotification;
  1088. _btnID ctrlSetText "Don't add to Res. EH";
  1089. } else {
  1090. missionNameSpace setVariable ["AddValToRespawnEHMode", 1];
  1091. ["Values and bools will be added to a respawn EH"] spawn p_guinotification;
  1092. _btnID ctrlSetText "Add to Res. EH";
  1093. };
  1094. };
  1095.  
  1096. p_clearSubMenu = {
  1097. _subToDelete = _this select 0;
  1098. _subToOpen = _this select 1;
  1099.  
  1100. switch (_subToDelete) do {
  1101.  
  1102. case "debug": {
  1103. ctrlDelete (display displayCtrl 300);
  1104. ctrlDelete (display displayCtrl 301);
  1105. ctrlDelete (display displayCtrl 302);
  1106. ctrlDelete (display displayCtrl 303);
  1107. ctrlDelete (display displayCtrl 304);
  1108. ctrlDelete (display displayCtrl 305);
  1109. };
  1110.  
  1111. case "values": {
  1112. ctrlDelete (display displayCtrl 400);
  1113. ctrlDelete (display displayCtrl 401);
  1114. ctrlDelete (display displayCtrl 402);
  1115. ctrlDelete (display displayCtrl 403);
  1116. ctrlDelete (display displayCtrl 404);
  1117. ctrlDelete (display displayCtrl 405);
  1118. ctrlDelete (display displayCtrl 406);
  1119. ctrlDelete (display displayCtrl 407);
  1120. };
  1121.  
  1122. case "target": {
  1123. ctrlDelete (display displayCtrl 500);
  1124. ctrlDelete (display displayCtrl 501);
  1125. ctrlDelete (display displayCtrl 502);
  1126. ctrlDelete (display displayCtrl 503);
  1127. ctrlDelete (display displayCtrl 504);
  1128. ctrlDelete (display displayCtrl 505);
  1129. ctrlDelete (display displayCtrl 506);
  1130. ctrlDelete (display displayCtrl 507);
  1131. ctrlDelete (display displayCtrl 508);
  1132. ctrlDelete (display displayCtrl 509);
  1133. ctrlDelete (display displayCtrl 510);
  1134. ctrlDelete (display displayCtrl 511);
  1135. ctrlDelete (display displayCtrl 512);
  1136. ctrlDelete (display displayCtrl 513);
  1137. ctrlDelete (display displayCtrl 514);
  1138. ctrlDelete (display displayCtrl 515);
  1139. ctrlDelete (display displayCtrl 516);
  1140. ctrlDelete (display displayCtrl 517);
  1141. ctrlDelete (display displayCtrl 518);
  1142. ctrlDelete (display displayCtrl 519);
  1143. ctrlDelete (display displayCtrl 520);
  1144. ctrlDelete (display displayCtrl 521);
  1145. ctrlDelete (display displayCtrl 522);
  1146. ctrlDelete (display displayCtrl 523);
  1147. ctrlDelete (display displayCtrl 524);
  1148. ctrlDelete (display displayCtrl 525);
  1149. ctrlDelete (display displayCtrl 526);
  1150. ctrlDelete (display displayCtrl 527);
  1151. ctrlDelete (display displayCtrl 528);
  1152. };
  1153.  
  1154. case "visuals": {
  1155. ctrlDelete (display displayCtrl 600);
  1156. ctrlDelete (display displayCtrl 601);
  1157. ctrlDelete (display displayCtrl 602);
  1158. ctrlDelete (display displayCtrl 603);
  1159. ctrlDelete (display displayCtrl 604);
  1160. ctrlDelete (display displayCtrl 605);
  1161. ctrlDelete (display displayCtrl 606);
  1162. ctrlDelete (display displayCtrl 607);
  1163. ctrlDelete (display displayCtrl 608);
  1164. ctrlDelete (display displayCtrl 609);
  1165. ctrlDelete (display displayCtrl 610);
  1166. ctrlDelete (display displayCtrl 611);
  1167. ctrlDelete (display displayCtrl 612);
  1168. ctrlDelete (display displayCtrl 613);
  1169. ctrlDelete (display displayCtrl 614);
  1170. ctrlDelete (display displayCtrl 615);
  1171. ctrlDelete (display displayCtrl 616);
  1172. ctrlDelete (display displayCtrl 617);
  1173. ctrlDelete (display displayCtrl 618);
  1174. ctrlDelete (display displayCtrl 619);
  1175. ctrlDelete (display displayCtrl 620);
  1176. ctrlDelete (display displayCtrl 621);
  1177. ctrlDelete (display displayCtrl 622);
  1178. ctrlDelete (display displayCtrl 623);
  1179. ctrlDelete (display displayCtrl 624);
  1180. ctrlDelete (display displayCtrl 625);
  1181. ctrlDelete (display displayCtrl 626);
  1182. ctrlDelete (display displayCtrl 627);
  1183. ctrlDelete (display displayCtrl 628);
  1184. ctrlDelete (display displayCtrl 629);
  1185. ctrlDelete (display displayCtrl 630);
  1186. ctrlDelete (display displayCtrl 631);
  1187. ctrlDelete (display displayCtrl 632);
  1188. ctrlDelete (display displayCtrl 633);
  1189. ctrlDelete (display displayCtrl 634);
  1190. ctrlDelete (display displayCtrl 635);
  1191. ctrlDelete (display displayCtrl 636);
  1192. ctrlDelete (display displayCtrl 637);
  1193. ctrlDelete (display displayCtrl 638);
  1194. ctrlDelete (display displayCtrl 639);
  1195. ctrlDelete (display displayCtrl 640);
  1196. ctrlDelete (display displayCtrl 641);
  1197. ctrlDelete (display displayCtrl 642);
  1198. ctrlDelete (display displayCtrl 643);
  1199. ctrlDelete (display displayCtrl 644);
  1200. ctrlDelete (display displayCtrl 645);
  1201. ctrlDelete (display displayCtrl 646);
  1202. ctrlDelete (display displayCtrl 647);
  1203. ctrlDelete (display displayCtrl 648);
  1204. ctrlDelete (display displayCtrl 649);
  1205. ctrlDelete (display displayCtrl 650);
  1206. ctrlDelete (display displayCtrl 651);
  1207. ctrlDelete (display displayCtrl 652);
  1208. ctrlDelete (display displayCtrl 653);
  1209. ctrlDelete (display displayCtrl 654);
  1210. ctrlDelete (display displayCtrl 655);
  1211. ctrlDelete (display displayCtrl 656);
  1212. ctrlDelete (display displayCtrl 657);
  1213. ctrlDelete (display displayCtrl 658);
  1214. ctrlDelete (display displayCtrl 659);
  1215. };
  1216.  
  1217. case "pwCheck": {
  1218. ctrlDelete (display displayCtrl 8564);
  1219. ctrlDelete (display displayCtrl 8565);
  1220. ctrlDelete (display displayCtrl 8566);
  1221. };
  1222.  
  1223. case "yyyyyyyyy": {
  1224. ctrlDelete (display displayCtrl 8567);
  1225. ctrlDelete (display displayCtrl 8568);
  1226. ctrlDelete (display displayCtrl 8569);
  1227. ctrlDelete (display displayCtrl 8570);
  1228. ctrlDelete (display displayCtrl 8571);
  1229. ctrlDelete (display displayCtrl 8572);
  1230. ctrlDelete (display displayCtrl 8573);
  1231. ctrlDelete (display displayCtrl 8574);
  1232. ctrlDelete (display displayCtrl 8575);
  1233. ctrlDelete (display displayCtrl 8576);
  1234. ctrlDelete (display displayCtrl 8577);
  1235. ctrlDelete (display displayCtrl 8578);
  1236. ctrlDelete (display displayCtrl 8579);
  1237. ctrlDelete (display displayCtrl 8580);
  1238. ctrlDelete (display displayCtrl 8581);
  1239. ctrlDelete (display displayCtrl 8583);
  1240. ctrlDelete (display displayCtrl 8584);
  1241. ctrlDelete (display displayCtrl 8585);
  1242. ctrlDelete (display displayCtrl 8586);
  1243. ctrlDelete (display displayCtrl 8582);
  1244. ctrlDelete (display displayCtrl 8587);
  1245. ctrlDelete (display displayCtrl 8588);
  1246. ctrlDelete (display displayCtrl 925);
  1247. };
  1248.  
  1249. };
  1250. player setVariable ["subOpen", "none"];
  1251.  
  1252. call compile format ["[] spawn %1", _subToOpen];
  1253. };
  1254.  
  1255. p_setValue = {
  1256. _input = _this select 0;
  1257. _lbData = _this select 1;
  1258. _curMode = missionNamespace getVariable "AddValToRespawnEHMode";
  1259. if (_lbData == "clearRespawnEH") then {
  1260. ["p_thingsToExecuteOnRespawn = [];"] spawn p_executeCode;
  1261. ["Reset respawn eventhandlers on selected"] spawn p_guinotification;
  1262. ["Reset EHs", "nToggle", "-"] spawn p_logCreator;
  1263. } else {
  1264.  
  1265. comment "check if Respawn EH is enabled";
  1266. if (_curMode == 1) then {
  1267.  
  1268. comment "Init, function eh array etcetc";
  1269. _init = format ['
  1270.  
  1271. _hasExecutedRespawnEHInit = missionNamespace getVariable "hasExecutedRespawnEHInit";
  1272.  
  1273. if (isNil "_hasExecutedRespawnEHInit") then
  1274. {
  1275.  
  1276. p_thingsToExecuteOnRespawn = [];
  1277.  
  1278. p_respawnEHSetStuff = {
  1279. {
  1280. call compile _x;
  1281. } forEach p_thingsToExecuteOnRespawn;
  1282. };
  1283.  
  1284.  
  1285. p_valueRespawnEH = player addEventHandler ["Respawn",{[] spawn p_respawnEHSetStuff}];
  1286. missionNamespace setVariable ["hasExecutedRespawnEHInit", "uselessstring"];
  1287. };
  1288. '];
  1289.  
  1290. [_init, 1] spawn p_executeCode;
  1291.  
  1292. comment "pushback things";
  1293.  
  1294. if (_lbData == "invalid") then {
  1295. ["Invalid modification selected"] spawn p_guinotification;
  1296. }
  1297. else {
  1298. _pushBackCode = "player " + _lbData + " " + _input;
  1299. _pushBackCodeFinal = format ["p_thingsToExecuteOnRespawn pushBack '%1'", _pushBackCode];
  1300. [_pushBackCodeFinal, 1] spawn p_executeCode;
  1301. ["Added value to r.EH", "nToggle", _pushBackCodeFinal] spawn p_logCreator;
  1302. };
  1303. };
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309. comment "executing input";
  1310. if (_lbData == "invalid") then {
  1311. ["Invalid modification selected"] spawn p_guinotification;
  1312. }
  1313. else {
  1314. _code = "player " + _lbData + " " + _input;
  1315. [_code, 1] spawn p_executeCode;
  1316. if (_curMode != 1) then {
  1317. ["Set value", "nToggle", _code] spawn p_logCreator;
  1318. };
  1319. };
  1320. };
  1321. };
  1322.  
  1323. p_executeCode = {
  1324. _returnBox = display displayCtrl 303;
  1325. _targetSelector = display displayCtrl 104;
  1326. _targetName = name (call p_getTargetObj);
  1327.  
  1328. _code = _this select 0;
  1329. _shouldHint = _this select 1;
  1330. _curMode = ctrlText _targetSelector;
  1331.  
  1332. switch (_curMode) do {
  1333.  
  1334. case "Local": {
  1335. if (_shouldHint == 1) then {
  1336. ["Executed code locally"] spawn p_guinotification;
  1337. };
  1338. _return = call compile _code;
  1339. missionNameSpace setVariable ["codeExecReturn", _return];
  1340. };
  1341.  
  1342. case "Target": {
  1343. if (_shouldHint == 1) then {
  1344. ["Executed code on " + _targetName] spawn p_guinotification;
  1345. };
  1346.  
  1347. [[_code, _targetName], {
  1348. _name = name player;
  1349.  
  1350. if (_name == (_this select 1)) then {
  1351. call compile (_this select 0);
  1352. };
  1353. }]
  1354. remoteExec ["bis_fnc_spawn", 0];
  1355. };
  1356.  
  1357. case "notTarget": {
  1358. if (_shouldHint == 1) then {
  1359. ["Executed code on all except for " + _targetName] spawn p_guinotification;
  1360. };
  1361.  
  1362. [[_code, _targetName], {
  1363. _name = name player;
  1364.  
  1365. if (_name != (_this select 1)) then {
  1366. call compile (_this select 0);
  1367. };
  1368. }]
  1369. remoteExec ["bis_fnc_spawn", 0];
  1370. };
  1371.  
  1372. case "Global": {
  1373. if (_shouldHint == 1) then {
  1374. ["Executed code globally"] spawn p_guinotification;
  1375. };
  1376.  
  1377. [[_code], {call compile (_this select 0)}]
  1378. remoteExec ["bis_fnc_spawn", 0];
  1379. };
  1380.  
  1381. case "Server": {
  1382. if (_shouldHint == 1) then {
  1383. ["Executed code serverside"] spawn p_guinotification;
  1384. };
  1385.  
  1386. [[_code], {call compile (_this select 0)}]
  1387. remoteExec ["bis_fnc_spawn", 2];
  1388. };
  1389.  
  1390. };
  1391. _return = missionNamespace getVariable "codeExecReturn";
  1392. _returnBox ctrlSetText str _return; comment "only works for local";
  1393. };
  1394.  
  1395. p_targetSwapper = {
  1396. _targetSelector = display displayCtrl 104;
  1397. _bgPlayerSelect = display displayCtrl 205;
  1398. _playerSelector = display displayCtrl 206;
  1399. _bgDisplayPlayer = display displayCtrl 207;
  1400. _DisplayPlayer = display displayCtrl 208;
  1401. _curMode = ctrlText _targetSelector;
  1402. _checkPlayerSelector = player getVariable "isPlayerSelectionOpened";
  1403. _subOpen = player getVariable "subOpen";
  1404.  
  1405. switch (_curMode) do {
  1406.  
  1407. case "Local": {
  1408. _targetSelector ctrlSetText "Target";
  1409. player setVariable ["lastSelection", "Target"];
  1410.  
  1411. [] spawn p_createPlayerSelectorBtn;
  1412. [] spawn p_createPlayerDisplayerBtn;
  1413.  
  1414. if (_checkPlayerSelector == 1) then {
  1415. [] spawn p_createPlayerSelector;
  1416. };
  1417.  
  1418. if ((_subOpen == "target") || (_subOpen == "yyyyyyyyy")) then {
  1419. [] spawn p_yyyyyyyyyMenuRefreshButtons;
  1420. [] spawn p_targetMenuRefreshButtons;
  1421. };
  1422. };
  1423.  
  1424. case "Target": {
  1425. _targetSelector ctrlSetText "notTarget";
  1426. player setVariable ["lastSelection", "notTarget"];
  1427. [] spawn p_targetMenuWhiteButtons;
  1428. [] spawn p_yyyyyyyyyMenuWhiteButtons;
  1429. };
  1430.  
  1431. case "notTarget": {
  1432. [] spawn p_removePlayerSelector;
  1433. _targetSelector ctrlSetText "Global";
  1434. player setVariable ["lastSelection", "Global"];
  1435. _bgPlayerSelect ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1436. _playerSelector ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1437. _bgDisplayPlayer ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1438. _DisplayPlayer ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1439. _bgDisplayPlayer ctrlCommit 1;
  1440. _DisplayPlayer ctrlCommit 1;
  1441. _bgPlayerSelect ctrlCommit 1;
  1442. _playerSelector ctrlCommit 1;
  1443. sleep 1;
  1444. ctrlDelete _bgPlayerSelect;
  1445. ctrlDelete _playerSelector;
  1446. ctrlDelete _bgDisplayPlayer;
  1447. ctrlDelete _DisplayPlayer;
  1448. };
  1449.  
  1450. case "Global": {
  1451. [] spawn p_removePlayerSelector;
  1452. _targetSelector ctrlSetText "Server";
  1453. player setVariable ["lastSelection", "Server"];
  1454. ctrlDelete _bgPlayerSelect;
  1455. ctrlDelete _playerSelector;
  1456. ctrlDelete _bgDisplayPlayer;
  1457. ctrlDelete _DisplayPlayer;
  1458. };
  1459.  
  1460. case "Server": {
  1461. [] spawn p_removePlayerSelector;
  1462. _targetSelector ctrlSetText "Local";
  1463. player setVariable ["lastSelection", "Local"];
  1464. ctrlDelete _bgPlayerSelect;
  1465. ctrlDelete _playerSelector;
  1466. ctrlDelete _bgDisplayPlayer;
  1467. ctrlDelete _DisplayPlayer;
  1468. };
  1469.  
  1470. default {
  1471. _targetSelector ctrlSetText "Local";
  1472. };
  1473. };
  1474. };
  1475.  
  1476. p_createPlayerSelectorBtn = {
  1477. _bgPlayerSelect = display ctrlCreate ["RscBackground", 205];
  1478. _bgPlayerSelect ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1479. _bgPlayerSelect ctrlSetBackgroundColor [1,0,0,0.7];
  1480. _bgPlayerSelect ctrlCommit 0;
  1481. _bgPlayerSelect ctrlSetPosition [safeZoneX,(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1482. _bgPlayerSelect ctrlCommit 1;
  1483.  
  1484. _playerSelector = display ctrlCreate ["RscButtonTextOnly", 206];
  1485. _playerSelector ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1486. _playerSelector ctrlSetText "Target selector";
  1487. _playerSelector ctrlSetFont "PuristaLight";
  1488. _playerSelector ctrlSetTooltip "Toggle player selector";
  1489. _playerSelector ctrlSetEventHandler ["MouseButtonUp","[] spawn p_playerSelectorToggle"];
  1490. _playerSelector ctrlCommit 0;
  1491. _playerSelector ctrlSetPosition [safeZoneX,(safezoneY + 0.7851 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1492. _playerSelector ctrlCommit 1;
  1493. };
  1494.  
  1495. p_createPlayerDisplayerBtn = {
  1496. _bg = display ctrlCreate ["RscBackground", 207];
  1497. _bg ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1498. _bg ctrlSetBackgroundColor [1,0,0,0.7];
  1499. _bg ctrlCommit 0;
  1500. _bg ctrlSetPosition [safeZoneX,(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1501. _bg ctrlCommit 1;
  1502.  
  1503. _displayTargetBtn = display ctrlCreate ["RscButtonTextOnly", 208];
  1504. _displayTargetBtn ctrlSetPosition [safeZoneX-(safezoneW * 0.1),(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1505. _displayTargetBtn ctrlSetText "Display";
  1506. _displayTargetBtn ctrlSetFont "PuristaLight";
  1507. _displayTargetBtn ctrlSetTooltip "Display selected target";
  1508. _displayTargetBtn ctrlSetEventHandler ["MouseButtonUp","
  1509. _objName = name (call p_getTargetObj);
  1510. ['Selected target is ' + _objName] spawn p_guiNotification"];
  1511. _displayTargetBtn ctrlCommit 0;
  1512. _displayTargetBtn ctrlSetPosition [safeZoneX,(safezoneY + 0.796 * safezoneH),(safezoneW * 0.1) / 1.25,(safezoneH * 0.01)];
  1513. _displayTargetBtn ctrlCommit 1;
  1514. };
  1515.  
  1516. p_playerSelectorToggle = {
  1517. _varcheck = player getVariable "isPlayerSelectionOpened";
  1518.  
  1519. if (isNil "_varCheck") then {
  1520. player setVariable ["isPlayerSelectionOpened", 0];
  1521. };
  1522.  
  1523. _openedVariable = player getVariable "isPlayerSelectionOpened";
  1524.  
  1525. if (_openedVariable == 0) then {
  1526. [] spawn p_createPlayerSelector;
  1527. player setVariable ["isPlayerSelectionOpened", 1];
  1528. } else
  1529. {
  1530. [] spawn p_removePlayerSelector;
  1531. player setVariable ["isPlayerSelectionOpened", 0];
  1532. };
  1533. };
  1534.  
  1535. p_createPlayerSelector = {
  1536. player setVariable ["isPlayerSelectionOpened", 1];
  1537. _bgTop = display displayCtrl 645;
  1538. _tvMid = display displayCtrl 209;
  1539. _bgBot = display displayCtrl 210;
  1540. _refreshBtn = display displayCtrl 211;
  1541.  
  1542. ctrlDelete _bgTop;
  1543. ctrlDelete _tvMid;
  1544. ctrlDelete _bgBot;
  1545. ctrlDelete _refreshBtn;
  1546.  
  1547. _bgTop = display ctrlCreate ["RscEdit", 645];
  1548. _bgTop ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1549. _bgTop ctrlSetBackgroundColor [1,0,0,0.7];
  1550. _bgTop ctrlCommit 0;
  1551. _bgTop ctrlSetPosition [safeZoneX + (safezoneW / 1.125),(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1552. _bgTop ctrlCommit 1;
  1553.  
  1554. _tvMid = display ctrlCreate ["RscTreeSearch", 209];
  1555. _tvMid ctrlSetPosition [safezoneX + safezoneW,(safezoneY + 0.225 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.55)];
  1556. _tvMid ctrlSetBackgroundColor [0,0,0,0.7];
  1557. _tvMid ctrlSetEventHandler ["TreeDblClick","[] spawn p_setPlayerTarget"];
  1558. _tvMid ctrlCommit 0;
  1559. _tvMid ctrlSetPosition [safezoneX + (safezoneW / 1.15),(safezoneY + 0.225 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.55)];
  1560. _tvMid ctrlCommit 1;
  1561.  
  1562. _bgBot = display ctrlCreate ["RscBackground", 210];
  1563. _bgBot ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1564. _bgBot ctrlSetBackgroundColor [1,0,0,0.7];
  1565. _bgBot ctrlCommit 0;
  1566. _bgBot ctrlSetPosition [safeZoneX + (safezoneW / 1.125),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1567. _bgBot ctrlCommit 1;
  1568.  
  1569. _spectateTargetBtn = display ctrlCreate ["RscButtonTextOnly", 212];
  1570. _spectateTargetBtn ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1571. _spectateTargetBtn ctrlSetText "Spectate target";
  1572. _spectateTargetBtn ctrlSetFont "PuristaLight";
  1573. _spectateTargetBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_spectate"];
  1574. _spectateTargetBtn ctrlCommit 0;
  1575. _spectateTargetBtn ctrlSetPosition [safeZoneX + (safezoneW / 1.125),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1576. _spectateTargetBtn ctrlCommit 1;
  1577.  
  1578. _bgBot2 = display ctrlCreate ["RscBackground", 213];
  1579. _bgBot2 ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1580. _bgBot2 ctrlSetBackgroundColor [1,0,0,0.7];
  1581. _bgBot2 ctrlCommit 0;
  1582. _bgBot2 ctrlSetPosition [safeZoneX + (safezoneW / 1.125),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1583. _bgBot2 ctrlCommit 1;
  1584.  
  1585. _refreshBtn = display ctrlCreate ["RscButtonTextOnly", 211];
  1586. _refreshBtn ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1587. _refreshBtn ctrlSetText "Refresh";
  1588. _refreshBtn ctrlSetFont "PuristaLight";
  1589. _refreshBtn ctrlSetTooltip "Refresh playerlist";
  1590. _refreshBtn ctrlSetEventHandler ["MouseButtonUp","[] spawn p_fillPlayerSelector"];
  1591. _refreshBtn ctrlCommit 0;
  1592. _refreshBtn ctrlSetPosition [safeZoneX + (safezoneW / 1.125),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1593. _refreshBtn ctrlCommit 1;
  1594.  
  1595. [] spawn p_fillPlayerSelector;
  1596. };
  1597.  
  1598. p_setPlayerTarget = {
  1599. _tvMid = display displayCtrl 209;
  1600.  
  1601. _curSel = tvCurSel _tvMid;
  1602. _data = _tvMid tvData _curSel;
  1603. hint _data;
  1604.  
  1605.  
  1606.  
  1607. missionNameSpace setVariable ["targetUID", _data];
  1608. _obj = call p_getTargetObj;
  1609.  
  1610. ["Set target to " + (name _obj)] spawn p_guiNotification;
  1611.  
  1612. if ((ctrlText (display displayCtrl 104)) == "Target") then {
  1613. [] spawn p_targetMenuRefreshButtons;
  1614. [] spawn p_yyyyyyyyyMenuRefreshButtons;
  1615. } else {
  1616. [] spawn p_targetMenuWhiteButtons;
  1617. [] spawn p_yyyyyyyyyMenuWhiteButtons;
  1618. };
  1619. };
  1620.  
  1621. p_getTargetObj = {
  1622. {
  1623.  
  1624. if ((getPlayerUID _x) == (missionNameSpace getVariable "targetUID")) then {
  1625. missionNameSpace setVariable ["tempVarTargetObj", _x];
  1626. };
  1627. } forEach allPlayers;
  1628.  
  1629.  
  1630. _targetObjName = missionNameSpace getVariable "tempVarTargetObj";
  1631.  
  1632. _targetObjName;
  1633. };
  1634.  
  1635. p_fillPlayerSelector = {
  1636. _tvMid = display displayCtrl 209;
  1637. tvClear _tvMid;
  1638. {
  1639. _playerUID = getPlayerUID _x;
  1640. _playerObj = str _x;
  1641. _name = name _x;
  1642. _displayString = name _x + " (" + _playerObj +")";
  1643.  
  1644. if (vehicle _x == _x) then {
  1645. _wepPic = getText(configFile >> "CfgWeapons" >> (currentWeapon _x) >> "Picture");
  1646.  
  1647. _index = _tvMid tvAdd [[],_displayString];
  1648. _tvMid tvSetPicture [[_index], _wepPic];
  1649. _tvMid tvSetData [[_index], _playerUID];
  1650. } else {
  1651. _vehPic = getText(configFile >> "CfgVehicles" >> (typeOf vehicle _x) >> "Picture");
  1652.  
  1653. _index = _tvMid tvAdd [[],_displayString];
  1654. _tvMid tvSetPicture [[_index], _vehPic];
  1655. _tvMid tvSetData [[_index], _playerUID];
  1656. };
  1657. } forEach allPlayers;
  1658. };
  1659.  
  1660. p_removePlayerSelector = {
  1661. _bgTop = display displayCtrl 645;
  1662. _tvMid = display displayCtrl 209;
  1663. _bgBot = display displayCtrl 210;
  1664. _refreshBtn = display displayCtrl 211;
  1665. _morebuttons = display displayCtrl 212;
  1666. _morebuttons2 = display displayCtrl 213;
  1667.  
  1668.  
  1669. _bgTop ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.215 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1670. _tvMid ctrlSetPosition [safezoneX + safezoneW,(safezoneY + 0.225 * safezoneH),(safezoneW * 0.15),(safezoneH * 0.55)];
  1671. _bgBot ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1672. _refreshBtn ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1673. _morebuttons ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.775 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1674. _morebuttons2 ctrlSetPosition [safeZoneX + (safezoneW * 1.025),(safezoneY + 0.7852 * safezoneH),(safezoneW * 0.1) / 0.895,(safezoneH * 0.01)];
  1675.  
  1676. _bgTop ctrlCommit 1;
  1677. _tvMid ctrlCommit 1;
  1678. _bgBot ctrlCommit 1;
  1679. _refreshBtn ctrlCommit 1;
  1680. _morebuttons ctrlCommit 1;
  1681. _morebuttons2 ctrlCommit 1;
  1682.  
  1683. sleep 1;
  1684.  
  1685. ctrlDelete _bgTop;
  1686. ctrlDelete _tvMid;
  1687. ctrlDelete _bgBot;
  1688. ctrlDelete _refreshBtn;
  1689. ctrlDelete _morebuttons;
  1690. ctrlDelete _morebuttons2;
  1691. };
  1692.  
  1693. ["Potatimenu successfully initialized, F3 to open!"] spawn p_noGuiNotification;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement