Beispiel #1
0
        //public static void Write(string message)
        //{
        //    Console.ForegroundColor = ConsoleColor.White;
        //    Console.WriteLine(message);
        //    Console.ResetColor();
        //}
        //public static void Write(string message, ConsoleColor color)
        //{
        //    Console.ForegroundColor = color;
        //    Console.WriteLine(message);
        //    Console.ResetColor();
        //}
        //public void CheckForUpdates(string xmlUrl)
        //{
        //    string updateDir = System.IO.Directory.GetCurrentDirectory() + @"\Updates\CustomKits\";
        //    string downloadURL = "";
        //    string newVersion = "";
        //    string newBuild = "";
        //    string updateInfo = "";
        //    XmlTextReader reader = null;

        //    try
        //    {
        //        reader = new XmlTextReader(xmlUrl);
        //        reader.MoveToContent();
        //        string elementName = "";

        //        if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "appinfo"))
        //        {
        //            while (reader.Read())
        //            {
        //                if (reader.NodeType == XmlNodeType.Element)
        //                {
        //                    elementName = reader.Name;
        //                }
        //                else
        //                {
        //                    if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
        //                    {
        //                        switch (elementName)
        //                        {
        //                            case "version":
        //                                newVersion = reader.Value;
        //                                break;
        //                            case "build":
        //                                newBuild = reader.Value;
        //                                break;
        //                            case "url":
        //                                downloadURL = reader.Value;
        //                                break;
        //                            case "about":
        //                                updateInfo = reader.Value;
        //                                break;
        //                        }
        //                    }
        //                }
        //            }
        //        }
        //    }
        //    catch
        //    {
        //        Logger.LogError("Update server down, please try again later\n");
        //        return;
        //    }
        //    finally
        //    {
        //        if (reader != null)
        //        {
        //            reader.Close();
        //        }
        //    }

        //    if (newVersion == PluginVersion)
        //    {
        //        if (newBuild == BuildVersion)
        //        {
        //            return;
        //        }
        //    }

        //    if (!System.IO.Directory.Exists(updateDir))
        //    {
        //        System.IO.Directory.CreateDirectory(updateDir);
        //    }

        //    if (File.Exists(updateDir + "Update-" + newVersion + ".zip"))
        //        return;

        //    try
        //    {
        //        new WebClient().DownloadFile(downloadURL, updateDir + "Update-" + newVersion + ".zip");

        //        Write(string.Format(updateInfo) + "\n", ConsoleColor.Green);
        //    }
        //    catch
        //    {
        //        Logger.LogError("The update has failed to download\n");
        //    }
        //}
        public void PlayerConnected(UnturnedPlayer player)
        {
            foreach (CustomKitsConfig.Preset Preset in Configuration.Instance.Presets)
            {
                if (player.IsAdmin)
                {
                    SlotManager.AddSlot(player, 50, ushort.MaxValue);
                }
                else
                {
                    if (!HasPerms)
                    {
                        SlotManager.AddSlot(player, 1, ushort.MaxValue);
                    }
                    else if (player.HasPermission(PERMISSION + "*") || (player.HasPermission(PERMISSION + Preset.Name) && Preset.Name == "*"))
                    {
                        SlotManager.AddSlot(player, 50, Preset.ItemLimit);
                    }
                    else if (player.HasPermission(PERMISSION + Preset.Name))
                    {
                        SlotManager.AddSlot(player, Preset.SlotCount, Preset.ItemLimit);
                    }
                    //else
                    //{
                    //    if (player.HasPermission(PERMISSION + "*"))
                    //    {
                    //        SlotManager.AddSlot(player, maxValue, Preset.ItemLimit);
                    //    }
                    //    else if (player.HasPermission(PERMISSION + Preset.Name))
                    //    {
                    //        if (Preset.Name == "*")
                    //        {
                    //            SlotManager.AddSlot(player, maxValue, Preset.ItemLimit);
                    //        }
                    //        else
                    //        {
                    //            SlotManager.AddSlot(player, Preset.SlotCount, Preset.ItemLimit);
                    //        }
                    //    }
                    //}
                }
            }

            if (!KitManager.Kits.ContainsKey(player.CSteamID.m_SteamID))
            {
                KitManager.Kits.Add(player.CSteamID.m_SteamID, new Dictionary <string, InventoryManager.Inventory>());
            }
        }
Beispiel #2
0
        public void Execute(IRocketPlayer caller, string[] command)
        {
            if (command.Length < 3)
            {
                if (caller is ConsolePlayer)
                {
                    Plugin.CustomKitsPlugin.Write(Syntax, System.ConsoleColor.Red);
                    return;
                }
                else
                {
                    UnturnedChat.Say(caller, Syntax, Color.red);
                    return;
                }
            }

            var player = UnturnedPlayer.FromName(command[0]);
            int amount = int.Parse(command[1]);
            int limit  = int.Parse(command[2]);

            if (player != null)
            {
                SlotManager.AddSlot(player, amount, limit);

                if (caller is ConsolePlayer)
                {
                    Plugin.CustomKitsPlugin.Write(Plugin.CustomKitsPlugin.Instance.Translate("gave_slot", player.DisplayName, amount, limit), System.ConsoleColor.Green);
                }
                else
                {
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("gave_slot", player.DisplayName, amount, limit));
                }

                UnturnedChat.Say(player, Plugin.CustomKitsPlugin.Instance.Translate("received_slot", caller.DisplayName, amount, limit));
            }
            else
            {
                if (caller is ConsolePlayer)
                {
                    Plugin.CustomKitsPlugin.Write(Plugin.CustomKitsPlugin.Instance.Translate("player_doesn't_exist", player.CharacterName), System.ConsoleColor.Red);
                }
                else
                {
                    UnturnedChat.Say(caller, Plugin.CustomKitsPlugin.Instance.Translate("player_doesn't_exist", player.CharacterName), Color.red);
                }
            }
        }
        public static void GiveReward(UnturnedPlayer player, string serviceName)
        {
            int    sum             = Plugin.VoteRewardsPlugin.Instance.Configuration.Instance.Rewards.Sum(p => p.Chance);
            string selectedElement = null;
            string value           = null;

            System.Random r = new System.Random();

            int i = 0, diceRoll = r.Next(0, sum);

            foreach (var reward in Plugin.VoteRewardsPlugin.Instance.Configuration.Instance.Rewards)
            {
                if (diceRoll > i && diceRoll <= i + reward.Chance)
                {
                    selectedElement = reward.Type;
                    value           = reward.Value;
                    break;
                }
                i = i + reward.Chance;
            }

            if (selectedElement == null || value == null)
            {
                UnturnedChat.Say(player, "The admin hasn't setup rewards yet.", Color.red);
                return;
            }

            // Rewards
            if (selectedElement == "item" || selectedElement == "i")
            {
                List <string> items = value.Split(',').ToList();
                foreach (string item in items)
                {
                    ushort itemID = ushort.Parse(item);

                    player.Inventory.tryAddItem(new Item(itemID, true), true);
                }

                UnturnedChat.Say(player, Plugin.VoteRewardsPlugin.Instance.Translate("reward", "some items"));
            }
            else if (selectedElement == "xp" || selectedElement == "exp")
            {
                player.Experience += uint.Parse(value);

                UnturnedChat.Say(player, Plugin.VoteRewardsPlugin.Instance.Translate("reward", value + " xp"));
            }
            else if (selectedElement == "group" || selectedElement == "permission")
            {
                R.Permissions.AddPlayerToGroup(value, player);
                R.Permissions.Reload();

                UnturnedChat.Say(player, Plugin.VoteRewardsPlugin.Instance.Translate("reward", value + " Permission Group"));
            }
            else if (selectedElement == "uconomy" || selectedElement == "money")
            {
                if (Plugin.VoteRewardsPlugin.Uconomy)
                {
                    RocketPlugin.ExecuteDependencyCode("Uconomy", (IRocketPlugin plugin) =>
                    {
                        Uconomy.Instance.Database.IncreaseBalance(player.CSteamID.ToString(), decimal.Parse(value));

                        UnturnedChat.Say(player, Plugin.VoteRewardsPlugin.Instance.Translate("reward", value + " Uconomy " + Uconomy.Instance.Configuration.Instance.MoneyName + "s"));
                    });
                }
            }
            else if (selectedElement == "slot" || selectedElement.Contains("customkit"))
            {
                if (Plugin.VoteRewardsPlugin.CustomKits)
                {
                    RocketPlugin.ExecuteDependencyCode("CustomKits", (IRocketPlugin plugin) =>
                    {
                        SlotManager.AddSlot(player, 1, int.Parse(value));

                        UnturnedChat.Say(player, Plugin.VoteRewardsPlugin.Instance.Translate("reward", "a CustomKits slot with item limit of " + value));
                    });
                }
            }

            // Optional global announcement
            if (Plugin.VoteRewardsPlugin.Instance.Configuration.Instance.GlobalAnnouncement)
            {
                foreach (SteamPlayer sP in Provider.clients)
                {
                    var p = sP.playerID.steamID;
                    if (p != player.CSteamID)
                    {
                        ChatManager.say(p, Plugin.VoteRewardsPlugin.Instance.Translate("reward_announcement", player.CharacterName, serviceName), Color.green, EChatMode.GLOBAL);
                    }
                }
            }
        }
Beispiel #4
0
 // Use this for initialization
 void OnCollisionEnter2D(Collision2D c)
 {
     sm.AddSlot(PowerEnum.None);
     Destroy(this.gameObject);
 }