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); } }
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); }