- CommonDefines.h veya service.h içerisine ekle
- #define FLUSH_AT_SHUTDOWN
- cmd_general.cpp içerisinde
- struct SendDisconnectFunc
- //Arat
- struct SendDisconnectFunc
- {
- void operator () (LPDESC d)
- {
- if (d->GetCharacter())
- {
- #ifdef FLUSH_AT_SHUTDOWN
- d->GetCharacter()->SaveReal();
- DWORD pid = d->GetCharacter()->GetPlayerID();
- db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD));
- db_clientdesc->Packet(&pid, sizeof(DWORD));
- #endif
- if (d->GetCharacter()->GetGMLevel() == GM_PLAYER)
- d->GetCharacter()->ChatPacket(CHAT_TYPE_COMMAND, "quit Shutdown(SendDisconnectFunc)");
- }
- }
- };
- //Fonksiyonu bu şekilde değiştiriniz.
- cmd_gm.cpp içerisinde
- ACMD(do_flush)
- {
- //Aratınız
- ACMD(do_flush)
- {
- char arg1[256];
- one_argument(argument, arg1, sizeof(arg1));
- #ifdef FLUSH_AT_SHUTDOWN
- DWORD pid = 0;
- if(0 == arg1[0])
- pid = ch->GetPlayerID();
- else
- pid = (DWORD)strtoul(arg1, NULL, 10);
- if (pid != 0)
- {
- ch->SaveReal();
- db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD));
- db_clientdesc->Packet(&pid, sizeof(DWORD));
- }
- #else
- if (0 == arg1[0])
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "usage : /flush player_id");
- return;
- }
- DWORD pid = (DWORD)strtoul(arg1, NULL, 10);
- db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD));
- db_clientdesc->Packet(&pid, sizeof(DWORD));
- #endif
- }
- //Fonksiyonu bu şekilde değiştiriniz.