Jump to content

Recommended Posts

Hi Nox,

 

In the post about the admin snap fix you say to paste the code into the adminBuild.sqf - is there any specific place that it should be? Will placing it at the bottom of the existing file suffice?

 

Or should it replace the entire file? ** Having looked at the text i'd guess the entire file needs replacing.**

 

Yes, replace the entire file. Basically it should work the same as the current admin build, just with snap build enabled. The next version will work with and without snap pro. I found a way to detect install I think.

Link to comment
Share on other sites

Yes I complained but at the same time resolved the issue. What I do not understand that this problem no one noticed. But a counter-question, has anyone complained about the vehicle key changer not working properly? No one noticed it. Not even the developer. But it was a Bug exists that allowed vehicles infinitely duplicate. 100% reproducible. But nobody complained as in this case.

The Weather Time menu works beautifully. The times are all taken from the server. The only problem is after each server restart is day and not the regular daytime. Is it for example 10 pm and night and I reboot the server, is suddenly daylight. It is always daylight at server restart. Due to a bug in the AdminList.sqf, the server reboots always with daylight and never with the regular daytime. But the change of weather and the time working wonderful. Here there are no problems.

But I could fix the problem in the AdminList.sqf. I fix all problems that I find :-) The Weapon Kits.sqf also has a bug.

Sorry for my bad english. I come from Austria ;-)

best regards

hellraver

 

I think the server time offset issue is due to me overwriting the epoch variables. I will see if maybe I can duplicate the variable and change it. No promises, but I do see how that can be annoying. If I can't fix that issue, I will leave it disabled with instructions on how to enable (basically remove two sets of // and it works again I think).

As for the key changer, you are talking about the one that someone else made that isn't in the tool right? This has been brought up (even by me). I think it wasn't properly fixed. There isn't a check made somewhere it is needed, but I don't remember. It even duplicates the contents of the vehicle, not just the vehicle.

 

Please link me to any fixes you have. This is a community tool and the more info I have on fixes the better it is.

Link to comment
Share on other sites

Yes, replace the entire file. Basically it should work the same as the current admin build, just with snap build enabled. The next version will work with and without snap pro. I found a way to detect install I think.

 

Hi Nox,

 

I replaced the entire file as suggested.

 

Unfortunately it didn't work.

 

Server info - Overpoch running admin tools beta v1.9.2 with Snap Pro v1.4.1 with BuildVectors installed (according to my github records anyway).

 

Details of issue:

 

After selecting the item to be built from the list (cinder & wooden walls/floors were tried). Rather than popping up a ghost or preview image of the object to be placed nothing happens. Pressing the spacebar (As if to place something) brings up the following message in white text (paraphrased) "You have built        ".

 

Have I missed something obvious? 

Link to comment
Share on other sites

Hi Nox,

 

I replaced the entire file as suggested.

 

Unfortunately it didn't work.

 

Server info - Overpoch running admin tools beta v1.9.2 with Snap Pro v1.4.1 with BuildVectors installed (according to my github records anyway).

 

Details of issue:

 

After selecting the item to be built from the list (cinder & wooden walls/floors were tried). Rather than popping up a ghost or preview image of the object to be placed nothing happens. Pressing the spacebar (As if to place something) brings up the following message in white text (paraphrased) "You have built        ".

 

Have I missed something obvious? 

 

I checked the script and something messed up during the copy. I think it didn't copy the second time I tried after I realized I missed something. This should work fine as far as I can tell:

 

/*
	Modified version of Raymix's snap pro player build to work with admin build
*/
private ["_helperColor","_objectHelper","_objectHelperDir","_objectHelperPos","_canDo","_location","_dir","_classname","_item","_cancel","_reason","_tmpbuilt","_text","_offset",
"_IsNearPlot","_isOk","_location1","_location2","_position","_object","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable",
"_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection",
"_vehicle","_inVehicle","_objHDiff","_isLandFireDZ","_isPerm"];

if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };

//snap vars -- temporary fix for errors so variables.sqf can be skipped
if (isNil "snapProVariables") then {
	if (isNil "DZE_snapExtraRange") then {
		DZE_snapExtraRange = 0;
	};
	if (isNil "DZE_checkNearbyRadius") then {
		DZE_checkNearbyRadius = 30;
	};
	s_player_toggleSnap = -1;
	s_player_toggleSnapSelect = -1;
	s_player_toggleSnapSelectPoint=[];
	snapActions = -1;
	snapGizmos = [];
	snapGizmosNearby = [];
	snapProVariables = true; // will skip this statement from now on.
};
// snap vars

_cancel = false;
_isPerm = false;
_reason = "";
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
//_canDo = call fnc_actionAllowed;

helperDetach = false; 

DZE_Q = false;
DZE_Z = false;

DZE_Q_alt = false;
DZE_Z_alt = false;

DZE_Q_ctrl = false;
DZE_Z_ctrl = false;

DZE_5 = false;
DZE_4 = false;
DZE_6 = false;
DZE_F = false;

DZE_cancelBuilding = false;

call gear_ui_init;
closeDialog 1;

if(isNil 'isBuilding') then {isBuilding = false};
//if(!_canDo) exitWith {cutText ["Cannot build while on ladder, in water, in vehicle","PLAIN DOWN"];};

if((_this select 0) == "rebuild") then {
	if(isNil "adminRebuildItem") exitWith {systemChat "You have not selected a buildable item yet"};
	_item =	adminRebuildItem;
	_isPerm = adminRebuildPerm;
} else {
	_item =	_this select 0;
	adminRebuildItem = _item;
	isBuilding = _this select 1;
	_isPerm = _this select 2;
	adminRebuildPerm = _isPerm;
};

// Need Near Requirements
_reason = "";

_classname = _item;
_classnametmp = _classname;
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");

_lockable = 0;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then {
	_lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable");
};

_isAllowedUnderGround = 1;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
	_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
};

_offset = 	getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
if((count _offset) <= 0) then {
	if(isBuilding) then {
		if(_item in (buildResidential - buildShed)) then {
			_offset = [0,15,2];
		} else {
			if(_item in (buildCastle + buildMilitary)) then {
				_offset = [0,3,2];
			} else {
				if(_item in buildReligious) then {
					_offset = [0,25,2];
				} else {
					if(_item in buildGrave + buildOutdoors) then {
						_offset = [0,2,1];
					} else {
						_offset = [0,6,2];
					};
				};
			};
		};
	} else {
		_offset = [0,2,0];
	};
};

_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");

_distance = DZE_PlotPole select 0;
_needText = localize "str_epoch_player_246";

if(_isPole) then {
	_distance = DZE_PlotPole select 1;
};

// check for near plot
_findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
_findNearestPole = [];

{
	if (alive _x) then {
		_findNearestPole set [(count _findNearestPole),_x];
	};
} count _findNearestPoles;

_IsNearPlot = count (_findNearestPole);

// If item is plot pole && another one exists within 45m
if(_isPole && _IsNearPlot > 0) exitWith {  DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };

_location = [0,0,0];
_isOk = true;

// get inital players position
_location1 = [player] call FNC_GetPos;
_dir = getDir player;

// if ghost preview available use that instead
if (_ghost != "") then {
	_classname = _ghost;
};

_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
//Build Gizmo
_objectHelper = "Sign_sphere10cm_EP1" createVehicle _location;
_helperColor = "#(argb,8,8,3)color(0,0,0,0,ca)";
_objectHelper setobjecttexture [0,_helperColor];
_objectHelper attachTo [player,_offset];
_object attachTo [_objectHelper,[0,0,0]];
_position = [_objectHelper] call FNC_GetPos;
	
_objHDiff = 0;

if (isClass (missionConfigFile >> "SnapBuilding" >> _classname)) then {	
	["","","",["Init",_object,_classname,_objectHelper]] spawn snap_build;
};
	
while {_isOk} do {

	_zheightchanged = false;
	_zheightdirection = "";
	_rotate = false;

	if (DZE_Q) then {
		DZE_Q = false;
		_zheightdirection = "up";
		_zheightchanged = true;
	};
	if (DZE_Z) then {
		DZE_Z = false;
		_zheightdirection = "down";
		_zheightchanged = true;
	};
	if (DZE_Q_alt) then {
		DZE_Q_alt = false;
		_zheightdirection = "up_alt";
		_zheightchanged = true;
	};
	if (DZE_Z_alt) then {
		DZE_Z_alt = false;
		_zheightdirection = "down_alt";
		_zheightchanged = true;
	};
	if (DZE_Q_ctrl) then {
		DZE_Q_ctrl = false;
		_zheightdirection = "up_ctrl";
		_zheightchanged = true;
	};
	if (DZE_Z_ctrl) then {
		DZE_Z_ctrl = false;
		_zheightdirection = "down_ctrl";
		_zheightchanged = true;
	};
	if (DZE_4) then {
		_rotate = true;
		DZE_4 = false;
		_dir = -45;
	};
	if (DZE_6) then {
		_rotate = true;
		DZE_6 = false;
		_dir = 45;
	};
	if (DZE_F) then {	
		if (helperDetach) then {
			_objectHelperDir = getDir _objectHelper; 
			_objectHelper attachTo [player];
			_objectHelper setDir _objectHelperDir-(getDir player);
			helperDetach = false;
		} else {
			_objectHelperDir = getDir _objectHelper;
			detach _objectHelper;
			[_objectHelper]	call FNC_GetSetPos;
			_objectHelper setVelocity [0,0,0]; //fix sliding glitch
			helperDetach = true;
		};
		DZE_F = false;
	};

	if(_rotate) then {
		if (helperDetach) then {
			_objectHelperDir = getDir _objectHelper;
			_objectHelper setDir _objectHelperDir+_dir;
			[_objectHelper]	call FNC_GetSetPos;
		} else {
			detach _objectHelper;
			_objectHelperDir = getDir _objectHelper;
			_objectHelper setDir _objectHelperDir+_dir;
			[_objectHelper]	call FNC_GetSetPos;
			_objectHelperDir = getDir _objectHelper;
			_objectHelper attachTo [player];
			_objectHelper setDir _objectHelperDir-(getDir player);		
		};
	};

	if(_zheightchanged) then {
		if (!helperDetach) then {
			detach _objectHelper;
			_objectHelperDir = getDir _objectHelper;
		};

		_position = [_objectHelper] call FNC_GetPos;
		
		if(_zheightdirection == "up") then {
			_position set [2,((_position select 2)+0.1)];
			_objHDiff = _objHDiff + 0.1;
		};
		if(_zheightdirection == "down") then {
			_position set [2,((_position select 2)-0.1)];
			_objHDiff = _objHDiff - 0.1;
		};

		if(_zheightdirection == "up_alt") then {
			_position set [2,((_position select 2)+1)];
			_objHDiff = _objHDiff + 1;
		};
		if(_zheightdirection == "down_alt") then {
			_position set [2,((_position select 2)-1)];
			_objHDiff = _objHDiff - 1;
		};

		if(_zheightdirection == "up_ctrl") then {
			_position set [2,((_position select 2)+0.01)];
			_objHDiff = _objHDiff + 0.01;
		};
		if(_zheightdirection == "down_ctrl") then {
			_position set [2,((_position select 2)-0.01)];
			_objHDiff = _objHDiff - 0.01;
		};

		if((_isAllowedUnderGround == 0) && ((_position select 2) < 0)) then {
			_position set [2,0];
		};

		if (surfaceIsWater _position) then {
			_objectHelper setPosASL _position;
		} else {
			_objectHelper setPosATL _position;
		};

		if (!helperDetach) then {
			_objectHelper attachTo [player];
			_objectHelper setDir _objectHelperDir-(getDir player);
		};
	};

	sleep 0.5;

	_location2 = [player] call FNC_GetPos;
	_objectHelperPos = [_objectHelper] call FNC_GetPos;

	if(DZE_5) exitWith {
		_isOk = false;
		_position = [_object] call FNC_GetPos;
		detach _object;
		_dir = getDir _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};

	if(_location1 distance _location2 > 10) exitWith {
		_isOk = false;
		_cancel = true;
		_reason = "You've moved to far away from where you started building (within 10 meters)";
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};
		
	if(_location1 distance _objectHelperPos > 10) exitWith {
		_isOk = false;
		_cancel = true;
		_reason = "Object is placed to far away from where you started building (within 10 meters)";
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};

	if(abs(_objHDiff) > 10) exitWith {
		_isOk = false;
		_cancel = true;
		_reason = "Cannot move up or down more than 10 meters";
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};

	if (player getVariable["combattimeout", 0] >= time) exitWith {
		_isOk = false;
		_cancel = true;
		_reason = (localize "str_epoch_player_43");
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};

	if (DZE_cancelBuilding) exitWith {
		_isOk = false;
		_cancel = true;
		_reason = "Cancelled building.";
		detach _object;
		deleteVehicle _object;
		detach _objectHelper;
		deleteVehicle _objectHelper;
	};
};


if(!_cancel) then {
	_classname = _classnametmp;

	// Start Build
	_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];

	_tmpbuilt setdir _dir;

	// Get position based on object
	_location = _position;

	if((_isAllowedUnderGround == 0) && ((_location select 2) < 0)) then {
		_location set [2,0];
	};

	if (surfaceIsWater _location) then {
		_tmpbuilt setPosASL _location;
		_location = ASLtoATL _location;
	} else {
		_tmpbuilt setPosATL _location;
	};

	cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];

	cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
			
	if (_isPole) then {
		[] spawn player_plotPreview;
	};

	_tmpbuilt setVariable ["OEMPos",_location,true];

	if(_lockable > 1) then {
		_combinationDisplay = "";

		switch (_lockable) do {
			case 2: { // 2 lockbox
				_combination_1 = (floor(random 3)) + 100; // 100=red,101=green,102=blue
				_combination_2 = floor(random 10);
				_combination_3 = floor(random 10);
				_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
				dayz_combination = _combination;
				if (_combination_1 == 100) then {
					_combination_1_Display = "Red";
				};
				if (_combination_1 == 101) then {
					_combination_1_Display = "Green";
				};
				if (_combination_1 == 102) then {
					_combination_1_Display = "Blue";
				};
				_combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3];
			};

			case 3: { // 3 combolock
				_combination_1 = floor(random 10);
				_combination_2 = floor(random 10);
				_combination_3 = floor(random 10);
				_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
				dayz_combination = _combination;
				_combinationDisplay = _combination;
			};

			case 4: { // 4 safe
				_combination_1 = floor(random 10);
				_combination_2 = floor(random 10);
				_combination_3 = floor(random 10);
				_combination_4 = floor(random 10);
				_combination = format["%1%2%3%4",_combination_1,_combination_2,_combination_3,_combination_4];
				dayz_combination = _combination;
				_combinationDisplay = _combination;
			};
		};

		_tmpbuilt setVariable ["CharacterID",_combination,true];

		PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
		publicVariableServer "PVDZE_obj_Publish";
		cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
	} else {
		if(_isPerm) then {
			_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
		
			// fire?
			if(_tmpbuilt isKindOf "Land_Fire_DZ") then {
				_tmpbuilt spawn player_fireMonitor;
			} else {
				PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
				publicVariableServer "PVDZE_obj_Publish";
			};
		};
	};
	
	// Tool use logger
	if(logMinorTool) then {
		usageLogger = format["%1 %2 -- has used admin build to place: %3",name player,getPlayerUID player,_item];
		[] spawn {publicVariable "usageLogger";};
	};
} else {
	deleteVehicle _tmpbuilt;
	r_interrupt = false;
	cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
};
 

 

Basically it didn't have a variable manipulation it needed. 

Link to comment
Share on other sites

I checked the script and something messed up during the copy. I think it didn't copy the second time I tried after I realized I missed something. This should work fine as far as I can tell:

 


Basically it didn't have a variable manipulation it needed. 

 

Hi Nox,

 

 

Ii can place building objects again (walls and floors etc) but there doesn't appear to be any snapping options when using the admin build menu.

Link to comment
Share on other sites

Hi Nox,

 

 

Ii can place building objects again (walls and floors etc) but there doesn't appear to be any snapping options when using the admin build menu.

 

Thanks for the help. I'll just go over all of it again and see whats going on. Seems like i'm pretty close.

 

 

Also, if you have the server rpt for it still, please post that up. It may have something in it to help me out.

Link to comment
Share on other sites

I have figured out the admin build issue for the snap. I just need to figure out a way to fix it. It is working, it just isn't initializing the parts that give you the scroll wheel and screen display. If you press F, it does actually hold it in place like normal, just won't snap because you don't have the scroll option to enable.

Link to comment
Share on other sites

Test Branch Updates

Bunch of updates just went into the test branch.

The most important of which are some serious optimizations/cleanups and admin build now works with Snap Pro. The script will auto detect if you have snap pro installed so no extra install steps.

 

Because of all of the optimizations that went into the mod I need it to be tested to be sure there are no bugs. I did preliminary testing on all of the features I could so I know the important stuff is working and it should be stable for use on active servers.

 

AdminList.sqf has been changed into config.sqf with a number of useful configurations you can set. Any previously unmodifiable variables have been moved to their own file: variables.sqf

 

Use my action menu and admin tool? Now they are integrated with special features only available in the admin tool version. Enable the action menu in the config file and there is an option for them to contact admins for help. The admins can check the help queue and teleport to any player to rectify the problem. This will streamline the administration process to leave you with more time to play! This feature is still in its early stages and will advance to include a help ticket where the user can specify their issue before hand.

Link to comment
Share on other sites

Hi Noxsicarius  I am using your admin tool,  custom loadout script,custom debug and action menu

I see that the action menu will be included with the admin tool

 

any chance the custom debug and/or custom loadout will be included as well?

 

I know you are busy working on admin tool is there a possibility to add custom spawn point to the custom loadouts tool and if so might they be included with the admin tool?

just a thought as admin,loadouts,spawn tools all use same guid would seem like less calls would be better 

 

thank you for your tools and your tutorial videos they have been great 

thanks again BrokenSnowman

Link to comment
Share on other sites

Hi Noxsicarius  I am using your admin tool,  custom loadout script,custom debug and action menu

I see that the action menu will be included with the admin tool

 

any chance the custom debug and/or custom loadout will be included as well?

 

I know you are busy working on admin tool is there a possibility to add custom spawn point to the custom loadouts tool and if so might they be included with the admin tool?

just a thought as admin,loadouts,spawn tools all use same guid would seem like less calls would be better 

 

thank you for your tools and your tutorial videos they have been great 

thanks again BrokenSnowman

 

I am not sure if the other tools will make it into admin tools yet. I am considering the debug monitor to make its install easier when 2.0 comes out though. The default loadouts may or may not. The install for them is so easy there is little reason to try and streamline it even more. The main reason the action menu was added in was because of the new help ticket system. My only options were either to add a scroll option just for help, or add a configurable action menu. I am even considering adding an Event Teleport option to them where an admin can initiate an event and anyone can select teleport from the action menu to join the event. This is still only an idea at the moment and will take some more work, I would also need to get that stupid safe zone area script working properly to stop a slaughter fest at the event.

 

Version 2.0 will expand the tools significantly and most of the optimizations and cleanups I have done in the last few updates have all been to get things ready for it. 2.0 will not be an easy update for me to program through so early cleanups are kind of important. There are a number of ideas I have for the tool, some of which are really cool and don't seem to exist in any other mod that I know of, but process of coding everything can take a lot of time.

Link to comment
Share on other sites

Hey Nox, have you had any luck moving this server side? It's a great thing although it does open doors to lots of nastys.

 

This is coming in version 2.0 still. Version 1.10 is finished and I am only waiting for bug reports, then after that release the next version will be server side. Almost all of 2.0 is going server side and adding full gui

Link to comment
Share on other sites

As for the key changer, you are talking about the one that someone else made that isn't in the tool right? This has been brought up (even by me). I think it wasn't properly fixed. There isn't a check made somewhere it is needed, but I don't remember. It even duplicates the contents of the vehicle, not just the vehicle.

No, that was not brought from you. The developer of Vehicle Key Changer script is OtterNas3 and was brought from him. If the vehicle has been duplicated, and the contents were duplicated automatically. It's logical. But I was able to fix the bug Duplicate final and have also additionally a function added namely vehicle key claim.

Link to comment
Share on other sites

Update!

 

 

New Feature:

  • Added Variables file for unmodifiable variables/functions
  • Added epoch buildables to ESP
  • Added player storage to ESP
  • Added distinguish between locked/unlock vehicle to ESP
  • Added vehicle locator script by Logi
  • Added ArmA building GUI
  • Added ability to spawn permanent ArmA buildings
  • Added server messaging system
  • Added Contact Admin (ticket) system - MUST enable action menu for players
  • Added vehicle revive for destroyed vehicles
  • Added snap capable admin build
  • Added an optional action menu for players

 

Bug Fixes:

  • Skin changer loop fix
  • Item class updates to epoch class @leodr99
  • Exported bases are now properly formatted
  • Variable collision in dialog.hpp to stop RSC variable collision errors
  • A number of infinite loop fixes

 

Clean up:

  • Skin Changer @leodr99
  • adminlist.sqf has been changed to config.sqf
  • Weather/Time menu made optional in case of bugs
  • Speed increases in crate spawns
  • Speed increase in most tools
  • Lower server load by limiting calls between player and server
  • Optimizations for every script
  • Cleanup for every script

 

Download Now

 

Link to comment
Share on other sites

Hi NoxSicarius first of thanks for your hard work on the admin tool's love them however the latest update i keep getting RSC error this one conflict with the addon and crashes server with error Custom\doorManagement\doorUnlock.hpp Line 39: /ComboLockUI/Controls.ZupaButton_1; Undefined Base class 'RscShortcutButton'

 

I followed the upgrade guides and even did fresh install of latest Admin Tools V1.10.0 and still getting RSC the error don't know if anyone else has got it to work with that addon.

 

 

 

Link to comment
Share on other sites

Hi NoxSicarius first of thanks for your hard work on the admin tool's love them however the latest update i keep getting RSC error this one conflict with the addon and crashes server with error Custom\doorManagement\doorUnlock.hpp Line 39: /ComboLockUI/Controls.ZupaButton_1; Undefined Base class 'RscShortcutButton'

 

I followed the upgrade guides and even did fresh install of latest Admin Tools V1.10.0 and still getting RSC the error don't know if anyone else has got it to work with that addon.

 

Does it work with the old version? This is weird because I no longer modify Rsc classes. Because of this, there are no longer collisions with nay other mod. That mod has it's own rsc classes defined in "doorManagement\defines.hpp". That means either you are not including the defines first, not including it at all, or the mod can't access it for some reason. The admin tool should not mess with it unless you never set added the defines for that mod. In the last version there were variable collisions, so you shouldn't have been able to use this mod with it unless you made some changes.

 

Link to comment
Share on other sites

yeah only started happening in this version old admin tools works great i'll look into it more because it was another admin on server who installed the door management system maybe he left something out.

Make sure step 1 is done for that mod. That is the important thing. Those items MUST be in that order. Then check the defines to make sure shortcut button exists inside it.

Link to comment
Share on other sites

yeah looks like he did not upload the updated define file lol working fine now ty.

 

Yep, no problem. The issue was that that mod was using my mod for the defined base classes. Now that I changed them to fix compatibility with other mods (like the one you are using now), it had no base class to use. The mod you installed will most likely have conflicts with other mods that use hpp files though. You may want to talk to the creator and mention this. If he has trouble with it you can send him my way for help on doing this. hpp files are a tricky thing since it is in c instead of sqf.

Link to comment
Share on other sites

Hi Guys,
 
here is the solution for the problem of weather time.
This code fixes a problem that the server to always revert to mid-day on restart.

 

Copy&Paste the code in following files:
 
variables.sqf

// Do not modify this file unless you know what you are doing

AdminList = AdminList + SuperAdminList; // add SuperAdmin to Admin
AdminAndModList = AdminList + ModList; // Add all admin/mod into one list for easy call

/***** Set variables *****/
tempList = []; // Initialize templist
helpQueue = []; // Initialize help queue


/****************** Server Public Variables ******************/
	if(isDedicated) then {
		// Log tool usage to .txt file
		"usageLogger" addPublicVariableEventHandler {
			"EATadminLogger" callExtension (_this select 1);
		};
		// Broadcast server message to clients
		"EAT_serverMessageServer" addPublicVariableEventHandler {
			EAT_serverMessageClient = (_this select 1);
			{
				(owner _x) publicVariableClient "EAT_serverMessageClient";
			} forEach entities "CAManBase";
		};
		// Export base to .sqf
		"EAT_baseExporter" addPublicVariableEventHandler {
			"EATbaseExporter" callExtension (_this select 1);
		};
		// teleport fix
		"EAT_teleportFixServer" addPublicVariableEventHandler{
			_array = (_this select 1);
			_addRemove = (_array select 0);

			if(_addRemove == "add") then {
				_array = _array - ["add"];
				tempList = tempList + _array;
			} else {
				_array = _array - ["remove"];
				tempList = tempList - _array;
			};
			EAT_teleportFixClient = tempList;
			publicVariable "EAT_teleportFixClient";
		};
		// Broadcast date to clients
		"EAT_SetDateServer" addPublicVariableEventHandler {
			EAT_setDateClient = (_this select 1);
			setDate EAT_setDateClient;
			publicVariable "EAT_setDateClient";
		};
		// Broadcast weather to clients
		"EAT_SetOvercastServer" addPublicVariableEventHandler {
			EAT_setOvercastClient = (_this select 1);
			5 setOvercast EAT_setOvercastClient;
			publicVariable "EAT_setOvercastClient";
		};
		// Broadcast fog to clients
		"EAT_SetFogServer" addPublicVariableEventHandler {
			EAT_setFogClient = (_this select 1);
			5 setFog EAT_setFogClient;
			publicVariable "EAT_setFogClient";
		};
		// Admin ticket system
		"EAT_contactAdminServer" addPublicVariableEventHandler {
			_array = (_this select 1);
			_addRemove = (_array select 0);

			if(_addRemove == "add") then {
				_array = _array - ["add"];
				helpQueue = helpQueue + _array;
			} else {
				_array = _array - ["remove"];
				helpQueue = helpQueue - _array;
			};
			EAT_contactAdminClient = helpQueue;
			{
				if ((getPlayerUID _x) in AdminAndModList) then {	//check if the clientID(uniqueID) is an admin|mod
					(owner _x) publicVariableClient "EAT_contactAdminClient";
				};
			} forEach entities "CAManBase";
		};
	};

/****************** Client Public Variables ******************/
	// Display server message
	"EAT_serverMessageClient" addPublicVariableEventHandler{
		[format["<t size='0.8' color='#ff0000' font='Zeppelin33'>%1</t>", _this select 1],0,0,10,2,0,8] spawn BIS_fnc_dynamicText;
	};
	// Teleport fix
	"EAT_teleportFixClient" addPublicVariableEventHandler {
		tempList = (_this select 1);
	};
	// Set date on client
	"EAT_SetDateClient" addPublicVariableEventHandler {
		setDate (_this select 1);
	};
	// Set overcast on client
	"EAT_setOvercastClient" addPublicVariableEventHandler {
		drn_fnc_DynamicWeather_SetWeatherLocal = {};
		5 setOvercast (_this select 1);
	};
	// Set fog on client
	"EAT_setFogClient" addPublicVariableEventHandler {
		drn_fnc_DynamicWeather_SetWeatherLocal = {};
		5 setFog (_this select 1);
	};
	// Admin ticket system
	"EAT_contactAdminClient" addPublicVariableEventHandler {
		helpQueue = (_this select 1);
		if ((getPlayerUID player) in AdminAndModList) then {
			systemChat "****A player needs help****";
		};
	};


/******************* Buildings *******************/
	// This section defines all of the buildings in the building GUI
	// Format: variable = [["TYPE","NAME","BUILING_CLASS"],["TYPE","NAME","BUILING_CLASS"]];
	
	//Residential
		buildHouse = [["House","Yellow Modern","Land_sara_domek_zluty"],["House","Large Orange","Land_Housev2_02_Interier"],["House","Yellow Wood","land_housev_3i3"],["House","Burgundy","land_housev_1l2"],["House","Orange/Green","Land_HouseV_3I1"],["House","Damaged Brick","land_r_housev2_04"],["House","Orange/Red","Land_HouseV_1I1"],["House","Barn","Land_HouseV_3I4"],["House","Yellow","Land_HouseV_1T"],["House","Red Brick","Land_HouseV_2I"],["House","Wood","Land_HouseV_1I3"],["House","Green","Land_HouseV_1L1"],["House","Yellow Wood","Land_HouseV_1I2"],["House","Yellow Stone","Land_HouseV_2L"],["House","Green Wood","Land_HouseV_2T2"],["House","Green wood/concrete","Land_HouseV_3I2"],["House","Shanty","Land_MBG_Shanty_BIG"],["House","Middle-East 1","Land_House_C_11_EP1"],["House","Middle-East 2","Land_House_C_12_EP1"],["House","Old Stone 1","Land_House_K_1_EP1"],["House","Old Stone 2","Land_House_K_3_EP1"],["House","Old Stone 3","Land_House_K_5_EP1"],["House","Old Stone 4","Land_House_K_7_EP1"],["House","Old Stone 5","Land_House_K_8_EP1"],["House","Old Stone 6","Land_House_L_1_EP1"],["House","Old Stone 7","Land_House_L_3_EP1"],["House","Old Stone 8","Land_House_L_4_EP1"],["House","Old Stone 9","Land_House_L_6_EP1"],["House","Old Stone 10","Land_House_L_7_EP1"],["House","Old Stone 11","Land_House_L_8_EP1"],["House","Old Stone Ruins","Land_ruin_01"]];
		buildHouseBlock = [["House Block","A1","Land_HouseBlock_A1"],["House Block","A1","Land_HouseBlock_A1"],["House Block","A1_2","Land_HouseBlock_A1_2"],["House Block","A2","Land_HouseBlock_A2"],["House Block","A2_1","Land_HouseBlock_A2_1"],["House Block","A3","Land_HouseBlock_A3"],["House Block","B1","Land_HouseBlock_B1"],["House Block","B2","Land_HouseBlock_B2"],["House Block","B3","Land_HouseBlock_B3"],["House Block","B4","Land_HouseBlock_B4"],["House Block","B5","Land_HouseBlock_B5"],["House Block","B6","Land_HouseBlock_B6"],["House Block","C1","Land_HouseBlock_C1"],["House Block","C2","Land_HouseBlock_C2"],["House Block","C3","Land_HouseBlock_C3"],["House Block","C4","Land_HouseBlock_C4"],["House Block","C5","Land_HouseBlock_C5"]];
		buildApartment = [["Apartment","B","Land_MBG_ApartmentsTwo_B"],["Apartment","G","Land_MBG_ApartmentsTwo_G"],["Apartment","P","Land_MBG_ApartmentsTwo_P"],["Apartment","W","Land_MBG_ApartmentsOne_W"],["Apartment","Large","land_mbg_apartments_big_04"],["Apartment","Red Short","Land_Panelak"],["Apartment","Red Tall","Land_Panelak2"],["Apartment","Red Very Tall","Land_Panelak3"],["Apartment","Grey (closed)","Land_A_Office02"]];
		buildOffice = [["Office","International Hotel","Land_HouseB_Tenement"],["Office","Municipal Office","Land_A_MunicipalOffice"],["School","School (normal)","Land_A_Office01"]];
		buildShed = [["Shed","Nice Wood (open)","Land_Shed_Wooden"],["Shed","Rickety Wood (closed)","Land_kulna"],["Shed","Large Old Wood (closed)","Land_Shed_W4"],["Shed","Patchwork wood (closed)","Land_Shed_W03"],["Shed","Grey Wood (closed)","Land_Shed_W02"],["Shed","Old Metal (closed)","Land_Shed_m03"]];
		buildResidentMisc = [["Hospital","Hospital (normal)","land_a_hospital"],["Store","Pub","Land_A_Pub_01"],["Store","Supermarket 1","Land_A_GeneralStore_01"],["Store","Supermarket 2","Land_A_GeneralStore_01a"]];
		buildResidential = buildHouse + buildHouseBlock + buildApartment + buildOffice + buildShed + buildResidentMisc;

	//Industrial
		buildCargo = [["Cargo","1 Closed Red Crate","Land_Misc_Cargo1Bo"],["Cargo","2 Closed Red Crates","Land_Misc_Cargo2D"],["Cargo","1 Open Cargo Crate","Land_Misc_Cargo1D"],["Cargo","Military Crate","US_WarfareBVehicleServicePoint_Base_EP1"]];
		buildIndustrialParts = [["Metal","Overhang","Land_Ind_Shed_02_main"],["Metal","Arch","Land_Ind_Shed_01_end"],["Station","Vehicle Ceckpoint","Land_Hlidac_budka"]];
		buildIndustrial = buildCargo + buildIndustrialParts;
	
	//Military
		buildMilitary = [["Barracks","L-Barracks","Land_Mil_Barracks_L"],["Depot","Warfare Depot","WarfareBDepot"],["Hospital","Field Hospital","INS_WarfareBFieldhHospital"]];
	
	//Religious
		buildReligious = [["Church","Orange","Land_Church_01"],["Church","Open","Land_Church_03"],["Church","Closed","Land_Church_02"],["Church","Destroyed","Land_Church_05R"],["Mosque","Small","Land_A_Mosque_small_2_EP1"],["Mosque","Medium","Land_A_Mosque_small_1_EP1"],["Mosque","Large","Land_A_Mosque_big_hq_EP1"],["Mosque","Addon","Land_A_Mosque_big_addon_EP1"],["Mosque","Wall","Land_A_Mosque_big_wall_EP1"]];

	//Graves
		buildGrave = [["Grave","Grave (normal)","Grave"],["Grave","Cross 1","GraveCross1"],["Grave","Cross 2","GraveCross2"],["Grave","Cross /w Helmet","GraveCrossHelmet"],["Grave","Mass Grave","Mass_grave_DZ"]];
		
	//Castle
		buildCastle = [["Castle","Gate","Land_A_Castle_Gate"],["Castle","Tower","Land_A_Castle_Bergfrit"],["Castle","Stairs","Land_A_Castle_Stairs_A"]];
		
	//Ore
		buildOre = [["Ore","Gold","Gold_Vein_DZE"],["Ore","Silver","Silver_Vein_DZE"],["Ore","Iron","Iron_Vein_DZE"]];
		
	//Roads
		buildRoad = [[]];

	//Other
		buildMarker = [["Marker","Archway","Sign_circle_EP1"]];
		buildSand = [["Sandbag","Nest (BIG)","Land_fortified_nest_big"],["Sandbag","2 Story cubes /w Net","Land_Fort_Watchtower"]];
		buildRamp = [["Ramp","Concrete Tall","Land_ConcreteRamp"],["Ramp","Concrete Short","RampConcrete"],["Ramp","Wood Small","Land_WoodenRamp"]];
		buildMisc = [["Statue","Soldiers /w Flag","Land_A_statue01"],["Statue","Tank","Land_A_statue02"],["Misc","Archway","Land_brana02nodoor"]];
		buildOutdoors = [["Outdoors","Outhouse","Land_KBud"]];
		buildOther =  buildOutdoors + buildMisc + buildRamp + buildSand + buildMarker;

	
	allBuildingList = buildResidential + buildIndustrial + buildMilitary + buildReligious + buildGrave + buildCastle + buildOre + buildOther;


	
/******************* Crates *******************/
	// This section has the items in each crate
	// Format: variable = [["ITEM",AMOUNT],["ITEM",AMOUNT],......];

	// Backpack crate
	backpackCrateContents = [["DZ_Backpack_EP1", 1],["DZ_British_ACU", 1],["DZ_CivilBackpack_EP1", 1],["DZ_CompactPack_EP1", 1],["DZ_GunBag_EP1", 1],["DZ_LargeGunBag_EP1", 1],["DZ_TK_Assault_Pack_EP1", 1]];

	// Items Crate
	itemCrateWeapons = [["Binocular", 5],["Binocular_Vector", 5],["ItemCompass", 5],["ItemCrowbar", 5],["ItemEtool", 5],["ItemFishingPole", 5],["ItemFlashlight", 5],["ItemFlashlightRed", 5],["ItemGPS", 5],["ItemHatchet_DZE", 5],["ItemKeyKit", 5],["ItemKnife", 5],["ItemMap", 5],["ItemMatchbox_DZE", 5],["ItemRadio", 5],["ItemSledge", 5],["ItemToolbox", 5],["ItemWatch", 5],["Laserdesignator", 5],["NVGoggles", 5]];
	itemCrateMagazines = [["FoodSteakCooked", 10],["HandChemBlue", 10],["HandChemGreen", 10],["HandChemRed", 10],["HandRoadFlare", 10],["ItemAntibiotic", 10],["ItemBandage", 10],["ItemBloodbag", 10],["ItemBriefcase100oz", 10],["ItemBriefcaseEmpty", 10],["ItemCopperBar", 10],["ItemCopperBar10oz", 10],["ItemEpinephrine", 10],["ItemFuelBarrel", 10],["ItemGoldBar", 10],["ItemGoldBar10oz", 10],["ItemHeatPack", 10],["ItemJerrycan", 10],["ItemMorphine", 10],["ItemOilBarrel", 10],["ItemPainkiller", 10],["ItemSilverBar", 10],["ItemSilverBar10oz", 10],["ItemSodaMdew", 10],["PartEngine", 10],["PartFueltank", 10],["PartGeneric", 10],["PartGlass", 10],["PartVRotor", 10],["PartWheel", 10],["Skin_Bandit1_DZ", 10],["Skin_Bandit2_DZ", 10],["Skin_BanditW1_DZ", 10],["Skin_BanditW2_DZ", 10],["Skin_CZ_Soldier_Sniper_EP1_DZ", 10],["Skin_CZ_Special_Forces_GL_DES_EP1_DZ", 10],["Skin_Drake_Light_DZ", 10],["Skin_FR_OHara_DZ", 10],["Skin_FR_Rodriguez_DZ", 10],["Skin_Functionary1_EP1_DZ", 10],["Skin_Graves_Light_DZ", 10],["Skin_GUE_Commander_DZ", 10],["Skin_GUE_Soldier_2_DZ", 10],["Skin_GUE_Soldier_CO_DZ", 10],["Skin_GUE_Soldier_Crew_DZ", 10],["Skin_GUE_Soldier_MG_DZ", 10],["Skin_GUE_Soldier_Sniper_DZ", 10],["Skin_Haris_Press_EP1_DZ", 10],["Skin_Ins_Soldier_GL_DZ", 10],["Skin_Pilot_EP1_DZ", 10],["Skin_Priest_DZ", 10],["Skin_Rocker1_DZ", 10],["Skin_Rocker2_DZ", 10],["Skin_Rocker3_DZ", 10],["Skin_Rocker4_DZ", 10],["Skin_Rocket_DZ", 10],["Skin_RU_Policeman_DZ", 10],["Skin_Sniper1_DZ", 10],["Skin_Soldier_Bodyguard_AA12_PMC_DZ", 10],["Skin_Soldier_Sniper_PMC_DZ", 10],["Skin_Soldier_TL_PMC_DZ", 10],["Skin_SurvivorW2_DZ", 10],["Skin_SurvivorW3_DZ", 10],["Skin_SurvivorWcombat_DZ", 10],["Skin_SurvivorWdesert_DZ", 10],["Skin_SurvivorWpink_DZ", 10],["Skin_SurvivorWsequishaD_DZ", 10],["Skin_SurvivorWsequisha_DZ", 10],["Skin_TK_INS_Soldier_EP1_DZ", 10],["Skin_TK_INS_Warlord_EP1_DZ", 10],["TrapBear", 10],["TrashJackDaniels", 10],["TrashTinCan", 10]];

	// Building Crate
	buildingCrateWeapons = [["ItemCrowbar", 5],["ItemEtool", 5],["ItemHatchet_DZE", 5],["ItemMatchbox_DZE", 5],["ItemSledge", 5],["ItemToolbox", 5]];
	buildingCrateMagazines = [["30m_plot_kit", 10],["bulk_empty", 10],["bulk_ItemTankTrap", 20],["bulk_ItemWire",  10],["CinderBlocks", 30],["cinder_door_kit", 10],["cinder_garage_kit", 10],["cinder_wall_kit", 60],["deer_stand_kit", 10],["desert_large_net_kit", 10],["desert_net_kit", 10],["forest_large_net_kit", 10],["forest_net_kit", 10],["fuel_pump_kit", 10],["ItemBurlap", 10],["ItemCanvas", 10],["ItemComboLock", 10],["ItemCorrugated", 10],["ItemFireBarrel_Kit", 10],["ItemFuelBarrelEmpty", 10],["ItemGenerator", 10],["ItemGunRackKit", 10],["ItemHotwireKit", 10],["ItemJerrycan", 10],["ItemLockbox", 10],["ItemPole", 10],["ItemSandbag", 50],["ItemSandbagExLarge", 20],["ItemSandbagExLarge5x", 20],["ItemSandbagLarge", 20],["ItemScaffoldingKit", 10],["BagFenceRound_DZ_kit",20],["ItemTankTrap", 10],["ItemTent", 5],["ItemTentDomed", 5],["ItemTentDomed2", 5],["ItemTentOld", 5],["ItemVault", 10],["ItemWire", 10],["ItemWoodFloor", 30],["ItemWoodFloorHalf", 30],["ItemWoodFloorQuarter", 30],["ItemWoodLadder", 30],["ItemWoodStairs", 10],["ItemWoodStairsSupport", 10],["ItemWoodWall", 30],["ItemWoodWallDoor", 10],["ItemWoodWallDoorLg", 10],["ItemWoodWallGarageDoor", 10],["ItemWoodWallGarageDoorLocked", 10],["ItemWoodWallLg", 30],["ItemWoodWallThird", 20],["ItemWoodWallWindow", 20],["ItemWoodWallWindowLg", 30],["ItemWoodWallWithDoor", 10],["ItemWoodWallwithDoorLg", 10],["ItemWoodWallWithDoorLgLocked", 10],["ItemWoodWallWithDoorLocked", 10],["light_pole_kit", 10],["m240_nest_kit", 5],["metal_floor_kit", 60],["metal_panel_kit", 20],["MortarBucket", 5],["outhouse_kit", 5],["park_bench_kit", 5],["PartGeneric", 30],["PartPlankPack", 30],["PartPlywoodPack", 30],["PartWoodLumber", 30],["PartWoodPile", 30],["PartWoodPlywood", 30],["rusty_gate_kit", 5],["sandbag_nest_kit", 30],["stick_fence_kit", 5],["storage_shed_kit", 10],["sun_shade_kit", 10],["wooden_shed_kit", 10],["wood_ramp_kit", 10],["wood_shack_kit", 10],["workbench_kit", 5]];

	// Weapons Crate
	weaponCrateWeapons = [["AK_107_GL_Kobra", 5],["AK_107_GL_PSO", 5],["AK_107_Kobra", 5],["AK_107_PSO", 5],["AK_47_M", 5],["AK_47_S", 5],["AK_74", 5],["AK_74_GL", 5],["AK_74_GL_Kobra", 5],["AKS_74", 5],["AKS_74_Kobra", 5],["AKS_74_PSO", 5],["AKS_74_U", 5],["AKS_74_UN_Kobra", 5],["AKS_GOLD", 5],["BAF_AS50_scoped_DZ", 5],["BAF_AS50_TWS", 5],["BAF_L110A1_Aim", 5],["BAF_L7A2_GPMG", 5],["BAF_L85A2_RIS_ACOG", 5],["BAF_L85A2_RIS_CWS", 5],["BAF_L85A2_RIS_Holo", 5],["BAF_L85A2_RIS_SUSAT", 5],["BAF_L85A2_UGL_ACOG", 5],["BAF_L85A2_UGL_Holo", 5],["BAF_L85A2_UGL_SUSAT", 5],["BAF_L86A2_ACOG", 5],["BAF_LRR_scoped", 5],["BAF_LRR_scoped_W", 5],["bizon", 5],["bizon_silenced", 5],["Colt1911", 5],["Crossbow_DZ", 5],["DMR_DZ", 5],["G36_C_SD_camo", 5],["G36_C_SD_eotech", 5],["G36a", 5],["G36A_camo", 5],["G36C", 5],["G36C_camo", 5],["G36K", 5],["G36K_camo", 5],["FN_FAL", 5],["FN_FAL_ANPVS4", 5],["glock17_EP1", 5],["Huntingrifle", 5],["ksvk", 5],["LeeEnfield", 5],["M1014", 5],["m107_DZ", 5],["m107_TWS_EP1_DZ", 5],["M14_EP1", 5],["M16A2", 5],["M16A2GL", 5],["m16a4", 5],["m16a4_acg", 5],["M16A4_ACG_GL", 5],["M16A4_GL", 5],["M24", 5],["M24_des_EP1", 5],["M240_DZ", 5],["m240_scoped_EP1_DZE", 5],["M249_DZ", 5],["M249_EP1_DZ", 5],["M249_m145_EP1_DZE", 5],["M40A3", 5],["M4A1", 5],["M4A1_Aim", 5],["M4A1_Aim_camo", 5],["M4A1_AIM_SD_camo", 5],["M4A1_HWS_GL", 5],["M4A1_HWS_GL_camo", 5],["M4A1_HWS_GL_SD_Camo", 5],["M4A1_RCO_GL", 5],["M4A3_CCO_EP1", 5],["M4A3_RCO_GL_EP1", 5],["M4SPR", 5],["M60A4_EP1_DZE", 5],["M9", 5],["M9SD", 5],["Makarov", 5],["MakarovSD", 5],["MeleeHatchet", 5],["MeleeCrowbar", 5],["MG36", 5],["Mk_48_DES_EP1", 5],["Mk_48_DZ", 5],["MP5A5", 5],["MP5SD", 5],["MR43", 5],["Pecheneg_DZ", 5],["PK", 5],["Remington870_lamp", 5],["revolver_EP1", 5],["revolver_gold_EP1", 5],["RPK_74", 5],["Sa61_EP1", 5],["Saiga12K", 5],["SVD", 5],["SVD_CAMO", 5],["SVD_des_EP1", 5],["SVD_NSPU_EP1", 5],["UZI_EP1", 5],["UZI_SD_EP1", 5],["Winchester1866", 5],["Sa58V_RCO_EP1", 5],["RPG7V", 5],["ItemMachete", 5]];
	weaponCrateMagazines = [["2Rnd_shotgun_74Slug", 20],["2Rnd_shotgun_74Pellets", 20],["5Rnd_127x108_KSVK", 20],["5Rnd_127x99_as50", 20],["5Rnd_762x51_M24", 20],["5Rnd_86x70_L115A1", 20],["5x_22_LR_17_HMR", 20],["6Rnd_45ACP", 20],["7Rnd_45ACP_1911", 20],["8Rnd_9x18_Makarov", 20],["8Rnd_9x18_MakarovSD", 20],["8Rnd_B_Beneli_74Slug", 20],["8Rnd_B_Beneli_Pellets", 20],["8Rnd_B_Saiga12_74Slug", 20],["8Rnd_B_Saiga12_Pellets", 20],["10Rnd_127x99_M107", 20],["10Rnd_762x54_SVD", 20],["10x_303", 20],["15Rnd_9x19_M9", 20],["15Rnd_9x19_M9SD", 20],["15Rnd_W1866_Slug", 20],["15Rnd_W1866_Pellet", 20],["17Rnd_9x19_glock17", 20],["20Rnd_556x45_Stanag", 20],["20Rnd_762x51_DMR", 20],["20Rnd_762x51_FNFAL", 20],["20Rnd_B_765x17_Ball", 20],["30Rnd_545x39_AK", 20],["30Rnd_545x39_AKSD", 20],["30Rnd_556x45_G36", 20],["30Rnd_556x45_G36SD", 20],["30Rnd_556x45_Stanag", 20],["30Rnd_556x45_StanagSD", 20],["30Rnd_762x39_AK47", 20],["30Rnd_9x19_MP5", 20],["30Rnd_9x19_MP5SD", 20],["30Rnd_9x19_UZI", 20],["30Rnd_9x19_UZI_SD", 20],["50Rnd_127x108_KORD", 20],["64Rnd_9x19_Bizon", 20],["64Rnd_9x19_SD_Bizon", 20],["75Rnd_545x39_RPK", 20],["100Rnd_762x51_M240", 20],["100Rnd_762x54_PK", 20],["100Rnd_556x45_BetaCMag", 20],["100Rnd_556x45_M249", 20],["200Rnd_556x45_L110A1", 20],["200Rnd_556x45_M249", 20],["BoltSteel", 20],["PG7V", 20],["1Rnd_HE_M203", 20],["HandGrenade_west", 20],["SmokeShell", 20],["SmokeShellGreen", 20],["SmokeShellRed", 20],["PipeBomb", 20]];

	
/**************************** Common Functions ****************************/

	// This is a centralized function for checking if an action is allowed to take place.
	// This is basically the "_canDo" found in player actions.
	fnc_actionAllowed = {
		private["_player","_vehicle","_inVehicle","_onLadder","_canDo"];
		_player = player; //Setting a local variable as player saves resources
		_vehicle = vehicle _player;
		_inVehicle = (_vehicle != _player);
		_onLadder =	(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _player) >> "onLadder")) == 1;
		_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder && !_inVehicle);

	_canDo
	};
	
	// Generates a selectable list of players for teleports and spectate
	// Title is set by setting pMenuTitle = "TITLE HERE" before calling the function
	pMenuTitle = "";
	fn_smenu =
	{
		private["_pmenu"];
		_pmenu = [["",true],[pMenuTitle, [-1], "", -5, [["expression", ""]], "1", "0"]];
		for "_i" from (_this select 0) to (_this select 1) do
		{_arr = [format['%1', plist select (_i)], [12],  "", -5, [["expression", format ["pselect5 = plist select %1;", _i]]], "1", "1"]; _pmenu set [_i + 2, _arr];};
		if (count plist > (_this select 1)) then {_pmenu set [(_this select 1) + 2, ["Next", [13], "", -5, [["expression", "snext = true;"]], "1", "1"]];}
		else {_pmenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];};
		_pmenu set [(_this select 1) + 3, ["Exit", [13], "", -5, [["expression", "pselect5 = 'exit';"]], "1", "1"]];
		showCommandingMenu "#USER:_pmenu";
	};

	
	
/********************** Admin/Mod functions/variables **********************/
	if ((getPlayerUID player) in AdminAndModList) then {
	
		//Admin-Mod mode script calls
			playerGodToggle = {
				playerGod = !playerGod;
				[] execVM "admintools\tools\AdminMode\GodModePlayer.sqf";
			};
			vehicleGodToggle = {
				vehicleGod = !vehicleGod;
				[] execVM "admintools\tools\AdminMode\GodModeVehicle.sqf";
			};
			playerESPToggle = {
				playerESP = !playerESP;
				if(playerESP && enhancedESP) then {enhancedESP = false; [enhancedESP] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";};
				[] execVM "admintools\tools\AdminMode\ESPplayer.sqf";
			};
			enhancedESPToggle = {
				enhancedESP = !enhancedESP;
				if(playerESP && enhancedESP) then {playerESP = false; [playerESP] execVM "admintools\tools\AdminMode\ESPplayer.sqf";};
				[] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";
			};
			grassOffToggle = {
				grassOff = !grassOff;
				[] execVM "admintools\tools\AdminMode\GrassOFF.sqf";
			};
			infAmmoToggle = {
				infAmmo = !infAmmo;
				[] execVM "admintools\tools\AdminMode\InfiniteAmmo.sqf";
			};
			speedBoostToggle = {
				speedBoost = !speedBoost;
				[] execVM "admintools\tools\AdminMode\speedboost.sqf";
			};
			invisibilityToggle = {
				invisibility = !invisibility;
				[] execVM "admintools\tools\AdminMode\Invisibility.sqf";
			};
			flyingToggle = {
				flying = !flying;
				[] execVM "admintools\tools\AdminMode\Flying.sqf";
			};
			adminBuildToggle = {
				adminBuild = !adminBuild;
				[] execVM "admintools\tools\AdminMode\AdminFastBuild.sqf";
			};
			
		// Admin-mod mode toggle function
			AdminToggle =
			{
				if (speedBoost) then {[] execVM "admintools\tools\AdminMode\speedboost.sqf";};
				if (enhancedESP) then {[] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";};
				if (playerESP) then {[] execVM "admintools\tools\AdminMode\ESPplayer.sqf";};
				if (invisibility) then {[] execVM "admintools\tools\AdminMode\Invisibility.sqf";};
				if (infAmmo) then {[] execVM "admintools\tools\AdminMode\InfiniteAmmo.sqf";};
				if (flying) then {[] execVM "admintools\tools\AdminMode\Flying.sqf";};
				if (playerGod) then {[] execVM "admintools\tools\AdminMode\GodModePlayer.sqf";};
				if (vehicleGod) then {[] execVM "admintools\tools\AdminMode\GodModeVehicle.sqf";};
				if (grassOff) then {[] execVM "admintools\tools\AdminMode\GrassOFF.sqf";};
				if (adminBuild) then {[] execVM "admintools\tools\AdminMode\AdminFastBuild.sqf";};
			};
	};

/**************** overwrite epoch public variables ****************/
	if(!isNil "EAT_setDateClient")then{"PVDZE_plr_SetDate" addPublicVariableEventHandler {};};


// Adds the admin build items to the allowed objects
// Fixes permanent arma building spawn
{dayz_allowedObjects = dayz_allowedObjects + [_x select 2];}forEach allBuildingList;

diag_log("Admin Tools: variables.sqf loaded");

config.sqf


/************** Epoch Admin Tools Variables **************/

	//Replace 111111111 with your ID. 
	SuperAdminList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];
	AdminList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];
	ModList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];


	/*
		Log admin tool usage by your admins?
		This creates a log in your server\EpochAdminToolLogs\toolUsageLog.txt
		REQUIRES: EATadminLogger.dll
	*/
		//A major tool is a strong tool with high possibility for exploiting
		logMajorTool = true;

		//A minor tool is a weak tool with low possibility for exploiting
		logMinorTool = false;

	
	
	
	
/************** Action Menu Variables **************/

	/*
		Give players an actions menu? (dance, deploy bike/mozzie, flip car)
		Default: true
	*/
	ActionMenuPlayers = true;

	/*
		Give admins the same action menu above? (not really needed unless you are a playing admin)
		Default: false
	*/
	ActionMenuAdmins = false;


	/****** Bike variables ******/

	//Allow player to build a bike?
	AllowBuildBike = true;

	// This option requires players to have a toolbox to build a bike (consumes the toolbox)
	RequireToolBoxBike = true;

	// This option requires players to have the parts for building a bike (consumes the parts)
	// Required parts: two wheels, one scrap metal
	RequirePartsBike = false;

	// This option dictates if players are allowed to repack a bike to get their items back
	AllowPackBike = true;


	/****** Mozzie variables ******/

	//Allow player to build a Mozzie?
	AllowBuildMozzie = true;

	// This option requires players to have a toolbox to build a Mozzie (consumes the toolbox)
	RequireToolBoxMozzie = false;

	// This option requires players to have the parts for building a Mozzie (consumes the parts)
	// Required parts: main rotor, two scrap, one engine, one jerry can (full)
	RequirePartsMozzie = true;

	// This option dictates if players are allowed to repack a mozzie to get their items back
	AllowPackMozzie = true;


	/****** Misc ******/
		
	// Allow players to flip their vehicles rightside up
	AllowFlipVehicle = true;
		
	// Allow players to commit suicide
	AllowSuicide = true;
		
	// Allow players to use the movement menu (dance)
	AllowMovementMenu = true;

	/* 
		Allow players to open a help ticket with the admins.
		The help queue can be viewed via the admin menu.
		The player can NOT spam the admins.
	*/
	AllowContactAdmin = true;

		/*
			Stops spamming of the contact admin. If it is enabled and a user contacts an admin
			the given number of times they will get a white screen for blindTime seconds and 
			the contact feature will be disabled
		*/
		enableAntiSpam = true;
		antiSpamLimit = 15; // default 15 contacts
		blindTime = 30; // default 30 seconds

		
		

		
diag_log("Admin Tools: config.sqf loaded");

AdminToolsMain.sqf

private["_EXECgenTools","_EXECweapons","_EXECbackpacks","_EXECgear","_EXECcrates","_EXECadminBuild","_EXECbuildings","_EXECskins","_EXECdate","_EXECcloud","_EXECfog","_EXECtempVeh"];

_EXECgenTools = 'player execVM "admintools\tools\%1"';
_EXECweapons = '["%1","%2","%3"] execVM "admintools\weaponkits\WeaponKits.sqf"';
_EXECbackpacks = '["%1"] execVM "admintools\weaponkits\BackPack.sqf"';
_EXECgear = 'player execVM "admintools\weaponkits\%1"';
_EXECcrates = '["%1"] execVM "admintools\crates\%2"';
/* _EXECadminBuild */ if(isNil "snap_build") then {_EXECadminBuild = '["%1",false,true] execVM "admintools\tools\AdminBuild\adminBuild.sqf"';}else{_EXECadminBuild = '["%1",false,true] execVM "admintools\tools\AdminBuild\adminBuildPro.sqf"';}; // Auto-detect raymix's snap pro
_EXECbuildings = 'player execVM "admintools\tools\AdminBuild\%1"';
_EXECskins = '["%1"] execVM "admintools\tools\skinChanger.sqf"';
_EXECdate = 'EAT_SetDateServer = [%1,%2,%3,%4,0]; publicVariableServer "EAT_SetDateServer"';
_EXECcloud = 'EAT_SetOvercastServer = %1; publicVariableServer "EAT_SetOvercastServer"';
_EXECfog = 'EAT_SetFogServer = %1; publicVariableServer "EAT_SetFogServer"';
_EXECtempVeh = '["%1"] execVM "admintools\tools\addtempvehicle.sqf"';

// Main menu
if ((getPlayerUID player) in AdminList) then { // Administrators
	epochmenustart = [["",true],["-- Epoch Admin Tools (Level: Admin) --", [], "", -5, [["expression", ""]], "1", "0"]];
	epochmenustart = epochmenustart + [["Admin Menu >>", [], "#USER:AdminMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Vehicle Menu >>",[],"#USER:VehicleMenu",-5,[["expression",""]],"1","1"]];
	epochmenustart = epochmenustart + [["Crate Menu >>",[],"#USER:CrateMenu",-5,[["expression",""]],"1","1"]];
	epochmenustart = epochmenustart + [["Epoch Menu >>", [], "#USER:EpochMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Weapon/Item Kits >>", [], "#USER:WeaponMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Skin Change Menu >>", [], "#USER:AdminSkinsMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Weather/Time Menu >>", [], "#USER:WTMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Player Ticket Menu >>", [], "", -5, [["expression", format[_EXECgenTools,"contactAdminTickets.sqf"]]], "1", "1"]];
	epochmenustart = epochmenustart + [["", [], "", -5, [["expression", ""]], "1", "0"]];
	epochmenustart = epochmenustart + [["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]];
} else {
	if ((getPlayerUID player) in ModList) then { // Moderators
		epochmenustart = [["",true],["-- Epoch Admin Tools (Level: Mod) --", [], "", -5, [["expression", ""]], "1", "0"]];
		epochmenustart = epochmenustart + [["Mod Menu >>", [], "#USER:ModMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Temporary Vehicle Menu >>", [], "#USER:VehicleTempMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Skin Change Menu >>", [], "#USER:AdminSkinsMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Player Ticket Menu >>", [], "", -5, [["expression", format[_EXECgenTools,"contactAdminTickets.sqf"]]], "1", "1"]];
		epochmenustart = epochmenustart + [["", [], "", -5, [["expression", ""]], "1", "0"]];
		epochmenustart = epochmenustart + [["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]];
	};
};

AdminMenu =
[
["",true],
	["Admin Mode (F4 for options)",[],"", -5,[["expression",format[_EXECgenTools,"AdminMode\adminMode.sqf"]]],"1","1"],
	["Point to Repair(Perm)",[],"", -5,[["expression", format[_EXECgenTools,"PointToRepairPERM.sqf"]]], "1", "1"],
	["Point to Delete(Perm)",[],"", -5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Spectate player (F6 to cancel)",[],"", -5,[["expression", format[_EXECgenTools,"spectate.sqf"]]], "1", "1"],
//	["Safe Zone Create/Delete",[],"", -5, [["expression", format[_EXECgenTools,"SafeZoneArea.sqf"]]], "1", "1"],
	["Zombie Shield",[],"", -5,[["expression",format[_EXECgenTools,"zombieshield.sqf"]]],"1","1"],
	["Zombie Spawner", [], "", -5, [["expression", format[_EXECgenTools,"zombieSpawn.sqf"]]], "1", "1"],
	["Heal Players",[],"", -5, [["expression", format[_EXECgenTools,"healp.sqf"]]], "1", "1"],
	["Send Server Message",[],"", -5,[["expression",format[_EXECgenTools,"messageDialog.sqf"]]],"1","1"],
	["Teleport Menu >>",[],"#USER:TeleportMenu", -5, [["expression", ""]], "1", "1"],
	["Humanity Menu >>",[],"#USER:HumanityMenu", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];
ModMenu =
[
["",true],
	["Mod Mode (F4 for options)",[],"", -5,[["expression",format[_EXECgenTools,"AdminMode\modMode.sqf"]]],"1","1"],
	["Point to Repair (Temp)",[],"",-5,[["expression", format[_EXECgenTools,"PointToRepair.sqf"]]], "1", "1"],
	["Point to Delete (Perm)",[],"",-5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Spectate player (F6 to cancel)",[],"", -5,[["expression", format[_EXECgenTools,"spectate.sqf"]]], "1", "1"],
	["Heal Players",[],"",-5,[["expression", format[_EXECgenTools,"healp.sqf"]]], "1", "1"],
	["Teleport Menu >>",[],"#USER:TeleportMenu", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu",[20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Main vehicle selection menu
VehicleMenu =
[
["",true],	
	["Graphical Vehicle Menu", [],"", -5, [["expression", format[_EXECgenTools,"addvehicleDialog.sqf"]]], "1", "1"],
	["Temporary Vehicle Menu >>", [], "#USER:VehicleTempMenu", -5, [["expression", ""]], "1", "1"],
	["Locked Vehicle Menu >>", [], "#USER:VehiclekeyMenu", -5, [["expression", ""]], "1", "1"],
	["Vehicle Tools >>", [], "#USER:VehicleTools", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Different tools for working with vehicles
VehicleTools =
[
["",true],	
	["Vehicle Locator",[],"",-5,[["expression", format[_EXECgenTools,"vehicleLocator.sqf"]]], "1", "1"],
	["Point to Repair (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRepair.sqf"]]], "1", "1"],
	["Point to Repair (Perm)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRepairPERM.sqf"]]], "1", "1"],
	["Point to Revive Vehicle",[],"", -5,[["expression", format[_EXECgenTools,"PointToReviveVeh.sqf"]]], "1", "1"],
	["Point to Delete (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToDelete.sqf"]]], "1", "1"],
	["Point to Delete (Perm)",[],"",-5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Point to only Refuel (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRefuel.sqf"]]], "1", "1"],
	["Flip Vehicle", [],"", -5, [["expression", format[_EXECgenTools,"flipvehicle.sqf"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Sub vehicle selection menu for permanent vehicles
VehiclekeyMenu =
[
["",true],
	["Neutral Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenuneutral.sqf"]]], "1", "1"],
	["Friendly Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenufriendly.sqf"]]], "1", "1"],
	["Hero Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenuhero.sqf"]]], "1", "1"],
	["Bandit Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenubandit.sqf"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

//Main menu to handle humanity changing
HumanityMenu =
[
["",true],
	["Add Humanity to self or target", [],"", -5, [["expression", '["add"] execVM "admintools\tools\humanityChanger.sqf"']], "1", "1"],
	["Remove Humanity from self or target", [],"", -5, [["expression", '["remove"] execVM "admintools\tools\humanityChanger.sqf"']], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for teleport options
TeleportMenu =
[
["",true],
//	Example: ["Name",[],"", -5, [["expression", '[x,y,z] execVM "admintools\tools\Teleport\teleportToLocation.sqf"']], "1", "1"],
	["Teleport (F1)",[],"", -5,[["expression", format[_EXECgenTools,"Teleport\Teleport.sqf"]]], "1", "1"],
	["Teleport To Me (F2)",[],"", -5, [["expression", format[_EXECgenTools, "Teleport\TPtoME.sqf"]]], "1", "1"],
	["Teleport To Player (F3)",[],"", -5, [["expression", format[_EXECgenTools, "Teleport\TpToPlayer.sqf"]]], "1", "1"],
//	["Teleport To Starry",[],"", -5, [["expression", '[6325.6772,7807.7412,0] execVM "admintools\tools\Teleport\teleportToLocation.sqf"']], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu2 for changing skins.
AdminSkinsMenu =
[
["",true],
	// Entry Format:["Entry Name",[],"",-5,[["expression",'["Skin_class_name"] execVM "admintools\tools\skinChanger.sqf"']],"1","1"],
	["Survivor",[],"",-5,[["expression",format[_EXECskins,"Survivor2_DZ"]]],"1","1"],
	["Hero",[],"",-5,[["expression",format[_EXECskins,"Survivor3_DZ"]]],"1","1"],
	["Bandit",[],"",-5,[["expression",format[_EXECskins,"Bandit1_DZ"]]],"1","1"],
	["Soldier",[],"",-5,[["expression",format[_EXECskins,"Soldier1_DZ"]]],"1","1"],
	["Ghillie",[],"",-5,[["expression",format[_EXECskins,"Sniper1_DZ"]]],"1","1"],
	["Special Forces",[],"",-5,[["expression",format[_EXECskins,"CZ_Special_Forces_GL_DES_EP1_DZ"]]],"1","1"],
	["Pilot",[],"",-5,[["expression",format[_EXECskins,"Pilot_EP1_DZ"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Next page", [], "#USER:AdminSkinsMenu2", -5, [["expression", ""]], "1", "1"]
];

// Menu2 for changing skins.
AdminSkinsMenu2 =
[
["",true],
	["Camo",[],"",-5,[["expression",format[_EXECskins,"Camo1_DZ"]]],"1","1"],
	["Bodyguard",[],"",-5,[["expression",format[_EXECskins,"Soldier_Bodyguard_AA12_PMC_DZ"]]],"1","1"],
	["Officer",[],"",-5,[["expression",format[_EXECskins,"Rocket_DZ"]]],"1","1"],
	["Alejandria",[],"",-5,[["expression",format[_EXECskins,"SurvivorWcombat_DZ"]]],"1","1"],
	["Savannah",[],"",-5,[["expression",format[_EXECskins,"SurvivorWdesert_DZ"]]],"1","1"],
	["Melly",[],"",-5,[["expression",format[_EXECskins,"SurvivorWpink_DZ"]]],"1","1"],
	["Bandit Jane",[],"",-5,[["expression",format[_EXECskins,"BanditW2_DZ"]]],"1","1"],
	["Invisible",[],"",-5,[["expression",format[_EXECskins,"Survivor1_DZ"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Weapon menu select
WeaponMenu =[
["",true],
	["Primary Weapons Menu >>",[],"#USER:PrimaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
	["Secondary Weapons Menu >>",[],"#USER:SecondaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
	["Gear/Items Menu >>",[],"#USER:GearMenu", -5, [["expression", ""]], "1", "1"]
];

// Main weapons like the M4
PrimaryWeaponMenu =[
["",true],
	// Entry Format:["Name", [],"", -5, [["expression", format[_EXECweapons,"Gun_Calss_Name","Ammo_Class_Name","Explosive_Round_Class_Name"]]], "1", "1"],
	// If there is no explosive 203 round then put "nil" in place of "Explosive_Round_Class_Name" 
	["M4 Holo", [],"", -5, [["expression", format[_EXECweapons,"M4A1_HWS_GL","30Rnd_556x45_Stanag","1Rnd_HE_M203"]]], "1", "1"],
//	["M4 CCO SD", [],"", -5, [["expression", format[_EXECweapons,"M4A1_AIM_SD","30Rnd_556x45_StanagSD","nil"]]], "1", "1"],
	["M4A1 GL SD Camo", [],"", -5, [["expression", format[_EXECweapons,"M4A1_HWS_GL_SD_Camo","30Rnd_556x45_StanagSD","1Rnd_HE_M203"]]], "1", "1"],
	["Sa58V ACOG", [],"", -5, [["expression", format[_EXECweapons,"Sa58V_RCO_EP1","30Rnd_762x39_SA58","nil"]]], "1", "1"],
//	["M16 ACOG", [],"", -5, [["expression", format[_EXECweapons,"m16a4_acg","30Rnd_556x45_Stanag","nil"]]], "1", "1"],
	["Aks Kobra", [],"", -5, [["expression", format[_EXECweapons,"AKS_74_kobra","30Rnd_545x39_AK","nil"]]], "1", "1"],
	["FN FAL", [],"", -5, [["expression", format[_EXECweapons,"FN_FAL","20Rnd_762x51_FNFAL","nil"]]], "1", "1"],
//	["Pecheneg 50 cal", [],"", -5, [["expression", format[_EXECweapons,"Pecheneg_DZ","100Rnd_762x54_PK","nil"]]], "1", "1"],
	["Mk 48", [],"", -5, [["expression", format[_EXECweapons,"Mk_48_DES_EP1","100Rnd_762x51_M240","nil"]]], "1", "1"],
	["AS50", [],"", -5, [["expression", format[_EXECweapons,"BAF_AS50_scoped","5Rnd_127x99_AS50","nil"]]], "1", "1"],
	[".338 LAPUA", [],"", -5, [["expression", format[_EXECweapons,"BAF_LRR_scoped","5Rnd_86x70_L115A1","nil"]]], "1", "1"],
	["DMR", [],"", -5, [["expression", format[_EXECweapons,"DMR","20Rnd_762x51_DMR","nil"]]], "1", "1"],
//	["M14 Aim", [],"", -5, [["expression", format[_EXECweapons,"M14_EP1","20Rnd_762x51_DMR","nil"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Secondary Weapons", [], "#USER:SecondaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Sidearm weapons like the Makarov
SecondaryWeaponMenu =[
["",true],
	["PDW SD", [],"", -5, [["expression", format[_EXECweapons,"UZI_SD_EP1","30Rnd_9x19_UZI_SD"]]], "1", "1"],
	["PDW", [],"", -5, [["expression", format[_EXECweapons,"UZI_EP1","30Rnd_9x19_UZI"]]], "1", "1"],
	["Glock", [],"", -5, [["expression", format[_EXECweapons,"glock17_EP1","17Rnd_9x19_glock17"]]], "1", "1"],
	["M9 SD", [],"", -5, [["expression", format[_EXECweapons,"M9SD","15Rnd_9x19_M9SD"]]], "1", "1"],
	["Makarov", [],"", -5, [["expression", format[_EXECweapons,"Makarov","8Rnd_9x18_Makarov"]]], "1", "1"],
	["Makarov SD", [],"", -5, [["expression", format[_EXECweapons,"MakarovSD","8Rnd_9x18_Makarov"]]], "1", "1"],
		["Gear/Items", [], "#USER:GearMenu", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for spawning items to the admin like bags and tools
GearMenu=[
["",true],
	["ToolBelt gear", [],"", -5, [["expression", format[_EXECgear,"toolBeltItems.sqf"]]], "1", "1"],
	["Medical gear", [],"", -5, [["expression", format[_EXECgear,"medical.sqf"]]], "1", "1"],
	["Alice Pack", [],"", -5, [["expression", format[_EXECbackpacks,"DZ_ALICE_Pack_EP1"]]], "1", "1"],
	["Large Gun Bag", [],"", -5, [["expression", format[_EXECbackpacks,"DZ_LargeGunBag_EP1"]]], "1", "1"],
	["Delete all gear", [],"", -5, [["expression", format[_EXECgear,"removeGear.sqf"]]], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Main crate menu
CrateMenu =[
["",true],
	["Private Crate Menu >>",[],"#USER:CrateMenuPrivate", -5, [["expression", ""]], "1", "1"],
	["Public Crate Menu >>",[],"#USER:CrateMenuPublic", -5, [["expression", ""]], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// This menu creates a local (private) crate of items that ONLY the user can see
CrateMenuPrivate=[
	["",true],
	// Entry Format: ["name",[],"",-5,[["expression",format[_EXECcrates,"local","fileNAME.sqf"]]],"1","1"],
	["-- Private Crates --", [], "", -5, [["expression", ""]], "1", "0"],
	["Weapons Crate",[],"",-5,[["expression",format[_EXECcrates,"local","weapons.sqf"]]],"1","1"],
	["Items Crate",[],"",-5,[["expression",format[_EXECcrates,"local","items.sqf"]]],"1","1"],
	["ALL Weapons/Items Crate",[],"",-5,[["expression",format[_EXECcrates,"local","allweapons.sqf"]]],"1","1"],
	["Building Crate",[],"",-5,[["expression",format[_EXECcrates,"local","building.sqf"]]],"1","1"],
	["Backpack Tent",[],"",-5,[["expression",format[_EXECcrates,"local","backpack.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Public Crates >>", [], "#USER:CrateMenuPublic", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// This menu creates a global (public) crate of items that EVERYONE can see
CrateMenuPublic=[
	["",true],
	// Entry Format: ["name",[],"",-5,[["expression",format[_EXECcrates,"global","fileNAME.sqf"]]],"1","1"],
	["-- Public Crates --", [], "", -5, [["expression", ""]], "1", "0"],
	["Weapons Crate",[],"",-5,[["expression",format[_EXECcrates,"global","weapons.sqf"]]],"1","1"],
	["Items Crate",[],"",-5,[["expression",format[_EXECcrates,"global","items.sqf"]]],"1","1"],
	["ALL Weapons/Items Crate",[],"",-5,[["expression",format[_EXECcrates,"global","allweapons.sqf"]]],"1","1"],
	["Building Crate",[],"",-5,[["expression",format[_EXECcrates,"global","building.sqf"]]],"1","1"],
	["Backpack Tent",[],"",-5,[["expression",format[_EXECcrates,"global","backpack.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Private Crates >>", [], "#USER:CrateMenuPrivate", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for changing time and weather
// These are set every other hour to keep the menu short
WTMenu=[
	["",true],
	["Day Menu >>",[],"#USER:DayMenu",-5,[["expression",""]], "1", "1"],
	["Full-Moon Nights Menu >>",[],"#USER:FullMoonNights",-5,[["expression",""]], "1", "1"],
	["No-Moon Nights Menu >>",[],"#USER:NoMoonNights",-5,[["expression",""]], "1", "1"],
	["Weather Menu >>",[],"#USER:WeatherMenu",-5,[["expression",""]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

NoMoonNights = [
	["",true],
	["No moon night:", [], "", -5, [["expression", ""]], "1", "0"],
	["8pm",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 20]]],"1","1"],
	["10pm",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 22]]],"1","1"],
	["Midnight",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 0]]],"1","1"],
	["2am",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 2]]],"1","1"],
	["4am",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 4]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

FullMoonNights = [
	["",true],
	["Full moon night:", [], "", -5, [["expression", ""]], "1", "0"],
	["8pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,20]]],"1","1"],
	["10pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,22]]],"1","1"],
	["Midnight",[],"",-5,[["expression",format[_EXECdate,2012,6,4,4]]],"1","1"],
	["2am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,2]]],"1","1"],
	["4am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,4]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

DayMenu = [
	["",true],
	["Set Day Time:", [], "", -5, [["expression", ""]], "1", "0"],
	["5am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,5]]],"1","1"],
	["7am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,7]]],"1","1"],
	["9am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,9]]],"1","1"],
	["11am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,11]]],"1","1"],
	["Noon",[],"",-5,[["expression",format[_EXECdate,2012,6,4,12]]],"1","1"],
	["1pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,13]]],"1","1"],
	["3pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,15]]],"1","1"],
	["5pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,17]]],"1","1"],
	["7pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,19]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

WeatherMenu = [
	["",true],
	["Set Weather:",[],"",-5,[["expression",""]],"1","0"],
	["Clear Sky",[],"",-5,[["expression",format[_EXECcloud,0]]],"1","1"],
	["Slightly Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.25]]],"1","1"],
	["Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.5]]],"1","1"],
	["Very Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.75]]],"1","1"],
	["Storm",[],"",-5,[["expression",format[_EXECcloud,1]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
	["Set Fog:", [], "", -5, [["expression", ""]], "1", "0"],
	["Off",[],"",-5,[["expression",format[_EXECfog,0]]],"1","1"],
	["Thin",[],"",-5,[["expression",format[_EXECfog,0.25]]],"1","1"],
	["Medium",[],"",-5,[["expression",format[_EXECfog,0.5]]],"1","1"],
	["Thick",[],"",-5,[["expression",format[_EXECfog,0.75]]],"1","1"],
	["Maximum",[],"",-5,[["expression",format[_EXECfog,1]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];
// Menu that deals with epoch specific items like locks and safes
EpochMenu=[
	["",true],
	["Admin Build Menu >> ",[],"#USER:BuildMenu", -5,[["expression",""]],"1","1"],
	["Base Manager Menu >>", [], "", -5, [["expression",format[_EXECgenTools,"base_manager.sqf"]]], "1", "1"],
	["Point to Delete Item",[],"", -5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Point to display code",[],"",-5,[["expression",format[_EXECgenTools,"gimmecode.sqf"]]],"1","1"],
	["Point to make new key",[],"",-5,[["expression",format[_EXECgenTools,"givekey.sqf"]]],"1","1"],
	["Point to lock object",[],"",-5,[["expression",format[_EXECgenTools,"PointToLock.sqf"]]],"1","1"],
	["Point to unlock object",[],"",-5,[["expression",format[_EXECgenTools,"PointToUnlock.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Base menu for Admin Build functions
BuildMenu =
[
["",true],
	["Rebuild last item",[],"", -5,[["expression",format[_EXECadminBuild,"rebuild"]]],"1","1"],
	["Building GUI", [],"", -5, [["expression", format[_EXECbuildings,"buildingsDialog.sqf"]]], "1", "1"],
	["Base Materials >>",[],"#USER:BaseItems", -5,[["expression",""]],"1","1"],
	["Storage >>",[],"#USER:BuildStorage", -5,[["expression",""]],"1","1"],
	["Netting >>",[],"#USER:BuildNetting", -5,[["expression",""]],"1","1"],
	["Sandbags >>",[],"#USER:BuildSandbag", -5,[["expression",""]],"1","1"],
	["Extras >>",[],"#USER:BuildExtras", -5,[["expression",""]],"1","1"],
	["Point To Upgrade",[],"", -5,[["expression",format[_EXECbuildings,"pointToUpgrade.sqf"]]],"1","1"],
	["Point To Downgrade",[],"", -5,[["expression",format[_EXECbuildings,"pointToDowngrade.sqf"]]],"1","1"],
	["Maintain Base",[],"", -5,[["expression",format[_EXECbuildings,"maintainArea.sqf"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Standard base building epoch items
BaseItems =
[
["",true],
	["Cinder >>",[],"#USER:BuildablesCinder", -5,[["expression",""]],"1","1"],
	["Wood >>",[],"#USER:BuildablesWood", -5,[["expression",""]],"1","1"],
	["Other >>",[],"#USER:BuildablesOther", -5,[["expression",""]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Wood epoch base items
BuildablesWood = [
["",true],
	["Floor (Full)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloor_DZ"]]],"1","1"],
	["Floor (1/2)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloorHalf_DZ"]]],"1","1"],
	["Floor (1/4)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloorQuarter_DZ"]]],"1","1"],
	["Wall (Large)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWall_DZ"]]],"1","1"],
	["Wall (Small)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWall_DZ"]]],"1","1"],
	["Wall (1/3)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallThird_DZ"]]],"1","1"],
	["Wall /w Window (Large)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWallWin_DZ"]]],"1","1"],
	["Wall /w Window (Small)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallWin_DZ"]]],"1","1"],
	["Garage Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWallDoor_DZ"]]],"1","1"],
	["Normal Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallDoor_DZ"]]],"1","1"],
	["Stairs",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairsSans_DZ"]]],"1","1"],
	["Stairs /w Rails",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairsRails_DZ"]]],"1","1"],
	["Stairs /w Stilts",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairs_DZ"]]],"1","1"],
	["Ramp",[],"", -5,[["expression",format[_EXECadminBuild,"WoodRamp_DZ"]]],"1","1"],
	["Ladder",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLadder_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Cinder epoch base items
BuildablesCinder = [
["",true],
	["Wall (Full)",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWall_DZ"]]],"1","1"],
	["Wall (Half)",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallHalf_DZ"]]],"1","1"],
	["Garage Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallDoorway_DZ"]]],"1","1"],
	["Normal Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallSmallDoorway_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Anything that does not fit into the BaseItems categories
BuildablesOther = [
["",true],
	["Metal Floor",[],"", -5,[["expression",format[_EXECadminBuild,"MetalFloor_DZ"]]],"1","1"],
	["Metal Panel",[],"", -5,[["expression",format[_EXECadminBuild,"MetalPanel_DZ"]]],"1","1"],
	["Tank Trap",[],"", -5,[["expression",format[_EXECadminBuild,"Hedgehog_DZ"]]],"1","1"],
	["Wire Fence",[],"", -5,[["expression",format[_EXECadminBuild,"Fort_RazorWire"]]],"1","1"],
	["Plot Pole",[],"", -5,[["expression",format[_EXECadminBuild,"Plastic_Pole_EP1_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Storage items for base
BuildStorage =
[
["",true],
	["Wooden Shed",[],"", -5,[["expression",format[_EXECadminBuild,"Wooden_shed_DZ"]]],"1","1"],
	["Wooden Shack",[],"", -5,[["expression",format[_EXECadminBuild,"WoodShack_DZ"]]],"1","1"],
	["Storage Shed",[],"", -5,[["expression",format[_EXECadminBuild,"StorageShed_DZ"]]],"1","1"],
	["Wood Crate",[],"", -5,[["expression",format[_EXECadminBuild,"WoodCrate_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Any buildable dealing with sand bags
BuildSandbag =
[
["",true],
	["Sandbag Fence",[],"", -5,[["expression",format[_EXECadminBuild,"Sandbag1_DZ"]]],"1","1"],
	["Sandbag Fence (round)",[],"", -5,[["expression",format[_EXECadminBuild,"BagFenceRound_DZ"]]],"1","1"],
	["H-barrier Cube",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier1_DZ"]]],"1","1"],
	["H-barrier (short)",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier3_DZ"]]],"1","1"],
	["H-barrier (long)",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier5_DZ"]]],"1","1"],
	["H-Barrier (Huge)",[],"", -5,[["expression",format[_EXECadminBuild,"Base_WarfareBBarrier10xTall","building"]]],"1","1"],
	["Sandbag Nest",[],"", -5,[["expression",format[_EXECadminBuild,"SandNest_DZ"]]],"1","1"],
	["M240 Nest",[],"", -5,[["expression",format[_EXECadminBuild,"M240Nest_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Cloth nets/huts
BuildNetting =
[
["",true],
	["Camo Net (Desert)",[],"", -5,[["expression",format[_EXECadminBuild,"DesertCamoNet_DZ"]]],"1","1"],
	["Camo Net (Forest)",[],"", -5,[["expression",format[_EXECadminBuild,"ForestCamoNet_DZ"]]],"1","1"],
	["Camo Net Large (Desert)",[],"", -5,[["expression",format[_EXECadminBuild,"DesertLargeCamoNet_DZ"]]],"1","1"],
	["Camo Net Large (Forest)",[],"", -5,[["expression",format[_EXECadminBuild,"ForestLargeCamoNet_DZ"]]],"1","1"],
	["Canvas Hut",[],"", -5,[["expression",format[_EXECadminBuild,"CanvasHut_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Anything that does not fall into the other categories
BuildExtras =
[
["",true],
	["Fire Barrel",[],"", -5,[["expression",format[_EXECadminBuild,"FireBarrel_DZ"]]],"1","1"],
	["Workbench",[],"", -5,[["expression",format[_EXECadminBuild,"WorkBench_DZ"]]],"1","1"],
	["Generator",[],"", -5,[["expression",format[_EXECadminBuild,"Generator_DZ"]]],"1","1"],
	["Fuel Pump",[],"", -5,[["expression",format[_EXECadminBuild,"FuelPump_DZ"]]],"1","1"],
	["Deer Stand",[],"", -5,[["expression",format[_EXECadminBuild,"DeerStand_DZ"]]],"1","1"],
	["Park Bench",[],"", -5,[["expression",format[_EXECadminBuild,"ParkBench_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu that spawns TEMPORARY air vehicles
VehicleTempMenu=
[
["",true],
	["Spawn Temporary Vehicle -- AIR",[],"",-5,[["expression",""]],"1","0"],
	["MH-6J Little Bird",[],"",-5,[["expression",format[_EXECtempVeh,"MH6J_EP1"]]],"1","1"],
	["UH-60M Black Hawk",[],"",-5,[["expression",format[_EXECtempVeh,"UH60M_EP1"]]],"1","1"],
	["CH-47F Chinook",[],"",-5,[["expression",format[_EXECtempVeh,"CH_47F_EP1"]]],"1","1"],
	["MV-22 Osprey",[],"",-5,[["expression",format[_EXECtempVeh,"MV22"]]],"1","1"],
	["A-10 Jet",[],"",-5,[["expression",format[_EXECtempVeh,"A10"]]],"1","1"],
	["C-130J Super Hercules",[],"",-5,[["expression",format[_EXECtempVeh,"C130J"]]],"1","1"],
	["",[],"",-5,[["expression",""]],"1","0"],
		["Next page",[],"#USER:VehicleTempMenu2",-5,[["expression",""]],"1","1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu2 that spawns TEMPORARY wheeled vehicles
VehicleTempMenu2 =
[
["",true],
	["Spawn Temporary Vehicle -- WHEELED",[],"",-5,[["expression",""]],"1","0"],
	["SUV (Camo)",[],"",-5,[["expression",format[_EXECtempVeh,"SUV_Camo"]]],"1","1"],
	["Armored SUV",[],"",-5,[["expression",format[_EXECtempVeh,"ArmoredSUV_PMC_DZE"]]],"1","1"],
	["MTVR (Fuel)",[],"",-5,[["expression",format[_EXECtempVeh,"MTVR_Refuel_DES_EP1"]]],"1","1"],
	["Ural Truck",[],"",-5,[["expression",format[_EXECtempVeh,"Ural_TK_CIV_EP1"]]],"1","1"],
	["Ikarus Bus",[],"",-5,[["expression",format[_EXECtempVeh,"Ikarus_TK_CIV_EP1"]]],"1","1"],
	["Mountain Bike",[],"",-5,[["expression",format[_EXECtempVeh,"MMT_USMC"]]],"1","1"],
	["Motorcycle",[],"",-5,[["expression",format[_EXECtempVeh,"M1030"]]],"1","1"],
	["ATV",[],"",-5,[["expression",format[_EXECtempVeh,"ATV_US_EP1"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Next page", [], "#USER:VehicleTempMenu3", -5, [["expression", ""]], "1", "1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu that spawns TEMPORARY vehicles with treads (tanks)
VehicleTempMenu3 =
[
["",true],
	["Spawn Temporary Vehicle -- TRACKED",[],"",-5,[["expression",""]],"1","0"],
	["M1A1",[],"",-5,[["expression",format[_EXECtempVeh,"M1A1_US_DES_EP1"]]],"1","1"],
	["M1A2 TUSK",[],"",-5,[["expression",format[_EXECtempVeh,"M1A2_US_TUSK_MG_EP1"]]],"1","1"],
	["M270 MLRS",[],"",-5,[["expression",format[_EXECtempVeh,"MLRS_DES_EP1"]]],"1","1"],
	["T-34",[],"",-5,[["expression",format[_EXECtempVeh,"T34_TK_EP1"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		//["Next page", [], "#USER:VehicleTempMenu4", -5, [["expression", ""]], "1", "1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

showCommandingMenu "#USER:epochmenustart";
Link to comment
Share on other sites

Hi there,

 

we are running dayz epoch 1.0.4.1 ( returned to this version because the 1.0.5.1 was for us to buggy ).

 

Server Host is the German Company Nitrado.

 

I have done everything as explained in the Installation guide on github ( except for the update .... looks to me that the files I got and the one in the update are the same ) or am I mistaking?

 

Server starts without any trouble but I don't get the MENU.

 

I checked already the init.sqf for any errors but could not find any as well as the admintools\config.sqf for a wrong ID and/or name but they are correct as well.

 

 

In the RPT Log I found this

 

Admin Tools : config.sqf loaded

 

Admin Tools : variables.sqf loaded

 

ERROR in expression <tools\antihack\antihack.sqf

Link to comment
Share on other sites

Hi there,

 

we are running dayz epoch 1.0.4.1 ( returned to this version because the 1.0.5.1 was for us to buggy ).

 

Server Host is the German Company Nitrado.

 

I have done everything as explained in the Installation guide on github ( except for the update .... looks to me that the files I got and the one in the update are the same ) or am I mistaking?

 

Server starts without any trouble but I don't get the MENU.

 

I checked already the init.sqf for any errors but could not find any as well as the admintools\config.sqf for a wrong ID and/or name but they are correct as well.

 

 

In the RPT Log I found this

 

Admin Tools : config.sqf loaded

 

Admin Tools : variables.sqf loaded

 

ERROR in expression <tools\antihack\antihack.sqf

 

Post me the bottom half of the rpt or a full run of it. I will figure out the issue for you. The 1.10 update is different from the 1.9.1 or the 1.9.2 test branch (this was scrapped as x.x.x is versioning for patches so was renamed to 1.10) 1.10 has updates that didn't exist in the 1.9.2. You don't have to get 1.10 if you don't want to, but it does have some changes compared to anything in the past. if you are running 1.9.1 I suggest the update.

Link to comment
Share on other sites

 

Hi Guys,

 

here is the solution for the problem of weather time.

This code fixes a problem that the server to always revert to mid-day on restart.

 

Copy&Paste the code in following files:

 

variables.sqf

// Do not modify this file unless you know what you are doing

AdminList = AdminList + SuperAdminList; // add SuperAdmin to Admin
AdminAndModList = AdminList + ModList; // Add all admin/mod into one list for easy call

/***** Set variables *****/
tempList = []; // Initialize templist
helpQueue = []; // Initialize help queue


/****************** Server Public Variables ******************/
	if(isDedicated) then {
		// Log tool usage to .txt file
		"usageLogger" addPublicVariableEventHandler {
			"EATadminLogger" callExtension (_this select 1);
		};
		// Broadcast server message to clients
		"EAT_serverMessageServer" addPublicVariableEventHandler {
			EAT_serverMessageClient = (_this select 1);
			{
				(owner _x) publicVariableClient "EAT_serverMessageClient";
			} forEach entities "CAManBase";
		};
		// Export base to .sqf
		"EAT_baseExporter" addPublicVariableEventHandler {
			"EATbaseExporter" callExtension (_this select 1);
		};
		// teleport fix
		"EAT_teleportFixServer" addPublicVariableEventHandler{
			_array = (_this select 1);
			_addRemove = (_array select 0);

			if(_addRemove == "add") then {
				_array = _array - ["add"];
				tempList = tempList + _array;
			} else {
				_array = _array - ["remove"];
				tempList = tempList - _array;
			};
			EAT_teleportFixClient = tempList;
			publicVariable "EAT_teleportFixClient";
		};
		// Broadcast date to clients
		"EAT_SetDateServer" addPublicVariableEventHandler {
			EAT_setDateClient = (_this select 1);
			setDate EAT_setDateClient;
			publicVariable "EAT_setDateClient";
		};
		// Broadcast weather to clients
		"EAT_SetOvercastServer" addPublicVariableEventHandler {
			EAT_setOvercastClient = (_this select 1);
			5 setOvercast EAT_setOvercastClient;
			publicVariable "EAT_setOvercastClient";
		};
		// Broadcast fog to clients
		"EAT_SetFogServer" addPublicVariableEventHandler {
			EAT_setFogClient = (_this select 1);
			5 setFog EAT_setFogClient;
			publicVariable "EAT_setFogClient";
		};
		// Admin ticket system
		"EAT_contactAdminServer" addPublicVariableEventHandler {
			_array = (_this select 1);
			_addRemove = (_array select 0);

			if(_addRemove == "add") then {
				_array = _array - ["add"];
				helpQueue = helpQueue + _array;
			} else {
				_array = _array - ["remove"];
				helpQueue = helpQueue - _array;
			};
			EAT_contactAdminClient = helpQueue;
			{
				if ((getPlayerUID _x) in AdminAndModList) then {	//check if the clientID(uniqueID) is an admin|mod
					(owner _x) publicVariableClient "EAT_contactAdminClient";
				};
			} forEach entities "CAManBase";
		};
	};

/****************** Client Public Variables ******************/
	// Display server message
	"EAT_serverMessageClient" addPublicVariableEventHandler{
		[format["<t size='0.8' color='#ff0000' font='Zeppelin33'>%1</t>", _this select 1],0,0,10,2,0,8] spawn BIS_fnc_dynamicText;
	};
	// Teleport fix
	"EAT_teleportFixClient" addPublicVariableEventHandler {
		tempList = (_this select 1);
	};
	// Set date on client
	"EAT_SetDateClient" addPublicVariableEventHandler {
		setDate (_this select 1);
	};
	// Set overcast on client
	"EAT_setOvercastClient" addPublicVariableEventHandler {
		drn_fnc_DynamicWeather_SetWeatherLocal = {};
		5 setOvercast (_this select 1);
	};
	// Set fog on client
	"EAT_setFogClient" addPublicVariableEventHandler {
		drn_fnc_DynamicWeather_SetWeatherLocal = {};
		5 setFog (_this select 1);
	};
	// Admin ticket system
	"EAT_contactAdminClient" addPublicVariableEventHandler {
		helpQueue = (_this select 1);
		if ((getPlayerUID player) in AdminAndModList) then {
			systemChat "****A player needs help****";
		};
	};


/******************* Buildings *******************/
	// This section defines all of the buildings in the building GUI
	// Format: variable = [["TYPE","NAME","BUILING_CLASS"],["TYPE","NAME","BUILING_CLASS"]];
	
	//Residential
		buildHouse = [["House","Yellow Modern","Land_sara_domek_zluty"],["House","Large Orange","Land_Housev2_02_Interier"],["House","Yellow Wood","land_housev_3i3"],["House","Burgundy","land_housev_1l2"],["House","Orange/Green","Land_HouseV_3I1"],["House","Damaged Brick","land_r_housev2_04"],["House","Orange/Red","Land_HouseV_1I1"],["House","Barn","Land_HouseV_3I4"],["House","Yellow","Land_HouseV_1T"],["House","Red Brick","Land_HouseV_2I"],["House","Wood","Land_HouseV_1I3"],["House","Green","Land_HouseV_1L1"],["House","Yellow Wood","Land_HouseV_1I2"],["House","Yellow Stone","Land_HouseV_2L"],["House","Green Wood","Land_HouseV_2T2"],["House","Green wood/concrete","Land_HouseV_3I2"],["House","Shanty","Land_MBG_Shanty_BIG"],["House","Middle-East 1","Land_House_C_11_EP1"],["House","Middle-East 2","Land_House_C_12_EP1"],["House","Old Stone 1","Land_House_K_1_EP1"],["House","Old Stone 2","Land_House_K_3_EP1"],["House","Old Stone 3","Land_House_K_5_EP1"],["House","Old Stone 4","Land_House_K_7_EP1"],["House","Old Stone 5","Land_House_K_8_EP1"],["House","Old Stone 6","Land_House_L_1_EP1"],["House","Old Stone 7","Land_House_L_3_EP1"],["House","Old Stone 8","Land_House_L_4_EP1"],["House","Old Stone 9","Land_House_L_6_EP1"],["House","Old Stone 10","Land_House_L_7_EP1"],["House","Old Stone 11","Land_House_L_8_EP1"],["House","Old Stone Ruins","Land_ruin_01"]];
		buildHouseBlock = [["House Block","A1","Land_HouseBlock_A1"],["House Block","A1","Land_HouseBlock_A1"],["House Block","A1_2","Land_HouseBlock_A1_2"],["House Block","A2","Land_HouseBlock_A2"],["House Block","A2_1","Land_HouseBlock_A2_1"],["House Block","A3","Land_HouseBlock_A3"],["House Block","B1","Land_HouseBlock_B1"],["House Block","B2","Land_HouseBlock_B2"],["House Block","B3","Land_HouseBlock_B3"],["House Block","B4","Land_HouseBlock_B4"],["House Block","B5","Land_HouseBlock_B5"],["House Block","B6","Land_HouseBlock_B6"],["House Block","C1","Land_HouseBlock_C1"],["House Block","C2","Land_HouseBlock_C2"],["House Block","C3","Land_HouseBlock_C3"],["House Block","C4","Land_HouseBlock_C4"],["House Block","C5","Land_HouseBlock_C5"]];
		buildApartment = [["Apartment","B","Land_MBG_ApartmentsTwo_B"],["Apartment","G","Land_MBG_ApartmentsTwo_G"],["Apartment","P","Land_MBG_ApartmentsTwo_P"],["Apartment","W","Land_MBG_ApartmentsOne_W"],["Apartment","Large","land_mbg_apartments_big_04"],["Apartment","Red Short","Land_Panelak"],["Apartment","Red Tall","Land_Panelak2"],["Apartment","Red Very Tall","Land_Panelak3"],["Apartment","Grey (closed)","Land_A_Office02"]];
		buildOffice = [["Office","International Hotel","Land_HouseB_Tenement"],["Office","Municipal Office","Land_A_MunicipalOffice"],["School","School (normal)","Land_A_Office01"]];
		buildShed = [["Shed","Nice Wood (open)","Land_Shed_Wooden"],["Shed","Rickety Wood (closed)","Land_kulna"],["Shed","Large Old Wood (closed)","Land_Shed_W4"],["Shed","Patchwork wood (closed)","Land_Shed_W03"],["Shed","Grey Wood (closed)","Land_Shed_W02"],["Shed","Old Metal (closed)","Land_Shed_m03"]];
		buildResidentMisc = [["Hospital","Hospital (normal)","land_a_hospital"],["Store","Pub","Land_A_Pub_01"],["Store","Supermarket 1","Land_A_GeneralStore_01"],["Store","Supermarket 2","Land_A_GeneralStore_01a"]];
		buildResidential = buildHouse + buildHouseBlock + buildApartment + buildOffice + buildShed + buildResidentMisc;

	//Industrial
		buildCargo = [["Cargo","1 Closed Red Crate","Land_Misc_Cargo1Bo"],["Cargo","2 Closed Red Crates","Land_Misc_Cargo2D"],["Cargo","1 Open Cargo Crate","Land_Misc_Cargo1D"],["Cargo","Military Crate","US_WarfareBVehicleServicePoint_Base_EP1"]];
		buildIndustrialParts = [["Metal","Overhang","Land_Ind_Shed_02_main"],["Metal","Arch","Land_Ind_Shed_01_end"],["Station","Vehicle Ceckpoint","Land_Hlidac_budka"]];
		buildIndustrial = buildCargo + buildIndustrialParts;
	
	//Military
		buildMilitary = [["Barracks","L-Barracks","Land_Mil_Barracks_L"],["Depot","Warfare Depot","WarfareBDepot"],["Hospital","Field Hospital","INS_WarfareBFieldhHospital"]];
	
	//Religious
		buildReligious = [["Church","Orange","Land_Church_01"],["Church","Open","Land_Church_03"],["Church","Closed","Land_Church_02"],["Church","Destroyed","Land_Church_05R"],["Mosque","Small","Land_A_Mosque_small_2_EP1"],["Mosque","Medium","Land_A_Mosque_small_1_EP1"],["Mosque","Large","Land_A_Mosque_big_hq_EP1"],["Mosque","Addon","Land_A_Mosque_big_addon_EP1"],["Mosque","Wall","Land_A_Mosque_big_wall_EP1"]];

	//Graves
		buildGrave = [["Grave","Grave (normal)","Grave"],["Grave","Cross 1","GraveCross1"],["Grave","Cross 2","GraveCross2"],["Grave","Cross /w Helmet","GraveCrossHelmet"],["Grave","Mass Grave","Mass_grave_DZ"]];
		
	//Castle
		buildCastle = [["Castle","Gate","Land_A_Castle_Gate"],["Castle","Tower","Land_A_Castle_Bergfrit"],["Castle","Stairs","Land_A_Castle_Stairs_A"]];
		
	//Ore
		buildOre = [["Ore","Gold","Gold_Vein_DZE"],["Ore","Silver","Silver_Vein_DZE"],["Ore","Iron","Iron_Vein_DZE"]];
		
	//Roads
		buildRoad = [[]];

	//Other
		buildMarker = [["Marker","Archway","Sign_circle_EP1"]];
		buildSand = [["Sandbag","Nest (BIG)","Land_fortified_nest_big"],["Sandbag","2 Story cubes /w Net","Land_Fort_Watchtower"]];
		buildRamp = [["Ramp","Concrete Tall","Land_ConcreteRamp"],["Ramp","Concrete Short","RampConcrete"],["Ramp","Wood Small","Land_WoodenRamp"]];
		buildMisc = [["Statue","Soldiers /w Flag","Land_A_statue01"],["Statue","Tank","Land_A_statue02"],["Misc","Archway","Land_brana02nodoor"]];
		buildOutdoors = [["Outdoors","Outhouse","Land_KBud"]];
		buildOther =  buildOutdoors + buildMisc + buildRamp + buildSand + buildMarker;

	
	allBuildingList = buildResidential + buildIndustrial + buildMilitary + buildReligious + buildGrave + buildCastle + buildOre + buildOther;


	
/******************* Crates *******************/
	// This section has the items in each crate
	// Format: variable = [["ITEM",AMOUNT],["ITEM",AMOUNT],......];

	// Backpack crate
	backpackCrateContents = [["DZ_Backpack_EP1", 1],["DZ_British_ACU", 1],["DZ_CivilBackpack_EP1", 1],["DZ_CompactPack_EP1", 1],["DZ_GunBag_EP1", 1],["DZ_LargeGunBag_EP1", 1],["DZ_TK_Assault_Pack_EP1", 1]];

	// Items Crate
	itemCrateWeapons = [["Binocular", 5],["Binocular_Vector", 5],["ItemCompass", 5],["ItemCrowbar", 5],["ItemEtool", 5],["ItemFishingPole", 5],["ItemFlashlight", 5],["ItemFlashlightRed", 5],["ItemGPS", 5],["ItemHatchet_DZE", 5],["ItemKeyKit", 5],["ItemKnife", 5],["ItemMap", 5],["ItemMatchbox_DZE", 5],["ItemRadio", 5],["ItemSledge", 5],["ItemToolbox", 5],["ItemWatch", 5],["Laserdesignator", 5],["NVGoggles", 5]];
	itemCrateMagazines = [["FoodSteakCooked", 10],["HandChemBlue", 10],["HandChemGreen", 10],["HandChemRed", 10],["HandRoadFlare", 10],["ItemAntibiotic", 10],["ItemBandage", 10],["ItemBloodbag", 10],["ItemBriefcase100oz", 10],["ItemBriefcaseEmpty", 10],["ItemCopperBar", 10],["ItemCopperBar10oz", 10],["ItemEpinephrine", 10],["ItemFuelBarrel", 10],["ItemGoldBar", 10],["ItemGoldBar10oz", 10],["ItemHeatPack", 10],["ItemJerrycan", 10],["ItemMorphine", 10],["ItemOilBarrel", 10],["ItemPainkiller", 10],["ItemSilverBar", 10],["ItemSilverBar10oz", 10],["ItemSodaMdew", 10],["PartEngine", 10],["PartFueltank", 10],["PartGeneric", 10],["PartGlass", 10],["PartVRotor", 10],["PartWheel", 10],["Skin_Bandit1_DZ", 10],["Skin_Bandit2_DZ", 10],["Skin_BanditW1_DZ", 10],["Skin_BanditW2_DZ", 10],["Skin_CZ_Soldier_Sniper_EP1_DZ", 10],["Skin_CZ_Special_Forces_GL_DES_EP1_DZ", 10],["Skin_Drake_Light_DZ", 10],["Skin_FR_OHara_DZ", 10],["Skin_FR_Rodriguez_DZ", 10],["Skin_Functionary1_EP1_DZ", 10],["Skin_Graves_Light_DZ", 10],["Skin_GUE_Commander_DZ", 10],["Skin_GUE_Soldier_2_DZ", 10],["Skin_GUE_Soldier_CO_DZ", 10],["Skin_GUE_Soldier_Crew_DZ", 10],["Skin_GUE_Soldier_MG_DZ", 10],["Skin_GUE_Soldier_Sniper_DZ", 10],["Skin_Haris_Press_EP1_DZ", 10],["Skin_Ins_Soldier_GL_DZ", 10],["Skin_Pilot_EP1_DZ", 10],["Skin_Priest_DZ", 10],["Skin_Rocker1_DZ", 10],["Skin_Rocker2_DZ", 10],["Skin_Rocker3_DZ", 10],["Skin_Rocker4_DZ", 10],["Skin_Rocket_DZ", 10],["Skin_RU_Policeman_DZ", 10],["Skin_Sniper1_DZ", 10],["Skin_Soldier_Bodyguard_AA12_PMC_DZ", 10],["Skin_Soldier_Sniper_PMC_DZ", 10],["Skin_Soldier_TL_PMC_DZ", 10],["Skin_SurvivorW2_DZ", 10],["Skin_SurvivorW3_DZ", 10],["Skin_SurvivorWcombat_DZ", 10],["Skin_SurvivorWdesert_DZ", 10],["Skin_SurvivorWpink_DZ", 10],["Skin_SurvivorWsequishaD_DZ", 10],["Skin_SurvivorWsequisha_DZ", 10],["Skin_TK_INS_Soldier_EP1_DZ", 10],["Skin_TK_INS_Warlord_EP1_DZ", 10],["TrapBear", 10],["TrashJackDaniels", 10],["TrashTinCan", 10]];

	// Building Crate
	buildingCrateWeapons = [["ItemCrowbar", 5],["ItemEtool", 5],["ItemHatchet_DZE", 5],["ItemMatchbox_DZE", 5],["ItemSledge", 5],["ItemToolbox", 5]];
	buildingCrateMagazines = [["30m_plot_kit", 10],["bulk_empty", 10],["bulk_ItemTankTrap", 20],["bulk_ItemWire",  10],["CinderBlocks", 30],["cinder_door_kit", 10],["cinder_garage_kit", 10],["cinder_wall_kit", 60],["deer_stand_kit", 10],["desert_large_net_kit", 10],["desert_net_kit", 10],["forest_large_net_kit", 10],["forest_net_kit", 10],["fuel_pump_kit", 10],["ItemBurlap", 10],["ItemCanvas", 10],["ItemComboLock", 10],["ItemCorrugated", 10],["ItemFireBarrel_Kit", 10],["ItemFuelBarrelEmpty", 10],["ItemGenerator", 10],["ItemGunRackKit", 10],["ItemHotwireKit", 10],["ItemJerrycan", 10],["ItemLockbox", 10],["ItemPole", 10],["ItemSandbag", 50],["ItemSandbagExLarge", 20],["ItemSandbagExLarge5x", 20],["ItemSandbagLarge", 20],["ItemScaffoldingKit", 10],["BagFenceRound_DZ_kit",20],["ItemTankTrap", 10],["ItemTent", 5],["ItemTentDomed", 5],["ItemTentDomed2", 5],["ItemTentOld", 5],["ItemVault", 10],["ItemWire", 10],["ItemWoodFloor", 30],["ItemWoodFloorHalf", 30],["ItemWoodFloorQuarter", 30],["ItemWoodLadder", 30],["ItemWoodStairs", 10],["ItemWoodStairsSupport", 10],["ItemWoodWall", 30],["ItemWoodWallDoor", 10],["ItemWoodWallDoorLg", 10],["ItemWoodWallGarageDoor", 10],["ItemWoodWallGarageDoorLocked", 10],["ItemWoodWallLg", 30],["ItemWoodWallThird", 20],["ItemWoodWallWindow", 20],["ItemWoodWallWindowLg", 30],["ItemWoodWallWithDoor", 10],["ItemWoodWallwithDoorLg", 10],["ItemWoodWallWithDoorLgLocked", 10],["ItemWoodWallWithDoorLocked", 10],["light_pole_kit", 10],["m240_nest_kit", 5],["metal_floor_kit", 60],["metal_panel_kit", 20],["MortarBucket", 5],["outhouse_kit", 5],["park_bench_kit", 5],["PartGeneric", 30],["PartPlankPack", 30],["PartPlywoodPack", 30],["PartWoodLumber", 30],["PartWoodPile", 30],["PartWoodPlywood", 30],["rusty_gate_kit", 5],["sandbag_nest_kit", 30],["stick_fence_kit", 5],["storage_shed_kit", 10],["sun_shade_kit", 10],["wooden_shed_kit", 10],["wood_ramp_kit", 10],["wood_shack_kit", 10],["workbench_kit", 5]];

	// Weapons Crate
	weaponCrateWeapons = [["AK_107_GL_Kobra", 5],["AK_107_GL_PSO", 5],["AK_107_Kobra", 5],["AK_107_PSO", 5],["AK_47_M", 5],["AK_47_S", 5],["AK_74", 5],["AK_74_GL", 5],["AK_74_GL_Kobra", 5],["AKS_74", 5],["AKS_74_Kobra", 5],["AKS_74_PSO", 5],["AKS_74_U", 5],["AKS_74_UN_Kobra", 5],["AKS_GOLD", 5],["BAF_AS50_scoped_DZ", 5],["BAF_AS50_TWS", 5],["BAF_L110A1_Aim", 5],["BAF_L7A2_GPMG", 5],["BAF_L85A2_RIS_ACOG", 5],["BAF_L85A2_RIS_CWS", 5],["BAF_L85A2_RIS_Holo", 5],["BAF_L85A2_RIS_SUSAT", 5],["BAF_L85A2_UGL_ACOG", 5],["BAF_L85A2_UGL_Holo", 5],["BAF_L85A2_UGL_SUSAT", 5],["BAF_L86A2_ACOG", 5],["BAF_LRR_scoped", 5],["BAF_LRR_scoped_W", 5],["bizon", 5],["bizon_silenced", 5],["Colt1911", 5],["Crossbow_DZ", 5],["DMR_DZ", 5],["G36_C_SD_camo", 5],["G36_C_SD_eotech", 5],["G36a", 5],["G36A_camo", 5],["G36C", 5],["G36C_camo", 5],["G36K", 5],["G36K_camo", 5],["FN_FAL", 5],["FN_FAL_ANPVS4", 5],["glock17_EP1", 5],["Huntingrifle", 5],["ksvk", 5],["LeeEnfield", 5],["M1014", 5],["m107_DZ", 5],["m107_TWS_EP1_DZ", 5],["M14_EP1", 5],["M16A2", 5],["M16A2GL", 5],["m16a4", 5],["m16a4_acg", 5],["M16A4_ACG_GL", 5],["M16A4_GL", 5],["M24", 5],["M24_des_EP1", 5],["M240_DZ", 5],["m240_scoped_EP1_DZE", 5],["M249_DZ", 5],["M249_EP1_DZ", 5],["M249_m145_EP1_DZE", 5],["M40A3", 5],["M4A1", 5],["M4A1_Aim", 5],["M4A1_Aim_camo", 5],["M4A1_AIM_SD_camo", 5],["M4A1_HWS_GL", 5],["M4A1_HWS_GL_camo", 5],["M4A1_HWS_GL_SD_Camo", 5],["M4A1_RCO_GL", 5],["M4A3_CCO_EP1", 5],["M4A3_RCO_GL_EP1", 5],["M4SPR", 5],["M60A4_EP1_DZE", 5],["M9", 5],["M9SD", 5],["Makarov", 5],["MakarovSD", 5],["MeleeHatchet", 5],["MeleeCrowbar", 5],["MG36", 5],["Mk_48_DES_EP1", 5],["Mk_48_DZ", 5],["MP5A5", 5],["MP5SD", 5],["MR43", 5],["Pecheneg_DZ", 5],["PK", 5],["Remington870_lamp", 5],["revolver_EP1", 5],["revolver_gold_EP1", 5],["RPK_74", 5],["Sa61_EP1", 5],["Saiga12K", 5],["SVD", 5],["SVD_CAMO", 5],["SVD_des_EP1", 5],["SVD_NSPU_EP1", 5],["UZI_EP1", 5],["UZI_SD_EP1", 5],["Winchester1866", 5],["Sa58V_RCO_EP1", 5],["RPG7V", 5],["ItemMachete", 5]];
	weaponCrateMagazines = [["2Rnd_shotgun_74Slug", 20],["2Rnd_shotgun_74Pellets", 20],["5Rnd_127x108_KSVK", 20],["5Rnd_127x99_as50", 20],["5Rnd_762x51_M24", 20],["5Rnd_86x70_L115A1", 20],["5x_22_LR_17_HMR", 20],["6Rnd_45ACP", 20],["7Rnd_45ACP_1911", 20],["8Rnd_9x18_Makarov", 20],["8Rnd_9x18_MakarovSD", 20],["8Rnd_B_Beneli_74Slug", 20],["8Rnd_B_Beneli_Pellets", 20],["8Rnd_B_Saiga12_74Slug", 20],["8Rnd_B_Saiga12_Pellets", 20],["10Rnd_127x99_M107", 20],["10Rnd_762x54_SVD", 20],["10x_303", 20],["15Rnd_9x19_M9", 20],["15Rnd_9x19_M9SD", 20],["15Rnd_W1866_Slug", 20],["15Rnd_W1866_Pellet", 20],["17Rnd_9x19_glock17", 20],["20Rnd_556x45_Stanag", 20],["20Rnd_762x51_DMR", 20],["20Rnd_762x51_FNFAL", 20],["20Rnd_B_765x17_Ball", 20],["30Rnd_545x39_AK", 20],["30Rnd_545x39_AKSD", 20],["30Rnd_556x45_G36", 20],["30Rnd_556x45_G36SD", 20],["30Rnd_556x45_Stanag", 20],["30Rnd_556x45_StanagSD", 20],["30Rnd_762x39_AK47", 20],["30Rnd_9x19_MP5", 20],["30Rnd_9x19_MP5SD", 20],["30Rnd_9x19_UZI", 20],["30Rnd_9x19_UZI_SD", 20],["50Rnd_127x108_KORD", 20],["64Rnd_9x19_Bizon", 20],["64Rnd_9x19_SD_Bizon", 20],["75Rnd_545x39_RPK", 20],["100Rnd_762x51_M240", 20],["100Rnd_762x54_PK", 20],["100Rnd_556x45_BetaCMag", 20],["100Rnd_556x45_M249", 20],["200Rnd_556x45_L110A1", 20],["200Rnd_556x45_M249", 20],["BoltSteel", 20],["PG7V", 20],["1Rnd_HE_M203", 20],["HandGrenade_west", 20],["SmokeShell", 20],["SmokeShellGreen", 20],["SmokeShellRed", 20],["PipeBomb", 20]];

	
/**************************** Common Functions ****************************/

	// This is a centralized function for checking if an action is allowed to take place.
	// This is basically the "_canDo" found in player actions.
	fnc_actionAllowed = {
		private["_player","_vehicle","_inVehicle","_onLadder","_canDo"];
		_player = player; //Setting a local variable as player saves resources
		_vehicle = vehicle _player;
		_inVehicle = (_vehicle != _player);
		_onLadder =	(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState _player) >> "onLadder")) == 1;
		_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder && !_inVehicle);

	_canDo
	};
	
	// Generates a selectable list of players for teleports and spectate
	// Title is set by setting pMenuTitle = "TITLE HERE" before calling the function
	pMenuTitle = "";
	fn_smenu =
	{
		private["_pmenu"];
		_pmenu = [["",true],[pMenuTitle, [-1], "", -5, [["expression", ""]], "1", "0"]];
		for "_i" from (_this select 0) to (_this select 1) do
		{_arr = [format['%1', plist select (_i)], [12],  "", -5, [["expression", format ["pselect5 = plist select %1;", _i]]], "1", "1"]; _pmenu set [_i + 2, _arr];};
		if (count plist > (_this select 1)) then {_pmenu set [(_this select 1) + 2, ["Next", [13], "", -5, [["expression", "snext = true;"]], "1", "1"]];}
		else {_pmenu set [(_this select 1) + 2, ["", [-1], "", -5, [["expression", ""]], "1", "0"]];};
		_pmenu set [(_this select 1) + 3, ["Exit", [13], "", -5, [["expression", "pselect5 = 'exit';"]], "1", "1"]];
		showCommandingMenu "#USER:_pmenu";
	};

	
	
/********************** Admin/Mod functions/variables **********************/
	if ((getPlayerUID player) in AdminAndModList) then {
	
		//Admin-Mod mode script calls
			playerGodToggle = {
				playerGod = !playerGod;
				[] execVM "admintools\tools\AdminMode\GodModePlayer.sqf";
			};
			vehicleGodToggle = {
				vehicleGod = !vehicleGod;
				[] execVM "admintools\tools\AdminMode\GodModeVehicle.sqf";
			};
			playerESPToggle = {
				playerESP = !playerESP;
				if(playerESP && enhancedESP) then {enhancedESP = false; [enhancedESP] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";};
				[] execVM "admintools\tools\AdminMode\ESPplayer.sqf";
			};
			enhancedESPToggle = {
				enhancedESP = !enhancedESP;
				if(playerESP && enhancedESP) then {playerESP = false; [playerESP] execVM "admintools\tools\AdminMode\ESPplayer.sqf";};
				[] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";
			};
			grassOffToggle = {
				grassOff = !grassOff;
				[] execVM "admintools\tools\AdminMode\GrassOFF.sqf";
			};
			infAmmoToggle = {
				infAmmo = !infAmmo;
				[] execVM "admintools\tools\AdminMode\InfiniteAmmo.sqf";
			};
			speedBoostToggle = {
				speedBoost = !speedBoost;
				[] execVM "admintools\tools\AdminMode\speedboost.sqf";
			};
			invisibilityToggle = {
				invisibility = !invisibility;
				[] execVM "admintools\tools\AdminMode\Invisibility.sqf";
			};
			flyingToggle = {
				flying = !flying;
				[] execVM "admintools\tools\AdminMode\Flying.sqf";
			};
			adminBuildToggle = {
				adminBuild = !adminBuild;
				[] execVM "admintools\tools\AdminMode\AdminFastBuild.sqf";
			};
			
		// Admin-mod mode toggle function
			AdminToggle =
			{
				if (speedBoost) then {[] execVM "admintools\tools\AdminMode\speedboost.sqf";};
				if (enhancedESP) then {[] execVM "admintools\tools\AdminMode\ESPenhanced.sqf";};
				if (playerESP) then {[] execVM "admintools\tools\AdminMode\ESPplayer.sqf";};
				if (invisibility) then {[] execVM "admintools\tools\AdminMode\Invisibility.sqf";};
				if (infAmmo) then {[] execVM "admintools\tools\AdminMode\InfiniteAmmo.sqf";};
				if (flying) then {[] execVM "admintools\tools\AdminMode\Flying.sqf";};
				if (playerGod) then {[] execVM "admintools\tools\AdminMode\GodModePlayer.sqf";};
				if (vehicleGod) then {[] execVM "admintools\tools\AdminMode\GodModeVehicle.sqf";};
				if (grassOff) then {[] execVM "admintools\tools\AdminMode\GrassOFF.sqf";};
				if (adminBuild) then {[] execVM "admintools\tools\AdminMode\AdminFastBuild.sqf";};
			};
	};

/**************** overwrite epoch public variables ****************/
	if(!isNil "EAT_setDateClient")then{"PVDZE_plr_SetDate" addPublicVariableEventHandler {};};


// Adds the admin build items to the allowed objects
// Fixes permanent arma building spawn
{dayz_allowedObjects = dayz_allowedObjects + [_x select 2];}forEach allBuildingList;

diag_log("Admin Tools: variables.sqf loaded");

config.sqf


/************** Epoch Admin Tools Variables **************/

	//Replace 111111111 with your ID. 
	SuperAdminList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];
	AdminList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];
	ModList = [
	"999999999", // <player name>
	"999999999" // <player name>
	];


	/*
		Log admin tool usage by your admins?
		This creates a log in your server\EpochAdminToolLogs\toolUsageLog.txt
		REQUIRES: EATadminLogger.dll
	*/
		//A major tool is a strong tool with high possibility for exploiting
		logMajorTool = true;

		//A minor tool is a weak tool with low possibility for exploiting
		logMinorTool = false;

	
	
	
	
/************** Action Menu Variables **************/

	/*
		Give players an actions menu? (dance, deploy bike/mozzie, flip car)
		Default: true
	*/
	ActionMenuPlayers = true;

	/*
		Give admins the same action menu above? (not really needed unless you are a playing admin)
		Default: false
	*/
	ActionMenuAdmins = false;


	/****** Bike variables ******/

	//Allow player to build a bike?
	AllowBuildBike = true;

	// This option requires players to have a toolbox to build a bike (consumes the toolbox)
	RequireToolBoxBike = true;

	// This option requires players to have the parts for building a bike (consumes the parts)
	// Required parts: two wheels, one scrap metal
	RequirePartsBike = false;

	// This option dictates if players are allowed to repack a bike to get their items back
	AllowPackBike = true;


	/****** Mozzie variables ******/

	//Allow player to build a Mozzie?
	AllowBuildMozzie = true;

	// This option requires players to have a toolbox to build a Mozzie (consumes the toolbox)
	RequireToolBoxMozzie = false;

	// This option requires players to have the parts for building a Mozzie (consumes the parts)
	// Required parts: main rotor, two scrap, one engine, one jerry can (full)
	RequirePartsMozzie = true;

	// This option dictates if players are allowed to repack a mozzie to get their items back
	AllowPackMozzie = true;


	/****** Misc ******/
		
	// Allow players to flip their vehicles rightside up
	AllowFlipVehicle = true;
		
	// Allow players to commit suicide
	AllowSuicide = true;
		
	// Allow players to use the movement menu (dance)
	AllowMovementMenu = true;

	/* 
		Allow players to open a help ticket with the admins.
		The help queue can be viewed via the admin menu.
		The player can NOT spam the admins.
	*/
	AllowContactAdmin = true;

		/*
			Stops spamming of the contact admin. If it is enabled and a user contacts an admin
			the given number of times they will get a white screen for blindTime seconds and 
			the contact feature will be disabled
		*/
		enableAntiSpam = true;
		antiSpamLimit = 15; // default 15 contacts
		blindTime = 30; // default 30 seconds

		
		

		
diag_log("Admin Tools: config.sqf loaded");

AdminToolsMain.sqf

private["_EXECgenTools","_EXECweapons","_EXECbackpacks","_EXECgear","_EXECcrates","_EXECadminBuild","_EXECbuildings","_EXECskins","_EXECdate","_EXECcloud","_EXECfog","_EXECtempVeh"];

_EXECgenTools = 'player execVM "admintools\tools\%1"';
_EXECweapons = '["%1","%2","%3"] execVM "admintools\weaponkits\WeaponKits.sqf"';
_EXECbackpacks = '["%1"] execVM "admintools\weaponkits\BackPack.sqf"';
_EXECgear = 'player execVM "admintools\weaponkits\%1"';
_EXECcrates = '["%1"] execVM "admintools\crates\%2"';
/* _EXECadminBuild */ if(isNil "snap_build") then {_EXECadminBuild = '["%1",false,true] execVM "admintools\tools\AdminBuild\adminBuild.sqf"';}else{_EXECadminBuild = '["%1",false,true] execVM "admintools\tools\AdminBuild\adminBuildPro.sqf"';}; // Auto-detect raymix's snap pro
_EXECbuildings = 'player execVM "admintools\tools\AdminBuild\%1"';
_EXECskins = '["%1"] execVM "admintools\tools\skinChanger.sqf"';
_EXECdate = 'EAT_SetDateServer = [%1,%2,%3,%4,0]; publicVariableServer "EAT_SetDateServer"';
_EXECcloud = 'EAT_SetOvercastServer = %1; publicVariableServer "EAT_SetOvercastServer"';
_EXECfog = 'EAT_SetFogServer = %1; publicVariableServer "EAT_SetFogServer"';
_EXECtempVeh = '["%1"] execVM "admintools\tools\addtempvehicle.sqf"';

// Main menu
if ((getPlayerUID player) in AdminList) then { // Administrators
	epochmenustart = [["",true],["-- Epoch Admin Tools (Level: Admin) --", [], "", -5, [["expression", ""]], "1", "0"]];
	epochmenustart = epochmenustart + [["Admin Menu >>", [], "#USER:AdminMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Vehicle Menu >>",[],"#USER:VehicleMenu",-5,[["expression",""]],"1","1"]];
	epochmenustart = epochmenustart + [["Crate Menu >>",[],"#USER:CrateMenu",-5,[["expression",""]],"1","1"]];
	epochmenustart = epochmenustart + [["Epoch Menu >>", [], "#USER:EpochMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Weapon/Item Kits >>", [], "#USER:WeaponMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Skin Change Menu >>", [], "#USER:AdminSkinsMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Weather/Time Menu >>", [], "#USER:WTMenu", -5, [["expression", ""]], "1", "1"]];
	epochmenustart = epochmenustart + [["Player Ticket Menu >>", [], "", -5, [["expression", format[_EXECgenTools,"contactAdminTickets.sqf"]]], "1", "1"]];
	epochmenustart = epochmenustart + [["", [], "", -5, [["expression", ""]], "1", "0"]];
	epochmenustart = epochmenustart + [["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]];
} else {
	if ((getPlayerUID player) in ModList) then { // Moderators
		epochmenustart = [["",true],["-- Epoch Admin Tools (Level: Mod) --", [], "", -5, [["expression", ""]], "1", "0"]];
		epochmenustart = epochmenustart + [["Mod Menu >>", [], "#USER:ModMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Temporary Vehicle Menu >>", [], "#USER:VehicleTempMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Skin Change Menu >>", [], "#USER:AdminSkinsMenu", -5, [["expression", ""]], "1", "1"]];
		epochmenustart = epochmenustart + [["Player Ticket Menu >>", [], "", -5, [["expression", format[_EXECgenTools,"contactAdminTickets.sqf"]]], "1", "1"]];
		epochmenustart = epochmenustart + [["", [], "", -5, [["expression", ""]], "1", "0"]];
		epochmenustart = epochmenustart + [["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]];
	};
};

AdminMenu =
[
["",true],
	["Admin Mode (F4 for options)",[],"", -5,[["expression",format[_EXECgenTools,"AdminMode\adminMode.sqf"]]],"1","1"],
	["Point to Repair(Perm)",[],"", -5,[["expression", format[_EXECgenTools,"PointToRepairPERM.sqf"]]], "1", "1"],
	["Point to Delete(Perm)",[],"", -5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Spectate player (F6 to cancel)",[],"", -5,[["expression", format[_EXECgenTools,"spectate.sqf"]]], "1", "1"],
//	["Safe Zone Create/Delete",[],"", -5, [["expression", format[_EXECgenTools,"SafeZoneArea.sqf"]]], "1", "1"],
	["Zombie Shield",[],"", -5,[["expression",format[_EXECgenTools,"zombieshield.sqf"]]],"1","1"],
	["Zombie Spawner", [], "", -5, [["expression", format[_EXECgenTools,"zombieSpawn.sqf"]]], "1", "1"],
	["Heal Players",[],"", -5, [["expression", format[_EXECgenTools,"healp.sqf"]]], "1", "1"],
	["Send Server Message",[],"", -5,[["expression",format[_EXECgenTools,"messageDialog.sqf"]]],"1","1"],
	["Teleport Menu >>",[],"#USER:TeleportMenu", -5, [["expression", ""]], "1", "1"],
	["Humanity Menu >>",[],"#USER:HumanityMenu", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];
ModMenu =
[
["",true],
	["Mod Mode (F4 for options)",[],"", -5,[["expression",format[_EXECgenTools,"AdminMode\modMode.sqf"]]],"1","1"],
	["Point to Repair (Temp)",[],"",-5,[["expression", format[_EXECgenTools,"PointToRepair.sqf"]]], "1", "1"],
	["Point to Delete (Perm)",[],"",-5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Spectate player (F6 to cancel)",[],"", -5,[["expression", format[_EXECgenTools,"spectate.sqf"]]], "1", "1"],
	["Heal Players",[],"",-5,[["expression", format[_EXECgenTools,"healp.sqf"]]], "1", "1"],
	["Teleport Menu >>",[],"#USER:TeleportMenu", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu",[20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Main vehicle selection menu
VehicleMenu =
[
["",true],	
	["Graphical Vehicle Menu", [],"", -5, [["expression", format[_EXECgenTools,"addvehicleDialog.sqf"]]], "1", "1"],
	["Temporary Vehicle Menu >>", [], "#USER:VehicleTempMenu", -5, [["expression", ""]], "1", "1"],
	["Locked Vehicle Menu >>", [], "#USER:VehiclekeyMenu", -5, [["expression", ""]], "1", "1"],
	["Vehicle Tools >>", [], "#USER:VehicleTools", -5, [["expression", ""]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Different tools for working with vehicles
VehicleTools =
[
["",true],	
	["Vehicle Locator",[],"",-5,[["expression", format[_EXECgenTools,"vehicleLocator.sqf"]]], "1", "1"],
	["Point to Repair (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRepair.sqf"]]], "1", "1"],
	["Point to Repair (Perm)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRepairPERM.sqf"]]], "1", "1"],
	["Point to Revive Vehicle",[],"", -5,[["expression", format[_EXECgenTools,"PointToReviveVeh.sqf"]]], "1", "1"],
	["Point to Delete (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToDelete.sqf"]]], "1", "1"],
	["Point to Delete (Perm)",[],"",-5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Point to only Refuel (Temp)", [],"", -5, [["expression", format[_EXECgenTools,"PointToRefuel.sqf"]]], "1", "1"],
	["Flip Vehicle", [],"", -5, [["expression", format[_EXECgenTools,"flipvehicle.sqf"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Sub vehicle selection menu for permanent vehicles
VehiclekeyMenu =
[
["",true],
	["Neutral Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenuneutral.sqf"]]], "1", "1"],
	["Friendly Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenufriendly.sqf"]]], "1", "1"],
	["Hero Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenuhero.sqf"]]], "1", "1"],
	["Bandit Trader Menu", [],"", -5, [["expression", format[_EXECgenTools,"malveh\malvehiclemenubandit.sqf"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

//Main menu to handle humanity changing
HumanityMenu =
[
["",true],
	["Add Humanity to self or target", [],"", -5, [["expression", '["add"] execVM "admintools\tools\humanityChanger.sqf"']], "1", "1"],
	["Remove Humanity from self or target", [],"", -5, [["expression", '["remove"] execVM "admintools\tools\humanityChanger.sqf"']], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for teleport options
TeleportMenu =
[
["",true],
//	Example: ["Name",[],"", -5, [["expression", '[x,y,z] execVM "admintools\tools\Teleport\teleportToLocation.sqf"']], "1", "1"],
	["Teleport (F1)",[],"", -5,[["expression", format[_EXECgenTools,"Teleport\Teleport.sqf"]]], "1", "1"],
	["Teleport To Me (F2)",[],"", -5, [["expression", format[_EXECgenTools, "Teleport\TPtoME.sqf"]]], "1", "1"],
	["Teleport To Player (F3)",[],"", -5, [["expression", format[_EXECgenTools, "Teleport\TpToPlayer.sqf"]]], "1", "1"],
//	["Teleport To Starry",[],"", -5, [["expression", '[6325.6772,7807.7412,0] execVM "admintools\tools\Teleport\teleportToLocation.sqf"']], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu2 for changing skins.
AdminSkinsMenu =
[
["",true],
	// Entry Format:["Entry Name",[],"",-5,[["expression",'["Skin_class_name"] execVM "admintools\tools\skinChanger.sqf"']],"1","1"],
	["Survivor",[],"",-5,[["expression",format[_EXECskins,"Survivor2_DZ"]]],"1","1"],
	["Hero",[],"",-5,[["expression",format[_EXECskins,"Survivor3_DZ"]]],"1","1"],
	["Bandit",[],"",-5,[["expression",format[_EXECskins,"Bandit1_DZ"]]],"1","1"],
	["Soldier",[],"",-5,[["expression",format[_EXECskins,"Soldier1_DZ"]]],"1","1"],
	["Ghillie",[],"",-5,[["expression",format[_EXECskins,"Sniper1_DZ"]]],"1","1"],
	["Special Forces",[],"",-5,[["expression",format[_EXECskins,"CZ_Special_Forces_GL_DES_EP1_DZ"]]],"1","1"],
	["Pilot",[],"",-5,[["expression",format[_EXECskins,"Pilot_EP1_DZ"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Next page", [], "#USER:AdminSkinsMenu2", -5, [["expression", ""]], "1", "1"]
];

// Menu2 for changing skins.
AdminSkinsMenu2 =
[
["",true],
	["Camo",[],"",-5,[["expression",format[_EXECskins,"Camo1_DZ"]]],"1","1"],
	["Bodyguard",[],"",-5,[["expression",format[_EXECskins,"Soldier_Bodyguard_AA12_PMC_DZ"]]],"1","1"],
	["Officer",[],"",-5,[["expression",format[_EXECskins,"Rocket_DZ"]]],"1","1"],
	["Alejandria",[],"",-5,[["expression",format[_EXECskins,"SurvivorWcombat_DZ"]]],"1","1"],
	["Savannah",[],"",-5,[["expression",format[_EXECskins,"SurvivorWdesert_DZ"]]],"1","1"],
	["Melly",[],"",-5,[["expression",format[_EXECskins,"SurvivorWpink_DZ"]]],"1","1"],
	["Bandit Jane",[],"",-5,[["expression",format[_EXECskins,"BanditW2_DZ"]]],"1","1"],
	["Invisible",[],"",-5,[["expression",format[_EXECskins,"Survivor1_DZ"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Weapon menu select
WeaponMenu =[
["",true],
	["Primary Weapons Menu >>",[],"#USER:PrimaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
	["Secondary Weapons Menu >>",[],"#USER:SecondaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
	["Gear/Items Menu >>",[],"#USER:GearMenu", -5, [["expression", ""]], "1", "1"]
];

// Main weapons like the M4
PrimaryWeaponMenu =[
["",true],
	// Entry Format:["Name", [],"", -5, [["expression", format[_EXECweapons,"Gun_Calss_Name","Ammo_Class_Name","Explosive_Round_Class_Name"]]], "1", "1"],
	// If there is no explosive 203 round then put "nil" in place of "Explosive_Round_Class_Name" 
	["M4 Holo", [],"", -5, [["expression", format[_EXECweapons,"M4A1_HWS_GL","30Rnd_556x45_Stanag","1Rnd_HE_M203"]]], "1", "1"],
//	["M4 CCO SD", [],"", -5, [["expression", format[_EXECweapons,"M4A1_AIM_SD","30Rnd_556x45_StanagSD","nil"]]], "1", "1"],
	["M4A1 GL SD Camo", [],"", -5, [["expression", format[_EXECweapons,"M4A1_HWS_GL_SD_Camo","30Rnd_556x45_StanagSD","1Rnd_HE_M203"]]], "1", "1"],
	["Sa58V ACOG", [],"", -5, [["expression", format[_EXECweapons,"Sa58V_RCO_EP1","30Rnd_762x39_SA58","nil"]]], "1", "1"],
//	["M16 ACOG", [],"", -5, [["expression", format[_EXECweapons,"m16a4_acg","30Rnd_556x45_Stanag","nil"]]], "1", "1"],
	["Aks Kobra", [],"", -5, [["expression", format[_EXECweapons,"AKS_74_kobra","30Rnd_545x39_AK","nil"]]], "1", "1"],
	["FN FAL", [],"", -5, [["expression", format[_EXECweapons,"FN_FAL","20Rnd_762x51_FNFAL","nil"]]], "1", "1"],
//	["Pecheneg 50 cal", [],"", -5, [["expression", format[_EXECweapons,"Pecheneg_DZ","100Rnd_762x54_PK","nil"]]], "1", "1"],
	["Mk 48", [],"", -5, [["expression", format[_EXECweapons,"Mk_48_DES_EP1","100Rnd_762x51_M240","nil"]]], "1", "1"],
	["AS50", [],"", -5, [["expression", format[_EXECweapons,"BAF_AS50_scoped","5Rnd_127x99_AS50","nil"]]], "1", "1"],
	[".338 LAPUA", [],"", -5, [["expression", format[_EXECweapons,"BAF_LRR_scoped","5Rnd_86x70_L115A1","nil"]]], "1", "1"],
	["DMR", [],"", -5, [["expression", format[_EXECweapons,"DMR","20Rnd_762x51_DMR","nil"]]], "1", "1"],
//	["M14 Aim", [],"", -5, [["expression", format[_EXECweapons,"M14_EP1","20Rnd_762x51_DMR","nil"]]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Secondary Weapons", [], "#USER:SecondaryWeaponMenu", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Sidearm weapons like the Makarov
SecondaryWeaponMenu =[
["",true],
	["PDW SD", [],"", -5, [["expression", format[_EXECweapons,"UZI_SD_EP1","30Rnd_9x19_UZI_SD"]]], "1", "1"],
	["PDW", [],"", -5, [["expression", format[_EXECweapons,"UZI_EP1","30Rnd_9x19_UZI"]]], "1", "1"],
	["Glock", [],"", -5, [["expression", format[_EXECweapons,"glock17_EP1","17Rnd_9x19_glock17"]]], "1", "1"],
	["M9 SD", [],"", -5, [["expression", format[_EXECweapons,"M9SD","15Rnd_9x19_M9SD"]]], "1", "1"],
	["Makarov", [],"", -5, [["expression", format[_EXECweapons,"Makarov","8Rnd_9x18_Makarov"]]], "1", "1"],
	["Makarov SD", [],"", -5, [["expression", format[_EXECweapons,"MakarovSD","8Rnd_9x18_Makarov"]]], "1", "1"],
		["Gear/Items", [], "#USER:GearMenu", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for spawning items to the admin like bags and tools
GearMenu=[
["",true],
	["ToolBelt gear", [],"", -5, [["expression", format[_EXECgear,"toolBeltItems.sqf"]]], "1", "1"],
	["Medical gear", [],"", -5, [["expression", format[_EXECgear,"medical.sqf"]]], "1", "1"],
	["Alice Pack", [],"", -5, [["expression", format[_EXECbackpacks,"DZ_ALICE_Pack_EP1"]]], "1", "1"],
	["Large Gun Bag", [],"", -5, [["expression", format[_EXECbackpacks,"DZ_LargeGunBag_EP1"]]], "1", "1"],
	["Delete all gear", [],"", -5, [["expression", format[_EXECgear,"removeGear.sqf"]]], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Main crate menu
CrateMenu =[
["",true],
	["Private Crate Menu >>",[],"#USER:CrateMenuPrivate", -5, [["expression", ""]], "1", "1"],
	["Public Crate Menu >>",[],"#USER:CrateMenuPublic", -5, [["expression", ""]], "1", "1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// This menu creates a local (private) crate of items that ONLY the user can see
CrateMenuPrivate=[
	["",true],
	// Entry Format: ["name",[],"",-5,[["expression",format[_EXECcrates,"local","fileNAME.sqf"]]],"1","1"],
	["-- Private Crates --", [], "", -5, [["expression", ""]], "1", "0"],
	["Weapons Crate",[],"",-5,[["expression",format[_EXECcrates,"local","weapons.sqf"]]],"1","1"],
	["Items Crate",[],"",-5,[["expression",format[_EXECcrates,"local","items.sqf"]]],"1","1"],
	["ALL Weapons/Items Crate",[],"",-5,[["expression",format[_EXECcrates,"local","allweapons.sqf"]]],"1","1"],
	["Building Crate",[],"",-5,[["expression",format[_EXECcrates,"local","building.sqf"]]],"1","1"],
	["Backpack Tent",[],"",-5,[["expression",format[_EXECcrates,"local","backpack.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Public Crates >>", [], "#USER:CrateMenuPublic", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// This menu creates a global (public) crate of items that EVERYONE can see
CrateMenuPublic=[
	["",true],
	// Entry Format: ["name",[],"",-5,[["expression",format[_EXECcrates,"global","fileNAME.sqf"]]],"1","1"],
	["-- Public Crates --", [], "", -5, [["expression", ""]], "1", "0"],
	["Weapons Crate",[],"",-5,[["expression",format[_EXECcrates,"global","weapons.sqf"]]],"1","1"],
	["Items Crate",[],"",-5,[["expression",format[_EXECcrates,"global","items.sqf"]]],"1","1"],
	["ALL Weapons/Items Crate",[],"",-5,[["expression",format[_EXECcrates,"global","allweapons.sqf"]]],"1","1"],
	["Building Crate",[],"",-5,[["expression",format[_EXECcrates,"global","building.sqf"]]],"1","1"],
	["Backpack Tent",[],"",-5,[["expression",format[_EXECcrates,"global","backpack.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Private Crates >>", [], "#USER:CrateMenuPrivate", -5, [["expression", ""]], "1", "1"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu for changing time and weather
// These are set every other hour to keep the menu short
WTMenu=[
	["",true],
	["Day Menu >>",[],"#USER:DayMenu",-5,[["expression",""]], "1", "1"],
	["Full-Moon Nights Menu >>",[],"#USER:FullMoonNights",-5,[["expression",""]], "1", "1"],
	["No-Moon Nights Menu >>",[],"#USER:NoMoonNights",-5,[["expression",""]], "1", "1"],
	["Weather Menu >>",[],"#USER:WeatherMenu",-5,[["expression",""]], "1", "1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

NoMoonNights = [
	["",true],
	["No moon night:", [], "", -5, [["expression", ""]], "1", "0"],
	["8pm",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 20]]],"1","1"],
	["10pm",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 22]]],"1","1"],
	["Midnight",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 0]]],"1","1"],
	["2am",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 2]]],"1","1"],
	["4am",[],"",-5,[["expression",format[_EXECdate,2012, 6, 19, 4]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

FullMoonNights = [
	["",true],
	["Full moon night:", [], "", -5, [["expression", ""]], "1", "0"],
	["8pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,20]]],"1","1"],
	["10pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,22]]],"1","1"],
	["Midnight",[],"",-5,[["expression",format[_EXECdate,2012,6,4,4]]],"1","1"],
	["2am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,2]]],"1","1"],
	["4am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,4]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

DayMenu = [
	["",true],
	["Set Day Time:", [], "", -5, [["expression", ""]], "1", "0"],
	["5am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,5]]],"1","1"],
	["7am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,7]]],"1","1"],
	["9am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,9]]],"1","1"],
	["11am",[],"",-5,[["expression",format[_EXECdate,2012,6,4,11]]],"1","1"],
	["Noon",[],"",-5,[["expression",format[_EXECdate,2012,6,4,12]]],"1","1"],
	["1pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,13]]],"1","1"],
	["3pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,15]]],"1","1"],
	["5pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,17]]],"1","1"],
	["7pm",[],"",-5,[["expression",format[_EXECdate,2012,6,4,19]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

WeatherMenu = [
	["",true],
	["Set Weather:",[],"",-5,[["expression",""]],"1","0"],
	["Clear Sky",[],"",-5,[["expression",format[_EXECcloud,0]]],"1","1"],
	["Slightly Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.25]]],"1","1"],
	["Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.5]]],"1","1"],
	["Very Cloudy",[],"",-5,[["expression",format[_EXECcloud,0.75]]],"1","1"],
	["Storm",[],"",-5,[["expression",format[_EXECcloud,1]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
	["Set Fog:", [], "", -5, [["expression", ""]], "1", "0"],
	["Off",[],"",-5,[["expression",format[_EXECfog,0]]],"1","1"],
	["Thin",[],"",-5,[["expression",format[_EXECfog,0.25]]],"1","1"],
	["Medium",[],"",-5,[["expression",format[_EXECfog,0.5]]],"1","1"],
	["Thick",[],"",-5,[["expression",format[_EXECfog,0.75]]],"1","1"],
	["Maximum",[],"",-5,[["expression",format[_EXECfog,1]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];
// Menu that deals with epoch specific items like locks and safes
EpochMenu=[
	["",true],
	["Admin Build Menu >> ",[],"#USER:BuildMenu", -5,[["expression",""]],"1","1"],
	["Base Manager Menu >>", [], "", -5, [["expression",format[_EXECgenTools,"base_manager.sqf"]]], "1", "1"],
	["Point to Delete Item",[],"", -5,[["expression",format[_EXECgenTools,"DatabaseRemove.sqf"]]],"1","1"],
	["Point to display code",[],"",-5,[["expression",format[_EXECgenTools,"gimmecode.sqf"]]],"1","1"],
	["Point to make new key",[],"",-5,[["expression",format[_EXECgenTools,"givekey.sqf"]]],"1","1"],
	["Point to lock object",[],"",-5,[["expression",format[_EXECgenTools,"PointToLock.sqf"]]],"1","1"],
	["Point to unlock object",[],"",-5,[["expression",format[_EXECgenTools,"PointToUnlock.sqf"]]],"1","1"],
		["", [], "", -5, [["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Base menu for Admin Build functions
BuildMenu =
[
["",true],
	["Rebuild last item",[],"", -5,[["expression",format[_EXECadminBuild,"rebuild"]]],"1","1"],
	["Building GUI", [],"", -5, [["expression", format[_EXECbuildings,"buildingsDialog.sqf"]]], "1", "1"],
	["Base Materials >>",[],"#USER:BaseItems", -5,[["expression",""]],"1","1"],
	["Storage >>",[],"#USER:BuildStorage", -5,[["expression",""]],"1","1"],
	["Netting >>",[],"#USER:BuildNetting", -5,[["expression",""]],"1","1"],
	["Sandbags >>",[],"#USER:BuildSandbag", -5,[["expression",""]],"1","1"],
	["Extras >>",[],"#USER:BuildExtras", -5,[["expression",""]],"1","1"],
	["Point To Upgrade",[],"", -5,[["expression",format[_EXECbuildings,"pointToUpgrade.sqf"]]],"1","1"],
	["Point To Downgrade",[],"", -5,[["expression",format[_EXECbuildings,"pointToDowngrade.sqf"]]],"1","1"],
	["Maintain Base",[],"", -5,[["expression",format[_EXECbuildings,"maintainArea.sqf"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Standard base building epoch items
BaseItems =
[
["",true],
	["Cinder >>",[],"#USER:BuildablesCinder", -5,[["expression",""]],"1","1"],
	["Wood >>",[],"#USER:BuildablesWood", -5,[["expression",""]],"1","1"],
	["Other >>",[],"#USER:BuildablesOther", -5,[["expression",""]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Wood epoch base items
BuildablesWood = [
["",true],
	["Floor (Full)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloor_DZ"]]],"1","1"],
	["Floor (1/2)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloorHalf_DZ"]]],"1","1"],
	["Floor (1/4)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodFloorQuarter_DZ"]]],"1","1"],
	["Wall (Large)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWall_DZ"]]],"1","1"],
	["Wall (Small)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWall_DZ"]]],"1","1"],
	["Wall (1/3)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallThird_DZ"]]],"1","1"],
	["Wall /w Window (Large)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWallWin_DZ"]]],"1","1"],
	["Wall /w Window (Small)",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallWin_DZ"]]],"1","1"],
	["Garage Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLargeWallDoor_DZ"]]],"1","1"],
	["Normal Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"WoodSmallWallDoor_DZ"]]],"1","1"],
	["Stairs",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairsSans_DZ"]]],"1","1"],
	["Stairs /w Rails",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairsRails_DZ"]]],"1","1"],
	["Stairs /w Stilts",[],"", -5,[["expression",format[_EXECadminBuild,"WoodStairs_DZ"]]],"1","1"],
	["Ramp",[],"", -5,[["expression",format[_EXECadminBuild,"WoodRamp_DZ"]]],"1","1"],
	["Ladder",[],"", -5,[["expression",format[_EXECadminBuild,"WoodLadder_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Cinder epoch base items
BuildablesCinder = [
["",true],
	["Wall (Full)",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWall_DZ"]]],"1","1"],
	["Wall (Half)",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallHalf_DZ"]]],"1","1"],
	["Garage Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallDoorway_DZ"]]],"1","1"],
	["Normal Doorway",[],"", -5,[["expression",format[_EXECadminBuild,"CinderWallSmallDoorway_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Anything that does not fit into the BaseItems categories
BuildablesOther = [
["",true],
	["Metal Floor",[],"", -5,[["expression",format[_EXECadminBuild,"MetalFloor_DZ"]]],"1","1"],
	["Metal Panel",[],"", -5,[["expression",format[_EXECadminBuild,"MetalPanel_DZ"]]],"1","1"],
	["Tank Trap",[],"", -5,[["expression",format[_EXECadminBuild,"Hedgehog_DZ"]]],"1","1"],
	["Wire Fence",[],"", -5,[["expression",format[_EXECadminBuild,"Fort_RazorWire"]]],"1","1"],
	["Plot Pole",[],"", -5,[["expression",format[_EXECadminBuild,"Plastic_Pole_EP1_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Storage items for base
BuildStorage =
[
["",true],
	["Wooden Shed",[],"", -5,[["expression",format[_EXECadminBuild,"Wooden_shed_DZ"]]],"1","1"],
	["Wooden Shack",[],"", -5,[["expression",format[_EXECadminBuild,"WoodShack_DZ"]]],"1","1"],
	["Storage Shed",[],"", -5,[["expression",format[_EXECadminBuild,"StorageShed_DZ"]]],"1","1"],
	["Wood Crate",[],"", -5,[["expression",format[_EXECadminBuild,"WoodCrate_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Any buildable dealing with sand bags
BuildSandbag =
[
["",true],
	["Sandbag Fence",[],"", -5,[["expression",format[_EXECadminBuild,"Sandbag1_DZ"]]],"1","1"],
	["Sandbag Fence (round)",[],"", -5,[["expression",format[_EXECadminBuild,"BagFenceRound_DZ"]]],"1","1"],
	["H-barrier Cube",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier1_DZ"]]],"1","1"],
	["H-barrier (short)",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier3_DZ"]]],"1","1"],
	["H-barrier (long)",[],"", -5,[["expression",format[_EXECadminBuild,"Land_HBarrier5_DZ"]]],"1","1"],
	["H-Barrier (Huge)",[],"", -5,[["expression",format[_EXECadminBuild,"Base_WarfareBBarrier10xTall","building"]]],"1","1"],
	["Sandbag Nest",[],"", -5,[["expression",format[_EXECadminBuild,"SandNest_DZ"]]],"1","1"],
	["M240 Nest",[],"", -5,[["expression",format[_EXECadminBuild,"M240Nest_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Cloth nets/huts
BuildNetting =
[
["",true],
	["Camo Net (Desert)",[],"", -5,[["expression",format[_EXECadminBuild,"DesertCamoNet_DZ"]]],"1","1"],
	["Camo Net (Forest)",[],"", -5,[["expression",format[_EXECadminBuild,"ForestCamoNet_DZ"]]],"1","1"],
	["Camo Net Large (Desert)",[],"", -5,[["expression",format[_EXECadminBuild,"DesertLargeCamoNet_DZ"]]],"1","1"],
	["Camo Net Large (Forest)",[],"", -5,[["expression",format[_EXECadminBuild,"ForestLargeCamoNet_DZ"]]],"1","1"],
	["Canvas Hut",[],"", -5,[["expression",format[_EXECadminBuild,"CanvasHut_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Anything that does not fall into the other categories
BuildExtras =
[
["",true],
	["Fire Barrel",[],"", -5,[["expression",format[_EXECadminBuild,"FireBarrel_DZ"]]],"1","1"],
	["Workbench",[],"", -5,[["expression",format[_EXECadminBuild,"WorkBench_DZ"]]],"1","1"],
	["Generator",[],"", -5,[["expression",format[_EXECadminBuild,"Generator_DZ"]]],"1","1"],
	["Fuel Pump",[],"", -5,[["expression",format[_EXECadminBuild,"FuelPump_DZ"]]],"1","1"],
	["Deer Stand",[],"", -5,[["expression",format[_EXECadminBuild,"DeerStand_DZ"]]],"1","1"],
	["Park Bench",[],"", -5,[["expression",format[_EXECadminBuild,"ParkBench_DZ"]]],"1","1"],
	["", [], "", -5,[["expression", ""]], "1", "0"],
		["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu that spawns TEMPORARY air vehicles
VehicleTempMenu=
[
["",true],
	["Spawn Temporary Vehicle -- AIR",[],"",-5,[["expression",""]],"1","0"],
	["MH-6J Little Bird",[],"",-5,[["expression",format[_EXECtempVeh,"MH6J_EP1"]]],"1","1"],
	["UH-60M Black Hawk",[],"",-5,[["expression",format[_EXECtempVeh,"UH60M_EP1"]]],"1","1"],
	["CH-47F Chinook",[],"",-5,[["expression",format[_EXECtempVeh,"CH_47F_EP1"]]],"1","1"],
	["MV-22 Osprey",[],"",-5,[["expression",format[_EXECtempVeh,"MV22"]]],"1","1"],
	["A-10 Jet",[],"",-5,[["expression",format[_EXECtempVeh,"A10"]]],"1","1"],
	["C-130J Super Hercules",[],"",-5,[["expression",format[_EXECtempVeh,"C130J"]]],"1","1"],
	["",[],"",-5,[["expression",""]],"1","0"],
		["Next page",[],"#USER:VehicleTempMenu2",-5,[["expression",""]],"1","1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu2 that spawns TEMPORARY wheeled vehicles
VehicleTempMenu2 =
[
["",true],
	["Spawn Temporary Vehicle -- WHEELED",[],"",-5,[["expression",""]],"1","0"],
	["SUV (Camo)",[],"",-5,[["expression",format[_EXECtempVeh,"SUV_Camo"]]],"1","1"],
	["Armored SUV",[],"",-5,[["expression",format[_EXECtempVeh,"ArmoredSUV_PMC_DZE"]]],"1","1"],
	["MTVR (Fuel)",[],"",-5,[["expression",format[_EXECtempVeh,"MTVR_Refuel_DES_EP1"]]],"1","1"],
	["Ural Truck",[],"",-5,[["expression",format[_EXECtempVeh,"Ural_TK_CIV_EP1"]]],"1","1"],
	["Ikarus Bus",[],"",-5,[["expression",format[_EXECtempVeh,"Ikarus_TK_CIV_EP1"]]],"1","1"],
	["Mountain Bike",[],"",-5,[["expression",format[_EXECtempVeh,"MMT_USMC"]]],"1","1"],
	["Motorcycle",[],"",-5,[["expression",format[_EXECtempVeh,"M1030"]]],"1","1"],
	["ATV",[],"",-5,[["expression",format[_EXECtempVeh,"ATV_US_EP1"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		["Next page", [], "#USER:VehicleTempMenu3", -5, [["expression", ""]], "1", "1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

// Menu that spawns TEMPORARY vehicles with treads (tanks)
VehicleTempMenu3 =
[
["",true],
	["Spawn Temporary Vehicle -- TRACKED",[],"",-5,[["expression",""]],"1","0"],
	["M1A1",[],"",-5,[["expression",format[_EXECtempVeh,"M1A1_US_DES_EP1"]]],"1","1"],
	["M1A2 TUSK",[],"",-5,[["expression",format[_EXECtempVeh,"M1A2_US_TUSK_MG_EP1"]]],"1","1"],
	["M270 MLRS",[],"",-5,[["expression",format[_EXECtempVeh,"MLRS_DES_EP1"]]],"1","1"],
	["T-34",[],"",-5,[["expression",format[_EXECtempVeh,"T34_TK_EP1"]]],"1","1"],
	["", [], "", -5, [["expression", ""]], "1", "0"],
		//["Next page", [], "#USER:VehicleTempMenu4", -5, [["expression", ""]], "1", "1"],
			["Main Menu", [20], "#USER:epochmenustart", -5, [["expression", ""]], "1", "1"]
];

showCommandingMenu "#USER:epochmenustart";

 

Can anyone confirm this? It will be added if I can get one or two confirmations.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...