rendered paste bodyIndex: src/game/Guild.cpp
===================================================================
--- src/game/Guild.cpp (revision 4867)
+++ src/game/Guild.cpp (working copy)
@@ -310,6 +310,11 @@
memslot->Class = plClass;
memslot->zoneId = plZone;
+ // FIXME: not correct for offline players
+ // but don't want to add another query just for this
+ // it will be updated next time the character goes offline anyway
+ memslot->logout_time = (uint64)time(NULL);
+
return(true);
}
@@ -327,6 +332,7 @@
itr->name = pl->GetName();
itr->level = pl->getLevel();
itr->Class = pl->getClass();
+ itr->logout_time = (uint64)time(NULL);
}
}
}
@@ -671,14 +677,6 @@
}
else
{
- uint64 logout_time = 0;
- QueryResult *result = CharacterDatabase.PQuery("SELECT `logout_time` FROM `character` WHERE `guid`='%u'", GUID_LOPART(itr->guid));
- if(result)
- {
- logout_time = (*result)[0].GetUInt64();
- delete result;
- }
-
data << itr->guid;
data << (uint8)0;
data << itr->name;
@@ -686,7 +684,7 @@
data << itr->level;
data << itr->Class;
data << itr->zoneId;
- data << (float(time(NULL)-logout_time) / DAY);
+ data << (float(time(NULL)-itr->logout_time) / DAY);
data << itr->Pnote;
data << itr->OFFnote;
}
Index: src/game/Guild.h
===================================================================
--- src/game/Guild.h (revision 4867)
+++ src/game/Guild.h (working copy)
@@ -128,11 +128,14 @@
struct MemberSlot
{
uint64 guid;
- std::string name;
+ uint64 logout_time;
+ std::string name;
+ std::string Pnote;
+ std::string OFFnote;
uint32 RankId;
- uint8 level,Class;
uint32 zoneId;
- std::string Pnote, OFFnote;
+ uint8 level;
+ uint8 Class;
};
struct RankInfo