Иконка ресурса

FREE NTeleportation : 1.4.0 1.4.0

Нет прав для скачивания
C#:
//#define DEBUG
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Facepunch;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Oxide.Core;
using Oxide.Core.Configuration;
using Oxide.Core.Plugins;
using Oxide.Game.Rust;
using Rust;
using UnityEngine;
using System.Reflection;
using Oxide.Core.Libraries.Covalence;
using Network;
/*
Revert teleport changes back to 1.3.8 to fix some issues with dying upon waking up after teleport
Fixed AreFriends.InvalidCastException
Fix for building priv check
Teleport pending message updated to include TPC command
*/
namespace Oxide.Plugins {
    [Info("NTeleportation", "Author Nogrod, Maintainer nivex", "1.4.0")]
    class NTeleportation : RustPlugin {
        private bool newSave;
        private string banditPrefab;
        private string outpostPrefab;
        private const bool True = true;
        private const bool False = false;
        private Vector3 Zero = default(Vector3);
        private readonly Vector3 Up = Vector3.up;
        private readonly Vector3 Down = Vector3.down;
        private const string NewLine = "\n";
        private const string ConfigDefaultPermVip = "nteleportation.vip";
        private const string PermHome = "nteleportation.home";
        private const string PermTpR = "nteleportation.tpr";
        private const string PermTpT = "nteleportation.tpt";
        private const string PermDeleteHome = "nteleportation.deletehome";
        private const string PermHomeHomes = "nteleportation.homehomes";
        private const string PermImportHomes = "nteleportation.importhomes";
        private const string PermRadiusHome = "nteleportation.radiushome";
        private const string PermTp = "nteleportation.tp";
        private const string PermTpB = "nteleportation.tpb";
        private const string PermTpConsole = "nteleportation.tpconsole";
        private const string PermTpHome = "nteleportation.tphome";
        private const string PermTpTown = "nteleportation.tptown";
        private const string PermTpOutpost = "nteleportation.tpoutpost";
        private const string PermTpBandit = "nteleportation.tpbandit";
        private const string PermTpN = "nteleportation.tpn";
        private const string PermTpL = "nteleportation.tpl";
        private const string PermTpRemove = "nteleportation.tpremove";
        private const string PermTpSave = "nteleportation.tpsave";
        private const string PermWipeHomes = "nteleportation.wipehomes";
        private const string PermCraftHome = "nteleportation.crafthome";
        private const string PermCraftTown = "nteleportation.crafttown";
        private const string PermCraftOutpost = "nteleportation.craftoutpost";
        private const string PermCraftBandit = "nteleportation.craftbandit";
        private const string PermCraftTpR = "nteleportation.crafttpr";
        private DynamicConfigFile dataConvert;
        private DynamicConfigFile dataDisabled;
        private DynamicConfigFile dataAdmin;
        private DynamicConfigFile dataHome;
        private DynamicConfigFile dataTPR;
        private DynamicConfigFile dataTPT;
        private DynamicConfigFile dataTown;
        private DynamicConfigFile dataOutpost;
        private DynamicConfigFile dataBandit;
        private Dictionary<ulong, AdminData> Admin;
        private Dictionary<ulong, HomeData> Home;
        private Dictionary<ulong, TeleportData> TPR;
        private Dictionary<string, List<string>> TPT;
        private Dictionary<ulong, TeleportData> Town;
        private Dictionary<ulong, TeleportData> Outpost;
        private Dictionary<ulong, TeleportData> Bandit;
        private bool changedAdmin;
        private bool changedHome;
        private bool changedTPR;
        private bool changedTPT;
        private bool changedTown;
        private bool changedOutpost;
        private bool changedBandit;
        private float boundary;
        private readonly int triggerLayer = LayerMask.GetMask("Trigger");
        private readonly int groundLayer = LayerMask.GetMask("Terrain", "World");
        private int buildingLayer {
            get;
            set;
        }
        = LayerMask.GetMask("Terrain", "World", "Construction", "Deployed");
        private readonly int blockLayer = LayerMask.GetMask("Construction");
        private readonly int deployedLayer = LayerMask.GetMask("Deployed");
        private readonly Dictionary<ulong, TeleportTimer> TeleportTimers = new Dictionary<ulong, TeleportTimer>();
        private readonly Dictionary<ulong, Timer> PendingRequests = new Dictionary<ulong, Timer>();
        private readonly Dictionary<ulong, BasePlayer> PlayersRequests = new Dictionary<ulong, BasePlayer>();
        private readonly Dictionary<int, string> ReverseBlockedItems = new Dictionary<int, string>();
        private readonly Dictionary<ulong, Vector3> teleporting = new Dictionary<ulong, Vector3>();
        private SortedDictionary<string, Vector3> caves = new SortedDictionary<string, Vector3>();
        private SortedDictionary<string, MonInfo> monuments = new SortedDictionary<string, MonInfo>();
        private bool outpostEnabled;
        private string OutpostTPDisabledMessage = "OutpostTPDisabled";
        private bool banditEnabled;
        private string BanditTPDisabledMessage = "BanditTPDisabled";
        [PluginReference]
        private Plugin Clans, Economics, ServerRewards, Friends, CompoundTeleport, ZoneManager, NoEscape, Vanish;
        class MonInfo {
            public Vector3 Position;
            public float Radius;
        }
#region Configuration
        private static Configuration config;
        public class InterruptSettings {
            [JsonProperty(PropertyName = "Above Water")]
            public bool AboveWater {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Balloon")]
            public bool Balloon {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Boats")]
            public bool Boats {
                get;
                set;
            }
            [JsonProperty(PropertyName = "Cargo Ship")]
            public bool Cargo {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Cold")]
            public bool Cold {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Excavator")]
            public bool Excavator {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Hot")]
            public bool Hot {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Hostile")]
            public bool Hostile {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Hurt")]
            public bool Hurt {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Lift")]
            public bool Lift {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Monument")]
            public bool Monument {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Mounted")]
            public bool Mounted {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Oil Rig")]
            public bool Oilrig {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Safe Zone")]
            public bool Safe {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Swimming")]
            public bool Swimming {
                get;
                set;
            }
            = False;
        }
        public class PluginSettings {
            [JsonProperty(PropertyName = "Interrupt TP")]
            public InterruptSettings Interrupt {
                get;
                set;
            }
            = new InterruptSettings();
            [JsonProperty(PropertyName = "Block Teleport (NoEscape)")]
            public bool BlockNoEscape {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Block Teleport (ZoneManager)")]
            public bool BlockZoneFlag {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Chat Name")]
            public string ChatName {
                get;
                set;
            }
            = "<color=red>Teleportation</color>: ";
            [JsonProperty(PropertyName = "Chat Steam64ID")]
            public ulong ChatID {
                get;
                set;
            }
            = 76561199056025689;
            [JsonProperty(PropertyName = "Check Boundaries On Teleport X Y Z")]
            public bool CheckBoundaries {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Draw Sphere On Set Home")]
            public bool DrawHomeSphere {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Homes Enabled")]
            public bool HomesEnabled {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "TPR Enabled")]
            public bool TPREnabled {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Town Enabled")]
            public bool TownEnabled {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Outpost Enabled")]
            public bool OutpostEnabled {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Bandit Enabled")]
            public bool BanditEnabled {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Strict Foundation Check")]
            public bool StrictFoundationCheck {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Cave Distance Small")]
            public float CaveDistanceSmall {
                get;
                set;
            }
            = 50f;
            [JsonProperty(PropertyName = "Cave Distance Medium")]
            public float CaveDistanceMedium {
                get;
                set;
            }
            = 70f;
            [JsonProperty(PropertyName = "Cave Distance Large")]
            public float CaveDistanceLarge {
                get;
                set;
            }
            = 110f;
            [JsonProperty(PropertyName = "Default Monument Size")]
            public float DefaultMonumentSize {
                get;
                set;
            }
            = 50f;
            [JsonProperty(PropertyName = "Minimum Temp")]
            public float MinimumTemp {
                get;
                set;
            }
            = 0f;
            [JsonProperty(PropertyName = "Maximum Temp")]
            public float MaximumTemp {
                get;
                set;
            }
            = 40f;
            [JsonProperty(PropertyName = "Blocked Items", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, string> BlockedItems {
                get;
                set;
            }
            = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
            [JsonProperty(PropertyName = "Bypass CMD")]
            public string BypassCMD {
                get;
                set;
            }
            = "pay";
            [JsonProperty(PropertyName = "Use Economics")]
            public bool UseEconomics {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Use Server Rewards")]
            public bool UseServerRewards {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Wipe On Upgrade Or Change")]
            public bool WipeOnUpgradeOrChange {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Auto Generate Outpost Location")]
            public bool AutoGenOutpost {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Auto Generate Bandit Location")]
            public bool AutoGenBandit {
                get;
                set;
            }
            = False;
        }
        public class AdminSettings {
            [JsonProperty(PropertyName = "Announce Teleport To Target")]
            public bool AnnounceTeleportToTarget {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Usable By Admins")]
            public bool UseableByAdmins {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Usable By Moderators")]
            public bool UseableByModerators {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Location Radius")]
            public int LocationRadius {
                get;
                set;
            }
            = 25;
            [JsonProperty(PropertyName = "Teleport Near Default Distance")]
            public int TeleportNearDefaultDistance {
                get;
                set;
            }
            = 30;
        }
        public class HomesSettings {
            [JsonProperty(PropertyName = "Homes Limit")]
            public int HomesLimit {
                get;
                set;
            }
            = 2;
            [JsonProperty(PropertyName = "VIP Homes Limits", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPHomesLimits {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "Cooldown")]
            public int Cooldown {
                get;
                set;
            }
            = 600;
            [JsonProperty(PropertyName = "Countdown")]
            public int Countdown {
                get;
                set;
            }
            = 15;
            [JsonProperty(PropertyName = "Daily Limit")]
            public int DailyLimit {
                get;
                set;
            }
            = 5;
            [JsonProperty(PropertyName = "VIP Daily Limits", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPDailyLimits {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Cooldowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCooldowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Countdowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCountdowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "Location Radius")]
            public int LocationRadius {
                get;
                set;
            }
            = 25;
            [JsonProperty(PropertyName = "Force On Top Of Foundation")]
            public bool ForceOnTopOfFoundation {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Check Foundation For Owner")]
            public bool CheckFoundationForOwner {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Use Friends")]
            public bool UseFriends {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Use Clans")]
            public bool UseClans {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Use Teams")]
            public bool UseTeams {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Usable Out Of Building Blocked")]
            public bool UsableOutOfBuildingBlocked {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Usable Into Building Blocked")]
            public bool UsableIntoBuildingBlocked {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Cupboard Owner When Building Blocked")]
            public bool CupOwnerAllowOnBuildingBlocked {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Allow Iceberg")]
            public bool AllowIceberg {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Cave")]
            public bool AllowCave {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Crafting")]
            public bool AllowCraft {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Above Foundation")]
            public bool AllowAboveFoundation {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Check If Home Is Valid On Listhomes")]
            public bool CheckValidOnList {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Pay")]
            public int Pay {
                get;
                set;
            }
            = 0;
            [JsonProperty(PropertyName = "Bypass")]
            public int Bypass {
                get;
                set;
            }
            = 0;
        }
        public class TPTSettings {
            [JsonProperty(PropertyName = "Use Friends")]
            public bool UseFriends {
                get;
                set;
            }
            [JsonProperty(PropertyName = "Use Clans")]
            public bool UseClans {
                get;
                set;
            }
            [JsonProperty(PropertyName = "Use Teams")]
            public bool UseTeams {
                get;
                set;
            }
            [JsonProperty(PropertyName = "Allow Cave")]
            public bool AllowCave {
                get;
                set;
            }
        }
        public class TPRSettings {
            [JsonProperty(PropertyName = "Allow Cave")]
            public bool AllowCave {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow TPB")]
            public bool AllowTPB {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Cooldown")]
            public int Cooldown {
                get;
                set;
            }
            = 600;
            [JsonProperty(PropertyName = "Countdown")]
            public int Countdown {
                get;
                set;
            }
            = 15;
            [JsonProperty(PropertyName = "Daily Limit")]
            public int DailyLimit {
                get;
                set;
            }
            = 5;
            [JsonProperty(PropertyName = "VIP Daily Limits", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPDailyLimits {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Cooldowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCooldowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Countdowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCountdowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "Request Duration")]
            public int RequestDuration {
                get;
                set;
            }
            = 30;
            [JsonProperty(PropertyName = "Block TPA On Ceiling")]
            public bool BlockTPAOnCeiling {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Usable Out Of Building Blocked")]
            public bool UsableOutOfBuildingBlocked {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Usable Into Building Blocked")]
            public bool UsableIntoBuildingBlocked {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Cupboard Owner When Building Blocked")]
            public bool CupOwnerAllowOnBuildingBlocked {
                get;
                set;
            }
            = True;
            [JsonProperty(PropertyName = "Allow Crafting")]
            public bool AllowCraft {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Pay")]
            public int Pay {
                get;
                set;
            }
            = 0;
            [JsonProperty(PropertyName = "Bypass")]
            public int Bypass {
                get;
                set;
            }
            = 0;
        }
        public class TownSettings {
            [JsonProperty(PropertyName = "Allow Cave")]
            public bool AllowCave {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Cooldown")]
            public int Cooldown {
                get;
                set;
            }
            = 600;
            [JsonProperty(PropertyName = "Countdown")]
            public int Countdown {
                get;
                set;
            }
            = 15;
            [JsonProperty(PropertyName = "Daily Limit")]
            public int DailyLimit {
                get;
                set;
            }
            = 5;
            [JsonProperty(PropertyName = "VIP Daily Limits", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPDailyLimits {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Cooldowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCooldowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "VIP Countdowns", ObjectCreationHandling = ObjectCreationHandling.Replace)]
            public Dictionary<string, int> VIPCountdowns {
                get;
                set;
            }
            = new Dictionary<string, int> {
                {
                    ConfigDefaultPermVip, 5
                }
            }
            ;
            [JsonProperty(PropertyName = "Location")]
            public Vector3 Location {
                get;
                set;
            }
            = Vector3.zero;
            [JsonProperty(PropertyName = "Usable Out Of Building Blocked")]
            public bool UsableOutOfBuildingBlocked {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Allow Crafting")]
            public bool AllowCraft {
                get;
                set;
            }
            = False;
            [JsonProperty(PropertyName = "Pay")]
            public int Pay {
                get;
                set;
            }
            = 0;
            [JsonProperty(PropertyName = "Bypass")]
            public int Bypass {
                get;
                set;
            }
            = 0;
        }
        private class Configuration {
            [JsonProperty(PropertyName = "Settings")]
            public PluginSettings Settings = new PluginSettings();
            [JsonProperty(PropertyName = "Admin")]
            public AdminSettings Admin = new AdminSettings();
            [JsonProperty(PropertyName = "Home")]
            public HomesSettings Home = new HomesSettings();
            [JsonProperty(PropertyName = "TPT")]
            public TPTSettings TPT = new TPTSettings();
            [JsonProperty(PropertyName = "TPR")]
            public TPRSettings TPR = new TPRSettings();
            [JsonProperty(PropertyName = "Town")]
            public TownSettings Town = new TownSettings();
            [JsonProperty(PropertyName = "Outpost")]
            public TownSettings Outpost = new TownSettings();
            [JsonProperty(PropertyName = "Bandit")]
            public TownSettings Bandit = new TownSettings();
        }
        protected override void LoadConfig() {
            base.LoadConfig();
            try {
                Config.Settings.Converters = new JsonConverter[] {
                    new UnityVector3Converter()
                }
                ;
                config = Config.ReadObject<Configuration>();
                if (config == null) throw new Exception();
            }
            catch {
                PrintError("Your configuration file contains an error.Using default configuration values.");
                LoadDefaultConfig();
            }
            SaveConfig();
        }
        protected override void SaveConfig() => Config.WriteObject(config);
        protected override void LoadDefaultConfig() {
            config = new Configuration();
            Puts("Loaded default configuration.");
        }
#endregion
        class DisabledData {
            [JsonProperty("List of disabled commands")]
            public List<string> DisabledCommands = new List<string>();
            public DisabledData() {
            }
        }
        DisabledData DisabledTPT = new DisabledData();
        class AdminData {
            [JsonProperty("pl")]
            public Vector3 PreviousLocation {
                get;
                set;
            }
            [JsonProperty("l")]
            public Dictionary<string, Vector3> Locations {
                get;
                set;
            }
            = new Dictionary<string, Vector3>(StringComparer.OrdinalIgnoreCase);
        }
        class HomeData {
            [JsonProperty("l")]
            public Dictionary<string, Vector3> Locations {
                get;
                set;
            }
            = new Dictionary<string, Vector3>(StringComparer.OrdinalIgnoreCase);
            [JsonProperty("t")]
            public TeleportData Teleports {
                get;
                set;
            }
            = new TeleportData();
        }
        class TeleportData {
            [JsonProperty("a")]
            public int Amount {
                get;
                set;
            }
            [JsonProperty("d")]
            public string Date {
                get;
                set;
            }
            [JsonProperty("t")]
            public int Timestamp {
                get;
                set;
            }
        }
        class TeleportTimer {
            public Timer Timer {
                get;
                set;
            }
            public BasePlayer OriginPlayer {
                get;
                set;
            }
            public BasePlayer TargetPlayer {
                get;
                set;
            }
        }
        private enum checkmode {
            home, tpr, tpa, town
        }
        ;
        protected override void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string> {
                {
                    "AdminTP", "You teleported to {0}!"
                }
                , {
                    "AdminTPTarget", "{0} teleported to you!"
                }
                , {
                    "AdminTPPlayers", "You teleported {0} to {1}!"
                }
                , {
                    "AdminTPPlayer", "{0} teleported you to {1}!"
                }
                , {
                    "AdminTPPlayerTarget", "{0} teleported {1} to you!"
                }
                , {
                    "AdminTPCoordinates", "You teleported to {0}!"
                }
                , {
                    "AdminTPTargetCoordinates", "You teleported {0} to {1}!"
                }
                , {
                    "AdminTPOutOfBounds", "You tried to teleport to a set of coordinates outside the map boundaries!"
                }
                , {
                    "AdminTPBoundaries", "X and Z values need to be between -{0} and {0} while the Y value needs to be between -100 and 2000!"
                }
                , {
                    "AdminTPLocation", "You teleported to {0}!"
                }
                , {
                    "AdminTPLocationSave", "You have saved the current location!"
                }
                , {
                    "AdminTPLocationRemove", "You have removed the location {0}!"
                }
                , {
                    "AdminLocationList", "The following locations are available:"
                }
                , {
                    "AdminLocationListEmpty", "You haven't saved any locations!"
                }
                , {
                    "AdminTPBack", "You've teleported back to your previous location!"
                }
                , {
                    "AdminTPBackSave", "Your previous location has been saved, use /tpb to teleport back!"
                }
                , {
                    "AdminTPTargetCoordinatesTarget", "{0} teleported you to {1}!"
                }
                , {
                    "AdminTPConsoleTP", "You were teleported to {0}"
                }
                , {
                    "AdminTPConsoleTPPlayer", "You were teleported to {0}"
                }
                , {
                    "AdminTPConsoleTPPlayerTarget", "{0} was teleported to you!"
                }
                , {
                    "HomeTP", "You teleported to your home '{0}'!"
                }
                , {
                    "HomeAdminTP", "You teleported to {0}'s home '{1}'!"
                }
                , {
                    "HomeSave", "You have saved the current location as your home!"
                }
                , {
                    "HomeNoFoundation", "You can only use a home location on a foundation!"
                }
                , {
                    "HomeFoundationNotOwned", "You can't use home on someone else's house."
                }
                , {
                    "HomeFoundationUnderneathFoundation", "You can't use home on a foundation that is underneath another foundation."
                }
                , {
                    "HomeFoundationNotFriendsOwned", "You or a friend need to own the house to use home!"
                }
                , {
                    "HomeRemovedInvalid", "Your home '{0}' was removed because not on a foundation or not owned!"
                }
                , {
                    "HighWallCollision", "High Wall Collision!"
                }
                , {
                    "HomeRemovedInsideBlock", "Your home '{0}' was removed because inside a foundation!"
                }
                , {
                    "HomeRemove", "You have removed your home {0}!"
                }
                , {
                    "HomeDelete", "You have removed {0}'s home '{1}'!"
                }
                , {
                    "HomeList", "The following homes are available:"
                }
                , {
                    "HomeListEmpty", "You haven't saved any homes!"
                }
                , {
                    "HomeMaxLocations", "Unable to set your home here, you have reached the maximum of {0} homes!"
                }
                , {
                    "HomeQuota", "You have set {0} of the maximum {1} homes!"
                }
                , {
                    "HomeTPStarted", "Teleporting to your home {0} in {1} seconds!"
                }
                , {
                    "PayToHome", "Standard payment of {0} applies to all home teleports!"
                }
                , {
                    "PayToTown", "Standard payment of {0} applies to all town teleports!"
                }
                , {
                    "PayToTPR", "Standard payment of {0} applies to all tprs!"
                }
                , {
                    "HomeTPCooldown", "Your teleport is currently on cooldown.You'll have to wait {0} for your next teleport."
                }
                , {
                    "HomeTPCooldownBypass", "Your teleport was currently on cooldown.You chose to bypass that by paying {0} from your balance."
                }
                , {
                    "HomeTPCooldownBypassF", "Your teleport is currently on cooldown.You do not have sufficient funds - {0} - to bypass."
                }
                , {
                    "HomeTPCooldownBypassP", "You may choose to pay {0} to bypass this cooldown."
                }
                , {
                    "HomeTPCooldownBypassP2", "Type /home NAME {0}."
                }
                , {
                    "HomeTPLimitReached", "You have reached the daily limit of {0} teleports today!"
                }
                , {
                    "HomeTPAmount", "You have {0} home teleports left today!"
                }
                , {
                    "HomesListWiped", "You have wiped all the saved home locations!"
                }
                , {
                    "HomeTPBuildingBlocked", "You can't set your home if you are not allowed to build in this zone!"
                }
                , {
                    "HomeTPSwimming", "You can't set your home while swimming!"
                }
                , {
                    "HomeTPCrafting", "You can't set your home while crafting!"
                }
                , {
                    "Request", "You've requested a teleport to {0}!"
                }
                , {
                    "RequestTarget", "{0} requested to be teleported to you! Use '/tpa' to accept!"
                }
                , {
                    "PendingRequest", "You already have a request pending, cancel that request or wait until it gets accepted or times out!"
                }
                , {
                    "PendingRequestTarget", "The player you wish to teleport to already has a pending request, try again later!"
                }
                , {
                    "NoPendingRequest", "You have no pending teleport request!"
                }
                , {
                    "AcceptOnRoof", "You can't accept a teleport while you're on a ceiling, get to ground level!"
                }
                , {
                    "Accept", "{0} has accepted your teleport request! Teleporting in {1} seconds!"
                }
                , {
                    "AcceptTarget", "You've accepted the teleport request of {0}!"
                }
                , {
                    "NotAllowed", "You are not allowed to use this command!"
                }
                , {
                    "Success", "You teleported to {0}!"
                }
                , {
                    "SuccessTarget", "{0} teleported to you!"
                }
                , {
                    "Cancelled", "Your teleport request to {0} was cancelled!"
                }
                , {
                    "CancelledTarget", "{0} teleport request was cancelled!"
                }
                , {
                    "TPCancelled", "Your teleport was cancelled!"
                }
                , {
                    "TPCancelledTarget", "{0} cancelled teleport!"
                }
                , {
                    "TPYouCancelledTarget", "You cancelled {0} teleport!"
                }
                , {
                    "TimedOut", "{0} did not answer your request in time!"
                }
                , {
                    "TimedOutTarget", "You did not answer {0}'s teleport request in time!"
                }
                , {
                    "TargetDisconnected", "{0} has disconnected, your teleport was cancelled!"
                }
                , {
                    "TPRCooldown", "Your teleport requests are currently on cooldown.You'll have to wait {0} to send your next teleport request."
                }
                , {
                    "TPRCooldownBypass", "Your teleport request was on cooldown.You chose to bypass that by paying {0} from your balance."
                }
                , {
                    "TPRCooldownBypassF", "Your teleport is currently on cooldown.You do not have sufficient funds - {0} - to bypass."
                }
                , {
                    "TPRCooldownBypassP", "You may choose to pay {0} to bypass this cooldown."
                }
                , {
                    "TPMoney", "{0} deducted from your account!"
                }
                , {
                    "TPNoMoney", "You do not have {0} in any account!"
                }
                , {
                    "TPRCooldownBypassP2", "Type /tpr {0}."
                }
                , {
                    "TPRCooldownBypassP2a", "Type /tpr NAME {0}."
                }
                , {
                    "TPRLimitReached", "You have reached the daily limit of {0} teleport requests today!"
                }
                , {
                    "TPRAmount", "You have {0} teleport requests left today!"
                }
                , {
                    "TPRTarget", "Your target is currently not available!"
                }
                , {
                    "TPDead", "You can't teleport while being dead!"
                }
                , {
                    "TPWounded", "You can't teleport while wounded!"
                }
                , {
                    "TPTooCold", "You're too cold to teleport!"
                }
                , {
                    "TPTooHot", "You're too hot to teleport!"
                }
                , {
                    "TPBoat", "You can't teleport while on a boat!"
                }
                , {
                    "TPHostile", "Can't teleport to outpost or bandit when hostile!"
                }
                , {
                    "HostileTimer", "Teleport available in {0} minutes."
                }
                , {
                    "TPMounted", "You can't teleport while seated!"
                }
                , {
                    "TPBuildingBlocked", "You can't teleport while in a building blocked zone!"
                }
                , {
                    "TPAboveWater", "You can't teleport while above water!"
                }
                , {
                    "TPTargetBuildingBlocked", "You can't teleport in a building blocked zone!"
                }
                , {
                    "TPTargetInsideBlock", "You can't teleport into a foundation!"
                }
                , {
                    "TPSwimming", "You can't teleport while swimming!"
                }
                , {
                    "TPCargoShip", "You can't teleport from the cargo ship!"
                }
                , {
                    "TPOilRig", "You can't teleport from the oil rig!"
                }
                , {
                    "TPExcavator", "You can't teleport from the excavator!"
                }
                , {
                    "TPHotAirBalloon", "You can't teleport to or from a hot air balloon!"
                }
                , {
                    "TPLift", "You can't teleport while in an elevator or bucket lift!"
                }
                , {
                    "TPBucketLift", "You can't teleport while in a bucket lift!"
                }
                , {
                    "TPRegLift", "You can't teleport while in an elevator!"
                }
                , {
                    "TPSafeZone", "You can't teleport from a safezone!"
                }
                , {
                    "TPFlagZone", "You can't teleport from this zone!"
                }
                , {
                    "TPNoEscapeBlocked", "You can't teleport while blocked!"
                }
                , {
                    "TPCrafting", "You can't teleport while crafting!"
                }
                , {
                    "TPBlockedItem", "You can't teleport while carrying: {0}!"
                }
                , {
                    "TooCloseToMon", "You can't teleport so close to the {0}!"
                }
                , {
                    "TooCloseToCave", "You can't teleport so close to a cave!"
                }
                , {
                    "HomeTooCloseToCave", "You can't set home so close to a cave!"
                }
                , {
                    "TownTP", "You teleported to town!"
                }
                , {
                    "TownTPNotSet", "Town is currently not set!"
                }
                , {
                    "TownTPDisabled", "Town is currently not enabled!"
                }
                , {
                    "TownTPLocation", "You have set the town location to {0}!"
                }
                , {
                    "TownTPStarted", "Teleporting to town in {0} seconds!"
                }
                , {
                    "TownTPCooldown", "Your teleport is currently on cooldown.You'll have to wait {0} for your next teleport."
                }
                , {
                    "TownTPCooldownBypass", "Your teleport request was on cooldown.You chose to bypass that by paying {0} from your balance."
                }
                , {
                    "TownTPCooldownBypassF", "Your teleport is currently on cooldown.You do not have sufficient funds - {0} - to bypass."
                }
                , {
                    "TownTPCooldownBypassP", "You may choose to pay {0} to bypass this cooldown."
                }
                , {
                    "TownTPCooldownBypassP2", "Type /town {0}."
                }
                , {
                    "TownTPLimitReached", "You have reached the daily limit of {0} teleports today!"
                }
                , {
                    "TownTPAmount", "You have {0} town teleports left today!"
                }
                , {
                    "OutpostTP", "You teleported to the outpost!"
                }
                , {
                    "OutpostTPNotSet", "Outpost is currently not set!"
                }
                , {
                    "OutpostTPDisabled", "Outpost is currently not enabled!"
                }
                , {
                    "OutpostTPDisabledConfig", "Bandit is currently not enabled because it isn't enabled in the config"
                }
                , {
                    "OutpostTPDisabledNoLocation", "Bandit is currently not enabled, location is not set and auto generation is disabled!"
                }
                , {
                    "OutpostTPDisabledNoLocationAutoGen", "Bandit is currently not enabled because auto generation failed!"
                }
                , {
                    "OutpostTPLocation", "You have set the outpost location to {0}!"
                }
                , {
                    "OutpostTPStarted", "Teleporting to the outpost in {0} seconds!"
                }
                , {
                    "OutpostTPCooldown", "Your teleport is currently on cooldown.You'll have to wait {0} for your next teleport."
                }
                , {
                    "OutpostTPCooldownBypass", "Your teleport request was on cooldown.You chose to bypass that by paying {0} from your balance."
                }
                , {
                    "OutpostTPCooldownBypassF", "Your teleport is currently on cooldown.You do not have sufficient funds - {0} - to bypass."
                }
                , {
                    "OutpostTPCooldownBypassP", "You may choose to pay {0} to bypass this cooldown.
// ... [Code preview truncated due to length. Full source in attached file] ...

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя 15FPS

Сверху