Guest User

Untitled

a guest
Jul 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.37 KB | None | 0 0
  1. //fnc_menuFnc_wpnDataMenu.sqf
  2. #define MENUNAME wpnData
  3. #include "ACE_MBC_script_macros.hpp"
  4.  
  5. STARTMENUINIT
  6. /*
  7.  
  8. //BATTERY DATA FORMAT
  9. [
  10. CALIBER, // VALUE IN MM (60, 81, 120) USING DEFINED HOLDER WEP_CALIBER_##
  11. ADJUST_PIECE, // GUN NUMBER THAT ADJUSTS (1-6)
  12. WEAPONS
  13. ];
  14. */
  15. HASH_CREATE(MENUVAR(batteries));
  16. /*
  17.  
  18. //WEAPON DATA FORMAT
  19. [
  20. EASTING, // EASTING IN 10 DIGIT FORMAT
  21. NORTHING // NORTHING IN 10 DIGIT FORMAT
  22. ALTITUDE, // IN METERS ABOVE SEA LEVEL
  23. FIREDIRECTION, // GRID AZIMUTH THAT THE GUN IS ORIGINALLY LAID IN MILS
  24. REFERREDDEFLECTION, // AIMING DEFLECTION IN MILS (USUALLY 2800)
  25. DIRTOREGISTER, // DIRECTION IN MILS TO REGISTER GUN IN MILS(GUN 1)
  26. DISTTOREGISTER // DISTANCE TO REGISTER GUN IN METERS (GUN 1)
  27. ];
  28.  
  29. */
  30.  
  31. MENUVAR(selected_battery) = "A";
  32. MENUVAR(selected_weapon) = "1";
  33.  
  34. MENUVAR(mode) = "NORM";
  35. ENDMENUINIT
  36.  
  37. STARTMENU
  38. STARTSTEP
  39. MENUVAR(mode) = "NORM";
  40. _setup = ["BATTERY: ", 1, 0, ["A","B","C"]];
  41. MULTI(_setup);
  42. ENDSTEP
  43. STARTSTEP
  44. STOREDATA
  45. MENUVAR(selected_battery) = MULTIDATA;
  46. ENDSTOREDATA
  47. _index = 0;
  48. player sideChat format["t: %1", MENUVAR(batteries)];
  49. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  50. player sideChat format["bat: %1", MENUVAR(selected_battery)];
  51. if(isNil "_battery") then {
  52. player sideChat "bat nil";
  53. HASH_CREATE(_battery);
  54. HASH_CREATE(_weapons);
  55. HASH_SET(_battery,"WEAPONS",_weapons);
  56. //HASH_SET(MENUVAR(batteries),MENUVAR(selected_battery),_battery);
  57. player sideChat format["CREATE BATTERY: %1", [MENUVAR(batteries), MENUVAR(selected_battery), _battery]];
  58. [MENUVAR(batteries), MENUVAR(selected_battery), _battery] call CBA_fnc_hashSet;
  59. } else {
  60. _index = HASH_GET(_battery,"CALIBER");
  61. player sideChat format["index: %1", _index];
  62. if(isNil "_index") then {
  63. _index = 0;
  64. };
  65. };
  66. _setup = ["CALIBER: ", 3, _index, WEP_CALIBERS];
  67. MULTI(_setup);
  68. ENDSTEP
  69. STARTSTEP
  70. STOREDATA
  71. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  72. player sideChat format["store: %1", _battery];
  73. HASH_SET(_battery,"CALIBER",MULTIINDEX);
  74. ENDSTOREDATA
  75. _setup = [format["WPN: %1",MENUVAR(selected_battery)], 1, 0, ["1","2","3","4","5","6"]];
  76. MULTI(_setup);
  77. ENDSTEP
  78. STARTSTEP
  79. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  80. STOREDATA
  81. MENUVAR(selected_weapon) = MULTIDATA;
  82. _adjustPiece = HASH_GET(_battery,"ADJUST_PIECE");
  83. if(isNil "_adjustPiece") then {
  84. HASH_SET(_battery,"ADJUST_PIECE", MENUVAR(selected_weapon));
  85. };
  86. ENDSTOREDATA
  87. _weapons = HASH_GET(_battery,"WEAPONS");
  88. _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
  89. if(isNil "_weapon") then {
  90. HASH_CREATE(_weapon);
  91. HASH_SET(_weapons,MENUVAR(selected_weapon),_weapon);
  92. };
  93. _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
  94. _setup = [];
  95. if(MENUVAR(mode) == "NORM") then {
  96. _easting = HASH_GET(_weapon,"EASTING");
  97. _northing = HASH_GET(_weapon,"NORTHING");
  98. if((isNil "_easting") || (isNil "_northing")) then {
  99. _easting = "";
  100. _northing = "";
  101. };
  102. _setup = [[_easting, 5, "E:", "#####"], [_northing, 5, " N:", "#####"]];
  103. } else {
  104. _direction = HASH_GET(_weapon,"DIRTOREGISTER");
  105. _distance = HASH_GET(_weapon,"DISTTOREGISTER");
  106. if((isNil "_direction") || (isNil "_distance")) then {
  107. _direction = "";
  108. _distance = "";
  109. };
  110. _setup = [[_direction, 4, "DIR:", "####"], [_distance, 3, " DIS:", "###"]];
  111. };
  112. player sideChat "EASTING?";
  113. INPUT(_setup);
  114. ENDSTEP
  115. STARTSTEP
  116. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  117. _weapons = HASH_GET(_battery,"WEAPONS");
  118. _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
  119. STOREDATA
  120. if(MENUVAR(mode) == "NORM") then {
  121. _easting = DATA1;
  122. _northing = DATA2;
  123. if((parseNumber _easting) > 0 && (parseNumber _northing) > 0) then {
  124. player sideChat "STORIING GRID REF";
  125. HASH_SET(_weapon,"EASTING",_easting);
  126. HASH_SET(_weapon,"NORTHING",_northing);
  127. } else {
  128. ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
  129. };
  130. } else {
  131. _direction = DATA1;
  132. _distance = DATA2;
  133. HASH_SET(_weapon,"DIRTOREGISTER",_direction);
  134. HASH_SET(_weapon,"DISTTOREGISTER",_distance);
  135. };
  136. ENDSTOREDATA
  137. _altitude = HASH_GET(_weapon,"ALTITUDE");
  138. if(isNil "_altitude") then {
  139. _altitude = "";
  140. };
  141. _setup = [[_altitude, 4, "ALT:", "####"]];
  142. INPUT(_setup);
  143. ENDSTEP
  144. STARTSTEP
  145. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  146. _weapons = HASH_GET(_battery,"WEAPONS");
  147. _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
  148. STOREDATA
  149. _altitude = DATA1;
  150. if(_altitude != "") then {
  151. HASH_SET(_weapon,"ALTITUDE",_altitude);
  152. } else {
  153. ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
  154. };
  155. ENDSTOREDATA
  156. _fireDirection = HASH_GET(_weapon,"FIREDIRECTION");
  157. _referredDeflection = HASH_GET(_weapon,"REFERREDDEFLECTION");
  158. if((isNil "_fireDirection") && (isNil "_referredDeflection")) then {
  159. _fireDirection = "";
  160. _referredDeflection = "";
  161. };
  162. _setup = [[_fireDirection, 4, "FD:", "####"], [_referredDeflection, 4, " RD:", "####"]];
  163. INPUT(_setup);
  164. ENDSTEP
  165. STARTSTEP
  166. _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
  167. _weapons = HASH_GET(_battery,"WEAPONS");
  168. _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
  169. STOREDATA
  170. _fireDirection = DATA1;
  171. _referredDeflection = DATA2;
  172. if(_fireDirection != "" && _referredDeflection != "") then {
  173. HASH_SET(_weapon,"FIREDIRECTION",_fireDirection);
  174. HASH_SET(_weapon,"REFERREDDEFLECTION",_referredDeflection);
  175. } else {
  176. ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
  177. };
  178. ENDSTOREDATA
  179. _setup = ["CONTINUE: ", 4, 0, ["CONT", "END"]];
  180. MULTI(_setup);
  181. ENDSTEP
  182. STARTSTEP
  183. if(HASDATA && MULTIDATA == "CONT") then {
  184. _setup = [format["NXT WPN: %1",MENUVAR(selected_battery)], 1, 0, ["1","2","3","4","5","6"]];
  185. MULTI(_setup);
  186. MENUVAR(mode) = "CONT";
  187. NEXT_STEP(4);
  188. } else {
  189. SET_TEXT("WPNDATA COMPLETE");
  190. };
  191. ENDSTEP
  192. ENDMENU
  193.  
  194. RETURNMENU
Add Comment
Please, Sign In to add comment