Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //fnc_menuFnc_wpnDataMenu.sqf
- #define MENUNAME wpnData
- #include "ACE_MBC_script_macros.hpp"
- STARTMENUINIT
- /*
- //BATTERY DATA FORMAT
- [
- CALIBER, // VALUE IN MM (60, 81, 120) USING DEFINED HOLDER WEP_CALIBER_##
- ADJUST_PIECE, // GUN NUMBER THAT ADJUSTS (1-6)
- WEAPONS
- ];
- */
- HASH_CREATE(MENUVAR(batteries));
- /*
- //WEAPON DATA FORMAT
- [
- EASTING, // EASTING IN 10 DIGIT FORMAT
- NORTHING // NORTHING IN 10 DIGIT FORMAT
- ALTITUDE, // IN METERS ABOVE SEA LEVEL
- FIREDIRECTION, // GRID AZIMUTH THAT THE GUN IS ORIGINALLY LAID IN MILS
- REFERREDDEFLECTION, // AIMING DEFLECTION IN MILS (USUALLY 2800)
- DIRTOREGISTER, // DIRECTION IN MILS TO REGISTER GUN IN MILS(GUN 1)
- DISTTOREGISTER // DISTANCE TO REGISTER GUN IN METERS (GUN 1)
- ];
- */
- MENUVAR(selected_battery) = "A";
- MENUVAR(selected_weapon) = "1";
- MENUVAR(mode) = "NORM";
- ENDMENUINIT
- STARTMENU
- STARTSTEP
- MENUVAR(mode) = "NORM";
- _setup = ["BATTERY: ", 1, 0, ["A","B","C"]];
- MULTI(_setup);
- ENDSTEP
- STARTSTEP
- STOREDATA
- MENUVAR(selected_battery) = MULTIDATA;
- ENDSTOREDATA
- _index = 0;
- player sideChat format["t: %1", MENUVAR(batteries)];
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- player sideChat format["bat: %1", MENUVAR(selected_battery)];
- if(isNil "_battery") then {
- player sideChat "bat nil";
- HASH_CREATE(_battery);
- HASH_CREATE(_weapons);
- HASH_SET(_battery,"WEAPONS",_weapons);
- //HASH_SET(MENUVAR(batteries),MENUVAR(selected_battery),_battery);
- player sideChat format["CREATE BATTERY: %1", [MENUVAR(batteries), MENUVAR(selected_battery), _battery]];
- [MENUVAR(batteries), MENUVAR(selected_battery), _battery] call CBA_fnc_hashSet;
- } else {
- _index = HASH_GET(_battery,"CALIBER");
- player sideChat format["index: %1", _index];
- if(isNil "_index") then {
- _index = 0;
- };
- };
- _setup = ["CALIBER: ", 3, _index, WEP_CALIBERS];
- MULTI(_setup);
- ENDSTEP
- STARTSTEP
- STOREDATA
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- player sideChat format["store: %1", _battery];
- HASH_SET(_battery,"CALIBER",MULTIINDEX);
- ENDSTOREDATA
- _setup = [format["WPN: %1",MENUVAR(selected_battery)], 1, 0, ["1","2","3","4","5","6"]];
- MULTI(_setup);
- ENDSTEP
- STARTSTEP
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- STOREDATA
- MENUVAR(selected_weapon) = MULTIDATA;
- _adjustPiece = HASH_GET(_battery,"ADJUST_PIECE");
- if(isNil "_adjustPiece") then {
- HASH_SET(_battery,"ADJUST_PIECE", MENUVAR(selected_weapon));
- };
- ENDSTOREDATA
- _weapons = HASH_GET(_battery,"WEAPONS");
- _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
- if(isNil "_weapon") then {
- HASH_CREATE(_weapon);
- HASH_SET(_weapons,MENUVAR(selected_weapon),_weapon);
- };
- _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
- _setup = [];
- if(MENUVAR(mode) == "NORM") then {
- _easting = HASH_GET(_weapon,"EASTING");
- _northing = HASH_GET(_weapon,"NORTHING");
- if((isNil "_easting") || (isNil "_northing")) then {
- _easting = "";
- _northing = "";
- };
- _setup = [[_easting, 5, "E:", "#####"], [_northing, 5, " N:", "#####"]];
- } else {
- _direction = HASH_GET(_weapon,"DIRTOREGISTER");
- _distance = HASH_GET(_weapon,"DISTTOREGISTER");
- if((isNil "_direction") || (isNil "_distance")) then {
- _direction = "";
- _distance = "";
- };
- _setup = [[_direction, 4, "DIR:", "####"], [_distance, 3, " DIS:", "###"]];
- };
- player sideChat "EASTING?";
- INPUT(_setup);
- ENDSTEP
- STARTSTEP
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- _weapons = HASH_GET(_battery,"WEAPONS");
- _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
- STOREDATA
- if(MENUVAR(mode) == "NORM") then {
- _easting = DATA1;
- _northing = DATA2;
- if((parseNumber _easting) > 0 && (parseNumber _northing) > 0) then {
- player sideChat "STORIING GRID REF";
- HASH_SET(_weapon,"EASTING",_easting);
- HASH_SET(_weapon,"NORTHING",_northing);
- } else {
- ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
- };
- } else {
- _direction = DATA1;
- _distance = DATA2;
- HASH_SET(_weapon,"DIRTOREGISTER",_direction);
- HASH_SET(_weapon,"DISTTOREGISTER",_distance);
- };
- ENDSTOREDATA
- _altitude = HASH_GET(_weapon,"ALTITUDE");
- if(isNil "_altitude") then {
- _altitude = "";
- };
- _setup = [[_altitude, 4, "ALT:", "####"]];
- INPUT(_setup);
- ENDSTEP
- STARTSTEP
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- _weapons = HASH_GET(_battery,"WEAPONS");
- _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
- STOREDATA
- _altitude = DATA1;
- if(_altitude != "") then {
- HASH_SET(_weapon,"ALTITUDE",_altitude);
- } else {
- ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
- };
- ENDSTOREDATA
- _fireDirection = HASH_GET(_weapon,"FIREDIRECTION");
- _referredDeflection = HASH_GET(_weapon,"REFERREDDEFLECTION");
- if((isNil "_fireDirection") && (isNil "_referredDeflection")) then {
- _fireDirection = "";
- _referredDeflection = "";
- };
- _setup = [[_fireDirection, 4, "FD:", "####"], [_referredDeflection, 4, " RD:", "####"]];
- INPUT(_setup);
- ENDSTEP
- STARTSTEP
- _battery = HASH_GET(MENUVAR(batteries),MENUVAR(selected_battery));
- _weapons = HASH_GET(_battery,"WEAPONS");
- _weapon = HASH_GET(_weapons,MENUVAR(selected_weapon));
- STOREDATA
- _fireDirection = DATA1;
- _referredDeflection = DATA2;
- if(_fireDirection != "" && _referredDeflection != "") then {
- HASH_SET(_weapon,"FIREDIRECTION",_fireDirection);
- HASH_SET(_weapon,"REFERREDDEFLECTION",_referredDeflection);
- } else {
- ERROR_STEPBACK(ERR_ILL_ENTRY,[]);
- };
- ENDSTOREDATA
- _setup = ["CONTINUE: ", 4, 0, ["CONT", "END"]];
- MULTI(_setup);
- ENDSTEP
- STARTSTEP
- if(HASDATA && MULTIDATA == "CONT") then {
- _setup = [format["NXT WPN: %1",MENUVAR(selected_battery)], 1, 0, ["1","2","3","4","5","6"]];
- MULTI(_setup);
- MENUVAR(mode) = "CONT";
- NEXT_STEP(4);
- } else {
- SET_TEXT("WPNDATA COMPLETE");
- };
- ENDSTEP
- ENDMENU
- RETURNMENU
Add Comment
Please, Sign In to add comment