示例#1
0
文件: Main.cs 项目: Terrabear/SignCMD
        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);
        }
示例#2
0
文件: Main.cs 项目: Terrabear/SignCMD
        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);
        }