private static bool OnSignHit(int x, int y, string text, int who) { if (!text.ToLower().StartsWith(config.DefineSignCommands.ToLower())) { return(false); } var tPly = TShock.Players[who]; var sign = ScSigns.Check(x, y, text, tPly); var sPly = ScPlayers[who]; if (tPly == null || sPly == null) { return(false); } var canBreak = ScUtils.CanBreak(tPly, sign); if (sPly.DestroyMode && canBreak) { return(false); } if (config.ShowDestroyMessage && canBreak && sPly.AlertDestroyCooldown == 0) { tPly.SendInfoMessage("To destroy this sign, Type \"/destsign\"."); sPly.AlertDestroyCooldown = 5; } sign.ExecuteCommands(sPly); return(true); }
private static bool OnSignNew(int x, int y, string text, int who) { if (!text.ToLower().StartsWith(config.DefineSignCommands.ToLower())) { return(false); } var tPly = TShock.Players[who]; var point = new Point(x, y); var sign = new ScSign(text, tPly, point); if (tPly == null) { return(false); } if (sign.noEdit || !tPly.Group.HasPermission("sc.edit*")) // && -> || { return(true); } if (ScUtils.CanCreate(tPly, sign)) { ScSigns.AddItem(point, sign); return(false); } tPly.SendErrorMessage("You do not have permission to create that sign command."); return(true); }
private static bool OnSignKill(int x, int y, string text, int who) { if (!text.ToLower().StartsWith(config.DefineSignCommands.ToLower())) { return(false); } var sPly = ScPlayers[who]; var sign = ScSigns.Check(x, y, text, sPly.TsPlayer); if (sPly == null) { return(false); } if (sPly.DestroyMode && ScUtils.CanBreak(sPly.TsPlayer, sign)) { sPly.DestroyMode = false; //Cooldown removal return(false); } sign.ExecuteCommands(sPly); return(true); }