- Katılım
- 29 Kas 2020
- Konular
- 89
- Mesajlar
- 1,403
- Çözüm
- 6
- Online süresi
- 1mo 24d
- Reaksiyon Skoru
- 744
- Altın Konu
- 38
- Başarım Puanı
- 189
- MmoLira
- 4,637
- DevLira
- -12
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Selamlar. Komutu kullanarak banlanan oyuncuların tüm verilerini temizleyebilirsiniz.
[CODE lang="cpp" title="common\service.h"]//müsait bir yere ekleyin;
#define ENABLE_CLEAN_BANNED_PLAYER_DATA[/CODE]
[CODE lang="cpp" title="game\src\cmd.cpp"]//aratın;
ACMD(do_clear_affect);
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
ACMD(do_clean);
#endif
//tekrar aratın;
{ "do_clear_affect", do_clear_affect, 0, POS_DEAD, GM_LOW_WIZARD},
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
{ "clean", do_clean, 0, POS_DEAD, GM_IMPLEMENTOR},
#endif[/CODE]
[CODE lang="cpp" title="game\src\cmd_gm.cpp"]//aratın;
ACMD(do_clear_affect)
{
ch->ClearAffect(true);
}
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
const std::map<const char*, const char*> _Deleter
{
{"log.log", "who"},
{"log.cube", "pid"},
{"log.goldlog", "pid"},
{"log.levellog", "pid"},
{"log.speedhack", "pid"},
{"log.refinelog", "pid"},
{"log.quest_reward_log", "2"},
{"log.loginlog", "pid"},
{"log.loginlog2", "pid"},
{"log.goldlog", "pid"},
{"player.item", "owner_id"},
{"player.player", "id"},
{"player.guild_member", "pid"},
{"player.affect", "dwPID"}
};
ACMD(do_clean)
{
std::array<MYSQL_ROW, 2> row;
std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("SELECT id FROM account.account WHERE availDt - NOW() > 0"));
while ((row[0] = mysql_fetch_row(msg->Get()->pSQLResult))) {
DBManager::instance().DirectQuery("DELETE FROM player.player_index WHERE id = %d", std::atoi(row[0][0]));
std::unique_ptr<SQLMsg> msg2(DBManager::instance().DirectQuery("SELECT id FROM player.player WHERE account_id='%d'", std::atoi(row[0][0])));
while ((row[1] = mysql_fetch_row(msg2->Get()->pSQLResult)))
for (const auto& [table, where] : _Deleter)
DBManager::instance().DirectQuery("DELETE FROM %s WHERE %s = %d", table,where,std::atoi(row[1][0]));
}
}
#endif[/CODE]
İyi forumlar dilerim.
[CODE lang="cpp" title="common\service.h"]//müsait bir yere ekleyin;
#define ENABLE_CLEAN_BANNED_PLAYER_DATA[/CODE]
[CODE lang="cpp" title="game\src\cmd.cpp"]//aratın;
ACMD(do_clear_affect);
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
ACMD(do_clean);
#endif
//tekrar aratın;
{ "do_clear_affect", do_clear_affect, 0, POS_DEAD, GM_LOW_WIZARD},
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
{ "clean", do_clean, 0, POS_DEAD, GM_IMPLEMENTOR},
#endif[/CODE]
[CODE lang="cpp" title="game\src\cmd_gm.cpp"]//aratın;
ACMD(do_clear_affect)
{
ch->ClearAffect(true);
}
//altına ekleyin;
#ifdef ENABLE_CLEAN_BANNED_PLAYER_DATA
const std::map<const char*, const char*> _Deleter
{
{"log.log", "who"},
{"log.cube", "pid"},
{"log.goldlog", "pid"},
{"log.levellog", "pid"},
{"log.speedhack", "pid"},
{"log.refinelog", "pid"},
{"log.quest_reward_log", "2"},
{"log.loginlog", "pid"},
{"log.loginlog2", "pid"},
{"log.goldlog", "pid"},
{"player.item", "owner_id"},
{"player.player", "id"},
{"player.guild_member", "pid"},
{"player.affect", "dwPID"}
};
ACMD(do_clean)
{
std::array<MYSQL_ROW, 2> row;
std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("SELECT id FROM account.account WHERE availDt - NOW() > 0"));
while ((row[0] = mysql_fetch_row(msg->Get()->pSQLResult))) {
DBManager::instance().DirectQuery("DELETE FROM player.player_index WHERE id = %d", std::atoi(row[0][0]));
std::unique_ptr<SQLMsg> msg2(DBManager::instance().DirectQuery("SELECT id FROM player.player WHERE account_id='%d'", std::atoi(row[0][0])));
while ((row[1] = mysql_fetch_row(msg2->Get()->pSQLResult)))
for (const auto& [table, where] : _Deleter)
DBManager::instance().DirectQuery("DELETE FROM %s WHERE %s = %d", table,where,std::atoi(row[1][0]));
}
}
#endif[/CODE]
İyi forumlar dilerim.
