From: <ha...@us...> - 2002-09-03 18:03:42
|
Update of /cvsroot/decaldev/source/DecalFilters In directory usw-pr-cvs1:/tmp/cvs-serv21472 Modified Files: CharacterStats.cpp Log Message: charstats has a bug? never. fixed spellslearned (thanks parad0x for pointing out the bug) and Charstats knows GUID before it gets the login packet now. Index: CharacterStats.cpp =================================================================== RCS file: /cvsroot/decaldev/source/DecalFilters/CharacterStats.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** CharacterStats.cpp 21 Aug 2002 19:49:14 -0000 1.26 --- CharacterStats.cpp 3 Sep 2002 18:03:34 -0000 1.27 *************** *** 128,131 **** --- 128,141 ---- switch( dwType ) { + case 0xF746: // Character Entering World + { + _variant_t vObjectID; + + pMessage->get_Member (_variant_t ("character"), &vObjectID); + GUID = vObjectID.lVal; + + break; + } + case 0xF659: // Login Failure - Char in World { *************** *** 435,446 **** //Get Spellbook ! pMessage->get_Member (_variant_t ("spellbookCount"), &vSpellCount); ! pMessage->get_Member (_variant_t ("spellbook"), &vSpells); ! for(i = 0; i < (vSpellCount.iVal); i++) { ! _variant_t vKey; ! pMessage->get_Member (_variant_t ("spell"), &vKey); ! SpellsLearned.insert(vKey.lVal); } --- 445,469 ---- //Get Spellbook ! CComPtr<IMessageIterator> pBegin; ! CComPtr<IMessageIterator> pSpell; ! CComPtr<IMessageIterator> pSpellbook; ! ! pMessage->get_Begin( &pBegin ); ! pMessage->get_Member (_variant_t ("spellbookCount"), &vSpellCount ); ! ! HRESULT HRes = pBegin->get_NextObject( _bstr_t( "spellbook" ), &pSpellbook ); ! if( HRes == S_OK ) { ! for( int i = 0; i < vSpellCount.iVal; i++ ) ! { ! pSpellbook->get_NextObjectIndex( &pSpell ); ! long lSpellID; ! pSpell->get_NextInt( _bstr_t( "spell" ), &lSpellID ); ! ! SpellsLearned.insert( lSpellID ); ! ! pSpell.Release(); ! } } *************** *** 1079,1085 **** HRESULT cCharacterStats::get_Character(/*[out, retval]*/ long *pVal) { - if (!GotLogin) - return E_FAIL; - *pVal = GUID; return S_OK; --- 1102,1105 ---- |