Estou com o seguinte erro na funcao a baixo, quem poderia me dar um help? Obs sou maior noob em c++ mais já arrumei uma pá de erro... error C2712: Cannot use __try in functions that require object unwinding void CBuffSystem::CalculateBuffSlots(CCreature *pCreature, CSkillInfo *pSkillInfo)
{
L2SERVER_SHARED_GUARD1(nCBuffSystem_CalculateBuffSlots);
TLS_TRACE_BEGIN;
INT32 nMaxBuffSlots = 20;
if ( pCreature->IsValidCreature() )
{
INT32 nCurrentLevel = pCreature->GetAcquiredSkillLevel(GlobalVars::GVs()->pSubSystems->nBuffSlotSkillID);
if ( nMaxBuffSlots+nCurrentLevel > 20 ) { nMaxBuffSlots += nCurrentLevel; }
}
INT32 nFreeBuffSlots = nMaxBuffSlots;
__try
{
if ( pSkillInfo->debuff == 0 )
{
bool bFoundBuff = false;
INT32 nBuffPos = 0;
for ( int i = 0; i < pCreature->vBuff.size(); i++ )
{
CBuffInfo BuffInfo = pCreature->vBuff[i];
if ( BuffInfo.pSkillInfo->debuff == 0 && nFreeBuffSlots > 0 )
{
if ( !bFoundBuff ) { nBuffPos = i; bFoundBuff = true; }
nFreeBuffSlots -= 1;
if ( nFreeBuffSlots == 0 ) { break; }
}
}
if ( nFreeBuffSlots == 0 && bFoundBuff ) { pCreature->vBuff.erase(pCreature->vBuff.begin()+nBuffPos, pCreature->vBuff.begin()+nBuffPos+1); }
}
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
CLog::Add(CLog::red, "Fatal Error At Function : %s", __FUNCTION__);
}
TLS_TRACE_END_NO_RETURN;
}