### Basic Exiled Installation with Pre-releases Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/linux.md This example demonstrates how to run the Exiled installer from the current directory, including pre-release versions. It's a simple command for a quick installation without specifying paths or versions. ```powershell .\Exiled.Installer-Linux --pre-releases ``` -------------------------------- ### Exiled.Installer Command-Line Options Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/linux.md This section details the available command-line options for the Exiled.Installer, including required parameters like server path and AppData folder, and optional flags for pre-releases, target version, GitHub token, and help information. It serves as a reference for configuring the installation process. ```APIDOC Usage: Exiled.Installer [options] [[--] ...]] Options: -p, --path (REQUIRED) Path to the folder with the SL server [default: YourWorkingFolder] --appdata (REQUIRED) Forces the folder to be the AppData folder (useful for containers when pterodactyl runs as root) [default: YourAppDataPath] --pre-releases Includes pre-releases [default: False] --target-version Target version for installation --github--token Uses a token for auth in case the rate limit is exceeded (no permissions required) --exit Automatically exits the application anyway --get-versions Gets all possible versions for installation --version Show version information -?, -h, --help Show help and usage information Additional Arguments: Arguments passed to the application that is being run. ``` -------------------------------- ### Basic Exiled.Installer PowerShell Usage Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/windows.md Demonstrates how to run the Exiled.Installer-Win.exe from PowerShell in the current directory. This example includes the '--pre-releases' flag to allow installation of pre-release versions. ```powershell .\Exiled.Installer-Win --pre-releases ``` -------------------------------- ### Exiled.Installer Command-Line Usage and Options Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/Exiled.Installer/README.md This snippet details the command-line interface for Exiled.Installer, outlining various options such as specifying installation paths, AppData folders, Exiled root directories, including pre-releases, targeting specific versions, using GitHub tokens for authentication, and retrieving version information. ```Shell Usage: Exiled.Installer [options] [[--] ...] Options: -p, --path (REQUIRED) Path to the folder with the SL server [default: YourWorkingFolder] --appdata (REQUIRED) Forces the folder to be the AppData folder (useful for containers when pterodactyl runs as root) [default: YourAppDataPath] --exiled (REQUIRED) Indicates the Exiled root folder [default: YourAppDataPath] --pre-releases Includes pre-releases [default: False] --target-version Target version for installation --github--token Uses a token for auth in case the rate limit is exceeded (no permissions required) --exit Automatically exits the application anyway --get-versions Gets all possible versions for installation --version Show version information -?, -h, --help Show help and usage information Additional Arguments: Arguments passed to the application that is being run. ``` -------------------------------- ### Install Exiled Mod with Pre-releases in Current Directory (Linux) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/Exiled.Installer/README.md This command demonstrates a basic installation of the Exiled mod on Linux. It uses the `--pre-releases` flag to include pre-release versions and installs the mod into the default application data and Exiled folders, typically within the current working directory or user's home directory. ```Bash user@user:~/SCP# ./Exiled.Installer-Linux --pre-releases Exiled.Installer-Linux-3.2.3.0 AppData folder: YourAppDataPath Exiled folder: YourAppDataPath Receiving releases... Prereleases included - True Target release version - (null) Searching for the latest release that matches the parameters... Trying to find release.. Release found! PRE: True | ID: 87710626 | TAG: 6.0.0-beta.18 Asset found! ID: 90263995 | NAME: Exiled.tar.gz | SIZE: 1027928 | URL: https://api.github.com/repos/ExSLMod-Team/Exiled-EA/releases/assets/90263995 | DownloadURL: https://github.com/ExSLMod-Team/Exiled-EA/releases/download/6.0.0-beta.18/Exiled.tar.gz Processing 'EXILED/Plugins/dependencies/0Harmony.dll' Extracting '0Harmony.dll' into 'YourAppDataPath/EXILED/Plugins/dependencies/0Harmony.dll'... Processing 'EXILED/Plugins/dependencies/Exiled.API.dll' Extracting 'Exiled.API.dll' into 'YourAppDataPath/EXILED/Plugins/dependencies/Exiled.API.dll'... Processing 'EXILED/Plugins/dependencies/SemanticVersioning.dll' Extracting 'SemanticVersioning.dll' into 'YourAppDataPath/EXILED/Plugins/dependencies/SemanticVersioning.dll'... Processing 'EXILED/Plugins/dependencies/YamlDotNet.dll' Extracting 'YamlDotNet.dll' into 'YourAppDataPath/EXILED/Plugins/dependencies/YamlDotNet.dll'... Processing 'EXILED/Plugins/Exiled.CreditTags.dll' Extracting 'Exiled.CreditTags.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.CreditTags.dll'... Processing 'EXILED/Plugins/Exiled.CustomItems.dll' Extracting 'Exiled.CustomItems.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.CustomItems.dll'... Processing 'EXILED/Plugins/Exiled.CustomRoles.dll' Extracting 'Exiled.CustomRoles.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.CustomRoles.dll'... Processing 'EXILED/Plugins/Exiled.Events.dll' Extracting 'Exiled.Events.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.Events.dll'... Processing 'EXILED/Plugins/Exiled.Permissions.dll' Extracting 'Exiled.Permissions.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.Permissions.dll'... Processing 'EXILED/Plugins/Exiled.Updater.dll' Extracting 'Exiled.Updater.dll' into 'YourAppDataPath/EXILED/Plugins/Exiled.Updater.dll'... Processing 'SCP Secret Laboratory/PluginAPI/plugins/7777/dependencies/Exiled.API.dll' Extracting 'Exiled.API.dll' into 'YourAppDataPath/SCP Secret Laboratory/PluginAPI/plugins/7777/dependencies/Exiled.API.dll'... Processing 'SCP Secret Laboratory/PluginAPI/plugins/7777/dependencies/YamlDotNet.dll' Extracting 'YamlDotNet.dll' into 'YourAppDataPath/SCP Secret Laboratory/PluginAPI/plugins/7777/dependencies/YamlDotNet.dll'... Processing 'SCP Secret Laboratory/PluginAPI/plugins/7777/Exiled.Loader.dll' Extracting 'Exiled.Loader.dll' into 'YourAppDataPath/SCP Secret Laboratory/PluginAPI/plugins/7777/Exiled.Loader.dll'... Installation complete ``` -------------------------------- ### Exiled.Installer PowerShell Installation with Specific Paths and Version Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/windows.md Illustrates a more advanced PowerShell command to install Exiled using Exiled.Installer-Win.exe. This example specifies a custom server directory path, an AppData folder, and a precise target version for the installation. ```powershell .\Exiled.Installer-Win -p D:\Games\SCPSL\Server --appdata C --target-version 2.0.8 ``` -------------------------------- ### Exiled Installation in Specific Folder and Version Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/linux.md This example shows how to install Exiled to a specified server directory and AppData path, targeting a particular version. It's useful for controlled deployments in specific environments or containers. ```powershell .\Exiled.Installer-Linux -p /home/user/scpsl/server --appdata /home/user/scpsl --target-version 2.0.8 ``` -------------------------------- ### Enum Definition: ExampleId (SSLightSpawnerExample) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the ExampleId enumeration, located at UserSettings.ServerSpecific.Examples.SSLightSpawnerExample+ExampleId, listing example IDs for server-specific light spawner settings. ```APIDOC [0] = IntensitySlider [1] = RangeSlider [2] = ColorPresetDropdown [3] = CustomColor [4] = ColorInfo [5] = ShadowType [6] = ShadowStrength [7] = LightType [8] = LightShape [9] = SpotAngle [10] = InnerSpotAngle [11] = ConfirmButton [12] = DestroyAllButton ``` -------------------------------- ### Exiled.Installer Command-Line Usage Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/installation/automatic/windows.md Displays the available command-line options and arguments for the Exiled.Installer-Win.exe. This includes required parameters for server and AppData paths, optional flags for pre-releases, target versions, GitHub tokens, and help information. ```cli Usage: Exiled.Installer [options] [[--] ...]] Options: -p, --path (REQUIRED) Path to the folder with the SL server [default: YourWorkingFolder] --appdata (REQUIRED) Forces the folder to be the AppData folder (useful for containers when pterodactyl runs as root) [default: YourAppDataPath] --pre-releases Includes pre-releases [default: False] --target-version Target version for installation --github--token Uses a token for auth in case the rate limit is exceeded (no permissions required) --exit Automatically exits the application anyway --get-versions Gets all possible versions for installation --version Show version information -?, -h, --help Show help and usage information Additional Arguments: Arguments passed to the application that is being run. ``` -------------------------------- ### Enum Definition: ExampleId (SSAbilitiesExample) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the ExampleId enumeration, located at UserSettings.ServerSpecific.Examples.SSAbilitiesExample+ExampleId, listing example IDs for server-specific abilities. ```APIDOC [0] = SpeedBoostKey [1] = SpeedBoostToggle [2] = HealAlly ``` -------------------------------- ### Install Exiled Mod with Custom Paths (Linux) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/Exiled.Installer/README.md This command shows how to install the Exiled mod into specific directories. The `--appdata` flag specifies the custom path for application data, and the `--exiled` flag sets the custom path for the Exiled mod files, allowing for more controlled deployment. ```Bash user@user:~/SCP# ./Exiled.Installer-Linux --appdata /user/SCP --exiled /user/SCP Exiled.Installer-Linux-3.2.3.0 AppData folder: /user/SCP Exiled folder: /user/SCP Receiving releases... Prereleases included - False Target release version - (null) Searching for the latest release that matches the parameters... Trying to find release.. Release found! PRE: False | ID: 87710626 | TAG: 6.0.0-beta.18 Asset found! ID: 90263995 | NAME: Exiled.tar.gz | SIZE: 1027928 | URL: https://api.github.com/repos/ExSLMod-Team/Exiled-EA/releases/assets/90263995 | DownloadURL: https://github.com/ExSLMod-Team/Exiled-EA/releases/download/6.0.0-beta.18/Exiled.tar.gz Processing 'EXILED/Plugins/dependencies/0Harmony.dll' Extracting '0Harmony.dll' into '/user/SCP/EXILED/Plugins/dependencies/0Harmony.dll'... Processing 'EXILED/Plugins/dependencies/Exiled.API.dll' Extracting 'Exiled.API.dll' into '/user/SCP/EXILED/Plugins/dependencies/Exiled.API.dll'... Processing 'EXILED/Plugins/dependencies/SemanticVersioning.dll' Extracting 'SemanticVersioning.dll' into '/user/SCP/EXILED/Plugins/dependencies/SemanticVersioning.dll'... Processing 'EXILED/Plugins/dependencies/YamlDotNet.dll' Extracting 'YamlDotNet.dll' into '/user/SCP/EXILED/Plugins/dependencies/YamlDotNet.dll'... Processing 'EXILED/Plugins/Exiled.CreditTags.dll' Extracting 'Exiled.CreditTags.dll' into '/user/SCP/EXILED/Plugins/Exiled.CreditTags.dll'... Processing 'EXILED/Plugins/Exiled.CustomItems.dll' Extracting 'Exiled.CustomItems.dll' into '/user/SCP/EXILED/Plugins/Exiled.CustomItems.dll'... Processing 'EXILED/Plugins/Exiled.CustomRoles.dll' Extracting 'Exiled.CustomRoles.dll' into '/user/SCP/EXILED/Plugins/Exiled.CustomRoles.dll'... Processing 'EXILED/Plugins/Exiled.Events.dll' Extracting 'Exiled.Events.dll' into '/user/SCP/EXILED/Plugins/Exiled.Events.dll'... Processing 'EXILED/Plugins/Exiled.Permissions.dll' Extracting 'Exiled.Permissions.dll' into '/user/SCP/EXILED/Plugins/Exiled.Permissions.dll'... Processing 'EXILED/Plugins/Exiled.Updater.dll' ``` -------------------------------- ### Enum Definition: ExampleId (SSPrimitiveSpawnerExample) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the ExampleId enumeration, located at UserSettings.ServerSpecific.Examples.SSPrimitiveSpawnerExample+ExampleId, listing example IDs for server-specific primitive spawner settings. ```APIDOC [0] = ConfirmButton [1] = DestroyAllButton [2] = TypeDropdown [3] = ColorPresetDropdown [4] = ColorField [5] = ColorAlphaSlider [6] = CollisionsToggle [7] = RendererToggle [8] = ColorInfo [9] = ScaleSliderX [10] = ScaleSliderY [11] = ScaleSliderZ ``` -------------------------------- ### C# Method Example: OnDead Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/events.md Illustrates a simple C# method that could be triggered by an event, demonstrating the concept of attaching code to specific in-game occurrences within the EXILED framework. ```C# public void OnDead() { // Show hint to player. } ``` -------------------------------- ### Warhead Scenario Type Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Specifies the different scenarios or states for the warhead activation sequence, such as starting, resuming, or a deadman switch activation. ```APIDOC [0] = Start [1] = Resume [2] = DeadmanSwitch ``` -------------------------------- ### Extend Plugin Configuration with Multiple Data Types in C# Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/structure.md This example demonstrates how to expand the plugin configuration by adding properties of various data types such as boolean, string, and integer. It also shows how to set a default value for an integer property. ```C# namespace MyPluginNamespace { using Exiled.API.Interfaces; public class Config : IConfig { public bool IsEnabled { get; set;} public bool Debug { get; set;} public bool MyBoolConfig { get; set;} public string MyStringConfig { get; set;} public int MyIntConfig { get; set; } = 5; // Set to 5 by default. } } ``` -------------------------------- ### Define Basic Plugin Configuration in C# Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/structure.md This snippet shows the initial structure of a plugin configuration file in C#, implementing the `IConfig` interface. It includes the mandatory `IsEnabled` property and a `Debug` property, serving as a starting point for custom plugin settings. ```C# namespace MyPluginNamespace { using Exiled.API.Interfaces; public class Config : IConfig { public bool IsEnabled { get; set;} public bool Debug { get; set;} } } ``` -------------------------------- ### MEC Coroutine with Infinite Loop Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/mec.md This example demonstrates a MEC coroutine that runs an infinite loop, printing a message every 5 seconds. Coroutines must return `IEnumerator` and are executed using `Timing.RunCoroutine(Method())`. The `yield return Timing.WaitForSeconds(5f)` statement introduces a non-blocking delay. ```C# using MEC; using Exiled.API.Features; public void SomeMethod() { Timing.RunCoroutine(MyCoroutine()); } public IEnumerator MyCoroutine() { for (;;) //repeat the loop infinitely { Log.Info("Hey, I'm a infinite loop!"); //Call Log.Info to print a line to the game console/server logs. yield return Timing.WaitForSeconds(5f); //Tells the coroutine to wait 5 seconds before continuing. Since this is at the end of the loop, it effectively stalls the loop from repeating for 5 seconds. } } ``` -------------------------------- ### Access Plugin Configuration Values in C# Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/structure.md This example demonstrates how to read and utilize the configuration values within a plugin's `OnEnabled` method. It shows how to access boolean, string, and integer properties through the `Config` property provided by the `Plugin` base class, along with the full `Config.cs` context. ```C# namespace MyPluginNamespace { using Exiled.API.Features; public class Plugin : Plugin { public override void OnEnabled() { Log.Info("Boolean config: " + Config.MyBoolConfig); Log.Info("String config: " + Config.MyStringConfig); Log.Info("Int config: " + Config.MyIntConfig); } } // Config.cs file using System.ComponentModel; using Exiled.API.Interfaces; public class Config : IConfig { [Description("Whether the plugin is enabled.")] public bool IsEnabled { get; set;} [Description("Whether debug messages should be shown in the console.")] bool Debug { get; set;} [Description("Config that must be true or false!")] public bool MyBoolConfig { get; set;} [Description("Config that must be a string!")] public string MyStringConfig { get; set;} [Description("Config that must be a number! Defaults to 5.")] public int MyIntConfig { get; set; } = 5; } } ``` -------------------------------- ### MEC Delayed Call with Timing.CallDelayed Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/mec.md This snippet illustrates how to use `Timing.CallDelayed(float, Action)` to execute code after a specified delay without needing a full coroutine. The provided example logs a message 5 seconds after the `SomeMethod` is called. ```C# using MEC; using Exiled.API.Features; public void SomeMethod() { Timing.CallDelayed(5f, () => // Execute the provided method 5 seconds late. { Log.Info("This log was printed 5 seconds late!"); }); } ``` -------------------------------- ### Hints.HintTranslations Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Lists predefined translation keys for various in-game hints, typically used for displaying messages to players. ```APIDOC [0] = WarheadDetonateCoverDenied [1] = MaxAmmoReached [2] = MaxAmmoAlreadyReached [3] = MaxItemCategoryReached [4] = MaxItemCategoryAlreadyReached [5] = MaxItemsAlreadyReached ``` -------------------------------- ### DisplayVideoSetting Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Lists various display-related video settings. This enumeration categorizes configurable visual options within the game. Full path: UserSettings.VideoSettings.DisplayVideoSetting. ```APIDOC [0] = Resolution [1] = AspectRatio [2] = FullscreenMode [3] = VSyncCount [4] = FpsLimiter [5] = GraphicsAPI ``` -------------------------------- ### StatusType Enum Definition Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the types of status messages for usable items, indicating actions like start or cancel. This enum is part of `InventorySystem.Items.Usables.StatusMessage+StatusType`. ```APIDOC [0] = Start [1] = Cancel ``` -------------------------------- ### VoiceChat.Codec.Enums.OpusCtlGetRequest Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their corresponding string representations for the `VoiceChat.Codec.Enums.OpusCtlGetRequest` enumeration, used for Opus codec control get requests. ```APIDOC [4001] = Application [4003] = Bitrate [4005] = MaxBandwidth [4007] = VBR [4009] = Bandwidth [4011] = Complexity [4013] = InbandFec [4015] = PacketLossPercentage [4017] = Dtx [4021] = VBRConstraint [4023] = ForceChannels [4025] = Signal [4027] = LookAhead [4029] = SampleRate [4031] = FinalRange [4033] = Pitch [4035] = Gain [4037] = LsbDepth ``` -------------------------------- ### Add Descriptions to Plugin Configuration Properties in C# Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/structure.md This snippet illustrates the use of `System.ComponentModel.DescriptionAttribute` to provide human-readable descriptions for each configuration property. These descriptions help server hosts understand the purpose and usage of individual settings. ```C# namespace MyPluginNamespace { using System.ComponentModel; using Exiled.API.Interfaces; public class Config : IConfig { [Description("Whether the plugin is enabled.")] public bool IsEnabled { get; set;} [Description("Whether debug messages should be shown in the console.")] bool Debug { get; set;} [Description("Config that must be true or false!")] public bool MyBoolConfig { get; set;} [Description("Config that must be a string!")] public string MyStringConfig { get; set;} [Description("Config that must be a number! Defaults to 5.")] public int MyIntConfig { get; set; } = 5; } } ``` -------------------------------- ### APIDOC: UserSettings.VideoSettings.LightingVideoSetting Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines various options for lighting-related video settings within the UserSettings.VideoSettings module, mapping integer values to specific rendering behaviors. ```APIDOC [0] = RenderShadows [1] = ShadowResolution [2] = RenderLights ``` -------------------------------- ### UISetting Enum for User Interface Settings Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates various user interface settings that can be configured, such as language, subtitles, healthbar mode, IP display, and photosensitivity options. ```APIDOC [0] = Language [1] = EnableSubtitles [2] = HealthbarMode [3] = FastRoleIntroMode [4] = HideIP [5] = FlashTaskbar [6] = PhotosensitivityDoNotShow [7] = ImperialUnits [8] = InaccuracyAsDispersion ``` -------------------------------- ### Set EXILED_REFERENCES Environment Variable (Linux) Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/contributing/index.md Instructions for Linux users to add the `EXILED_REFERENCES` environment variable to their shell configuration, pointing to the `Managed` folder of the SCP: Secret Laboratory Dedicated Server installation or extracted references. ```Shell export EXILED_REFERENCES="PATH" ``` -------------------------------- ### PlayerRoles.PlayableScps.Scp079.Scp079ScannerSequence+ScanSequenceStep Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the steps in Scp079's scanner sequence, including initialization, countdown, target scanning, and cooldown states. ```APIDOC [0] = Init [1] = CountingDown [2] = ScanningFindNewTarget [3] = ScanningFailedCooldown [4] = ScanningUpdateTarget ``` -------------------------------- ### PlayerRoles.PlayableScps.Scp079.Cameras.Scp079CurrentCameraSync+ClientSwitchState Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their meanings for the `PlayerRoles.PlayableScps.Scp079.Cameras.Scp079CurrentCameraSync+ClientSwitchState` enumeration, indicating the state of SCP-079's camera switching. ```APIDOC [0] = None [1] = SwitchingRoom [2] = SwitchingZone ``` -------------------------------- ### Clone EXILED Repository Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/contributing/index.md Instructions to clone your forked EXILED GitHub repository to your local machine using the `git clone` command. ```Shell git clone https://github.com/your-username/EXILED.git ``` -------------------------------- ### Define InventorySystem.Searching.SearchSessionPipe+Activity Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the `InventorySystem.Searching.SearchSessionPipe+Activity` enumeration, listing states related to search session activities with their corresponding integer values. ```APIDOC [0] = Idle [1] = Requested [2] = Promised ``` -------------------------------- ### Implement OnEnabled and OnDisabled Lifecycle Methods in EXILED C# Plugin Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/plugins/structure.md This example shows how to utilize the OnEnabled and OnDisabled overridable methods provided by the Plugin class. These methods are crucial for initializing and de-initializing plugin functionality, ensuring the plugin responds correctly when enabled or disabled by server hosts, as demonstrated by logging messages to the console. ```C# namespace MyPluginNamespace { using Exiled.API.Features; public class Plugin : Plugin { public override void OnEnabled() { Log.Info("My plugin has been enabled!"); } public override void OnDisabled() { Log.Info("My plugin has been disabled!"); } } // Config.cs file using Exiled.API.Interfaces; public class Config : IConfig { public bool IsEnabled { get; set; } } } ``` -------------------------------- ### UserSettings.GUIElements.UserSettingDependency+Dependency+Condition Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines conditions for user setting dependencies within GUI elements, enabling comparisons such as equality, less than, or greater than. ```APIDOC [0] = EqualsTo [1] = LessThan [2] = GreaterThan ``` -------------------------------- ### GameCore.ConfigSharing+ConfigShare Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Lists categories of configuration data that can be shared across the game core, including administrative lists like bans and mutes, and gameplay-related databases. ```APIDOC [0] = Bans [1] = Mutes [2] = Whitelist [3] = ReservedSlots [4] = Groups [5] = GroupsMembers [6] = GameplayDatabase ``` -------------------------------- ### RespawnSetting Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md This API documentation defines the `Respawning.Graphics.RespawnSetting` enumeration. It lists the integer constants and their corresponding meanings, representing various states or types within the system. These values are typically used to categorize or identify specific conditions for respawn graphic settings. ```APIDOC [0] = RespawnInterfaceVisible [1] = ObjectiveFeedVisible ``` -------------------------------- ### KeyCodeTranslations Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Maps numeric codes to human-readable translations for various keyboard and mouse inputs, used for hints or UI. ```APIDOC [0] = ServerSettingNotFound [1] = KeyNotAssigned [2] = ArrowUp [3] = ArrowDown [4] = ArrowLeft [5] = ArrowRight [6] = LeftShift [7] = RightShift [8] = LeftControl [9] = RightControl [10] = LeftAlt [11] = RightAlt [12] = Tab [13] = Space [14] = Enter [15] = MousePrimary [16] = MouseSecondary [17] = MouseMiddle [18] = MouseN ``` -------------------------------- ### InventorySystem.Hotkeys.HotkeysTranslation Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Provides translation keys for various hotkey-related UI elements and settings within the inventory system. ```APIDOC [0] = SettingsHeader [1] = CreateNewLabel [2] = SettingsHeaderHint [3] = KeycardPredefinedName [4] = PrimaryWeaponPredefinedName [5] = SecondaryWeaponPredefinedName [6] = MedicalPredefinedName [7] = GrenadePredefinedName [8] = NameLabel [9] = KeyLabel [10] = ApperanceLabel [11] = SortLabel [12] = OverrideLabel [13] = OverrideHint [14] = ApperanceHidden [15] = ApperanceNormal [16] = ApperanceSmall [17] = SortItemQueue [18] = SortItemQueueHint [19] = SortInventoryOrder [20] = SortInventoryOrderHint [21] = OverrideNone [22] = OverrideBestMedical [23] = OverrideBestMedicalHint [24] = OverrideRememberPrev [25] = OverrideRememberPrevHint [26] = OverrideNearbyDoor [27] = OverrideNearbyDoorHint [28] = OverrideSkipEmpty [29] = OverrideSkipEmptyHint [30] = PoolItemsLabel [31] = PoolOrderLabel [32] = PoolOrderHint [33] = RestoreDefaultLabel [34] = RestoreDefaultButton [35] = TitlePrefix [36] = NewHotkeyNamePlaceholder [37] = GroupFirearms [38] = GroupKeycards [39] = GroupThrowable [40] = GroupScpItems ``` -------------------------------- ### ServerRoles+BadgePreferences Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their meanings for the `ServerRoles+BadgePreferences` enumeration, indicating a player's preference for badge display. ```APIDOC [0] = NoPreference [1] = PreferGlobal [2] = PreferLocal ``` -------------------------------- ### PerformanceVideoSetting Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines various video settings related to performance, mapping integer values to specific display options within the UserSettings.VideoSettings context. ```APIDOC UserSettings.VideoSettings.PerformanceVideoSetting: [0] = TextureResolution [1] = AntiAliasingType [2] = AntiAliasingQuality [3] = RagdollFreeze [4] = BloomQuality [5] = AOQuality [6] = BloodDecalsEnabled [7] = BulletDecalsEnabled [8] = BloodDecalsLimit [9] = BulletDecalsLimits ``` -------------------------------- ### PlayerRoles.PlayableScps.Scp079.Scp079KeyAbilityBase+Category Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their meanings for the `PlayerRoles.PlayableScps.Scp079.Scp079KeyAbilityBase+Category` enumeration, categorizing SCP-079's key abilities. ```APIDOC [0] = Movement [1] = SpecialAbility [2] = OverconInteraction ``` -------------------------------- ### InventorySystem.GUI.InventoryGuiTranslation Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Provides translation keys for various UI elements and descriptive texts displayed in the inventory GUI, including item statistics and hints. ```APIDOC [0] = FirearmAmmo [1] = FirearmDamage [2] = FirearmFireRate [3] = FirearmHipAcc [4] = FirearmAdsAcc [5] = Weight [6] = Length [7] = DropAmmo [8] = ArmorHelmetEfficacy [9] = ArmorVestEfficacy [10] = ArmorStaminaUsage [11] = ArmorMovementSpeed [12] = ArmorItemLimits [13] = ArmorAmmoLimits [14] = ArmorTotal [15] = ArmorPenetration [16] = RunningInaccuracy [17] = MarshmallowCackleHint [18] = RemainingCharge [19] = RemainingAmmo [20] = MicroHidPrimaryHint [21] = MicroHidSecondaryHint [22] = DisruptorToggleModeHint [23] = JailbirdAttackHint [24] = JailbirdChargeHint [25] = MicroHidReadyToDischarge [26] = MicroHidDamaged [27] = Scp127OnEquip [28] = SnakeHint ``` -------------------------------- ### InventorySystem.GUI.InventoryGuiAction Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible actions that can be performed within the inventory graphical user interface. ```APIDOC [0] = None [1] = Drop [2] = Select ``` -------------------------------- ### APIDOC: UserSettings.VideoSettings.MiscVideoSetting Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Specifies miscellaneous video settings within the UserSettings.VideoSettings module, such as brightness, explosion shake, head bobbing, and visual effects. ```APIDOC [0] = Brightness [1] = ExplosionShake [2] = HeadBobbing [3] = FlashbangDarkMode [4] = ShowNeedles [5] = Scp939VisionBlur ``` -------------------------------- ### ServerRoles+BadgeVisibilityPreferences Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their meanings for the `ServerRoles+BadgeVisibilityPreferences` enumeration, specifying a player's preference for badge visibility. ```APIDOC [0] = NoPreference [1] = Visible [2] = Hidden ``` -------------------------------- ### PlayerRoles.Voice.IntercomState Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates the possible states of the in-game intercom system. ```APIDOC [0] = Ready [1] = Starting [2] = InUse [3] = Cooldown [4] = NotFound ``` -------------------------------- ### PlayerRoles.PlayableScps.Scp079.GUI.NotificationSound Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their corresponding string representations for the `PlayerRoles.PlayableScps.Scp079.GUI.NotificationSound` enumeration, used for SCP-079 notification sounds. ```APIDOC [0] = Standard [-1] = None ``` -------------------------------- ### HintMessageTypes: Hints.HintMessageParameterFunctions+HintMessageTypes Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines types of hint messages, differentiating between unknown, plain text, and translation-based hints. ```APIDOC [0] = Unknown [1] = TextHint [2] = TranslationHint ``` -------------------------------- ### RespawnTooltipTranslation Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md This API documentation defines the `Respawning.Graphics.RespawnTooltipTranslation` enumeration. It lists the integer constants and their corresponding meanings, representing various states or types within the system. These values are typically used to categorize or identify specific conditions for respawn tooltip translations. ```APIDOC [0] = TimerBarTranslation [1] = InfluenceTranslation [2] = RespawnsTokensTranslation ``` -------------------------------- ### APIDOC: AudioPooling.MixerChannel Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates the different audio mixer channels used for sound pooling, categorizing various sound effects like default SFX, interface, weapons, and voice chat. ```APIDOC [0] = DefaultSfx [1] = Interface [2] = Weapons [3] = VoiceChat [4] = NoDucking [5] = Scp127VoiceViewmodel ``` -------------------------------- ### Define InventorySystem.Items.Thirdperson.AnimItemLayer3p Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the `InventorySystem.Items.Thirdperson.AnimItemLayer3p` enumeration, listing animation item layers for third-person view with their corresponding integer values. ```APIDOC [0] = Left [1] = Right [2] = Middle [3] = Additive [4] = PreMovement ``` -------------------------------- ### LiteNetLib.DeliveryMethod Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Specifies the delivery methods for network packets in LiteNetLib, including reliable (ordered or unordered), sequenced, and unreliable options, affecting packet guarantees. ```APIDOC [0] = ReliableUnordered [1] = Sequenced [2] = ReliableOrdered [3] = ReliableSequenced [4] = Unreliable ``` -------------------------------- ### Utils.Networking.HintParameterReaderWriter+HintParameterType Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the various types of parameters that can be used in hints, mapping integer values to specific data types for network communication. ```APIDOC [0] = Text [1] = Timespan [2] = Ammo [3] = Item [4] = ItemCategory [5] = Byte [6] = SByte [7] = Short [8] = UShort [9] = Int [10] = UInt [11] = Long [12] = ULong [13] = Float [14] = Double [15] = PackedLong [16] = PackedULong [17] = Scp330Hint [18] = SSKeybind ``` -------------------------------- ### InventorySystem.Items.Autosync.AutosyncInstantiationStatus Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their meanings for the `InventorySystem.Items.Autosync.AutosyncInstantiationStatus` enumeration, indicating the instantiation status of an autosync item. ```APIDOC [0] = Unspecified [1] = Template [2] = InventoryInstance [3] = SimulatedInstance ``` -------------------------------- ### RoleSpawnFlags Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md This API documentation defines the `PlayerRoles.RoleSpawnFlags` enumeration. It lists the integer constants and their corresponding meanings, representing various states or types within the system. These values are typically used to categorize or identify specific conditions for player role spawn flags. ```APIDOC [0] = None [1] = AssignInventory [2] = UseSpawnpoint [-1] = All ``` -------------------------------- ### LegacyInterfaces Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Lists various legacy interface elements or event types used within the game, often related to hints or UI feedback. ```APIDOC [0] = GiveOrders [1] = FollowOrders [2] = SameRank [3] = ClassDEscaped [4] = ScientistsSurvived [5] = KilledByScps [6] = TerminatedScps [7] = AlphaWarhead [8] = WarheadDetonated [9] = WarheadUnused [10] = RoundRestartTimer [11] = SpecialAbility [12] = CreateSinkhole [13] = UseSinkhole [14] = YouDied [15] = YouWereKilledByNicknameLabel [16] = YouWereKilledByRoleLabel [17] = PassiveAbility [18] = Hidden ``` -------------------------------- ### FootstepLoudness: PlayerRoles.FirstPersonControl.Thirdperson.AnimatedCharacterModel+FootstepLoudness Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines different loudness levels for character footsteps, likely associated with various player roles or factions. ```APIDOC [8] = Civilian [12] = FoundationForces [30] = Chaos [35] = Scp ``` -------------------------------- ### GameCore.ConfigShareTypes Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates types of configuration data that can be shared across the game core, such as bans, mutes, whitelists, reserved slots, and group information. ```APIDOC [0] = Bans [1] = Mutes [2] = Whitelist [3] = ReservedSlots [4] = Groups [5] = GroupsMembers [6] = GameplayDatabase ``` -------------------------------- ### APIDOC: ServerConfigSynchronizer+MainBoolsSettings Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines boolean settings for server configuration synchronization, such as enabling or disabling friendly fire. ```APIDOC [1] = FriendlyFire ``` -------------------------------- ### VcAudioSetting Enum for Voice Chat Audio Settings Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates specific audio settings for voice chat, such as noise reduction. ```APIDOC [0] = NoiseReduction ``` -------------------------------- ### RejectionReason Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md This API documentation defines the `RejectionReason` enumeration. It lists the integer constants and their corresponding meanings, representing various states or types within the system. These values are typically used to categorize or identify specific conditions for connection rejections. ```APIDOC [0] = NotSpecified [1] = ServerFull [2] = InvalidToken [3] = VersionMismatch [4] = Error [5] = AuthenticationRequired [6] = Banned [7] = NotWhitelisted [8] = GloballyBanned [9] = Geoblocked [10] = Custom [11] = ExpiredAuth [12] = RateLimit [13] = Challenge [14] = InvalidChallengeKey [15] = InvalidChallenge [16] = Redirect [17] = Delay [18] = VerificationAccepted [19] = VerificationRejected [20] = CentralServerAuthRejected ``` -------------------------------- ### Define ActionName Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the `ActionName` enumeration, listing specific in-game actions with their corresponding integer values. ```APIDOC [0] = Shoot [1] = Zoom [2] = Jump [3] = Interact [4] = Inventory [5] = Reload [6] = Run [7] = VoiceChat [8] = Sneak [9] = MoveForward [10] = MoveBackward [11] = MoveLeft [12] = MoveRight [13] = PlayerList [14] = CharacterInfo [15] = RemoteAdmin [16] = ToggleFlashlight [17] = AltVoiceChat [18] = Noclip [19] = GameConsole [21] = InspectItem [22] = WeaponAlt [23] = ThrowItem [27] = HideGUI [28] = NoClipFogToggle [30] = PauseMenu [31] = DebugLogMenu [32] = Scp079FreeLook [33] = Scp079LockDoor [34] = Scp079UnlockAll [35] = Scp079Blackout [36] = Scp079Lockdown [37] = Scp079PingLocation [38] = Scp079BreachScanner ``` -------------------------------- ### ItemType Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Enumerates all distinct item types present in the game, from various keycards and weapons to SCP-related items and consumables. ```APIDOC [0] = KeycardJanitor [1] = KeycardScientist [2] = KeycardResearchCoordinator [3] = KeycardZoneManager [4] = KeycardGuard [5] = KeycardMTFPrivate [6] = KeycardContainmentEngineer [7] = KeycardMTFOperative [8] = KeycardMTFCaptain [9] = KeycardFacilityManager [10] = KeycardChaosInsurgency [11] = KeycardO5 [12] = Radio [13] = GunCOM15 [14] = Medkit [15] = Flashlight [16] = MicroHID [17] = SCP500 [18] = SCP207 [19] = Ammo12gauge [20] = GunE11SR [21] = GunCrossvec [22] = Ammo556x45 [23] = GunFSP9 [24] = GunLogicer [25] = GrenadeHE [26] = GrenadeFlash [27] = Ammo44cal [28] = Ammo762x39 [29] = Ammo9x19 [30] = GunCOM18 [31] = SCP018 [32] = SCP268 [33] = Adrenaline [34] = Painkillers [35] = Coin [36] = ArmorLight [37] = ArmorCombat [38] = ArmorHeavy [39] = GunRevolver [40] = GunAK [41] = GunShotgun [42] = SCP330 [43] = SCP2176 [44] = SCP244a [45] = SCP244b [46] = SCP1853 [47] = ParticleDisruptor [48] = GunCom45 [49] = SCP1576 [50] = Jailbird [51] = AntiSCP207 [52] = GunFRMG0 [53] = GunA7 [54] = Lantern [55] = SCP1344 [56] = Snowball [57] = Coal [58] = SpecialCoal [59] = SCP1507Tape [60] = DebugRagdollMover [61] = SurfaceAccessPass [62] = GunSCP127 [63] = KeycardCustomTaskForce [64] = KeycardCustomSite02 [65] = KeycardCustomManagement [66] = KeycardCustomMetalCase [-1] = None ``` -------------------------------- ### ProcessCreationFlags Enum Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Specifies flags that control how a new process is created, influencing its behavior and environment, as used in _Scripts.Utils.StartExternalProcess. ```APIDOC _Scripts.Utils.StartExternalProcess+ProcessCreationFlags: [0] = NONE [1] = DEBUG_PROCESS [2] = DEBUG_ONLY_THIS_PROCESS [4] = CREATE_SUSPENDED [8] = DETACHED_PROCESS [16] = CREATE_NEW_CONSOLE [512] = CREATE_NEW_PROCESS_GROUP [1024] = CREATE_UNICODE_ENVIRONMENT [2048] = CREATE_SEPARATE_WOW_VDM [4096] = CREATE_SHARED_WOW_VDM [65536] = INHERIT_PARENT_AFFINITY [262144] = CREATE_PROTECTED_PROCESS [524288] = EXTENDED_STARTUPINFO_PRESENT [4194304] = CREATE_SECURE_PROCESS [16777216] = CREATE_BREAKAWAY_FROM_JOB [33554432] = CREATE_PRESERVE_CODE_AUTHZ_LEVEL [67108864] = CREATE_DEFAULT_ERROR_MODE [134217728] = CREATE_NO_WINDOW ``` -------------------------------- ### LiteNetLib4Mirror.Open.Nat.NetworkProtocolType Enumeration Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines the possible integer values and their corresponding string representations for the `LiteNetLib4Mirror.Open.Nat.NetworkProtocolType` enumeration, specifying network protocol types. ```APIDOC [0] = Tcp [1] = Udp ``` -------------------------------- ### InventorySystem.Items.Firearms.Modules.EventBasedEquipperModule+RpcType Source: https://github.com/exslmod-team/exiled/blob/master/EXILED/docs/articles/SCPSLRessources/NW_Documentation.md Defines RPC types for the EventBasedEquipperModule in firearms, handling seed synchronization and first-time equip states. ```APIDOC [0] = SeedSync [1] = FirstTimeTrue [2] = FirstTimeFalse [3] = ResyncAllFirstTime ```