All pastes #821786 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-12-18 09:57 UTC
rendered paste body
Index: 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