public static void LoadMember(TSPlayer ts) { try { using (var reader = Database.QueryReader("SELECT * FROM ClanMembers WHERE Username = @0", ts.UserAccountName)) { if (reader.Read()) { string clanName = reader.Get <string>("ClanName"); ClanMembers.Add(ts.Index, clanName); Clan c = FindClanByPlayer(ts); if (c != null) { c.OnlineClanMembers.Add(ts.Index, new ClanMember() { Index = ts.Index, ClanName = clanName }); ClanHooks.OnClanLogin(ts, c); } } else { ClanMembers.Add(ts.Index, string.Empty); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public static bool CreateClan(TSPlayer ts, Clan clan) { try { Database.Query("INSERT INTO Clans (Name, Owner, InviteMode, ChatColor, Bans) VALUES (@0, @1, @2, @3, @4)", clan.Name, clan.Owner, (int)InviteMode.False, Config.DefaultChatColor, "[]"); Clans.Add(clan.Name, clan); JoinClan(ts, clan); ClanHooks.OnClanCreated(ts, clan.Name); return(true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }
public static void LeaveClan(TSPlayer ts, Clan clan) { try { ClanHooks.OnClanLeave(ts, clan); if (ts.UserAccountName == clan.Owner) { ClanHooks.OnClanRemoved(clan); RemoveClan(clan); } else { clan.OnlineClanMembers.Remove(ts.Index); Database.Query("DELETE FROM ClanMembers WHERE Username = @0 AND ClanName = @1", ts.UserAccountName, clan.Name); } ClanMembers[ts.Index] = string.Empty; } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
public static bool JoinClan(TSPlayer ts, Clan clan) { try { ClanMembers[ts.Index] = clan.Name; Database.Query("INSERT INTO ClanMembers (Username, ClanName) VALUES (@0, @1)", ts.UserAccountName, clan.Name); clan.OnlineClanMembers.Add(ts.Index, new ClanMember() { Index = ts.Index, ClanName = ClanMembers[ts.Index] }); if (ts.UserAccountName != clan.Owner) { ClanHooks.OnClanJoin(ts, clan); } return(true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(false); } }