Dump characters personnalisé
Dump de caractères multiples

Ce patch vous permet de modifier la requête et utiliser la fonction ". WriteAll pdump" .
Est extraite dans un fichier appelé _ [compte] [nom du personnage]

Code :
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index f379c17..b963a9b 100755
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -431,6 +431,7 @@ ChatCommand * ChatHandler::getCommandTable()
     {
         { "load",           SEC_ADMINISTRATOR,  true,  OldHandler<&ChatHandler::HandlePDumpLoadCommand>,           "", NULL },
         { "write",          SEC_ADMINISTRATOR,  true,  OldHandler<&ChatHandler::HandlePDumpWriteCommand>,          "", NULL },
+        { "writeall",       SEC_ADMINISTRATOR,  true,  OldHandler<&ChatHandler::HandlePDumpWriteAllCommand>,       "", NULL },
         { NULL,             0,                  false, NULL,                                           "", NULL }
     };

diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index ccaa73f..bcfd56e 100755
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -342,6 +342,7 @@ class ChatHandler

         bool HandlePDumpLoadCommand(const char *args);
         bool HandlePDumpWriteCommand(const char *args);
+        bool HandlePDumpWriteAllCommand(const char *args);

         bool HandleQuestAdd(const char * args);
         bool HandleQuestRemove(const char * args);
diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp
index 90c766d..5fa3e6d 100755
--- a/src/server/game/Chat/Commands/Level3.cpp
+++ b/src/server/game/Chat/Commands/Level3.cpp
@@ -6482,6 +6482,50 @@ bool ChatHandler::HandlePDumpWriteCommand(const char *args)
     return true;
}

+bool ChatHandler::HandlePDumpWriteAllCommand(const char * /*args*/)
+{
+    QueryResult qry = CharacterDatabase.Query("SELECT guid,name,account FROM characters WHERE level>60;"); //requête personnalisé!
+    if(!qry)
+    {
+        PSendSysMessage("Requête endommagé!");
+        return true;
+    }
+
+    PSendSysMessage("le Processus a commencé!");
+
+    do
+    {
+        Field *fields = qry->Fetch();
+
+        uint32 guid = fields[0].GetInt32();
+        const char* name = fields[1].GetCString();
+        uint32 account = fields[2].GetInt32();
+
+        char file[256];
+        sprintf(file,"%u_%s",account,name);
+
+        switch(PlayerDumpWriter().WriteDump(file, uint32(guid)))
+        {
+            case DUMP_SUCCESS:
+                PSendSysMessage("Succès : %s",name);
+                break;
+            case DUMP_FILE_OPEN_ERROR:
+                PSendSysMessage("Impossible d'ouvrir le fichier: %s",file);
+                return true;
+            case DUMP_CHARACTER_DELETED:
+                PSendSysMessage("Supprimer: %s",name);
+                return true;
+            default:
+                PSendSysMessage("Erreur: %s",name);
+                return true;
+        }
+    } while(qry->NextRow());
+
+    PSendSysMessage("Le Processus est complet!");
+
+    return true;
+}
+
bool ChatHandler::HandleMovegensCommand(const char* /*args*/)
{
     Unit* unit = getSelectedUnit();

SQL:
Code :
Insérer des valeurs de commande dans ('WriteAll pdump', 3, «Syntaxe:. WriteAll pdump ');
Par exemple: le patch est extrait pour une requête donnée de tous les personnages-dessus du niveau 60.
C'est la ligne:
Code :
QueryResult CharacterDatabase.Query qry = ("SELECT GUID, le nom, compte caractères FROM WHERE niveau> 60;") / / Requête personnalisée!

Code :
SELECT GUID, le nom, compte caractères FROM WHERE niveau> 60;
bien sûr avec les critères que vous avez besoin.

C'était un patch fait par moi pour mes besoins.
Peut-être que cela aidera quelqu'un.

+1 pour merci

Retourner en haut Accueil