From: Andrew C. <ac...@us...> - 2004-02-10 02:27:59
|
Update of /cvsroot/planeshift/planeshift/src/server/bulkobjects In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23891/src/server/bulkobjects Modified Files: pscharacter.cpp pscharacter.h pscharacterloader.cpp Log Message: Fixed up buddy notification to correctly notify all players that the person is a buddy of. Index: pscharacter.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/bulkobjects/pscharacter.cpp,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** pscharacter.cpp 9 Feb 2004 03:02:42 -0000 1.69 --- pscharacter.cpp 10 Feb 2004 02:24:39 -0000 1.70 *************** *** 132,135 **** --- 132,137 ---- work_state = PSCHARACTER_WORKSTATE_HALTED; workEvent = NULL; + + progressionScript.Clear(); } *************** *** 337,340 **** --- 339,353 ---- buddyList[x].playerID = results[x].GetUInt32( 1 ); } + + + // Load all the people that I am a buddy of. This is used to inform these people + // of when I log in/out. + Result buddyOfResult( db->Select( "select b.player_id from buddy_list b where b.player_buddy = %d", use_id )); + buddyOfList.SetLength( buddyOfResult.Count() ); + + for ( int z = 0; z < buddyOfResult.Count(); z++ ) + { + buddyOfList[z] = buddyOfResult[z].GetUInt32(0); + } return true; *************** *** 2492,2495 **** --- 2505,2521 ---- } + void psCharacter::BuddyOf( unsigned int buddyID ) + { + if ( buddyOfList.Find( buddyID ) != -1 ) + { + buddyOfList.Push( buddyID ); + } + } + + void psCharacter::NotBuddyOf( unsigned int buddyID ) + { + buddyOfList.Delete( buddyID ); + } + bool psCharacter::AddBuddy( unsigned int buddyID, csString& buddyName ) { Index: pscharacter.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/bulkobjects/pscharacter.h,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** pscharacter.h 9 Feb 2004 03:02:42 -0000 1.48 --- pscharacter.h 10 Feb 2004 02:24:39 -0000 1.49 *************** *** 262,265 **** --- 262,266 ---- char name[28]; csArray<Buddy> buddyList; + csArray<int> buddyOfList; psRaceInfo *raceinfo; PSCHARACTER_MODE player_mode; *************** *** 384,387 **** --- 385,391 ---- bool AddBuddy( unsigned int buddyID, csString& name ); + void BuddyOf( unsigned int buddyID ); + void NotBuddyOf( unsigned int buddyID ); + const char *GetFactionStandings() { return faction_standings; } void AppendProgressionScript(csString& script) { progressionScript.Append(script); } Index: pscharacterloader.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/bulkobjects/pscharacterloader.cpp,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** pscharacterloader.cpp 29 Jan 2004 00:46:57 -0000 1.36 --- pscharacterloader.cpp 10 Feb 2004 02:24:39 -0000 1.37 *************** *** 548,552 **** actor->GetFactions()->GetFactionListCSV(csv); fields.FormatPush("%s",csv.GetData()); ! fields.FormatPush("%s",chardata->progressionScript.GetData()); unsigned int timeconnected = --- 548,555 ---- actor->GetFactions()->GetFactionListCSV(csv); fields.FormatPush("%s",csv.GetData()); ! if ( chardata->progressionScript.Length() > 0 ) ! fields.FormatPush("%s",chardata->progressionScript.GetData()); ! else ! fields.FormatPush(""); unsigned int timeconnected = |