Party Finder

Status
Not open for further replies.
Newbie Spellweaver
Joined
May 8, 2011
Messages
17
Reaction score
1
Anyone here have any idea what controls the distance of when you can join a party? Seems you can only join a party if you are near one of the party members.
 
I haven't seen a check like this at all.. Look around the NewMember(u_long) method or InviteParty(u_long) method
 
Actually to clear that up it's not actually same area. I've been testing for a bit now and it looks like a visual thing, seems as long as you can see the player name you are able to join that players party.

right now this is the 2 parts I have my eyes on


void CWndPartyFinder::OnDraw( C2DRender* p2DRender )
{
if(m_mapItem.size())
{
vector<PARTYFINDER_LIST>::iterator iter;
CWndListBox* pWndListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
LPWNDCTRL pCustom = NULL;
DWORD dwColor;
int nIndex = 0;

int nListFontHeight = pWndListBox->GetFontHeight() + 1;

pCustom = GetWndCtrl( WIDC_LISTBOX1 );
dwColor = D3DCOLOR_ARGB( 255, 0, 0, 0 );

int nDrawCount = 0;
int nLine = 0;

for(iter = m_mapItem.begin(); iter != m_mapItem.end(); ++iter)
{
if(m_nSelected != 0 && (m_nSelected - 1) == nLine)
dwColor = D3DCOLOR_ARGB( 255, 0, 0, 255 );
else
dwColor = D3DCOLOR_ARGB( 255, 0, 0, 0 );

if(nLine < pWndListBox->GetScrollPos())
{
nLine++;
continue;
}
else
nLine++;

if(nDrawCount >= 10) continue; // 10°³ ±îÁö¸¸ µå·ÎÀ×ÇÑ´Ù


PlayerData* pPlayerData = CPlayerDataCenter::GetInstance()->GetPlayerData( iter->m_nLeaderId );

p2DRender->TextOut( pCustom->rect.left + 5, pCustom->rect.top + 8 + (nIndex)*nListFontHeight, nLine+1, dwColor);

if( pPlayerData )
p2DRender->TextOut( pCustom->rect.left + 50, pCustom->rect.top + 8 + (nIndex)*nListFontHeight, pPlayerData->szPlayer, dwColor);


p2DRender->TextOut( pCustom->rect.left + 225, pCustom->rect.top + 8 + (nIndex)*nListFontHeight, iter->m_sParty, dwColor);

// ¼³Ä¡ ¿©ºÎ
p2DRender->TextOut( pCustom->rect.left + 370, pCustom->rect.top + 8 + (nIndex)*nListFontHeight, iter->m_nSizeofMember, dwColor);

p2DRender->TextOut( pCustom->rect.left + 440, pCustom->rect.top + 8 + (nIndex)*nListFontHeight, iter->m_nPoint, dwColor);

++nIndex;
++nDrawCount;
}
}
}






case WIDC_BUTTON2:// ÇØÁ¦¹öư
{
CWndListBox* pWndListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
for(vector<PARTYFINDER_LIST>::iterator iter = m_mapItem.begin(); iter != m_mapItem.end(); ++iter)
{
++nLoop;
if(m_nSelected > nLoop) continue;
else if(m_nSelected == nLoop)
{
CMover* pLeader = prj.GetUserByID( iter->m_nLeaderId );
if( pLeader )
if( pLeader->m_bPartyJoin )
g_DPlay.SendAddPartyMember( iter->m_nLeaderId, 0, 0, 0, 0, 0, 0, 0 );
}
}

}
break;
 
Could be that the party data isn't being sent to the player joining. Make sure it's being sent to all users in the party.
 
Status
Not open for further replies.
Back