PrimeAC 1
PrimeAC
shrpnl 1
shrpnl
Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
Hikaye Ekle

MOD ŞEREFİNE İsim değiştirme [C++]

  • Konuyu başlatan Konuyu başlatan ftyazilim
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 18
  • Görüntüleme Görüntüleme 2K
  • Etiketler Etiketler
    metin2
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Paylaşım için teşekkürler
 
input_main.cpp :

Kod:
#ifdef ENABLE_FTGAME_NAME
void CInputMain::ChangeAutoName(LPCHARACTER ch, const char* c_pData)
{
    if (!ch)
        return;
    
    if (ch->IsDead() || ch->IsStun())
        return;

    TPacketCGSetAutoName* p = (TPacketCGSetAutoName*)c_pData;

    char szName[CHARACTER_NAME_MAX_LEN * 2 + 1];
    DBManager::instance().EscapeString(szName, sizeof(szName), p->szName, strlen(p->szName));

    LPITEM item = ch->FindSpecifyItem(AUTONAME_SCROLL_VNUM);

    if (!item)
        return;

    if (pmsg == nullptr || pmsg->Get() == nullptr)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("veritabanı_hatasi"));
        return;
    }


    if (!*szName)
        return;

    if (!check_name(szName))
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ozel_karakter"));
        return;
    }

    if (ch->IsPolymorphed())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("donusumden_cik"));
        return;
    }

    std::unique_ptr<SQLMsg> pmsg(DBManager::instance().PrepareQuery("SELECT COUNT(*) FROM player%s WHERE name=?", get_table_postfix()));
    pmsg->Bind(szName);

    if (pmsg->Get()->uiNumRows > 0)
    {
        MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult);
        int count = 0;
        str_to_number(count, row[0]);

        if (count != 0)
        {
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ayni_isim"));
            return;
        }
    }

    if (ch->GetGuild())
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("loncadan_cik"));
        return;
    }

    DWORD pid = ch->GetPlayerID();
    LPPARTY pParty = ch->GetParty();

    if (pParty != NULL)
    {
        if (pParty->GetMemberCount() == 2)
            CPartyManager::instance().DeleteParty(pParty);
        else
        {
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("grupdan_cik"));
            pParty->Quit(pid);
        }
    }

    LogManager::instance().ChangeNameLog(ch->GetName(), szName, ch->IsGM() ? "Yes" : "No");

    MessengerManager::instance().RemoveAllList(ch->GetName());
    
    std::unique_ptr<SQLMsg> updateMsg(DBManager::instance().PrepareQuery("UPDATE player.player SET name=? WHERE id=?"));
    updateMsg->Bind(szName, pid);
    updateMsg->Execute();
    
    ch->SetNewName(szName);
    ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("oldu_bu_is :'%s'"), szName);
    ch->RemoveSpecifyItem(AUTONAME_SCROLL_VNUM, 1);
    ch->GetDesc()->DelayedDisconnect(1);
    db_clientdesc->DBPacketHeader(HEADER_GD_FLUSH_CACHE, 0, sizeof(DWORD));
    db_clientdesc->Packet(&pid, sizeof(DWORD));
}
#endif


log.cpp

Kod:
#ifdef ENABLE_FTGAME_NAME
void LogManager::ChangeNameLog(const char* old_name, const char* new_name, const char* gm)
{
    static char __escape_old_name[30 * 2];
    static char __escape_new_name[30 * 2];
    m_sql.EscapeString(__escape_old_name, sizeof(__escape_old_name), old_name, strlen(old_name));
    m_sql.EscapeString(__escape_new_name, sizeof(__escape_new_name), new_name, strlen(new_name));
    
    Query("INSERT INTO log.log_change_name (old_name, new_name, date, gm) VALUES('%s', '%s', NOW(), '%s')", __escape_old_name, __escape_new_name, gm);
}
#endif
 
Paylaşım için teşekkürler
 
Teşekkürler
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst