Colosseum Crashes...

01/07/2013 17:07 uKn0w'#1
Hab einmal ne Allgmeine Frage bezüglich des Colosseums.
Hab jetz schon das RoC & das Bloody Flyff Colosseum ausprobiert jedoch crashen beide nach einiger Zeit.
Laut Debugg liegt es an der Colosseum.cpp an folgender Funktion:
Quote:
void CColosseumMng::Process()
{
for( COLOSSEUMMATCH::iterator it = m_mapMatch.begin(); it != m_mapMatch.end(); it++ )
{
u_long idParty = it->first;
CColosseumMatch* pMatch = it->second;

if( !pMatch ) return;

CMover* pMover = prj.GetMover(pMatch->m_nMoverID);
if( pMover )
{
if( pMatch->m_nNextStage < (int)g_tmCurrent )
pMatch->EndMatch( FALSE );
}
else
{
//Kontrollieren ob letze Stage erreicht wurde
if( pMatch->m_nNextStage < (int)g_tmCurrent )
{
if( pMatch->m_nStage == 0 )
{
for( unsigned int i = 0; i < pMatch->m_vecPlayerID.size(); i++ )
{
CUser* pUser = pMatch->GetUser( pMatch->m_vecPlayerID.at(i) );
if( IsValidObj( pUser ) && pMatch->m_bWaitTime )
pUser->SendColosseumStart(0);
}
}

if( ( pMatch->m_byDifficult == 1 && pMatch->m_nStage >= byMaxLowStage ) ||
( pMatch->m_byDifficult == 2 && pMatch->m_nStage >= byMaxHardStage ) )
pMatch->EndMatch( TRUE );
else
{
pMatch->m_bWaitTime = FALSE;
pMatch->m_nStage++;
pMatch->CreateMover();
}
}
}
}
}

Da ich keinerlei C++ Kenntnisse habe frag ich euch wie man diese verdammten Crashes am besten fixxen könnte.
01/07/2013 17:21 Crowley™#2
Hm..... Hab 1 zu 1 die gleiche Funktion stehen. Kann eig nicht daran liegen....
mfg. Crowley
01/07/2013 18:25 Мentus#3
Er vergisst den iterator abzufragen
vor: if( !pMatch ) return;
das:
if( it! = m_mapMatch.end() ) return;

Wäre das einzige was mi momentan aufällt ( bin am Handy )
01/07/2013 19:42 uKn0w'#4
Also mir ist nur aufgefallen, dass er den iterator eine Funktion davor 1x Abfrägt, falls das Match im Colosseum nicht gelingt. Trotzdem nett von dir werde es mal testen :)
06/04/2016 22:17 devilingflyff02#5
can i up this? any solution?