Chipleo
26.04.2010, 21:34
@@ -75,11 +75,11 @@ void Channel::Join(uint64 p, const char *pass)
MakeWrongPassword(&data);
SendToOne(&data, p);
return;
}
- Player *plr = sObjectMgr.GetPlayer(p);
+ Player *plr = HashMapHolder<Player>::Find(p);
if(plr)
{
if(HasFlag(CHANNEL_FLAG_LFG) &&
sWorld.getConfig(CONFIG_BOOL_RESTRICTED_LFG_CHANNE L) && plr->GetSession()->GetSecurity() == SEC_PLAYER &&
@@ -108,11 +108,12 @@ void Channel::Join(uint64 p, const char *pass)
pinfo.player = p;
pinfo.flags = 0;
players[p] = pinfo;
MakeYouJoined(&data);
- SendToOne(&data, p);
+ if (plr)
+ plr->GetSession()->SendPacket(&data);
JoinNotify(p);
// if no owner first logged will become
if(!IsConstant() && !m_ownerGUID)
когда игрок заходит в инст, он пропадает из каналов General,... такое же случается при гм командах дальних телепортов. Происходит изза того что на время перемещения игрок не в мире, поетому часть кода не работает.
MakeWrongPassword(&data);
SendToOne(&data, p);
return;
}
- Player *plr = sObjectMgr.GetPlayer(p);
+ Player *plr = HashMapHolder<Player>::Find(p);
if(plr)
{
if(HasFlag(CHANNEL_FLAG_LFG) &&
sWorld.getConfig(CONFIG_BOOL_RESTRICTED_LFG_CHANNE L) && plr->GetSession()->GetSecurity() == SEC_PLAYER &&
@@ -108,11 +108,12 @@ void Channel::Join(uint64 p, const char *pass)
pinfo.player = p;
pinfo.flags = 0;
players[p] = pinfo;
MakeYouJoined(&data);
- SendToOne(&data, p);
+ if (plr)
+ plr->GetSession()->SendPacket(&data);
JoinNotify(p);
// if no owner first logged will become
if(!IsConstant() && !m_ownerGUID)
когда игрок заходит в инст, он пропадает из каналов General,... такое же случается при гм командах дальних телепортов. Происходит изза того что на время перемещения игрок не в мире, поетому часть кода не работает.