Example #1
0
 public static void CMDtcsay(CommandArgs args)
 {
     if (TCutils.AlreadyInClan(args.Player.UserAccountName))
     {
         //tcsay <msg>
         string msg = "";
         if (args.Parameters.Count > 0)
         {
             for (int i = 0; i < args.Parameters.Count; i++)
             {
                 msg = msg + " " + args.Parameters[i];
             }
             TCutils.ClanMsg(args.Player.UserAccountName, msg, 0, false);
         }
         else
         {
             args.Player.SendMessage("TerraClans.", Color.Red);
             args.Player.SendMessage("/tcsay <message>; /c <message> - sends message to your clan chat.", Color.Red);
         }
     }
     else
     {
         args.Player.SendMessage("You are not in clan!", Color.Red);
     }
 }
Example #2
0
        public static void TCAccept(CommandArgs incArgs)
        {
            var    plr       = incArgs.Player;
            string clanName  = "";
            string clanGroup = "";
            bool   isInvited = false;
            var    DBQuery   = TCdb.DB.QueryReader("SELECT clanname, clangroup, invites FROM Clans WHERE invites LIKE '%" + plr.UserAccountName + "%'");

            while (DBQuery.Read())
            {
                string[] arr = DBQuery.Get <string>("invites").ToString().Split(',');
                foreach (string i in arr)
                {
                    if (i == plr.UserAccountName)
                    {
                        clanName  = DBQuery.Get <string>("clanname").ToString();
                        clanGroup = DBQuery.Get <string>("clangroup").ToString();
                        isInvited = true;
                    }
                }
            }
            if (isInvited)
            {
                string        strInv  = "";
                string        strMem  = "";
                List <string> invites = new List <string>();
                invites = TCutils.GetInvites(clanName);
                invites.Remove(plr.UserAccountName);
                if (invites.Count > 0)
                {
                    strInv = string.Join(",", invites.ToArray());
                }
                List <string> members = new List <string>();
                members = TCutils.GetMembers(clanName);
                members.Add(plr.UserAccountName);
                if (members.Count > 0)
                {
                    strMem = string.Join(",", members.ToArray());
                }
                TCdb.DB.QueryReader("UPDATE Clans SET invites='" + strInv + "', members='" + strMem + "' WHERE clanname='" + clanName + "'");
                var user = new User();
                user.Name = plr.UserAccountName;
                if (!plr.Group.HasPermission("terraclans"))
                {
                    TShock.Users.SetUserGroup(user, clanGroup);
                }
                plr.SendMessage("You have joined to " + clanName, Color.Orange);
                plr.SendMessage("Please, relogin to apply new settings for your account.", Color.Orange);
                string msg = incArgs.Player.Name + " has joined the clan.";
                TCutils.ClanMsg(incArgs.Player.UserAccountName, msg, 1, true);
            }
            else
            {
                plr.SendMessage("You are not invited to any clan!", Color.Red);
            }
        }
Example #3
0
        public static void TCQuit(CommandArgs incArgs)
        {
            if (!incArgs.Player.IsLoggedIn)
            {
                incArgs.Player.SendMessage("You are not not logged in!", Color.Red);
                return;
            }
            if (!TCutils.AlreadyInClan(incArgs.Player.UserAccountName))
            {
                incArgs.Player.SendMessage("You are not in clan!", Color.Red);
                return;
            }
            if (TCutils.IsLeader(incArgs.Player.UserAccountName))
            {
                incArgs.Player.SendMessage("Leaders can't leave the clan!", Color.Red);
                return;
            }
            List <string> clName     = TCutils.GetClanByMember(incArgs.Player.UserAccountName);
            List <string> clMembers  = new List <string>();
            string        rawMembers = "";
            var           DBQuery    = TCdb.DB.QueryReader("SELECT members FROM Clans WHERE clanname='" + clName[0] + "'");

            while (DBQuery.Read())
            {
                string[] arr = DBQuery.Get <string>("members").Split(',');
                foreach (string i in arr)
                {
                    clMembers.Add(i);
                }
            }
            for (int c = 0; c < clMembers.Count; c++)
            {
                if (incArgs.Player.UserAccountName == clMembers[c])
                {
                    clMembers.RemoveAt(c);
                    break;
                }
            }
            if (clMembers.Count > 0)
            {
                rawMembers = string.Join(",", clMembers.ToArray());
            }
            TCutils.ClanMsg(incArgs.Player.UserAccountName, incArgs.Player.Name + " has left the clan!", 1, true);
            TCdb.DB.QueryReader("UPDATE Clans SET members='" + rawMembers + "' WHERE clanname='" + clName[0] + "'");
            var user = new User();

            user.Name = incArgs.Player.UserAccountName;
            if (!incArgs.Player.Group.HasPermission("terraclans"))
            {
                TShock.Users.SetUserGroup(user, TShock.Config.DefaultRegistrationGroupName);
            }
            incArgs.Player.SendMessage("You have left the clan!", Color.Yellow);
        }
Example #4
0
        public static void TCdel(CommandArgs incArgs)
        {
            string clName  = "";
            string clGroup = "";
            var    DBQuery = TCdb.DB.QueryReader("SELECT clanname, clangroup FROM Clans WHERE clanname='" + incArgs.Parameters[1] + "'");

            while (DBQuery.Read())
            {
                clName  = DBQuery.Get <string>("clanname");
                clGroup = DBQuery.Get <string>("clangroup");
            }
            if (clName == "")
            {
                incArgs.Player.SendMessage("Clan \"" + incArgs.Parameters[1] + "\" doesn't exist!", Color.Red);
                return;
            }
            List <string> clMembers = TCutils.GetMembers(clName);
            List <string> clLeaders = TCutils.GetLeaders(clName);

            foreach (string i in clMembers)
            {
                var user = new User();
                user.Name = i;
                string gr = TShock.Users.GetUserByName(i).Group;
                if (!TShock.Utils.GetGroup(gr).HasPermission("terraclans"))
                {
                    TShock.Users.SetUserGroup(user, TShock.Config.DefaultRegistrationGroupName);
                }
            }
            string initPl = "";

            foreach (string i in clLeaders)
            {
                var user = new User();
                user.Name = i;
                initPl    = i;
                string gr = TShock.Users.GetUserByName(i).Group;
                if (!TShock.Utils.GetGroup(gr).HasPermission("terraclans"))
                {
                    TShock.Users.SetUserGroup(user, TShock.Config.DefaultRegistrationGroupName);
                }
            }
            TCutils.ClanMsg(initPl, "Your clan has been disbanded by " + incArgs.Player.Name + "!", 1, false);
            TCdb.DB.QueryReader("DELETE FROM Clans WHERE clanname = '" + clName + "'");
            TShock.Groups.DeleteGroup(clGroup);
        }
Example #5
0
        public static void TCDecline(CommandArgs incArgs)
        {
            var    plr       = incArgs.Player;
            string clanName  = "";
            string clanGroup = "";
            bool   isInvited = false;
            var    DBQuery   = TCdb.DB.QueryReader("SELECT clanname, clangroup, invites FROM Clans WHERE invites LIKE '%" + plr.UserAccountName + "%'");

            while (DBQuery.Read())
            {
                string[] arr = DBQuery.Get <string>("invites").ToString().Split(',');
                foreach (string i in arr)
                {
                    if (i == plr.UserAccountName)
                    {
                        clanName  = DBQuery.Get <string>("clanname").ToString();
                        clanGroup = DBQuery.Get <string>("clangroup").ToString();
                        isInvited = true;
                    }
                }
            }
            if (isInvited)
            {
                string        strInv  = "";
                List <string> invites = new List <string>();
                invites = TCutils.GetInvites(clanName);
                invites.Remove(plr.UserAccountName);
                if (invites.Count > 0)
                {
                    strInv = string.Join(",", invites.ToArray());
                }
                string msg = incArgs.Player.Name + " has declined invitation.";
                TCutils.ClanMsg(incArgs.Player.UserAccountName, msg, 1, false);
                TCdb.DB.QueryReader("UPDATE Clans SET invites='" + strInv + "' WHERE clanname='" + clanName + "'");
                plr.SendMessage("You have declined the invitation.", Color.Orange);
            }
            else
            {
                plr.SendMessage("You are not invited to any clan!", Color.Red);
            }
        }
Example #6
0
        public static void TCkick(CommandArgs incArgs)
        {
            if (!incArgs.Player.IsLoggedIn)
            {
                incArgs.Player.SendMessage("You are not not logged in!", Color.Red);
                return;
            }
            if (!TCutils.AlreadyInClan(incArgs.Player.UserAccountName))
            {
                incArgs.Player.SendMessage("You are not in clan!", Color.Red);
                return;
            }
            if (!TCutils.IsLeader(incArgs.Player.UserAccountName))
            {
                incArgs.Player.SendMessage("You are not a leader!", Color.Red);
                return;
            }
            List <Player> victims = TCutils.GetPlayersByName(incArgs.Parameters[1]);

            if (victims.Count == 0)
            {
                incArgs.Player.SendMessage("Player does not exist!", Color.Red);
                return;
            }
            if (incArgs.Player.UserAccountName == TCutils.GetPlayersByName(incArgs.Parameters[1])[0].TSPlayer.UserAccountName)
            {
                incArgs.Player.SendMessage("You can't kick yourself!", Color.Red);
                return;
            }
            if (!victims[0].TSPlayer.IsLoggedIn)
            {
                incArgs.Player.SendMessage("Player is not logged in!", Color.Red);
                return;
            }
            if (!TCutils.IsValidMember(victims[0].TSPlayer.UserAccountName, incArgs.Player.UserAccountName))
            {
                incArgs.Player.SendMessage("Player is not in your clan!", Color.Red);
                return;
            }
            if (TCutils.IsLeader(victims[0].TSPlayer.UserAccountName))
            {
                incArgs.Player.SendMessage("You can't kick another leader!", Color.Red);
                return;
            }
            List <string> clName     = TCutils.GetClanByLeader(incArgs.Player.UserAccountName);
            List <string> clMembers  = new List <string>();
            string        rawMembers = "";
            var           DBQuery    = TCdb.DB.QueryReader("SELECT members FROM Clans WHERE clanname='" + clName[0] + "'");

            while (DBQuery.Read())
            {
                string[] arr = DBQuery.Get <string>("members").Split(',');
                foreach (string i in arr)
                {
                    clMembers.Add(i);
                }
            }
            for (int c = 0; c < clMembers.Count; c++)
            {
                if (victims[0].TSPlayer.UserAccountName == clMembers[c])
                {
                    clMembers.RemoveAt(c);
                    break;
                }
            }
            if (clMembers.Count > 0)
            {
                rawMembers = string.Join(",", clMembers.ToArray());
            }
            TCdb.DB.QueryReader("UPDATE Clans SET members='" + rawMembers + "' WHERE clanname='" + clName[0] + "'");
            var user = new User();

            user.Name = victims[0].TSPlayer.UserAccountName;
            if (!victims[0].TSPlayer.Group.HasPermission("terraclans"))
            {
                TShock.Users.SetUserGroup(user, TShock.Config.DefaultRegistrationGroupName);
            }
            TCutils.ClanMsg(incArgs.Player.UserAccountName, victims[0].TSPlayer.Name + " has been kicked from the clan!", 1, false);
            victims[0].TSPlayer.SendMessage("You have been kicked from the clan!", Color.Yellow);
        }