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

FREE RustArena : 1.0.2 1.0.2

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
 // Reference: 0Harmony
using Oxide.Core.Plugins;
using Newtonsoft.Json;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using UnityEngine;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Oxide.Core.Plugins;
using UnityEngine;
using Oxide.Core;
using System.Collections.Generic;
using System.Linq;
using Network;
using System;
using Oxide.Core.Libraries.Covalence;
using System.Globalization;
using System.IO;
using Oxide.Core.Configuration;
using Oxide.Game.Rust.Cui;
using Steamworks.ServerList;
using Rust;
using ProtoBuf;
using Oxide.Core.Libraries;
using CompanionServer.Handlers;
using System.Runtime;
using Facepunch;
using Newtonsoft.Json;
using Oxide.Core;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core.Plugins;
using Rust;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using UnityEngine;
using static ConsoleSystem;
using System.Reflection;
using System.Collections;
using System.Net.Http.Headers;
using Oxide.Game.Rust.Libraries;
using UnityEngine.AI;
using UnityEngine.UIElements;
using Instancing;
using UnityEngine.PlayerLoop;
using Time = UnityEngine.Time;
using Harmony;
using System.Reflection.Emit;
namespace Oxide.Plugins {
    [Info("Rust Arena", "Billy Joe", "1.0.2")]
    [Description("A combat arena plugin allowing for multiple PvP arenas with players.")]
    public class RustArena : CovalencePlugin {
#region Arena Trigger
        private List<GameObject> _arenaTriggers = new List<GameObject>();
        private class ArenaTrigger : FacepunchBehaviour {
            public int arenaId = -1;
            private void OnTriggerEnter(Collider col) {
                BasePlayer player = col?.GetComponentInParent<BasePlayer>();
                if (player == null) return;
                if (Instance.CheckPlayerInventory(player)) {
                    player.ChatMessage("<color=#990000>Your Inventory MUST BE EMPTY to so you use Arena Event</color>!");
                    return;
                }
                if (Instance.FindArenaMap(Instance._save.ArenaData[arenaId].mapName) == -1) {
                    player.ChatMessage("This arena does not have a map setup, contact an admin.");
                    return;
                }
                if (Instance._save.ArenaData[arenaId].vipArena && !Instance.permission.UserHasPermission(player.UserIDString, "rustarena.vip")) {
                    if (string.IsNullOrEmpty(Instance.ArenaInfo[arenaId].arenaOwner)) {
                        player.ChatMessage("This is a vip arena, you do not have vip.");
                        return;
                    }
                }
                Instance.TeamSelectUi(player, arenaId);
            }
            private void OnTriggerExit(Collider col) {
                BasePlayer player = col?.GetComponentInParent<BasePlayer>();
                if (player == null) return;
                CuiHelper.DestroyUi(player, "TeamSelection");
                Instance.playerData[player.UserIDString].currentUi = "";
            }
        }
#endregion
#region Classes
        public class RustArenaPlayer {
            public string currentUi = "";
            public int ActiveMenu;
            public bool arenaText = true;
            public Timer arenaTextTimer = null;
            // Settings Menu
            public int WLPage, DWLPage, ABPage, AUBPage, TWLPage, TDWLPage, SAPage, RRPage = 1;
            public PlayerTeams selectedTeam = PlayerTeams.TeamA;
            // Arena Info
            public int arenaId = -1;
            public PlayerTeams team = PlayerTeams.None;
            public bool canTakeDamage = false;
            // Player Status
            public bool isOut = false;
            public bool isReady = false;
            // Players Stats
            public int RoundDamage = 0;
            public int RoundKills = 0;
            public bool died = false;
            //public Vector3 PlayerOldLocation;
        }
        public class WeaponKit {
            public string KitName;
            public List<string> weaponShortName;
            public List<WeaponAmmo> weaponAmmo;
            public List<AttachmentInfo> attachments;
        }
        public class AttachmentInfo {
            public int weapon;
            public string attachmentShortName;
        }
        public class WeaponAmmo {
            public string ammoShortName;
            public int ammoCount;
        }
        public class ArmorKit {
            public ArmorKits Helmet;
            public ArmorKits Chest;
            public ArmorKits Gloves;
            public ArmorKits Pants;
            public ArmorKits Boots;
        }
        public class ArmorKits {
            public string armorName;
            public string armorShortName;
            public ArmorType armorType;
        }
        public class ArenaSettings {
            public string arenaOwner;
            public bool isPublic = true;
            public bool antiGhost;
            public bool onlyHeadshot;
            public bool friendlyFire;
            public bool allowPickup = true;
            public bool cleanupEntities = true;
            public bool scopes;
            public bool teamWl;
            public bool sidesSwitched;
            public int roundCount = 10;
            public ActiveKit ActiveKit;
            public PlayerTeams roundWinner = PlayerTeams.None;
            public bool roundStarted;
            public bool isStarting;
            public HashSet<GameObject> Objects = new HashSet<GameObject>();
            public HashSet<BaseEntity> Items = new HashSet<BaseEntity>();
            public List<string> ArenaWhitelistedIDs;
            public List<string> ArenaBannedIDs;
            public Dictionary<PlayerTeams, int> Score;
            public Dictionary<PlayerTeams, List<string>> TeamWhitelist;
            public Dictionary<PlayerTeams, List<string>> TeamPlayers;
            public Dictionary<PlayerTeams, string> TeamNames;
        }
        public class ActiveKit {
            public WeaponKit WeaponKit;
            public ArmorKit ArmorKit;
            public int WoodWalls;
            public int Medkits;
            public int Syrimges;
            public int Bandages;
        }
        public class Arena {
            public int arenaId;
            public string zone = "";
            public bool vipArena = false;
            public string mapName = "";
        }
        public class MapData {
            public string mapName = "";
            public string mapImage = string.Empty;
            public Dictionary<PlayerTeams, Vector3> spawns = new Dictionary<PlayerTeams, Vector3>();
        }
#endregion
#region Defines
        private static HarmonyInstance _harmony;
        public static RustArena Instance;
        private const string Permcreatearena = "rustarena.create";
        private const string Permdeletearena = "rustarena.delete";
        private const string Permsetspawns = "rustarena.setspawns";
        private const string Permsetenter = "rustarena.setentrance";
        private const string SidebarPanelActiveColor = "0.04841581 0.5112139 0.6037736 0.8";
        private const string SidebarPanelUnactiveColor = "0 0 0 0";
        private const string SettingsToggleActiveColor = "0.1294118 0.3568628 0.214585 0.8";
        private const string SettingsToggleUnactiveColor = "0.3584906 0.1302065 0.1302065 0.8";
        private const string KitActiveColor = "0.1294118 0.3568628 0.214585 0.8";
        private const string KitUnactiveColor = "0.07450981 0.07450981 0.07450981 0.8";
        // Search Boxes
        private Dictionary<string, string> _teamANameInput = new Dictionary<string, string>();
        private Dictionary<string, string> _teamBNameInput = new Dictionary<string, string>();
        public Dictionary<string, RustArenaPlayer> playerData = new Dictionary<string, RustArenaPlayer>();
        public Dictionary<Connection, int> arenaConnections = new Dictionary<Connection, int>();
        public Dictionary<int, ArenaSettings> ArenaInfo = new Dictionary<int, ArenaSettings>();
        public Timer arenaText;
        ArenaSettings arenaSettings;
#endregion
#region ENums
        public enum PlayerTeams {
            TeamA, TeamB, Spectator, None
        }
        public enum ArmorType {
            Headgear, Chest, Gloves, Pants, Boots, None
        }
#endregion
#region Localization
        protected override void LoadDefaultMessages() {
            lang.RegisterMessages(new Dictionary<string, string> {
                ["NoPermission"]
                = "<color=orange>[Rust Arena]</color> You do not have permission to use this command.", ["NoArena"] = "<color=orange>[Rust Arena]</color> You have tried to join a arena that has not been setup yet, contact an admin!", ["AlreadyInArena"] = "<color=orange>[Rust Arena]</color> You're already in an arena, please leave your current one first.", ["PrivateArena"] = "<color=orange>[Rust Arena]</color> This arena is private and you are not whitelisted, please contact the arena owner.", ["BannedFromArena"] = "<color=orange>[Rust Arena]</color> The arena owner has <color=red>banned</color> you from this arena, you can join this arena if you are unbanned or the arena closes.", ["JoinedArenaTeam"] = "<color=orange>[Rust Arena]</color> You have joined Arena {0}, and are currently on {1}.", ["PlayerJoinedArena"] = "<color=orange>[Rust Arena]</color> {0} has joined the Arena.", ["JoinedArenaNoTeam"] = "<color=orange>[Rust Arena]</color> You have joined Arena {0}, although you have not been whitelisted for any teams.Contact the arena owner to be able to join a team.", ["NotInArena"] = "<color=orange>[Rust Arena]</color> You're currently not in any arena, please join one before using this command.", ["LeftArena"] = "<color=orange>[Rust Arena]</color> {0} has left the arena.", ["NewArenaOwner"] = "<color=orange>[Rust Arena]</color> {0} is the new owner of the arena.", ["NoPlayersToTransfer"] = "<color=orange>[Rust Arena]</color> There is nobody in the arena to transfer to!", ["ReadyState"] = "<color=orange>[Rust Arena]</color> {0} is {1}", ["SetEntrance"] = "<color=orange>[Rust Arena]</color> You have set/updated the entrance for Arena {0}", ["SetLobbySpawn"] = "<color=orange>[Rust Arena]</color> You have set/updated the lobby spawn.", ["SetSpawnPoint"] = "<color=orange>[Rust Arena]</color> You have set/updated the spawn point for {0} in Arena {1}", ["CreatedArena"] = "<color=orange>[Rust Arena]</color> You have created Arena {0}, this has been saved to the data file.", ["DeletedArena"] = "<color=orange>[Rust Arena]</color> You have deleted Arena {0}, this has been saved to the data file.", ["InvalidID"] = "<color=orange>[Rust Arena]</color> There is no Arena {0} in the data file, please try a different ID.", ["HealedAllPlayers"] = "<color=orange>[Rust Arena]</color> Arena Owner has healed every player in the arena.", ["ClearedAllEntities"] = "<color=orange>[Rust Arena]</color> Arena Owner has cleared all entities in the arena.", ["SwitchedSides"] = "<color=orange>[Rust Arena]</color> Arena Owner has switched the teams sides of the arena.", ["CannotSwitch"] = "<color=orange>[Rust Arena]</color> You cannot switch sides while there is a round in-progress.", ["CanNotReset"] = "<color=orange>[Rust Arena]</color> Cannot reset the arena while there is a round in-progress.", ["ResetArena"] = "<color=orange>[Rust Arena]</color> Arena Owner has reset the entire arena.", ["AlreadyRoundInProg"] = "<color=orange>[Rust Arena]</color> You can not force start when there is a round in-progress.", ["EndedRoundForced"] = "<color=orange>[Rust Arena]</color> Arena Owner has forced stopped the round, no score has been updated.", ["ArenaForceStarted"] = "<color=orange>[Rust Arena]</color> Arena Owner has force started the round.", ["RoundStartingIn"] = "<color=orange>[Rust Arena]</color> Round Starting in: <color=green>{0} Sec(s)</color>", ["RoundStarted"] = "<color=orange>[Rust Arena]</color> <color=green>Round Started!</color>", ["RoundOver"] = "<color=orange>[Rust Arena]</color> {0} has won the round, round report available.", ["PlrBannedFromArena"] = "<color=orange>[Rust Arena]</color> {0} has been <color=red>banned</color> from the arena by the arena owner.", ["UnwhitelistedFromTeam"] = "<color=orange>[Rust Arena]</color> You have been removed as you are/were not on the whitelist for that team.", ["ArenaAlreadyExist"] = "<color=orange>[Rust Arena]</color> An arena with that ID already exist, please try again.", ["MissingArgs"] = "<color=orange>[Rust Arena]</color> The command you entered is missing aruments, please follow the commands provided on product page.", ["HostSwitchedArena"] = "<color=orange>[Rust Arena]</color> The host has switched the arena to {0}.", ["WonTheRound"] = "{0} HAS WON THE ROUND", ["HostEndedRound"] = "THERE IS NO ROUND WINNER", ["NoArenaToSwitch"] = "THERE ARE <color=red>NO ARENAS</color> AVAILABE", ["TeamAKilledTeamB"] = "<size=14><color=#3399ff> {0}</color> | <color=#cc0000>{1}</color></size>", ["TeamBKilledTeamA"] = "<size=14><color=#cc0000> {0}</color> | <color=#3399ff>{1}</color></size>", ["GameOver"] = "<color=orange>[Rust Arena]</color> <color=red>GAME OVER!</color> <color=#3399ff>{0}</color> have won the game, GG!.", ["NoPlayersOnOtherTeam"] = "<color=orange>[Rust Arena]</color> There must be a player on the other team for you to be able to start the arena.", ["NotWhitelistedForTeam"] = "<color=orange>[Rust Arena]</color> You are not whitelisted to switch to that team.", ["Ready"] = "Ready", ["NotReady"] = "Not Ready", ["ArenaIsPublic"] = "<color=orange>[Rust Arena]</color> Arena Owner has set the arena to public.", ["ArenaIsPrivate"] = "<color=orange>[Rust Arena]</color> Arena Owner has set the arena to private.", ["ArenaHeadshotOnly"] = "<color=orange>[Rust Arena]</color> Arena Owner has set the arena to headshot only.", ["ArenaNotHeadshot"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned off headshot only.", ["ArenaIsFF"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned on friendly-fire.", ["ArenaIsNotFF"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned off friendly-fire.", ["ArenaScopes"] = "<color=orange>[Rust Arena]</color> Arena Owner has given everyone scopes.", ["ArenaNoScopes"] = "<color=orange>[Rust Arena]</color> Arena Owner has removed everyones scopes.", ["ArenaCleanupEnts"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned on entity cleanup.", ["ArenaNoCleanupEnts"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned off entity cleanup.", ["ArenaAllowPickup"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned on player pickup.", ["ArenaNoPickup"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned off player pickup.", ["ArenaTeamWL"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned on team whitelist.", ["ArenaNoTeamWL"] = "<color=orange>[Rust Arena]</color> Arena Owner has turned off team whitelist.",
            }
            , this);
        }
        private string GetMessage(string langKey, string playerId = null, params object[] args) => string.Format(lang.GetMessage(langKey, this, playerId), args);
        private void SendMessage(IPlayer player, string langKey, params object[] args) {
            if (player.IsConnected) player.Message(GetMessage(langKey, player.Id, args));
        }
        private void SendMessageToArena(int arenaId, string langKey, params object[] args) {
            string message = GetMessage(langKey, args : args);
            if (string.IsNullOrEmpty(message) || arenaId == -1) return;
            foreach (BasePlayer player in PlayersInArena(arenaId, true)) {
                if (player != null) player.ChatMessage(message);
            }
        }
#endregion
#region Data
        public class SaveData {
            public Vector3 LobbySpawnpoint;
            public Dictionary<int, Arena> ArenaData = new Dictionary<int, Arena>();
            public List<MapData> ArenaMaps = new List<MapData>();
            public Dictionary<int, Vector3> ArenaEntrances = new Dictionary<int, Vector3>();
        }
        private SaveData _save;
        private void SaveArenaData() => Interface.Oxide.DataFileSystem.WriteObject("RustArena", _save);
#endregion
#region Config
        public class Skins {
            [JsonProperty(PropertyName = "Use Custom Skins")]
            public bool useCustomSkins;
            [JsonProperty(PropertyName = "Team A Skins")]
            public TeamOutfitSkins TeamASkins;
            [JsonProperty(PropertyName = "Team B Skins")]
            public TeamOutfitSkins TeamBSkins;
        }
        public class TeamOutfitSkins {
            [JsonProperty(PropertyName = "Metal Facemask Skin")]
            public ulong MetalFaceSkin;
            [JsonProperty(PropertyName = "Hoodie Skin")]
            public ulong HoodieSkin;
            [JsonProperty(PropertyName = "Metal Chest Skin")]
            public ulong MetalChestSkin;
            [JsonProperty(PropertyName = "Kilt Skin")]
            public ulong KiltSkin;
            [JsonProperty(PropertyName = "Pants Skin")]
            public ulong PantsSkin;
            [JsonProperty(PropertyName = "Boots Skin")]
            public ulong BootsSkin;
        }
        public class WeaponSettings {
            [JsonProperty(PropertyName = "Default Weapon Kit (0-24)")]
            public int DefaultWeaponKit;
            [JsonProperty(PropertyName = "Weapon Kits List")]
            public List<WeaponKit> WeaponKits;
        }
        public class AttireSettings {
            [JsonProperty(PropertyName = "Default Headgear Item (0-4)")]
            public int DefaultHeadger;
            [JsonProperty(PropertyName = "Default Chest Item (5-9)")]
            public int DefaultChest;
            [JsonProperty(PropertyName = "Default Gloves Item (10-14)")]
            public int DefaultGloves;
            [JsonProperty(PropertyName = "Default Headgear Item (15-20)")]
            public int DefaultPants = 15;
            [JsonProperty(PropertyName = "Default Boots Item (20-24)")]
            public int DefaultBoots = 20;
            [JsonProperty(PropertyName = "Armor Kits (5 Options each type)")]
            public List<ArmorKits> ArmorKits;
        }
        public class KitSettings {
            [JsonProperty(PropertyName = "Weapon Kit Settings")]
            public WeaponSettings weaponSettings;
            [JsonProperty(PropertyName = "Attire Kit Settings")]
            public AttireSettings attireSettings;
            [JsonProperty(PropertyName = "Max Syringes")]
            public int MaxSyringes;
            [JsonProperty(PropertyName = "Max Medkits")]
            public int MaxMedkits;
            [JsonProperty(PropertyName = "Max Bandages")]
            public int MaxBandages;
            [JsonProperty(PropertyName = "Max Wood Walls")]
            public int MaxWoodWalls;
        }
        static Configuration config;
        public class Configuration {
            [JsonProperty(PropertyName = "Server Always Day?")]
            public bool AlwaysDay;
            [JsonProperty(PropertyName = "Skin Settings")]
            public Skins skinSettings;
            [JsonProperty(PropertyName = "Kit Settings")]
            public KitSettings kitSettings;
            public static Configuration DefaultConfig() {
                return new Configuration {
                    AlwaysDay = false, skinSettings = new Skins {
                        useCustomSkins = true, TeamASkins = new TeamOutfitSkins {
                            MetalFaceSkin = 2432948498, MetalChestSkin = 2432947351, HoodieSkin = 2416648557, PantsSkin = 2416647256, KiltSkin = 1826194479, BootsSkin = 2454376365,
                        }
                        , TeamBSkins = new TeamOutfitSkins {
                            MetalFaceSkin = 2105454370, MetalChestSkin = 2105505757, HoodieSkin = 2080975449, PantsSkin = 2080977144, KiltSkin = 2120628865, BootsSkin = 2090776132,
                        }
                    }
                    , kitSettings = new KitSettings {
                        MaxSyringes = 10, MaxMedkits = 2, MaxBandages = 9, MaxWoodWalls = 10, weaponSettings = new WeaponSettings {
                            //Interger for kit in list (0-24)
                            DefaultWeaponKit = 0,  //List of weapons, this is the max there can be.Feel free to change or remove as you wish.WeaponKits = new List<WeaponKit>()
                            {
                                new WeaponKit {
                                    KitName = "AK", weaponShortName = new List<string>() {
                                        "rifle.ak"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "AK BOLT", weaponShortName = new List<string>() {
                                        "rifle.ak", "rifle.bolt"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "AK L96", weaponShortName = new List<string>() {
                                        "rifle.ak", "rifle.l96"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "BOLT", weaponShortName = new List<string>() {
                                        "rifle.bolt"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "LR300", weaponShortName = new List<string>() {
                                        "rifle.lr300"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "LR BOLT", weaponShortName = new List<string>() {
                                        "rifle.lr300", "rifle.bolt"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "LR L96", weaponShortName = new List<string>() {
                                        "rifle.lr300", "rifle.l96"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "L96", weaponShortName = new List<string>() {
                                        "rifle.l96"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "M249", weaponShortName = new List<string>() {
                                        "lmg.m249"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 500
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "M39", weaponShortName = new List<string>() {
                                        "rifle.m39"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "SEMI", weaponShortName = new List<string>() {
                                        "rifle.semiauto"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.rifle", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "MP5", weaponShortName = new List<string>() {
                                        "smg.mp5"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "THOMPSON", weaponShortName = new List<string>() {
                                        "smg.thompson"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "CUSTOM SMG", weaponShortName = new List<string>() {
                                        "smg.2"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "M92", weaponShortName = new List<string>() {
                                        "pistol.m92"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 250
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "PYTHON", weaponShortName = new List<string>() {
                                        "pistol.python"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 120
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "P250", weaponShortName = new List<string>() {
                                        "pistol.semiauto"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 150
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "REVOLVER", weaponShortName = new List<string>() {
                                        "pistol.revolver"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.pistol", ammoCount = 120
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "SPAS-12", weaponShortName = new List<string>() {
                                        "shotgun.spas12"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.shotgun", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "PUMP", weaponShortName = new List<string>() {
                                        "shotgun.pump"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.shotgun", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "PIPE", weaponShortName = new List<string>() {
                                        "shotgun.waterpipe"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "ammo.shotgun", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "COMPOUND BOW", weaponShortName = new List<string>() {
                                        "bow.compound"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "arrow.wooden", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "CROSSBOW", weaponShortName = new List<string>() {
                                        "crossbow"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "arrow.wooden", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                        new AttachmentInfo {
                                            weapon = 0, attachmentShortName = "weapon.mod.lasersight"
                                        }
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "HUNTING BOW", weaponShortName = new List<string>() {
                                        "bow.hunting"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                        new WeaponAmmo {
                                            ammoShortName = "arrow.wooden", ammoCount = 60
                                        }
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                    }
                                }
                                , new WeaponKit {
                                    KitName = "MELEE", weaponShortName = new List<string>() {
                                        "longsword", "mace", "machete", "salvaged.cleaver", "salvaged.sword", "knife.butcher"
                                    }
                                    , weaponAmmo = new List<WeaponAmmo>() {
                                    }
                                    , attachments = new List<AttachmentInfo>() {
                                    }
                                }
                            }
                            ,
                        }
                        , attireSettings = new AttireSettings {
                            DefaultHeadger = 0, DefaultChest = 5, DefaultGloves = 10, DefaultPants = 15, DefaultBoots = 20, ArmorKits = new List<ArmorKits>() {
                                new ArmorKits {
                                    armorName = "METAL FACEMASK", armorShortName = "metal.facemask", armorType = ArmorType.Headgear
                                }
                                , new ArmorKits {
                                    armorName = "COFFEE CAN", armorShortName = "coffeecan.helmet", armorType = ArmorType.Headgear
                                }
                                , new ArmorKits {
                                    armorName = "HEAVY HELMET", armorShortName = "heavy.plate.helmet", armorType = ArmorType.Headgear
                                }
                                , new ArmorKits {
                                    armorName = "WOLF HEADRESS", armorShortName = "hat.wolf", armorType = ArmorType.Headgear
                                }
                                , new ArmorKits {
                                    armorName = "GLOWING EYES", armorShortName = "gloweyes", armorType = ArmorType.Headgear
                                }
                                , new ArmorKits {
                                    armorName = "METAL CHEST", armorShortName = "metal.plate.torso", armorType = ArmorType.Chest
                                }
                                , new ArmorKits {
                                    armorName = "ROADSIGN JACKET", armorShortName = "roadsign.jacket", armorType = ArmorType.Chest
                                }
                                , new ArmorKits {
                                    armorName = "HEAVY JACKET", armorShortName = "heavy.plate.jacket", armorType = ArmorType.Chest
                                }
                                , new ArmorKits {
                                    armorName = "WOOD CHEST", armorShortName = "wood.armor.jacket", armorType = ArmorType.Chest
                                }
                                , new ArmorKits {
                                    armorName = "NO CHEST", armorShortName = "", armorType = ArmorType.Chest
                                }
                                , new ArmorKits {
                                    armorName = "TACTICAL GLOVES", armorShortName = "tactical.gloves", armorType = ArmorType.Gloves
                                }
                                , new ArmorKits {
                                    armorName = "ROADSIGN GLOVES", armorShortName = "roadsign.gloves", armorType = ArmorType.Gloves
                                }
                                , new ArmorKits {
                                    armorName = "LEATHER GLOVES", armorShortName = "burlap.gloves", armorType = ArmorType.Gloves
                                }
                                , new ArmorKits {
                                    armorName = "BURLAP GLOVES", armorShortName = "burlap.gloves", armorType = ArmorType.Gloves
                                }
                                , new ArmorKits {
                                    armorName = "NO GLOVES", armorShortName = "", armorType = ArmorType.Gloves
                                }
                                , new ArmorKits {
                                    armorName = "ROADSIGN KILT", armorShortName = "roadsign.kilt", armorType = ArmorType.Pants
                                }
                                , new ArmorKits {
                                    armorName = "HEAVY PANTS", armorShortName = "heavy.plate.pants", armorType = ArmorType.Pants
                                }
                                , new ArmorKits {
                                    armorName = "WOOD PANTS", armorShortName = "wood.armor.pants", armorType = ArmorType.Pants
                                }
                                , new ArmorKits {
                                    armorName = "HIDE PANTS", armorShortName = "attire.hide.helterneck", armorType = ArmorType.Pants
                                }
                                , new ArmorKits {
                                    armorName = "NO PANTS", armorShortName = "", armorType = ArmorType.Pants
                                }
                                , new ArmorKits {
                                    armorName = "BOOTS", armorShortName = "shoes.boots", armorType = ArmorType.Boots
                                }
                                , new ArmorKits {
                                    armorName = "HIDE BOOTS", armorShortName = "attire.hide.boots", armorType = ArmorType.Boots
                                }
                                , new ArmorKits {
                                    armorName = "BURLAP SHOES", armorShortName = "burlap.shoes", armorType = ArmorTy
// ... [Code preview truncated due to length. Full source in attached file] ...

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