void World::SendInstanceMessage(WorldPacket *packet, uint32 instanceid, WorldSession *self) { m_sessionlock.AcquireReadLock(); SessionMap::iterator itr; for (itr = m_sessions.begin(); itr != m_sessions.end(); itr++) { if (itr->second->GetPlayer() && itr->second->GetPlayer()->IsInWorld() && itr->second != self) // dont send to self! { if (itr->second->GetPlayer()->GetInstanceID() == instanceid) itr->second->SendPacket(packet); } } m_sessionlock.ReleaseReadLock(); }