farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Şebnem Fixi

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

char_item.cpp

Arat

Kod:
// 아이템 최초 사용 이후부터는 사용하지 않아도 시간이 차감되는 방식 처리.

Ustune Ekle

Kod:
    if (!IsLoadedAffect())
    {
        ChatPacket(CHAT_TYPE_INFO, "Bug Engel");
        return false;
    }

DB Eklentisi

db/ClientManager.h

arat

Kod:
    void        RESULT_AFFECT_LOAD(CPeer * pkPeer, MYSQL_RES * pRes, DWORD dwHandle);

değiştir
Kod:
    void        RESULT_AFFECT_LOAD(CPeer * pkPeer, MYSQL_RES * pRes, DWORD dwHandle, DWORD dwRealPID);

db/ClientManagerPlayer.cpp

arat

Kod:
void CClientManager::RESULT_AFFECT_LOAD(CPeer * peer, MYSQL_RES * pRes, DWORD dwHandle)
{
    int iNumRows;

    if ((iNumRows = mysql_num_rows(pRes)) == 0) // µ¥ÀÌÅÍ ¾øÀ½
        return;

değiştir

Kod:
void CClientManager::RESULT_AFFECT_LOAD(CPeer * peer, MYSQL_RES * pRes, DWORD dwHandle, DWORD dwRealPID)
{
    int iNumRows;

    if ((iNumRows = mysql_num_rows(pRes)) == 0) // µ¥ÀÌÅÍ ¾øÀ½
    {
        static DWORD dwPID;
        static DWORD dwCount = 0; //1;
        static TPacketAffectElement paeTable = {0};

        dwPID = dwRealPID;
        sys_log(0, "AFFECT_LOAD: count %u PID %u RealPID %u", dwCount, dwPID, dwRealPID);

        peer->EncodeHeader(HEADER_DG_AFFECT_LOAD, dwHandle, sizeof(DWORD) + sizeof(DWORD) + sizeof(TPacketAffectElement) * dwCount);
        peer->Encode(&dwPID, sizeof(DWORD));
        peer->Encode(&dwCount, sizeof(DWORD));
        peer->Encode(&paeTable, sizeof(TPacketAffectElement) * dwCount);
        return;
    }

arat

Kod:
case QID_AFFECT:
            sys_log(0, "QID_AFFECT %u", info->dwHandle);
            RESULT_AFFECT_LOAD(peer, pSQLResult, info->dwHandle);
            break;

değiştir

Kod:
case QID_AFFECT:
            sys_log(0, "QID_AFFECT %u", info->dwHandle);

            RESULT_AFFECT_LOAD(peer, pSQLResult, info->dwHandle, info->player_id);
            break;

arat

Kod:
snprintf(szQuery, sizeof(szQuery),
                    "SELECT dwPID,bType,bApplyOn,lApplyValue,dwFlag,lDuration,lSPCost FROM affect%s WHERE dwPID=%d",
                    GetTablePostfix(), pTab->id);
            CDBManager::instance().ReturnQuery(szQuery, QID_AFFECT, peer->GetHandle(), new ClientHandleInfo(dwHandle));
        }

değiştir

Kod:
snprintf(szQuery, sizeof(szQuery),
                    "SELECT dwPID,bType,bApplyOn,lApplyValue,dwFlag,lDuration,lSPCost FROM affect%s WHERE dwPID=%d",
                    GetTablePostfix(), pTab->id);
            CDBManager::instance().ReturnQuery(szQuery, QID_AFFECT, peer->GetHandle(), new ClientHandleInfo(dwHandle, pTab->id));
        }

Kod biraz geliştirilip otomatik ban sistemine dönüşebilir veya böylede kullanılabilir iyi kullanımlar.
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Gözünü seveyim bune yav bune :D isLoadedAffect e yazı göndersen nolur göndermesen nolur hadi gönderdin doğruda gönderemiyorsun zaten bunu böyle yaparsan kullanacak kişinin başına iş verirsin sadece neyse.
boş laf yazmakta biliyor gibi davranmakta üstünüze yok IsLoadAffect affectler işlendikte sonra true değeri verir yani fix gayet güzel düşünülmüş.fix yapımcısı büyük ihtimalle martysama ona burdan ayrıca teşekkürler.
db/ClientManager.h

arat

Kod:
    void        RESULT_AFFECT_LOAD(CPeer * pkPeer, MYSQL_RES * pRes, DWORD dwHandle);

değiştir
Kod:
    void        RESULT_AFFECT_LOAD(CPeer * pkPeer, MYSQL_RES * pRes, DWORD dwHandle, DWORD dwRealPID);

db/ClientManagerPlayer.cpp

arat

Kod:
void CClientManager::RESULT_AFFECT_LOAD(CPeer * peer, MYSQL_RES * pRes, DWORD dwHandle)
{
    int iNumRows;

    if ((iNumRows = mysql_num_rows(pRes)) == 0) // µ¥ÀÌÅÍ ¾øÀ½
        return;

değiştir

Kod:
void CClientManager::RESULT_AFFECT_LOAD(CPeer * peer, MYSQL_RES * pRes, DWORD dwHandle, DWORD dwRealPID)
{
    int iNumRows;

    if ((iNumRows = mysql_num_rows(pRes)) == 0) // µ¥ÀÌÅÍ ¾øÀ½
    {
        static DWORD dwPID;
        static DWORD dwCount = 0; //1;
        static TPacketAffectElement paeTable = {0};

        dwPID = dwRealPID;
        sys_log(0, "AFFECT_LOAD: count %u PID %u RealPID %u", dwCount, dwPID, dwRealPID);

        peer->EncodeHeader(HEADER_DG_AFFECT_LOAD, dwHandle, sizeof(DWORD) + sizeof(DWORD) + sizeof(TPacketAffectElement) * dwCount);
        peer->Encode(&dwPID, sizeof(DWORD));
        peer->Encode(&dwCount, sizeof(DWORD));
        peer->Encode(&paeTable, sizeof(TPacketAffectElement) * dwCount);
        return;
    }

arat

Kod:
case QID_AFFECT:
            sys_log(0, "QID_AFFECT %u", info->dwHandle);
            RESULT_AFFECT_LOAD(peer, pSQLResult, info->dwHandle);
            break;

değiştir

Kod:
case QID_AFFECT:
            sys_log(0, "QID_AFFECT %u", info->dwHandle);

            RESULT_AFFECT_LOAD(peer, pSQLResult, info->dwHandle, info->player_id);
            break;

arat

Kod:
snprintf(szQuery, sizeof(szQuery),
                    "SELECT dwPID,bType,bApplyOn,lApplyValue,dwFlag,lDuration,lSPCost FROM affect%s WHERE dwPID=%d",
                    GetTablePostfix(), pTab->id);
            CDBManager::instance().ReturnQuery(szQuery, QID_AFFECT, peer->GetHandle(), new ClientHandleInfo(dwHandle));
        }

değiştir

Kod:
snprintf(szQuery, sizeof(szQuery),
                    "SELECT dwPID,bType,bApplyOn,lApplyValue,dwFlag,lDuration,lSPCost FROM affect%s WHERE dwPID=%d",
                    GetTablePostfix(), pTab->id);
            CDBManager::instance().ReturnQuery(szQuery, QID_AFFECT, peer->GetHandle(), new ClientHandleInfo(dwHandle, pTab->id));
        }
Kullanacak Arkadaşlar için uyarı : Eğer üzerinizde çıkış yaptığınızda tek bir affect bile kalmamışsa hiçbir nesneye basamayacaksınız.
 
char_item.cpp

Arat

Kod:
// 아이템 최초 사용 이후부터는 사용하지 않아도 시간이 차감되는 방식 처리.

Ustune Ekle

Kod:
    if (!IsLoadedAffect())
    {
        ChatPacket(CHAT_TYPE_INFO, "Bug Engel");
        return false;
    }

Kod biraz geliştirilip otomatik ban sistemine dönüşebilir veya böylede kullanılabilir iyi kullanımlar.

Gözünü seveyim bune yav bune :D isLoadedAffect e yazı göndersen nolur göndermesen nolur hadi gönderdin doğruda gönderemiyorsun zaten bunu böyle yaparsan kullanacak kişinin başına iş verirsin sadece neyse.
 
Gözünü seveyim bune yav bune :D isLoadedAffect e yazı göndersen nolur göndermesen nolur hadi gönderdin doğruda gönderemiyorsun zaten bunu böyle yaparsan kullanacak kişinin başına iş verirsin sadece neyse.
boş laf yazmakta biliyor gibi davranmakta üstünüze yok IsLoadAffect affectler işlendikte sonra true değeri verir yani fix gayet güzel düşünülmüş.fix yapımcısı büyük ihtimalle martysama ona burdan ayrıca teşekkürler.
 

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

Geri
Üst