예제 #1
0
        public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
        {
            PlayerCommandSender playerCommandSender = sender as PlayerCommandSender;
            EPlayer             pplayer             = EPlayer.Get(((CommandSender)sender).SenderId);

            if (!CmdCooldown.Contains(pplayer))
            {
                if (sender is PlayerCommandSender ply && EPlayer.Get(ply.SenderId) is EPlayer pp && pp.Role == RoleType.Scp173)
                {
                    foreach (var effect in pp.ReferenceHub.playerEffectsController.AllEffects.Values
                             .Where(x => x.GetType() == typeof(Scp268) || x.GetType() == typeof(Amnesia)))
                    {
                        if (!effect.Enabled)
                        {
                            pp.ReferenceHub.playerEffectsController.EnableEffect(effect, 15f);
                        }
                        else
                        {
                            effect.ServerDisable();
                        }
                    }
                    pp.IsInvisible = !pp.IsInvisible;
                    pp.Broadcast(5, $"You are now {(pp.IsInvisible ? "invisible" : "visible")}!");
                    response = $"You are {(pp.IsInvisible ? "Invisible" : "Visible")} now";
                    if (pp.IsInvisible)
                    {
                        Timing.CallDelayed(15f, () =>
                        {
                            pp.IsInvisible = false;
                        });
                    }
                    foreach (EPlayer shitass in EPlayer.List)
                    {
                        if (shitass.ReferenceHub.playerEffectsController.GetEffect <Amnesia>().Enabled&& pp.Role == RoleType.Scp173)
                        {
                            Scp173.TurnedPlayers.Add(shitass);
                        }
                    }
                    Coroutine.Add(Timing.RunCoroutine(VentCooldown(Singleton.Config.VentCooldown, pp)));
                    CmdCooldown.Add(pp);
                    return(true);
                }
                else
                {
                    response = "You are not SCP-173";
                    return(false);
                }
            }
예제 #2
0
 public bool Execute(ArraySegment <string> arguments, ICommandSender sender, out string response)
 {
     if (sender is PlayerCommandSender)
     {
         PlayerCommandSender plr = ((PlayerCommandSender)sender);
         var args = arguments.Array;
         if (args.Length == 2 && int.TryParse(args[1], out int idx))
         {
             if (PluginMain.instance.canBuy)
             {
                 if (plr.CCM.CurClass == PluginMain.instance.Config.NTFRole)
                 {
                     var item = PluginMain.instance.Config.NTFBuyables.ElementAt(idx);
                     if (!PluginMain.money.ContainsKey(plr.CCM.UserId))
                     {
                         PluginMain.money.Add(plr.CCM.UserId, PluginMain.instance.Config.StartMoney);
                     }
                     if (PluginMain.money[plr.CCM.UserId] >= item.Price)
                     {
                         if (item.Sight == -1 || item.Barrel == -1 || item.Other == -1)
                         {
                             plr.RH.inventory.AddNewItem(item.Item, s: item.Sight, b: item.Barrel, o: item.Other);
                         }
                         else
                         {
                             plr.RH.inventory.AddNewItem(item.Item, dur: new Item(plr.RH.inventory.GetItemByID(item.Item)).durability, s: item.Sight, b: item.Barrel, o: item.Other);
                         }
                         PluginMain.money[plr.CCM.UserId] -= item.Price;
                         response = PluginMain.instance.Config.BuyTimeCompleteText;
                         return(true);
                     }
                     else
                     {
                         response = PluginMain.instance.Config.BuyTimeFailText;
                         return(true);
                     }
                 }
                 else if (plr.CCM.CurClass == PluginMain.instance.Config.CIRole)
                 {
                     var item = PluginMain.instance.Config.CIBuyables.ElementAt(idx);
                     if (!PluginMain.money.ContainsKey(plr.CCM.UserId))
                     {
                         PluginMain.money.Add(plr.CCM.UserId, PluginMain.instance.Config.StartMoney);
                     }
                     if (PluginMain.money[plr.CCM.UserId] >= item.Price)
                     {
                         if (item.Sight == -1 || item.Barrel == -1 || item.Other == -1)
                         {
                             plr.RH.inventory.AddNewItem(item.Item, s: item.Sight, b: item.Barrel, o: item.Other);
                         }
                         else
                         {
                             plr.RH.inventory.AddNewItem(item.Item, dur: new Item(plr.RH.inventory.GetItemByID(item.Item)).durability, s: item.Sight, b: item.Barrel, o: item.Other);
                         }
                         PluginMain.money[plr.CCM.UserId] -= item.Price;
                         response = PluginMain.instance.Config.BuyTimeCompleteText;
                         return(true);
                     }
                     else
                     {
                         response = PluginMain.instance.Config.BuyTimeFailText;
                         return(true);
                     }
                 }
                 else
                 {
                     response = PluginMain.instance.Config.BuyTimeFailText;
                     return(true);
                 }
             }
             else
             {
                 response = PluginMain.instance.Config.BuyTimeExpireText;
                 return(true);
             }
         }
         else
         {
             if (!PluginMain.money.ContainsKey(plr.CCM.UserId))
             {
                 PluginMain.money.Add(plr.CCM.UserId, PluginMain.instance.Config.StartMoney);
             }
             response = PluginMain.instance.Config.BuyTimeTitleText.Replace("%money%", PluginMain.money[plr.CCM.UserId].ToString());
             int i = 0;
             if (plr.CCM.CurClass == PluginMain.instance.Config.CIRole)
             {
                 foreach (var item in PluginMain.instance.Config.CIBuyables)
                 {
                     response += i.ToString() + " - " + item.DisplayName + " - $" + item.Price.ToString() + "\n";
                     i++;
                 }
             }
             else if (plr.CCM.CurClass == PluginMain.instance.Config.NTFRole)
             {
                 foreach (var item in PluginMain.instance.Config.NTFBuyables)
                 {
                     response += i.ToString() + " - " + item.DisplayName + " - $" + item.Price.ToString() + "\n";
                     i++;
                 }
             }
             return(true);
         }
     }
     response = "";
     return(false);
 }