# Configuring Your Net2+

In 

Welcome to customization heaven. (#2)


Your Paxton configuration module, found under each Net2+ door DWProx Net2+ -> PaxtonSettings, is structured as follows:

--[[        ____ _       ______                 
 		   / __ \ |     / / __ \_________  _  __
 		  / / / / | /| / / /_/ / ___/ __ \| |/_/
		 / /_/ /| |/ |/ / ____/ /  / /_/ />  <  
		/_____/ |__/|__/_/   /_/   \____/_/|_|  
		Made By DuckyProductions And Whitehill ET
			   ___           _              
			  / _ \__ ___  _| |_ ___  _ __  
			 / /_)/ _` \ \/ / __/ _ \| '_ \ 
			/ ___/ (_| |>  <| || (_) | | | |
			\/    \__,_/_/\_\\__\___/|_| |_|
			              			Net2+	
			              			
]]--

local Settings = {

	-- / General Settings / --
	["OpenTime"] = 10,

	["Accepted"] = function (): ()
		script.Parent.Parent:WaitForChild("DoorUnlockingAPIThings"):Fire("Open")
	end,
	["Return"] = function (): ()
		script.Parent.Parent:WaitForChild("DoorUnlockingAPIThings"):Fire("Close")
	end,
	["Denied"] = function (): ()
		return false
	end,

	-- / Webhook Settings / --
	["LogCorrectScans"] = false,
	["LogIncorrectScans"] = false,
	["LogButtonPresses"] = false,
	["LogDoorReleases"] = false,

	["GameLogo"] = "",
	["DoorName"] = "",

	-- / Global API Settings / --
	["GAPI-Lock"] = true,
	["GAPI-Fire"] = true,
	["GAPI-Open"] = true,
	["GAPI-Hold"] = true,
	["GAPI-ResetReleases"] = true,

	-- / Expanse Integration / --
	["ExpanseEnabled"] = true,
	["ExpanseLocation"] = script.ExpanseIntegration.Value,
	["ExpanseInterfaceID"] = 1,

	["DisableConsoleOutputs"] = false,

	["CabinetMaximumAngle"] = -120,

	-- / Whitelist Settings / -- 
	["AuthorisedPeople"] = {
		112672616, -- AlexG_1337
		199830788, -- Coco_Beagle
	}, 
	["AuthorisedGroups"] = {
		["5203509"] = {255}, -- DuckyProductions
		["5150453"] = {255, 254, 253}, -- Whitehill
	},
	-----------------------------------------------------------------
	["CabinetAuthorisedPeople"] = {
		112672616, -- AlexG_1337
		199830788, -- Coco_Beagle
	}, 
	["CabinetAuthorisedGroups"] = {
		["5203509"] = {255}, -- DuckyProductions
		["5150453"] = {255, 254, 253}, -- Whitehill
	},
	["DisableCabinetWhitelist"] = false,
	-----------------------------------------------------------------
	["DoorReleaseAuthorisedPeople"] = {
		112672616, -- AlexG_1337
		199830788, -- Coco_Beagle
	},
	["DoorReleaseAuthorisedGroups"] = {
		["5203509"] = {255}, -- DuckyProductions
		["5150453"] = {255, 254, 253}, -- Whitehill
	},
	-----------------------------------------------------------------
	["DoorBellAuthorisedPeople"] = {
		112672616, -- AlexG_1337
		199830788, -- Coco_Beagle
	},
	["DoorBellAuthorisedGroups"] = {
		["5203509"] = {255}, -- DuckyProductions
		["5150453"] = {255, 254, 253}, -- Whitehill
	},
	-----------------------------------------------------------------
}
return Settings

# General Settings

# OpenTime

For how long the door should stay open after accepting a card.


Example:

["OpenTime"] = 20

# Accepted

A custom function to run after accepting a card. Passing either the Card ID (number) or Card Function (string) as the first argument.


Example:

["Accepted"] = function (): ()
    script.Parent.Parent:WaitForChild("DoorUnlockingAPIThings"):Fire("Open")
end

# Return

A custom function to run after OpenTime has passed.


Example:

["Return"] = function (): ()
    script.Parent.Parent:WaitForChild("DoorUnlockingAPIThings"):Fire("Close")
end

# Denied

A custom function to run after denying a card.


Example:

["Denied"] = function (): ()
    return false
end

# Webhook Settings

# LogCorrectScans

Should Net2+ log correct scans.


Example:

["LogCorrectScans"] = false

# LogIncorrectScans

Should Net2+ log incorrect scans.


Example:

["LogIncorrectScans"] = false

# LogButtonPresses

Should Net2+ log button presses.


Example:

["LogButtonPresses"] = false

# LogDoorReleases

Should Net2+ log emergency door releases.


Example:

["LogDoorReleases"] = false

Image URL, not a Roblox Image ID, for the webhook to use.


Example:

["GameLogo"] = "https://example.com/some/path/to/image.png"

# DoorName

Door name for the webhook to use.


Example:

["DoorName"] = "Main Entrace Door"

# Global API Settings

# GAPI-Lock

Should the doors listen to Global API Lock requests?


Example:

["GAPI-Lock"] = false

# GAPI-Fire

Should the doors listen to Global API Fire requests?


Example:

["GAPI-Fire"] = false

# GAPI-Open

Should the doors listen to Global API Open requests?


Example:

["GAPI-Open"] = false

# GAPI-Hold

Should the doors listen to Global API Hold requests?


Example:

["GAPI-Hold"] = false

# GAPI-ResetReleases

Should the doors listen to Global API Reset Releases requests?


Example:

["GAPI-ResetReleases"] = false

# Expanse Integration Settings

# ExpanseEnabled

Should Expanse be used?


Example:

["ExpanseEnabled"] = false

# ExpanseLocation

Location of the Ae Expanse Folder.


Example:

["ExpanseLocation"] = script.ExpanseIntegration.Value

# ExpanseInterfaceID

The Expanse Interface ID to listen to.


Example:

["ExpanseInterfaceID"] = 1

# Miscellaneous Settings

# DisableConsoleOutputs

Whether to disable all console outputs from Net2+ or not.


Example:

["DisableConsoleOutputs"] = false

# CabinetMaximumAngle

How far the Paxton cabinet opens, in degrees.


Example:

["CabinetMaximumAngle"] = -120

# Whitelist Settings

# AuthorisedPeople

A table of Roblox User IDs that are whitelisted to use the readers/exit buttons when whitelist is enabled.


Example:

["AuthorisedPeople"] = {
	112672616, -- AlexG_1337
	199830788, -- Coco_Beagle
	9109291923, -- roaxcean
} 

# AuthorisedGroups

A dictionary of Roblox Community IDs holding Rank IDs that are whitelisted to use the readers/exit buttons when whitelist is enabled.


Example:

["AuthorisedGroups"] = {
	["5203509"] = {255}, -- DuckyProductions
	["5150453"] = {255, 254, 253}, -- Whitehill
}

# CabinetAuthorisedPeople

A table of Roblox User IDs that are whitelisted to open the Paxton cabinet.


Example:

["CabinetAuthorisedPeople"] = {
	112672616, -- AlexG_1337
	199830788, -- Coco_Beagle
	9109291923, -- roaxcean
} 

# CabinetAuthorisedGroups

A dictionary of Roblox Community IDs holding Rank IDs that are whitelisted to open the Paxton cabinet.


Example:

["CabinetAuthorisedGroups"] = {
	["5203509"] = {255}, -- DuckyProductions
	["5150453"] = {255, 254, 253}, -- Whitehill
}

# DisableCabinetWhitelist

Whether to disable the Paxton cabinet whitelist.


Example:

["DisableConsoleOutputs"] = false

# DoorReleaseAuthorisedPeople

A table of Roblox User IDs that are whitelisted to press the door release button.


Example:

["DoorReleaseAuthorisedPeople"] = {
	112672616, -- AlexG_1337
	199830788, -- Coco_Beagle
	9109291923, -- roaxcean
} 

# DoorReleaseAuthorisedGroups

A dictionary of Roblox Community IDs holding Rank IDs that are whitelisted to press the door release button.


Example:

["DoorReleaseAuthorisedGroups"] = {
	["5203509"] = {255}, -- DuckyProductions
	["5150453"] = {255, 254, 253}, -- Whitehill
}

# DoorBellAuthorisedPeople

A table of Roblox User IDs that are whitelisted to ring the doorbells.


Example:

["DoorBellAuthorisedPeople"] = {
	112672616, -- AlexG_1337
	199830788, -- Coco_Beagle
	9109291923, -- roaxcean
} 

# DoorBellAuthorisedGroups

A dictionary of Roblox Community IDs holding Rank IDs that are whitelisted to ring the doorbells.


Example:

["DoorBellAuthorisedGroups"] = {
	["5203509"] = {255}, -- DuckyProductions
	["5150453"] = {255, 254, 253}, -- Whitehill
}