Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×

Recommended Posts

I want to change the gun store UI in Wasteland so that when you purchase a rifle, LMG, or Pistol, the Ammo and attachments compatible with the firearm appear on the right instead of only the ammo. That way, when using weapon mods, players dont get confused about what is compatible with the weapon.

Can someone tell me what I need to change to accomplish this? Ive never worked on UIs before.

This is what i threw together by copying and pasting sections and modifying them like I think they go. I dont know about all the numbers and stuff though.

 

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Version: 1.0
//	@file Name: buyGuns.sqf
//	@file Author: [404] Deadbeat, [404] Costlyy, [KoS] His_Shadow, AgentRev
//	@file Created: 20/11/2012 05:13
//	@file Args: [int (0 = buy to player 1 = buy to crate)]

if (!isNil "storePurchaseHandle" && {typeName storePurchaseHandle == "SCRIPT"} && {!scriptDone storePurchaseHandle}) exitWith {hint "Please wait, your previous purchase is being processed"};

#include "dialog\gunstoreDefines.sqf";

#define PURCHASED_CRATE_TYPE_AMMO 60
#define PURCHASED_CRATE_TYPE_WEAPON 61

#define GET_DISPLAY (findDisplay balca_debug_VC_IDD)
#define GET_CTRL(a) (GET_DISPLAY displayCtrl ##a)
#define GET_SELECTED_DATA(a) ([##a] call {_idc = _this select 0;_selection = (lbSelection GET_CTRL(_idc) select 0);if (isNil {_selection}) then {_selection = 0};(GET_CTRL(_idc) lbData _selection)})
#define KINDOF_ARRAY(a,b) [##a,##b] call {_veh = _this select 0;_types = _this select 1;_res = false; {if (_veh isKindOf _x) exitwith { _res = true };} forEach _types;_res}

storePurchaseHandle = _this spawn
{
	disableSerialization;

	private ["_name", "_switch", "_price", "_dialog", "_ammoList", "_playerMoneyText", "_playerMoney", "_itemIndex", "_itemText", "_itemData", "_class", "_name", "_mag", "_type", "_backpack", "_gunsList", "_weapon", "_successHint", "_requestKey"];

	//Initialize Values
	_switch = _this select 0;
	_successHint = true;

	// Grab access to the controls
	_dialog = findDisplay gunshop_DIALOG;
	_gunsList = _dialog displayCtrl gunshop_gun_list;
	_playerMoneyText = _dialog displayCtrl gunshop_money;
	_playerMoney = player getVariable ["cmoney", 0];

	_itemIndex = lbCurSel gunshop_gun_list;
	_itemText = _gunsList lbText _itemIndex;
	_itemData = _gunsList lbData _itemIndex;

	_showInsufficientFundsError =
	{
		_itemText = _this select 0;
		hint parseText format ["Not enough money for<br/>""%1""", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	_showInsufficientSpaceError =
	{
		_itemText = _this select 0;
		hint parseText format ["Not enough space for<br/>""%1""", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	_showItemSpawnTimeoutError =
	{
		_itemText = _this select 0;
		hint parseText format ["<t color='#ffff00'>An unknown error occurred.</t><br/>The purchase of ""%1"" has been cancelled.", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	_showItemSpawnedOutsideMessage =
	{
		_itemText = _this select 0;
		hint format ["""%1"" has been spawned outside, in front of the store.", _itemText];
		playSound "FD_Finish_F";
		_successHint = false;
	};

	_showAlreadyHaveTypeMessage =
	{
		_itemText = _this select 0;
		hint format ["Your inventory is full, or you already have a weapon of this type. Please unequip it before purchasing ""%1""", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	switch (_switch) do
	{
		//Buy To Player
		case 0:
		{
			if (isNil "_price") then
			{
				{
					if (_itemData == _x select 1) exitWith
					{
						_class = _x select 1;
						_price = _x select 2;
						_weapon = configFile >> "CfgWeapons" >> _class;

						// Ensure the player has enough money
						if (_price > _playerMoney) exitWith
						{
							[_itemText] call _showInsufficientFundsError;
						};

						if ((!([_class, 1] call isWeaponType) || primaryWeapon player == "") &&
							{!([_class, 2] call isWeaponType) || handgunWeapon player == ""} &&
							{!([_class, 4] call isWeaponType) || secondaryWeapon player == ""}) then
						{
							player addWeapon _class;
						}
						else
						{
							if !([player, _class] call addWeaponInventory) then
							{
								[_itemText] call _showInsufficientSpaceError;
							};
						};
					};
				} forEach (call allGunStoreFirearms);
			};

			if (isNil "_price") then
			{
				{
					if (_itemData == _x select 1) exitWith
					{
						_class = _x select 1;
						_price = _x select 2;

						// Ensure the player has enough money
						if (_price > _playerMoney) exitWith
						{
							[_itemText] call _showInsufficientFundsError;
						};

						if ([player, _class] call fn_fitsInventory) then
						{
							[player, _class] call fn_forceAddItem;
						}
						else
						{
							[_itemText] call _showInsufficientSpaceError;
						};
					}
				} forEach (call throwputArray);
			};

			if (isNil "_price") then
			{
				{
					if (_itemData == _x select 1) exitWith
					{
						_class = _x select 1;
						_price = _x select 2;

						// Ensure the player has enough money
						if (_price > _playerMoney) exitWith
						{
							[_itemText] call _showInsufficientFundsError;
						};

						switch (_x select 3) do
						{
							case "item":
							{
								if ([player, _class] call fn_fitsInventory) then
								{
									[player, _class] call fn_forceAddItem;
								}
								else
								{
									[_itemText] call _showInsufficientSpaceError;
								};
							};
						};
					};
				} forEach (call accessoriesArray);
			};

			if (isNil "_price") then
			{
				{
					if (_itemData == _x select 1) exitWith
					{
						_class = _x select 1;
						_price = _x select 2;

						// Ensure the player has enough money
						if (_price > _playerMoney) exitWith
						{
							[_itemText] call _showInsufficientFundsError;
						};

						removeBackpack player;
						player addBackpack _class;
					};
				} forEach (call backpackArray);
			};

			if (isNil "_price") then
			{
				{
					// Exact copy of genObjectsArray call in buyItems.sqf
					if (_itemData == _x select 1) exitWith
					{
						_class = _x select 1;
						_price = _x select 2;

						// Ensure the player has enough money
						if (_price > _playerMoney) exitWith
						{
							[_itemText] call _showInsufficientFundsError;
						};

						_requestKey = call A3W_fnc_generateKey;
						call requestStoreObject;
					};
				} forEach (call staticGunsArray);
			};
		};
	};

	if (!isNil "_price" && {_price > -1}) then
	{
		_playerMoney = player getVariable ["cmoney", 0];

		// Re-check for money after purchase
		if (_price > _playerMoney) then
		{
			if (!isNil "_requestKey" && {!isNil _requestKey}) then
			{
				deleteVehicle objectFromNetId (missionNamespace getVariable _requestKey);
			};

			[_itemText] call _showInsufficientFundsError;
		}
		else
		{
			player setVariable ["cmoney", _playerMoney - _price, true];
			_playerMoneyText ctrlSetText format ["Cash: $%1", [player getVariable ["cmoney", 0]] call fn_numbersText];
			if (_successHint) then { hint "Purchase successful!" };
			playSound "FD_Finish_F";
		};
	};

	if (!isNil "_requestKey" && {!isNil _requestKey}) then
	{
		missionNamespace setVariable [_requestKey, nil];
	};

	sleep 0.25; // double-click protection
};

if (typeName storePurchaseHandle == "SCRIPT") then
{
	private "_storePurchaseHandle";
	_storePurchaseHandle = storePurchaseHandle;
	waitUntil {scriptDone _storePurchaseHandle};
};

storePurchaseHandle = nil;

 

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Version: 1.0
//	@file Name: populateGunStore.sqf
//	@file Author: [404] Deadbeat, [KoS] His_Shadow, AgentRev
//	@file Created: 20/11/2012 05:13
//	@file Args: [int (0 = populate list with guns 1 = populate list with ammo 2 = populate list with equipment)]

#include "dialog\gunstoreDefines.sqf";
disableSerialization;
private ["_switch", "_dialog", "_gunlisttext", "_gunlist", "_ammolist", "_ammoBtn", "_ammoLbl", "_gunDesc", "_showAmmo", "__showAttachments" "_playerSideNum", "_itemsArray", "_parentCfg", "_weaponClass", "_weapon", "_picture", "_gunlistIndex"];
_switch = _this select 0;

// Grab access to the controls
_dialog = findDisplay gunshop_DIALOG;
_gunlisttext = _dialog displayCtrl gunshop_gun_TEXT;
_gunlist = _dialog displayCtrl gunshop_gun_list;
_ammolist = _dialog displayCtrl gunshop_ammo_list;
_ammoBtn = _dialog displayCtrl gunshop_but_butammo;
_ammoLbl = _dialog displayCtrl gunshop_ammo_TEXT;
_gunDesc = _dialog displayCtrl gunshop_gun_desc;
_attachmentsBtn = _dialog displayCtrl gunshop_but_butattachment;
_attachmentsLbl = _dialog displayCtrl gunshop_attachment_TEXT;
_attachmentslist = _dialog displayCtrl gunshop_attachment_list;


_attachmentsLbl ctrlSetTest "";
_ammoLbl ctrlSetText "";

lbClear _gunlist;
lbClear _ammolist;
lbClear _attachmentslist;

_gunlist lbSetCurSel -1;

_showAmmo = false;
_showAttachments = false;
_playerSideNum = switch (playerSide) do
{
	case BLUFOR:      { 1 };
	case OPFOR:       { 0 };
	case INDEPENDENT: { 2 };
	default           { 3 };
};

switch(_switch) do
{
	case 0:
	{
		_itemsArray = call pistolArray;
		_showAmmo = true;
		_showAttachments = true;
	};
	case 1:
	{
		_itemsArray = call smgArray;
		_showAmmo = true;
		_showAttachments = true;
	};
	case 2:
	{
		_itemsArray = call rifleArray;
		_showAmmo = true;
		_showAttachments = true;
	};
	case 3:
	{
		_itemsArray = call lmgArray;
		_showAmmo = true;
		_showAttachments = true;
	};
	case 5:
	{
		_itemsArray = call launcherArray;
		_showAmmo = true;
	};
	case 6:
	{
		_itemsArray = call throwputArray;
	};
	case 7:
	{
		_itemsArray = call accessoriesArray;
	};
	case 8:
	{
		_itemsArray = [];

		{
			if (getNumber (configFile >> "CfgVehicles" >> _x select 1 >> "side") in [_playerSideNum, 3]) then
			{
				_itemsArray pushBack _x;
			};
		} forEach (call staticGunsArray);
	};
	default
	{
		_itemsArray = [];
	};
};

if (_showAmmo) then
{
	_ammoBtn ctrlShow true;
	_ammoLbl ctrlShow true;
	_ammolist ctrlShow true;
}
else
{
	_ammoBtn ctrlShow false;
	_ammoLbl ctrlShow false;
	_ammolist ctrlShow false;
};

if (_showAttachments) then
{
	_attachmentsBtn ctrlShow true;
	_attachmentsLbl ctrlShow true;
	_attachmentslist ctrlShow true;
}
else
{
	_attachmentsBtn ctrlShow false;
	_attachmentsLbl ctrlShow false;
	_attachmentslist ctrlShow false;
};

{
	_weaponClass = _x select 1;

	switch (true) do
	{
		case (isClass (configFile >> "CfgVehicles" >> _weaponClass)):  { _parentCfg = configFile >> "CfgVehicles" };
		case (isClass (configFile >> "CfgWeapons" >> _weaponClass)):   { _parentCfg = configFile >> "CfgWeapons" };
		case (isClass (configFile >> "CfgMagazines" >> _weaponClass)): { _parentCfg = configFile >> "CfgMagazines" };
		case (isClass (configFile >> "CfgGlasses" >> _weaponClass)):   { _parentCfg = configFile >> "CfgGlasses" };
	};

	if (!isNil "_parentCfg") then
	{
		_weapon = _parentCfg >> _weaponClass;
		_picture = getText (_weapon >> "picture");

		_gunlistIndex = _gunlist lbAdd format ["%1", [_x select 0, getText (_weapon >> "displayName")] select (_x select 0 == "")];
		_gunlist lbSetData [_gunlistIndex, _weaponClass];

		// Show scope on sniper rifle pictures
		if ([["_SOS_F", "_LRPS_F"], _weaponClass] call fn_findString != -1) then
		{
			private ["_picArr", "_picLen"];
			_picArr = toArray _picture;
			_picLen = count _picArr;

			if (toString [_picArr select (_picLen - 8)] == "X") then
			{
				_picArr set [(_picLen - 8), (toArray "T") select 0];
				_picture = toString _picArr;
			};
		};

		if (_picture != "" && _picture != "pictureThing") then
		{
			_gunlist lbSetPicture [_gunlistIndex, _picture];
		};
	};
} forEach _itemsArray;

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
#define gunshop_DIALOG 2001
#define gunshop_gun_TEXT 2002
#define gunshop_ammo_TEXT 2010
#define gunshop_gun_list 2003
#define gunshop_ammo_list 2009
#define gunshop_money 2004
#define gunshop_cart 2007
#define gunshop_buysell 2020
#define gunshop_gun_Info 2021
#define gunshop_gun_desc 2022
#define gunshop_but_butammo 2023
#define gunshop_but_butattachments 2024
#define gunshop_attachments_list 2011
#define gunshop_attachments_TEXT 2012

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
#include "gunstoreDefines.sqf"

#define GunStoreButton_textSize (0.04 * TEXT_SCALE)

class gunshopd
{
	idd = gunshop_DIALOG;
	movingEnable = true;
	enableSimulation = true;
	onLoad = "[[0], populateGunStore] execFSM 'call.fsm'";

	class ControlsBackground
	{
		#define GunStoreMainBG_W (0.7333 * SZ_SCALE)
		#define GunStoreMainBG_H (0.65 * SZ_SCALE)
		#define GunStoreMainBG_X CENTER(1, GunStoreMainBG_W)
		#define GunStoreMainBG_Y CENTER(1, GunStoreMainBG_H)

		class MainBackground: IGUIBack
		{
			idc = -1;
			colorBackground[] = {0, 0, 0, 0.6};
			moving = true;

			x = GunStoreMainBG_X;
			y = GunStoreMainBG_Y;
			w = GunStoreMainBG_W;
			h = GunStoreMainBG_H;
		};

		class TopBar: IGUIBack
		{
			idc = -1;
			colorBackground[] = {0.25, 0.51, 0.96, 0.8};

			#define GunStoreTopBar_H (0.05 * SZ_SCALE)

			x = GunStoreMainBG_X;
			y = GunStoreMainBG_Y;
			w = GunStoreMainBG_W;
			h = GunStoreTopBar_H;
		};

		class ItemSelectedPrice: w_RscStructuredTextLeft
		{
			idc = gunshop_gun_TEXT;
			size = 0.04 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.15 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.514 * SZ_SCALE);
			w = 0.119 * SZ_SCALE;
			h = 0.0689 * SZ_SCALE;
		};

		class AmmoSelectedPrice: w_RscStructuredTextLeft
		{
			idc = gunshop_ammo_TEXT;
			size = 0.04 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.439 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.514 * SZ_SCALE);
			w = 0.119 * SZ_SCALE;
			h = 0.0689 * SZ_SCALE;
		};

		class AttachmentsSelectedPrice: w_RscStructuredTextLeft
		{
			idc = gunshop_attachments_TEXT;
			size = 0.04 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.439 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.520 * SZ_SCALE);
			w = 0.119 * SZ_SCALE;
			h = 0.0689 * SZ_SCALE;
		};

		class DialogTitleText: w_RscTextCenter
		{
			idc = -1;
			text = "Gun Store";
			sizeEx = 0.06 * TEXT_SCALE;

			x = GunStoreMainBG_X;
			y = GunStoreMainBG_Y;
			w = GunStoreMainBG_W;
			h = GunStoreTopBar_H;
		};

		/*
		class PlayerMoneyText: w_RscText
		{
			idc = gunshop_money;
			text = "Cash:";
			sizeEx = 0.04 * TEXT_SCALE;
			x = GunStoreMainBG_X + (0.6033 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.005 * SZ_SCALE);
			w = 0.1126 * SZ_SCALE;
			h = 0.0448 * SZ_SCALE;
		};
		*/
	};

	class Controls
	{
		class SelectionList: w_RscList
		{
			idc = gunshop_gun_list;
			onLBSelChanged = "call weaponInfo";
			sizeEx = 0.04 * TEXT_SCALE;
			rowHeight = 0.05 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.1533 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.075 * SZ_SCALE);
			w = 0.276 * SZ_SCALE;
			h = 0.3382 * SZ_SCALE;
		};

		class GunDescription: w_RscStructuredTextLeft
		{
			idc = gunshop_gun_desc;
			size = 0.04 * TEXT_SCALE;
			colorBackground[] = {0, 0, 0, 0.3};

			x = GunStoreMainBG_X + (0.1533 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.417 * SZ_SCALE);
			w = 0.276 * SZ_SCALE;
			h = 0.088 * SZ_SCALE;
		};

		class AmmoList: w_RscList
		{
			idc = gunshop_ammo_list;
			onLBSelChanged = "[] execVM 'client\systems\gunStore\ammoInfo.sqf'";
			sizeEx = 0.04 * TEXT_SCALE;
			rowHeight = 0.05 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.4433 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.075 * SZ_SCALE);
			w = 0.276 * SZ_SCALE;
			h = 0.4222 * SZ_SCALE;
		};

		class AttachmentsList: w_RscList
		{
			idc = gunshop_attachments_list;
			onLBSelChanged = "[] execVM 'client\systems\gunStore\attachmentsInfo.sqf'";
			sizeEx = 0.04 * TEXT_SCALE;
			rowHeight = 0.05 * TEXT_SCALE;

			x = GunStoreMainBG_X + (0.4433 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.075 * SZ_SCALE);
			w = 0.276 * SZ_SCALE;
			h = 0.4222 * SZ_SCALE;
		};

		class BuyGun: w_RscButton
		{
			idc = -1;
			action = "[0] execVM 'client\systems\gunStore\buyGuns.sqf'";
			text = "Buy";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.334 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.507 * SZ_SCALE);
			w = 0.096 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class BuyAmmo: w_RscButton
		{
			idc = gunshop_but_butammo;
			action = "[0] execVM 'client\systems\gunStore\buyAmmo.sqf'";
			text = "Buy";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.6233 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.507 * SZ_SCALE);
			w = 0.096 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class BuyAttachments: w_RscButton
		{
			idc = gunshop_but_butattachments;
			action = "[0] execVM 'client\systems\gunStore\buyAttachments.sqf'";
			text = "Buy";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.6233 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.507 * SZ_SCALE);
			w = 0.096 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton0: w_RscButton
		{
			idc = -1;
			action = "[0] call populateGunStore";
			text = "Handguns";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.075 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton1: w_RscButton
		{
			idc = -1;
			action = "[1] call populateGunStore";
			text = "SMGs";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.125 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton2: w_RscButton
		{
			idc = -1;
			action = "[2] call populateGunStore";
			text = "Rifles";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.175 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton3: w_RscButton
		{
			idc = -1;
			action = "[3] call populateGunStore";
			text = "LMGs";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.225 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton5: w_RscButton
		{
			idc = -1;
			action = "[5] call populateGunStore";
			text = "Launchers";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.275 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton6: w_RscButton
		{
			idc = -1;
			action = "[6] call populateGunStore";
			text = "Ordnance";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.325 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class StoreButton7: w_RscButton
		{
			idc = -1;
			action = "[7] call populateGunStore";
			text = "Accessories";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.375 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;

		};

		class StoreButton8: w_RscButton
		{
			idc = -1;
			action = "[8] call populateGunStore";
			text = "Armament";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.425 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class SellWeapon: w_RscButton
		{
			idc = -1;
			action = "[] execVM 'client\systems\selling\sellWeapon.sqf'";
			text = "Sell Weapon";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.23 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.59 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class SellUniform: w_RscButton
		{
			idc = -1;
			action = "[] execVM 'client\systems\selling\sellUniform.sqf'";
			text = "Sell Uniform";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + ((0.604 - 0.25) * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.59 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class SellVest: w_RscButton
		{
			idc = -1;
			action = "[] execVM 'client\systems\selling\sellVest.sqf'";
			text = "Sell Vest";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.478 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.59 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class SellBackpack: w_RscButton
		{
			idc = -1;
			action = "[] execVM 'client\systems\selling\sellBackpack.sqf'";
			text = "Sell Backpack";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.602 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.59 * SZ_SCALE);
			w = 0.1173 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};

		class CancelButton: w_RscButton
		{
			idc = -1;
			action = "closeDialog 0";
			text = "Cancel";
			sizeEx = GunStoreButton_textSize;

			x = GunStoreMainBG_X + (0.0167 * SZ_SCALE);
			y = GunStoreMainBG_Y + (0.59 * SZ_SCALE);
			w = 0.096 * SZ_SCALE;
			h = 0.040 * SZ_SCALE;
		};
	};
};

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Version: 1.0
//	@file Name: buyAttachments.sqf
//	@file Author: [KoS] His_Shadow, AgentRev, KRDucky
//	@file Created: 17/1/2016 07:21
//	@file Args: [int (0 = buy to player 1 = buy to crate)]

if (!isNil "storePurchaseHandle" && {typeName storePurchaseHandle == "SCRIPT"} && {!scriptDone storePurchaseHandle}) exitWith {hint "Please wait, your previous purchase is being processed"};

#include "dialog\gunstoreDefines.sqf";
//#include "addons\proving_ground\defs.hpp"
#define GET_DISPLAY (findDisplay balca_debug_VC_IDD)
#define GET_CTRL(a) (GET_DISPLAY displayCtrl ##a)
#define GET_SELECTED_DATA(a) ([##a] call {_idc = _this select 0;_selection = (lbSelection GET_CTRL(_idc) select 0);if (isNil {_selection}) then {_selection = 0};(GET_CTRL(_idc) lbData _selection)})
#define KINDOF_ARRAY(a,b) [##a,##b] call {_veh = _this select 0;_types = _this select 1;_res = false; {if (_veh isKindOf _x) exitwith { _res = true };} forEach _types;_res}

storePurchaseHandle = _this spawn
{
	disableSerialization;

	private ["_name", "_switch", "_price", "_dialog", "_attachmentList", "_playerMoneyText", "_playerMoney", "_itemIndex", "_itemText", "_itemData", "_handleMoney", "_class", "_name", "_attachment", "_type", "_backpack"];

	//Initialize Values
	_switch = _this select 0;

	// Grab access to the controls
	_dialog = findDisplay gunshop_DIALOG;
	_attachmentsList = _dialog displayCtrl gunshop_attachments_list;
	_playerMoneyText = _Dialog displayCtrl gunshop_money;
	_playerMoney = player getVariable ["cmoney", 0];

	_itemIndex = lbCurSel gunshop_attachments_list;
	_itemText = _attachmentsList lbText _itemIndex;
	_itemData = _attachmentsList lbData _itemIndex;

	_showInsufficientFundsError =
	{
		_itemText = _this select 0;
		hint format ["You don't have enough money for ""%1""", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	_showInsufficientSpaceError =
	{
		_itemText = _this select 0;
		hint format ["You don't have enough space for ""%1""", _itemText];
		playSound "FD_CP_Not_Clear_F";
		_price = -1;
	};

	switch(_switch) do
	{
		//Buy To Player
		case 0:
		{
			{
				if (_itemText == _x select 0 && _itemData == _x select 1) exitWith
				{
					_class = _x select 1;
					_price = _x select 2;
					_mag = configFile >> "CfgMagazines" >> _class;

					//ensure the player has enough money
					if (_price > _playerMoney) exitWith
					{
						[_itemText] call _showInsufficientFundsError;
					};

					if ([player, _class] call fn_fitsInventory) then
					{
						[player, _class] call fn_forceAddItem;
					}
					else
					{
						[_itemText] call _showInsufficientSpaceError;
					};
				}
			} forEach (call accessoriesArray);
		};
	};

	if (!isNil "_price" && {_price > -1}) then
	{
		player setVariable ["cmoney", _playerMoney - _price, true];
		_playerMoneyText ctrlSetText format ["Cash: $%1", [player getVariable ["cmoney", 0]] call fn_numbersText];
		hint "Purchase successful!";
		playSound "FD_Finish_F";
	};
};

private "_storePurchaseHandle";
_storePurchaseHandle = storePurchaseHandle;
waitUntil {scriptDone _storePurchaseHandle};

storePurchaseHandle = nil;

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
/*********************************************************#
# @@ScriptName: storeConfig.sqf
# @@Author: His_Shadow, AgentRev
# @@Create Date: 2013-09-16 20:40:58
#*********************************************************/

// This tracks which store owner the client is interacting with
currentOwnerName = "";

// Gunstore Weapon List - Gun Store Base List
// Text name, classname, buy cost

// empty name = name is extracted from class config

pistolArray = compileFinal str
[
	// Handguns
	["", "hgun_mas_m9_F", 50],
	["", "hgun_mas_bhp_F", 50],
	["", "hgun_mas_glock_F", 50],
	["", "hgun_mas_p226_F", 50],
	["", "hgun_mas_grach_F", 50],
	["", "hgun_mas_mak_F", 50],
	["", "hgun_mas_acp_F", 75],
	//RH Pistol Stuff
	["", "RH_deagle", 100],
	["", "RH_deagleg", 100],
	["", "RH_deagles", 100],
	["", "RH_deaglem", 100],
	["", "RH_cz75", 50],
	["", "RH_sw659", 50],
	["", "RH_usp", 65],
	["", "RH_mak", 50],
	["", "RH_m1911", 75],
	["", "RH_kimber", 75],
	["", "RH_kimber_nw", 75],
	["", "RH_uspm", 65],
	["", "RH_m9", 50],
	["", "RH_m9c", 50],
	["", "RH_vz61", 50],
	["", "RH_g18", 75],
	["", "RH_g17", 50],
	["", "RH_tt33", 75],
	["", "RH_mk2", 25],
	["", "RH_p226", 50],
	["", "RH_p226s", 50],
	["", "RH_g19", 55],
	["", "RH_g19t", 55],
	["", "RH_vp70", 50],
	["", "RH_mateba", 100],
	["", "RH_python", 100],
	["", "RH_mp412", 100],
	["", "RH_bull", 100],
	["", "RH_bullb", 100],
	["", "RH_ttracker", 50],
	["", "RH_ttracker_g", 50],
	["", "RH_fnp45", 55],
	["", "RH_fnp45t", 55],
	["", "RH_fn57", 75],
	["", "RH_fn57_g", 75],
	["", "RH_fn57_t", 75],
	["", "RH_gsh18", 50],
	["", "RH_tec9", 75],
	["", "RH_muzi", 75],
	["", "hgun_mas_usp_F", 75],
	["", "hgun_mas_usp_l_F", 75],
	["", "hgun_mas_glocksf_F", 75],
	["", "hgun_mas_mp7p_F", 75],
	["", "hgun_mas_sa61_F", 75],
	["", "hgun_mas_uzi_F", 70]

];

smgArray = compileFinal str
[
	["", "hgun_PDW2000_F", 100],
	["", "SMG_02_F", 125],
	["", "SMG_01_F", 125],
	["", "hgun_mas_mp7_F", 125],
	["", "arifle_mas_mp5", 125],
	["", "arifle_mas_mp5_v", 125],
	["", "arifle_mas_mp5_d", 125],
	["", "arifle_mas_mp5sd_ds", 150],
	["", "arifle_mas_mp5_sd", 175],
	["", "arifle_mas_mp5_d_sd", 175],
	["", "arifle_mas_mp40_o", 200],
  ["", "arifle_mas_mp40", 200],
	["", "arifle_mas_sten", 225],
	["", "arifle_mas_bizon", 225]
	//["Steyr AUGA1 9mm Para(Tan)", "hlc_rifle_augpara_t", 225],
	//["Steyr AUGA1 9mm Para(Black)", "hlc_rifle_augpara_b", 225],
	//["Steyr AUGA2 9mm Para", "hlc_rifle_auga2para", 225]
	//["Steyr AUGA2 9mm Para", "hlc_rifle_auga2para_t", 225],
	//["Steyr AUGA2 9mm Para", "hlc_rifle_auga2para_b", 225]
];

rifleArray = compileFinal str
[
  //SHOTGUN
  ["", "arifle_mas_saiga", 400],
	["", "arifle_mas_aa12", 400],
	["", "arifle_mas_m1014", 300],
	// Underwater Gun
	["", "arifle_SDAR_F", 100],
	["", "arifle_mas_asval_ds", 125],

	// Assault Rifles

	// 5.56
	["", "arifle_mas_hk416", 150],
	["", "arifle_mas_hk416_v", 150],
	["", "arifle_mas_hk416c", 175],
	["", "arifle_mas_hk416c_v", 175],
	["", "arifle_mas_hk416c_d", 175],
	["", "arifle_mas_hk416_gl", 200],
	["", "arifle_mas_hk416_m203", 200],
	["", "arifle_mas_hk416_gl_v", 200],
	["", "arifle_mas_hk416_m203_v", 200],
	["", "arifle_mas_hk416_gl_d", 200],
	["", "arifle_mas_hk416_m203_d", 200],
	["", "arifle_mas_hk416_m203c", 225],
	["", "arifle_mas_hk416_m203c_v", 225],
	["", "arifle_mas_hk416_m203c_d", 225],
	["", "arifle_mas_mk16", 200],
	["", "arifle_mas_m16", 200],
	["", "arifle_mas_m4", 200],
	["", "arifle_mas_m4_v", 200],
	["", "arifle_mas_m4_d", 200],
  ["", "arifle_mas_m4vlt", 200],
  ["", "arifle_mas_mk16_l", 225],
	["", "arifle_mas_m4c", 225],
	["", "arifle_mas_m4c_v", 225],
	["", "arifle_mas_m4c_d", 225],
	["", "arifle_mas_l119", 225],
	["", "arifle_mas_l119_v", 225],
	["", "arifle_mas_l119c", 250],
	["", "arifle_mas_l119c_v", 250],
	["", "arifle_mas_l119c_d", 250],
	["", "arifle_mas_g36c", 275],
	["", "arifle_mas_m16_gl", 250],
	["", "arifle_mas_mk16_gl", 250],
	["", "arifle_mas_m4_m203", 250],
	["", "arifle_mas_l119_gl", 250],
	["", "arifle_mas_l119_m203", 250],
	["", "arifle_mas_l119_gl_v", 250],
	["", "arifle_mas_l119_m203_v", 250],
	["", "arifle_mas_l119_gl_d", 250],
	["", "arifle_mas_l119_m203_d", 250],
	["", "arifle_mas_m4_gl", 250],
	["", "arifle_mas_m4_gl_v", 250],
	["", "arifle_mas_m4_m203_v", 250],
	["", "arifle_mas_m4_gl_d", 250],
	["", "arifle_mas_m4_m203_d",250],
	["", "arifle_mas_m4_m203c", 275],
	["", "arifle_mas_mk16_l_gl", 275],
	["", "arifle_mas_m4_m203c_v", 275],
	["", "arifle_mas_m4_m203c_d", 275],
	["", "arifle_mas_arx", 275],
	["", "arifle_mas_arx_l", 300],
	["", "arifle_mas_arx_gl", 300],
	["", "arifle_mas_arx_l_gl", 350],




	// 5.45
	["", "arifle_mas_ak_74m", 200],
	["", "arifle_mas_aks74", 200],
	["", "arifle_mas_ak74", 200],
	["", "arifle_mas_ak74_l", 200],
	["", "arifle_mas_ak74_gl", 250],
	["", "arifle_mas_aks74_gl", 250],
	["", "arifle_mas_ak_74m_gl", 250],
	["",  "arifle_mas_ak74_gl_l", 250],
	["", "arifle_mas_ak_74m_c", 225],
	["", "arifle_mas_ak_74m_gl_c", 275],
	["", "arifle_mas_ak_74m_sf", 250],
	["", "arifle_mas_ak_74m_sf_gl", 275],
	["", "arifle_mas_ak_74m_sf_c", 250],
	["", "arifle_mas_ak_74m_sf_gl_c", 275],
	["", "arifle_mas_aks_74_sf", 250],
	["", "arifle_mas_aks_74_sf_gl", 275],
	["", "arifle_mas_ak12_sf", 250],
	["", "arifle_mas_ak12_sf_gl", 275],
	["", "arifle_mas_aks74u", 275],
	["", "arifle_mas_aks74u_c", 275],



	// 7.62
	["", "arifle_mas_mk17", 350],
	["", "arifle_mas_hk417c", 375],
  ["", "arifle_mas_hk417c_v", 375],
	["", "arifle_mas_hk417c_d", 375],
	["", "arifle_mas_mk17_gl", 375],
	["", "arifle_mas_hk417_m203c", 400],
	["", "arifle_mas_hk417_m203c_v", 400],
	["", "arifle_mas_hk417_m203c_d", 400],
	["", "arifle_mas_g3", 425],
	["", "arifle_mas_g3s", 425],
	["", "arifle_mas_fal", 425],
	["", "arifle_mas_m14", 425],
	["", "arifle_mas_lee", 425],
	["", "arifle_mas_g3_m203", 450],
	["", "arifle_mas_g3s_m203", 450],
	["", "arifle_mas_fal_m203", 450],
	["", "arifle_mas_akms", 350],
	["", "arifle_mas_akms_gl", 375],
	["", "arifle_mas_akms_c", 350],
	["", "arifle_mas_akms_gl_c", 375],
	["", "arifle_mas_akm", 350],
	["", "arifle_mas_akm_gl", 375],
	["", "arifle_mas_m70", 325],
	["", "arifle_mas_m70_gl", 350],
	["", "arifle_mas_m70ab", 325],
	["", "arifle_mas_m70ab_gl", 350],




	// .300




	// Sniper Rifles
	// Large Caliber >7.62
	["", "srifle_LRR_SOS_F", 1500],
	["", "srifle_LRR_camo_SOS_F", 1750],
	["", "srifle_mas_m107", 2000],
	["", "srifle_mas_m107_v", 2000],
	["", "srifle_mas_m107_d", 2000],
  ["", "srifle_mas_lrr", 2500],
	["", "srifle_mas_vss", 900],
	["", "arifle_mas_asval", 900],
	["", "arifle_mas_asval_ds", 900],
	["", "srifle_mas_ksvk", 1500],
	["", "srifle_mas_ksvk_c", 1500],

  // 7.62x54mmR
	["", "srifle_mas_svd", 350],
	["", "srifle_mas_m91", 375],

	// 7.62x51
	["", "srifle_mas_hk417", 350],
	["", "srifle_mas_hk417_v", 350],
	["", "srifle_mas_hk417_d", 350],
	["", "srifle_mas_sr25", 400],
	["", "srifle_mas_sr25_v", 400],
	["", "srifle_mas_sr25_d", 400],
	["", "srifle_mas_mk17s", 425],
	["", "srifle_mas_m110", 450],
	["", "srifle_mas_ebr", 450],
	["", "srifle_mas_m24", 1000],
	["", "srifle_mas_m24_v", 1000],
	["", "srifle_mas_m24_d", 1000],



// 6.5
	["", "arifle_MXC_F", 150],
	["", "arifle_MXC_Black_F", 175],
	["", "arifle_MX_F", 200],
	["", "arifle_MX_Black_F", 225],
	["", "arifle_MX_GL_F", 250],
	["", "arifle_MX_GL_Black_F", 275],

	// Markman Rifles
	["", "arifle_MXM_F", 300],
	["", "arifle_MXM_Black_F", 325],
	["", "srifle_DMR_01_F", 375],
	["", "srifle_EBR_F", 450],

	// DLC
	["", "srifle_DMR_06_camo_F", 450],
	["", "srifle_DMR_06_olive_F", 450],
	["", "srifle_DMR_03_F", 500],
	["", "srifle_DMR_03_multicam_F", 550],
	["", "srifle_DMR_03_khaki_F", 550],
	["", "srifle_DMR_03_tan_F", 550],
	["", "srifle_DMR_03_woodland_F", 550],
	["", "srifle_DMR_02_F", 750],
	["", "srifle_DMR_02_camo_F", 800],
	["", "srifle_DMR_02_sniper_F", 800],
	["", "srifle_DMR_05_blk_F", 750],
	["", "srifle_DMR_05_hex_F", 800],
	["", "srifle_DMR_05_tan_f", 800],

	// Sniper Rifles
  // Handheld GL
	["", "LMG_mas_m72_F", 350]

];

lmgArray = compileFinal str
[
  // 5.45x39mm
	["", "LMG_mas_rpk_F", 300],
		//5.56x45mm
	["", "arifle_mas_m27", 300],
	["", "arifle_mas_m27_v", 300],
	["", "arifle_mas_m27_d", 300],
	["", "arifle_mas_m27m", 325],
	["", "arifle_mas_m27m_v", 325],
	["", "arifle_mas_m27m_d", 325],
	["", "LMG_mas_M249_F", 350],
	["", "LMG_mas_M249_F_v", 350],
	["", "LMG_mas_M249_F_d", 350],
	["", "LMG_mas_M249a_F", 350],
	//6.5mm
	["", "LMG_mas_Mk200_F", 400],
	["", "arifle_MX_SW_F", 300],
	["", "arifle_MX_SW_Black_F", 325],
	//7.62mm
	["", "LMG_mas_M240_F", 450],
	["", "LMG_mas_mg3_F", 475],
	["", "LMG_mas_Mk48_F", 500],
	["", "LMG_mas_Mk48_F_v", 500],
	["", "LMG_mas_Mk48_F_d", 500],
	["", "LMG_mas_M60_F", 525],
	["", "LMG_mas_pkm_F", 500],
	["", "LMG_mas_pech_F", 550],
	["", "LMG_mas_m72_F", 450],
	["", "MMG_01_tan_F", 750],
	["", "MMG_01_hex_F", 750],
	["", "MMG_02_sand_F", 750],
	["", "MMG_02_camo_F", 750],
	["", "MMG_02_black_F", 800]

];

launcherArray = compileFinal str
[
	["", "launch_RPG32_F", 400],
	["", "mas_launch_RPG7_F", 425],
	["", "mas_launch_RPG18_F", 450],
	["", "mas_launch_maaws_F", 450],
	["", "mas_launch_M136_F", 475],
	["", "mas_launch_NLAW_F", 1000],
	["", "mas_launch_smaw_F", 750],
	["", "mas_launch_LAW_F", 500],
	["Titan MPRL Compact (Tan)", "mas_launch_TitanS_F", 1500],
	["", "mas_launch_Metis_F", 525],
	["", "mas_launch_pzf60_F", 500],
	["Titan MPRL Compact (Brown)", "launch_O_Titan_short_F", 1500],
	["Titan MPRL Compact (Olive)", "launch_I_Titan_short_F", 1500],
  ["", "mas_launch_Stinger_F", 600],
	["", "mas_launch_Strela_F", 600],
	["Titan MPRL AA (Desert)", "launch_Titan_F", 1600],
	["Titan MPRL AA (Hex)", "launch_O_Titan_F", 1600],
	["Titan MPRL AA (Digi)", "launch_I_Titan_F", 1600]
];

allGunStoreFirearms = compileFinal str (call pistolArray + call smgArray + call rifleArray + call lmgArray + call launcherArray);

staticGunsArray = compileFinal str
[
	// ["Vehicle Ammo Crate", "Box_NATO_AmmoVeh_F", 2500],
	//["Static Titan AT 4Rnd (NATO)", "B_static_AT_F", 2500], // Static launchers only have 4 ammo, hence the low price
	//["Static Titan AT 4Rnd (CSAT)", "O_static_AT_F", 2500],
	//["Static Titan AT 4Rnd (AAF)", "I_static_AT_F", 2500],
	//["Static Titan AA 4Rnd (NATO)", "B_static_AA_F", 3000],
	//["Static Titan AA 4Rnd (CSAT)", "O_static_AA_F", 3000],
	//["Static Titan AA 4Rnd (AAF)", "I_static_AA_F", 3000],
	//["XM307 HMG .50 Low tripod (NATO)", "B_HMG_01_F", 2000],
	//["XM307 HMG .50 Low tripod (CSAT)", "O_HMG_01_F", 2000],
	//["XM307 HMG .50 Low tripod (AAF)", "I_HMG_01_F", 2000],
	//Massi Stuff
	["ZU23 AA (AAF)", "I_mas_ZU23_AAF", 3000],
	["ZU23 AA (RU)", "O_mas_ZU23_AAF", 3000],
	["ZU23 AA (PMC)", "B_mas_ZU23_FIA", 3000],
	["DSHkM .50 (AAF)", "I_mas_DSHKM_AAF", 2000],
	["DSHkM .50 (RU)", "O_mas_DSHKM_AAF", 2000],
	["DSHkM .50 (PMC)", "B_mas_DSHKM_FIA", 2000],
	["DSHkM .50 Low tripod (AAF)", "I_mas_DSHkM_Mini_TriPod", 2000],
	["DSHkM .50 Low tripod (RU)", "O_mas_DSHkM_Mini_TriPod", 2000],
	["DSHkM .50 Low tripod (PMC)", "B_mas_DSHkM_Mini_TriPod_FIA", 2000],
	["KORD .50 (AAF)", "I_mas_KORD_AAF", 2000],
	["KORD .50 (RU)", "O_mas_KORD_AAF", 2000],
	["KORD .50 High tripod (AAF)", "I_mas_KORD_high_AAF", 2000],
	["KORD .50 High tripod (RU)", "O_mas_KORD_high_AAF", 2000],
	["AGS (AAF)", "I_mas_AGS_AAF", 2000],
	["AGS (RU)", "O_mas_AGS_AAF", 2000],
	["AGS (PMC)", "B_mas_AGS_FIA", 2000],
	["GMG (AAF)", "I_mas_GMG_AAF", 2000],
	["GMG (PMC)", "B_mas_GMG_AAF", 2000],
	["M2 .50 (AAF)", "I_mas_M2StaticMG_AAF", 2000],
	["M2 .50 (NATO)", "B_mas_M2StaticMG_AAF", 2000],
	["M2 .50 (PMC)", "B_mas_M2StaticMG_FIA", 2000],
	["M2 .50 Low tripod (AAF)", "I_mas_M2StaticMG_MiniTripod_AAF", 2000],
	["M2 .50 Low tripod (NATO)", "B_mas_M2StaticMG_MiniTripod_AAF", 2000],
	["M2 .50 Low tripod (PMC)", "B_mas_M2StaticMG_MiniTripod_FIA", 2000],
	["Mk 19 (AAF)", "I_mas_MK19_TriPod_AAF", 2000],
	["Mk 19 (NATO)", "B_mas_MK19_TriPod_AAF", 2000],
	["Metis (AAF)", "I_mas_Metis_AAF", 2500],
	["Metis (RU)", "O_mas_Metis_AAF", 2500],
	["Metis (PMC)", "B_mas_Metis_FIA", 2500],
	["SPG-9", "I_mas_SPG9_AAF", 1500],
	["SPG-9", "O_mas_SPG9_AAF", 1500],
	["SPG-9", "B_mas_SPG9_FIA", 1500],
	["IGLA AA", "I_mas_Igla_AA_pod_AAF", 2500],
	["IGLA AA", "O_mas_Igla_AA_pod_AAF", 2500],
	["Stinger AA", "I_mas_Stinger_AA_pod_AAF", 2500],
	["Stinger AA", "B_mas_Stinger_AA_pod_AAF", 2500],
	["Stinger AA", "B_mas_Stinger_AA_pod_FIA", 2500],
	["TOW", "I_mas_TOW_TriPod_AAF", 2500],
	["TOW", "B_mas_TOW_TriPod_AAF", 2500],
	["82mm Mortar", "I_mas_2b14_82mm_AAF", 3500],
	["82mm Mortar", "O_mas_2b14_82mm_AAF", 3500],
	["82mm Mortar", "B_mas_2b14_82mm_FIA", 3500],
	["M252 Mortar", "I_mas_M252_AAF", 3500],
	["M252 Mortar", "B_mas_M252_AAF", 3500],
	["D30 Howitzer", "I_mas_D30_AAF", 5000],
	["D30 Howitzer", "O_mas_D30_AAF", 5000],
	["D30 Howitzer", "B_mas_D30_FIA", 5000],
	["D30 Anti-Tank Field gun", "I_mas_D30_AT_AAF", 2000],
	["D30 Anti-Tank Field gun", "O_mas_D30_AT_AAF", 2000],
	["D30 Anti-Tank Field gun", "B_mas_D30_AT_FIA", 2000],
	["M119 Howitzer", "I_mas_M119_AAF", 5000],
	["M119 Howitzer", "B_mas_M119_AAF", 5000],
	["M119 Anti-Tank Field gun", "I_mas_M119_AT_AAF", 2000],
	["M119 Anti-Tank Field gun", "B_mas_M119_AT_AAF", 2000]
	// End Massi Stuff
	// ["XM307A HMG .50 Sentry (NATO)", "B_HMG_01_A_F", 5000], // "A" = Autonomous = Overpowered
	// ["XM307A HMG .50 Sentry (CSAT)", "O_HMG_01_A_F", 5000],
	// ["XM307A HMG .50 Sentry (AAF)", "I_HMG_01_A_F", 5000],
	//["XM307 HMG .50 High tripod (NATO)", "B_HMG_01_high_F", 3000],
	//["XM307 HMG .50 High tripod (CSAT)", "O_HMG_01_high_F", 3000],
	//["XM307 HMG .50 High tripod (AAF)", "I_HMG_01_high_F", 3000],
	//["XM312 GMG 20mm Low tripod (NATO)", "B_GMG_01_F", 5000],
	//["XM312 GMG 20mm Low tripod (CSAT)", "O_GMG_01_F", 5000],
	//["XM312 GMG 20mm Low tripod (AAF)", "I_GMG_01_F", 5000],
	// ["XM312A GMG 20mm Sentry (NATO)", "B_GMG_01_A_F", 10000],
	// ["XM312A GMG 20mm Sentry (CSAT)", "O_GMG_01_A_F", 10000],
	// ["XM312A GMG 20mm Sentry (AAF)", "I_GMG_01_A_F", 10000],
	//["XM312 GMG 20mm High tripod (NATO)", "B_GMG_01_high_F", 6000],
	//["XM312 GMG 20mm High tripod (CSAT)", "O_GMG_01_high_F", 6000],
	//["XM312 GMG 20mm High tripod (AAF)", "I_GMG_01_high_F", 6000],
	//["Mk6 Mortar (NATO)", "B_Mortar_01_F", 12500],
	//["Mk6 Mortar (CSAT)", "O_Mortar_01_F", 12500],
	//["Mk6 Mortar (AAF)", "I_Mortar_01_F", 12500]
];

throwputArray = compileFinal str
[
	["Mini Grenade", "MiniGrenade", 50],
	["", "HandGrenade", 100],
	["", "APERSTripMine_Wire_Mag", 200],
	["", "APERSBoundingMine_Range_Mag", 250],
	["", "APERSMine_Range_Mag", 300],
	["", "ClaymoreDirectionalMine_Remote_Mag", 350],
	["", "SLAMDirectionalMine_Wire_Mag", 350],
	["", "ATMine_Range_Mag", 400],
	["", "DemoCharge_Remote_Mag", 450],
	["", "SatchelCharge_Remote_Mag", 500],
	["", "ACE_HandFlare_White", 25],
	["", "ACE_HandFlare_Red", 25],
	["", "ACE_HandFlare_Green", 25],
	["", "ACE_HandFlare_Yellow", 25],
	["", "ACE_M84", 30],
	["", "SmokeShell", 50],
	["", "SmokeShellPurple", 50],
	["", "SmokeShellBlue", 50],
	["", "SmokeShellGreen", 50],
	["", "SmokeShellYellow", 50],
	["", "SmokeShellOrange", 50],
	["", "SmokeShellRed", 50]
];

//Gun Store Ammo List
//Text name, classname, buy cost
ammoArray = compileFinal str
[
	["", "16Rnd_9x21_Mag", 10],
	["9mm 30Rnd Mag", "30Rnd_9x21_Mag", 15],
	[".45 ACP 6Rnd Cylinder", "6Rnd_45ACP_Cylinder", 5],
	["", "ACE_16Rnd_9x19_Mag", 10],
	["", "ACE_30Rnd_9x19_Mag", 15],
	["", "9Rnd_45ACP_Mag", 10],
	[".45 ACP 11Rnd Mag", "11Rnd_45ACP_Mag", 15],
	["", "30Rnd_45ACP_MAG_SMG_01", 20],
	["", "30Rnd_45ACP_Mag_SMG_01_tracer_green", 15],
	["5.56mm 20Rnd Underwater Mag", "20Rnd_556x45_UW_mag", 10],
	["M995 5.56mm AP 30Rnd", "ACE_30Rnd_556x45_Stanag_M995_AP_mag", 50],
	["Mk262 5.56mm 30Rnd", "ACE_30Rnd_556x45_Stanag_Mk262_mag", 30],
	["Mk318 5.56mm 30Rnd", "ACE_30Rnd_556x45_Stanag_Mk318_mag", 25],
	["IR-Tracer 5.56mm 30Rnd", "ACE_30Rnd_556x45_Stanag_Trace_Dim", 35],
	["5.56mm 30Rnd STANAG Mag", "30Rnd_556x45_Stanag", 20],
	["5.56mm 30Rnd Tracer (Green) Mag", "30Rnd_556x45_Stanag_Tracer_Green", 15],
	["5.56mm 30Rnd Tracer (Yellow) Mag", "30Rnd_556x45_Stanag_Tracer_Yellow", 15],
	["5.56mm 30Rnd Tracer (Red) Mag", "30Rnd_556x45_Stanag_Tracer_Red", 15],
	["6.5mm Green-IR-Tracer 30Rnd", "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim", 15],
	["6.5mm IR-Tracer 30Rnd", "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", 15],
	["6.5mm 30Rnd STANAG Mag", "30Rnd_65x39_caseless_mag", 20],
	["6.5mm 30Rnd Tracer (Red) Mag", "30Rnd_65x39_caseless_mag_Tracer", 15],
	["6.5mm 30Rnd Caseless Mag", "30Rnd_65x39_caseless_green", 20],
	["6.5mm 30Rnd Tracer (Green) Mag", "30Rnd_65x39_caseless_green_mag_Tracer", 15],
	["6.5mm 100Rnd Belt Case", "100Rnd_65x39_caseless_mag", 75],
	["6.5mm 100Rnd Tracer (Red) Belt Case", "100Rnd_65x39_caseless_mag_Tracer", 50],
	["6.5mm 200Rnd Belt Case", "200Rnd_65x39_cased_Box", 150],
	["6.5mm 200Rnd Tracer (Yellow) Belt Case", "200Rnd_65x39_cased_Box_Tracer", 125],
	["6.5mm Scenar 30Rnd", "ACE_30Rnd_65x47_Scenar_mag", 30],
	["6.5mm Creedmor 30Rnd", "ACE_30Rnd_65_Creedmor_mag", 30],
	["6.5mm Caseless IR Tracer 100Rnd", "ACE_100Rnd_65x39_caseless_mag_Tracer_Dim", 50],
	["6.5mm Cased IR-Tracer 200Rnd", "ACE_200Rnd_65x39_cased_Box_Tracer_Dim", 150],
	//["7.62mm 10Rnd Mag", "10Rnd_762x51_Mag", 15],
	// Massi Ammo
  ["", "17Rnd_mas_9x21_Mag", 10],
	["", "16Rnd_9x21_Mag", 10],
	["", "15Rnd_mas_9x21_Mag", 10],
	["", "13Rnd_mas_9x21_Mag", 10],
	["", "8Rnd_mas_9x18_Mag", 5],
	["", "20Rnd_mas_765x17_Mag", 10],
	["", "30Rnd_mas_762x39_mag", 15],
	["", "30Rnd_mas_762x39_T_mag", 15],
	["", "100Rnd_mas_762x39_mag", 25],
	["", "100Rnd_mas_762x39_T_mag", 25],
	["", "mas_MAAWS", 50],
	["", "mas_MAAWS_HE", 55],
	["", "mas_M136", 50],
	["", "mas_M136_HE", 55],
	["", "mas_NLAW", 50],
	["", "mas_NLAW_HE", 55],
	["", "NLAW_F", 50],
	["", "mas_SMAW", 50],
	["", "mas_SMAW_HE", 55],
	["", "mas_SMAW_NE", 50],
	["", "mas_LAW", 50],
	["", "mas_TitanS", 75],
	["", "mas_TitanS_HE", 75],
	["", "mas_PG7V", 50],
	["", "mas_OG7", 55],
	["", "mas_PG7L", 50],
	["", "mas_PG7VR", 50],
	["", "mas_TBG7V", 60],
	["", "mas_PG18", 50],
	["", "mas_Metis", 75],
	["", "mas_Metis_HE", 80],
	["", "mas_pzf60", 50],
	["", "mas_Stinger", 100],
	["", "mas_Strela", 100],
	["", "Sting_mas_AA_F", 100],
	["", "RPG32_mas_AA_F", 100],
	["", "30Rnd_mas_556x45_Stanag", 15],
	["", "30Rnd_mas_556x45_T_Stanag", 15],
	["", "200Rnd_mas_556x45_Stanag", 30],
	["", "200Rnd_mas_556x45_T_Stanag", 30],
	["", "100Rnd_mas_762x51_Stanag", 20],
	["", "100Rnd_mas_762x51_T_Stanag", 20],
	["", "100Rnd_mas_762x54_mag", 20],
	["", "100Rnd_mas_762x54_T_mag", 20],
	["", "100Rnd_mas_762x39_mag", 20],
	["", "100Rnd_mas_762x39_T_mag", 20],
	["", "30Rnd_mas_545x39_mag", 10],
	["", "30Rnd_mas_545x39_T_mag", 10],
	["", "100Rnd_mas_545x39_mag", 20],
	["", "100Rnd_mas_545x39_T_mag", 20],
	["", "20Rnd_mas_762x51_Stanag", 15],
	["", "20Rnd_mas_762x51_T_Stanag", 15],
	["", "5Rnd_mas_762x51_Stanag", 5],
	["", "5Rnd_mas_762x51_T_Stanag", 5],
	["", "10Rnd_mas_338_Stanag", 5],
	["", "10Rnd_mas_338_T_Stanag", 5],
	["", "30Rnd_mas_762x39_mag", 15],
	["", "30Rnd_mas_762x39_T_mag", 15],
	["", "10Rnd_mas_762x54_mag", 5],
	["", "10Rnd_mas_762x54_T_mag", 5],
	["", "5Rnd_mas_127x99_Stanag", 10],
	["", "5Rnd_mas_127x99_dem_Stanag", 10],
	["", "5Rnd_mas_127x99_T_Stanag", 10],
	["", "5Rnd_mas_127x108_mag", 15],
	["", "5Rnd_mas_127x108_dem_mag", 15],
	["", "5Rnd_mas_127x108_T_mag", 15],
	["", "30Rnd_mas_9x21_Stanag", 15],
	["", "30Rnd_mas_9x21d_Stanag", 15],
	["", "12Rnd_mas_45acp_Mag", 10],
	["", "10Rnd_mas_45acp_Mag", 5],
	["", "8Rnd_mas_45acp_Mag", 5],
	["", "15Rnd_mas_9x21_Mag", 10],
	["", "17Rnd_mas_9x21_Mag", 10],
	["", "13Rnd_mas_9x21_Mag", 10],
	["", "8Rnd_mas_9x18_mag", 5],
	["", "7Rnd_mas_12Gauge_Slug", 5],
	["", "7Rnd_mas_12Gauge_Pellets", 5],
	["", "10Rnd_mas_12Gauge_Slug", 10],
	["", "10Rnd_mas_12Gauge_Pellets", 10],
	["", "64Rnd_mas_9x18_mag", 20],
	["", "20Rnd_mas_765x17_Mag", 10],
	["", "25Rnd_mas_9x19_Mag", 15],
	["", "40Rnd_mas_46x30_Mag", 15],
	["", "20Rnd_mas_12Gauge_Slug", 15],
	["", "20Rnd_mas_12Gauge_Pellets", 15],
	["", "20Rnd_mas_12Gauge_Demo", 15],
	["", "150Rnd_mas_556x45_Stanag", 20],
	["", "150Rnd_mas_556x45_T_Stanag", 20],
	// End Massi Ammo
	// RH Pistol ammo
  [".50 Desert Eagle 7Rnd", "RH_7Rnd_50_AE", 15],
	["9x19 16Rnd CZ75", "RH_16Rnd_9x19_cz", 10],
	["9x19 14Rnd S&W 659", "RH_14Rnd_9x19_sw", 10],
	[".45 ACP 12Rnd USP", "RH_12Rnd_45cal_usp", 15],
	["9x18 8Rnd Makarov", "RH_8Rnd_9x18_Mak", 5],
	[".45 7Rnd 1911", "RH_7Rnd_45cal_m1911", 10],
	[".40 16Rnd USP", "RH_16Rnd_40cal_usp", 15],
	["9x19 15Rnd M9", "RH_15Rnd_9x19_M9", 15],
	[".32 20Rnd VZ61", "RH_20Rnd_32cal_vz61", 10],
	["9x19 33Rnd Glock 18", "RH_33Rnd_9x19_g18", 15],
	["9x19 17Rnd Glock 17", "RH_17Rnd_9x19_g17", 10],
	["7.62x25 8Rnd Tokarev", "RH_8Rnd_762_tt33", 15],
	[".22LR 10Rnd MK2", "RH_10Rnd_22LR_mk2", 5],
	["9x19 15Rnd SIG", "RH_15Rnd_9x19_SIG", 5],
	["9x19 18Rnd VP70", "RH_18Rnd_9x19_VP", 5],
	[".44 Magnum 6Rnd", "RH_6Rnd_44_Mag", 10],
	[".357 Magnum 6Rnd", "RH_6Rnd_357_Mag", 10],
	[".454 Magnum 6Rnd", "RH_6Rnd_454_Mag", 15],
	[".45 ACP 6Rnd", "RH_6Rnd_45ACP_Mag", 5],
	[".45 15Rnd FNP", "RH_15Rnd_45cal_fnp", 5],
	["5.7x28 20Rnd FN57", "RH_20Rnd_57x28_FN", 10],
	["9x19 18Rnd GSH", "RH_18Rnd_9x19_gsh", 10],
	["9x19 32Rnd Tec9", "RH_32Rnd_9x19_tec", 15],
	["9x19 30Rnd UZI", "RH_30Rnd_9x19_UZI", 15],
		// End RH Pistol Ammo
	["7.62mm 10Rnd Mag", "10Rnd_762x54_Mag", 15],
	["7.62mm 20Rnd Mag", "20Rnd_762x51_Mag", 25],
	["7.62x51mm M118LR 10Rnd", "ACE_10Rnd_762x51_M118LR_Mag", 15],
	["7.62x51mm Mk316 Mod 0 10Rnd", "ACE_10Rnd_762x51_Mk316_Mod_0_Mag", 20],
	["7.62x51mm Mk319 Mod 0 10Rnd", "ACE_10Rnd_762x51_Mk319_Mod_0_Mag", 25],
	["7.62x51mm M993 AP 10Rnd", "ACE_10Rnd_762x51_M993_AP_Mag", 35],
	["7.62x51mm SD 20Rnd", "ACE_20Rnd_762x51_Mag_SD", 30],
	["7.62x51mm IR-Tracer 20Rnd", "ACE_20Rnd_762x51_Mag_Tracer_Dim", 35],
	["7.62x51mm M118LR 20Rnd", "ACE_20Rnd_762x51_M118LR_Mag", 35],
	["7.62x51mm Mk316 Mod 0 20Rnd", "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", 40],
	["7.62x51mm Mk319 Mod 0 20Rnd", "ACE_20Rnd_762x51_Mk319_Mod_0_Mag", 45],
	["7.62x51mm M993 AP 20Rnd", "ACE_20Rnd_762x51_M993_AP_Mag", 50],
	//["7.62mm 150Rnd Box", "150Rnd_762x51_Box", 150],
	//["7.62mm 150Rnd Tracer (Green) Box", "150Rnd_762x51_Box_Tracer", 125],
	["7.62mm 150Rnd Box", "150Rnd_762x54_Box", 150],
	["7.62mm 150Rnd Tracer (Green) Box", "150Rnd_762x54_Box_Tracer", 125],
	["7.62x54mmR Tracer 10Rnd", "ACE_10Rnd_762x54_Trace_mag", 15],
	["7.62x67mm Mk248 Mod 0 20Rnd", "ACE_20Rnd_762x67_Mk248_Mod_0_Mag", 40],
	["7.62x67 Mk248 Mod 1 20Rnd", "ACE_20Rnd_762x67_Mk248_Mod_1_Mag", 45],
	["7.62x67mm Berger Hybrid OTM 20Rnd", "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag", 55],
	[".338 200gr HPBT 10Rnd", "ACE_10Rnd_338_300gr_HPBT_Mag", 55],
	[".338 API-526 10Rnd", "ACE_10Rnd_338_API526_Mag", 60],
	[".338 LM 10Rnd Mag", "10Rnd_338_Mag", 50],
	[".338 NM 130Rnd Belt", "130Rnd_338_Mag", 150],
	["9.3mm 10Rnd Mag", "10Rnd_93x64_DMR_05_Mag", 50],
	["9.3mm 150Rnd Belt", "150Rnd_93x64_Mag", 150],
	[".408 7Rnd Cheetah Mag", "7Rnd_408_Mag", 50],
	["12.7x99mm 5Rnd", "ACE_5Rnd_127x99_Mag", 50],
	["12.7x99mm API 5Rnd", "ACE_5Rnd_127x99_API_Mag", 60],
	["12.7x99mm AMAX 5Rnd", "ACE_5Rnd_127x99_AMAX_Mag", 55],
	["12.7mm 5Rnd Armor-Piercing Mag", "5Rnd_127x108_APDS_Mag", 60],
	["12.7mm 10Rnd Subsonic Mag", "10Rnd_127x54_Mag", 75],
	["RPG-32 Anti-Tank Rocket", "RPG32_F", 250],              // Direct damage: high      | Splash damage: low    | Guidance: none
	["RPG-32 High-Explosive Rocket", "RPG32_HE_F", 250],      // Direct damage: medium    | Splash damage: medium | Guidance: none
	// ["NLAW Anti-Tank Missile", "NLAW_F", 400],                // Direct damage: very high | Splash damage: low    | Guidance: laser, ground vehicles
	["Titan Anti-Tank Missile", "Titan_AT", 350],             // Direct damage: high      | Splash damage: low    | Guidance: mouse, laser, ground vehicles
	["Titan Anti-Personnel Missile", "Titan_AP", 350],        // Direct damage: low       | Splash damage: high   | Guidance: mouse, laser
	["Titan Anti-Air Missile", "Titan_AA", 350],              // Direct damage: low       | Splash damage: medium | Guidance: aircraft
	["40mm HE Grenade Round", "1Rnd_HE_Grenade_shell", 125],
	["40mm 3Rnd HE Grenades", "3Rnd_HE_Grenade_shell", 250],
	["40mm Smoke Round (White)", "1Rnd_Smoke_Grenade_shell", 50],
	["40mm Smoke Round (Purple)", "1Rnd_SmokePurple_Grenade_shell", 50],
	["40mm Smoke Round (Blue)", "1Rnd_SmokeBlue_Grenade_shell", 50],
	["40mm Smoke Round (Green)", "1Rnd_SmokeGreen_Grenade_shell", 50],
	["40mm Smoke Round (Yellow)", "1Rnd_SmokeYellow_Grenade_shell", 50],
	["40mm Smoke Round (Orange)", "1Rnd_SmokeOrange_Grenade_shell", 50],
	["40mm Smoke Round (Red)", "1Rnd_SmokeRed_Grenade_shell", 50],
	["40mm 3Rnd Smokes (White)", "3Rnd_Smoke_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Purple)", "3Rnd_SmokePurple_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Blue)", "3Rnd_SmokeBlue_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Green)", "3Rnd_SmokeGreen_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Yellow)", "3Rnd_SmokeYellow_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Orange)", "3Rnd_SmokeOrange_Grenade_shell", 100],
	["40mm 3Rnd Smokes (Red)", "3Rnd_SmokeRed_Grenade_shell", 100],
	["40mm Flare Round (White)", "UGL_FlareWhite_F", 25],
	["40mm Flare Round (Green)", "UGL_FlareGreen_F", 25],
	["40mm Flare Round (Yellow)", "UGL_FlareYellow_F", 25],
	["40mm Flare Round (Red)", "UGL_FlareRed_F", 25],
	["40mm Flare Round (IR)", "UGL_FlareCIR_F", 25],
	["40mm 3Rnd Flares (White)", "3Rnd_UGL_FlareWhite_F", 50],
	["40mm 3Rnd Flares (Green)", "3Rnd_UGL_FlareGreen_F", 50],
	["40mm 3Rnd Flares (Yellow)", "3Rnd_UGL_FlareYellow_F", 50],
	["40mm 3Rnd Flares (Red)", "3Rnd_UGL_FlareRed_F", 50],
	["", "ACE_HuntIR_M203", 50],
	["40mm 3Rnd Flares (IR)", "3Rnd_UGL_FlareCIR_F", 50]
];

//Gun Store item List
//Text name, classname, buy cost, item class
accessoriesArray = compileFinal str
[
	["Suppressor 9mm", "muzzle_snds_L", 50, "item"],
	["Suppressor .45 ACP", "muzzle_snds_acp", 75, "item"],
	["Suppressor 5.56mm", "muzzle_snds_M", 100, "item"],
	["Suppressor 6.5mm", "muzzle_snds_H", 100, "item"],
	["Suppressor 6.5mm LMG", "muzzle_snds_H_MG", 125, "item"],
	["Suppressor 7.62mm", "muzzle_snds_B", 125, "item"],
	["Suppressor .338 [DLC]", "muzzle_snds_338_black", 150, "item"],
	["Suppressor .338 (Green) [DLC]", "muzzle_snds_338_green", 150, "item"],
	["Suppressor .338 (Sand) [DLC]", "muzzle_snds_338_sand", 175, "item"],
	["Suppressor 9.3mm [DLC]", "muzzle_snds_93mmg", 175, "item"],
	["Suppressor 9.3mm (Tan) [DLC]", "muzzle_snds_93mmg_tan", 175, "item"],
	// Massi Stuff
  ["", "muzzle_mas_snds_L", 50],
  ["", "muzzle_mas_snds_LM", 75],
	["", "muzzle_mas_snds_C", 50],
	["", "muzzle_mas_snds_MP5SD6", 50],
	["", "muzzle_mas_snds_M", 100],
	["", "muzzle_mas_snds_Mc", 100],
	["", "muzzle_mas_snds_MP7", 75],
	["", "muzzle_mas_snds_AK", 75],
	["", "muzzle_mas_snds_SM", 75],
	["", "muzzle_mas_snds_SMc", 75],
	["", "muzzle_mas_snds_SH", 75],
	["", "muzzle_mas_snds_SHc", 75],
	["", "muzzle_mas_snds_SV", 100],
	["", "muzzle_mas_snds_SVc", 100],
	["", "muzzle_mas_snds_SVD", 100],
	["", "muzzle_mas_snds_KSVK", 175],
	["", "optic_mas_DMS", 175],
	["", "optic_mas_DMS_c", 175],
	["", "optic_mas_Holosight_blk", 75],
	["", "optic_mas_Holosight_camo", 75],
	["", "optic_mas_Arco_blk", 125],
	["", "optic_mas_Arco_camo", 125],
	["", "optic_mas_Hamr_camo", 150],
	["", "optic_mas_Aco_camo", 50],
	["", "optic_mas_ACO_grn_camo", 50],
	["", "optic_mas_MRCO_camo", 100],
	["", "optic_mas_zeiss", 175],
	["", "optic_mas_zeiss_c", 175],
	["", "optic_mas_zeiss_eo", 200],
	["", "optic_mas_zeiss_eo_c", 200],
	["", "optic_mas_acog", 150],
	["", "optic_mas_acog_c", 150],
	["", "optic_mas_acog_eo", 175],
	["", "optic_mas_acog_eo_c", 175],
	["", "optic_mas_acog_rd", 150],
	["", "optic_mas_acog_rd_c", 150],
	["", "optic_mas_handle", 50],
	["", "optic_mas_aim", 75],
	["", "optic_mas_aim_c", 75],
	["", "optic_mas_PSO", 175],
	["", "optic_mas_PSO_c", 175],
	["", "optic_mas_PSO_eo", 200],
	["", "optic_mas_PSO_eo_c", 200],
	["", "optic_mas_PSO_nv", 250],
	["", "optic_mas_PSO_nv_c", 250],
	["", "optic_mas_PSO_nv_eo", 275],
	["", "optic_mas_PSO_nv_eo_c", 275],
	["", "optic_mas_PSO_day", 175],
	["", "optic_mas_PSO_nv_day", 250],
	["", "optic_mas_term", 25],
	["", "optic_mas_MRD", 25],
	["", "optic_mas_LRPS", 300],
	["", "optic_mas_kobra", 50],
	["", "optic_mas_kobra_c", 50],
	["", "optic_mas_nspu", 350],
	["", "optic_mas_goshawk", 350],
	["", "optic_mas_PSO_kv", 250],
	["", "optic_mas_PSO_kv_c", 250],
	["", "acc_mas_flash_gun", 25],
	["", "acc_mas_pointer_gun_IR", 25],
	["", "acc_mas_pointer_IR", 25],
	["", "acc_mas_pointer_IR_b", 25],
	["", "acc_mas_pointer_IR_top", 25],
	["", "acc_mas_pointer_IR_top_b", 25],
	["", "acc_mas_pointer_IR2", 25],
	["", "acc_mas_pointer_IR2_top", 25],
	["", "acc_mas_pointer_IR2c", 25],
	["", "acc_mas_pointer_IR2c_top", 25],
		// RH Stuff
  ["", "RH_muzisd", 25],
	["", "RH_tecsd", 50],
	["", "RH_x300", 25],
	["", "RH_sfn57", 50],
	["", "RH_x2", 25],
	["", "RH_m6x", 25],
	["", "RH_docter", 50],
	["", "RH_osprey", 50],
	["", "RH_gemtech45", 50],
	["", "RH_vp70stock", 25],
	["", "RH_gemtech9", 50],
	["", "RH_suppr9", 50],
	["", "RH_m9qd", 25],
	["", "RH_matchsd", 50],
	["", "RH_pmir", 25],
	["", "RH_pmsd", 50],
	["", "RH_fhusp", 25],
	["", "RH_aacusp", 50],
	["", "RH_A26", 25],
	["", "RH_demz", 25],
	// Bipods
	["Bipod (NATO)", "bipod_01_F_blk", 250, "item"],
	["Bipod (CSAT)", "bipod_02_F_blk", 250, "item"],
	["Bipod (AAF)", "bipod_03_F_blk", 250, "item"],
	["Bipod (MTP)", "bipod_01_F_mtp", 250, "item"],
	["Bipod (Hex)", "bipod_02_F_hex", 250, "item"],
	["Bipod (Olive)", "bipod_03_F_oli", 250, "item"],
	["Bipod (Sand)", "bipod_01_F_snd", 250, "item"],
	["Bipod (Tan)", "bipod_02_F_tan", 250, "item"],
	["Flashlight", "acc_flashlight", 25, "item"],
	// Laser pointers
	["IR Laser Pointer", "acc_pointer_IR", 25, "item"],
	// ACE Gear
	["Red Laser", "ACE_acc_pointer_red", 25, "item"],
	["Green Laser", "ACE_acc_pointer_green", 25, "item"],
	["Green Laser w/ IR Laser", "ACE_acc_pointer_green_IR", 30, "item"],
	["MRCO (2D)", "ACE_optic_MRCO_2D", 100, "item"],
	["ARCO (2D)", "ACE_optic_Arco_2D", 125, "item"],
	["RCO (2D)", "ACE_optic_Hamr_2D", 150, "item"],
	["MOS (2D)", "ACE_optic_SOS_2D", 150, "item"],
	["LRPS (2D)", "ACE_optic_LRPS_2D", 300, "item"],
  // Stock Gear
	["Yorris Sight (Zubr Revolver)", "optic_Yorris", 50, "item"],
	["MRD Sight (4-Five Pistol)", "optic_MRD", 50, "item"],
	["ACO (CQB)", "optic_aco_smg", 50, "item"],
	["Holosight (CQB)", "optic_Holosight_smg", 50, "item"],
	["ACO (Red)", "optic_Aco", 75, "item"],
	["ACO (Green)", "optic_Aco_grn", 75, "item"],
	["Holosight", "optic_Holosight", 75, "item"],
	["DMS", "optic_DMS", 175, "item"],
	["AMS [DLC]", "optic_AMS", 200, "item"],
	["AMS (Khaki) [DLC]", "optic_AMS_khk", 200, "item"],
	["AMS (Sand) [DLC]", "optic_AMS_snd", 200, "item"],
	["Kahlia [DLC]", "optic_KHS_blk", 250, "item"],
	["Kahlia (Hex) [DLC]", "optic_KHS_hex", 250, "item"],
	["Kahlia (Tan) [DLC]", "optic_KHS_tan", 250, "item"],
	["Kahlia (Old) [DLC]", "optic_KHS_old", 250, "item"],
	["NVS", "optic_NVS", 500, "item"],
	["TWS", "optic_tws", 5000, "item"],
	["TWS MG", "optic_tws_mg", 6000, "item"],
	["Nightstalker", "optic_Nightstalker", 7500, "item"]
];

// If commented, means the color/camo isn't implemented or is a duplicate of another hat
headArray = compileFinal str
[
	["ECH", "H_HelmetB", 50, "hat"],
	["ECH (Ghillie)", "H_HelmetB_camo", 50, "hat"],
	["ECH (Light)", "H_HelmetB_light", 50, "hat"],
	["ECH (Spraypaint)", "H_HelmetB_paint", 50, "hat"],
	["SF Helmet", "H_HelmetSpecB", 50, "hat"],
	["SF Helmet (Black)", "H_HelmetSpecB_blk", 50, "hat"],
	["SF Helmet (Light Paint)", "H_HelmetSpecB_paint1", 50, "hat"],
	["SF Helmet (Dark Paint)", "H_HelmetSpecB_paint2", 50, "hat"],
	["Combat Helmet (Black)", "H_HelmetB_plain_blk", 50, "hat"],
	["Protector Helmet (Hex)", "H_HelmetO_ocamo", 50, "hat"],
	["Protector Helmet (Urban)", "H_HelmetO_oucamo", 50, "hat"],
	["Defender Helmet (Hex)", "H_HelmetLeaderO_ocamo", 50, "hat"],
	["Defender Helmet (Urban)", "H_HelmetLeaderO_oucamo", 50, "hat"],
	// ["Assassin Helmet (Hex)", "H_HelmetSpecO_ocamo", 50, "hat"],
	["Assassin Helmet (Black)", "H_HelmetSpecO_blk", 50, "hat"],
	["MICH", "H_HelmetIA", 50, "hat"],
	// ["MICH (Camo)", "H_HelmetIA_net", 50, "hat"],
	// ["MICH 2 (Camo)", "H_HelmetIA_camo", 50, "hat"],
	["Heli Crew Helmet (NATO)", "H_CrewHelmetHeli_B", 50, "hat"],
	["Heli Crew Helmet (CSAT)", "H_CrewHelmetHeli_O", 50, "hat"],
	["Heli Crew Helmet (AAF)", "H_CrewHelmetHeli_I", 50, "hat"],
	["Heli Pilot Helmet (NATO)", "H_PilotHelmetHeli_B", 50, "hat"],
	["Heli Pilot Helmet (CSAT)", "H_PilotHelmetHeli_O", 50, "hat"],
	["Heli Pilot Helmet (AAF)", "H_PilotHelmetHeli_I", 50, "hat"],
	["Crew Helmet (NATO)", "H_HelmetCrew_B", 50, "hat"],
	["Crew Helmet (CSAT)", "H_HelmetCrew_O", 50, "hat"],
	["Crew Helmet (AAF)", "H_HelmetCrew_I", 50, "hat"],
	["Pilot Helmet (NATO)", "H_PilotHelmetFighter_B", 50, "hat"],
	["Pilot Helmet (CSAT)", "H_PilotHelmetFighter_O", 50, "hat"],
	["Pilot Helmet (AAF)", "H_PilotHelmetFighter_I", 50, "hat"],
	["Military Cap (Blue)", "H_MilCap_blue", 25, "hat"],
	["Military Cap (Gray)", "H_MilCap_gry", 25, "hat"],
	["Military Cap (Urban)", "H_MilCap_oucamo", 25, "hat"],
	["Military Cap (Russia)", "H_MilCap_rucamo", 25, "hat"],
	["Military Cap (MTP)", "H_MilCap_mcamo", 25, "hat"],
	["Military Cap (Hex)", "H_MilCap_ocamo", 25, "hat"],
	["Military Cap (AAF)", "H_MilCap_dgtl", 25, "hat"],
	["Rangemaster Cap", "H_Cap_headphones", 25, "hat"],
	["Bandanna (Coyote)", "H_Bandanna_cbr", 10, "hat"],
	["Bandanna (Camo)", "H_Bandanna_camo", 10, "hat"],
	["Bandanna (Gray)", "H_Bandanna_gry", 10, "hat"],
	["Bandanna (Khaki)", "H_Bandanna_khk", 10, "hat"],
	["Bandanna (MTP)", "H_Bandanna_mcamo", 10, "hat"],
	["Bandanna (Sage)", "H_Bandanna_sgg", 10, "hat"],
	["Bandanna (Surfer)", "H_Bandanna_surfer", 10, "hat"],
	// ["Bandanna Mask (Black)", "H_BandMask_blk", 10, "hat"],
	// ["Bandanna Mask (Demon)", "H_BandMask_demon", 10, "hat"],
	// ["Bandanna Mask (Khaki)", "H_BandMask_khk", 10, "hat"],
	// ["Bandanna Mask (Reaper)", "H_BandMask_reaper", 10, "hat"],
	["Beanie (Black)", "H_Watchcap_blk", 10, "hat"],
	["Beanie (Dark blue)", "H_Watchcap_sgg", 10, "hat"],
	["Beanie (Dark brown)", "H_Watchcap_cbr", 10, "hat"],
	["Beanie (Dark khaki)", "H_Watchcap_khk", 10, "hat"],
	["Beanie (Dark green)", "H_Watchcap_camo", 10, "hat"],
	["Beret (Black)", "H_Beret_blk", 10, "hat"],
	["Beret (Colonel)", "H_Beret_Colonel", 10, "hat"],
	["Beret (NATO)", "H_Beret_02", 10, "hat"],
	// ["Beret (Green)", "H_Beret_grn", 10, "hat"],
	// ["Beret (Police)", "H_Beret_blk_POLICE", 10, "hat"],
	// ["Beret (Red)", "H_Beret_red", 10, "hat"],
	// ["Beret (SAS)", "H_Beret_brn_SF", 10, "hat"],
	// ["Beret (SF)", "H_Beret_grn_SF", 10, "hat"],
	// ["Beret (RED)", "H_Beret_ocamo", 10, "hat"],
	// ["Black Turban", "H_TurbanO_blk", 50, "hat"],
	// ["Booniehat (Dirty)", "H_Booniehat_dirty", 10, "hat"],
	// ["Booniehat (Green)", "H_Booniehat_grn", 10, "hat"],
	// ["Booniehat (Khaki)", "H_Booniehat_indp", 10, "hat"],
	["Booniehat (Khaki)", "H_Booniehat_khk", 10, "hat"],
	["Booniehat (Tan)", "H_Booniehat_tan", 10, "hat"],
	["Booniehat (MTP)", "H_Booniehat_mcamo", 10, "hat"],
	["Booniehat (Digi)", "H_Booniehat_dgtl", 10, "hat"],
	["Fedora (Blue)", "H_Hat_blue", 10, "hat"],
	["Fedora (Brown)", "H_Hat_brown", 10, "hat"],
	["Fedora (Camo)", "H_Hat_camo", 10, "hat"],
	["Fedora (Checker)", "H_Hat_checker", 10, "hat"],
	["Fedora (Gray)", "H_Hat_grey", 10, "hat"],
	["Fedora (Tan)", "H_Hat_tan", 10, "hat"],
	["Cap (Black)", "H_Cap_blk", 10, "hat"],
	["Cap (Blue)", "H_Cap_blu", 10, "hat"],
	["Cap (Green)", "H_Cap_grn", 10, "hat"],
	["Cap (Olive)", "H_Cap_oli", 10, "hat"],
	["Cap (Red)", "H_Cap_red", 10, "hat"],
	["Cap (Tan)", "H_Cap_tan", 10, "hat"],
	["Cap (BI)", "H_Cap_grn_BI", 10, "hat"],
	["Cap (CMMG)", "H_Cap_blk_CMMG", 10, "hat"],
	["Cap (ION)", "H_Cap_blk_ION", 10, "hat"],
	["Cap (Raven Security)", "H_Cap_blk_Raven", 10, "hat"],
	["Cap (SAS)", "H_Cap_khaki_specops_UK", 10, "hat"],
	["Cap (SF)", "H_Cap_tan_specops_US", 10, "hat"],
	["Cap (SPECOPS)", "H_Cap_brn_SPECOPS", 10, "hat"],
	["Shemag (White)", "H_ShemagOpen_khk", 25, "hat"],
	["Shemag (Brown)", "H_ShemagOpen_tan", 25, "hat"],
	["Shemag mask (Khaki)", "H_Shemag_khk", 25, "hat"],
	["Shemag mask (Olive)", "H_Shemag_olive", 25, "hat"],
	// ["Shemag mask (Tan)", "H_Shemag_tan", 25, "hat"],
	["Racing Helmet (Black)", "H_RacingHelmet_1_black_F", 25, "hat"],
	["Racing Helmet (Blue)", "H_RacingHelmet_1_blue_F", 25, "hat"],
	["Racing Helmet (Green)", "H_RacingHelmet_1_green_F", 25, "hat"],
	["Racing Helmet (Yellow)", "H_RacingHelmet_1_yellow_F", 25, "hat"],
	["Racing Helmet (Orange)", "H_RacingHelmet_1_orange_F", 25, "hat"],
	["Racing Helmet (Red)", "H_RacingHelmet_1_red_F", 25, "hat"],
	["Racing Helmet (White)", "H_RacingHelmet_1_white_F", 25, "hat"],
	["Racing Helmet (Fuel)", "H_RacingHelmet_1_F", 25, "hat"],
	["Racing Helmet (Bluking)", "H_RacingHelmet_2_F", 25, "hat"],
	["Racing Helmet (Redstone)", "H_RacingHelmet_3_F", 25, "hat"],
	["Racing Helmet (Vrana)", "H_RacingHelmet_4_F", 25, "hat"]
];

uniformArray = compileFinal str
[
	["Ghillie Suit (NATO)", "U_B_GhillieSuit", 300, "uni"],
	["Ghillie Suit (CSAT)", "U_O_GhillieSuit", 300, "uni"],
	["Ghillie Suit (AAF)", "U_I_GhillieSuit", 300, "uni"],
	["Full Ghillie (Arid) (NATO)", "U_B_FullGhillie_ard", 2000, "uni"],
	["Full Ghillie (Arid) (CSAT)", "U_O_FullGhillie_ard", 2000, "uni"],
	["Full Ghillie (Arid) (AAF)", "U_I_FullGhillie_ard", 2000, "uni"],
	["Full Ghillie (Lush) (NATO)", "U_B_FullGhillie_lsh", 2000, "uni"],
	["Full Ghillie (Lush) (CSAT)", "U_O_FullGhillie_lsh", 2000, "uni"],
	["Full Ghillie (Lush) (AAF)", "U_I_FullGhillie_lsh", 2000, "uni"],
	["Full Ghillie (Semi-Arid) (NATO)", "U_B_FullGhillie_sard", 2000, "uni"],
	["Full Ghillie (Semi-Arid) (CSAT)", "U_O_FullGhillie_sard", 2000, "uni"],
	["Full Ghillie (Semi-Arid) (AAF)", "U_I_FullGhillie_sard", 2000, "uni"],
	["Wetsuit (NATO)", "U_B_Wetsuit", 200, "uni"],
	["Wetsuit (CSAT)", "U_O_Wetsuit", 200, "uni"],
	["Wetsuit (AAF)", "U_I_Wetsuit", 200, "uni"],
	["Default Uniform (NATO)", "U_B_CombatUniform_mcam", 50, "uni"],
	["Default Uniform (CSAT)", "U_O_CombatUniform_ocamo", 50, "uni"],
	["Default Uniform (AAF)", "U_I_CombatUniform", 50, "uni"],
	["Combat Fatigues (MTP) (Tee)", "U_B_CombatUniform_mcam_tshirt", 50, "uni"],
	["Recon Fatigues (MTP)", "U_B_CombatUniform_mcam_vest", 50, "uni"],
	["Recon Fatigues (Sage)", "U_B_SpecopsUniform_sgg", 50, "uni"],
	["CTRG Combat Uniform (UBACS)", "U_B_CTRG_1", 50, "uni"],
	["CTRG Combat Uniform (UBACS2)", "U_B_CTRG_2", 50, "uni"],
	["CTRG Combat Uniform (Tee)", "U_B_CTRG_3", 50, "uni"],
	["Recon Fatigues (Hex)", "U_O_SpecopsUniform_ocamo", 50, "uni"],
	["Fatigues (Urban)", "U_O_CombatUniform_oucamo", 50, "uni"],
	["Combat Fatigues Short (Digi)", "U_I_CombatUniform_shortsleeve", 50, "uni"],
	["Combat Fatigues Shirt (Digi)", "U_I_CombatUniform_tshirt", 50, "uni"],
	["Officer Fatigues (Hex)", "U_O_OfficerUniform_ocamo", 50, "uni"],
	["Officer Fatigues (Digi)", "U_I_OfficerUniform", 50, "uni"],
	["Pilot Coveralls (NATO)", "U_B_PilotCoveralls", 50, "uni"],
	["Pilot Coveralls (CSAT)", "U_O_PilotCoveralls", 50, "uni"],
	["Pilot Coveralls (AAF)", "U_I_pilotCoveralls", 50, "uni"],
	["Heli Pilot Coveralls (NATO)", "U_B_HeliPilotCoveralls", 50, "uni"],
	["Heli Pilot Coveralls (AAF)", "U_I_HeliPilotCoveralls", 50, "uni"],
	["", "U_BG_Guerilla1_1", 25, "uni"], // BLUFOR
	["", "U_BG_Guerilla2_1", 25, "uni"],
	["", "U_BG_Guerilla2_2", 25, "uni"],
	["", "U_BG_Guerilla2_3", 25, "uni"],
	["", "U_BG_Guerilla3_1", 25, "uni"],
	["", "U_BG_Guerilla3_2", 25, "uni"],
	["", "U_BG_leader", 25, "uni"],
	["", "U_OG_Guerilla1_1", 25, "uni"], // OPFOR
	["", "U_OG_Guerilla2_1", 25, "uni"],
	["", "U_OG_Guerilla2_2", 25, "uni"],
	["", "U_OG_Guerilla2_3", 25, "uni"],
	["", "U_OG_Guerilla3_1", 25, "uni"],
	["", "U_OG_Guerilla3_2", 25, "uni"],
	["", "U_OG_leader", 25, "uni"],
	["", "U_IG_Guerilla1_1", 25, "uni"], // Independent
	["", "U_IG_Guerilla2_1", 25, "uni"],
	["", "U_IG_Guerilla2_2", 25, "uni"],
	["", "U_IG_Guerilla2_3", 25, "uni"],
	["", "U_IG_Guerilla3_1", 25, "uni"],
	["", "U_IG_Guerilla3_2", 25, "uni"],
	["", "U_IG_leader", 25, "uni"],
	/*["Worker Coveralls", "U_C_WorkerCoveralls", 25, "uni"], // can only be worn by civilian units
	["T-Shirt (Blue)", "U_C_Poor_1", 25, "uni"],
	["Polo (Red/white)", "U_C_Poloshirt_redwhite", 25, "uni"],
	["Polo (Salmon)", "U_C_Poloshirt_salmon", 25, "uni"],
	["Polo (Tri-color)", "U_C_Poloshirt_tricolour", 25, "uni"],
	["Polo (Navy)", "U_C_Poloshirt_blue", 25, "uni"],
	["Polo (Burgundy)", "U_C_Poloshirt_burgundy", 25, "uni"],
	["Polo (Blue/green)", "U_C_Poloshirt_stripped", 25, "uni"],*/
	["Polo (Competitor)", "U_Competitor", 25, "uni"],
	["Polo (Rangemaster)", "U_Rangemaster", 25, "uni"],
	/*["Racing Suit (Black)", "U_C_Driver_1_black", 25, "uni"], // can only be worn by civilian units
	["Racing Suit (Blue)", "U_C_Driver_1_blue", 25, "uni"],
	["Racing Suit (Green)", "U_C_Driver_1_green", 25, "uni"],
	["Racing Suit (Yellow)", "U_C_Driver_1_yellow", 25, "uni"],
	["Racing Suit (Orange)", "U_C_Driver_1_orange", 25, "uni"],
	["Racing Suit (Red)", "U_C_Driver_1_red", 25, "uni"],
	["Racing Suit (White)", "U_C_Driver_1_white", 25, "uni"],
	["Racing Suit (Fuel)", "U_C_Driver_1", 25, "uni"],
	["Racing Suit (Bluking)", "U_C_Driver_2", 25, "uni"],
	["Racing Suit (Redstone)", "U_C_Driver_3", 25, "uni"],
	["Racing Suit (Vrana)", "U_C_Driver_4", 25, "uni"],*/
	["Tron Light Suit (Blue)", "U_B_Protagonist_VR", 5000, "uni"],
	["Tron Light Suit (Red)", "U_O_Protagonist_VR", 5000, "uni"],
	["Tron Light Suit (Green)", "U_I_Protagonist_VR", 5000, "uni"]
];

vestArray = compileFinal str
[
	["Rebreather (NATO)", "V_RebreatherB", 200, "vest"],
	["Rebreather (CSAT)", "V_RebreatherIR", 200, "vest"],
	["Rebreather (AAF)", "V_RebreatherIA", 200, "vest"],
	["Carrier Lite (Green)", "V_PlateCarrier1_rgr", -1, "vest"],
	["Carrier Lite (Black)", "V_PlateCarrier1_blk", -1, "vest"],
	["Carrier Rig (Green)", "V_PlateCarrier3_rgr", -1, "vest"],
	["Carrier GL Rig (Green)", "V_PlateCarrierGL_rgr", -1, "vest"],
	["Carrier GL Rig (Black)", "V_PlateCarrierGL_blk", -1, "vest"],
	["Carrier GL Rig (MTP)", "V_PlateCarrierGL_mtp", -1, "vest"],
	["Carrier Special Rig (Green)", "V_PlateCarrierSpec_rgr", -1, "vest"],
	["Carrier Special Rig (Black)", "V_PlateCarrierSpec_blk", -1, "vest"],
	["Carrier Special Rig (MTP)", "V_PlateCarrierSpec_mtp", -1, "vest"],
	["GA Carrier Lite (Digi)", "V_PlateCarrierIA1_dgtl", -1, "vest"],
	["GA Carrier Rig (Digi)", "V_PlateCarrierIA2_dgtl", -1, "vest"],
	["GA Carrier GL Rig (Digi)", "V_PlateCarrierIAGL_dgtl", -1, "vest"],
	["GA Carrier GL Rig (Olive)", "V_PlateCarrierIAGL_oli", -1, "vest"],
	["LBV Harness", "V_HarnessO_brn", -1, "vest"],
	["LBV Harness (Gray)", "V_HarnessO_gry", -1, "vest"],
	["LBV Grenadier Harness", "V_HarnessOGL_brn", -1, "vest"],
	["LBV Grenadier Harness (Gray)", "V_HarnessOGL_gry", -1, "vest"],
	["ELBV Harness", "V_HarnessOSpec_brn", -1, "vest"],
	["ELBV Harness (Gray)", "V_HarnessOSpec_gry", -1, "vest"],
	["Slash Bandolier (Black)", "V_BandollierB_blk", -1, "vest"],
	["Slash Bandolier (Coyote)", "V_BandollierB_cbr", -1, "vest"],
	["Slash Bandolier (Green)", "V_BandollierB_rgr", -1, "vest"],
	["Slash Bandolier (Khaki)", "V_BandollierB_khk", -1, "vest"],
	["Slash Bandolier (Olive)", "V_BandollierB_oli", -1, "vest"],
	["Chest Rig (Khaki)", "V_Chestrig_khk", -1, "vest"],
	["Chest Rig (Green)", "V_Chestrig_rgr", -1, "vest"],
	["Fighter Chestrig (Black)", "V_Chestrig_blk", -1, "vest"],
	["Fighter Chestrig (Olive)", "V_Chestrig_oli", -1, "vest"],
	["Tactical Vest (Black)", "V_TacVest_blk", -1, "vest"],
	["Tactical Vest (Brown)", "V_TacVest_brn", -1, "vest"],
	["Tactical Vest (Camo)", "V_TacVest_camo", -1, "vest"],
	["Tactical Vest (Khaki)", "V_TacVest_khk", -1, "vest"],
	["Tactical Vest (Olive)", "V_TacVest_oli", -1, "vest"],
	["Raven Night Vest", "V_TacVestIR_blk", -1, "vest"]
];

backpackArray = compileFinal str
[
	//["Parachute", "B_Parachute", 200, "backpack"],

	["Assault Pack (Black)", "B_AssaultPack_blk", 150, "backpack"],
	["Assault Pack (Green)", "B_AssaultPack_rgr", 150, "backpack"],
	["Assault Pack (MTP)", "B_AssaultPack_mcamo", 150, "backpack"],
	["Assault Pack (Hex)", "B_AssaultPack_ocamo", 150, "backpack"],

	["Field Pack (Black)", "B_FieldPack_blk", 200, "backpack"],
	["Field Pack (Coyote)", "B_FieldPack_cbr", 200, "backpack"],
	["Field Pack (Khaki)", "B_FieldPack_khk", 200, "backpack"],
	["Field Pack (Urban)", "B_FieldPack_oucamo", 200, "backpack"],

	["Kitbag (Coyote)", "B_Kitbag_cbr", 350, "backpack"],
	["Kitbag (Green)", "B_Kitbag_rgr", 350, "backpack"],
	["Kitbag (MTP)", "B_Kitbag_mcamo", 350, "backpack"],
	["Kitbag (Sage)", "B_Kitbag_sgg", 350, "backpack"],

	["Bergen (Black)", "B_Bergen_blk", 350, "backpack"],
	["Bergen (Green)", "B_Bergen_rgr", 350, "backpack"],
	["Bergen (MTP)", "B_Bergen_mcamo", 350, "backpack"],
	["Bergen (Sage)", "B_Bergen_sgg", 350, "backpack"],

	["Carryall (Khaki)", "B_Carryall_khk", 500, "backpack"],
	["Carryall (MTP)", "B_Carryall_mcamo", 500, "backpack"],
	["Carryall (Olive)", "B_Carryall_oli", 500, "backpack"],
	["Carryall (Urban)", "B_Carryall_oucamo", 500, "backpack"],
	["Tactical Ladder Pack", "ACE_TacticalLadder_Pack", 150, "backpack"],
	["", "ACE_ReserveParachute", 150, "backpack"],
	["Parachute (non-steerable)", "ACE_NonSteerableParachute", 200, "backpack"]
];

genItemArray = compileFinal str
[
	["UAV Terminal (NATO)", "B_UavTerminal", 150, "gps"],
	["UAV Terminal (CSAT)", "O_UavTerminal", 150, "gps"],
	["UAV Terminal (AAF)", "I_UavTerminal", 150, "gps"],
	["Quadrotor UAV (NATO)", "B_UAV_01_backpack_F", 500, "backpack"],
	["Quadrotor UAV (CSAT)", "O_UAV_01_backpack_F", 500, "backpack"],
	["Quadrotor UAV (AAF)", "I_UAV_01_backpack_F", 500, "backpack"],
	["Remote Designator Bag (NATO) [DLC]", "B_Static_Designator_01_weapon_F", 1000, "backpack"],
	["Remote Designator Bag (CSAT) [DLC]", "O_Static_Designator_02_weapon_F", 1000, "backpack"],
	["Sandbag (empty)", "ACE_Sandbag_empty", 10, "item"],
	["", "ACE_fieldDressing", 25, "item"],
	["", "ACE_morphine", 100 ,"item"],
	["", "ACE_epinephrine", 100, "item"],
	["", "ACE_bloodIV", 250, "item"],
	//["", "ACE_salineIV", 100, "item"],
	//["", "ACE_salineIV_500", 50, "item"],
	//["", "ACE_salineIV_250", 25, "item"],
	["", "ACE_EarPlugs", 10, "item"],
	["", "ACE_UAVBattery", 50, "item"],
	["", "ACE_microDAGR", 120, "gps"],
	["", "ACE_MX2A", 150, "binoc"],
	["", "ACE_bodybag", 1, "item"],
	["GPS", "ItemGPS", 100, "gps"],
	["Toolkit", "ToolKit", 150, "item"],
	["Mine Detector", "MineDetector", 100, "item"],
	["NV Goggles", "NVGoggles", 100, "nvg"],
	["", "ACE_ATragMX", 50, "item"],
	["", "ACE_NVG_Gen1", 100, "nvg"],
	["", "ACE_NVG_Gen2", 150, "nvg"],
	["", "ACE_NVG_Gen4", 250, "nvg"],
	["", "ACE_NVG_Wide", 300, "nvg"],
	["Diving Goggles", "G_Diving", 100, "gogg"],
	["Binoculars", "Binocular", 50, "binoc"],
	["", "ACE_Vector", 150, "binoc"],
	["", "ACE_Clacker", 25, "item"],
	["", "ACE_M26_Clacker", 25, "item"],
	["", "ACE_DefusalKit", 50, "item"],
	["", "ACE_DeadManSwitch", 100, "item"],
	["", "ACE_Cellphone", 50, "item"],
	["", "ACE_Altimeter", 25, "item"],
	["", "ACE_RangeCard", 25, "item"],
	["", "ACE_Kestrel4500", 50, "item"],
	["", "ACE_HuntIR_monitor", 100, "item"],
	["", "ACE_DAGR", 150, "item"],
	["", "ACE_MapTools", 25, "item"],
	["", "ACE_SpareBarrel", 100, "item"],
	["", "ACE_wirecutter", 50, "item"],
	["", "ACE_IR_Strobe_Item", 5, "item"],
	["", "ACE_Vector", 200, "binoc"],
	["", "ACE_SpottingScope", 100, "item"],
	["", "ACE_Tripod", 100, "item"],
	["", "ACE_Yardage450", 150, "binoc"],
	//["", "ACRE_PRC343", 20, "item"],
	//["", "ACRE_PRC77", 50, "item"],
	//["", "ACRE_PRC117f", 100, "item"],
	//["", "ACRE_PRC_152" 150, "item"],
	["Rangefinder", "Rangefinder", 150, "binoc"],
	["Laser Designator", "Laserdesignator", 1000, "binoc"],
	["Chemlight (Blue)", "Chemlight_blue", 25, "mag"],
	["Chemlight (Green)", "Chemlight_green", 25, "mag"],
	["Chemlight (Yellow)", "Chemlight_yellow", 25, "mag"],
	["Chemlight (Red)", "Chemlight_red", 25, "mag"]
];

allStoreMagazines = compileFinal str (call ammoArray + call throwputArray + call genItemArray);
allRegularStoreItems = compileFinal str (call allGunStoreFirearms + call allStoreMagazines + call accessoriesArray);
allStoreGear = compileFinal str (call headArray + call uniformArray + call vestArray + call backpackArray);

genObjectsArray = compileFinal str
[
	["Empty Ammo Crate", "Box_NATO_Ammo_F", 200, "ammocrate"],
	//["Metal Barrel", "Land_MetalBarrel_F", 25, "object"],
	//["Toilet Box", "Land_ToiletBox_F", 25, "object"],
	["Lamp Post (Harbour)", "Land_LampHarbour_F", 100, "object"],
	["Lamp Post (Shabby)", "Land_LampShabby_F", 100, "object"],
	["Boom Gate", "Land_BarGate_F", 150, "object"],
	["Pipes", "Land_Pipes_Large_F", 200, "object"],
	["Concrete Frame", "Land_CncShelter_F", 200, "object"],
	["Highway Guardrail", "Land_Crash_barrier_F", 200, "object"],
	["Concrete Barrier", "Land_CncBarrier_F", 200, "object"],
	["Concrete Barrier (Medium)", "Land_CncBarrierMedium_F", 350, "object"],
	["Concrete Barrier (Long)", "Land_CncBarrierMedium4_F", 500, "object"],
	["HBarrier (1 block)", "Land_HBarrier_1_F", 150, "object"],
	["HBarrier (3 blocks)", "Land_HBarrier_3_F", 200, "object"],
	["HBarrier (5 blocks)", "Land_HBarrier_5_F", 250, "object"],
	["HBarrier Big", "Land_HBarrierBig_F", 500, "object"],
	["HBarrier Wall (4 blocks)", "Land_HBarrierWall4_F", 400, "object"],
	["HBarrier Wall (6 blocks)", "Land_HBarrierWall6_F", 500, "object"],
	["HBarrier Watchtower", "Land_HBarrierTower_F", 600, "object"],
	["Concrete Wall", "Land_CncWall1_F", 400, "object"],
	["Concrete Military Wall", "Land_Mil_ConcreteWall_F", 400, "object"],
	["Concrete Wall (Long)", "Land_CncWall4_F", 600, "object"],
	["Military Wall (Big)", "Land_Mil_WallBig_4m_F", 600, "object"],
	["Shoot House Wall", "Land_Shoot_House_Wall_F", 180, "object"],
	["Canal Wall (Small)", "Land_Canal_WallSmall_10m_F", 400, "object"],
	["Canal Stairs", "Land_Canal_Wall_Stairs_F", 500, "object"],
	["Bag Fence (Corner)", "Land_BagFence_Corner_F", 150, "object"],
	["Bag Fence (End)", "Land_BagFence_End_F", 150, "object"],
	["Bag Fence (Long)", "Land_BagFence_Long_F", 200, "object"],
	["Bag Fence (Round)", "Land_BagFence_Round_F", 150, "object"],
	["Bag Fence (Short)", "Land_BagFence_Short_F", 150, "object"],
	["Bag Bunker (Small)", "Land_BagBunker_Small_F", 250, "object"],
	["Bag Bunker (Large)", "Land_BagBunker_Large_F", 500, "object"],
	["Bag Bunker Tower", "Land_BagBunker_Tower_F", 1000, "object"],
	["Military Cargo Post", "Land_Cargo_Patrol_V1_F", 800, "object"],
	["Military Cargo Tower", "Land_Cargo_Tower_V1_F", 10000, "object"],
	["Concrete Ramp", "Land_RampConcrete_F", 350, "object"],
	["Concrete Ramp (High)", "Land_RampConcreteHigh_F", 500, "object"],
	["Scaffolding", "Land_Scaffolding_F", 250, "object"]
];

allGenStoreVanillaItems = compileFinal str (call genItemArray + call genObjectsArray + call allStoreGear);

//Text name, classname, buy cost, spawn type, sell price (selling not implemented) or spawning color
landArray = compileFinal str
[
	["Kart", "C_Kart_01_F", 500, "vehicle"],

	["Quadbike (Civilian)", "C_Quadbike_01_F", 600, "vehicle"],
	["Quadbike (NATO)", "B_Quadbike_01_F", 650, "vehicle"],
	["Quadbike (CSAT)", "O_Quadbike_01_F", 650, "vehicle"],
	["Quadbike (AAF)", "I_Quadbike_01_F", 650, "vehicle"],
	["Quadbike (FIA)", "B_G_Quadbike_01_F", 650, "vehicle"],

	["Hatchback", "C_Hatchback_01_F", 800, "vehicle"],
	["Hatchback Sport", "C_Hatchback_01_sport_F", 1000, "vehicle"],
	["SUV", "C_SUV_01_F", 1100, "vehicle"],
	["Offroad", "C_Offroad_01_F", 1100, "vehicle"],
	["Offroad Camo", "B_G_Offroad_01_F", 1250, "vehicle"],
	["Offroad Repair", "C_Offroad_01_repair_F", 1500, "vehicle"],
	["Offroad HMG", "B_G_Offroad_01_armed_F", 2500, "vehicle"],

	["Truck", "C_Van_01_transport_F", 700, "vehicle"],
	["Truck (Camo)", "B_G_Van_01_transport_F", 800, "vehicle"],
	["Truck Box", "C_Van_01_box_F", 900, "vehicle"],
	["Fuel Truck", "C_Van_01_fuel_F", 2000, "vehicle"],
	["Fuel Truck (Camo)", "B_G_Van_01_fuel_F", 2100, "vehicle"],

	["HEMTT Tractor", "B_Truck_01_mover_F", 4000, "vehicle"],
	["HEMTT Box", "B_Truck_01_box_F", 5000, "vehicle"],
	["HEMTT Transport", "B_Truck_01_transport_F", 6000, "vehicle"],
	["HEMTT Covered", "B_Truck_01_covered_F", 7500, "vehicle"],
	["HEMTT Fuel", "B_Truck_01_fuel_F", 9000, "vehicle"],
	["HEMTT Medical", "B_Truck_01_medical_F", 10000, "vehicle"],
	["HEMTT Repair", "B_Truck_01_Repair_F", 12500, "vehicle"],
	["HEMTT Ammo", "B_Truck_01_ammo_F", 27500, "vehicle"],

	["Typhoon Device", "O_Truck_03_device_F", 4000, "vehicle"],
	["Typhoon Transport", "O_Truck_03_transport_F", 6000, "vehicle"],
	["Typhoon Covered", "O_Truck_03_covered_F", 7500, "vehicle"],
	["Typhoon Fuel", "O_Truck_03_fuel_F", 9000, "vehicle"],
	["Typhoon Medical", "O_Truck_03_medical_F", 10000, "vehicle"],
	["Typhoon Repair", "O_Truck_03_repair_F", 12500, "vehicle"],
	["Typhoon Ammo", "O_Truck_03_ammo_F", 27500, "vehicle"],

	["KamAZ Transport", "I_Truck_02_transport_F", 4000, "vehicle"],
	["KamAZ Covered", "I_Truck_02_covered_F", 5000, "vehicle"],
	["KamAZ Fuel", "I_Truck_02_fuel_F", 7500, "vehicle"],
	["KamAZ Medical", "I_Truck_02_medical_F", 9000, "vehicle"],
	["KamAZ Repair", "I_Truck_02_box_F", 10000, "vehicle"],
	["KamAZ Ammo", "I_Truck_02_ammo_F", 25000, "vehicle"],

	["UGV Stomper (NATO)", "B_UGV_01_F", 2500, "vehicle"],
	["UGV Stomper RCWS (NATO)", "B_UGV_01_rcws_F", 15000, "vehicle"],
	["UGV Stomper (AAF)", "I_UGV_01_F", 2500, "vehicle"],
	["UGV Stomper RCWS (AAF)", "I_UGV_01_rcws_F", 15000, "vehicle"],
	["UGV Saif (CSAT)", "O_UGV_01_F", 2500, "vehicle"],
	["UGV Saif RCWS (CSAT)", "O_UGV_01_rcws_F", 15000, "vehicle"]
];

armoredArray = compileFinal str
[
	["", "B_MRAP_01_F", 4000, "vehicle"],
	["", "B_MRAP_01_hmg_F", 15000, "vehicle"],
	["", "B_MRAP_01_gmg_F", 17500, "vehicle"],
	["", "O_MRAP_02_F", 4000, "vehicle"],
	["", "O_MRAP_02_hmg_F", 15000, "vehicle"],
	["", "O_MRAP_02_gmg_F", 17500, "vehicle"],
	["", "I_MRAP_03_F", 4000, "vehicle"],
	["", "I_MRAP_03_hmg_F", 15000, "vehicle"],
	["", "I_MRAP_03_gmg_F", 17500, "vehicle"],
	["", "O_APC_Wheeled_02_rcws_F", 22500, "vehicle"],
	["", "B_APC_Wheeled_01_cannon_F", 27500, "vehicle"],
	["", "I_APC_Wheeled_03_cannon_F", 30000, "vehicle"]
];

tanksArray = compileFinal str
[
	["", "B_APC_Tracked_01_CRV_F", 32500, "vehicle"],
	["", "B_APC_Tracked_01_rcws_F", 35000, "vehicle"],
	["", "I_APC_tracked_03_cannon_F", 37500, "vehicle"],
	["", "O_APC_Tracked_02_cannon_F", 40000, "vehicle"],
	["", "B_APC_Tracked_01_AA_F", 40000, "vehicle"],
	["", "O_APC_Tracked_02_AA_F", 40000, "vehicle"],
	["", "B_MBT_01_cannon_F", 50000, "vehicle"],
	["", "B_MBT_01_TUSK_F", 50000, "vehicle"], // Commander gun variant
	["", "O_MBT_02_cannon_F", 50000, "vehicle"],
	["", "I_MBT_03_cannon_F", 50000, "vehicle"]
];


helicoptersArray = compileFinal str
[
	["", "C_Heli_Light_01_civil_F", 4000, "vehicle"], // MH-6, no flares
	["", "B_Heli_Light_01_F", 5000, "vehicle"], // MH-6
	["", "O_Heli_Light_02_unarmed_F", 7000, "vehicle"], // Ka-60
	["", "I_Heli_light_03_unarmed_F", 7000, "vehicle"], // AW159

	["", "O_Heli_Transport_04_F", 7500, "vehicle"], // CH-54
	["", "O_Heli_Transport_04_box_F", 8000, "vehicle"],
	["", "O_Heli_Transport_04_fuel_F", 8500, "vehicle"],
	["", "O_Heli_Transport_04_bench_F", 9000, "vehicle"],
	["", "O_Heli_Transport_04_covered_F", 9500, "vehicle"],
	["", "B_Heli_Transport_03_unarmed_F", 10000, "vehicle"], // CH-47
	["", "I_Heli_Transport_02_F", 10000, "vehicle"], // AW101

	["", "O_Heli_Transport_04_medevac_F",12500, "vehicle"],
	["", "O_Heli_Transport_04_repair_F", 15000, "vehicle"],
	["", "O_Heli_Transport_04_ammo_F", 25000, "vehicle"],

	["", "B_Heli_Transport_01_F", 25000, "vehicle"], // UH-60 Stealth with 2 side miniguns
	["", "B_Heli_Transport_01_camo_F", 25000, "vehicle"], // UH-60 Stealth with 2 side miniguns (green camo)
	["", "B_Heli_Transport_03_F", 30000, "vehicle"], // CH-47 with 2 side miniguns
	["", "B_Heli_Light_01_armed_F", 30000, "vehicle"], // Armed AH-6
	["", "O_Heli_Light_02_v2_F", 30000, "vehicle"], // Armed Ka-60 with orca paintjob
	["", "O_Heli_Light_02_F", 35000, "vehicle"], // Armed Ka-60
	["", "I_Heli_light_03_F", 40000, "vehicle"], // Armed AW159
	["", "B_Heli_Attack_01_F", 50000, "vehicle"], // RAH-66 with gunner
	["", "O_Heli_Attack_02_F", 60000, "vehicle"], // Mi-28 with gunner
	["", "O_Heli_Attack_02_black_F", 60000, "vehicle"] // Mi-28 with gunner (black camo)
];

planesArray = compileFinal str
[
	["", "I_Plane_Fighter_03_AA_F", 40000, "vehicle"],
	["", "I_Plane_Fighter_03_CAS_F", 45000, "vehicle"],
	["", "B_Plane_CAS_01_F", 60000, "vehicle"],
	["", "O_Plane_CAS_02_F", 60000, "vehicle"],
	["", "B_UAV_02_F", 20000, "vehicle"],
	["", "B_UAV_02_CAS_F", 10000, "vehicle"], // Bomber UAVs are a lot harder to use, hence why they are cheaper than ATGMs
	["", "O_UAV_02_F", 20000, "vehicle"],
	["", "O_UAV_02_CAS_F", 10000, "vehicle"],
	["", "I_UAV_02_F", 20000, "vehicle"],
	["", "I_UAV_02_CAS_F", 10000, "vehicle"]
];

boatsArray = compileFinal str
[
	["Rescue Boat", "C_Rubberboat", 500, "boat"],
	["Rescue Boat (NATO)", "B_Lifeboat", 500, "boat"],
	["Rescue Boat (CSAT)", "O_Lifeboat", 500, "boat"],
	["Assault Boat (NATO)", "B_Boat_Transport_01_F", 600, "boat"],
	["Assault Boat (CSAT)", "O_Boat_Transport_01_F", 600, "boat"],
	["Assault Boat (AAF)", "I_Boat_Transport_01_F", 600, "boat"],
	["Assault Boat (FIA)", "B_G_Boat_Transport_01_F", 600, "boat"],
	["Motorboat", "C_Boat_Civil_01_F", 1000, "boat"],
	["Motorboat Rescue", "C_Boat_Civil_rescue_01_F", 900, "boat"],
	["Motorboat Police", "C_Boat_Civil_police_01_F", 1250, "boat"],
	["Speedboat HMG (CSAT)", "O_Boat_Armed_01_hmg_F", 4000, "boat"],
	["Speedboat Minigun (NATO)", "B_Boat_Armed_01_minigun_F", 4000, "boat"],
	["Speedboat Minigun (AAF)", "I_Boat_Armed_01_minigun_F", 4000, "boat"],
	["SDV Submarine (NATO)", "B_SDV_01_F", 1000, "submarine"],
	["SDV Submarine (CSAT)", "O_SDV_01_F", 1000, "submarine"],
	["SDV Submarine (AAF)", "I_SDV_01_F", 1000, "submarine"]
];

allVehStoreVehicles = compileFinal str (call landArray + call armoredArray + call tanksArray + call helicoptersArray + call planesArray + call boatsArray);

uavArray = compileFinal str
[
	"UAV_02_base_F",
	"UGV_01_base_F"
];

noColorVehicles = compileFinal str
[
	// Deprecated
];

rgbOnlyVehicles = compileFinal str
[
	// Deprecated
];

_color = "#(rgb,1,1,1)color";
_texDir = "client\images\vehicleTextures\";
_kartDir = "\A3\soft_f_kart\Kart_01\Data\";
_mh9Dir = "\A3\air_f\Heli_Light_01\Data\";
_mohawkDir = "\A3\air_f_beta\Heli_Transport_02\Data\";
_taruDir = "\A3\air_f_heli\Heli_Transport_04\Data\";

colorsArray = compileFinal str
[
	[ // Main colors
		"All",
		[
			["Black", _color + "(0.01,0.01,0.01,1)"], // #(argb,8,8,3)color(0.1,0.1,0.1,0.1)
			["Gray", _color + "(0.15,0.151,0.152,1)"], // #(argb,8,8,3)color(0.5,0.51,0.512,0.3)
			["White", _color + "(0.75,0.75,0.75,1)"], // #(argb,8,8,3)color(1,1,1,0.5)
			["Dark Blue", _color + "(0,0.05,0.15,1)"], // #(argb,8,8,3)color(0,0.3,0.6,0.05)
			["Blue", _color + "(0,0.03,0.5,1)"], // #(argb,8,8,3)color(0,0.2,1,0.75)
			["Teal", _color + "(0,0.3,0.3,1)"], // #(argb,8,8,3)color(0,1,1,0.15)
			["Green", _color + "(0,0.5,0,1)"], // #(argb,8,8,3)color(0,1,0,0.15)
			["Yellow", _color + "(0.5,0.4,0,1)"], // #(argb,8,8,3)color(1,0.8,0,0.4)
			["Orange", _color + "(0.4,0.09,0,1)"], // #(argb,8,8,3)color(1,0.5,0,0.4)
			["Red", _color + "(0.45,0.005,0,1)"], // #(argb,8,8,3)color(1,0.1,0,0.3)
			["Pink", _color + "(0.5,0.03,0.3,1)"], // #(argb,8,8,3)color(1,0.06,0.6,0.5)
			["Purple", _color + "(0.1,0,0.3,1)"], // #(argb,8,8,3)color(0.8,0,1,0.1)
			["NATO Tan", _texDir + "nato.paa"], // #(argb,8,8,3)color(0.584,0.565,0.515,0.3)
			["CSAT Brown", _texDir + "csat.paa"], // #(argb,8,8,3)color(0.624,0.512,0.368,0.3)
			["AAF Green", _texDir + "aaf.paa"], // #(argb,8,8,3)color(0.546,0.59,0.363,0.2)
			["Bloodshot", _texDir + "bloodshot.paa"],
			["Carbon", _texDir + "carbon.paa"],
			["Confederate", _texDir + "confederate.paa"],
			["Denim", _texDir + "denim.paa"],
			["Digital", _texDir + "digi.paa"],
			["Digital Black", _texDir + "digi_black.paa"],
			["Digital Desert", _texDir + "digi_desert.paa"],
			["Digital Woodland", _texDir + "digi_wood.paa"],
			["Doritos", _texDir + "doritos.paa"],
			["Drylands", _texDir + "drylands.paa"],
			["Hello Kitty", _texDir + "hellokitty.paa"],
			["Hex", _texDir + "hex.paa"],
			["Hippie", _texDir + "hippie.paa"],
			["ISIS", _texDir + "isis.paa"],
			["Leopard", _texDir + "leopard.paa"],
			["Mountain Dew", _texDir + "mtndew.paa"],
			["'Murica", _texDir + "murica.paa"],
			["Nazi", _texDir + "nazi.paa"],
			["Orange Camo", _texDir + "camo_orange.paa"],
			["Pink Camo", _texDir + "camo_pink.paa"],
			["Pride", _texDir + "pride.paa"],
			["Psych", _texDir + "psych.paa"],
			["Red Camo", _texDir + "camo_red.paa"],
			["Rusty", _texDir + "rusty.paa"],
			["Sand", _texDir + "sand.paa"],
			["Snake", _texDir + "snake.paa"],
			["Stripes", _texDir + "stripes.paa"],
			["Stripes 2", _texDir + "stripes2.paa"],
			["Stripes 3", _texDir + "stripes3.paa"],
			["Swamp", _texDir + "swamp.paa"],
			["Tiger", _texDir + "tiger.paa"],
			["Trippy", _texDir + "rainbow.paa"],
			["Union Jack", _texDir + "unionjack.paa"],
			["Urban", _texDir + "urban.paa"],
			["Weed", _texDir + "weed.paa"],
			["Woodland", _texDir + "woodland.paa"],
			["Woodland Dark", _texDir + "wooddark.paa"],
			["Woodland Tiger", _texDir + "woodtiger.paa"]
		]
	],
	[ // Kart colors
		"Kart_01_Base_F",
		[
			["Black (Kart)", [[0, _kartDir + "kart_01_base_black_co.paa"]]],
			["White (Kart)", [[0, _kartDir + "kart_01_base_white_co.paa"]]],
			["Blue (Kart)", [[0, _kartDir + "kart_01_base_blue_co.paa"]]],
			["Green (Kart)", [[0, _kartDir + "kart_01_base_green_co.paa"]]],
			["Yellow (Kart)", [[0, _kartDir + "kart_01_base_yellow_co.paa"]]],
			["Orange (Kart)", [[0, _kartDir + "kart_01_base_orange_co.paa"]]],
			["Red (Kart)", [[0, _kartDir + "kart_01_base_red_co.paa"]]]
		]
	],
	[ // MH-9 colors
		"Heli_Light_01_base_F",
		[
			["AAF Camo (MH-9)", [[0, _mh9Dir + "heli_light_01_ext_indp_co.paa"]]],
			["Blue 'n White (MH-9)", [[0, _mh9Dir + "heli_light_01_ext_blue_co.paa"]]],
			["Blueline (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_blueline_co.paa"]]],
			["Cream Gravy (MH-9)", [[0, _mh9Dir + "heli_light_01_ext_co.paa"]]],
			["Digital (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_digital_co.paa"]]],
			["Elliptical (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_elliptical_co.paa"]]],
			["Furious (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_furious_co.paa"]]],
			["Graywatcher (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_graywatcher_co.paa"]]],
			["ION (MH-9)", [[0, _mh9Dir + "heli_light_01_ext_ion_co.paa"]]],
			["Jeans (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_jeans_co.paa"]]],
			["Light (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_light_co.paa"]]],
			["Shadow (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_shadow_co.paa"]]],
			["Sheriff (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_sheriff_co.paa"]]],
			["Speedy (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_speedy_co.paa"]]],
			["Sunset (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_sunset_co.paa"]]],
			["Vrana (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_vrana_co.paa"]]],
			["Wasp (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_wasp_co.paa"]]],
			["Wave (MH-9)", [[0, _mh9Dir + "Skins\heli_light_01_ext_wave_co.paa"]]]
		]
	],
	[ // Mohawk colors
		"Heli_Transport_02_base_F",
		[
			["Dahoman (Mohawk)", [
				[0, _mohawkDir + "Skins\heli_transport_02_1_dahoman_co.paa"],
				[1, _mohawkDir + "Skins\heli_transport_02_2_dahoman_co.paa"],
				[2, _mohawkDir + "Skins\heli_transport_02_3_dahoman_co.paa"]
			]],
			["ION (Mohawk)", [
				[0, _mohawkDir + "Skins\heli_transport_02_1_ion_co.paa"],
				[1, _mohawkDir + "Skins\heli_transport_02_2_ion_co.paa"],
				[2, _mohawkDir + "Skins\heli_transport_02_3_ion_co.paa"]
			]]
		]
	],
	[ // Taru base colors
		"Heli_Transport_04_base_F",
		[
			["Black (Taru)", [
				[0, _taruDir + "heli_transport_04_base_01_black_co.paa"],
				[1, _taruDir + "heli_transport_04_base_02_black_co.paa"],
				[2, _taruDir + "heli_transport_04_pod_ext01_black_co.paa"],
				[3, _taruDir + "heli_transport_04_pod_ext02_black_co.paa"]
			]]
		]
	],
	[ // Taru bench colors
		"O_Heli_Transport_04_bench_F",
		[
			["Black (Taru)", [[2, _taruDir + "heli_transport_04_bench_black_co.paa"]]]
		]
	],
	[ // Taru fuel colors
		"O_Heli_Transport_04_fuel_F",
		[
			["Black (Taru)", [[2, _taruDir + "heli_transport_04_fuel_black_co.paa"]]]
		]
	]
];

//General Store Item List
//Display Name, Class Name, Description, Picture, Buy Price, Sell Price.
// ["Medical Kit", "medkits", localize "STR_WL_ShopDescriptions_MedKit", "client\icons\medkit.paa", 400, 200],  // not needed since there are First Ait Kits
customPlayerItems = compileFinal str
[
	["Repair Kit", "repairkit", localize "STR_WL_ShopDescriptions_RepairKit", "client\icons\briefcase.paa", 500, 250],
	["Jerry Can (Full)", "jerrycanfull", localize "STR_WL_ShopDescriptions_fuelFull", "client\icons\jerrycan.paa", 150, 75],
	["Jerry Can (Empty)", "jerrycanempty", localize "STR_WL_ShopDescriptions_fuelEmpty", "client\icons\jerrycan.paa", 50, 25],
	["Spawn Beacon", "spawnbeacon", localize "STR_WL_ShopDescriptions_spawnBeacon", "client\icons\spawnbeacon.paa", 1500, 750],
	["Camo Net", "camonet", localize "STR_WL_ShopDescriptions_Camo", "client\icons\camonet.paa", 200, 100],
	["Syphon Hose", "syphonhose", localize "STR_WL_ShopDescriptions_SyphonHose", "client\icons\syphonhose.paa", 200, 100],
	["Warchest", "warchest", localize "STR_WL_ShopDescriptions_Warchest", "client\icons\warchest.paa", 1000, 500]
];

call compile preprocessFileLineNumbers "mapConfig\storeOwners.sqf";

storeConfigDone = compileFinal "true";

Share this post


Link to post
Share on other sites

×