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