public final void leaveGuild(final MapleGuildCharacter mgc) { broadcast(GuildPacket.memberLeft(mgc, false)); lock.lock(); try { members.remove(mgc); bDirty = true; } finally { lock.unlock(); } }
public final void expelMember( final MapleGuildCharacter initiator, final String name, final int cid) { final Iterator<MapleGuildCharacter> itr = members.iterator(); while (itr.hasNext()) { final MapleGuildCharacter mgc = itr.next(); if (mgc.getId() == cid && initiator.getGuildRank() < mgc.getGuildRank()) { broadcast(GuildPacket.memberLeft(mgc, true)); bDirty = true; members.remove(mgc); try { if (mgc.isOnline()) { WorldRegistryImpl.getInstance().getChannel(mgc.getChannel()).setGuildAndRank(cid, 0, 5); } else { try { Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement( "INSERT INTO notes (`to`, `from`, `message`, `timestamp`) VALUES (?, ?, ?, ?)"); ps.setString(1, mgc.getName()); ps.setString(2, initiator.getName()); ps.setString(3, "You have been expelled from the guild."); ps.setLong(4, System.currentTimeMillis()); ps.executeUpdate(); ps.close(); } catch (SQLException e) { System.err.println("Error sending guild msg 'expelled'." + e); } WorldRegistryImpl.getInstance() .getChannel(1) .setOfflineGuildStatus((short) 0, (byte) 5, cid); } } catch (RemoteException re) { re.printStackTrace(); return; } } } }