diff --git a/Changelog.md b/Changelog.md deleted file mode 100644 index a2ddd28a1c..0000000000 --- a/Changelog.md +++ /dev/null @@ -1,160 +0,0 @@ -## Fixes: -- `[All]` A lot of documentation has been updated. -- `[Exiled.API]` Fixed a bug that would sometimes cause `Room.FlickerableLightController` to be null. [#975] -- `[Exiled.API]` Fixed a bug that would cause the `Room.Doors` property to not always contain all the doors connecting to the room. [#975] -- `[Exiled.API]` The `Player.Hurt` methods will now cause cassie to use the `DamageHandlerBase.CassieDeathAnnouncement` property or the `cassieAnnouncement` argument if the damage will kill a non-SCP player. [#989] -- `[Exiled.API]` The `Player.ArtificialHealth` and `Player.MaxArtificialHealth` properties should now function properly. [#1008] -- `[Exiled.API]` The `Map.Lockers` property should no longer fail to contain all lockers on the map. [#1030] -- `[Exiled.API]` Fixed `Room.TeslaGate` being null in rooms it shouldn't be null in. [#1122] -- `[Exiled.API]` Fixed the `Script` property in SCP-related `Features.Roles` classes sometimes being null. Added the peoperty to SCP classes it was missing from. [#1126] -- `[Exiled.API]` Fixed `API.Features.TeslaGate.Position` always being `Vector3.zero`. [#1128] -- `[Exiled.API]` `Room.Players` should no longer throw a nullref when a player is not in a room. [#1146] -- `[Exiled.API]` `Player.Get(string)` documentation updated to reflect it can accept the `string` version of an `int` to match with player IDs. [#1147] -- `[Exiled.CreditTags]` Changed the default value of the `ignore_dnt_flag` config value to reflect it's documentation. [#1116] -- `[Exiled.CustomRoles]` The `CustomRole.CustomAbilities` property is now checked for null before accessed. [#994] -- `[Exiled.CustomRoles]` The `CustomRole.CustomAbilities` property will now deserialize abilities inheriting the `CustomAbility` class correctly using the default config deserializer. [#1018] -- `[Exiled.CustomRoles]` Fixed the `Player.InfoArea.Role` value not being set back to visible when removing a `CustomRole`. [#1117] -- `[Exiled.CustomItems]` + `[Exiled.CustomRoles]` The `CustomItem`, `CustomRole` and `CustomAbility` types can now be registered from existing objects for the purpose of configs. [#1143] -- `[Exiled.CustomItems]` + `[Exiled.CustomRoles]` The `CustomWeapon`, `CustomGrenade`, `ActiveAbility` and `PassiveAbility` sub-types should now serialize as the correct types. [#1143 & 1142] -- `[Exiled.Example]` Fixed all null reference exceptions caused by the bad usage of ?. operator inside all the events. [#815] -- `[Exiled.Events]` The `Warhead.Starting` event will no longer fire twice when triggered by a player. [#1009] -- `[Exiled.Events]` The `Warhead.Starting` event will now correctly include the player causing it when triggered by a command. [#1009] -- `[Exiled.Events]` The Warhead commands that can start the warhead will now return `Action prevented by a plugin` when the `Warhead.Starting` event is denied via a plugin. [#1009] -- `[Exiled.Events]` The server's max respawn wave settings will now be respected by the `Server.RespawningTeam` event. [#1013] -- `[Exiled.Events]` The `RemovingHandcuffsEventArgs.Player` will now correctly be the player removing the handcuffs. [#1024] -- `[Exiled.Events]` Tesla gates will now exit the Idle animation properly. [#1026] -- `[Exiled.Events]` Pickups should no longer remain locked indefinitely when `PickingUpItemEventArgs.IsAllowed` is set to false. [#1029] -- `[Exiled.Events]` The EXILED Anti-Backdoor feature will no longer print messages about Exiled.Events changing values if those values were not actually changed by a plugin. [#1050] -- `[Exiled.Events]` Added a check to the `PlayerHasHint` patch to prevent unnecessary nullrefs in the console. [#1055] -- `[Exiled.Events]` Fixed the logic check for the `InteractingScp330EventArgs.ShouldSever` property's value. [#1066] -- `[Exiled.Events]` Fixed a player disconnection bug when shooting a Shooting Target in sync mode. [#1077] -- `[Exiled.Events]` Fixed improper documentation on several event methods. [#1118, #1120, #1123] -- `[Exiled.Events]` Fixed an issue with shotguns not firing the `Player.Shot` event. [#1131] -- `[Exiled.Events]` Corrected an issue with RA command logs being spammed when someone has the RA panel open. [#1133] -- `[Exiled.Events]` Fixed an issue that would cause more than the configured max of players to respawn during NTF or CI waves. [#1140] -- `[Exiled.Loader]` Fixed the chance of seeing the 'sexiled' message upon server loading. [#1129] - - -## Additions: -- `[Exiled.API]` Added the `AttachmentIdentifier` struct to avoid using the `FirearmAttachment` class from the base-game API. [#815] -- `[Exiled.API]` Added the `ItemExtensions::GetAttachments(ItemType, uint)` method. [#815] -- `[Exiled.API]` Added the `ItemExtensions::TryGetAttachments(ItemType, uint, out IEnumerable)` method. [#815] -- `[Exiled.API]` Added the `ItemExtensions::GetAttachmentsCode(IEnumerable)` method. [#815] -- `[Exiled.API]` Added the `ItemExtensions::GetBaseCode(ItemType)` method. [#815] -- `[Exiled.API]` Added the `Firearm::AttachmentIdentifiers` property. [#1025] -- `[Exiled.API]` Added the `Firearm::AddAttachment` method. [#815] -- `[Exiled.API]` Added the `Firearm::RemoveAttachment` method. [#815] -- `[Exiled.API]` Added the `Firearm::ClearAttachments` method. [#815] -- `[Exiled.API]` Added the `Firearm::GetAttachment` method. [#815] -- `[Exiled.API]` Added the `Firearm::TryGetAttachment` method. [#815] -- `[Exiled.API]` Added the `Firearm::AddPreference` method. [#815] -- `[Exiled.API]` Added the `Firearm::RemovePreference` method. [#815] -- `[Exiled.API]` Added the `Firearm::ClearPreferences` method. [#815] -- `[Exiled.API]` Added the `Firearm::AvailableAttachments` static property. [#815] -- `[Exiled.API]` Added the `Firearm::PlayerPreferences` static property. [#815] -- `[Exiled.API]` Added the `Firearm::BaseCode` property. [#815] -- `[Exiled.API]` Added the `Player::Preferences` property. [#815] -- `[Exiled.API]` Added an overload to `Item::Spawn` method. [#815] -- `[Exiled.API]` Added an overload to `Player::AddItem` method. [#815] -- `[Exiled.API]` Added the `Ammo.AmmoLimit` property. [#979] -- `[Exiled.API]` Added the `Item.Category`, `Item.IsAmmo`, `Item.IsArmor`, `Item.IsKeycard`, `Item.IsMedical`, `Item.IsScp`, `Item.IsThrowable`, `Item.IsUtility` and `Item.IsWeapon` properties. [#979] -- `[Exiled.API]` Added the `CameraType.Lcz330Hall`, `CameraType.Lcz330Chamber`, `DoorType.Scp330`, `DoorType.Scp330Chamber` and `RoomType.Lcz330` enum values. [#982] -- `[Exiled.API]` Added the `Player.TryAddCandy(CandyKindID)` method. [#986] -- `[Exiled.API]` Added the `Player.GetCategoryLimit(ItemCategory)` property. [#979] -- `[Exiled.API]` Added the `Map.GetCameraType(string)` method. [#991] -- `[Exiled.API]` Added the `Map.GetCameraByName(string) method. [#991] -- `[Exiled.API]` Added the `Door.Unlock(float, DoorLockType)` method. [#1001] -- `[Exiled.API]` Added the `Door.Lock(float, DoorLockType)` method. [#1001] -- `[Exiled.API]` Added the `Room.RoomIdentifier` property. [#1003] -- `[Exiled.API]` Added the `Room.TeslaGate` property. This can be null. [#1003] -- `[Exiled.API]` Added the `Player.GetModule` method. [#1003] -- `[Exiled.API]` Added the `Log.DebugObject(T, bool)` method. [#1003] -- `[Exiled.API]` Added the `Player.IsInventoryFull` property. [#1004] -- `[Exiled.API]` Added the `Player.AddAhp(float, float, float, float, float, bool)` method. [#1010] -- `[Exiled.API]` Added the `DamageType.IsWeapon(bool)`, `DamageType.IsScp(bool)` and `DamageType.IsStatusEffect` extension methods. [#1011] -- `[Exiled.API]` Added the `Item.Create(ItemType)` method, which always creates and returns the correct subclass type for the given item type. [#1012] -- `[Exiled.API]` Added the `Player.MakeNoise` method. [#1019] -- `[Exiled.API]` Added the `Cassie.VoiceLines` property. [#1020] -- `[Exiled.API]` Added the `Cassie.IsValid(string)` method. [#1020] -- `[Exiled.API]` Added an API class for SCP-244, Lifts, Elevators, Tesla Gates, Cameras and Generators. [#1031 & 1038 & 1042 & 1045] -- `[Exiled.API]` Added the `Player.Reconnect(ushort, float, bool, RoundRestartType)` method. [#1056] -- `[Exiled.API]` Added the `Player.Role` property, which is an object unique to each player representing their class. [#1058] -- `[Exiled.API]` Added various `GameObject` properties to API classes, such as `Door`, `Generator`, `Armor` and more. [#1062] -- `[Exiled.API]` Added overloads to `Log.Info`, `Log.Warn`, `Log.Error` and `Log.Debug` that accept a `string` instead of an `object` for efficiency. [#1070] -- `[Exiled.API]` Added the `Log.Assert(bool, object)` method. This method can be used to assert that a certain condition **MUST** be met, and if it is not, it will print a `Log.Error` message and throw an exception. [#1082] -- `[Exiled.API]` Added the `Player.Teleport(Vector3)`, `Player.Teleport(object)`, `Player.RandomTeleport(IEnumerable)` and `Player.RandomTeleport(Type)` methods. [#1125] **Read more below** -- `[Exiled.API]` Added the `API.Features.Intercom` class. [#1127] -- `[Exiled.API]` Added the `Server.TPS` property. [#1130] -- `[Exiled.API]` Added the `API.Features.Scp106Container` class. [#1135] -- `[Exiled.API]` Added the `DoorLockType.Lockdown2176` enum, `Ragdoll.CreationTime` property, `Recontainer.BreakGlass()` method, `Room.GameObject` property, `Round.AliveSides` property, `Scp914.GameObject` property, `Server.LaterJoinEnabled`, `Server.LaterJoinTime` and `Server.SpawnProtectTime` properties. [#1141] -- `[Exiled.API]` Added the `Player.Mute`, `Player.IntercomMute`, `Player.Unmute` and `Player.IntercomUnmute` methods. The `Player.Muted` and `Player.Unmuted` properties are no longer persistant through rounds. [#1144] -- `[Exiled.CustomItems]` Added the `CustomItem.OnAcquired(Player)` method, which is called anytime a player gains the item via any means, which is more reliable than just using `CustomItem.OnPickup`. [#988] -- `[Exiled.CustomItems]` Added the `CustomItem.RegisterItems` and `Customitem.UnregisterItems` methods. These will use the new `ExiledSerializableAttribute` to register/unregister all items in the calling plugin automatically. [#998] -- `[Exiled.CustomItems]` Added the `CustomItem.Check(Player)` overload to check the given player's current item. -- `[Exiled.CustomRoles]` Added the `CustomRole.CustomInfo` property which will be used instead of `CustomRole.Name (Custom Role)` in the player's custom info. [#966] -- `[Exiled.CustomRoles]` Added the `CustomRole.RegisterRoles` and `CustomRole.UnregisterRoles` methods. These will use the new `ExiledSerializableAttribute` to register/unregister all roles in the calling plugin automatically. [#998] -- `[Exiled.CustomRoles]` Added the `CustomRole.Scale` property that will be used to automatically change a player's size when they gain the role. [#1005] -- `[Exiled.Events]` Added the `Item.ReceivingPreference` event. [#815] -- `[Exiled.Events]` Added the `TriggeringTeslaEventArgs.Tesla` and `TriggeringTeslaEventArgs.IsInIdleRange` properties. [#973] -- `[Exiled.Events]` Added the `Ragdoll` property to both `Scp049.StartingRecall` and `Scp049.FinishingRecall` events. [#992] -- `[Exiled.Events]` Added the `Player.Landing` event. [#997] -- `[Exiled.Events]` Added the `DiedEventArgs.TargetOldRole` property. [#1039] -- `[Exiled.Events]` Added the `Map.BreakingScp2176` event. [#1051] -- `[Exiled.Events]` Added the `TogglingNoClipEventArgs.IsEnabled` property. [#1054] -- `[Exiled.Events]` Added the `DamagingWindowEventArgs.IsAllowed` property. [#1055] -- `[Exiled.Events]` The `Warhead.ActivatingWarheadPanel` event will now fire regardless of the keycard being held by the player. `IsAllowed` will default to false if they are not using a keycard that can normally activate the panel. [#1115] -- `[Exiled.Example]` Added the `Attachments` property to configs. [#815] -- `[Exiled.Loader]` Added the `AttachmentIdentifiersConverter` class to make the `AttachmentIdentifier` struct serializable. [#815] - -## Changes (non-breaking): -- `[Exiled.API]` Increased the efficiency of finding doors, cameras and the light controller of rooms when they are cached. [#975] -- `[Exiled.API]` The `Respawn.NtfTickets` and `Respawn.ChaosTickets` values can now be changed. [#1067] -- `[Exiled.API]` Made several optimizations to the Attachments API to reduce server lag. [#1139] -- `[Exiled.Events]` The `Player.TriggeringTesla` event patch is now a transpiler. [#987] -- `[Exiled.Events]` The `Player.ActivatingWarheadPanel` event will now fire even when the player's current keycard does not have permission to unlock it. In this case, ev.IsAllowed will default to false, but can be changed to true to allow access. [#1115] -- `[Exiled.Events]` Made several improvements to patches that may help reduce server lag. [#1131] - -## Changes (breaking): -- `[Exiled.API]` Removed the `Player.ShotHitMarker` method in favor of using `Player.ShotHitMarker(float)`. -- `[Exiled.API]` Removed the `BarrelType` enum. [#815] -- `[Exiled.API]` Removed the `SightType` enum. [#815] -- `[Exiled.API]` Removed the `OtherType` enum. [#815] -- `[Exiled.API]` Removed the `Modifiers` struct. [#815] -- `[Exiled.API]` Removed the `Player.AddItem(List)` method in favor of using `Player.AddItem(IEnumerable)`. [#815] -- `[Exiled.API]` Removed the `Player.ResetInventory(List)` method in favor of using `Player.ResetInventory(IEnumerable)`. [#815] -- `[Exiled.API]` Changed the `Scp330.AddCandy(CandyKindID)` method to `Scp330.AddCandy(CandyKindID, out bool)`. [#979] -- `[Exiled.API]` Changed the `Scp330.RemoveCandy(CandyKindID, bool)` method to `Scp330.RemoveCandy(CandyKindID, out int, bool)` [#979] -- `[Exiled.API]` Changed the order of values and names of many values in `Enums.CameraType` [#991] -- `[Exiled.API]` Removed all `Item` subclass constructors in favor of using the new `Item.Create(ItemType)` method. [#1012] -- `[Exiled.API]` Changed `Cassie.CustomSCPTermination(string, DamageHandlerBase)` to `Cassie.CustomScpTermination(string, DamageHandler)` [#1020] -- `[Exiled.API]` Removed all extension classes related to Lifts, Elevators, Tesla Gates, Cameras and Generators. [#1031 & 1038 & 1042] -- `[Exiled.API]` Changed the return type of `ItemExtensions.GetItemTypes()` from a `List` to `IEnumerable`. [#1062] -- `[Exiled.API]` Changed the `Cassie.Message`, `Cassie.DelayedMessage`, `MirrorExtensions.PlayCassieAnnouncement` methods to include a `isSubtitles` value. [#1063] -- `[Exiled.API]` Changed `Player.GetAmmoLimit(ItemType)` to `Player.GetAmmoLimit(AmmoType)`. [#1059] -- `[Exiled.API]` Many `Player` properties such as `Team`, `RoleType`, `Abilities`, `Speaker`, `SpectatedPlayer` and more have been moved to be contained inside the `Player.Role` object. [#1058] -- `[Exiled.API]` The `Room.LightsOff` property is now `Room.LightsOn` and has a setter. [#1106] -- `[Exiled.API]` The `Player.IsDead` property will no longer return true if their role type is `None` instead of `Spectator`. [#1134] -- `[Exiled.API]` Renamed `Round.ForceEnd()` to `Round.EndRound(bool)` [#1136] -- `[Exiled.API]` Renamed `Round.IsEnding` to `Round.IsEnded`. [#1138] -- `[Exiled.API]` `Player.Rotations` has been removed. The value type of `Player.Rotation` has been changed to `Vector2`. [#1165] -- `[Exiled.API]` All uses of `Scp079Generator` in EXILED has been replaced with `Exiled.API.Features.Generator`. -- `[Exiled.CustomItems]` Removed the `Modifiers` property in favor of using an array of `AttachmentNameTranslation`. [#815] -- `[Exiled.CustomItems]` Removed the `CustomItem.TryRegister` and `CustomItem.TryUnregister` methods. [#998] -- `[Exiled.CustomRole]` The following properties have been made public, instead of protected, so they can be used as config values: [#994] - - CustomRole.Inventory - - CustomRole.SpawnProperties - - CustomRole.KeepInventoryOnSpawn - - CustomRole.RemovalKillsPlayer - - CustomRole.KeepRoleOnDeath -- `[Exiled.CustomRoles]` Removed the `CustomRole.TryRegister` and `CustomRole.TryUnregister methods. [#998] -- `[Exiled.CustomRoles]` Renamed the `CustomRole.UnSubscribeEvents` method to `CustomRole.UnsubscribeEvents`. [#998] -- `[Exiled.Events]` Removed the `HurtingEventArgs.DamageHandler` property. -- `[Exiled.Events]` Removed the `DiedEventArgs.DamageHandler` property. -- `[Exiled.Events]` Removed the `DyingEventArgs.DamageHandler` property. -- `[Exiled.Events]` Removed the `AnnouncingScpTerminationEventArgs.DamageHandler` property. -- `[Exiled.Events]` Removed the `ExplodingGrenadeEventArgs.IsFrag` property. -- `[Exiled.Events]` Removed the `Item.ChangingAttributes` event. [#815] -- `[Exiled.Events]` Re-implemented the `Item.ChangingDurability` event with new parameters. [#815] -- `[Exiled.Events]` Re-implemented the `Item.ChangingAttachments` event with new parameters. [#815] -- `[Exiled.Events]` All events interacting with Lifts, Elevators, Tesla Gates, Cameras and Generators now use the Exiled.API objects in the event, instead of the base-game ones. [#1031 & 1038 & 1042] -- `[Exiled.Events]` Removed the `Player.SyncingData` event. [#1054] diff --git a/GettingStarted.md b/GettingStarted.md deleted file mode 100644 index a2f965fdcb..0000000000 --- a/GettingStarted.md +++ /dev/null @@ -1,206 +0,0 @@ -# Exiled Low-Level Documentation -*(Written by [KadeDev](https://github.com/KadeDev) for the community)* - -## Getting Started -### Intro -Exiled is a low-level API meaning that you can call functions from the game without needing a bunch of API bloatware. - -This allows Exiled to be updated quite easily, and Exiled can be updated even before the update hits the game. - -It also allows plugin developers to not have to change their code after every update to Exiled or to SCP:SL. In fact, they don't even have to update their plugins! - -This documentation will show you the bare basics of making an Exiled Plugin. From here you can start showing the world what creative things you can make with this framework! - -### Example Plugin -The [Example Plugin](https://github.com/galaxy119/EXILED/tree/master/Exiled.Example) which is a simple plugin that shows off events and how to properly make them. Using this example will help you learn how to properly use Exiled. There are a couple of things in that plugin that are important, lets talk about them - -#### On Enable + On Disable Dynamic Updates -Exiled is a framework that has a **Reload** command which can be used to reload all the plugins and get new ones. This means you must make your plugins **Dynamically Updatable.** This means that every variable, event, coroutine, etc *must* be assigned when enabled and nullified when disabled. The **On Enable** method should enable it all, and the **On Disable** method should disable it all. But you might be wondering what about **On Reload**? That void is meant to carry over static variables, as in every static constant you make won't be wiped. So you could do something like this: -```csharp -public static int StaticCount = 0; -public int counter = 0; - -public override void OnEnable() -{ - counter = StaticCount; - counter++; - Info(counter); -} - -public override void OnDisable() -{ - counter++; - Info(counter); -} - -public override void OnReload() -{ - StaticCount = counter; -} -``` - -And the output would be: -```bash -# On enable fires -1 -# Reload command -# On Disable fires -2 -# On Reload fires -# On Enable fires again -3 - -``` -(Of course excluding anything besides the actual responses) -Without doing this it would have just went to 1 and then to 2 again. - -### Players + Events -Now that we are done with getting our plugins **Dynamically Updatable** we can focus on trying to interact with players with events! - -An event is pretty cool, it allows SCP:SL to communicate with Exiled and then with Exiled to all the plugins! - -You can listen to events for your plugin by add this to the top of your main plugin source file: -```csharp -using EXILED; -``` -And then you have to reference the `Exiled.Events.dll` file for you to actually get events. - -To reference an event we will be using a new class we create; called "EventHandlers". The event handler is not provided by default; you must create it. - - -We can reference it in the OnEnable and OnDisable void like this: - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - // Register the event handler class. And add the event, - // to the EXILED_Events event listener so we get the event. - EventHandler = new EventHandlers(); - Player.Verified += EventHandler.PlayerVerified; -} - -public override OnDisable() -{ - // Make it dynamically updatable. - // We do this by removing the listener for the event and then nulling the event handler. - // This process must be repeated for each event. - Player.Verified -= EventHandler.PlayerVerified; - EventHandler = null; -} -``` - -And in the EventHandlers class we would do: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - - } -} -``` -Now we have successfully hooked to a player verified event which fires when ever a player is authenticated after joining the server! It is important to note that every event has different event arguments, and each type of event argument has different properties associated with it. - -EXILED already provides a broadcast function, so let's use it in our event: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - ev.Player.Broadcast(5, "Welcome to my cool server!"); - } -} -``` - -As stated above, every event has different arguments. Below is a different event that turns tesla gates off for Nine-Tailed Fox players. - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - EventHandler = new EventHandlers(); - Player.TriggeringTesla += EventHandler.TriggeringTesla; -} - -public override OnDisable() -{ - // Don't forget, events must be disconnected and nullified on the disable method. - Player.TriggeringTesla -= EventHandler.TriggeringTesla; - EventHandler = null; -} -``` - -And in the EventHandlers class. - -`EventHandlers.cs` -```csharp -public class EventHandlers -{ - public void TriggeringTesla(TriggeringTeslaEventArgs ev) - { - // Disable the event for foundation personnel players. - // This can be accomplished by checking the player's side. - if (ev.Player.Role.Side == Side.Mtf) { - // Disable the tesla trigger by setting ev.IsTriggerable to false. - // Players who have a MTF ranking will no longer trigger tesla gates. - ev.IsTriggerable = false; - } - } -} -``` - - -### Configs -The majority of Exiled plugins contain configs. Configs allow server maintainers to modify plugins to their desire, although this is limited to the configuration the plugin developer provides. - -First create a `config.cs` class, and change your plugin inheritance from `Plugin<>` to `Plugin` - -Now you need to make that config inherit `IConfig`. After inheriting from `IConfig`, add a property to the class titled `IsEnabled` and `Debug`. Your Config class should now look like this: - -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - } -``` - -You can add any config option in there and reference it like so: - -`Config.cs` -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - public string TextThatINeed { get; set; } = "this is the default"; - } -``` - -`MainClass.cs` -```csharp - public override OnEnabled() - { - Log.Info(Config.TextThatINeed); - } -``` - -And then congratulations! You have made your very first Exiled Plugin! It is important to note that all plugins **must** have an IsEnabled configuration. This config allows server owners to enable and disable the plugin at their own accord. The IsEnabled config will be read by the Exiled loader (your plugin does not need to check if `IsEnabled == true` or not.). - -### What now? -If you want more information you should join our [discord!](https://discord.gg/PyUkWTg) - -We have a #resources channel that you might find useful, as well as exiled contributors and plugin developers who would be willing to assist you in the creation of your plugin(s). - -Or you could read all the events that we have! If you want to check them out [here!](https://github.com/galaxy119/EXILED/tree/master/Exiled.Events/EventArgs) diff --git a/Localization/GettingStarted-BR.md b/Localization/GettingStarted-BR.md deleted file mode 100644 index 9fd09f2a40..0000000000 --- a/Localization/GettingStarted-BR.md +++ /dev/null @@ -1,206 +0,0 @@ -# Documento de Baixo Nível do Exiled -*(Escrito por [KadeDev](https://github.com/KadeDev) para a comunidade) (Traduzido por [Firething](https://github.com/Firething))* - -## Manual de Instruções -### Introdução -Exiled é uma API de baixo nível, o que significa que você pode chamar funções do jogo sem precisar de vários bloatwares de API. - -Isso permite com que o Exiled atualize-se facilmente, e ele pode ser atualizado antes mesmo da atualização chegar ao jogo. - -Isso também permite que desenvolvedores de plug-in não precisem atualizar seus códigos sempre que houver uma atualização do Exiled ou SCP:SL. Na realidade, eles nem precisarão atualizar seus plug-ins! - -Esse documento mostrará a você os básicos de como se fazer um Plug-in para o Exiled. A partir daqui, você poderá mostrar ao mundo as coisas criativas que você pode criar com essa framework! - -### Exemplo de Plug-in -Um [Exemplo de Plug-in](https://github.com/galaxy119/EXILED/tree/master/Exiled.Example) que é um plug-in simples que mostra eventos e como fazer eles adequadamente. Usar esse exemplo ajudará você a aprender a como usar o Exiled apropriadamente. Há alguns aspectos nesse plug-in que são importantes, falaremos sobre eles. - -#### Atualizações Dinâmicas em On Enable + On Disable -Exiled é uma framework que tem um comando de **Reload** que pode ser usado para recarregar todos os plug-ins e obter novos. Isso significa que você deve fazer com que seus plug-ins sejam **Dinamicamente Atualizáveis.** Isso significa que toda variável, evento, corrotina, etc *deve* ser atribuída quando ativada e anulada quando desativada. O método **On Enable** deve ativar todos, e o método **On Disable** deve desativar todos. Mas talvez você esteja se perguntando 'E o **On Reload**'? Essa função tem como objetivo carregar variáveis estáticas para que toda constante estática que você fizer não seja apagada. Então você poderia fazer algo assim: -```csharp -public static int StaticCount = 0; -public int counter = 0; - -public override void OnEnable() -{ - counter = StaticCount; - counter++; - Info(counter); -} - -public override void OnDisable() -{ - counter++; - Info(counter); -} - -public override void OnReload() -{ - StaticCount = counter; -} -``` - -E o resultado seria: -```bash -# On enable fires -1 -# Reload command -# On Disable fires -2 -# On Reload fires -# On Enable fires again -3 - -``` -(Claro, excluindo qualquer coisa além das respostas reais) -Sem fazer isso, teria ido apenas para o 1 e então para o 2 novamente. - -### Jogadores + Eventos -Agora que terminamos de fazer com que nossos plug-ins sejam **Dinamicamente Atualizáveis**, podemos focar em tentar interagir com jogadores por meio de eventos! - -Um evento é bem interessante, ele permite com que o SCP:SL se comunique com o Exiled e depois com o Exiled para todos os plug-ins! - -Você pode ouvir os eventos do seu plug-in adicionando isso à parte superior do arquivo de origem do plug-in principal: -```csharp -using EXILED; -``` -E então você precisa referenciar o arquivo `Exiled.Events.dll` para que você realmente obtenha eventos. - -Para referenciar um evento, nós estaremos utilizando uma nova classe que criamos; denominada "EventHandlers". O gerenciador de eventos não é fornecido por padrão; você deve criá-lo. - - -Nós podemos referenciá-lo no void OnEnable e OnDisable assim: - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - // Registre a classe de gerenciador de evento. E adicione o evento - // ao ouvinte de eventos 'EXILED_Events' para que obtenhamos o evento. - EventHandler = new EventHandlers(); - Player.Verified += EventHandler.PlayerVerified; -} - -public override OnDisable() -{ - // Torne-o dinamicamente atualizável. - // Fazemos isso ao remover o ouvinte para o evento e então anulando o gerenciador de eventos. - // Esse processo deve ser repetido para cada evento. - Player.Verified -= EventHandler.PlayerVerified; - EventHandler = null; -} -``` - -E na classe EventHandlers, faríamos: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - - } -} -``` -Agora conseguimos nos conectar a um evento de jogador verificado que é executado sempre que um jogador é autenticado após entrar no servidor! É importante destacar que todos eventos têm diferentes argumentos de evento, e cada tipo de argumento de evento tem propriedades diferentes associadas. - -O EXILED já fornece uma função de aviso (broadcast), então a usaremos em nosso evento: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - ev.Player.Broadcast(5, "Bem-vindo ao meu servidor maneiro!"); - } -} -``` - -Como destacado acima, todo evento tem diferentes argumentos. Abaixo há um evento diferente que desliga os portões de Tesla para jogadores da Nine-Tailed Fox. - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - EventHandler = new EventHandlers(); - Player.TriggeringTesla += EventHandler.TriggeringTesla; -} - -public override OnDisable() -{ - // Não se esqueça, eventos devem ser desconectados e anulados no metódo Disable. - Player.TriggeringTesla -= EventHandler.TriggeringTesla; - EventHandler = null; -} -``` - -E na classe EventHandlers. - -`EventHandlers.cs` -```csharp -public class EventHandlers -{ - public void TriggeringTesla(TriggeringTeslaEventArgs ev) - { - // Desativa o evento para jogadores da equipe da Fundação. - // Isso pode ser feito ao verificar o lado (side) do jogador. - if (ev.Player.Role.Side == Side.Mtf) { - // Desative o acionamento da Tesla ao definir o ev.IsTriggerable para 'false'. - // Jogadores que tiverem uma patente na FTM não irão mais ativar portões de Tesla. - ev.IsTriggerable = false; - } - } -} -``` - - -### Configurações -A maioria dos plug-ins do Exiled contém configurações. As configurações permitem que os gerentes de servidor modifiquem os plug-ins livremente, embora sejam limitadas à configuração que o desenvolvedor do plug-in fornece. - -Primeiro crie uma classe `config.cs` e mude a herança do seu plug-in de `Plugin<>` para `Plugin` - -Agora você precisa fazer essa configuração herdar `IConfig`. Após herdar de `IConfig`, adicione uma propriedade para a classe titulada como `IsEnabled` e `Debug`. Sua classe de Configuração agora deve se assemelhar a isso: - -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - } -``` - -Você pode adicionar qualquer opção de configuração ali e referenciá-la assim: - -`Config.cs` -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - public string TextThatINeed { get; set; } = "esse é o padrão"; - } -``` - -`MainClass.cs` -```csharp - public override OnEnabled() - { - Log.Info(Config.TextThatINeed); - } -``` - -E parabéns! Você fez o seu primeiro Plug-in para o Exiled! É importante destacar que todos os plug-ins **devem** ter uma configuração IsEnabled. Essa configuração permite que donos de servidor ativem e desativem o plug-in quando quiserem. A configuração IsEnabled será lida pelo carregador do Exiled (seu plug-in não precisa verificar se `IsEnabled == true` ou não). - -### E agora? -Se você quiser mais informações, você deve entrar no nosso [discord!](https://discord.gg/exiledreboot) - -Nós temos um canal de #resources que você pode considerar útil, assim como colaboradores do EXILED e desenvolvedores de plug-in que estariam dispostos a ajudá-lo na criação de seus plug-ins. - -Ou você poderia ler sobre todos os eventos que nós temos! Se você deseja verificá-los, veja [aqui!](https://github.com/galaxy119/EXILED/tree/master/Exiled.Events/EventArgs) diff --git a/Localization/GettingStarted-FR.md b/Localization/GettingStarted-FR.md deleted file mode 100644 index f6d7365da2..0000000000 --- a/Localization/GettingStarted-FR.md +++ /dev/null @@ -1,205 +0,0 @@ -# Exiled Documentation pour les bas niveau -*(écrit par [KadeDev](https://github.com/KadeDev) pour la communautée)* -*(traduit par [Crazy](https://github.com/CrazyMega02))* - -## Savoir bien commencer -### Intro -Exiled est une API de bas niveau, c'est à dire que vous pouvez faire appel à des fonction du jeux sans avoir besoin d'API de type bloatware (c'est à dire pré installé dans le jeux). - -Cela permet des mise à jour relativement facile d'Exiled et des mises à jour avant même que le jeux soit mise à jour lui-même. - -Cela permet aussi au developpeurs de plugin à ne pas avoir à constament mettre à jour leur code avec chaque mise à jour d'Exiled ou d'SCP:SL. Il n'y a même pas besoin de mètre à jour leur plugins! - -Ce document ci-joint va vous apprendre les bases pour la création d'un plugin Exiled.D'ici là vous pouvez motrer au monde entier toute la créativitée que vous avez en vous et pourrez créé grace à ce-ci! - -### Exemple de Plugin -Un [Exemple de Plugin](https://github.com/galaxy119/EXILED/tree/master/Exiled.Example) qui est un simple plugin montrant les différents évenements et comment les mettre en place proprement. Cette exemple vous permettra d'apprende à utiliser correctement Exiled. Plusieurs choses sont important dans ce plugin, nous allons donc les voir. - -#### On Enable + On Disable Mise à jour Dynamique -Exiled est un framework qui dispose d'une commande de **Rechargement** qui peut être utilisée pour recharger tous les plugins et en obtenir de nouveaux. Cela signifie que vous devez rendre vos plugins **Dynamiquement à jour.** Cela signifie que chaque variable, événement, coroutine, etc. *doit* être assigné lorsqu'il est activé et annulé lorsqu'il est désactivé. La méthode **On Enable** devrait tout activer, et la méthode **On Disable** devrait tout désactiver. Mais vous vous demandez peut-être ce qu'il en est de **On Reload**? Cette fonction est destinée à transférer les variables statiques, c'est-à-dire que toutes les constantes statiques que vous créez ne seront pas effacées. Vous pouvez donc faire quelque chose comme cela : -```csharp -public static int StaticCount = 0; -public int counter = 0; - -public override void OnEnable() -{ - counter = StaticCount; - counter++; - Info(counter); -} - -public override void OnDisable() -{ - counter++; - Info(counter); -} - -public override void OnReload() -{ - StaticCount = counter; -} -``` - -Et le résultat serait : -```bash -# On enable fires -1 -# Reload command -# On Disable fires -2 -# On Reload fires -# On Enable fires again -3 - -``` -Bien sûr, excluant tout ce qui est autre que les réponses réelles. Sans cela, il serait simplement passé à 1 puis à 2 à nouveau. - -### Joueurs + Events -Maintenant que nous avons terminé de rendre nos plugins **Dynamiquement à jour**, nous pouvons nous concentrer sur la tentative d'interaction avec les joueurs grâce aux événements ! - -Un événement est assez cool, il permet à SCP:SL de communiquer avec Exiled, puis à Exiled avec tous les plugins ! - -Vous pouvez écouter les événements pour votre plugin en ajoutant ceci en haut de votre fichier source principal du plugin : -```csharp -using EXILED; -``` -Ensuite, vous devez référencer le fichier `Exiled.Events.dll` pour réellement obtenir des événements. - -Pour référencer un événement, nous utiliserons une nouvelle classe que nous créons ; appelée "EventHandlers". Le gestionnaire d'événements n'est pas fourni par défaut ; vous devez le créer. - -Nous pouvons le référencer dans les méthodes OnEnable et OnDisable de la manière suivante : - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - // Enregistrez la classe gestionnaire d'événements. Et ajoutez l'événement, - // à l'écouteur d'événements EXILED_Events pour obtenir l'événement. - EventHandler = new EventHandlers(); - Player.Verified += EventHandler.PlayerVerified; -} - -public override OnDisable() -{ - // Rendez-le dynamiquement mis à jour. - // Nous faisons cela en supprimant l'écouteur de l'événement, puis en annulant le gestionnaire d'événements. - // Ce processus doit être répété pour chaque événement. - Player.Verified -= EventHandler.PlayerVerified; - EventHandler = null; -} -``` - -Et dans la classe EventHandlers, nous ferions : - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - - } -} -``` -Maintenant, nous nous sommes correctement connectés à un événement de joueur vérifié qui se déclenche chaque fois qu'un joueur est authentifié après avoir rejoint le serveur ! Il est important de noter que chaque événement a des arguments d'événement différents, et chaque type d'argument d'événement a des propriétés différentes qui lui sont associées. - -EXILED fournit déjà une fonction de diffusion, alors utilisons-la dans notre événement : - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - ev.Player.Broadcast(5, "Welcome to my cool server!"); - } -} -``` - -Comme indiqué ci-dessus, chaque événement a des arguments différents. Ci-dessous se trouve un événement différent qui désactive les portes Tesla pour les joueurs Nine-Tailed Fox. - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - EventHandler = new EventHandlers(); - Player.TriggeringTesla += EventHandler.TriggeringTesla; -} - -public override OnDisable() -{ - // N'oubliez pas, les événements doivent être déconnectés et annulés dans la méthode de désactivation. - Player.TriggeringTesla -= EventHandler.TriggeringTesla; - EventHandler = null; -} -``` - -Et dans la classe EventHandlers. - -`EventHandlers.cs` -```csharp -public class EventHandlers -{ - public void TriggeringTesla(TriggeringTeslaEventArgs ev) - { - // Désactiver l'événement pour les joueurs du personnel de la Fondation. - // Cela peut être accompli en vérifiant le côté du joueur. - if (ev.Player.Role.Side == Side.Mtf) { - // Désactivez le déclencheur de la porte Tesla en définissant ev.IsTriggerable sur false. - // Les joueurs ayant un rang MTF ne déclencheront plus les portes Tesla. - ev.IsTriggerable = false; - } - } -} -``` - - -### Configs -La majorité des plugins Exiled contiennent des configurations. Les configurations permettent aux administrateurs de serveur de modifier les plugins selon leurs besoins, bien que cela soit limité à la configuration fournie par le développeur du plugin. - -Commencez par créer une classe `config.cs`, et changez l'héritage de votre plugin de `Plugin<>` à `Plugin`. - -Maintenant, vous devez faire en sorte que cette configuration hérite de `IConfig`. Après avoir hérité de `IConfig`, ajoutez une propriété à la classe intitulée `IsEnabled` et `Debug`. Votre classe Config devrait maintenant ressembler à ceci : - -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - } -``` - -Vous pouvez ajouter n'importe quelle option de configuration là-dedans et y faire référence comme ceci : - -`Config.cs` -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - public string TextThatINeed { get; set; } = "this is the default"; - } -``` - -`MainClass.cs` -```csharp - public override OnEnabled() - { - Log.Info(Config.TextThatINeed); - } -``` - -Et félicitations ! Vous avez créé votre tout premier plugin Exiled ! Il est important de noter que tous les plugins **doivent** avoir une configuration IsEnabled. Cette configuration permet aux propriétaires de serveurs d'activer et de désactiver le plugin à leur guise. La configuration IsEnabled sera lue par le chargeur Exiled (votre plugin n'a pas besoin de vérifier si `IsEnabled == true` ou non). - -### Que faire Maintenant ? -Si vous voulez plus d'informations, vous devriez rejoindre notre [discord!](https://discord.gg/exiledreboot) - -Nous avons un canal #resources que vous pourriez trouver utile, ainsi que des contributeurs Exiled et des développeurs de plugins qui seraient prêts à vous aider dans la création de votre/vos plugin(s). - -Ou vous pourriez consulter tous les événements que nous avons ! Si vous voulez les consulter, [ici!](https://github.com/galaxy119/EXILED/tree/master/Exiled.Events/EventArgs) diff --git a/Localization/GettingStarted-KR.md b/Localization/GettingStarted-KR.md deleted file mode 100644 index ef014bc6c7..0000000000 --- a/Localization/GettingStarted-KR.md +++ /dev/null @@ -1,214 +0,0 @@ -# Exiled 저수준 문서 -*(Written by [KadeDev](https://github.com/KadeDev) for the community) (번역: [Cocoa](https://github.com/Cocoa2219))* - -## 시작하기 -### 개요 -Exiled는 불필요한 부분 없이 게임에서 함수를 직접적으로 호출 할 수 있는 저수준 API입니다. - -이 덕분에 Exiled는 업데이트가 상당히 쉽고, 게다가 게임이 업데이트하기도 전에 Exiled가 업데이트될 수 있습니다. - -또한 이것은 플러그인 개발자들이 SCP:SL 또는 Exiled의 업데이트마다 코드를 바꿀 필요가 없다는 것을 나타냅니다. - -이 문서는 Exiled 플러그인을 만들기 위한 가장 기본적인 부분을 설명하고 있습니다. 여기서부터 Exiled와 함께 당신의 창의력으로 무엇이든지 만들어보세요! - -### 플러그인 예제 -이 [플러그인 예제](https://github.com/galaxy119/EXILED/tree/master/Exiled.Example)는 이벤트를 사용하는 방법과 기본적인 구조를 설정하는 방법을 잘 나타내고 있습니다. 이것을 통해 Exiled를 제대로 사용하는 방법을 알 수 있으며, 이 플러그인 예제 안에는 몇 가지의 중요한 부분이 있습니다. 한번 볼까요? - -#### OnEnable + OnDisable 동적 업데이트 -Exiled는 **Reload** 명령어를 통해 원래 있던 모든 플러그인과 새 플러그인들을 리로드 할 수 있습니다. 이 말은 여러분이 여러분들의 플러그인을 **동적으로 업데이트** 할 수 있게 만들어야 한다는 뜻입니다. 모든 변수, 이벤트, 코루틴 등등은 *무조건* 활성화되었을 때 할당되고 비활성화되었을 때 null이 되어야 합니다. **OnEnable** 메소드는 모든 것들을 활성화시켜야 하고, **OnDisable** 메소드는 모든 것을 비활성화시켜야 합니다. 그러면 **OnReload**는 뭘까요? 정적인 변수들은 리로드 될 때 지워지지 않으므로, 이 메소드는 변수들을 지워지게 놔두고 싶지 않을 때 사용합니다. 예를 들어: -```csharp -// 이 정적 변수는 리로딩될 때 지워지지 않습니다 -public static int StaticCount = 0; - -// 이 변수는 리로딩될 때 초기화됩니다 -public int counter = 0; - -// 플러그인 활성화 -public override void OnEnable() -{ - // StaticCount에서 저장된 값 가져오기 - counter = StaticCount; - counter++; - Info(counter); -} - -// 플러그인 비활성화 -public override void OnDisable() -{ - counter++; - Info(counter); -} - -// 플러그인 리로드 -public override void OnReload() -{ - // counter는 초기화되니 리로딩 되어도 초기화되지 않는 정적 변수에 저장 - StaticCount = counter; -} -``` - -출력값은: (가독성을 위해 출력만 보이게 간소화했습니다) -```bash -# OnEnable 호출 -1 -# Reload 명령어 사용 -# OnDisable 호출 -2 -# OnReload 호출 -# 다시 OnEnable 호출 -3 - -``` - -이렇게 하지 않으면 리로딩 될 때 counter가 1에서 2로 갔다가 변수가 초기화됩니다. - -### 플레이어 + 이벤트 -이제 플러그인을 **동적 업데이트**가 가능하게 하는 작업이 끝났습니다! 이제 플레이어와 이벤트를 통해 상호작용하는 방법을 알아봅시다. - -이벤트는 SCP:SL이 Exiled와 통신하고, Exiled가 다시 모든 플러그인과 통신할 수 있게 합니다. - -메인 플러그인 소스 코드의 맨 위에 이런 줄을 추가함으로서 이벤트를 처리할 수 있습니다: -```csharp -using EXILED; -``` -그리고 실제로 이벤트를 사용하기 위해 `Exiled.Events.dll` 파일을 참조해야 합니다. - -이벤트를 사용하기 위해 "EventHandlers"라는 새로운 클래스를 만들겠습니다. - -OnEnable과 OnDisable에서 다음과 같이 이벤트를 구독하고 구독 취소할 수 있습니다: - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - // EventHandlers 클래스를 하나 생성하고 - EventHandler = new EventHandlers(); - // 이벤트 신호를 받을 수 있게 이벤트에 메소드를 구독하세요 - Player.Verified += EventHandler.PlayerVerified; -} - -public override OnDisable() -{ - // 동적 업데이트가 가능하게 만들기 위해 이벤트에서 구독 취소하고 (모든 이벤트에서 구독 취소해야 합니다) - Player.Verified -= EventHandler.PlayerVerified; - // EventHandler를 해제하세요 - EventHandler = null; -} -``` - -그리고 EventHandlers 클래스에서는: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - - } -} -``` - -이제 (플레이어가 서버에 들어오고 나서 인증 후 호출되는) Verified 이벤트가 호출될 때 우리의 코드를 실행할 수 있습니다! 모든 이벤트는 각각의 이벤트 인수가 있고, 각각의 인수는 각각 다른 속성이 있다는 것에 주의하세요. (VerifiedEventArgs 안에는 접속한 플레이어가 담겨있는 것에 반해, HurtingEventArgs 같은 다른 인수는 공격자, 피해자, 데미지 양 등 다른 속성이 있습니다.) - -Exiled는 플레이어에게 자막을 띄울 수 있는 함수가 미리 준비되어 있으므로 사용해 봅시다: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - // 자막(또는 힌트)은 유니티 TextMeshPro의 리치 텍스트를 사용할 수 있습니다 - // 자세한 내용은 https://docs.unity3d.com/Packages/com.unity.textmeshpro@4.0/manual/RichText.html (영문)을 참고하세요 - ev.Player.Broadcast(5, "제 멋진 서버에 온 것을 환영해요!"); - } -} -``` - -위에서 설명했듯이, 모든 이벤드는 각각 다른 인수가 있습니다. 아래 코드는 NTF 진영에 한해 테슬라 작동을 중지시키는 코드입니다. - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - EventHandler = new EventHandlers(); - Player.TriggeringTesla += EventHandler.TriggeringTesla; -} - -public override OnDisable() -{ - - Player.TriggeringTesla -= EventHandler.TriggeringTesla; - EventHandler = null; -} -``` - -`EventHandlers.cs` -```csharp -public class EventHandlers -{ - public void TriggeringTesla(TriggeringTeslaEventArgs ev) - { - // 만약 플레이어의 팀이 Mtf 진영이라면 - if (ev.Player.Role.Side == Side.Mtf) { - // 테슬라 트리거를 비활성화 합니다. - ev.IsTriggerable = false; - } - } -} -``` - - -### 설정 -Exiled 플러그인의 대부분은 설정이 포함되어 있다는 것입니다. 설정으로 서버 유지관리자가 플러그인을 입맛에 맞게 (물론 플러그인 개발자가 제공하는 부분에 한하여) 바꿀 수 있습니다. - -일단 `Config` 클래스를 만들고, 메인 플러그인 클래의 상속을 `Plugin<>`에서 `Plugin` 로 바꾸세요. - -이제 `Config` 클래스가 `IConfig`으로부터 상속받아야 합니다. `IConfig`을 상속하고 난 후, `IsEnabled`와 `Debug` 2개의 속성을 클래스 안에 추가하세요. 당신의 설정 클래스는 이제 이렇게 보여야 합니다: - -```csharp -public class Config : IConfig -{ - public bool IsEnabled { get; set; } - public bool Debug { get; set; } -} -``` - -설정 옵션을 설정 클래스 안에 넣고 다음과 같이 불러올 수 있습니다: - -`Config.cs` -```csharp -public class Config : IConfig -{ - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - - // 개발자가 추가한 설정값 - public string TextThatINeed { get; set; } = "this is the default"; -} -``` - -`MainClass.cs` -```csharp -public override OnEnabled() -{ - // 불러온 설정 출력 - Log.Info(Config.TextThatINeed); -} -``` - -이제 축하합니다! 첫 Exiled 플러그인을 만드셨군요! 아, 그리고 모든 플러그인은 **무조건** IsEnabled 옵션이 있어야 한다는 것을 꼭 기억하세요. 이 옵션은 서버 유지관리자가 플러그인을 상황에 맞게 활성화하거나 비활성화 할 수 있게 할 때 꼭 필요합니다. IsEnabled 옵션은 Exiled를 불러올 때 로더가 읽을 것입니다 (`IsEnabled == true` 등 IsEnabled가 참인지 조건을 확인하지 않아도 됩니다). - -### 다음으론? -더 많은 정보를 얻고 싶으시다면 [디스코드](https://discord.gg/exiledreboot)에 가입해보세요! - -#resources 채널에 들어가 유용한 정보들을 찾을 수 있으며, 여러분의 플러그인 개발을 기꺼이 도와줄 Exiled 기여자분들 또는 플러그인 개발자분들이 준비되어 있습니다. - -...아니면 현재 존재하는 이벤트를 모두 읽고 싶으시다면 [여기](https://github.com/galaxy119/EXILED/tree/master/Exiled.Events/EventArgs)를 클릭해주세요! diff --git "a/Localization/GettingStarted-\340\271\204\340\270\227\340\270\242.md" "b/Localization/GettingStarted-\340\271\204\340\270\227\340\270\242.md" deleted file mode 100644 index 20bacabcde..0000000000 --- "a/Localization/GettingStarted-\340\271\204\340\270\227\340\270\242.md" +++ /dev/null @@ -1,207 +0,0 @@ -# เอกสารประกอบ Exiled ระดับล่าง -*(เขียนโดย [KadeDev](https://github.com/KadeDev) สำหรับชุมชน)* - -## เริ่มต้นใช้งาน -### บทนำ -Exiled เป็น API ระดับต่ำ ซึ่งหมายความว่าคุณสามารถเรียกใช้ฟังก์ชันต่างๆ จากเกมได้โดยไม่ต้องใช้โบลตแวร์ API จำนวนมาก. - -ซึ่งช่วยให้อัปเดต Exiled ได้อย่างง่ายดาย, และสามารถอัปเดต Exiled ได้ก่อนที่การอัปเดตจะเข้าสู่เกมด้วยซ้ำ. - -นอกจากนี้ยังช่วยให้นักพัฒนาปลั๊กอินไม่ต้องเปลี่ยนโค้ดหลังจากทุกอัปเดตของ Exiled หรือ SCP:SL. ที่จริงแล้วพวกเขาไม่จำเป็นต้องอัปเดตปลั๊กอินด้วยซ้ำ! - -เอกสารนี้จะแสดงพื้นฐานเบื้องต้นของการสร้าง Exiled Plugin จากที่นี่. คุณสามารถเริ่มแสดงให้โลกเห็นว่าคุณสร้างสรรค์สิ่งสร้างสรรค์อะไรได้บ้างด้วยเฟรมเวิร์กนี้! - -### ตัวอย่างปลั๊กอิน -นี้คือ [ตัวอย่างปลั๊กอิน](https://github.com/galaxy119/EXILED/tree/master/Exiled.Example) ซึ่งเป็นปลั๊กอินง่ายๆ ที่แสดงอีเวนท์ต่างๆ และวิธีสร้างอีเวนท์อย่างเหมาะสม. การใช้ตัวอย่างนี้จะช่วยให้คุณเรียนรู้วิธีใช้ Exiled ได้อย่างถูกต้อง. มีสองสิ่งที่สำคัญในปลั๊กอินนั้น, มาพูดถึงกันดีกว่า - -#### On Enable + On Disable Dynamic Updates -Exiled เป็นเฟรมเวิร์กที่มีคำสั่ง **Reload** ซึ่งสามารถใช้เพื่อรีโหลดปลั๊กอินทั้งหมดและโหลดปลั๊กอินใหม่. ซึ่งหมายความว่าคุณต้องทำให้ปลั๊กอินของคุณ **Dynamically Updatable.** ซึ่งหมายความว่าทุกตัวแปร, อีเวนท์, coroutine, ฯลฯ *ต้อง* ได้รับการกำหนดเมื่อเปิดใช้งาน และจะเป็น nullified เมื่อปิดใช้งาน. วิธี **On Enable** ควรเปิดใช้งานทั้งหมด, และวิธีการ **เปิดปิดใช้งาน** ควรปิดใช้งานทั้งหมด. แต่คุณอาจสงสัยว่า **On Reload** เป็นอย่างไร? void นั้นมีไว้เพื่อส่งต่อตัวแปรคงที่, เนื่องจากค่าคงที่คงที่ทุกค่าที่คุณสร้างจะไม่ถูกล้าง. ดังนั้นคุณสามารถทำสิ่งนี้ได้: -```csharp -public static int StaticCount = 0; -public int counter = 0; - -public override void OnEnable() -{ - counter = StaticCount; - counter++; - Info(counter); -} - -public override void OnDisable() -{ - counter++; - Info(counter); -} - -public override void OnReload() -{ - StaticCount = counter; -} -``` - -และผลลัพธ์ที่ได้จะเป็น: -```bash -# On enable fires -1 -# Reload command -# On Disable fires -2 -# On Reload fires -# On Enable fires again -3 - -``` -(แน่นอนว่าไม่รวมสิ่งใดนอกจากการตอบกลับที่เกิดขึ้นจริง) -หากไม่ทำเช่นนี้ มันก็จะต้องไปที่ 1 แล้วจึงไปที่ 2 อีกครั้ง - -### Players + Events -ตอนนี้เราเสร็จสิ้นการทําปลั๊กอิน **Dynamically Updatable** เเล้ว เรามุ่งความสนใจไปที่การพยายามโต้ตอบกับผู้เล่นในอีเวนท์ต่างๆ ได้เลย! - -อีเวนท์นี้เจ๋งมาก, ช่วยให้ SCP:SL สามารถสื่อสารกับ Exiled และต่อด้วย Exiled ไปยังปลั๊กอินทั้งหมดได้! - -คุณสามารถฟังอีเวนท์สำหรับปลั๊กอินของคุณได้โดยเพิ่มสิ่งนี้ไว้ที่ด้านบนของไฟล์ต้นฉบับปลั๊กอินหลักของคุณ: -```csharp -using EXILED; -``` -จากนั้นคุณจะต้องอ้างอิงไฟล์ reference `Exiled.Events.dll` เพื่อให้คุณสามารถรับอีเวนท์ได้จริง. - -เพื่ออ้างอิงถึงอีเวนท์ เราจะใช้คลาสใหม่ที่เราสร้างขึ้น; เรียกว่า "EventHandlers". ตัวจัดการอีเวนท์ไม่ได้จัดเตรียมไว้ตามค่าเริ่มต้น; คุณต้องสร้างมันขึ้นมา. - -เราสามารถอ้างอิง reference ได้ใน void OnEnable และ voide OnDisable ดังนี้: - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - // ลงทะเบียนคลาสตัวจัดการอีเวนท์. และเพิ่มอีเวนท์, - // ไปยัง Listener EXILED_Events ดังนั้นเราจึงได้รับอีเวนท์. - EventHandler = new EventHandlers(); - Player.Verified += EventHandler.PlayerVerified; -} - -public override OnDisable() -{ - // ทำให้สามารถอัปเดตได้แบบไดนามิก. - // เราทำเช่นนี้โดยการลบ Listener สำหรับอีเวนท์ออก จากนั้นจึงลบล้างตัวจัดการอีเวนท์. - // กระบวนการนี้จะต้องทำซ้ำสำหรับแต่ละอีเวนท์. - Player.Verified -= EventHandler.PlayerVerified; - EventHandler = null; -} -``` - -และในคลาส EventHandlers เราจะทำ: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - - } -} -``` -ตอนนี้เราได้ทําสำเร็จในการเชื่อมต่อกับอีเวนท์ VerifiedEventArgs ซึ่งจะเริ่มทำงานเมื่อผู้เล่นได้รับการรับรองความถูกต้องหลังจากเข้าร่วมเซิร์ฟเวอร์! -สิ่งสำคัญคือต้องทราบว่าทุกอีเวนท์มีอาร์กิวเมนต์อีเวนท์ที่แตกต่างกัน, และอาร์กิวเมนต์อีเวนท์แต่ละประเภทมีคุณสมบัติที่แตกต่างกันที่เกี่ยวข้อง. - -EXILED มีฟังก์ชั่น broadcast อยู่แล้ว, ดังนั้นเรามาใช้ในอีเวนท์ของเรากันดีกว่า: - -```csharp -public class EventHandlers -{ - public void PlayerVerified(VerifiedEventArgs ev) - { - ev.Player.Broadcast(5, "Welcome to my cool server!"); - } -} -``` - -ตามที่กล่าวไว้ข้างต้น, ทุกอีเวนท์มีข้อโต้แย้งที่แตกต่างกัน. ด้านล่างนี้เป็นอีเวนท์อื่นที่จะปิดประตู Tesla สำหรับผู้เล่น Nine-Tailed Fox. - -`MainClass.cs` -```csharp -using Player = Exiled.Events.Handlers.Player; - -public EventHandlers EventHandler; - -public override OnEnable() -{ - EventHandler = new EventHandlers(); - Player.TriggeringTesla += EventHandler.TriggeringTesla; -} - -public override OnDisable() -{ - // อย่าลืมว่าอีเวนท์จะต้องถูกตัดการเชื่อมต่อและทำให้เป็น null ในเมธอด disable. - Player.TriggeringTesla -= EventHandler.TriggeringTesla; - EventHandler = null; -} -``` - -และในคลาส EventHandlers. - -`EventHandlers.cs` -```csharp -public class EventHandlers -{ - public void TriggeringTesla(TriggeringTeslaEventArgs ev) - { - // ปิดการใช้งานอีเวนท์สำหรับผู้เล่นบุคลากรของ foundation. - // ซึ่งสามารถทำได้โดยการตรวจสอบฝั่งผู้เล่น. - if (ev.Player.Role.Side == Side.Mtf) { - // ปิดการใช้งานทริกเกอร์ tesla โดยการตั้งค่า ev.IsTriggerable เป็น false. - // ผู้เล่นที่เป็น MTF จะไม่เปิด Tesla อีกต่อไป. - ev.IsTriggerable = false; - } - } -} -``` - - -### Configs -ปลั๊กอิน Exiled ส่วนใหญ่มีการกำหนดค่า configs. การกำหนดค่า configs ช่วยให้ผู้ดูแลเซิร์ฟเวอร์สามารถแก้ไขปลั๊กอินตามความต้องการได้, แม้ว่าจะจำกัดอยู่เพียงการกำหนดค่าที่ผู้พัฒนาปลั๊กอินจัดเตรียมไว้ให้ก็ตาม. - -ขั้นแรกให้สร้างคลาส `config.cs` และเปลี่ยนการสืบทอดปลั๊กอินของคุณจาก `Plugin<>` เป็น `Plugin` - -ตอนนี้คุณต้องทำให้การกำหนดค่า config นั้นสืบทอด `IConfig`. หลังจากสืบทอดจาก `IConfig`, แล้วให้เพิ่มคุณสมบัติให้กับคลาสชื่อ 'IsEnabled` และ 'Debug'. คลาส Config ของคุณควรมีลักษณะดังนี้: - -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - } -``` - -คุณสามารถเพิ่มตัวเลือกการกำหนดค่า config ใดๆ ในนั้นและอ้างอิงดังนี้: - -`Config.cs` -```csharp - public class Config : IConfig - { - public bool IsEnabled { get; set; } - public bool Debug { get; set; } - public string TextThatINeed { get; set; } = "this is the default"; - } -``` - -`MainClass.cs` -```csharp - public override OnEnabled() - { - Log.Info(Config.TextThatINeed); - } -``` - -แล้วก็ขอแสดงความยินดีด้วย! คุณได้สร้าง Exiled Plugin ตัวแรกของคุณแล้ว! สิ่งสำคัญคือต้องทราบว่าปลั๊กอินทั้งหมด **ต้อง** มีการกำหนดค่า config IsEnabled. -การกำหนดค่า config นี้ทำให้เจ้าของเซิร์ฟเวอร์สามารถเปิดใช้งานและปิดใช้งานปลั๊กอินได้ตามต้องการ. Exiled Loader จะอ่านการกำหนดค่า config IsEnabled (ปลั๊กอินของคุณไม่จำเป็นต้องตรวจสอบว่า `IsEnabled == true` หรือไม่.). - -### เเล้วอย่างไรต่อ? -หากคุณต้องการข้อมูลเพิ่มเติมคุณควรเข้าร่วม [discord ของเรา!](https://discord.gg/exiledreboot) - -เรามีช่อง #dev-resources ที่คุณอาจพบว่ามีประโยชน์, เช่นเดียวกับผู้มีส่วนร่วมที่ Exiled และนักพัฒนาปลั๊กอินที่ยินดีช่วยเหลือคุณในการสร้างปลั๊กอินของคุณ. - -หรือคุณสามารถอ่านอีเวนท์ทั้งหมดที่เรามี! คุณสามารถที่จะตรวจสอบได้จาก [ตรงนี้!](https://github.com/galaxy119/EXILED/tree/master/Exiled.Events/EventArgs) diff --git a/Localization/README-BR.md b/Localization/README-BR.md index c8b9078d8b..9ee0f4efb4 100644 --- a/Localization/README-BR.md +++ b/Localization/README-BR.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
O EXILED é uma estrutura para plug-ins de alto nível aos servidores de SCP: Secret Laboratory. Ele oferece um sistema de eventos para os desenvolvedores usarem com o intuito de manipular, alterar o código do jogo ou implementar suas próprias funções. Todos os eventos do EXILED são codificados com Harmony, o que significa que não requerem edição direta dos Assemblies do servidor para funcionar, o que permite dois benefícios exclusivos. @@ -22,13 +32,14 @@ Todos os eventos do EXILED são codificados com Harmony, o que significa que nã - [中文](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-中文.md) - [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) - [Polski](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-PL.md) -- [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) - [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) - [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) - [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) - [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Instalação A instalação do EXILED é bastante simples. Ele se carrega por meio da API de plug-in da NW. É por isso que existem duas pastas dentro de ``Exiled.tar.gz`` nos arquivos de lançamento. ``SCP Secret Laboratory`` contém os arquivos necessários para carregar os recursos do EXILED na pasta ``EXILED``. Com isso dito, tudo o que você precisa fazer é mover essas duas pastas para o caminho adequado que é explicado abaixo, e pronto! @@ -94,7 +105,7 @@ No entanto, alguns plug-ins podem obter suas configurações de outros locais po # Para Desenvolvedores -Se você deseja fazer um plug-in ao EXILED, é bem simples de fazê-lo. Se você quiser ver algum tipo de tutorial, visite nosso [Manual de Instruções.](https://github.com/Exiled-Team/EXILED/blob/master/Localization/GettingStarted-BR.md) +Se você deseja fazer um plug-in ao EXILED, é bem simples de fazê-lo. Se você quiser ver algum tipo de tutorial, visite nosso [Manual de Instruções.](https://exiled.to/Archive/GettingStarted) Para tutoriais mais abrangentes e ativamente atualizados, consulte [o site da EXILED](https://exiled.to). diff --git a/Localization/README-CS.md b/Localization/README-CS.md index 87a12745d3..7b306dea74 100644 --- a/Localization/README-CS.md +++ b/Localization/README-CS.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED je vysokoúrovňové rozhraní pro pluginy na servery hry SCP: Secret Laboratory. Nabízí systém "eventů", tedy událostí, které mohou vývojáři využít k manipulaci nebo změně herního kódu či implementaci vlastních funkcí. Všechny EXILED eventy jsou kódovány pomocí Harmony, což znamená, že ke svému fungování nevyžadují přímé úpravy serverových sestav, což přináší dvě jedinečné výhody. @@ -23,8 +33,13 @@ Všechny EXILED eventy jsou kódovány pomocí Harmony, což znamená, že ke sv - [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) - [Polski](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-PL.md) - [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) -- [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) +- [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) +- [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Instalace Instalace EXILED je poměrně jednoduchá. Načítá se prostřednictvím rozhraní NW Plugin API. Proto jsou uvnitř archivu ``Exiled.tar.gz`` ve vydaných verzích EXILED dvě složky. Složka ``SCP Secret Laboratory`` obsahuje soubory potřebné k načtení funkcí EXILED ve složce ``EXILED``. Vzhledem k tomu stačí tyto dvě složky přesunout do příslušné cesty, která je vysvětlena níže, a je hotovo! @@ -90,7 +105,7 @@ Některé pluginy však mohou získávat svá konfigurační nastavení z jinýc # Pro vývojáře -Pokud si přejete vytvořit plugin pro EXILED, je to poměrně jednoduché. Pokud byste chtěli více návodů, navštivte prosím naši stránku [Getting Started.](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md). +Pokud si přejete vytvořit plugin pro EXILED, je to poměrně jednoduché. Pokud byste chtěli více návodů, navštivte prosím naši stránku [Getting Started.](https://exiled.to/Archive/GettingStarted). Obsáhlejší a aktivně aktualizované tutoriály naleznete na [webové stránce EXILED](https://exiled.to). diff --git a/Localization/README-DE.md b/Localization/README-DE.md index 3c4b2724c7..e99fe95b0f 100644 --- a/Localization/README-DE.md +++ b/Localization/README-DE.md @@ -1,15 +1,25 @@ -

EXILED - Erweiterte Laufzeitbibliothek für externe Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat auf Discord - - + Logo +
+

EXILED - EXtended In-runtime Library for External Development

+ +
EXILED ist ein hochrangiges Plugin-Framework für SCP: Secret Laboratory Server. Es bietet ein Event System, in das Entwickler einhaken können, um Spielcodes zu manipulieren oder zu ändern oder ihre eigenen Funktionen zu implementieren. Alle EXILED-EVENTS sind mit Harmony programmiert, was bedeutet, dass sie keine direkte Bearbeitung der Serverassemblies benötigen, um zu funktionieren, was zwei einzigartige Vorteile ermöglicht. @@ -27,6 +37,9 @@ Alle EXILED-EVENTS sind mit Harmony programmiert, was bedeutet, dass sie keine d - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) - [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Installation Die Installation von EXILED ist ziemlich einfach. Es lädt sich selbst über Northwoods Plugin API. Deshalb gibt es zwei Ordner in den ``Exiled.tar.gz`` Release-Dateien. ``SCP Secret Laboratory`` enthält die notwendigen Dateien, um EXILED-Funktionen im ``EXILED`` Ordner zu laden. Alles, was Sie tun müssen, ist, diese beiden Ordner in den entsprechenden Pfad zu verschieben, der unten erklärt wird, und Sie sind fertig! @@ -94,7 +107,7 @@ Einige Plugins erhalten jedoch ihre Konfigurationseinstellungen aus anderen Stan # Für Entwickler/Developmer -Wenn Sie ein Plugin für EXILED erstellen möchten, ist es ziemlich einfach. Wenn Sie mehr ein Tutorial möchten, besuchen Sie bitte unsere [Getting Started Seite.](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md). +Wenn Sie ein Plugin für EXILED erstellen möchten, ist es ziemlich einfach. Wenn Sie mehr ein Tutorial möchten, besuchen Sie bitte unsere [Getting Started Seite.](https://exiled.to/Archive/GettingStarted). Für umfassendere und aktuell gehaltene Tutorials siehe [die EXILED-Website](https://exiled.to). diff --git a/Localization/README-DK.md b/Localization/README-DK.md index 66132efb1c..5e9ffe45fe 100644 --- a/Localization/README-DK.md +++ b/Localization/README-DK.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED er et plugin-framework på højt niveau til SCP: Secret Laboratory-servere. Det tilbyder et event-system, som udviklere kan bruge til at manipulere eller ændre spilkoden eller implementere deres egne funktioner. Alle EXILED-hændelser er kodet med Harmony, hvilket betyder, at de ikke kræver direkte redigering af server Assemblies for at fungere, hvilket giver to unikke fordele. @@ -25,7 +35,11 @@ Alle EXILED-hændelser er kodet med Harmony, hvilket betyder, at de ikke kræver - [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) - [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) -- [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) +- [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Installation Installation af EXILED er ganske enkel. Den indlæser sig selv gennem NW Plugin API. Det er derfor, der er to mapper inde i ``Exiled.tar.gz`` i udgivelsesfiler. ``SCP Secret Laboratory`` indeholder de nødvendige filer til at indlæse EXILED-funktioner i ``EXILED``-mappen. Når det er sagt, er alt, hvad du skal gøre, at flytte disse to mapper til den rette sti, som er forklaret nedenfor, og du er færdig! @@ -88,7 +102,7 @@ Nogle plugins kan dog selv hente deres konfigurationsindstillinger fra andre ste # For udviklere -Hvis du ønsker at lave et plugin til EXILED, er det ganske enkelt at gøre det. Hvis du gerne vil have mere vejledning, kan du besøge vores [Start Side](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md). +Hvis du ønsker at lave et plugin til EXILED, er det ganske enkelt at gøre det. Hvis du gerne vil have mere vejledning, kan du besøge vores [Start Side](https://exiled.to/Archive/GettingStarted). For mere omfattende og aktivt opdaterede vejledninger, se [EXILED-webstedet](https://exiled.to). diff --git a/Localization/README-ES.md b/Localization/README-ES.md index 03290808cc..cdfcc017f3 100644 --- a/Localization/README-ES.md +++ b/Localization/README-ES.md @@ -1,16 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
- +
EXILED es una plataforma de desarrollo de plugins para servidores de SCP: Secret Laboratory. Ofrece un sistema de eventos para desarrolladores y poder modificar o cambiar código del juego, o implementar sus propias funciones. Todos los eventos de EXILED están hechos con Harmony, lo que significa que no es necesario editar el código del juego/servidor para funcionar, esto ofrece dos beneficios únicos. @@ -21,11 +30,16 @@ Todos los eventos de EXILED están hechos con Harmony, lo que significa que no e # READMEs Traducidas - [Русский](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-Русский.md) - [中文](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-中文.md) -- [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) - [Polski](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-PL.md) - [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) +- [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) +- [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Instalación La instalación de EXILED es, en realidad, muy simple. Se carga por sí solo por la API de plugins de NW. Por este motivo hay dos carpetas en ``Exiled.tar.gz`` en el apartado de descarga. ``SCP Secret Laboratory`` contiene los archivos necesarios para cargar los recursos de la carpeta ``EXILED``. Con eso dicho, lo único que se debe hacer es mover estas carpetas al sitio adecuado, que se explican debajo, ¡y listo! @@ -92,7 +106,7 @@ Mira la documentación o pregúntale al creador del plugin en particular si tien # Para desarrolladores -Si deseas hacer un plugin para EXILED, es bastante fácil. Si prefieres ver algún tipo de tutorial, visita nuestra página de [Primeros Pasos](https://github.com/galaxy119/EXILED/blob/master/GettingStarted.md). +Si deseas hacer un plugin para EXILED, es bastante fácil. Si prefieres ver algún tipo de tutorial, visita nuestra página de [Primeros Pasos](https://exiled.to/Archive/GettingStarted). Para una guía más comprensible y tutoriales regularmente actualizados, échale un vistazo a [la página de EXILED](https://exiled.to). diff --git a/Localization/README-FR.md b/Localization/README-FR.md index 22e4960a42..c0a077a630 100644 --- a/Localization/README-FR.md +++ b/Localization/README-FR.md @@ -1,15 +1,25 @@ -

EXILED - Bibliothèque d'exécution étendue pour le développement externe

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + Logo +
+

EXILED - EXtended In-runtime Library for External Development

+ +
EXILED est un framework de plugins de haut niveau pour les serveurs SCP: Secret Laboratory. Il offre un système d'événements aux développeurs afin de manipuler ou de modifier le code du jeu ou de mettre en œuvre leurs propres fonctions. Tous les événements EXILED sont codés avec Harmony, ce qui signifie qu'ils n'ont pas besoin d'être directement modifiés dans les "server assembly" pour fonctionner, ce qui permet deux avantages uniques. @@ -27,8 +37,9 @@ EXILED est un framework de plugins de haut niveau pour les serveurs SCP: Secret - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) - [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) -- [Deutsch](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) -- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Installation L'installation d'EXILED est assez simple. Il se charge via la PluginAPI de Northwood. C'est pourquoi il y a deux dossiers à l'intérieur de l'archive ``Exiled.tar.gz`` dans les fichiers de release. ``SCP Secret Laboratory`` contient les fichiers nécessaires pour charger les fonctionnalités EXILED dans le dossier ``EXILED`` . Tout ce que vous avez à faire est de déplacer ces deux dossiers dans le chemin approprié, qui est expliqué ci-dessous, et vous avez terminé ! @@ -94,7 +105,7 @@ Cependant, certains plugins peuvent obtenir leurs paramètres de configuration # Pour les Développeurs -Si vous souhaitez créer un plugin pour EXILED, c'est relativement simple à faire. Si vous avez besoin ou souhaitez consulter un tutoriel, suivez les instructions sur notre page [Bien Commencer](https://github.com/Exiled-Team/EXILED/blob/master/Localization/GettingStarted-FR.md). +Si vous souhaitez créer un plugin pour EXILED, c'est relativement simple à faire. Si vous avez besoin ou souhaitez consulter un tutoriel, suivez les instructions sur notre page [Bien Commencer](https://exiled.to/Archive/GettingStarted). Pour des tutoriels plus complets et régulièrement mis à jour, consultez [le site d'EXILED](https://exiled.to). diff --git a/Localization/README-IT.md b/Localization/README-IT.md index 822c77dd8f..8a9b0b2f37 100644 --- a/Localization/README-IT.md +++ b/Localization/README-IT.md @@ -1,16 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
- +
EXILED è un framework di alto livello per i server di SCP: Secret Laboratory. Offre un sistema di eventi per gli sviluppatori per modificare il codice di gioco o implementare le proprie funzioni. Tutti gli eventi di EXILED sono scritti con Harmony, il che significa che non è necessaria alcuna modifica diretta agli assembly del server per farli funzionare, il che offre due vantaggi unici. @@ -24,9 +33,13 @@ Tutti gli eventi di EXILED sono scritti con Harmony, il che significa che non è - [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) - [Polski](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-PL.md) - [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) -- [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) +- [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Installation L'installazione di EXILED è piuttosto semplice. Si carica tramite l'API del plugin NW. Per questo motivo, ci sono due cartelle all'interno del file ``Exiled.tar.gz `` nei file di rilascio. ``SCP Secret Laboratory `` contiene i file necessari per caricare le funzionalità di EXILED nella cartella ``EXILED ``. Detto questo, tutto ciò che devi fare è spostare queste due cartelle nel percorso appropriato, che viene spiegato di seguito, ed è fatto! @@ -91,7 +104,7 @@ Tuttavia, alcuni plugin possono ottenere le loro impostazioni di configurazione # Per gli Sviluppatori -Se desideri creare un Plugin per EXILED, è piuttosto semplice farlo. Se vuoi un tutorial più dettagliato, visita la nostra [Pagina di Inizio](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md). +Se desideri creare un Plugin per EXILED, è piuttosto semplice farlo. Se vuoi un tutorial più dettagliato, visita la nostra [Pagina di Inizio](https://exiled.to/Archive/GettingStarted). Per tutorial più completi e costantemente aggiornati, consulta [il sito web di EXILED](https://exiled.to). diff --git a/Localization/README-KR.md b/Localization/README-KR.md index 795d162bee..63dae0e3d3 100644 --- a/Localization/README-KR.md +++ b/Localization/README-KR.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED는 SCP: 비밀 연구소 서버들을 위한 고급 플러그인 프레임워크입니다. 개발자가 게임의 코드를 바꾸거나 자신만의 기능을 넣을 수 있는 이벤트 시스템을 제공하며, 모든 EXILED 이벤트들은 Harmony로 작성되어 직접적으로 서버의 어셈블리를 바꿀 필요가 없어, 2가지의 장점을 만들어냅니다. @@ -17,7 +27,6 @@ EXILED는 SCP: 비밀 연구소 서버들을 위한 고급 플러그인 프레 - 둘째로, 프레임워크가 관련된 모든 코드가 서버 어셈블리 밖에서 작동되기 때문에, 만약 작은 업데이트가 존재하더라도, 프레임워크에는 아주 작은 영향을 미치게 됩니다. 이로 하여금 계속되는 업데이트와의 호환성이 (거의) 보장되며, 업데이트를 _필요할 때_ 할 수 있습니다. # 번역본 - - [Русский](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-Русский.md) - [中文](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-中文.md) - [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) @@ -29,7 +38,7 @@ EXILED는 SCP: 비밀 연구소 서버들을 위한 고급 플러그인 프레 - [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) - [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) - [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) -- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # EXILED 설치하기 @@ -106,7 +115,7 @@ EXILED 자체도 몇 가지 설정을 가지고 있습니다. 이 설정들은 # 개발자들을 위한 정보 -만약 EXILED 플러그인을 만들고 싶다면, 사실 간단합니다. 튜토리얼을 원한다면 [여기 (영어)](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md)를 읽어주세요. +만약 EXILED 플러그인을 만들고 싶다면, 사실 간단합니다. 튜토리얼을 원한다면 [여기 (영어)](https://exiled.to/Archive/GettingStarted)를 읽어주세요. 좀 더 상세하고 자주 업데이트 되는 튜토리얼을 원한다면, [EXILED 웹사이트](https://exiled.to)를 방문해보세요. diff --git a/Localization/README-PL.md b/Localization/README-PL.md index 66db3cde67..9570217b7c 100644 --- a/Localization/README-PL.md +++ b/Localization/README-PL.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED to wysoko poziomowy framework do tworzenia pluginów dla serwerów w grze SCP: Secret Laboratory. Oferuje on system zdarzeń, do którego programiści mogą podpinać swój kod w celu manipulacji bądź zmiany działania gry, lub implementowania własnych funkcji. Wszystkie zdarzenia EXILED'a są zaprogromowane za pomocą Harmony, co oznacza że nie wymagają bezpośredniego modyfikowania serwerowych plików Assembly, co daje dwie wyjątkowe korzyści. @@ -21,10 +31,15 @@ Wszystkie zdarzenia EXILED'a są zaprogromowane za pomocą Harmony, co oznacza - [Русский](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-Русский.md) - [中文](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-中文.md) - [Español](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ES.md) -- [Polski](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-PL.md) - [Português-BR](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-BR.md) +- [Italiano](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-IT.md) - [Čeština](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-CS.md) - [Dansk](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DK.md) +- [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) +- [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) +- [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) +- [ไทย](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-ไทย.md) # Instalacja Instalacja EXILED'a może wydawać się bardziej skomplikowana i wymagająca niż innych framework'ów ale tak naprawdę jest to całkiem proste. @@ -90,7 +105,7 @@ Niektóre pluginy mogą brać swoje configi z innych miejsc, wyżej wymieniona l # Dla programistów -Tworzenie pluginów za pomocą EXILED'a jest całkiem proste. Jeżeli chcecie dowiedzieć się więcej na ten temat odwiedźcie naszą stronę [dla początkujących](https://github.com/galaxy119/EXILED/blob/master/GettingStarted.md). +Tworzenie pluginów za pomocą EXILED'a jest całkiem proste. Jeżeli chcecie dowiedzieć się więcej na ten temat odwiedźcie naszą stronę [dla początkujących](https://exiled.to/Archive/GettingStarted). Aby uzyskać dokładniejsze i bardziej aktualne poradniki odwiedźcie [stronę EXILED'a](https://exiled.to). diff --git a/Localization/README-TR.md b/Localization/README-TR.md index e3a53ea202..cce96c6507 100644 --- a/Localization/README-TR.md +++ b/Localization/README-TR.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED, SCP: Secret Laboratory sunucuları için yüksek düzeyde bir Framework yani bir Yazılım iskeleti'dir. Geliştiricilere oyun kodunu değiştirmek veya kendi fonksiyonlarını eklemek için kullanabilecekleri bir olay sistemi sunar. Tüm EXILED eventleri(olayları) Harmony kullanılarak oluşturulmuştur, bu da demek oluyor ki eventlerin(olayların) işlevsel olabilmesi için doğrudan sunucu kodunu değiştirmenize gerek yoktur ve bu durum 2 avantaj sağlar: @@ -81,7 +91,7 @@ Ancak, bazı eklentiler kendi başlarına diğer yerlerden yapılandırma/ayarla # Geliştiriciler için -Eğer EXILED için bir eklenti yapmak istiyorsanız, bunu yapmak oldukça basittir [Daha fazla bilgi için tıkla!](https://github.com/Exiled-Team/EXILED/blob/master/GettingStarted.md). +Eğer EXILED için bir eklenti yapmak istiyorsanız, bunu yapmak oldukça basittir [Daha fazla bilgi için tıkla!](https://exiled.to/Archive/GettingStarted). Daha kapsamlı ve sürekli güncellenen öğreticiler için [EXILED websitesine](https://exiled.to) göz atın. diff --git "a/Localization/README-\320\240\321\203\321\201\321\201\320\272\320\270\320\271.md" "b/Localization/README-\320\240\321\203\321\201\321\201\320\272\320\270\320\271.md" index c0efd98c98..d589308e71 100644 --- "a/Localization/README-\320\240\321\203\321\201\321\201\320\272\320\270\320\271.md" +++ "b/Localization/README-\320\240\321\203\321\201\321\201\320\272\320\270\320\271.md" @@ -1,15 +1,26 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
+ EXILED - низкоуровневый фреймворк для серверов SCP: Secret Laboratory. Он предлагает систему событий, которую разработчики могут использовать для различных манипуляций, изменения кода игры или реализации собственных функций. Все ивенты EXILED сделаны с помощью Harmony, это означает, что для их функционирования не требуется прямого редактирования серверных сборок, что позволяет получить два уникальных преимущества: - Во-первых, весь код фреймворка может быть свободно опубликован и распространен, что позволяет разработчикам лучше понять, *как* он работает, а также предложить свои предложения по дополнению или изменению его функций. @@ -80,7 +91,7 @@ EXILED сам по себе предлагает некоторые опции # Для разработчиков -Если вы хотите создать плагин для EXILED, сделать это довольно просто. Если вы хотите получить более подробное руководство, посетите нашу страницу [Начало работы](https://github.com/galaxy119/EXILED/blob/master/GettingStarted.md). +Если вы хотите создать плагин для EXILED, сделать это довольно просто. Если вы хотите получить более подробное руководство, посетите нашу страницу [Начало работы](https://exiled.to/Archive/GettingStarted). Более полные и активно обновляемые руководства вы найдете на [сайте EXILED](https://exiled.to). diff --git "a/Localization/README-\340\271\204\340\270\227\340\270\242.md" "b/Localization/README-\340\271\204\340\270\227\340\270\242.md" index 3f17709ff1..faa16ee6e5 100644 --- "a/Localization/README-\340\271\204\340\270\227\340\270\242.md" +++ "b/Localization/README-\340\271\204\340\270\227\340\270\242.md" @@ -1,15 +1,25 @@ -

EXILED - Library รันไทม์สำหรับการพัฒนาภายนอก

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + Logo +
+

EXILED - EXtended In-runtime Library for External Development

+ +
EXILED เป็นปลั๊กอินเฟรมเวิร์คระดับสูงสำหรับเซิร์ฟเวอร์ SCP: Secret Laboratory. มันมีระบบอีเวนท์สำหรับนักพัฒนาในการเชื่อมต่อเพื่อปรับแต่งหรือเปลี่ยนแปลงโค้ดเกมหรือสร้างฟังก์ชั่นของคุณเอง. อีเวนท์ทั้งหมดของ EXILED ถูกเขียนด้วย Harmony, ซึ่งหมายความว่าไม่จำเป็นต้องแก้ไขแอสเซมบลีของเซิร์ฟเวอร์โดยตรงเพื่อให้ทำงาน, ซึ่งมีอยู่ 2 ประการที่โดดเด่น. @@ -29,6 +39,7 @@ EXILED เป็นปลั๊กอินเฟรมเวิร์คระ - [Türkçe](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-TR.md) - [German](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-DE.md) - [Français](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-FR.md) +- [한국어](https://github.com/Exiled-Team/EXILED/blob/master/Localization/README-KR.md) # การติดตั้ง การติดตั้ง EXILED นั้นง่ายมาก. มันโหลดตัวเองผ่านทาง Northwood's Plugin API. ดังนั้นภายในไฟล์ release ``Exiled.tar.gz`` จึงมีสองโฟลเดอร์. ``SCP Secret Laboratory`` มีไฟล์ที่จำเป็นในการโหลดฟีเจอร์ของ EXILED ที่อยู่ภายในโฟลเดอร์ ``EXILED``. สิ่งที่คุณต้องทำคือย้ายโฟลเดอร์ทั้งสองนี้ไปยังที่อยู่เหมาะสม, ซึ่งจะอธิบายด้านล่าง, เพียงเท่านี้คุณก็ติดตั้งเสร็จเรียบร้อย! @@ -94,7 +105,7 @@ EXILED เองมีตัวเลือกการกําหนด config # สำหรับนักพัฒนา -คุณสามารถสร้างปลั๊กอินสำหรับ EXILED ได้เอง, ไม่ยากเลย. ถ้าหากคุณต้องการคำแนะนำเพิ่มเติมกรุณาไปที่ [หน้าเริ่มต้น](https://github.com/Exiled-Team/EXILED/blob/master/Localization/GettingStarted-ไทย.md). +คุณสามารถสร้างปลั๊กอินสำหรับ EXILED ได้เอง, ไม่ยากเลย. ถ้าหากคุณต้องการคำแนะนำเพิ่มเติมกรุณาไปที่ [หน้าเริ่มต้น](https://exiled.to/Archive/GettingStarted). สำหรับบทช่วยสอนที่ครอบคลุมและอัปเดตมากขึ้น, โปรดไปที่ [เว็บไซต์ EXILED](https://exiled.to). diff --git "a/Localization/README-\344\270\255\346\226\207.md" "b/Localization/README-\344\270\255\346\226\207.md" index 5c0e872424..1efdf6b3ea 100644 --- "a/Localization/README-\344\270\255\346\226\207.md" +++ "b/Localization/README-\344\270\255\346\226\207.md" @@ -1,16 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/apis-rework?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
- +
EXILED是一个用于SCP: 秘密实验室服务器的高级插件框架。 它为开发者提供了一个可以改变游戏代码或实现其自己的功能的事件系统。 所有的EXILED事件都基于Harmony,意味着它不需要直接修改程序集来生效,使得其拥有两个独特的优点。 @@ -76,9 +85,9 @@ EXILED自身提供一些配置选项。 # 致开发者 -制作一个EXILED的插件也是一件非常轻松的事情。如果你想要一个教程,请访问我们的[入门指南](https://github.com/galaxy119/EXILED/blob/master/GettingStarted.md). +制作一个EXILED的插件也是一件非常轻松的事情。如果你想要一个教程,请访问我们的[入门指南](https://exiled.to/Archive/GettingStarted). -一个更加详细并且保持更新的教程,请见 [EXILED官网](https://exiled-team.github.io/EXILED/articles/install.html)。 +一个更加详细并且保持更新的教程,请见 [EXILED官网](https://exiled.to)。 制作插件时应遵守以下规则: diff --git a/README.md b/README.md index c8a44c4868..60eaf63e10 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,25 @@ +
+ Logo +

EXILED - EXtended In-runtime Library for External Development

- -[CI](https://github.com/Exiled-Team/EXILED/actions/workflows/main.yml/badge.svg?branch=master) -GitHub Releases -Downloads -![Github Commits](https://img.shields.io/github/commit-activity/w/Exiled-Team/EXILED/dev?style=for-the-badge&logo=git) - - Chat on Discord - - + + Build + + + Releases + + + Downloads + + + Commits + + + Discord +
+
EXILED is a high-level plugin framework for SCP: Secret Laboratory servers. It offers an event system for developers to hook into in order to manipulate or change game code or implement their own functions. All EXILED events are coded with Harmony, meaning they require no direct editing of server assemblies to function, which allows for two unique benefits. diff --git a/assets/Exiled_Icon.ico b/assets/Exiled_Icon.ico index c312791d8f..04dd043079 100644 Binary files a/assets/Exiled_Icon.ico and b/assets/Exiled_Icon.ico differ diff --git a/assets/Exiled_Icon_50x50.png b/assets/Exiled_Icon_50x50.png index 1289819d74..b5eb8a41f6 100644 Binary files a/assets/Exiled_Icon_50x50.png and b/assets/Exiled_Icon_50x50.png differ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000..ddf7b9f04b Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000000..4a6827fe56 --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docfx.json b/docfx.json index 3edc1add76..5f9cf37b3f 100644 --- a/docfx.json +++ b/docfx.json @@ -37,8 +37,8 @@ "repo": "https://github.com/Exiled-Team/EXILED", "branch": "dev" }, - "_appLogoPath": "assets/Exiled_Icon_50x50.png", - "_appFaviconPath": "assets/Exiled_Icon.ico" + "_appLogoPath": "assets/logo.png", + "_appFaviconPath": "assets/logo.png" } } } diff --git a/docs/README.md b/docs/README.md index 7773c4e89b..7c3a915001 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# Exiled Docs +# EXILED Docs This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. @@ -14,4 +14,4 @@ $ yarn $ yarn start ``` -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. \ No newline at end of file diff --git a/docs/docs/Installation/Automatic/Linux.md b/docs/docs/Installation/Automatic/Linux.md index e1248d5733..6f48c8227a 100644 --- a/docs/docs/Installation/Automatic/Linux.md +++ b/docs/docs/Installation/Automatic/Linux.md @@ -4,7 +4,7 @@ sidebar_position: 2 # Automatic Linux Installation -Download `Exiled.Installer-Linux` from [here](https://github.com/galaxy119/EXILED/releases). +Download `Exiled.Installer-Linux` from [here](https://github.com/Exiled-Team/EXILED/releases). Move it into your **server directory** and run it using `./Exiled.Installer-Linux` - Make sure the server directory is the one where LocalAdmin executable is found. diff --git a/docs/docs/Intro.md b/docs/docs/Intro.md index c53288c86f..4a4fbc94df 100644 --- a/docs/docs/Intro.md +++ b/docs/docs/Intro.md @@ -4,6 +4,12 @@ sidebar_position: 1 # Exiled Introduction +:::danger + +This documentation is outdated! Please, read the docs at [exiled.to](https://exiled.to)! + +::: + ## About EXILED **EXILED** is a low level plugin framework for SCP: Secret Laboratory. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index e5b7522ff5..b6a6c82d0c 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -6,7 +6,7 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { - title: 'Exiled', + title: 'EXILED', tagline: 'SCP:SL Low Level Plugin Framework', url: 'https://exiled-team.github.io', baseUrl: '/EXILED/', @@ -60,11 +60,6 @@ const config = { position: 'left', label: 'Documentation', }, - { - href: 'https://exiled.host/', - position: 'left', - label: 'Exiled Hosting', - }, { href: 'https://github.com/Exiled-Team/EXILED', className: 'header-github-link', @@ -72,7 +67,7 @@ const config = { position: 'right', }, { - href: 'https://discord.gg/PyUkWTg', + href: 'https://discord.gg/exiledreboot', className: 'header-discord-link', 'aria-label': 'Discord server', position: 'right', diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index 960257e633..679cbc841a 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -11,7 +11,7 @@ export default function Home() { title={`${siteConfig.title}`}>
- Exiled + EXILED

Low-Level plugin framework for SCP: Secret Laboratory servers.

exiled load
diff --git a/stylecop.json b/stylecop.json index 1388251d0d..b16da3eaf8 100644 --- a/stylecop.json +++ b/stylecop.json @@ -1,10 +1,4 @@ { - // ACTION REQUIRED: This file was automatically added to your project, but it - // will not take effect until additional steps are taken to enable it. See the - // following page for additional information: - // - // https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/EnableConfiguration.md - "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", "settings": { "documentationRules": {