Error compil Party_find

Newbie Spellweaver
Joined
Jul 30, 2013
Messages
5
Reaction score
0
Hello,
I have take the Party_find of the Level FlyFF source, I have define it, but when i Compile, I have this error:


* On the User.cpp : User.cpp(1429) : error C2143: syntax error : missing ';' before '<<'
==>
Code:
#ifdef __PARTY_FIND
void CUser::AddPartyRequest( CUser * pLeader, CUser * pMember, BOOL bTroup, BOOL bPartyFind )
#else
void CUser::AddPartyRequest( CUser * pLeader, CUser * pMember, BOOL bTroup )
#endif //__PARTY_FIND
{
	if( IsDelete() )	return;
	
	m_Snapshot.cb++;
	m_Snapshot.ar << GetId();
	m_Snapshot.ar << SNAPSHOTTYPE_PARTYREQEST;
	m_Snapshot.ar << pLeader->m_idPlayer << pLeader->m_nLevel << pLeader->m_nJob << pLeader->GetSex();
	m_Snapshot.ar << pMember->m_idPlayer << pMember->m_nLevel << pMember->m_nJob << pMember->GetSex();
	m_Snapshot.ar.WriteString( pLeader->m_szName );
	m_Snapshot.ar << bTroup;
#ifdef __PARTY_FIND
[COLOR="Red"]		<< bPartyFind;[/COLOR] (This line)
#endif //__PARTY_FIND
	
}




* On The DpClient.cpp: User.cpp(1429) : error C2143: syntax error : missing ';' before '<<'
==>
Code:
void CDPClient::OnPartyRequest( CAr & ar )
{
	u_long uLeader, uMember;


	BOOL bTroup;
	LONG nLeaderLevel, nMemberLevel, nLeaderJob, nMemberJob;
	BYTE byLeaderSex, byMemberSex;
	char szLeaderName[MAX_PLAYER] = {0,};
	ar >> uLeader >> nLeaderLevel >> nLeaderJob >> byLeaderSex;
	ar >> uMember >> nMemberLevel >> nMemberJob >> byMemberSex;
	ar.ReadString( szLeaderName, MAX_PLAYER );
	ar >> bTroup;
#ifdef __PARTY_FIND
[COLOR="red"]>> bPartyFind;[/COLOR] (This line)
#endif //__PARTY_FIND


Thanks so much in advances!
 
Hi, im not really into C++ language, for those who are pro just correct me it would be fine.

Loscarmy, maybe its like this?

#ifdef __PARTY_FIND
bPartyFind();
#endif //__PARTY_FIND
 
i think it's more like this
Code:
#ifdef __PARTY_FIND
		m_Snapshot.ar << bPartyFind;
#endif //__PARTY_FIND

and
Code:
#ifdef __PARTY_FIND
		ar >> bPartyFind;
#endif //__PARTY_FIND
 
i think it's more like this
Code:
#ifdef __PARTY_FIND
        m_Snapshot.ar << bPartyFind;
#endif //__PARTY_FIND

and
Code:
#ifdef __PARTY_FIND
        ar >> bPartyFind;
#endif //__PARTY_FIND

Thanks to you and cdr. I have try to add this, but now I have their error:

Code:
DPClient.cpp(4729) : error C2065: 'bPartyFind' : undeclared identifier
DPClient.cpp(4729) : error C2593: 'operator >>' is ambiguous
        ..\_Network\Misc\Include\ar.h(84): could be 'CAr &CAr::operator >>(unsigned int &)'
        ..\_Network\Misc\Include\ar.h(83): or       'CAr &CAr::operator >>(char &)'
        ..\_Network\Misc\Include\ar.h(82): or       'CAr &CAr::operator >>(short &)'
        ..\_Network\Misc\Include\ar.h(81): or       'CAr &CAr::operator >>(int &)'
        ..\_Network\Misc\Include\ar.h(79): or       'CAr &CAr::operator >>(double &)'
        ..\_Network\Misc\Include\ar.h(78): or       'CAr &CAr::operator >>(float &)'
        ..\_Network\Misc\Include\ar.h(77): or       'CAr &CAr::operator >>(LONG &)'
        ..\_Network\Misc\Include\ar.h(76): or       'CAr &CAr::operator >>(DWORD &)'
        ..\_Network\Misc\Include\ar.h(75): or       'CAr &CAr::operator >>(WORD &)'
        ..\_Network\Misc\Include\ar.h(74): or       'CAr &CAr::operator >>(BYTE &)'
        ..\_Common\lord.h(279): or       'CAr &operator >>(CAr &,IElection::ELECTION_STATE &)'
        ..\_Common\guild.h(142): or       'CAr &operator >>(CAr &,CONTRIBUTION_CHANGED_INFO &)'
        ..\_Common\guild.h(94): or       'CAr &operator >>(CAr &,VOTE_INSERTED_INFO &)'
        ..\_Network\Misc\Include\ar.h(184): or       'CAr &operator >>(CAr &,PLAY_ACCOUNT &)'
        ..\_Network\Misc\Include\ar.h(178): or       'CAr &operator >>(CAr &,RECT &)'
        ..\_Network\Misc\Include\ar.h(164): or       'CAr &operator >>(CAr &,__int64 &)'
        ..\_Network\Misc\Include\ar.h(158): or       'CAr &operator >>(CAr &,D3DXVECTOR3 &)'
        while trying to match the argument list '(CAr, 'unknown-type')'
DPClient.cpp(4750) : error C3861: 'bPartyFind': identifier not found, even with argument-dependent lookup


So the "'bPartyFind' : undecleared identifier" & "'operator >>' is ambiguous" :


Code:
void CDPClient::OnPartyRequest( CAr & ar )
{
    u_long uLeader, uMember;


    BOOL bTroup;
    LONG nLeaderLevel, nMemberLevel, nLeaderJob, nMemberJob;
    BYTE byLeaderSex, byMemberSex;
    char szLeaderName[MAX_PLAYER] = {0,};
    ar >> uLeader >> nLeaderLevel >> nLeaderJob >> byLeaderSex;
    ar >> uMember >> nMemberLevel >> nMemberJob >> byMemberSex;
    ar.ReadString( szLeaderName, MAX_PLAYER );
    ar >> bTroup;
#ifdef __PARTY_FIND
       [COLOR=red] ar >> bPartyFind;[/COLOR]  <== This line
#endif //__PARTY_FIND
    if( g_Option.m_bParty == FALSE )
    {
        SendPartyMemberCancle( uLeader, uMember, 3 );
        return;
    }


The "''bPartyFind': identifier not found, even with argument-dependent lookup" :


Code:
    CWndBase* pWndBaseBuf = g_WndMng.GetWndBase( APP_PARTY_CONFIRM );
    
    if( pWndBaseBuf )
    {
        SendBlock( 7, g_pPlayer->GetName(), szLeaderName );
        return;
    }
#ifdef __PARTY_FIND
[COLOR=Red]if( bPartyFind )    <== This line[/COLOR]
    {
        SendAddPartyMember( uLeader, nLeaderLevel, nLeaderJob, byLeaderSex, uMember, nMemberLevel, nMemberJob, byMemberSex );
    }else
    {
        g_WndMng.m_pWndPartyConfirm = new CWndPartyConfirm;
        g_WndMng.m_pWndPartyConfirm->SetMember( uLeader, nLeaderLevel, nLeaderJob, byLeaderSex, uMember, nMemberLevel, nMemberJob, byMemberSex, szLeaderName, bTroup );
        g_WndMng.m_pWndPartyConfirm->Initialize();
    }
#else
    g_WndMng.m_pWndPartyConfirm = new CWndPartyConfirm;
    g_WndMng.m_pWndPartyConfirm->SetMember( uLeader, nLeaderLevel, nLeaderJob, byLeaderSex, uMember, nMemberLevel, nMemberJob, byMemberSex, szLeaderName, bTroup );
    g_WndMng.m_pWndPartyConfirm->Initialize();
#endif //__PARTY_FIND
}
#ifdef __PARTY_FIND
void CDPClient::SendAllowParty( u_long idLeader, u_long idParty, BOOL bAllow )
{
    BEFORESENDSOLE( ar, PACKETTYPE_ALLOW_PARTY, DPID_UNKNOWN );
    ar << idLeader << idParty << bAllow;
    SEND( ar, this, DPID_SERVERPLAYER );


}


void CDPClient::OnPartyAllowJoin( CAr & ar )
{
    ar >> g_Party.m_bAllowEnter;
}
#endif //__PARTY_FIND
 
are you using the party finder from pumaaa?

If so i have it like this way

PHP:
void CUser::AddPartyRequest( CUser * pLeader, CUser * pMember, BOOL bTroup )
{
	if( IsDelete() )	return;
	
	m_Snapshot.cb++;
	m_Snapshot.ar << GetId();
	m_Snapshot.ar << SNAPSHOTTYPE_PARTYREQEST;
	m_Snapshot.ar << pLeader->m_idPlayer << pLeader->m_nLevel << pLeader->m_nJob << pLeader->GetSex();
	m_Snapshot.ar << pMember->m_idPlayer << pMember->m_nLevel << pMember->m_nJob << pMember->GetSex();
	m_Snapshot.ar.WriteString( pLeader->m_szName );
	m_Snapshot.ar << bTroup;
	
}

Hmm i have looked in side the level-flyff source
and they have 2 partyfinder systems

1 they have scripted them self
and the 2nd on is from pumaaa

__PARTY_FIND is also not defined inside NEUZ/WorldServer
__PMA_PARTYFINDER <--- This one is defined.

So my guess is that they failed to create their own partyfinder and are now using the pumaaa one.
 
Last edited:
Back